Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình liên kết thực thể - Đỗ Thị Mai Hường

Thuộc tính ™Là tập các giá trị có thể gán cho thuộc tính đối với mội thực thể riêng biệt. ™Miền giá trị của thuộc tính (domain) ™ Kiểu chuỗi ( g) string) ™ Kiểu số nguyên (integer) ™ Kiểu số thực ™Ví dụ tập thực thể NHANVIEN có các thuộc tính ™ Họ tên (hoten: string[20] ™ Ngày sinh (ns: date) ™ Điểm trung bình (DTB: float) - 10 -Thuộc tính ™Loại thuộc tính ™ Thuộc tính đơn – Không thể tách nhỏ ra được ™ Thuộc tí h nh phức hợp – có thể tá h ch ra thà h nh các thành phần nhỏ hơn. ™Loại giá trị của thuộc tính ™ Đơn giá trị: các thuộc tính có giá trị duy nhất cho một thực thể (Ví dụ: CMND) ™ Đa trị: các thuộc tính có một tập giá trị cho cùng một thực thể (VD: bằng cấp, ect) ™ Suy diễn được (năm sinh Å Æ tuổi.) - 11 -Thuộc tính ™Tất cả các thực thể nằm trong tập thực thể có cùng tập thuộc tính ™Mỗi thực thể đều được phân biệt bởi một thuộc tính khóa ™Mỗi thuộc tính đều có miền giá trị tương ứng với nó - 12 -Thuộc tính ™Ví dụ tập thực thể NHANVIEN có các thuộc tính ™ Mã NV (MaNV: integer) ™ Họ tên (H t oten: st i [ ring[20]) ™ Ngày sinh (NS: date) ™ Địa chỉ (diachi: string[100]) ™ Quê quán (quequan: string[30]) ™ Hệ số lương (hsluong: float) ™ Hệ số phụ cấp (h h sphucap: fl t) oat) ™ Tổng lương (tongluong: float) ™Loại thuộc tính? Miền giá trị? Loại giá trị của thuộc tính

pdf49 trang | Chia sẻ: thanhle95 | Lượt xem: 729 | 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 2: Mô hình liên kết thực thể - Đỗ Thị Mai Hường, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
C ở dữ liệơ s u ễVăn‐Giang Nguy n ốBộ môn Hệ th ng thông tin,  Khoa Công nghệ thông tin, Học viện Kỹ thuật quân sự E il i @ t dma : g angnv m a.e u.vn Slides courtesy of : Đỗ Thị Mai Hường, HTTT, CNTT, HVKTQS Nội dung môn học ™ Chương 1: Tổng quan về cơ sở dữ liệu (5) ™ Chương 2: Mô hình liên kết thực thể (5) ™ Chương 3: Mô hình dữ liệu quan hệ (10) ™ Chương 4: Phụ thuộc hàm và các dạng chuẩn CSDL (1 ™ Ch 5 Hệ ả t ị SQL S (10)ương : qu n r erver ™ Chương 6: Ngôn ngữ truy vấn CSDL (15) ™ Chương 7: Lập trình T-SQL (15) - 2 - Nội dung chi tiết ™Quá trình thiết kế CSDL ™ Mô hình thực thể liên kết (ER) ™ Xây dựng ER ™ íV dụ - 3 - Quá trình thiết kế CSDL Thiết kế E/R Lược đồ quan hệ HQT CSDL quan hệÝ tưởng - 4 - Quá trình thiết kế CSDL ™E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thế giới thực thành mô hì h CSDL hện quan . DBMS Mô hình E/R Mô hình CSDL quan hệ Bài toán thực tế DB - 5 - Nội dung chi tiết ™Quá trình thiết kế CSDL ™ Mô hình thực thể liên kết (ER) ™ Xây dựng ER ™ íV dụ - 6 - Mô hình thực thể - liên kết ™Được dùng để thiết kế CSDL ở mức quan niệm ™Biểu diễn trừu tượng cấu trúc của CSDL ™Lược đồ thực thể - liên kết (Entity – Relationship diagram) ™ Tập thực thể (Entity sets) ™ Thuộc tính (Attributes) ™ Mối quan hệ (Relationship) - 7 - Tập thực thể ™Một thực thể là một đối tượng của thế giới thực. Thực thể được mô tả bởi các thuộc tính ™Tập hợp các thực thể giống nhau tạo thành một tập thực thể ™Chú ý ể Cấ t ú ủ dữ liệ™ Thực th (Entity) ™ Đối tượng (Object) ™ Tập thực thể (Entity set) u r c c a u Thao tác trên dữ liệu ™ Lớp đối tượng (Class of objects) - 8 - Tập thực thể ™Ví dụ “Quản lý đề án công ty” ™ Một nhân viên là một thực thể ™ Tậ h á hâ iê là tậ th thểp ợp c c n n v n p ực ™ Một đề án là một thực thể ™ Tập hợp các đề án là tập thực thể. ™ Một hò b là ột th thểp ng an m ực ™ Tập hợp các phòng ban là tập thực thể. - 9 - Thuộc tính ™Là tập các giá trị có thể gán cho thuộc tính đối với mội thực thể riêng biệt. ™Miền giá trị của thuộc tính (domain) ™ Kiểu chuỗi (string) ™ Kiểu số nguyên (integer) ™ Kiểu số thực ™Ví dụ tập thực thể NHANVIEN có các thuộc tính ™ Họ tên (hoten: string[20] ™ Ngày sinh (ns: date) ™ Điểm trung bình (DTB: float) - 10 - Thuộc tính ™Loại thuộc tính ™ Thuộc tính đơn – Không thể tách nhỏ ra được ™ Th ộ tí h hứ h ó thể tá h thà hu c n p c ợp – c c ra n các thành phần nhỏ hơn. ™Loại giá trị của thuộc tính ™ Đơn giá trị: các thuộc tính có giá trị duy nhất cho một thực thể (Ví dụ: CMND) ™ Đa trị: các thuộc tính có một tập giá trị cho ù ộ h hể (VD bằ ấ )c ng m t t ực t : ng c p, ect ™ Suy diễn được (năm sinhÅÆ tuổi.) - 11 - Thuộc tính ™Tất cả các thực thể nằm trong tập thực thể có cùng tập thuộc tính ™Mỗi thực thể đều được phân biệt bởi một thuộc tính khóa ™Mỗi thuộc tính đều có miền giá trị tương ứng với nó - 12 - Thuộc tính ™Ví dụ tập thực thể NHANVIEN có các thuộc tính ™ Mã NV (MaNV: integer) ™ H tê (H t t i [20])ọ n o en: s r ng ™ Ngày sinh (NS: date) ™ Địa chỉ (diachi: string[100]) ™ Quê quán (quequan: string[30]) ™ Hệ số lương (hsluong: float) ™ Hệ ố h ấ (h h fl t)s p ụ c p sp ucap: oa ™ Tổng lương (tongluong: float) ™Loại thuộc tính? Miền giá trị? Loại giá trị của thuộc tính? - 13 - Thuộc tính: Ví dụ và ký hiệu Student_ID Student_na me Other_attri butes STUDENTThuộc tính khóa Thuộc tính đơn Address Thuộc tính phức - 14 - Street_ad dress City Postal_co de Thuộc tính: Ví dụ và ký hiệu Employee_ nameEmployee_ ID Address Thuộc tính đơn trị EMPLOYEEYears_employed Skill Thuộc tính dẫn xuất Thuộc tính đa trị Date_empl oyed Thuộc tính chứa - 15 - Mối quan hệ ™Quan hệ: Là sự liên kết giữa 2 hay nhiều tập thực thể ™Ví dụ: Giữa tập thực thể NHANVIEN và PHONGBAN có các liên kết ™ Một nhân viên thuộc một phòng ban nào đó ™ Một phòng ban có một nhân viên làm trưởng phòng. ™Tập các quan hệ: là tập hợp các mối quan hệ giống nhau. - 16 - Lược đồ ER ™Là đồ thị biểu diễn các tập thực thể, thuộc tính và mối quan hệ ™Đỉ hn : Tên tập thực thể Tập thực thể Tên thuộc tính Thuộc tính Tên quan hệ Quan hệ ™Cung là đường nối giữa: (i) tập thực thể và ố ểthuộc tính; (ii) m i quan hệ và tập thực th . - 17 - Ví dụ về lược đồ ER ™Kiểu liên kết - 18 - Ví dụ về lược đồ ER ™Thể hiện liên kết - 19 - Thể hiện của lược đồ ER ™Một CSDL được mô tả bởi lược đồ ER sẽ chứa đựng những dữ liệu cụ thể gọi là thể hiện CSDL ™ Mỗi tậ th thể ẽ ó tậ h hữ h áp ực s c p ợp a ạn c c thực thể: VD: Tập thực thể NHANVIEN có các thực thể như NV1, NV2, , NVn ™ Mỗi thực thể sẽ có một giá trị cụ thể tại mỗi thuộc tính ™ NV1 TENNV “T i t” NS “01/01/1993”: = r e , = ™ NV2: TENNV = “Hoang”, NS=“02/09/1993” ™Chú ý: ™ Không lưu trữ lược đồ ER trong CSDL ™ Lược đồ ER chỉ giúp ta thiết kế CSDL trước khi - 20 - chuyển các quan hệ và dữ liệu xuống mức vật lý Ràng buộc trên kiểu liên kết ể ố ể™Th hiện CSDL còn chứa các m i quan hệ cụ th ™ Cho mối quan hệ R kết nối n tập thực thể E1, E2 E, , n. ™ Thể hiện của R là tập hữu hạn các danh sách (e1, e2, , en) ™ Trong đó ei là các giá trị được chọn từ các tập thực thể Ei. ™Xét mối quan hệ NHANVIEN PHONGBANLam_viec NHANVIEN PHONGBAN Tùng Nghiên cứu - 21 - Dũng Điều hành Hoàng Quản lý Ràng buộc trên kiểu liên kết ™Xét mối quan hệ nhị phân R giữa 2 tập thực thể A và B, ràng buộc liên kết bao gồm A BQuan_hệ1 1 A BQuan_hệ1 n A BQuan_hện 1 A BQuan_hện n - 22 - Ràng buộc trên kiểu liên kết ™(min,max) chỉ định mội thực thể tham gia ít nhất và nhiều nhất vào thể hiện của R e E∈ E FQuan_hệ (min,max) (min,max) ™(0,1) – không hoặc 1 ™(1,1) – duy nhất 1 ™(0,n) – không hoặc nhiều ™(1 n) một hoặc nhiều, – - 23 - Ràng buộc trên kiểu liên kết – Ví dụ ™Một phòng ban có nhiều nhân viên NV PBLam viec (n,1) ™Một nhân viên chỉ thuộc 1 phòng ban _ (1 1) ™Một nhân viên có thể được phân công vào nhiều đề NV PBLam_viec , án hoặc không được phân công vào đề án nào. NV DAphan cong (0,n) ™Một nhân viên có thể là trưởng phòng của 1 phòng ban nào đó _ - 24 - NV PBLa_truog_p hong (0,1) Ràng buộc trên kiểu liên kết – Ví dụ ™Một loại thực thể có thể tham gia nhiều lần vào một quan hệ với nhiều vai trò khác nhau. Là người quản lý NV Quan_ly (0,1) Được quản lý bởi (0,n) - 25 - Thuộc tính trên mối quan hệ ™Thuộc tính trên mối quan hệ mô tả tính chất cho mối quan hệ đó. ™Thuộc tính này không thể gắn liền với những thực thể tham gia vào mối quan hệ. (1 ) (0 )NHANVIEN DUANLam_viec ,n ,n THGIAN - 26 - Thuộc tính khóa ™Các thực thể trong tập thực thể cần phải được phân biệt ™Khóa K của tập thực thể E là một hay nhiều thuộc tính sao cho ™ Nếu lấy ra 2 thực thể bất kỳ e1 và e2 trong E, Thì e1 và e2 không thể có các giá trị giống nhau tại các thuộc tính trong K. ™Chú ý ™ Mỗi tập thực thể phải có 1 khóa ™ Mỗi khóa có thể có 1 hay nhiều thuộc tính ™ Có thể có nhiều khóa trong 1 tập thực thể, ta - 27 - sẽ chọn ra 1 khóa làm khóa chính cho tập thực thể đó. Ví dụ thuộc tính khóa NS LUONG DCHI HONV MANV MAPB NHANVIEN PHONGBAN TENNV TENPBLam_vi ec GT La_trg_ph ong Phu_tr ach DUAN DDIEM Phan cong TEN MADA _ - 28 - Nội dung chi tiết ™Quá trình thiết kế CSDL ™ Mô hình thực thể liên kết (ER) ™ Các bước xây dựng ER ™ íV dụ - 29 - Các bước xây dựng ER ™Xác định tập thực thể ố™Xác đinh m i quan hệ ắ™Xác định thuộc tính vào g n thuộc tính cho tập thực thể và mối quan hệ. ™Quyết định thuộc tính khóa ế ố™Quy t định (min, max) cho m i quan hệ. - 30 - Quy tắc xây dựng ™Chính xác ™Tránh trùng lặp ™Dễ hiểu ™Chọn đúng mối quan hệ ™Chọn đúng kiểu thuộc tính - 31 - Nội dung chi tiết ™Quá trình thiết kế CSDL ™ Mô hình thực thể liên kết (ER) ™ Xây dựng ER ™ íV dụ - 32 - Ví dụ ‘Quản lý đề án công ty’ ™CSDL đề án công ty theo dõi các thông tin liên quan đến nhân viên, phòng ban và đề án ™ Cô t ó hiề hò b ỗi hò b ó tê dng y c n u p ng an, m p ng an c n uy nhất, mã phòng ban duy nhất, mội trưởng phòng, và ngày nhậm chức. Mỗi phòng ban có thể ở nhiều địa điểm khác hn au. ™ Đề án có tên duy nhất, mã duy nhất, do một phòng ban chủ trì và được triển khai ở 1 địa điểm. ố ỉ™ Nhân viên có mã s , tên, địa ch , ngày sinh, giới tính và lương. Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau, mỗi nhân ề ếviên đ u có một người quản lý trực ti p. ™ Một nhân viên có thể có những người con được hưởng bảo hiểm theo nhân viên. Mỗi người con của nhân viên có tên, giới tính, ngày sinh - 33 - Ví dụ - 34 - Ví dụ - 35 - Bài tập 1 – ER cho CSDL “TRƯỜNG” ™ Trường được chia thành các trường con: Trường KHTN, KHXH, Công nghệ, Mỗi trường có một hiệu trưởng quản lý. Mỗi hiệu trưởng quản lý một trường ™ Mỗi trường có nhiều khoa. (Ví dụ: KHTN có các khoa Toán, Lý, Hóa). Mỗi khoa chỉ thuộc về một trường Thông tin về khoa gồm mã khoa tên khoa địa chỉ số. , , , điện thoại, tên trường. ™ Mỗi khoa cung cấp nhiều môn học. Mỗi môn học gồm có: Tên, mã, số đơn vị học trình, trình độ, tên khoa. ỗ ể ề ầ ỗ ầ ằ™ M i môn học có th có nhi u học ph n. M i học ph n được lưu trữ b ng các thông tin: Mã học phần, tên môn học, tên giáo viên dạy, học kỳ. ™ Mỗi khoa có nhiều giáo viên làm việc, nhưng mỗi giáo viên chỉ làm việc cho một khoa Mỗi khoa có 1 chủ nhiệm khoa và đó là 1 giáo viên. , . ™ Mỗi giáo viên có thể dạy nhiều nhất là 4 học phần và cũng có thể không dạy học phần nào. ™ Mỗi sinh viên phải học nhiều học phần. ™ Mỗi kh ó hiề i h iê ỗi i h iê hỉ th ộ ề ột kh Thô ti ềoa c n u s n v n, m s n v n c u c v m oa. ng n v mỗi sinh viên gồm: mã sinh viên, họ tên, địa chỉ, ngày sinh, giới tính, lớp, tên khoa, và chế độ đào tạo. ™ Mỗi sinh viên có một người giám sát (giáo viên chủ nhiệm), người đó là một giáo viên. ™ Sau mỗi học kỳ sẽ có một danh sách điểm để phân loại. Nó gồm các thông tin: mã sinh viên, mã học phần, điểm bằng chữ, điểm bằng số. - 36 - Bài tập 2 – ER cho CSDL “THƯ VIỆN” ™Thư viện được chia thành các nhánh. Thông tin về mỗi nhánh gồm có Mã nhánh, tên nhánh và địa chỉ. ™Mỗi cuốn sách trong thư viện có các thông tin về mã sách, tên sách, nhà xuất bản và tác giả. ™Mỗi tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có nhiều tác giả tham gia viết. ™Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do một nhà xuất bản xuất bản. Thông tin về nhà xuất bản gồm có Tên, địa chỉ, số điện thoại. ™Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh. Thông tin về bản sao sách gồm Mã sách, số các bản sao. ™Thư viên có những người mượn sách Thông tin về những người. mượn sách gồm có: số thẻ, họ tên, địa chỉ và số điện thoại. ™Sách được cho những người mượn mượn tại các nhánh. Thông tin về một lần mượn gồm có ngày mượn và ngày trả. - 37 - Biến đổi từ mô hình ER sang mô hình quan hệ ™Các quy tắc biến đổi ể ồ Mô hình E-R Mô hình CSDL Quan hệ Một tập thực th Mỗi thuộc tính Một lược đ quan hệ Một thuộc tính Mỗi thuộc tính Khóa chính nhận diện Mỗi mối kết hợp Khóa ngoại/LĐ quan hệ mới ố - 38 - (trong m i quan hệ 1-n) Ghi chú: Chỉ áp dụng cho mối kết hợp 2 ngôi. Ví dụ 1 – Mối kết hợp 1-1 NGƯỜI LÁI XE BẰNG LÁI Mã NLX Tên Địa chỉ Ngày sinh Mã BL Loại BL Ngày hết hạn Sở hữu 1 1 (1,1)(1,1) Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hoặc ngược lại NGƯỜI LÁI XE (mã NLX tên địa chỉ ngày sinh) , , , BẰNG LÁI (mãBL, loại BL, ngày hết hạn, mãNLX) hoặc NGƯỜI LÁI XE (mã NLX tên địa chỉ ngày sinh mãBL) - 39 - , , , , BẰNG LÁI (mãBL, loại BL, ngày hết hạn) Ví dụ 2 – Mối kết hợp 1-M HỌCVIÊN MÔNHỌC Mã học viên Tên Địa chỉ Ngày sinh Mã môn học Tên môn học Thời lượng Ghi danh Số ĐT Ngày nhập học M 1 Chuyển khóa chính bên một sang bên nhiều HỌCVIÊN (mã học viên Tên địa chỉ ngày sinh số ĐT , , , , , ngày nhập học, mã môn học) MÔN HỌC (Mã môn học, tên môn học, thời lượng) - 40 - Ví dụ 3 – Mối kết hợp M-N HỌCVIÊN MÔNHỌC Mã học viên Tên Địa chỉ Ngày sinh Mã môn học Tên môn học Thời lượng Ngày nhập học Ghi danh Số ĐT M N Tạo một quan hệ mới HỌCVIÊN (mã học viên Tên địa chỉ ngày sinh số ĐT) , , , , MÔN HỌC (Mã môn học, tên môn học, thời lượng) PHIẾU GHI DANH (mã học viên, mã môn học, ngày nhập học) - 41 - Bài tập ồ GIÁOVIÊN HỒSƠGD Mã GV Họ tên Địa chỉ Số ĐT Mã h sơ Ngày Công việc Đề tài Có Bằng cấp Vị trí1 1 - 42 - Bài tập THẺTV PHIẾUMƯỢN Mã ĐG Họ tên Ngày sinh Địa chỉ Số PM Ngàymượn Có Nghề nghiệp 1 M - 43 - Bài tập TÁCGIẢ TỰASÁCH Mã TG Họ tên Ngày sinh Địa chỉ Mã sách Loại sách Năm XB Nhà XB Sáng tác Số trang Số tập M N - 44 - Bài tập Một trường CĐ có nhu cầu tin học hóa công tác quản lý của mình. ™Trường có nhiều khoa Mỗi khoa có thông tin mã khoa tên. , khóa. ™Mỗi khoa có nhiều lớp học. Thông tin về lớp học: mã lớp, tên lớp sĩ số, . ™Mỗi sinh viên khi nhập học được xếp vào một lớp và thuộc lớp này trong suốt khóa học. Thông tin về sinh viên gồm: mã SV họ tên ngày sinh giới tính địa chỉ, , , , . ™Sinh viên học nhiều môn học. Kết thúc mỗi môn học, sinh viên có một điểm thi. Kết thúc khóa học, sinh viên có một điểm tốt nghiệp Môn học có thông tin: mã môn tên môn. , , số tín chỉ. ™Mỗi sinh viên có một thẻ thư viên. Và một thẻ thư viện chỉ thuộc về một sinh viên Thông tin thẻ thư viện: số thẻ. , ngày cấp, ngày hết hạn. - 45 - Mã khoa Tên khoa Mã môn Tên môn Số tín chỉ Khoa Môn học Mã SV Họ tên1 M Ngày sinh Giới tính Địa chỉ ĐiểmTN của Học N Lớp Sinh viênMã lớp Tên lớp M 1 Sĩ số có 1 M 1 Thẻ thư viện ố Thuộc S thẻ Ngày cấp Ngày hết hạn Bài tập ™B1: Chuyển các tập thực thể thành quan hệ KHOA (mã khoa, tên khoa) LỚP (mã lớp tên lớp sĩ số), , SINH VIÊN(mã sinh viên, họ tên, giới tính, địa chỉ, ngày sinh, điểm TN) MÔN HỌC (mã môn tên môn số tín chỉ), , THẺTHƯVIỆN(số thẻ, ngày cấp, ngày hết hạn ™B2: Chuyển các mối kết hợp Mối kết hợp KHOA-LỚP chuyển thành khóa ngoại Mã khoa trong quan hệ LỚP. ố ế Ớ S ểM i k t hợp L P- INHVIEN chuy n thành khóa ngoại mã lớp trong SINHVIEN Mối kết hợp SINHVIEN-THẺ THƯ ViỆN chuyển thành Ẻ - 47 - khóa ngoại Mã sinh viên trong quan hệ TH THƯ ViỆN Mối kết hợp SINHVIEN-MÔN HỌC chuyển thành mối quan hệ mới HỌC (Mã sinh viên, mã môn, điểm thi) Lược đồ cơ sở dữ liệu quan hệ KHOA (mã khoa, tên khoa) LỚP (mã lớp, tên lớp, sĩ số, mã khoa) SINHVIÊN ( ã i h iê h tê iới tí h đị hỉm s n v n, ọ n, g n , a c , ngày sinh, điểm TN, mã lớp) MÔN HỌC (mã môn, tên môn, số tín chỉ) HOC (mã sinh viên, mã môn, điểm thi) THẺ THƯ ViỆN ( ố thẻ à ấ à hết hs , ng y c p, ng y ạn, mã sinh viên) - 48 - Nhận xét ™Mối kết hợp giữa các tập thực thể trong mô hình E-R được chuyển thành khóa ngoài trong mô hì h CSDL hện quan . ™Như vậy, trong mô hình quan hệ, các quan hệ liên hệ với nhau nhờ có chung một hay một số thuộc tính ™Có 2 loại mối quan hệ trong mô hình quan hệ: 1-1 à 1 Mv - - 49 -