Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 2: Lý thuyết hệ quản trị cơ sở dữ liệu - Đỗ Quang Vinh

ppt 52 trang ngocly 2230
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 2: Lý thuyết hệ quản trị cơ sở dữ liệu - Đỗ Quang Vinh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_thiet_ke_va_quan_tri_co_so_du_lieu_chuong_2_ly_thu.ppt

Nội dung text: Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 2: Lý thuyết hệ quản trị cơ sở dữ liệu - Đỗ Quang Vinh

  1. LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TS. ĐỖ QUANG VINH Email: dqvinh@live.com Hà Nội - 2008 1
  2. ❖ KHÁI NIỆM DỮ LIỆU –THÔNG TIN – TRI THỨC ▪ Dữ liệu (Data) là vật liệu thô để tạo ra thông tin, còn thông tin là dữ liệu đã được thu thập và xử lý chuyển thành dạng có nghĩa. Nói cách khác dữ liệu là nguồn gốc, là vật mang thông tin, là vật liệu sản xuất ra thông tin. ✓ Dữ liệu có thể là: - Tín hiệu vật lý (physical signal): tín hiệu điện, tín hiệu sóng điện từ, tín hiệu ánh sáng, tín hiệu âm thanh, nhiệt độ, áp suất, - Các số liệu (number) là dữ liệu bằng số mà ta đã quen với tên gọi số liệu. Đó là các số liệu trong các biểu bảng tính toán, thống kê, tài chính - Các ký hiệu (symbol) như các chữ viết (character) và các ký hiệu khắc trên tre, nứa, đá, trên bia, trên vách núi của người xưa. ĐỖ QUANG VINH - HUC 2
  3. - Văn bản, chữ viết (text, character): sách báo, truyện, thông báo, thông tư, công văn - Âm thanh(sound): tiếng nói, âm nhạc, tiềng ồn - Hình ảnh (image): phim ảnh, tivi, camera, tranh vẽ - Đồ họa (graphic) ▪ Thông tin (INFORMATION) là một khái niệm trừu tượng mô tả tất cả những gì đem lại hiểu biết, nhận thức cho con người về đối tượng mình quan tâm - Thông tin tồn tại khách quan. Thông tin có thể tạo ra, phát sinh, truyền đi, lưu trữ, chọn lọc. Thông tin cũng có thể bị méo mó, sai lệch do nhiễu hay do người xuyên tạc ▪ Tri thức (Knowledge) bao gồm các sự kiện và luật dẫn, là một dạng đặc biệt của dữ liệu ĐỖ QUANG VINH - HUC 3
  4. Hình - Sơ đồ phân chia dữ liệu Số nguyên Dữ liệu dạng số Số thực Văn bản Dữ liệu Dữ liệu dạng phi số Hình ảnh Âm thanh Sự kiện Tri thức Luật dẫn ĐỖ QUANG VINH - HUC 4
  5. THÁP THÔNG TIN TRI THỨC ĐÃ ĐƯỢC TRẢI NGHIỆM (WISDOM) TRI THỨC Mức độ xử lý thông tin THÔNG TIN DỮ LIỆU ĐỖ QUANG VINH - HUC 5
  6. ▪ Phân loại tri thức Khả năng chuyển giao tri thức (transferability of knowledge) ✓ Tri thức hiện (explicit knowledge) - Tri thức về sự vật:(know-what) - Tri thức về nguyên nhân hay tri thức giải thích:(know-why) ✓ Tri thức ẩn (tacit knowledge) - Tri thức về cách làm(know-how) - Tri thức về người biết (know-who) ĐỖ QUANG VINH - HUC 6
  7. ▪ Tri thức hiện mô tả bằng văn bản, hình vẽ, âm thanh, có thể truyền bá nhanh chóng ▪ Tri thức ẩn - phong phú, đa dạng; chỉ có thể diễn tả trực tiếp bằng hành động và thao tác của chính người sở hữu nó, ví dụ như các nghệ nhân, các thợ có tay nghề cao v.v. . . - tồn tại trong bộ não của chủ nhân, không thể truyền đi xa được, chỉ có thể truyền cho người đến học bằng kiểu bắt chước hoặc "cầm tay chỉ việc” ĐỖ QUANG VINH - HUC 7
  8. SO SÁNH 2 LOẠI TRI THỨC TRI THỨC HIỆN TRI THỨC ẨN ▪ Tiếp cận lý thuyết ▪ Nhận thức ▪ Cách giải quyết vấn đề ✓ Niềm tin ▪ Tài liệu ✓ Quan niệm ▪ Cơ sở dữ liệu ✓ Trực giác ▪ Cơ sở tri thức ✓ Mô hình ▪ Kỹ thuật ✓ Ngón nghề (craft) ✓ Bí quyết (know-how) ĐỖ QUANG VINH - HUC 8
  9. R.R Nelson và P.Romer (1996) ▪ Phần cứng (hardware): Tất cả cỏc vật thể vật chất khụng phải con người ▪ Phần mềm (software): Kiến thức được điển chế hoỏ (codified) và lưu trữ bờn ngoài nóo người. ▪ Phần ướt (wetware): Tri thức lưu trữ trong “mỏy tớnh ướt” của nóo người, gồm niềm tin, kỹ năng, tài năng, ý chớ ĐỖ QUANG VINH - HUC 9
  10. ▪ Hệ thống các tệp tin cổ điển (File System) ✓ Ưu điểm – Việc xây dựng hệ thống tệp tin riêng lẻ tại từng đơn vị quản lý tốn ít thời gian bởi khối lượng dữ liệu cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư cơ sở vật chất và công sức nhiều  triển khai ứng dụng nhanh – Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng đáp ứng nhanh, kịp thời Nhược điểm – Do thông tin được tổ chức ở mỗi nơi khác nhau và phần mềm công cụ để triển khai rất khác nhau nên sự phối hợp tổ chức và khai thác là khó khăn. Cùng một dữ liệu được nhập vào tại nhiều nơi khác nhau gây ra lãng phí công sức và không gian lưu trữ trên vật tải. Sự trùng lặp dữ liệu  tình trạng không nhất quán dữ liệu. Dữ liệu được tổ chức ở nhiều nơi nên việc cập nhật làm mất tính nhất quán dữ liệu – Do hệ thống được tổ chức thành các hệ thống tệp riêng lẻ nên thiếu chia sẻ thông tin. Việc kết nối các hệ thống hay việc nâng cấp ứng dụng là rất khó khăn  Xây dựng một hệ thống thông tin đảm bảo được tính nhất quán dữ liệu, không trùng lặp dữ liệu, đáp ứng được nhu cầu khai thác đồng thời10 là thực sự cần thiết
  11. ▪ Hệ quản trị cơ sở dữ liệu DBMS ✓ Định nghĩa cơ sở dữ liệu • Định nghĩa: Cơ sở dữ liệu CSDL là một bộ sưu tập những dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một “xí nghiệp” cụ thể nào đó sử dụng (C.J.Date [1]) “Xí nghiệp” chỉ là một thuật ngữ chung tiện lợi để chỉ những hoạt động thương mại, khoa học, kỹ thuật hoặc các hoạt động khác có quy mô đủ lớn Ví dụ: trường đại học, công ty, ngân hàng, bệnh viện, cơ quan nhà nước ĐỖ QUANG VINH - HUC 11
  12. Chương CƠ SỞ DỮ LIỆU HỢP NHẤT trình ứng dụng 1 Chương trình ứng dụng 2 Chương trình ứng dụng n Các hệ thống chương trình Người sử dụng ứng dụng NSD khai thác khai thác cơ sở dữ liệu cơ sở dữ liệu Hình 1- Sơ đồ tổng quát về một hệ cơ sở dữ liệu ĐỖ QUANG VINH - HUC 12
  13. Dữ liệu tác nghiệp là các dữ liệu về hoạt động của xí nghiệp được lưu lại. Dữ liệu tác nghiệp của xí nghiệp có thể bao gồm: + Dữ liệu về sinh viên + Dữ liệu về kế hoạch đào tạo + Dữ liệu về sản phẩm + Dữ liệu về các tài khoản + Dữ liệu về người bệnh • Đặc trưng: 3 1. CSDL phải là một tập hợp các thông tin mang tính hệ thống chứ không phải là các thông tin rời rạc, không có mối quan hệ với nhau 2. Thông tin phải có cấu trúc 3. Tập hợp thông tin phải có khả năng đáp ứng các nhu cầu khai thác của nhiều NSD một cách đồng thời ĐỖ QUANG VINH - HUC 13
  14. • Ưu điểm nổi bật: 3 1. Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu 2. Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau 3. Khả năng chia sẻ thông tin cho nhiều NSD và nhiều ứng dụng khác nhau • 4 bài toán: 1. Tính chủ quyền của dữ liệu 2. Tính bảo mật và quyền khai thác thông tin của NSD 3. Tranh chấp dữ liệu 4. Đảm bảo dữ liệu khi có sự cố ĐỖ QUANG VINH - HUC 14
  15. ▪ ĐỐI TƯỢNG SỬ DỤNG CSDL ✓ Người sử dụng (NSD) CSDL không chuyên về lĩnh vực tin học và CSDL ✓ Chuyên viên tin học ✓ Người quản trị CSDL ĐỖ QUANG VINH - HUC 15
  16. ✓ Hệ quản trị cơ sở dữ liệu DBMS - Ngôn ngữ giao tiếp giữa NSD và CSDL: • Ngôn ngữ định nghĩa dữ liệu DDL (Data Definition Language) • Ngôn ngữ thao tác dữ liệu DML (Data Manipulation Language) • Ngôn ngữ truy vấn có cấu trúc SQL (Structured Query Language) • Ngôn ngữ điều khiển dữ liệu DCL (Data Control Language) • Từ điển dữ liệu (Data Dictionary) ĐỖ QUANG VINH - HUC 16
  17. - Có biện pháp bảo mật tốt khi có yêu cầu bảo mật - Cơ chế giải quyết vấn đề tranh chấp dữ liệu - Có cơ chế sao lưu và phục hồi dữ liệu - Giao diện tốt, dễ sử dụng, dễ hiểu cho những NSD - Bảo đảm tính độc lập giữa dữ liệu và chương trình ĐỖ QUANG VINH - HUC 17
  18. Chương Ngôn ngữ trình định nghĩa khai báo dữ liệu cấu trúc DDL Từ điển dữ liệu CSDL Chương Ngôn ngữ trình ứng thao tác dụng A dữ liệu DML Hình 3 - Sơ đồ tổng quát của DBMS ĐỖ QUANG VINH - HUC 18
  19. ▪ CÁC MỨC BIỂU DIỄN CSDL Theo kiến trúc ANSI-PARC (Standard Planning and Requirements Committee of the American National Standard Institute), một CSDL có 3 mức biểu diễn: ✓ Mức trong (mức vật lý - Physical) ✓ Mức quan niệm (Conception / Logical) ✓ Mức ngoài ĐỖ QUANG VINH - HUC 19
  20. a. Mức trong ▪ Là mức quan tâm đến cách tổ chức vật lý của dữ liệu được lưu trữ trên phần cứng như thế nào? Mức trong mô tả cách dùng kỹ thuật của các byte và ở cấp độ máy ▪ Vấn đề cần giải quyết là dữ liệu gì và được lưu trữ như thế nào? ở đâu (đĩa từ, băng từ, rãnh, cung từ )? cần các chỉ mục gì? việc truy xuất là tuần tự (sequential access) hay ngẫu nhiên (random access) đối với từng loại dữ liệu. ▪ Những người làm việc với CSDL là người quản trị CSDL, NSD chuyên môn. ĐỖ QUANG VINH - HUC 20
  21. b. Mức quan niệm ▪ CSDL cần phải lưu trữ bao nhiêu loại dữ liệu? đó là những dữ liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào? ▪ Từ thế giới thực các chuyên viên tin học qua quá trình khảo sát và phân tích, cùng với những người sẽ đảm nhận vai trò quản trị CSDL, sẽ xác định được những loại thông tin gì là cần thiết phải đưa vào CSDL, đồng thời mô tả rõ mối liên hệ giữa các thông tin này CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL mức vật lý, ngược lại, CSDL vật lý là sự cài đặt cụ thể của CSDL mức quan niệm ĐỖ QUANG VINH - HUC 21
  22. c. Mức ngoài ▪ Là mức của NSD và các chương trình ứng dụng ▪ Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và NSD không chuyên ▪ Mỗi NSD hay mỗi chương trình ứng dụng có thể được "nhìn" CSDL theo một góc độ khác nhau. Có thể "nhìn" thấy toàn bộ hay chỉ một phần hoặc chỉ là các thông tin tổng hợp từ CSDL hiện có. NSD hay chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc trên một phần CSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định, gọi là khung nhìn (View)  Cấu trúc CSDL vật lý (mức trong) và mức quan niệm thì chỉ có một, nhưng tại mức ngoài, mức của các chương trình ứng dụng và NSD trực tiếp CSDL thì có thể có nhiều cấu trúc ngoài tương ứng ĐỖ QUANG VINH - HUC 22
  23. Hình 2 - Kiến trúc tổng quát ANSI - PARC của một hệ cơ sở dữ liệu ĐỖ QUANG VINH - HUC 23
  24. ▪ Mô hình dữ liệu là sự trừu tượng hóa môi trường thực, là sự biểu diễn dữ liệu ở mức quan niệm ▪ 4 mô hình dữ liệu phổ biến: ✓ mô hình dữ liệu mạng ✓ mô hình dữ liệu phân cấp ✓ mô hình dữ liệu quan hệ ✓ mô hình dữ liệu thực thể - quan hệ ▪ Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational Data Model) do E.F.Codd đề xuất. Nền tảng cơ bản của nó là khái niệm lý thuyết tập hợp trên các quan hệ, tức là tập của các bộ giá trị ĐỖ QUANG VINH - HUC 24
  25. ✓ Các khái niệm cơ bản • THUỘC TÍNH (ATTRIBUTE) - 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 - Ví dụ: + Loại thực thể SINH_VIÊN có một số thuộc tính Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_khoa + Loại thực thể NGHỆ_SỸ có một số thuộc tính Mã_NS, HọTên_NS, Ngày_sinh, Quê + Loại thực thể CD_AM_NHAC có một số thuộc tính Mã_CD, Tên_CD, Ngày_PH, Loại_nhạc ĐỖ QUANG VINH - HUC 25
  26. - Đặc trưng bởi một tên gọi, kiểu giá trị và miền giá trị - Mỗi thuộc tính có thể chỉ chọn lấy những giá trị trong một tập hợp con của kiểu dữ liệu. Tập hợp các giá trị mà một thuộc tính A có thể nhận được gọi là miền giá trị (domain) của thuộc tính A và được ký hiệu là DOM(A) - Ví dụ: Sinh viên đang theo học tại trường đại học HUC thì tuổi nhiều nhất là 60 và tuổi ít nhất là 18 ĐỖ QUANG VINH - HUC 26
  27. • QUAN HỆ (RELATION) - Một quan hệ R có n ngôi được định nghĩa trên tập các thuộc tính U = {A1, A2, , An} (thứ tự của các thuộc tính là không quan trọng) và kèm theo nó là một tân từ, tức là một quy tắc để xác định mối quan hệ giữa các thuộc tính Ai và được ký hiệu là R(A1, A2, , An). Tập thuộc tính của quan hệ R đôi khi còn được ký hiệu là R+ - Với Ai là một thuộc tính có miền giá trị là DOM(Ai), như vậy, R(A1, A2, , An) là tập con của tích Đề các: DOM(A1) x DOM(A2) x x DOM(An) - Quan hệ còn được gọi bằng thuật ngữ khác là bảng (Table) ĐỖ QUANG VINH - HUC 27
  28. - Ví dụ: SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) là quan hệ 5 ngôi. Tân từ: "Mỗi sinh viên có một họ và tên, ngày sinh, quê quán, và được cấp một mã duy nhất để phân biệt với mọi sinh viên khác trong trường, sinh viên được đăng ký vào một lớp học duy nhất trong trường". ĐỖ QUANG VINH - HUC 28
  29. • BỘ GIÁ TRỊ (TUPLE) - Là các thông tin của một đối tượng thuộc quan hệ. Bộ giá trị thường được gọi là bản ghi (record) hoặc hàng của bảng (row). - Về mặt hình thức, một bộ q là một vectơ gồm n thành phần thuộc tập hợp con của tích Đề các miền giá trị của các thuộc tính và thỏa mãn tân từ đã cho của quan hệ: q=(a1, a2, , an) (DOM(A1) x (DOM(A2) x x DOM(An)) ĐỖ QUANG VINH - HUC 29
  30. - Ví dụ: 4 bộ giá trị dựa trên các thuộc tính của quan hệ SINH_VIÊN: q1 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A) q2 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A) q3 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B) q4 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B) ĐỖ QUANG VINH - HUC 30
  31. • THỂ HIỆN CỦA QUAN HỆ - Thể hiện TR (hoặc tình trạng) của quan hệ R là tập hợp các bộ giá trị của quan hệ R vào một thời điểm. - Tại những thời điểm khác nhau thì quan hệ sẽ có những thể hiện khác nhau. Thể hiện của các lược đồ quan hệ con TRi gọi là tình trạng của lược đồ CSDL C ĐỖ QUANG VINH - HUC 31
  32. - Ví dụ: Thể hiện của quan hệ MÔN_HỌC Mã_môn_học Tên_môn_học Số_ĐVHT CNTT Công nghệ thông tin 5 HTTTQL Hệ thống thông tin quản lý 2 KHQL Khoa học quản lý 4 QLVH Nhập môn Quản lý văn hóa 3 THQL Tin học quản lý 4 TOAN Toán cao cấp 3 UDCNTT Ứng dụng CNTT trong QLVH 3 ĐỖ QUANG VINH - HUC 32
  33. • KHÓA (KEY) Có nhiều cách khác nhau để định nghĩa khóa: ✓ Định nghĩa 6: Khóa của lược đồ quan hệ R định nghĩa trên tập các thuộc tính U={A1, A2, , An} là một tập con K  U thỏa mãn các tính chất sau: với  bộ giá trị q1, q2 của R đều  một thuộc tính A K sao cho q1.A q2.A.  !  2 bộ có giá trị bằng nhau trên  thuộc tính của K: q1.K q2.K  Như vậy, mỗi giá trị của khóa K phải là xác định duy nhất trên quan hệ R. Theo định nghĩa trên, nếu K'  K  U là khóa của lược đồ quan hệ R thì K cũng là khóa của R bởi vì q1.K' q2.K' thì có q1.K q2.K ĐỖ QUANG VINH - HUC 33
  34.  Như vậy, trong lược đồ quan hệ có thể có rất nhiều khóa. Việc xác định tất cả các khóa của một lược đồ quan hệ là rất khó khăn  Định nghĩa 6 là chưa chặt chẽ ✓ Định nghĩa 7: Quan hệ R định nghĩa trên tập các thuộc tính U={A1, A2, , An} K  U là khóa của quan hệ R nếu thỏa 2 điều kiện sau đây: (i) K xác định được giá trị của Aj với  j = 1, 2, , n (ii) !  K'  K mà K' có thể xác định được giá trị của Aj với  j = 1,2, , n  K là tập con nhỏ nhất mà giá trị của nó có thể xác định duy nhất một bộ giá trị của quan hệ ĐỖ QUANG VINH - HUC 34
  35. ▪ Khóa của quan hệ theo định nghĩa 7 được gọi là khóa dự bị (candidate) và là khóa nội của quan hệ ▪ K là siêu khóa của quan hệ R nếu K'  K là một khóa của quan hệ Một lược đồ quan hệ Q của quan hệ R luôn có ít nhất một siêu khóa và có thể có nhiều siêu khóa ▪ Ý nghĩa thực tế của khóa là dùng để nhận diện một bộ trong một quan hệ  Khi cần truy tìm một bộ q chỉ cần biết giá trị của thành phần khóa của q là đủ để dò tìm và hoàn toàn xác định được nó trong quan hệ ĐỖ QUANG VINH - HUC 35
  36. ▪ Trong trường hợp lược đồ quan hệ Q có nhiều khóa chỉ định, khi cài đặt trên một DBMS, NSD có thể chọn một trong số các khóa dự bị để tạo chỉ mục (index) chi phối việc truy cập đến các bộ. Khóa dự bị này được gọi là khóa chính (primary key) ▪ Các khóa còn lại gọi là các khóa tương đương  Khóa chính chỉ thật sự có ý nghĩa trong quá trình khai thác CSDL và về lý thuyết, khóa chính hoàn toàn không có vai trò gì khác so với các khóa dự bị còn lại ✓ Một số DBMS như Microsoft Access, ORACLE, DB2 có cài đặt cơ chế tự động kiểm tra tính duy nhất trên khóa chính. Nghĩa là, nếu thêm một bộ mới q2 có giá trị khóa chính trùng với giá trị khóa chính của một bộ q1 nào đó đã có trong quan hệ thì hệ thống sẽ báo lỗi và yêu cầu nhập lại một giá trị khác ĐỖ QUANG VINH - HUC 36
  37.  Qui ước: - Trong một bộ của một quan hệ các thuộc tính khóa không chứa giá trị rỗng. - Không được phép sửa đổi giá trị của thuộc tính khóa. Nếu muốn sửa đổi giá trị thuộc tính khóa của một bộ q, NSD phải hủy bỏ bộ q và sau đó, thêm mới một bộ q' với giá trị khóa đã được sửa đổi. - Các thuộc tính có tham gia vào một khóa được gọi là thuộc tính khóa. Ngược lại, các thuộc tính không tham gia vào một khóa nào gọi là thuộc tính không khóa - Ví dụ: + KHOA (Mã_khoa, Tên_khoa) + MÔN_HỌC (Mã_môn_học, Tên_môn_học, Số_ĐVHT) + SINH_VIÊN (Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_khoa) + KẾT_QUẢ_THI (Mã_SV, Mã_môn_học, Lần_thi, Ngày_thi, Điểm_thi, Ghi_chú) ĐỖ QUANG VINH - HUC 37
  38. ▪ Khóa ngoại (Foreign Key) Giả sử có hai quan hệ R và S. Một tập thuộc tính K của quan hệ R được gọi là khóa ngoại của quan hệ R nếu K là khóa nội của quan hệ S - Ví dụ: Mã_khoa trong quan hệ SINH_VIÊN là khóa ngoại vì nó là khóa nội của quan hệ KHOA ĐỖ QUANG VINH - HUC 38
  39. • PHỤ THUỘC HÀM (FUNCTIONAL DEPENDENCY) Quan hệ R được định nghĩa trên tập thuộc tính U = { A1, A2, , An} X, Y  U là 2 tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f : X → Y thì ta nói rằng X xác định hàm Y, hay Y phụ thuộc hàm vào X và ký hiệu là X → Y • RÀNG BUỘC TOÀN VẸN (INTEGRITY CONSTRAINT / RULE) - Là 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  quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL. - Mỗi RBTV được định nghĩa bằng một thuật toán trong CSDL ĐỖ QUANG VINH - HUC 39
  40. - Ví dụ: SINH_VIÊN (MA_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Quy tắc: Ngày_sinh của sinh viên phải ≥{01/01/1948} và ≤{31/12/1990} Thuật toán: sv SINH_VIÊN thì sv.Ngày_sinh≥{01/01/1948} & sv.Ngày_sinh≤{31/12/1990} ĐỖ QUANG VINH - HUC 40
  41. ✓ Các phép toán cơ bản trên các quan hệ: 3 ▪ PHÉP CHÈN THÊM MỘT BỘ MỚI VÀO QUAN HỆ Việc chèn thêm một bộ giá trị mới t vào quan hệ R (A1, A2, , An) làm cho thể hiện TR của nó tăng thêm một phần tử mới: TR = TR  t Dạng hình thức: INSERT (R; Ai1=v1, Ai2 =v2, , Aim= vm) trong đó: Ai1, Ai2, , Aim là các thuộc tính v1, v2, , vm là các giá trị thuộc DOM(Ai1), DOM(Ai2) , , DOM(Aim) tương ứng ĐỖ QUANG VINH - HUC 41
  42. - Ví dụ: Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Chèn thêm bộ q5=(TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B) vào quan hệ SINH_VIÊN bởi phép thêm như sau: INSERT(SINH_VIÊN; [Mã_SV] = ‘TV38b002’,[hotensv]=‘Hoàng Thu Trang’, [Ngày_sinh]=17/05/1987, [Quê]=Hà Nội, [Mã_lớp]= TV38B). Thể hiện TSINH_VIÊN : q1 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A) q5 = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B) q2 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A) q3 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B) q4 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B) ĐỖ QUANG VINH - HUC 42
  43. ▪ PHÉP XOÁ BỘ KHỎI QUAN HỆ Phép xoá một bộ t của quan hệ sẽ lấy đi bộ t khỏi thể hiện của quan hệ: TR = TR\ t Dạng hình thức: DELETE (R; Ai1= v1, Ai2 = v2, Aim = vm) trong đó: Aij=vj (j = 1, 2, , m) là những điều kiện thỏa một số thuộc tính của bộ t để xoá một bộ ra khỏi quan hệ ĐỖ QUANG VINH - HUC 43
  44. - Ví dụ: Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Với phép xoá như sau: DELETE (SINH_VIÊN; [Quê] = Bắc Kạn) Thì bộ q1 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A) sẽ bị xoá ra khỏi quan hệ SINH_VIÊN bởi vì có Quê là Bắc Kạn. Khi đó, thể hiện TSINH_VIêN : q2 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A) q3 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B) q4 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B) q5 = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B) ĐỖ QUANG VINH - HUC 44
  45. ▪ PHÉP CẬP NHẬT GIÁ TRỊ CỦA CÁC THUỘC TÍNH Dữ liệu của CSDL đôi khi cũng cần phải được đổi mới theo thời gian hoặc sửa lại cho đảm bảo tính chính xác hoặc nhất quán của dữ liệu. Do đó, thao tác cập nhật dữ liệu là rất cần thiết. Một số DBMS đưa ra nhiều câu lệnh khác nhau để cập nhật dữ liệu Dạng hình thức: UPDATE (R; Ai1= c1, Ai2 = c2, , Aim= cm; Ai1= v1, Ai2 = v2, , Aim= vm) trong đó: R là quan hệ cần thực hiện cập nhật, Aij = cj (j = 1, 2, , m) là điều kiện tìm kiếm bộ giá trị để cập nhật và Aij= vj (j = 1, 2, , m) là giá trị mới của bộ ĐỖ QUANG VINH - HUC 45
  46. - Ví dụ: Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Với phép cập nhật giá trị như sau: UPDATE (SINH_VIÊN;[Mã_SV]=VHDL14B015, [Quê]=Nam Định) thì giá trị của bộ q4 được cập nhật thành: q4 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Nam Định, VHDL14B) ĐỖ QUANG VINH - HUC 46
  47. ▪ Mô hình thực thể - quan hệ ER - ER (Entity Relationship Model) do P.P.Chen đề xuất - Các khái niệm chủ yếu được sử dụng trong mô hình: ✓ Loại thực thể (Entity Type): là một loại đối tượng cần quản lý trong CSDL, chẳng hạn, KHOA, LỚP_HỌC, MÔN_HỌC, GIẢNG_VIÊN, SINH_VIÊN ✓ Thực thể (Entity): là một thể hiện hoặc một đối tượng của một loại thực thể ✓ Thuộc tính của loại thực thể (Entity Attribute): là các đặc tính riêng biệt cơ bản của loại thực thể, tương tự khái niệm thuộc tính (Attribute) trong mô hình dữ liệu quan hệ ĐỖ QUANG VINH - HUC 47
  48. ✓ Khóa của loại thực thể (Entity Key) ✓ Loại mối quan hệ (Entity Relationship) ✓ Số ngôi của mối quan hệ (Relationship Degree) ✓ Thuộc tính của mối quan hệ (Relationship Attribute) ✓ Bản số của mỗi nhánh của mối quan hệ (Relationship Cardinal) ĐỖ QUANG VINH - HUC 48
  49. Hình 7 - Mô hình thực thể - quan hệ của CSDL quản lý đào tạo tại trường đại học HUC KHOA (1,n) KHOALỚP_ HỌC (1,1) GIẢNG_VIÊN (1,n) LỚP_ HỌC (1,n) (1,n) GIẢNG_DẠY SINH_VIÊNLỚP_ HỌC (1,1) (1,1) MÔN_ HỌC SINH_VIÊN (1,n) (1,n) KẾT_QUẢ_THI (1,n) ĐIỂM_THIĐIỂM_THI Thực thể Mối quan hệ ĐỖ QUANG VINH - HUC 49
  50. ▪ Thíết kế cơ sở dữ liệu: 8 bước 1. Phân tích toàn bộ yêu cầu 2. Xác định thực thể 3. Xác định mối tương quan giữa các thực thể 4. Xác định trường khoá chính 5. Xác định trường khoá ngoại 6. Thêm các trường không phải trường khoá vào bảng dữ liệu 7. Xây dựng mạng dữ liệu 8. Khai báo phạm vi của mỗi trường ĐỖ QUANG VINH - HUC 50
  51. TÀI LIỆU THAM KHẢO 1. Date C.J. (1995), An Introduction to Database Systems, 6th Edition, Addison-Wesley, Massachusetts. 2. A.J. Fabbri, A.R. Schwab (1999), Quản trị cơ sở dữ liệu, Trần Đức Quang biên dịch, Nxb Thống kê, TP. Hồ Chí Minh. 3. T.J. Toby (2002), Mô hình hóa & Thiết kế cơ sở dữ liệu, Trần Đức Quang biên dịch, Nxb Thống kê, TP. Hồ Chí Minh. 4. Nguyễn Kim Anh (2004), Nguyên lý của các hệ cơ sở dữ liệu, Nxb Đại học quốc gia Hà Nội. 5. Nguyễn Thị Ngọc Mai, Nguyễn Thị Kim Trang, Đoàn Thiện Ngân (2007), Lý thuyết cơ sở dữ liệu, 2 tập, Nxb Lao động - Xã hội, TP. Hồ Chí Minh. 6. Đỗ Trung Tuấn (2004), Cơ sở dữ liệu, Nxb Đại học quốc gia Hà Nội. 7. Nguyễn Tô Thành (1996), Giáo trình FoxPro, 2 tập, Trường Đại học Bách khoa Hà Nội. 8. Nguyễn Tuệ (2007), Nhập môn hệ cơ sở dữ liệu, Nxb Giáo dục, Hà Nội. 9. Nguyễn Văn Tâm, Nguyễn Hữu Bình (2002), Cơ sở dữ liệu quan hệ, Nxb Thống kê, TP. Hồ Chí Minh. 10. Đỗ Quang Vinh (chủ biên) (2010), Hệ quản trị cơ sở dữ liệu Microsoft Visual FoxPro và ứng dụng, xuất bản lần thứ 2, Nxb Đại học Quốc gia Hà Nội. 51
  52. TRÂN TRỌNG CÁM ƠN ! ĐỖ QUANG VINH - HUC 52