Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
412,48 KB
Nội dung
Các mơ hình liệu Vũ Tuyết Trinh trinhvt@it-hut.edu.vn Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội Mơ hình liệu “A data model is a plan for building a database”* { Mơ hình liệu gồm [Codd, 1980] z z z Một tập hợp cấu trúc liệu Một tập phép toán để thao tác với liệu Một tập ràng buộc 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 * http://www.computerworld.com/databasetopics/data/story/0,10801,80205,00.html SinhVienZone.com https://fb.com/sinhvienzonevn Vài nét lịch sử Mơ hình quan hệ Mơ hình phân cấp System SystemR(81), R(81),DB2, DB2, ORACLE, ORACLE,SQL SQL Server, Server,Sybase, Sybase, IMS, IMS, System System2k, 2k, 1965 Mơ hình quan hệ mở rộng 1970 1975 1980 1985 Mơ hình Thực thể-liên kết Mơ hình mạng DB2, DB2, ORACLE-10i, ORACLE-10i, SQL SQLServer Server XML dbXML,natix, dbXML,natix, Tamino, Tamino, 1990 1995 2000 2005 2010 O2, O2,ORION, ORION, IRIS, IRIS, IRDS(87), IRDS(87), CDD+, CDD+, Mơ hình DMS(65), DMS(65), CODASYL CODASYL(71), (71), IDMS, IDMS,IDS IDS hướng đối tượng Mơ hình bán cấu trúc Lore Lore(97), (97), Một vài mơ hình 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ể - liên kết Mơ hình hướng đối tượng Mơ hình bán cấu trúc Mơ hình liệu XML SinhVienZone.com https://fb.com/sinhvienzonevn Đặt vấn đề { { { Đặc điểm mơ hình liệu? Sự khác mơ hình liệu? Các mơ hình liệu phổ biến ngày Mơ hình liệu phân cấp (Hierarchical data model) { Sự đời z { Biểu diễn: z z z { Khoảng năm 60-65 Quan hệ cha/con Mỗi nút có cha CSDL = tập Các khái niệm z z { Bản ghi Móc nối Các phép tốn: GET, GET UNIQUE, GET NEXT, GET NEXT WITHIN PARENT, SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ giao_vien lop sinh_vien mon_hoc mon_hoc diem_thi Nhận xét { Ưu điểm { { { { Dễ xây dựng thao tác Tương thích với lĩnh vực tổ chức phân cấp (vd: tổ chức nhân đơn vị, ) Ngôn ngữ thao tác đơn giản (duyệt cây) Nhược điểm { Sự lặp lại kiểu ghi → dư thừa liệu liệu khơng qn ¾ { Giải pháp: ghi ảo Hạn chế biểu diễn ngữ nghĩa móc nối ghi (chỉ cho phép quan hệ 1-n) SinhVienZone.com https://fb.com/sinhvienzonevn Mơ hình liệu mạng (Network data model) { Sự đời z { { sử dụng phổ biến từ năm 60, định nghĩa lại vào năm 1971 Biểu diễn: đồ thị có hướng Các khái niệm z Tập ghi (record) { { z Móc nối (link) { { { z Kiểu ghi (record type) Các trường (field) Tên móc nối chủ (owner) – thành viên (member): theo hướng 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 Ví dụ giao_vien giang_day lop hoc co_diem gom sinh_vien mon_hoc co diem_thi 10 SinhVienZone.com https://fb.com/sinhvienzonevn Nhận xét { Ưu điểm { { { { Đơn giản Có thể biểu diễn ngữ nghĩa đa dạng với kiểu ghi kiểu móc nối Truy vấn thơng qua phép duyệt đồ thị (navigation) Nhược điểm { { Số lượng trỏ lớn Hạn chế biểu diễn ngữ nghĩa móc nối ghi 11 Mơ hình liệu quan hệ (Relational data model) { Sự đời z { { vào năm 1970[Codd, 1970] Biểu diễn: dạng bảng Các khái niệm z Thuộc tính: tính chất riêng biệt đối tượng { { z z z z Tên Kiểu, miền giá trị Quan hệ: định nghĩa tập thuộc tính Bộ giá trị: thơng tin đối tượng thuộc quan hệ Khoá: Các phép toán: hợp, giao, tích đề-các, lựa chọn, chiếu, kết nối, 12 SinhVienZone.com https://fb.com/sinhvienzonevn MON_HOC Ví dụ maMH tenmon soHT CNTT01 Nhập môn CSDL CNTT02 Truyền DL mạng CNTT03 Phân tích thiết kế hệ thống HTTT01 Quản lý dự án LOP malop lop khoa GVCN loptruong IT4 Tin CNTT Ng V Anh Trần T Bình IT5 Tin CNTT Lê A Văn Ng Đ Trung IT6 Tin CNTT Ng T Thảo Trần M Quế IT7 Tin CNTT Ng V Quý Ng T Phương SINH_VIEN maSV tenSV ngaysinh nam diachi lop SV0011 Trần T Bình 1/4/1981 21 T Q B IT4 SV0025 Ng Đ Trung 3/2/1980 56 Đ C V IT5 SV0067 Trần M Quế 26/3/1982 45 H B T IT6 SV0034 Ng T Phương 29/2/1980 86 L T N IT7 13 Nhận xét { Ưu điểm z z { Dựa lý thuyết tập hợp Khả tối ưu hoá xử lý phong phú Nhược điểm z z Hạn chế biểu diễn ngữ nghĩa Cấu trúc liệu không linh hoạt 14 SinhVienZone.com https://fb.com/sinhvienzonevn Mô hình liệu thực thể - liên kết (Entity-Relational data model) { Sự đời z z { { Xuất phát từ nhu cầu mơ hình hố ngữ nghĩa liệu phát triển phần mềm đề xuất 1975 [Chen, 1976] [Chen, 2002] Biểu diễn: sơ đồ thực thể - liên kết Các khái niệm z z o o Thực thể: đối tượng giới thực Thuộc tính: đặc tính tập thực thể Khoá:xác định thực thể Liên kết: mối liên hệ có nghĩa nhiều thực thể o o Mỗi liên kết có thuộc tính 1-1, 1-n, n-m, đệ quy 15 Ví dụ maMH diem_thi tenmon soHT mon_hoc chuong_trinh maSV tenSV ngaysinh sinh_viên lop gom nam loptruong diachi malop SinhVienZone.com lop khoa https://fb.com/sinhvienzonevn GVCN 16 Nhận xét { Ưu điểm z z { dễ dàng biểu diễn mà người nhận thức từ giới thực Biểu diễn ngữ nghĩa phong phú thực thể quan hệ thực thể Nhược điểm z Không dễ dàng ánh xạ vào cấu trúc lưu trữ máy tính 17 Mơ hình liệu hướng đối tượng (Object-oriented data model) { Sự đời z { { Khoảng đầu năm 90 Biễu diễn: sơ đồ lớp Các khái niệm z z z Đối tượng: đối tượng giới thực, xác định định danh Thuộc tính: biểu diễn đặc tính đối tượng, Phương thức : thao tác thực đối tượng { z Tất truy nhập vào thuộc tính đối tượng phải thực thông qua phương thức Lớp: cách thức để khai báo tập đối tượng có chung tập thuộc tính phương thức 18 SinhVienZone.com https://fb.com/sinhvienzonevn 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); 19 Nhận xét { Ưu điểm z z { Cho phép định nghĩa kiểu đối tượng phức tạp Tính chất: bao đóng (encapsulation), kế thừa (heritage), đa hình (polymorphism) Nhược điểm z z Cấu trúc lưu trữ phức tạp sử dụng nhiều trỏ Khả tối ưu hoá xử lý bị hạn chế nhiều trường hợp 20 SinhVienZone.com https://fb.com/sinhvienzonevn 10 Mơ hình hố liệu với mơ hình thực thể - liên kết Đặc điểm { Thích hợp để mơ hình hố liệu cho CSDL z z z Gần gũi với nhận thức người → dễ sử dụng dễ chuyển đổi sang mơ hình quan hệ Dựa khái niệm { { { o o { { Thực thể: đối tượng giới thực Tập thực thể: thực thể có tính chất Thuộc tính: đặc tính tập thực thể Khoá:xác định thực thể Liên kết: mối liên hệ có nghĩa nhiều thực thể Tập liên kết: tập hơpự liên kết kiểu Được biểu diễn sơ đồ thực thể - liên kết 26 SinhVienZone.com https://fb.com/sinhvienzonevn 13 Thực thể thuộc tính { Thực thể: đối tượng giới thực { Tập thực thể: gồm thực thể có tính chất giống { Thuộc tính: đặc tính tập thực thể z z sinh_viên Miền giá trị ~ tập giá trị Khoá ~ xác định thực thể •sv1 •sv2 •sv3 maSV diachi tenSV nam ngaysinh 27 Kiểu thuộc tính { tenSV = ‘‘Trần T Bình’’ tenSV = ‘‘Ng Đ Trung’’ Thuộc tính đơn giản (thuộc tính nguyên tố) z có kiểu liệu nguyên tố sinh_viên { Thuộc tính phức z có kiểu phức, định nghĩa thuộc tính khác nam tenSV maSV ngaysinh so_pho quan diachi thanh_pho 28 SinhVienZone.com https://fb.com/sinhvienzonevn 14 Kiểu thuộc tính (2) { maMH Thuộc tính đa giá trị z tương ứng với thực thể, nhận nhiều giá trị tenmon mon_hoc soHT giao_vien { Thuộc tính suy diễn z sinh_viên tính tốn từ (các) thuộc tính khác tenSV tuoi maSV ngaysinh nam diachi 29 Liên kết { { Đ/n: kết hợp số thực thể Thuộc tính maSV maMH tenSV ngaysinh tenmon sinh_viên mon_hoc diem_thi soHT nam diachi ket_qua 30 SinhVienZone.com https://fb.com/sinhvienzonevn 15 Ràng buộc kết nối { { { { 1-1: Liên kết thực thể tập thực thể với nhiều thực thể tập thực thể khác 1-n: Liên kết thực thể tập thực thể với nhiều thực thể tập thực thể khác n-m: Liên kết thực thể tập thực thể với nhiều thực thể tập thực thể khác ngược lại đệ quy: Liên kết thực thể kiểu lop_hoc lop_hoc sinh_viên chu_nhiem 1 gom n dang_ky giao_vien m m sinh_vien mon_hoc mon_hoc dieu_kien 31 Lập sơ đồ thực thể - liên kết { { B1: Xác định thực thể B2: Xác định liên kết thực thể z z Bậc liên kết Ràng buộc (1-1, 1-n, n-m, đệ quy) 32 SinhVienZone.com https://fb.com/sinhvienzonevn 16 Bài tập { Bài tốn: phân tích thiết kế CSDL gồm thơng tin cơng ty (nhân viên, phòng ban, dự án z z z z Công ty tổ chức phòng ban Mỗi phòng ban có tên nhất, số người quản lý (thời điểm bắt đầu công tác quản lý người lưu lại CSDL) Mỗi phòng ban có nhiều trụ sở làm việc khác Mỗi phòng điều phối số dự án Mỗi dự án có tên mã số nhất, thực địa điểm Các thông tin nhân viên cần quan tâm 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 làm việc phòng ban tham gia nhiều dự án khác Những dự án điều phối phòng ban khác Thơng tin số làm việc dự án (theo tuần) người quản lý trực tiếp nhân viên lưu trữ Thông tin nhân viên: tên, giới tính, ngày sinh 33 34 SinhVienZone.com https://fb.com/sinhvienzonevn 17 Mơ hình liệu quan hệ Đặc điểm { { { Dựa 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 z z { Thuật ngữ tốn học: quan hệ, thuộc tính Thuật ngữ hướng liệu: bảng, ghi trường Được biểu diễn lược đồ quan hệ 36 SinhVienZone.com https://fb.com/sinhvienzonevn 18 Thuộc tính - trường { Đ/n: tính chất riêng biệt đối tượng cần lưu trữ CSDL để phục vụ cho việc khai thác liệu đối tượng { Tên thuộc tính: { Kiểu liệu, miền giá trị (Dom(A)) z z z z Ký hiệu: A maSV, tenSV,ngaysinh,nam,diachi,lop text, number, boolean, date/time, memo maSV: text(10) tenSV: text(30) ngaysinh: date nam: boolean 37 Quan hệ - bảng { { Đ/n: xác định tập thuộc tính Ai Ký hiệu: R(A1,A2, … An) { R(A1,A2, … An) ⊆ SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop) LOP(malop,ten,khoa) Dom(A1) x … x Dom(An) { Tân từ: quy tắc để xác định mối quan hệ thuộc tính Ai ∀lop ∈ SINH_VIEN[lop], ∃malop ∈ LOP[malop]: lop = malop 38 SinhVienZone.com https://fb.com/sinhvienzonevn 19 Bộ - ghi { { { Đ/n: thông tin đối tượng thuộc quan hệ Ký hiệu t(a1,a2, … an) t(a1,a2, … an) ∈ Dom(A1) x … x Dom(An) SV0011 Trần T Bình 1/4/1981 21 T Q B IT4 SV0025 Ng Đ Trung 3/2/1980 56 Đ C V IT5 SV0067 Trần M Quế 26/3/1982 45 H B T IT6 SV0034 Ng T Phương 29/2/1980 86 L T N IT7 39 Lược đồ quan hệ { Lược đồ quan hệ (S): trừu tượng hoá quan hệ mức độ cấu trúc bảng chiều z z S = {Ri} SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop) LOP(malop,lop, khoa, GVCN, loptruong) MON_HOC(maMH,tenmon,soHT) { Thể quan hệ: tập hợp giá trị quan hệ R vào thời điểm 40 SinhVienZone.com https://fb.com/sinhvienzonevn 20 Khoá { Đ/n z z Cho R(A1,A2, … An), K ⊆ {Ai}, K khoá với ∀t1, t2 ∈R, ∃Ai ∈K: t1.K≠t2.K SINH_VIEN (maSV,tenSV,ngaysinh,nam, diachi,lop) { T/c: z K ⊆ K’ ⊆ {Ai} khoá ⇒ K’ khoá SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop) SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop) 41 Phân loại khoá { Khoá tối thiểu z z { Cho R(A1,A2, … An), K ⊆ {Ai}, K khoá tối thiểu K khoá !∃K’ ⊆ K mà K’ khoá SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,malop) Khoá z z Cho R(A1,A2, … An), R’(A’1,A’2, … A’m), K ⊆ {Ai}, K khố ngồi R tham chiếu đến quan hệ R’ K khố R’ LOP(malop,lop, khoa, GVCN, loptruong) 42 SinhVienZone.com https://fb.com/sinhvienzonevn 21 Biến đổi: Sơ đồ thực thể - liên kết → Sơ đồ quan hệ { { { { Biến đổi tập thực thể Biến đổi liên kết Các khoá sơ đồ quan hệ Các sơ đồ quan hệ với khoá chung 43 Biến đổi tập thực thể B1: tập thực thể ¾ quan hệ, z z z thuộc tính → thuộc tính (trường), thực thể → khoá tập thực thể → khoá quan hệ, sinh_viên maSV tenSV ngaysinh nam diachi malop SINH_VIEN •sv1 •sv2 •sv3 •sv4 SinhVienZone.com ngaysinh nam diachi malop 1/4/1981 21 T Q B IT4 3/2/1980 56 Đ C V IT5 SV0067 tenSV •sv1 Trần T Bình •sv2 Ng Đ Trung •sv3 Trần M Quế 26/3/1982 45 H B T IT6 SV0034 Ng T Phương 29/2/1980 86 L T N IT7 maSV SV0011 SV0025 https://fb.com/sinhvienzonevn 44 22 Biến đổi tập thực thể (2) B2: tập thực thể xác định từ tập thực thể khác (E) qua liên kết sinh_viên ¾ lop_truong la_mot 1quan hệ chứa khoá cuả E LOPTRUONG(maSV) 45 Biến đổi liên kết B3: Liên kết 1-1 lop maSV malop lop_hoc chu_nhiem ngaysinh giao_vien khoa ¾ trinhdo khoa Dùng khố ngồi LOP_HOC(malop,lop,khoa,maGV) 46 SinhVienZone.com https://fb.com/sinhvienzonevn 23 Biến đổi liên kết (2) maSV B4: Liên kết 1-n malop lop tenSV lop_hoc ngaysinh n nam sinh_vien gom khoa ¾ diachi Dùng khố ngồi: thêm khố quan hệ bên vào quan hệ bên n làm khố ngồi SINH_VIEN(maSV,tenSV,ngaysinh,nam, diachi, malop) 47 Biến đổi liên kết (3) B5: Liên kết n-n maSV tenSV ngaysinh sinh_viên n diem dang_ky maMH m mon_hoc nam ten soHT diachi ¾ Thêm quan hệ xác định thuộc tính nằm khóa thực thể có liên quan thuộc tính liên kết DANG_KY(maSV,maMH, diem) 48 SinhVienZone.com https://fb.com/sinhvienzonevn 24 Thuộc tính đa trị maMH tenmon mon_hoc soHT giao_vien B6: Với thuộc tính đa trị ¾ Thêm quan hệ xác định thuộc tính đa trị khố tập thực thể tương ứng MH_GV(maMH,giao_vien) 49 Bài tập { Biến đổi sơ đồ thực thể/liên kết → sơ đồ quan hệ 50 SinhVienZone.com https://fb.com/sinhvienzonevn 25 51 Kết luận { Điểm khác mơ hình liệu z z z { { khả biểu diễn liệu mặt ngữ nghĩa khả biểu diễn truy vấn liệu hiểu cài đặt máy tính Mơ hình thực thể-liên kết cho phép biểu diễn liệu gần với nhận thức người Mơ hình quan hệ z z z Cho phép biểu diễn logic liệu dễ ánh xạ sang cấu trúc lưu trữ vật lý Dựa tảng toán học cho phép tối ưu hoá truy xuất liệu “More than 90% of current database applications are built on relational database systems which utilise relational model as its underlying data model”* * SinhVienZone.com R Elmasri and S Navathe Fundamentals of Database Systems https://fb.com/sinhvienzonevn 52 26 Các điểm cần lưu ý { Khái niệm chung mơ hình liệu { Các mơ hình liệu { Mơ hình thực thể - liên kết { Mơ hình liệu quan hệ { Các bước xây dựng CSDL { Biến đổi từ sơ đồ thực thể - liên kết sang lược đồ quan hệ 53 54 SinhVienZone.com https://fb.com/sinhvienzonevn 27 ... Mơ hình quan hệ Mơ hình thực thể - liên kết Mơ hình hướng đối tượng Mơ hình bán cấu trúc Mơ hình liệu XML SinhVienZone. com https://fb .com/ sinhvienzonevn Đặt vấn đề { { { Đặc điểm mơ hình liệu? ... model”* * SinhVienZone. com R Elmasri and S Navathe Fundamentals of Database Systems https://fb .com/ sinhvienzonevn 52 26 Các điểm cần lưu ý { Khái niệm chung mơ hình liệu { Các mơ hình liệu { Mơ hình. .. https://fb .com/ sinhvienzonevn 11 Biến đổi mơ hình liệu { Yêu cầu z z { Chuyển sơ đồ liệu từ mơ hình liệu sang mơ hình khác Đảm bảo tính « tương đương » sơ đồ liệu nguồn đích Các biến đổi tương đương mơ hình