Các mô hình dữ liệu

  1. 1
    Các mô hình dữ liệu Vũ Tuyết Trinh [email protected] Bộ môn Các mạng lưới hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa TP. Hà Nội 2 Mô hình dữ liệu Mô hình dữ liệu gồm [ Codd, 1980 ] Một tập hợp các cấu trúc của dữ liệu Một tập các phép toán để thao tác với các dữ liệu Một tập các ràng buộc về dữ liệu 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 người tiêu dùng “ A data Mã Sản Phẩm is a plan for building a database ” * * http://www.computerworld.com/databasetopics/data/story/0,10801,80205,00.html
  2. 2
    3
    Vài nét về lịch sử vẻ vang 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 người tiêu dùng Mô hình quan hệ lan rộng ra Mô hình bán cấu trúc DMS ( 65 ), CODASYL ( 71 ), IDMS, IDS DMS ( 65 ), CODASYL ( 71 ), IDMS, IDS IMS, System 2 k, … IMS, System 2 k, … System R ( 81 ), DB2, ORACLE, SQL Server, Sybase, … System R ( 81 ), DB2, ORACLE, SQL Server, Sybase, … O2, ORION, IRIS, … O2, ORION, IRIS, … DB2, ORACLE-10i, SQL Server … DB2, ORACLE-10i, SQL Server … Lore ( 97 ), … Lore ( 97 ), … XML dbXML, natix, Tamino, … dbXML, natix, Tamino, … Mô hình Thực thể-liên kết IRDS ( 87 ), CDD +, … IRDS ( 87 ), CDD +, … 4 Một vài mô hình dữ liệu Mô hình phân cấp Mô hình mạng Mô hình quan hệ Mô hình thực thể – link Mô hình hướng đối tượng người tiêu dùng Mô hình bán cấu trúc Mô hình dữ liệu của XML
  3. 3
    5
    Đặt vấn đề
    Đặc điểm của các mô hình dữ liệu ? Sự khác nhau giữa các mô hình dữ liệu ? Các mô hình dữ liệu phổ cập ngày này 6 Mô hình dữ liệu phân cấp ( Hierarchical data Mã Sản Phẩm ) Sự sinh ra Khoảng năm 60-65 Biểu diễn : bằng cây Quan hệ cha / con Mỗi nút có một cha duy nhất 1 CSDL = tập các cây Các khái niệm cơ bản Bản ghi Móc nối Các phép toán : GET, GET UNIQUE, GET NEXT, GET NEXT WITHIN PARENT, …
  4. 4
    7
    Ví dụ
    lop
    sinh_vien
    giao_vien
    diem_thi
    mon_hoc mon_hoc
    8
    Nhận

    xét
    Ưu điểm
    Dễ xây dựng và thao tác
    Tương thích với các lĩnh vực tổ chức phân cấp (vd:
    tổ chức nhân sự trong các đơn vị, …)
    Ngôn ngữ thao tác đơn giản (duyệt cây)
    Nhược điểm
    Sự lặp lại của các kiểu bản ghi → dư thừa dữ liệu và
    dữ liệu không nhất quán
    Giải pháp: bản ghi ảo
    Hạn chế trong biểu diễn ngữ nghĩa của các móc nối
    giữa các bản ghi (chỉ cho phép quan hệ 1-n)

    Bạn đang đọc: Các mô hình dữ liệu

  5. 5
    9
    Mô hình dữ liệu mạng ( Network data Mã Sản Phẩm ) Sự sinh ra sử dụng phổ cập từ những năm 60, được định nghĩa lại vào năm 1971 Biểu diễn : bằng đồ thị có hướng Các khái niệm cơ bản Tập bản ghi ( record ) Kiểu bản ghi ( record type ) Các trường ( field ) Móc nối ( link ) Tên của móc nối chủ ( owner ) – thành viên ( thành viên ) : theo hướng của móc nối Kiểu móc nối : 1-1, 1 – n, đệ quy Các phép toán Duyệt : FIND, FIND member, FIND owner, FIND NEXT Thủ tục : GET 10 Ví dụ lop sinh_vien gom giao_vien diem_thico mon_hoc giang_day co_diem hoc
  6. 6
    11
    Nhận xét
    Ưu điểm
    Đơn giản Có thể trình diễn các ngữ nghĩa phong phú với kiểu bản ghi và kiểu móc nối Truy vấn trải qua phép duyệt đồ thị ( navigation ) Nhược điểm Số lượng các con trỏ lớn Hạn chế trong trình diễn ngữ nghĩa của các móc nối giữa các bản ghi 12 Mô hình dữ liệu quan hệ ( Relational data Mã Sản Phẩm ) Sự sinh ra vào năm 1970 [ Codd, 1970 ] Biểu diễn : dưới dạng bảng Các khái niệm cơ bản Thuộc tính : một đặc thù riêng không liên quan gì đến nhau của một đối tượng người dùng Tên Kiểu, miền giá trị Quan hệ : được định nghĩa trên một tập các thuộc tính Bộ giá trị : các thông tin của một đối tượng người dùng thuộc quan hệ Khóa : Các phép toán : hợp, giao, tích đề-các, lựa chọn, chiếu, liên kết, …
  7. 7
    13
    Ví dụ
    86 L. T. N 45 H. B. T 56 Đ. C. V 21 T. Q. B diachi IT7 IT6 IT5 IT4 lop 029 / 2/1980 Ng. T. PhươngSV0034 026 / 3/1982 Trần M. QuếSV0067 13/2/1980 Ng. Đ. TrungSV0025 01/4/1981 Trần T. BìnhSV0011 namngaysinhtenSVmaSV Ng. T. Phương Trần M. Quế Ng. Đ. Trung Trần T. Bình loptruong Ng. V. QuýCNTTTin 7IT7 Ng. T. ThảoCNTTTin 6IT6 Lê A. VănCNTTTin 5IT5 Ng. V. AnhCNTTTin 4IT4 GVCNkhoalopmalop 3Q uản lý dự ánHTTT01 4P hân tích và phong cách thiết kế hệ thốngCNTT03 4T ruyền DL và mạngCNTT02 4N hập môn CSDLCNTT01 soHTtenmonmaMH MON_HOC LOP SINH_VIEN 14 Nhận xét Ưu điểm Dựa trên kim chỉ nan tập hợp Khả năng tối ưu hóa các giải quyết và xử lý nhiều mẫu mã Nhược điểm Hạn chế trong trình diễn ngữ nghĩa Cấu trúc dữ liệu không linh động
  8. 8
    15
    Mô hình dữ liệu thực thể – link ( Entity-Relational data Mã Sản Phẩm ) Sự sinh ra Xuất phát từ nhu yếu mô hình hóa ngữ nghĩa dữ liệu và tăng trưởng ứng dụng đề xuất kiến nghị 1975 [ Chen, 1976 ] [ Chen, 2002 ] Biểu diễn : bằng sơ đồ thực thể – link Các khái niệm cơ bản Thực thể : một đối tượng người dùng trong quốc tế thực Thuộc tính : một đặc tính của một tập thực thể o Khóa : xác lập sự duy nhất của 1 thực thể o Liên kết : mối liên hệ có nghĩa giữa nhiều thực thể o Mỗi link hoàn toàn có thể có các thuộc tính o 1-1, 1 – n, n-m, đệ quy 16 Ví dụ sinh_viên lop mon_hoc gom diem_thi chuong_trinh maSV tenSV ngaysinh nam diachi malop lop khoa GVCN loptruong maMH tenmon soHT
  9. 9
    17
    Nhận xét
    Ưu điểm
    dễ dàng màn biểu diễn cái mà con người nhận thức từ quốc tế thực Biểu diễn ngữ nghĩa nhiều mẫu mã của các thực thể và quan hệ giữa các thực thể Nhược điểm Không thuận tiện ánh xạ vào những cấu trúc tàng trữ trên máy tính 18 Mô hình dữ liệu hướng đối tượng người tiêu dùng ( Object-oriented data Model ) Sự sinh ra Khoảng đầu những năm 90 Biễu diễn : sơ đồ lớp Các khái niệm cơ bản Đối tượng : một đối tượng người dùng trong quốc tế thực, được xác lập bởi một định danh duy nhất Thuộc tính : màn biểu diễn một đặc tính của đối tượng người tiêu dùng, Phương thức : thao tác được thực thi trên đối tượng người tiêu dùng. Tất cả các truy nhập vào thuộc tính của đối tượng người dùng đều phải được triển khai trải qua các phương pháp này. Lớp : một phương pháp để khai báo một tập các đối tượng người tiêu dùng có chung một tập thuộc tính và phương pháp
  10. 10
    19
    Ví dụ
    class sinh_vien { string maSV ; string tenSV ; date ngaysinh ; boolean nam ; string diachi ; string lop ; string ten ( ) ; string ngay_sinh ( ) ; string dia_chi ( ) ; string lop ( ) ; void gan_DC ( string DC_moi ) ; void gan_lop ( string lop ) ; } 20 Nhận xét Ưu điểm Cho phép định nghĩa kiểu đối tượng người tiêu dùng phức tạp Tính chất : bao đóng ( encapsulation ), thừa kế ( heritage ), đa hình ( polymorphism ) Nhược điểm Cấu trúc tàng trữ phức tạp và hoàn toàn có thể sử dụng nhiều con trỏ Khả năng tối ưu hóa các giải quyết và xử lý bị hạn chế trong nhiều trường hợp
  11. 11
    21
    So sánh và nhìn nhận Mô hình HĐT Mô hình TT – LK Mô hình quan hệ Mô hình phân cấp Mô hình mạng hiệu suất cao của truy vấn năng lực truy vấn tàng trữ DL trình diễn ngữ nghĩa DL Nhắc lại : Mô hình dữ liệu là một tập hợp các khái niệm dùng để miêu tả cấu trúc của một CSDL 22 Phân loại các mô hình Phân cấp Mạng Quan hệ Thực thể-liên kết ngữ nghĩa Đối tượng – Quan hệ Hướng đối tượng người tiêu dùng Thế hệ 1 Thế hệ 2 Thế hệ 3 Các mô hình dựa trên bản ghi Các mô hình dựa trên đối tượng người dùng
  12. 12
    23
    Biến đổi giữa các mô hình dữ liệu Yêu cầu Chuyển một sơ đồ dữ liệu từ một mô hình dữ liệu sang một mô hình khác Đảm bảo tính « tương tự » của sơ đồ dữ liệu nguồn và đích Các biến hóa tương tự giữa các mô hình Thực thể / link – mạng Thực thể / link – hướng đối tượng người dùng Quan hệ – hướng đối tượng người tiêu dùng 24 Các bước thiết kế xây dựng một CSDL Mô hình hóa DL ( vd : Sơ đồ thực thể-liên kết ) Mô tả DL logic với 1 mô hình DL đơn cử ( 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
  13. 13
    Mô hình hoá dữ liệu với mô hình thực thể – link 26 Đặc điểm Thích hợp để mô hình hóa dữ liệu cho CSDL Gần gũi với nhận thức của con người → dễ sử dụng dễ quy đổi sang mô hình quan hệ Dựa trên các khái niệm chính Thực thể : một đối tượng người tiêu dùng trong quốc tế thực Tập thực thể : các thực thể có cùng các đặc thù Thuộc tính : một đặc tính của một tập thực thể o Khóa : xác lập sự duy nhất của 1 thực thể o Liên kết : mối liên hệ có nghĩa giữa nhiều thực thể Tập link : tập hơpự các link cùng kiểu Được trình diễn bởi sơ đồ thực thể – link
  14. 14
    27
    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ể
    •sv1
    •sv2
    •sv3
    sinh_viên
    maSV
    tenSV
    ngaysinh
    nam
    diachi
    28
    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’’
    tenSV = ‘‘Ng. Đ. Trung’’
    sinh_viên
    maSV
    tenSV
    ngaysinh
    nam
    diachi
    so_pho quan thanh_pho

  15. 15
    29
    Kiểu thuộc tính ( 2 ) Thuộc tính đa giá trị tương ứng với mỗi thực thể, hoàn toàn có thể nhận nhiều giá trị Thuộc tính suy diễn hoàn toàn có thể giám sát được từ ( các ) thuộc tính khác mon_hoc maMH tenmon soHT giao_vien sinh_viên maSV tenSV ngaysinh nam diachi tuoi 30 Liên kết Đ / n : là sự tích hợp giữa một số ít thực thể Thuộc tính sinh_viên mon_hocdiem_thi maMH tenmon soHT maSV tenSV ngaysinh nam diachi ket_qua
  16. 16
    31
    Ràng buộc của liên kết 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 sinh_viên mon_hocdang_ky n m lop_hoc sinh_viengom 1 m mon_hoc dieu_kien lop_hoc giao_vienchu_nhiem 1 1 32 Lập sơ đồ thực thể – link B1 : Xác định các thực thể B2 : Xác định các link giữa các thực thể Bậc của link Ràng buộc ( 1-1, 1 – n, n-m, đệ quy )
  17. 17
    33
    Bài tập
    Bài toán: nghiên cứu và phân tích và phong cách thiết kế 1 CSDL gồm các thông tin trong 1 công ty ( nhân viên cấp dưới, phòng ban, dự án Bất Động Sản Công ty được tổ chức triển khai bởi các phòng ban. Mỗi phòng ban có 1 tên duy nhất, 1 số duy nhất và 1 người quản trị ( thời gian khởi đầu công tác làm việc quản trị của người này cũng được lưu lại trong CSDL ). Mỗi phòng ban hoàn toàn có thể có nhiều trụ sở thao tác khác nhau Mỗi phòng điều phối một số ít dự án Bất Động Sản. Mỗi dự án Bất Động Sản có 1 tên và 1 mã số duy nhất, thực thi tại một khu vực duy nhất Các thông tin về nhân viên cấp dưới cần được chăm sóc gồm : tên, số bảo hiểm, địa chỉ, lương, giới tính, ngày sinh. Mỗi nhân viên cấp dưới thao tác tại một phòng ban nhưng hoàn toàn có thể tham gia nhiều dự án Bất Động Sản khác nhau. Những dự án Bất Động Sản này hoàn toàn có thể được điều phối bởi các phòng ban khác nhau. Thông tin về số giờ thao tác trong từng dự án Bất Động Sản ( theo tuần ) cũng như người quản trị trực tiếp của các nhân viên cấp dưới cũng được tàng trữ tin tức về con cháu của từng nhân viên cấp dưới : tên, giới tính, ngày sinh 34
  18. 18
    Mô hình dữ liệu quan hệ 36 Đặc điểm Dựa trên triết lý tập hợp thuận tiện ánh xạ đến cấu trúc tàng 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 màn biểu diễn bởi lược đồ quan hệ
  19. 19
    37
    Thuộc tính – trường Đ / n : là một đặc thù riêng không liên quan gì đến nhau của một đối tượng người tiêu dùng cần được tàng trữ trong CSDL để Giao hàng cho việc khai thác dữ liệu về đối tượng người dù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 … 38 Quan hệ – bảng Đ / n : được xác lập trên một tập các thuộc tính Ai Ký hiệu : R ( A1, A2, … An ) R ( A1, A2, … An ) ⊆ Dom ( A1 ) x … x Dom ( An ) Tân từ : quy tắc để xác lập mối quan hệ giữa các thuộc tính Ai SINH_VIEN ( maSV, tenSV, ngaysinh, nam, diachi, lop ) LOP ( malop, ten, khoa ) ∀ lop ∈ SINH_VIEN [ lop ], ∃ malop ∈ LOP [ malop ] : lop = malop
  20. 20
    39
    Bộ – bản ghi Đ / n : các thông tin của một đối tượng người dùng thuộc quan hệ Ký hiệu t ( a1, a2, … an ) t ( a1, a2, … an ) ∈ Dom ( A1 ) x … x Dom ( An ) 86 L. T. N 45 H. B. T 56 Đ. C. V 21 T. Q. B IT7 IT6 IT5 IT4 029 / 2/1980 Ng. T. PhươngSV0034 026 / 3/1982 Trần M. QuếSV0067 13/2/1980 Ng. Đ. TrungSV0025 01/4/1981 Trần T. BìnhSV0011 40 Lược đồ quan hệ Lược đồ quan hệ ( S ) : là sự trừu tượng hóa của quan hệ ở mức độ cấu trúc của một bảng 2 chiều S = { Ri } 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 gian
  21. 21
    41
    Khoá
    Đ/n
    Cho R(A1,A2, … An ), K ⊆ { Ai }, K là khóa nếu với ∀ t1, t2 ∈ R, ∃ Ai ∈ K : t1. K ≠ t2. K SINH_VIEN ( maSV, tenSV, ngaysinh, nam, diachi, lop ) T / c : K ⊆ K ’ ⊆ { Ai } là khóa ⇒ K ’ cũng là khóa SINH_VIEN ( maSV, tenSV, ngaysinh, nam, diachi, lop ) SINH_VIEN ( maSV, tenSV, ngaysinh, nam, diachi, lop ) 42 Phân loại khóa Khóa tối thiểu Cho R ( A1, A2, … An ), K ⊆ { Ai }, K là khóa tối thiểu nếu K là khóa và ! ∃ K ’ ⊆ K mà K ’ là khóa Khóa ngoài Cho R ( A1, A2, … An ), R ’ ( A ’ 1, A ’ 2, … A’m ), K ⊆ { Ai }, K là khóa ngoài của R tham chiếu đến quan hệ R ’ nếu K là khóa chính của R ’ SINH_VIEN ( maSV, tenSV, ngaysinh, nam, diachi, malop ) LOP ( malop, lop, khoa, GVCN, loptruong )
  22. 22
    43
    Biến đổi: Sơ đồ thực thể – link → Sơ đồ quan hệ Biến đổi tập các thực thể Biến đổi các link Các khóa của các sơ đồ quan hệ Các sơ đồ quan hệ với khóa chung 44 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ộ khóa của tập thực thể → khóa của quan hệ, • sv1 • sv2 • sv3 86 L. T. N 45 H. B. T 56 Đ. C. V 21 T. Q. B diachi IT7 IT6 IT5 IT4 malop 029 / 2/1980 Ng. T. PhươngSV0034 026 / 3/1982 Trần M. QuếSV0067 13/2/1980 Ng. Đ. TrungSV0025 01/4/1981 Trần T. BìnhSV0011 namngaysinhtenSVmaSV SINH_VIEN • sv1 • sv2 • sv3 • sv4 maSV tenSV ngaysinh nam diachi malop sinh_viên
  23. 23
    45
    Biến đổi các tập thực thể ( 2 ) B2 : 1 tập thực thể xác lập từ tập thực thể khác ( E ) qua 1 link 1 quan hệ chứa khóa của E LOPTRUONG ( maSV ) sinh_viên lop_truongla_mot 46 Biến đổi các link B3 : Liên kết 1-1 Dùng khóa ngoài LOP_HOC ( malop, lop, khoa, maGV ) lop_hoc giao_vienchu_nhiem 1 1 malop lop khoa maSV ngaysinh trinhdo khoa
  24. 24
    47
    Biến đổi các

    liên kết (2)
    B4: Liên kết 1-n
    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)
    lop_hoc sinh_viengom
    1
    n
    malop
    lop
    khoa
    maSV
    tenSV
    ngaysinh
    nam
    diachi
    48
    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)
    sinh_viên mon_hocdang_ky
    n m
    maSV
    tenSV
    ngaysinh
    nam
    diachi
    maMH
    ten
    soHT
    diem

  25. 25
    49
    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 lập bởi thuộc tính đa trị và khóa của tập thực thể tương ứng MH_GV ( maMH, giao_vien ) mon_hoc maMH tenmon soHT giao_vien 50 Bài tập Biến đổi sơ đồ thực thể / link → sơ đồ quan hệ
  26. 26
    51
    52
    Kết luận
    Điểm khác nhau của các mô hình dữ liệu năng lực trình diễn dữ liệu về mặt ngữ nghĩa năng lực màn biểu diễn truy vấn dữ liệu hiểu quả của thiết lập trong máy tính Mô hình thực thể-liên kết được cho phép màn 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 màn biểu diễn logic dữ liệu dễ ánh xạ sang cấu trúc tàng trữ vật lý Dựa trên nền tảng toán học được cho phép tối ưu hóa các truy xuất dữ liệu “ More than 90 % of current database applications are built on relational database systems which utilise relational Model as its underlying data Mã Sản Phẩm ” * * R. Elmasri and S. Navathe. Fundamentals of Database Systems

  27. 27
    53
    Các điểm cần quan tâm Khái niệm chung về mô hình dữ liệu Các mô hình dữ liệu Mô hình thực thể – link Mô hình dữ liệu quan hệ Các bước kiến thiết xây dựng một CSDL Biến đổi từ sơ đồ thực thể – link sang lược đồ quan hệ 54
Các mô hình dữ liệu

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay