Mô hình dữ liệu Mô hình thực thể liên kết Mô hình dữ liệu quan hệ

8 1.2K 6
Mô hình dữ liệu Mô hình thực thể liên kết Mô hình dữ liệu quan hệ

Đang tải... (xem toàn văn)

Thông tin tài liệu

I.Mô hình thực thể liên kết 1.Thực thể và tập thực thể 2.Thuộc tính 3.Liên kết 4.Lập sơ đồ thực thểliên kết 5.Bài tập II.Mô hình dữ liệu quan hệ 1.Thuộc tínhtrường 2.Lược đồ quan hệ bảng 3.Khóa 4.Biến đổi sơ đồ thực thểliên kết sang sơ đồ quan hệ 5.Bài tập

14/07/14 1 Mô hình dữ liệu Trần Việt Trung Vũ Tuyết Trinh trungtv@soict.hust.edu.vn Bộ môn hệ thống thông tin Viện Công nghệ thông tin và truyền thông Đại học Bách Khoa Hà Nội Mô hình dữ liệu •  Mô hình dữ liệu gồm –  Một tập hợp các khái niệm dùng để mô tả cấu trúc của một CSDL: •  Các kiểu dữ liệu •  Các mối quan hệ trong dữ liệu •  Các ràng buộc dữ liệu –  Một tập các phép toán để thao tác với các dữ liệu này 2 Ví dụ: mô hình mạng, mô hình phân cấp, mô hình quan hệ, mô hình thực thể-liên kết, mô hình hướng đối tượng “A data model is a plan for building a database” * Vài nét về lịch sử 3 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 Mô hình mạng Mô hình phân cấp Mô hình quan hệ Mô hình hướng đối tượng Mô hình quan hệ mở rộng Mô hình bán cấu trúc DMS(65), CODASYL (71), IDMS, IDS IMS, System 2k, System R(81), DB2, ORACLE, SQL Server, Sybase, O2, ORION, IRIS, DB2, ORACLE-10i , SQL Server Lore (97), XML ??? Mô hình Thực thể-liên kết IRDS(87) ,CDD +, Phân loại mô hình dữ liệu •  Mô hình khái niệm (mức cao, ngữ nghĩa) –  Mô tả những thực thể/dữ liệu theo cách nhận thực của đa số người dùng –  Ví dụ: Mô hình thực thể liên kết, mô hình hướng đối tượng, –  Dựa trên khái niệm đối tượng •  Mô hình logic (mức biểu diễn, cài đặt) –  Mô tả dữ liệu một cách logic, dễ dàng ánh xạ đến những cấu trúc lưu trữ của máy tính –  Ví dụ: mô hình mạng, mô hình quan hệ, –  Dựa trên khái niệm bản ghi •  Mô hình vật lý (mức thấp) –  Cho phép mô tả cách thức lưu trữ dữ liệu trong máy tính –  Ví dụ: Unifying Model, Frame Memory 4 Các bước xây dựng một CSDL 5 Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết) Mô tả DL logic với 1 mô hình DL cụ thể (vd: Sơ đồ quan hệ) Mô tả ứng dụng 1: PHÂN TÍCH 2: THIẾT KẾ Cài đặt với 1 hệ quản trị CSDL (vd: ORACLE) 3: CÀI ĐẶT Mô hình hoá dữ liệu với mô hình thực thể - liên kết 14/07/14 2 Đặc điểm •  Là mô hình dữ liệu thuộc mức quan niệm, sử dụng cho thiết kế CSDL –  Gần gũi với nhận thức của con người → dễ sử dụng –  Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa các thực thể –  Dễ chuyển đổi sang mô hình quan hệ –  Dựa trên 2 khái niệm chính •  (tập) thực thể •  (tập) liên kết. •  (Type & role) •  Được biểu diễn bởi sơ đồ thực thể - liên kết 7 Thực thể và thuộc tính •  Thực thể: một đối tượng trong thế giới thực •  Tập thực thể: gồm các thực thể có tính chất giống nhau •  Thuộc tính: một đặc tính của một tập thực thể –  Miền giá trị ~ tập các giá trị có thể –  Khoá ~ xác định sự duy nhất của 1 thực thể 8 • sv1 • sv2 • sv3 sinh_viên maSV tenSV ngaysinh nam diachi Kiểu thuộc tính •  Thuộc tính đơn giản (thuộc tính nguyên tố) –  có kiểu dữ liệu nguyên tố •  Thuộc tính phức –  có kiểu phức, định nghĩa bởi các thuộc tính khác tenSV = ‘‘Trần T. Bình’’ = ‘‘Ng. Đ. Trung’’ 9 sinh_viên maSV tenSV ngaysinh nam diachi so_pho quan thanh_pho Kiểu thuộc tính (2) •  Thuộc tính đa giá trị –  tương ứng với mỗi thực thể, có thể nhận nhiều giá trị •  Thuộc tính suy diễn –  có thể tính toán được từ (các) thuộc tính khác 10 mon_hoc maMH tenmon soHT giao_vien sinh_viên maSV tenSV ngaysinh nam diachi tuoi Liên kết •  Đ/n: là sự kết hợp giữa một số thực thể •  Thuộc tính 11 sinh_viên mon_hoc hoc maMH tenmon soHT maSV tenSV ngaysinh nam diachi ket_qua Ràng buộc của kết nối •  1-1: Liên kết 1 thực thể của một tập thực thể với nhiều nhất 1 thực thể của tập thực thể khác •  1-n: Liên kết 1 thực thể của một tập thực thể với nhiều thực thể của tập thực thể khác •  n-m: Liên kết 1 thực thể của một tập thực thể với nhiều thực thể của tập thực thể khác và ngược lại •  đệ quy: Liên kết giữa các thực thể cùng kiểu 12 sinh_viên mon_hoc dang_ky n m lop_hoc sinh_vien gom 1 m mon_hoc dieu_kien lop_hoc giao_vien chu_nhiem 1 1 14/07/14 3 Lập sơ đồ thực thể - liên kết •  B1: Xác định các thực thể •  B2: Xác định các liên kết giữa các thực thể –  Bậc của liên kết –  Ràng buộc (1-1, 1-n, n-m, đệ quy) 13 Bài tập •  Xác định sơ đồ thực thể - liên kết từ một mô tả bài toán 14 Mô hình dữ liệu quan hệ Đặc điểm •  Dựa trên lý thuyết tập hợp •  dễ dàng ánh xạ đến cấu trúc lưu trữ vật lý •  Các khái niệm cơ bản –  Thuật ngữ toán học: quan hệ, bộ và thuộc tính –  Thuật ngữ hướng dữ liệu: bảng, bản ghi và trường •  Được biểu diễn bởi lược đồ quan hệ 16 Thuộc tính - trường •  Đ/n: là một tính chất riêng biệt của một đối tượng cần đư ợc lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng –  Ký hiệu: A •  Tên thuộc tính: –  maSV, tenSV,ngaysinh,nam,diachi,lop •  Kiểu dữ liệu, miền giá trị (Dom(A)) –  text, number, boolean, date/time, memo –  maSV: text(10) tenSV: text(30) ngaysinh: date nam: boolean 17 Lược đồ quan hệ - bảng •  Đ/n: được xác định trên một tập các thuộc tính A i •  Ký hiệu: R(A 1 ,A 2 , … A n ) •  R(A 1 ,A 2 , … A n ) ⊆ Dom(A 1 ) x … x Dom(A n ) 18 SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop) VI DU??? 14/07/14 4 Bộ - bản ghi •  Đ/n: các thông tin của một đối tượng thuộc quan hệ •  Ký hiệu t(a 1 ,a 2 , … a n ) •  t(a 1 ,a 2 , … a n ) ∈ Dom(A 1 ) x … x Dom(A n ) 19 SV0011 Trần T. Bình 1/4/1981 0 21 T. Q. B IT4 SV0025 Ng. Đ. Trung 3/2/1980 1 56 Đ. C. V IT5 SV0067 Trần M. Quế 26/3/1982 0 45 H. B. T IT6 SV0034 Ng. T. Phương 29/2/1980 0 86 L. T. N IT7 Lược đồ cơ sở dữ liệu quan hệ •  Lược đồ cơ sở dữ liệu quan hệ (S): là sự trừu tượng hoá của các quan hệ ở mức độ cấu trúc của một bảng 2 chiều –  S = {R i } –  SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop) LOP(malop,lop, khoa, GVCN, loptruong) MON_HOC(maMH,tenmon,soHT) •  Thể hiện của quan hệ: tập hợp các bộ giá trị của quan hệ R vào một thời điểm (relation state) 20 Tính chất của quan hệ% •  Thứ tự của bộ trong quan hệ% –  Các bộ không có thứ tự% •  Thứ tự của các thuộc tính trong bộ % •  Giá trị và Nulls trong các bộ% –  Mỗi giá trị là nguyên tử% –  Composite and mutivalued attributed are not allowed% –  NULL% •  Giá trị chưa biết hoặc không tồn tại cho một bộ % •  Thông dịch ngữ nghĩa của quan hệ% 21 Khoá •  Đ/n –  Cho R(A 1 ,A 2 , … A n ), K ⊆ {A i }, –  K là khoá nếu với ∀t 1 , t 2 ∈R, ∃A i ∈K: t 1 .K≠t 2 .K SINH_VIEN (maSV,tenSV,ngaysinh,nam, diachi,lop) 22 Phân loại khoá •  Khoá tối thiểu –  Cho R(A 1 ,A 2 , … A n ), K ⊆ {A i }, –  K là khoá tối thiểu nếu K là khoá và !∃K’ ⊆ K mà K’ là khoá •  Khoá ngoài –  Cho R(A 1 ,A 2 , … A n ), R’(A’ 1 ,A’ 2 , … A’ m ), K ⊆ {A i }, –  K là khoá ngoài của R tham chiếu đến quan hệ R’ nếu K là khoá chính của R’ 23 SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,malop) LOP(malop,lop, khoa, GVCN, loptruong) Rằng buộc trong cơ sở dữ liệu quan hệ % •  Rằng buộc miền giá trị% •  Rằng buộc về khoá% –  Rằng buộc toàn vẹn của thực thể (entity integrity constraint)% •  Khoá chính không thể là giá trị NULL % –  Rằng buộc toàn vẹn tham chiếu (referential integrity constraint)% •  Rằng buộc toàn vẹn ngữ nghĩa (semantic integrity constraints)% –  CREATE ASSERTION & CREATE TRIGGER% 24 14/07/14 5 Biến đổi: Sơ đồ thực thể - liên kết → Sơ đồ quan hệ •  Biến đổi tập các thực thể •  Biến đổi các liên kết •  Các khoá của các sơ đồ quan hệ •  Các sơ đồ quan hệ với khoá chung 25 26 Ví dụ maSV tenSV ngaysinh nam diachi lop SV0011 Trần T. Bình 1/4/1981 0 21 T. Q. B IT4 SV0025 Ng. Đ. Trung 3/2/1980 1 56 Đ. C. V IT5 SV0067 Trần M. Quế 26/3/1982 0 45 H. B. T IT6 SV0034 Ng. T. Phương 29/2/1980 0 86 L. T. N IT7 malop lop khoa GVCN loptruong IT4 Tin 4 CNTT Ng. V. Anh Trần T. Bình IT5 Tin 5 CNTT Lê A. Văn Ng. Đ. Trung IT6 Tin 6 CNTT Ng. T. Thảo Trần M. Quế IT7 Tin 7 CNTT Ng. V. Quý Ng. T. Phương maMH tenmon soHT CNTT01 Nhập môn CSDL 4 CNTT02 Truyền DL và mạng 4 CNTT03 Phân tích và thiết kế hệ thống 4 HTTT01 Quản lý dự án 3 MON_HOC LOP SINH_VIEN 27 Nhắc lại: Các bước xây dựng một CSDL 28 Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết) Mô tả DL logic với 1 mô hình DL cụ thể (vd: Sơ đồ quan hệ) Mô tả ứng dụng 1: PHÂN TÍCH 2: THIẾT KẾ Cài đặt với 1 hệ quản trị CSDL (vd: ORACLE) 3: CÀI ĐẶT Biến đổi các tập thực thể B1: 1 tập thực thể -> 1 quan hệ –  thuộc tính → thuộc tính (trường), –  1 thực thể → 1 bộ –  khoá của tập thực thể → khoá của quan hệ, 29 • sv1 • sv2 • sv3 86 L. T. N 45 H. B. T 56 Đ. C. V 21 T. Q. B diachi IT7 IT6 IT5 IT4 malop 0 29/2/1980 Ng. T. Phương SV0034 0 26/3/1982 Trần M. Quế SV0067 1 3/2/1980 Ng. Đ. Trung SV0025 0 1/4/1981 Trần T. Bình SV0011 nam ngaysinh tenSV maSV SINH_VIEN • sv1 • sv2 • sv3 • sv4 maSV tenSV ngaysinh nam diachi malop sinh_viên Biến đổi các tập thực thể (2) B2: 1 tập thực thể xác định từ tập thực thể khác (E) qua 1 liên kết ! 1quan hệ chứa khoá cuả E LOPTRUONG(maSV) 30 sinh_viên lop_truong la_mot 14/07/14 6 Biến đổi các liên kết B3: Liên kết 1-1 ! Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm trong khóa của các thực thể có liên quan CHU_NHIEM_LOP(malop,maGV) " KHONG DUOC hoặc ! Dùng khoá ngoài LOP_HOC(malop,lop,khoa,maGV) 31 lop_hoc giao_vien chu_nhiem 1 1 malop lop khoa maSV ngaysinh trinhdo khoa Biến đổi các liên kết (2) B4: Liên kết 1-n !  Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm trong khóa của các thực thể có liên quan SINHVIEN_LOP(malop,maSV) hoặc !  Dùng khoá ngoài: thêm khoá chính của quan hệ bên 1 vào quan hệ bên n làm khoá ngoài SINH_VIEN(maSV,tenSV,ngaysinh,nam, diachi, malop) 32 lop_hoc sinh_vien gom 1 n malop lop khoa maSV tenSV ngaysinh nam diachi Biến đổi các liên kết (3) B5: Liên kết n-n ! Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm trong khóa của các thực thể có liên quan và các thuộc tính của liên kết DANG_KY(maSV,maMH, diem) 33 sinh_viên mon_hoc dang_ky n m maSV tenSV ngaysinh nam diachi maMH ten soHT diem Thuộc tính đa trị B6: Với mỗi thuộc tính đa trị ! Thêm 1 quan hệ mới xác định bởi thuộc tính đa trị và khoá của tập thực thể tương ứng MH_GV(maMH,giao_vien) 34 mon_hoc maMH tenmon soHT giao_vien Bài tập •  Biến đổi sơ đồ thực thể/liên kết → sơ đồ quan hệ 35 Kết luận •  Mô hình thực thể-liên kết cho phép biểu diễn dữ liệu gần với nhận thức của con người •  Mô hình quan hệ –  Cho phép biểu diễn logic dữ liệu –  dễ ánh xạ sang cấu trúc lưu trữ vật lý –  Dựa trên nền tảng toán học cho phép tối ưu hoá các truy xuất dữ liệu 36 “More than 90% of current database applications are built on relational database systems which utilise relational model as its underlying data model” * * R. Elmasri and S. Navathe. Fundamentals of Database Systems 14/07/14 7 Các điểm cần lưu ý •  Khái niệm chung về mô hình dữ liệu •  Mô hình thực thể - liên kết •  Mô hình dữ liệu quan hệ •  Các bước xây dựng một CSDL •  Biến đổi từ sơ đồ thực thể - liên kết sang lược đồ quan hệ 37 Tài liệu tham khảo •  Entity-Relationship Modeling: Historical Events, Future Trends, and Lessons Learned •  Fundamentals of Database Systems (6th Edition) 38 39 Vài nét về lịch sử •  Mô hình dữ liệu mạng: –  Được đề xuất và cài đặt đầu tiên trong hệ thống IDS (1964/1965). –  Được phát triển bởi CODASYL (1971). Sau đó tiếp tục được sử dụng rổng rãi trong các hệ thống IDMS (Cullinet), DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital Equipment Corp.). •  Mô hình dữ liệu phân cấp: –  Được đề xuất và cài đặt bởi IBM và North American Rockwell (1965). –  Sử dụng rộng rãi trong các hệ thống ÍMS, ngoài ra con được sử dụng trong System 2k (SAS inc.). –  Là một mô hình khá phổ biến. •  Mô hình quan hệ: –  Được đề xuất bởi E.F. Codd (IBM-1970) –  Thương mại hoá năm1981/1982 trong System R. –  Hiện được sử dụng trong rất nhiều các phần mềm thương mại như DB2, ORACLE, SQL Server, SYBASE, INFORMIX, 40 Vài nét về lịch sử (2) •  (Các) Mô hình dữ liệu hướng đối tượng: –  Ngôn ngữ lập trình hướng đối tượng như C++ (trong OBJECTSTORE hay VERSANT), Smalltalk (trong GEMSTONE). –  Các hệ thống như O 2, ORION (MCC - ITASCA), IRIS (at H.P used in Open OODB). •  (Các) Mô hình đối tượng-quan hệ (mô hình quan hệ mở rộng): –  Sự kết hợp giữa mô hình hướng đối tượng và mô hình quan hệ –  Được phát triển gần đây và được thương mại hoá trong các hệ thống Informix Universal Server, Oracle-10i, DB2, and SQL Server, •  (Các) mô hình dữ liệu bán cấu trúc –  Được đề xuất năm 1997/1998 bởi nhóm nghiên cứu tại ĐH Standford –  Chưa được chuẩn hoá và không được thực sự thương mại hoá trên danh nghiă (các hệ thương mại hoá được găn với XML) 41 Clasification •  Object-Based Logical Models 1. The Entity-Relationship Model 2. The Binary Data Model 3. The Semantic Data Model 4. The Info-logical Data Model •  Record-Based Logical Data Models 1. The Relational Data Model 2. The Network Data Model 3. The Hierarchical Data Model •  Physical Data Models 1. Unifying Model 2. Frame Memory 42 14/07/14 8 Các khái niệm cơ bản (5) •  Phụ thuộc hàm –  R(A 1 ,A 2 , … A n ); X, Y ⊂ {A i }. Nếu ∃ f: X#Y: X xác định hàm Y hay Y phụ thuộc hàm vào X •  Ràng buộc toàn vẹn –  Một quy tắc định nghĩa trên một hay nhiều quan hệ do môi trường ứng dụng quy định để đảm bảo tính nhất quán của dữ liệu trong CSDL 43 Categories of Data Models% •  High-level, conceptual data models% –  Close to the way users perceive data % •  Low-level, physical data models% –  How data is stored on the computer storage media% •  In-between: representational (logic) data models% –  Models used in DBMS% 44

Ngày đăng: 12/10/2014, 16:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan