Bài giảng Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL - Cao Thị Kim Tuyến

Xây dựng lược đồ ER cho CSDL CÔNG TY như sau: Giả sử rằng sau khi tập hợp các yêu cầu và phân tích, hoạt động của công ty được ghi chép lại như sau: 1. Công ty được tổ chức thành các đơn vị (đv). Mỗi đv có 1 tên duy nhất, 1 mã số duy nhất, 1 nhân viên (nv) cụ thể quản lý đơn vị. Việc nv quản lý đơn vị được ghi lại bằng ngày nv đó bắt đầu quản lý. Một đơn vị có thể có nhiều địa điểm. 2. Mỗi đơn vị kiểm soát 1 số dự án. Một dự án có 1 tên duy nhất, 1 mã số duy nhất và 1 địa điểm. 3. Với mỗi nv chúng ta lưu giữ lại Họ tên, Mã số duy nhất, địa chỉ, lương, giới tính, ngày sinh. Một nv chỉ làm việc cho 1 đơn vị nhưng có thể làm việc trên nhiều dự án do nhiều đơn vị kiểm soát. Chúng ta lưu giữ lại số giờ làm việc của mỗi nv trên một dự án. Mỗi nv có thể có 1 người giám sát trực tiếp, người đó cũng là 1 nv. 4. Mỗi nv có những người con. Những người này được hưởng bảo hiểm theo nv. Với mỗi người con của nv, chúng ta lưu giữ Họ tên, giới tính, ngày sinh;

pdf82 trang | Chia sẻ: thucuc2301 | Lượt xem: 819 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL - Cao Thị Kim Tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1CƠ SỞ DỮ LIỆU GV : CAO THỊ KIM TUYẾN Email : tuyenctk@uit.edu.vn 2Nội dung (Thời lượng: 45LT)  Chương 1: Tổng quan về CSDL  Chương 2: Mô hình dữ liệu quan hệ  Chương 3: Đại số quan hệ  Chương 4: Ngôn ngữ SQL  Chương 5 Ràng buộc toàn vẹn  Chương 6: Phụ thuộc hàm và các dạng chuẩn  Ôn tập 3THÔNG TIN KHÓA HỌC 1. Thông tin liên lạc: - E-mail: tuyenctk@uit.edu.vn - Moodle 2. Bài giảng: Moodle 3. Đánh giá: - Kiểm tra giữa kỳ: 20% - Kiểm tra cuối kỳ: lý thuyết (50%) + thực hành (30%) - Quá trình. 4TÀI LIỆU THAM KHẢO 1. Slides bài giảng 2. Giáo trình tham khảo trong đề cương môn học 3. Nguyễn Đăng Tỵ, Đỗ Phúc, Giáo trình Cơ sở Dữ liệu, Đại học Quốc gia TP. HCM, 2003; 3. Trần Nguyên Phong, Giáo trình thực hành SQL; 4. Silberschatz, A., Henry F. Korth and Sudarshan, S., Database System Concepts, Fourth Edition. McGraw Hill, 2004; 5. Elmasri, R. and Shamkant B. Navathe, Fundamentals of Database Systems, Fourth Edition, Addison-Wesley, 2004. 5Chương 1: Tổng quan về CSDL 1. Giới thiệu 2. Hệ thống tập tin (File System) 3. Định nghĩa một CSDL 4. Các đối tượng sử dụng CSDL 5. Hệ quản trị CSDL 6. Các mức của một CSDL 7. Các mô hình dữ liệu 61. Giới thiệu  Tại sao phải học cơ sở dữ liệu (CSDL)? - Hữu ích - Khoa học máy tính, - 72. Hệ thống tập tin  Là tập hợp các tập tin riêng lẻ phục vụ cho một mục đích của đơn vị sử dụng.  Ưu điểm:  Triển khai ứng dụng nhanh, đơn giản;  Đáp ứng nhanh chóng, kịp thời (vì chỉ phục vụ cho mục đích hạn hẹp).  Khuyết điểm:  Phụ thuộc dữ liệu – chương trình  Trùng lắp dữ liệu lãng phí, dữ liệu không nhất quán;  Chi phí bảo trì chương trình cao;  Chia sẽ dữ liệu kém; Thời gian phát triển lâu. 8 Program – Data dependence/ Data dependence;  Cấu trúc dữ liệu thay đổi thì chương trình ứng dụng sử dụng dl này cũng bị thay đổi theo;  Mỗi chương trình ứng dụng phải có mã lệnh cho siêu DL của mỗi tập tin;  Mỗi chương trình ứng dụng phải có các chương trình con xử lý để đọc, thêm, sửa và xóa DL;  Không có các điều khiển chung và phối hợp;  Các dạng thức tập tin không có cùng chuẩn. Phụ thuộc dữ liệu – chương trình 9 Duplication of data  Tốn vùng nhớ để lưu trữ DL dư thừa;  Gây ra các vấn đề khó về bảo trì DL.  Vấn đề chính:  Việc cập nhật DL của một tập tin có thể dẫn đến các mâu thuẫn DL;  Vi phạm tính toàn vẹn DL (data integrity);  Vi phạm tính toàn vẹn siêu DL (metadata integrity);. Trùng lắp dữ liệu 10 Duplicate Data Trùng lắp dữ liệu 11 3. Cơ sở dữ liệu  Định nghĩa: - Database - CSDL là sự tập hợp có tổ chức các dữ liệu có liên quan luận lý với nhau; - Dữ liệu (data): sự biểu diễn của các đối tượng và sự kiện được ghi nhận và được lưu trữ trên các phương tiện của máy tính;  Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự,  Dữ liệu không có cấu trúc: hình ảnh, âm thanh, đoạn phim, - Có tổ chức (organized): người sử dụng có thể dễ dàng lưu trữ, thao tác và truy xuất dữ liệu; 12 Dữ liệu  Định nghĩa (tt): - Có liên quan luận lý (logically related): DL mô tả 1 lãnh vực mà nhóm người sử dụng quan tâm và được dùng để trả lời các câu hỏi liên quan đến lãnh vực này; Hay: CSDL là 1 hệ thống các thông tin có cấu trúc, được lưu trữ trên các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với những mục đích khác nhau. 13 Thông tin  Information  Thông tin là DL đã được xử lý để làm tăng sự hiểu biết của người sử dụng.  Dữ liệu trong ngữ cảnh.  Dữ liệu được tổng hợp/xử lý. Dữ liệu 50010273 Nguyễn Trung Tiến MT00 20 50100298 Lê Việt Hùng MT01 19 59900012 Trần Hùng Việt MT99 21 50200542 Hồ Xuân Hương MT02 18 50000075 Bùi Đức Duy MT00 20 14 Thông tin: dữ liệu trong ngữ cảnh Mã sinh viên Họ và tên sinh viên Lớp Tuổi 50010273 Nguyễn Trung Tiến MT00 20 50100298 Lê Việt Hùng MT01 19 59900012 Trần Hùng Việt MT99 21 50200542 Hồ Xuân Hương MT02 18 50000075 Bùi Đức Duy MT00 20 MT00 40% MT01 20% MT02 20% MT99 20% Thông tin: dữ liệu được tổng hợp / xử lý 15  metadata  Siêu dữ liệu là DL dùng để mô tả các tính chất/ đặc tính của DL khác (dữ liệu về dữ liệu).  Các đặc tính: định nghĩa DL, cấu trúc DL, qui tắc/ràng buộc. Siêu dữ liệu Siêu dữ liệu cho Sinh_viên Data Item Value Name Type Length Min Max Description MaSV Character 8 Ma sinh vien Hoten Character 30 Ho ten sinh vien Lop Character 3 Lop Tuoi Number 2 17 25 Tuoi 16  Database approach  Kho DL trung tâm chứa các DL dùng chung;  DL được quản lý bởi 1 đơn vị điều khiển (controlling agent);  DL được lưu trữ theo 1 dạng thức chuẩn & thích hợp;  Cần phải có 1 hệ quản trị CSDL. Cách tiếp cận CSDL 17  Ưu điểm Độc lập DL – chương trình (data - program independence)  DBMS chứa siêu DL => các ứng dụng không cần quan tâm đến các dạng thức của DL;  DBMS quản lý các truy vấn và cập nhật DL => ứng dụng không cần xử lý việc truy xuất DL. Giảm tối thiểu sự dư thừa DL (data redundancy) Nâng cao tính nhất quán (data consistency)/toàn vẹn dữ liệu (data integrity). Cách tiếp cận CSDL 18 Cách tiếp cận CSDL  Ưu điểm(tt) Nâng cao việc dùng chung DL (data sharing)  Những người sử dụng khác nhau có những cái nhìn khác nhau về DL. Tăng hiệu suất phát triển ứng dụng Tuân thủ các tiêu chuẩn  Tất cả các truy xuất DL đều được thực hiện theo cùng 1 cách. Nâng cao chất lượng của DL  Các ràng buộc (constraint), các qui tắc hợp lệ của DL (data validation rule). 19 Cách tiếp cận CSDL  Ưu điểm(tt) Nâng cao tính truy xuất và tính đáp ứng của DL  Sử dụng ngôn ngữ truy vấn DL chuẩn (SQL - Structured Query Language). Giảm chi phí bảo trì chương trình. Bảo mật (security) Chép lưu (backup) và phục hồi (recovery) Điều khiển tương tranh (concurrency control). 20 Cách tiếp cận CSDL  Chi phí và rủi ro Chi phí ban đầu  Chi phí cài đặt và quản lý  Chi phí chuyển đổi (conversion cost) Chi phí vận hành  Cần nhân viên mới có chuyên môn.  Cần phải chép lưu và phục hồi. Mâu thuẫn về mặt tổ chức  Rất khó thay đổi các thói quen cũ 21 3. Cơ sở dữ liệu Những vấn đề cần giải quyết:  Tính chủ quyền dữ liệu  Tính bảo mật và quyền khai thác thông tin của người sử dụng  Tranh chấp dữ liệu  Đảm bảo dữ liệu khi có sự cố. 22 Các loại CSDL  CSDL cá nhân  personal database  CSDL riêng.  CSDL nhóm làm việc  workgroup database  Mạng cục bộ (ít hơn 25 người sử dụng)  CSDL phòng ban  department database  Mạng cục bộ (từ 25 đến 100 người sử dụng)  CSDL xí nghiệp  enterprise database  Mạng diện rộng (hàng trăm, hàng ngàn người sử dụng) 23 Các loại CSDL 24 4. Các đối tượng sử dụng  Người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL -> cần công cụ để họ có thể khai thác CSDL khi cần.  Chuyên viên tin học xây dựng các ứng dụng để phục vụ cho các mục đích quản lý  Quản trị CSDL: tổ chức CSDL, bảo mật, cấp quyền, sao lưu, phục hồi dữ liệu, giải quyết các tranh chấp dữ liệu 25 26 CƠ SỞ DỮ LIỆU  Chỉ mục web (Web indexes  Tài khoản ngân hàng (Bank accounts)  Hệ nhân sự (Personnel systems)  Danh mục sản phẩm (Product catalogues)  Danh bạ đt (Telephone directories)  Train timetables  Airline bookings  Credit card details  Student records  Customer histories  Stock market prices  Discussion boards  27 HỆ CƠ SỞ DỮ LIỆU  Một hệ CSDL bao gồm  Dữ liệu (CSDL)  Phần mềm  Phần cứng  Người dùng  Môn học: tập trung vào Phần mềm  Hệ CSDL cho phép người sử dụng:  Lưu trữ  Cập nhật  Tìm kiếm (Retrieve)  Tổ chức  Bảo mật (Protect) dữ liệu của họ. 28 5. Hệ quản trị cơ sở dữ liệu  Hệ quản trị CSDL (DBMS – DataBase Management System) là hệ thống các phần mềm hỗ trợ tích cực cho các nhà phân tích, thiết kế và khai thác CSDL.  Các DBMS thông dụng: Visual FoxPro, MS Access, MS SQL Server, DB2 (IBM), Oracle, Ingres, PostgreSQL, hầu hết các DBMS hiện nay đều dựa trên mô hình quan hệ. 29 5. Hệ quản trị cơ sở dữ liệu 30  Chức năng của 1 DBMS:  Lưu trữ, truy xuất và cập nhật DL  Ngôn ngữ định nghĩa dl (DDL - Data Definition Language)  Ngôn ngữ thao tác dl (DML - Data Manipulation Language)  Ngôn ngữ truy vấn dữ liệu.  Quản lý giao tác (transaction management);  Điều khiển tương tranh (concurrency control): Cơ chế giải quyết tranh chấp dl;  Chép lưu (backup), phục hồi (restore) dl;  Bảo mật dữ liệu  Ngôn ngữ điều khiển dl (DCL - Data Control Language).  Hỗ trợ truyền thông dl;  Duy trì tính toàn vẹn/nhất quán dl;  Cung cấp các tiện ích. 31 Một DBMS phải có:  Ngôn ngữ giao tiếp giữa user và CSDL;  Từ điển DL (Data Dictionary): mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,  Cơ chế giải quyết vấn đề tranh chấp dl: Cấp quyền ưu tiên cho user; Đánh dấu yêu cầu truy xuất dl, phân chia thời gian, user nào có yêu cầu trước thì có quyền truy xuất dl trước,  Có cơ chế sao lưu (backup), phục hồi (restore);  Có biện pháp bảo mật khi có yêu cầu;  Đảm bảo tính độc lập giữa dữ liệu và chương trình;  Cung cấp giao diện thân thiện, dễ sử dụng. 32 5. Hệ quản trị cơ sở dữ liệu Ngôn ngữ giao tiếp:  Ngôn ngữ mô tả dl (DDL): cho phép khai báo cấu trúc CSDL, các mối liên hệ của dl, các quy định, ràng buộc dl;  Ngôn ngữ thao tác dl (DML): cho phép thực hiện thao tác thêm, xóa, sửa dl;  Ngôn ngữ truy vấn có cấu trúc (SQL – Structured Query Language): cho phép người khai thác sử dụng để truy vấn thông tin cần thiết;  Ngôn ngữ điều khiển dữ liệu (DCL): cho phép thay đổi cấu trúc bảng, khai báo bảo mật, cấp quyền cho người sử dụng. 33 Sự phát triển của các hệ CSDL  Hệ thống tập tin (flat file): 1960 - 1980  Hệ CSDL phân cấp (hierarchical): 1970 - 1990  Hệ CSDL mạng (network): 1970 - 1990  Hệ CSDL quan hệ (relational): 1980 - nay  Hệ CSDL hướng đối tượng (object-oriented): 1990 - nay  Hệ CSDL đối tượng - quan hệ (object-relational): 1990 - nay  Kho dữ liệu (data warehouse): 1980 - nay  Web-enabled: 1990 - nay 34 6. Các mức biểu diễn 1 CSDL  Mức trong: (mức vật lý – Physical) là mức lưu trữ CSDL (cần giải quyết vấn đề gì? Dữ liệu gì? Lưu trữ như thế nào? ở đâu? Cần các chỉ mục gì? Truy xuất tuần tự hay ngẫu nhiên. Dành cho người quản trị và người sử dụng chuyên môn;  Mức quan niệm: (Conception hay Logical) cần phải lưu trữ bao nhiêu loại dữ liệu? là dữ liệu gì? mối quan hệ;  Mức ngoài: của người sử dụng và các chương trình ứng dụng. 35 6. Các mức biểu diễn 1 CSDL Cấu trúc ngoài 1 t i Cấu trúc ngoài 2 t i Cấu trúc ngoài n t i Chương trình ứng dụng Mức quan niệm hoặc mức logic Mức vật lý – Cấu trúc vật lý CSDL Môi trường thực thế giới thực NSD1 NSD2 36 1. Hãy nêu ví dụ về một CSDL; 2. Hãy trình bày ưu điểm của việc xây dựng 1 CSDL; 3. Hãy liệt kê các chi phí phải xem xét khi mua 1 hệ thống CSDL; 4. Người thiết kế CSDL cần có được mối quan hệ nào với người sử dụng CSDL? 5. Tại sao DBA phải hoạt động khăng khít với nhóm quản lý hệ thống? Anh ta sẽ hoạt động tốt hơn khi làm việc cho các phòng ban hay không? 6. Trình bày mối liên hệ các thành phần (giao diện) của DBMS; BÀI TẬP TẠI LỚP 37 7. Các mô hình dữ liệu 38 Giới thiệu Mô hình DL là sự trừu tượng hóa của môi trường thực, biểu diễn DL ở mức quan niệm. Lịch sử phát triển của các mô hình DL:  Những năm 60 - thế hệ đầu tiên của CSDL: mô hình thực thể kết hợp, mô hình mạng và mô hình phân cấp;  Những năm 70 – thế hệ thứ hai của CSDL: mô hình dl quan hệ của EF. Codd;  Thập kỷ 80 – thế hệ thứ ba: mô hình CSDL hướng đối tượng, mô hình CSDL phân tán, mô hình CSDL suy diễn, 39 a. Mô hình dữ liệu mạng  Mô hình dữ liệu mạng (Network Data Model) còn gọi tắt là mô hình mạng hoặc mô hình lưới là mô hình được biểu diễn bởi một đồ thị có hướng.  Mẫu tin/ bản ghi (Record)  Loại mẫu tin (record Type)  Loại liên hệ (Set Type)  Bản số 40 a. Mô hình dữ liệu mạng  Mẫu tin: mô tả 1 đối tượng trong thế giới thực. (‘NV001’,’Nguyen Lam’,’Nam’,’10/10/1970’,’Dong Nai’)  Loại mẫu tin: là 1 tập các mẫu tin có cùng tính chất. Ví dụ: NHANVIEN  Ký hiệu:  Loại liên hệ: mô tả sự liên kết giữa 1 loại mẫu tin chủ và 1 loại mẫu tin thành viên  Ký hiệu: NHANVIEN Tham gia CONGVIEC 41 a. Mô hình dữ liệu mạng  Bản số: chỉ ra số lượng các mẫu tin tham gia trong mối liên hệ:  (1:1) (one-to-one): mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên.  (1:n) (one-to-many): mỗi mẫu tin của loại mẫu tin chủ kết hợp với 1 hay nhiều mẫu tin thành viên.  (n:1) (many-to-one): nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên.  (Recursive): một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin thành viên với chính nó. Loại liên hệ này là Đệ quy. 42 a. Mô hình dữ liệu mạng PHONG CONGVIEC NHANVIEN LYLICH gồm có quản lý trực tiếpcùng làm n:1 1:1 1:n 1:n 43 a. Mô hình dữ liệu mạng  Mô hình dữ liệu mạng:  Tương đối đơn giản;  Dễ sử dụng;  Không thích hợp biểu diễn CSDL có quy mô lớn;  Khả năng diễn đạt ngữ nghĩa kém. 44 a. Mô hình dữ liệu mạng  Bài tập: 1. Xây dựng mô hình dữ liệu mạng cho CSDL quản lý bán hàng trong một siêu thị; 2. Xây dựng mô hình mạng dựa trên việc thành lập mối quan hệ giữa các loại mẫu tin: Môn học, lớp học, học viên, kết quả và MH_Lớp. 45 b. Mô hình dữ liệu phân cấp  Hierachical (Data) Model;  Là 1 cây, mỗi nút của cây biểu diễn 1 thực thể, giữa nút cha và nút con được liên hệ với nhau theo 1 mối quan hệ xác định.  Loại mẫu tin: giống như mô hình DL mạng;  Loại mối liên hệ: phân cấp theo:  Mẫu tin thành viên chỉ đóng vai trò thành viên của 1 mối liên hệ duy nhất (thuộc 1 chủ thể duy nhất);  Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên hệ duy nhất. 46 47 c. Mô hình thực thể mối kết hợp i. Giới thiệu ii. Loại thực thể, thực thể iii. Thuộc tính của loại thực thể iv. Khoá của loại thực thể v. Loại mối kết hợp, mối kết hợp vi. Thuộc tính của loại mối kết hợp vii. Bản số viii. Mô hình ER mở rộng 48 i. Giới thiệu  Mô hình thực thể mối kết hợp (Entity-Relationship Model viết tắt ER): P.CHEN (1976.)  Mô hình ER: Sử dụng nhiều trong thiết kế dl ở mức quan niệm (conceptual data model); Là công cụ giao tiếp giữa người thiết kế CSDL & End User để x.dựng CSDL trong g.đoạn phân tích;  Được lựa chọn nhiều do - Dễ dùng; - Có công cụ hỗ trợ tự động; - Thực thể và mối liên kết là những khái niệm mô hình hoá tự nhiên trong thế giới thực. ? Hãy trình bày quá trình thiết kế một CSDL sử dụng mô hình quan niệm bậc cao. 49 ii. Loại thực thể, Thực thể (Entity Type, Entity)  Định nghĩa: loại thực thể (Entity Type) là những loại đối tượng hay sự vật của thế giới thực tồn tại cụ thể cần được quản lý  Ví dụ: HOCVIEN, LOP, MONHOC,  Ký hiệu: HOCVIEN LOP 50  Định nghĩa: thực thể là 1 thể hiện hoặc 1 đối tượng của một loại thực thể.  Ví dụ: Loại thực thể là HOCVIEN có các thực thể:  (‘HV001’, ‘Nguyen Nam’, ‘1/2/1987’,’Nam’)  (‘HV002’, ‘Trần Nam’, ‘13/2/1987’, ‘Nam’)  (‘HV003’, ‘Huỳnh Mỹ’, ‘13/2/1987’, ‘Nữ’) ii. Loại thực thể, Thực thể (Entity Type, Entity) 51 iii. Thuộc tính của loại thực thể (Entity Attribute)  Định nghĩa: thuộc tính là những tính chất đặc trưng của loại thực thể cần lưu trữ.  Ví dụ: Loại thực thể HOCVIEN có các thuộc tính: Mã học viên, họ tên, giới tính, ngày sinh, nơi sinh  Ký hiệu: HOCVIEN Hoten Gioitinh Mahv Ngaysinh Noisinh HOCVIEN Hoten Gioitinh Mahv Ngaysinh Noisinh 52 iii. Các loại thuộc tính (1)  Thuộc tính đơn (simple attribute): thuộc tính không bị phân rã thành các thuộc tính khác. Ví dụ: Mahv  Thuộc tính phức/đa hợp (composite attribute): thuộc tính bị phân rã thành các thuộc tính khác Ví dụ: DCHI(SONHA, DUONG, PHUONG, QUAN) hay thuộc tính HOTEN(HO, TENLOT, TEN). 53 iii. Các loại thuộc tính (2) Thuoäc tính ñôn Thuoäc tính phức hôïp 54 iii. Các loại thuộc tính (3)  Thuộc tính đơn trị (single-valued attribute): là thuộc tính chỉ chứa một giá trị;  Thuộc tính đa trị (multi-valued attribute): thuộc tính chứa nhiều giá trị khác nhau thuộc 1 miền trị Ví dụ: BANGCAP; SKILL  Thuộc tính chứa (stored attribute): là thuộc tính mà giá trị của nó không được suy dẫn từ các thuộc tính khác;  Thuộc tính dẫn xuất (derived attribute): là thuộc tính mà giá trị của nó được suy dẫn từ các thuộc tính khác;  Giá trị không xác định được (null values) 55 iii. Các loại thuộc tính (4) Thuộc tính đơn trị Thuộc tính đa trị Thuộc tính chứa Thuộc tính dẫn xuất 56 iii. Các loại thuộc tính (5)  Tóm lại, các thuộc tính phức/đa hợp và đa trị có thể lồng nhau tùy ý.  Ví dụ: Thuộc tính BANGCAP của HOCVIEN là một thuộc tính đa hợp được ký hiệu bằng: {BANGCAP(TRUONGCAP, NAM, KETQUA, CHUYENNGANH)} 57 iv. Khoá của loại thực thể (entity type key)  key/ identifier  Khóa là một thuộc tính hoặc tổ hợp các thuộc tính dùng để xác định duy nhất 1 thể hiện của 1 kiểu thực thể;  Thuộc tính khóa và thuộc tính không khóa  Thuộc tính khóa là thuộc tính ở trong khóa.  key attribute / prime attribute / identifier attribute  Thuộc tính khóa được gạch dưới.  Thuộc tính không khóa (non-key attribute) là thuộc tính không ở trong khóa.  Thuộc tính không khóa/ thuộc tính mô tả (descriptor). 58 iv. Khoá của loại thực thể (2)  Khóa đơn và khóa phức hợp  Khóa đơn (simple key) là khóa chỉ có 1 thuộc tính.  Khóa phức hợp (composite key) là khóa có nhiều hơn 1 thuộc tính.  Khóa dự tuyển  candidate key/ Khóa dự tuyển là khóa của 1 kiểu thực thể.  Một kiểu thực thể có ít nhất 1 khóa dự tuyển.  Khóa chính  primary key/ Khóa chính là 1 khóa tiêu biểu trong các khóa dự tuyển của 1 kiểu thực thể.  Một kiểu thực thể chỉ có một khóa chính.  Khóa chính dùng để liên kết giữa các thực thể. 59 iv. Khoá của loại thực thể (3) Khóa đơn Khóa phức hợp Thuộc tính không khóa 60  Định nghĩa: loại mối kết hợp là sự kết hợp giữa hai hay nhiều loại thực thể;  Ví dụ: giữa hai loại thực thể HOCVIEN và LOP có loại mối kết hợp THUOC  Ký hiệu: bằng một hình thoi hoặc hình oval v. Loại mối kết hợp (1) (relationship type) ThuocHOCVIEN LOP 61 v. Loại mối kết hợp (2)  Giữa hai loại thực thể có thể tồn tại nhiều hơn một loại mối kết hợp.  Ví dụ: Thuộc HOCVIEN LOP Là trưởng lớp 62 v. Số ngôi của loại mối kết hợp (relationship degree)  degree/ arity of relationship  Bậc/ Số ngôi của mối liên kết là số lượng kiểu thực thể tham gia đồng thời vào mối kết hợp này  Các loại mối liên kết  Mối liên kết 1-ngôi (unary relationship)  Mối liên kết 2-ngôi (binary relationship)  Mối liên kết 3-ngôi (ternary relationship): 3 kiểu thực thể đồng thời tham gia vào mối liên kết. 63 v. Số ngôi của loại mối kết hợp (3) (relationship degree)  Ví dụ 1: Loại mối kết hợp Thuộc kết hợp 2 loại thực thể HOCVIEN và LOP nên có số ngôi là 2.  Ví dụ 2: Loại mối kết hợp Giảng dạy kết hợp 3 loại thực thể GIAOVIEN, MONHOC, LOP nên có số ngôi là 3. 64 v. Số ngôi của loại mối kết hợp (3) HOCVIEN LOP Thuoc LOP MONHOC Giang day GIAOVIEN 65 vi. Thuộc tính của loại mối kết hợp (relationship type attribute)  Thuộc tính của loại mối kết hợp bao gồm các thuộc tính khoá của các loại thực thể tham gia vào loại mối kết hợp đó. Ngoài ra còn có thể có thêm những thuộc tính bổ sung khác.  Ví dụ: Loại mối kết hợp Giảng dạy giữa ba loại thực thể GIAOVIEN, MONHOC và LOP có các thuộc tính là Magv, Mamh, Malop, ngoài ra còn có thuộc tính riêng là Hocky, Nam 66 Thuộc tính của loại mối kết hợp LOP MONHOC Giang day GIAOVIEN Hocky Nam 67 Bản số (relationship cardinality)  Loại mối kết hợp thể hiện liên kết giữa các thực thể, mỗi liên kết được gọi là một nhánh.  Định nghĩa:  Bản số của nhánh là số lượng tối thiểu và số lượng tối đa các thực thể thuộc nhánh đó tham gia vào loại mối kết hợp.  Ký hiệu: (bản số tối thiểu, bản số tối đa)  Ví dụ:  Loại thực thể NhanVien và DeAn có loại mối kết hợp ThamGia. 68 Bản số Thuộc HOCVIEN LOP (1,1) (1,n) 69 Bản số Thuộc HOCVIEN LOP Là trưởng lớp (1,1) (1,n) (0,1) (1,1) 70 vii. Mô hình ER mở rộng  Chuyên biệt hoá/ Tổng quát hóa  Mối kết hợp đệ quy  Loại thực thể yếu 71 Chuyên biệt hóa GiaoVien HocVien ConNguoi HocVi NgayVL NgayNH Khóa SoCMND HoTen ... Tổng quát hóa Xe ô tô được tổng quát hóa từ xe con và xe tải 73 Mối kết hợp đệ quy  Định nghĩa: là loại mối kết hợp được tạo thành từ cùng một loại thực thể (hay một loại thực thể có loại mối kết hợp với chính nó)  Ví dụ: Mỗi nhân viên có một người quản lý trực tiếp và người quản lý đó cũng là một nhân viên NHANVIEN QuanLy (1,n) (0,1) 74  Định nghĩa:  Là loại thực thể không có thuộc tính khóa  Phải tham gia trong một loại mối kết hợp xác định trong đó có một loại thực thể chủ.  Ký hiệu:  Ví dụ: loại thực thể LANTHI có thuộc tính Lần và tham gia trong loại mối kết hợp Thi với loại thực thể HOCVIEN và MONHOC là loại thực thể yếu. Thực thể Loại thực thể yếu 75 Loại thực thể yếu Thi HOCVIEN LANTHI (1,n) (1,n) MONHOC (1,n) 76 Bài tập Xây dựng mô hình ER  Xây dựng mô hình ER cho CSDL quản lý học viên của lớp học;  Xây dựng mô hình ER cho CSDL quản lý giáo vụ gồm có các chức năng sau:  Lưu trữ thông tin: Học viên , giáo viên, môn học  Xếp lớp cho học viên, chọn lớp trưởng cho lớp  Phân công giảng dạy: giáo viên dạy lớp nào với môn học gì, ở học kỳ, năm học nào.  Lưu trữ kết quả thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi bao nhiêu. 77 Xây dựng lược đồ ER cho CSDL CÔNG TY như sau: Giả sử rằng sau khi tập hợp các yêu cầu và phân tích, hoạt động của công ty được ghi chép lại như sau: 1. Công ty được tổ chức thành các đơn vị (đv). Mỗi đv có 1 tên duy nhất, 1 mã số duy nhất, 1 nhân viên (nv) cụ thể quản lý đơn vị. Việc nv quản lý đơn vị được ghi lại bằng ngày nv đó bắt đầu quản lý. Một đơn vị có thể có nhiều địa điểm. 2. Mỗi đơn vị kiểm soát 1 số dự án. Một dự án có 1 tên duy nhất, 1 mã số duy nhất và 1 địa điểm. 3. Với mỗi nv chúng ta lưu giữ lại Họ tên, Mã số duy nhất, địa chỉ, lương, giới tính, ngày sinh. Một nv chỉ làm việc cho 1 đơn vị nhưng có thể làm việc trên nhiều dự án do nhiều đơn vị kiểm soát. Chúng ta lưu giữ lại số giờ làm việc của mỗi nv trên một dự án. Mỗi nv có thể có 1 người giám sát trực tiếp, người đó cũng là 1 nv. 4. Mỗi nv có những người con. Những người này được hưởng bảo hiểm theo nv. Với mỗi người con của nv, chúng ta lưu giữ Họ tên, giới tính, ngày sinh; 78 Thiết kế CSDL  Các bước thiết kế  Nguyên lý thiết kế  Ví dụ Sơ đồ các bước chính của thiết kế CSDL Lược đồ ER của Công ty EER – Chuyên biệt hóa 82

Các file đính kèm theo tài liệu này:

  • pdfco_so_du_lieubuoi1_6495_2051756.pdf