Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
347,84 KB
Nội dung
Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 1 11 1 Chơng 4 mô hình cơ sở dữ liệu quan hệ Mô hình dữ liệu quan hệ (relational model) do E.F. Codd (công ty IBM) đề xuất năm 1970, và đợc Codd và các nhà nghiên cứu khác tiếp tục phát triển. Đây là mô hình đợc cài đặt nhiều nhất hiện nay. Mô hình dữ liệu quan hệ biểu diễn dữ liệu dới dạng bảng hay quan hệ. Mô hình quan hệ đợc xây dựng trên nền tảng Đại số quan hệ, vì thế nó có cơ sở toán học vững chắc. Mô hình dữ liệu quan hệ có ba thành phần cơ bản sau: 1) Cấu trúc dữ liệu. Dữ liệu đợc tổ chức dạng bảng (quan hệ). 2) Thao tác dữ liệu. Các phép tính mạnh (ngôn ngữ truy vấn SQL) đợc sử dụng để thao tác xử lý dữ liệu dạng quan hệ. 3) Toàn vẹn dữ liệu. Các chức năng tiện ích đảm bảo các qui tắc ràng buộc toàn vẹn dữ liệu. I. các Khái niệm cơ bản 1. Miền Miền là một tập hợp các giá trị. Ngời ta thờng dùng chữ hoa để ký hiệu miền. Ví dụ: Các tập hợp sau là các miền: - Tập các số nguyên - Tập các xâu ký tự độ dài không quá 30 ký tự - A = {0,1} 2. Tích Đề-các Tích Đề-các của các miền D 1 , D 2 , , D n (các miền có thể trùng nhau) ký hiệu là D 1 ì ìì ì D 2 ì ìì ì ì ìì ì D n , là tập hợp tất cả n-bộ (v 1 , v 2 , , v n ) thoả mãn v 1 D 1 , v 2 D 2 , , v n D n . Tức là D 1 ì ìì ì D 2 ì ìì ì ì ìì ì D n = {(v 1 , v 2 , , v n ) | v 1 D 1 , v 2 D 2 , , v n D n }. Ví dụ Cho D 1 = {0,1}, D 2 = {a,b,c}. Khi đó tích đề-các D 1 ì ìì ì D 2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}. 3. Quan hệ Quan hệ là tập con của tích đề-các của một hoặc nhiều miền. Quan hệ có thể có hữu hạn hoặc vô hạn số phần tử. Trong giáo trình này ta giả thiết rằng quan hệ có hữu hạn phần tử. Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 2 22 2 Ví dụ: Cho D 1 = {0,1}, D 2 = {a,b,c}. Tập r = {(0,a),(1,b),(1,c)} D 1 ì ìì ì D 2 , vậy r là quan hệ trên D 1 và D 2 . Ta nói quan hệ r có bậc n nếu r là tập con của tích đề-các của n miền. Mỗi phần tử của quan hệ gọi là bộ (tuple) hay bản ghi (record). Mỗi bộ của quan hệ bậc n, còn gọi là n bộ, có n thành phần. Mỗi thành phần của bộ là nguyên tố, có nghĩa không thể phân tách đợc thành các thành phần nhỏ hơn. Để trực quan ta có thể coi quan hệ nh một bảng (table) trong đó mỗi hàng là một bộ (bản ghi) và mỗi cột ứng với một thành phần. Mỗi cột của quan hệ đợc gán một tên gọi là thuộc tính. Tập hợp tất cả các tên thuộc tính của một quan hệ gọi là lợc đồ quan hệ. Lu ý rằng một quan hệ chỉ có một lợc đồ quan hệ, nhng có thể nhiều quan hệ có chung một lợc đồ. Ví dụ Quan hệ r ở ví dụ trên có thể biểu diễn dạng bảng nh sau: r D 1 D 2 0 a 1 b 1 c Nh vậy quan hệ r có các thuộc tính D 1 và D 2 và có ba bản ghi (0,a), (1,b) và (1,c). Lợc đồ quan hệ của r là {D 1 , D 2 } hoặc (D 1 , D 2 ). Các tính chất của quan hệ - Các giá trị trên cột phải cùng một miền giá trị và đơn trị: Giá trị trên giao của cột và hàng đơn trị, không chấp nhận nhiều giá trị. - Mỗi hàng là duy nhất: Không cho phép hai hàng hoàn toàn giống nhau. - Thứ tự các cột không quan trọng: Các cột có thể hoán chuyển mà không làm thay đổi ý nghĩa của quan hệ. - Thứ tự các hàng không quan trọng: Các hàng có thể hoán chuyển mà không làm thay đổi ý nghĩa của quan hệ. Ký hiệu Chúng ta thống nhất sử dụng các ký hiệu sau. Quan hệ r có các thuộc tính A 1 , A 2 , , A n đợc ký hiệu là r(A 1 , A 2 , , A n ) Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 3 33 3 Có thể dùng ký hiệu, chẳng hạn R, để chỉ một lợc đồ quan hệ với các thuộc tính A 1 , A 2 , , A n nh sau R = (A 1 , A 2 , , A n ) Cho r là quan hệ với lợc đồ quan hệ R=(A 1 , A 2 , , A n ), t là một bộ của r, S là tập con các thuộc tính của R, S R. Khi đó t(S) ký hiệu bộ các thành phần của t ứng với các thuộc tính trong tập S. Nếu A là một thuộc tính thì t(A) chính là giá trị thành phần của t ứng với thuộc tính A. Ví dụ: Cho r là quan hệ có lợc đồ (A, B, C), t = (1, a, 2) r, S = (A, C). Khi đó t(S) = (1, 2), t(B) = a 4. Cơ sở dữ liệu quan hệ Dữ liệu đợc tổ chức dới dạng các quan hệ có liên quan với nhau gọi là cơ sở dữ liệu quan hệ. Tập hợp các lợc đồ quan hệ của một cơ sở dữ liệu gọi là lợc đồ cơ sở dữ liệu quan hệ. Ví dụ Nghiên cứu một mô hình cung ứng hàng hoá ở thành phố Đà Nẵng ta có số liệu cho ở các bảng sau: - Bảng 1': Hãng cung ứng và mặt hàng Tên hãng Địa chỉ Mặt hàng Đơn giá Cty Công nghệ phẩm 21 Phan Chu Trinh Sữa 6500 Đờng 5000 Cà phê 20500 Cty Thực phẩm 40 Nguyễn Huệ Đờng 6500 Bột mì 5000 Bia 40 00 Cty Lơng thực 16 Lý Thờng Kiệt Gạo 3000 Sữa 7000 Bột mì 4500 - Bảng 2: Khách hàng Tên khách hàng Địa chỉ Số d Khách sạn Bạch Đằng 20 Bạch đằng 10 000 000 Nhà hàng Ngọc Anh 120 Trần Phú 5 000 000 Khách sạn Mỹ khê 300 Ngô quyền - 5 000 000 - Bảng 3: Hợp đồng Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 4 44 4 Số hợp đồng Tên khách hàng Mặt hàng Số lợng 001 Nhà hàng Ngọc Anh S ữa 100 002 Nhà hàng Ngọc Anh Bia 200 003 Khách sạn Bạch Đằng Cà phê 50 004 Khách sạn Bạch Đằng Bia 150 005 Khách sạn Mỹ khê Bột mì 200 006 Khách sạn Mỹ khê Gạo 300 Bảng 2 và 3 là các quan hệ bậc 3 và bậc 4. Bảng 1' cha phải là quan hệ, vì các giá trị trên cột thứ 3 cha nguyên tử. Để các bảng trên có thể tạo thành một cơ sở dữ liệu quan hệ ta biến đổi bảng 1' thành bảng 1 nh sau: - Bảng 1: Hãng cung ứng và mặt hàng Tên hãng Địa chỉ Mặt hàng Đơn giá Cty Công nghệ phẩm 21 Phan Chu Trinh Sữa 6500 Cty Công nghệ phẩm 21 Phan Chu Trinh Đờng 5000 Cty Công nghệ phẩm 21 Phan Chu Trinh Cà phê 20500 Cty Thực phẩm 40 Nguyễn Huệ Đờng 6500 Cty Thực phẩm 40 Nguyễn Huệ Bột mì 5 0 00 Cty Thực phẩm 40 Nguyễn Huệ Bia 4000 Cty Lơng thực 16 Lý Thờng Kiệt Gạo 3000 Cty Lơng thực 16 Lý Thờng Kiệt Sữa 7000 Cty Lơng thực 16 Lý Thờng Kiệt Bột mì 4500 Bảng 1, bảng 2 và bảng 3 tạo nên một cơ sở dữ liệu quan hệ. Ta đặt tên cơ sở dữ liệu quan hệ này là KháchHàng gồm 3 quan hệ cùng các lợc đồ quan hệ nh sau: CUNGUNG(Ten, DiaChi, Hang, DonGia) KHACH(Ten, DiaChi, SoDu) HOPDONG(SoHD, TenKH, Hang, SoLuong) Lu ý: Cùng một lợc đồ cơ sở dữ liệu quan hệ áp dụng nhiều lần có thể có nhiều cơ sở dữ liệu quan hệ khác nhau. Chẳng hạn, nếu áp dụng lợc đồ cơ sở dữ liệu quan hệ KháchHàng trên cho TP.Hà nội ta sẽ có cơ sở dữ liệu quan hệ khác. Ví dụ Đây là ví dụ sẽ dùng làm cơ sở dữ liệu mẫu để mô hình hoá một công ty. Các thực thể đợc mô hình hoá là: - Các nhân viên, ký hiệu EMP, viết tắt từ employee. - Các dự án, ký hiệu PROJ, viết tắt từ project. Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 5 55 5 Đối với mỗi nhân viên chúng ta muốn theo dõi các thông tin sau: - Mã số nhân viên, ký hiệu ENO, viết tắt từ employee number. - Tên nhân viên, ký hiệu ENAME, viết tắt từ employee name. - Chức danh, ký hiệu TITLE. - Lơng, ký hiệu SAL, viết tắt từ salary. - Mã số dự án, ký hiệu PNO, viết tắt từ project number. - Nhiệm vụ dự án, ký hiệu RESP, viết tắt từ responsibility. - Thời gian làm việc trong dự án, ký hiệu DUR, viết tắt từ duration. Tơng tự với mỗi dự án ta cần biết: - Mã số dự án, ký hiệu PNO, viết tắt từ project number. - Tên dự án, ký hiệu PNAME, viết tắt từ project name. - Kinh phí dự án, ký hiệu BUDGET. Các lợc đồ quan hệ (relation scheme) cho cơ sở dữ liệu này có thể định nghĩa nh sau: EMP(ENO, ENAME, TITLE, SAL, PNO, RESP, DUR) PROJ(PNO, PNAME, BUDGET) Lợc đồ của EMP có 7 thuộc tính (attribute): ENO, ENAME, TITLE, SAL, PNO, RESP, DUR. Lợc đồ của PROJ có 3 thuộc tính PNO, PNAME, BUDGET. Giá trị của ENO lấy tự miền chứa các mã số nhân viên, giả sử là D 1 , Giá trị của ENAME lấy tự miền chứa các tên nhân viên hợp lệ, giả sử là D 2 , Chú ý rằng mỗi thuộc tính của mỗi quan hệ không nhất thiết phải lấy từ các miền khác nhau. Đây là một thể hiện cơ sở dữ liệu mẫu của chúng ta gồm hai bảng nh sau: EMP ENO ENAME TITLE SAL PNO RESP DUR E1 J.Doe Elect.Eng. 40000 P1 Manager 12 E2 M.Smith Syst.Anal. 34000 P1 Analyst 24 E2 M.Smith Syst.Anal. 34000 P2 Analyst 6 E3 A.Lee Mech.Eng. 27000 P3 Consultant 10 E3 A.Lee Mech.Eng. 27000 P4 Engineer 48 E4 J.Miller Programmer 24000 P2 Programmer 18 E5 B.Casey Syst.Anal. 34000 P2 Manager 24 E6 L.Chu Elect.Eng. 40000 P4 Manager 48 E7 R.David Mech.Eng. 27000 P3 Engineer 36 E8 J.Jones Syst.Anal. 34000 P3 Manager 40 PROJ PNO PNAME BUDGET P1 Instrumentation 150000 P2 Database Development 135000 P3 CAD/CAM 250000 P4 Maintenance 310000 Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 6 66 6 Các cột của bảng tơng ứng các thuộc tính của quan hệ. Các thông tin nhập theo hàng tơng ứng với các bộ hay bản ghi. Dòng trên cùng biểu diễn lợc đồ quan hệ của bảng. Một giá trị của thuộc tính, chẳng hạn lơng của nhân viên, thời gian tham gia dự án, tại thời điểm nào đó có thể cha đợc xác định. Khi đó có nhiều cách diễn giải khác nhau nh cha đợc biết hay cha áp dụng đợc. Giá trị đặc biệt thờng đợc gọi là null. Giá trị null phải khác các giá trị trong miền thuộc tính, và cũng cần phân bịêt nó với giá trị zero (với thuộc tính kiểu số) hay giá trị rỗng (với thuộc tính kiểu ký tự). 5. Khoá a) Siêu khoá Cho lợc đồ quan hệ R=(A 1 , A 2 , , A n ) và tập con S R. Tập S gọi là siêu khoá (superkey) của lợc đồ R nếu các thuộc tính của S xác định duy nhất các bộ của mỗi quan hệ của lợc đồ R, tức là mọi quan hệ r của lợc đồ R phải thoả mãn: t 1 , t 2 r: t 1 t 2 A S: t 1 (A) t 2 (A) (t 1 (S) t 2 (S)) Lu ý rằng theo định nghĩa mỗi bộ là duy nhất nên đối với mỗi lợc đồ quan hệ, tập hợp tất cả thuộc tính là siêu khoá. Siêu khoá là cơ sở để phân biệt hai bộ khác nhau trong một quan hệ. Một lợc đồ có thể có nhiều siêu khoá. Tính chất của siêu khoá là quy luật đợc xác định trong quá trình phân tích thiết kế cơ sở dữ liệu. Ghi chú (1) Tập tất cả thuộc tính R là siêu khoá (tầm thờng). (2) S T R & S là siêu khoá T là siêu khoá Ví dụ. Trong cơ sở dữ liệu quan hệ KháchHàng - Lợc đồ CUNGUNG(Ten, DiaChi, Hang, DonGia) có các siêu khoá: S 1 = { Ten, DiaChi, Hang, DonGia } S 2 = { Ten, DiaChi, Hang } S 3 = { Ten, Hang } - Lợc đồ KHACH có các siêu khoá: S 1 = {Ten, DiaChi} S 2 = {Ten, SoDu} S 3 = {Ten} - Lợc đồ HOPDONG có các siêu khoá: S 1 = {SoHD, TenKH, Hang} S 2 = {SoHD, TenKH, SoLuong} S 3 = {SoHD, TenKH} S 4 = {SoHD} b) Khoá Tập K các thuộc tính của lợc đồ R là khoá (key) nếu K là siêu khoá cực tiểu, tức là mọi tập con thực sự của K không phải là siêu khoá. Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 7 77 7 Trờng hợp đặc biệt, nếu K là siêu khóa có một thuộc tính thì K là khóa. Các thuộc tính thuộc khoá nào đó gọi là thuộc tính khoá hay thuộc tính nguyên tố. Thuộc tính không phải thuộc tính khoá gọi là thuộc tính không khoá. Mỗi quan hệ có ít nhất một khoá. Trờng hợp có nhiều khoá thì gọi các khoá đó là khoá dự tuyển (candidate key), trong đó có một khoá là khoá chính (primary key). Trong lợc đồ quan hệ các thuộc tính khoá chính sẽ đợc gạch dới. Ví dụ: Xét cơ sở dữ liệu KHACH-HANG. - Lợc đồ CUNGUNG có khoá: K = { Ten, Hang } - Lợc đồ KHACH có khoá: K = {Ten} - Lợc đồ HOPDONG có khoá: K = {SoHD} Nh vậy, để chỉ các thuộc tính khoá chính, các lợc đồ trên sẽ đợc viết lại nh sau: CUNGUNG(Ten, DiaChi, Hang, DonGia) KHACH(Ten, DiaChi, SoDu) HOPDONG(SoHD, TenKH, Hang, SoLuong) Ví dụ: Xét cơ sở dữ liệu EMP-PROJ. - Lợc đồ PROJ có khoá là {PNO} - Lợc đồ EMP có khoá là {ENO, PNO} Nh vậy, để chỉ các thuộc tính khoá chính, các lợc đồ trên sẽ đợc viết lại nh sau: EMP(ENO, ENAME, TITLE, SAL, PNO, RESP, DUR) PROJ(PNO, PNAME, BUDGET) Ví dụ: Xét quan hệ NHANVIEN(Manv, HoTen, NgaySinh, NoiSinh, CMND) ở đây Manv (mã số nhân viên) và CMND (số chứng minh nhân dân) đều có thể là khoá. Nếu ta chọn Manv làm khoá chính, thì CMND sẽ là khoá dự tuyển. Trong trờng hợp này ta viết lại lợc đồ trên nh sau: NHANVIEN(Manv, HoTen, NgaySinh, NoiSinh, CMND) c) Khoá ngoại Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 8 88 8 Cho lợc đồ R và lợc đồ Q. Tập con H các thuộc tính của R gọi là khoá ngoại của R tham chiếu đến lợc đồ Q, nếu Q có khoá K gồm các thuộc tính (có thể dới tên khác) của H thoả mãn: Với mọi quan hệ r và q là các quan hệ của một cơ sở dữ liệu ứng với lợc đồ R và Q ta có: xr yq: x(H) = y(K) Nếu r và q là các kiểu thực thể, thì đây chính là quan hệ phụ thuộc tồn tại của kiểu thực thể r vào kiểu thực thể q. Ví dụ - Trong cơ sở dữ liệu EMP-PROJ, lợc đồ EMP có khoá ngoại PNO tham chiếu đến khoá PNO của lợc đồ PROJ. - Trong cơ sở dữ liệu KHACH-HANG, lợc đồ HOPDONG có khoá ngoại Tenkh tham chiếu đến khoá Ten của lợc đồ KHACH. Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 9 99 9 Ii. chuyển sơ đồ thực thể-quan hệ thành quan hệ Phần này sẽ trình bày phơng pháp chuyển sơ dồ thực thể quan hệ thành các quan hệ. Công việc này có hai bớc: biểu diễn thực thể và biểu diễn quan hệ. 1. Biểu diễn thực thể Mỗi kiểu thực thể trong sơ đồ thực thể quan hệ đợc chuyển thành quan hệ. Khoá chính của thực thể trở thành khoá chính của quan hệ tơng ứng. Các thuộc tính không khoá của thực thể trở thành các thuộc tính không khoá của quan hệ. Ví dụ Kiểu thực thể KHACHHANG của Công ty đồ gỗ đợc biến đổi thành quan hệ KHACHHANG có lợc đồ KHACHHANG(Makh, Ten, DiaChi, HoaHong) 2. Biểu diễn quan hệ Thủ tục chuyển đổi quan hệ giữa các thực thể thành bảng quan hệ phụ thuộc vào bậc quan hệ (một ngôi, hai ngôi, ba ngôi) và lực lợng quan hệ. a. Quan hệ hai ngôi 1 n Quan hệ hai ngôi 1n R đợc biểu diễn bằng cách thêm thuộc tính khoá của thực thể E 1 vào quan hệ biểu diễn thực thể E 2 nh là khoá ngoại của E 2 tham chiếu đến E 1 . KHACH HANG maKH TÊN ĐịA CHỉ HOA HONG E 1 E 2 R 1 n Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 10 1010 10 Ví dụ: Xét quan hệ 1n giữa KHACHHANG và HOPDONG của Công ty đồ gỗ Thực thể KHACHHANG có lợc đồ quan hệ KHACHHANG(Makh, Ten, DiaChi, HoaHong) với khoá chính là Makh. Thêm thuộc tính Makh vào quan hệ biểu diễn thực thể HOPDONG ta nhận đợc quan hệ HOPDONG với lợc đồ sau HOPDONG(MaHD, NgayHD, NgayGH, Makh) trong đó Makh là khoá ngoại tham chiếu đến KHACHHANG. Ta thấy rằng quan hệ 11 là trờng hợp riêng của quan hệ 1n. Vì vậy ta có thêm khoá chính của E 1 vào E 2 nh là khoá ngoại, hoặc khoá chính của E 2 vào E 1 nh là khoá ngoại. b. Quan hệ hai ngôi n n Quan hệ hai ngôi nn R KHACH HANG maKH TÊN ĐịA CHỉ HOA HONG Có hop dong maHD NGAY HOP DONG NGAY GIAO HANG E 1 E 2 R 1 1 E 1 E 2 R n n [...]... lập trình qua các lời gọi cơ sở dữ liệu Ngôn ngữ lập trình là ngôn ngữ cấp cao nh COBOL hoặc PL/I, các ngôn ngữ này không biết gì về các khái niệm cơ sở dữ liệu Ngôn ngữ này chỉ Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 33 Trần Quốc Chiến Cơ sở dữ liệu đợc mở rộng đơn giản với các lệnh đặc biệt gọi đến hệ thống cơ sở dữ liệu Những lệnh này là kết cấu của ngôn ngữ cơ sở dữ liệu, đợc đặt trớc bởi ký tự... của quan hệ PROJ: EMP.PNOPROJ.PNO Quan hệ EMP là quan hệ tham chiếu và quan hệ PROJ là quan hệ đợc tham chiếu, với cặp ghép: (EMP.PNO, PROJ.PNO) Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 16 Trần Quốc Chiến Cơ sở dữ liệu Qui tắc toàn vẹn tham chiếu đợc xét đến trong khi cập nhật quan hệ tham chiếu hoặc quan hệ đợc tham chiếu Ta xét các qui tắc con sau Qui tắc chèn: Không thể chèn hàng mới vào quan hệ. .. nhận thao tác cập nhật Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 18 Trần Quốc Chiến Cơ sở dữ liệu iv các ngôn ngữ dữ liệu quan hệ Các ngôn ngữ thao tác dữ liệu đợc phát triển cho mô hình quan hệ (thờng gọi là ngôn ngữ vấn tin, query language) đợc chia làm hai nhóm căn bản: Các ngôn ngữ dựa trên đại số quan hệ (relational algebra) và các ngôn ngữ dựa trên phép tính quan hệ (relational calculus) Khác... FROM ASG WHERE ASG.DUR > 40 : : $ OPEN C Do while not end C Begin $ FETCH C Thực hiện chơng trình con X trên DUR, cho ra kết quả RESULT Tạo ra một REPORT trên ENO, RESULT end Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 34 Trần Quốc Chiến Cơ sở dữ liệu bài tập 4. 01 Trình bày các khái niệm a) Miền, tích đề các, quan hệ b) Bản ghi, thuộc tính c) lợc đồ quan hệ, lợc đồ cơ sở dữ liệu quan hệ d) Siêu khóa, khóa,... với lợc đồ quan hệ R=(A1, , An) và quan hệ s với lợc đồ quan hệ S=(B1, , Bm) Cho F là biểu thức lôgic gồm các toán hạng dạng AB, trong đó A là thuộc tính của r và B là thuộc tính của s, và là một trong các toán tử so sánh (, , , ) Nối của quan hệ r và quan hệ s theo điều kiện nối F, ký hiệu r >< s F Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 22 Trần Quốc Chiến Cơ sở dữ liệu là quan hệ có lợc... bán nối bằng phép nối và chiếu Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 25 Trần Quốc Chiến Cơ sở dữ liệu r >< s = R (r >< s) F F Ưu điểm của phép bán nối là giảm số lợng các bộ cần xử lý để thực hiện nối Trong hệ cơ sở dữ liệu phân tán điều này có ý nghĩa rất quan trọng vì nó làm giảm số lợng dữ liệu cần truyền giữa các vị trí để ớc lợng câu vấn tin Ví dụ Cho quan hệ r với các thuộc tính A,B,C và s... Programmer Syst.Anal Elect.Eng Mech.Eng Syst.Anal >< EMP EMP.TITLE=PAY.TITLE TITLE SAL Elect.Eng 40 000 Chơng 4 Mô hình cơ sở dữ liệu quan hệ 340 00 Syst.Anal Mech.Eng 27000 4 26 Trần Quốc Chiến Cơ sở dữ liệu j Phép chia Cho quan hệ r với lợc đồ quan hệ R=(A1, , Am, Am+1, , An) và quan hệ s với lợc đồ quan hệ S=(A1, , Am), trong đó m < n Khi đó phép chia r ữ s là tập hợp tất cả (nm)bộ sao cho với mọi... SANPHAM Ví dụ: Xét quan hệ nn giữa SINHVIEN và MONHOC nh sau: Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 11 Trần Quốc Chiến Cơ sở dữ liệu maSV HOTEN LANTHI maMH Thi SINHVIEN NGAYSINH MONHOC TENMH SOTIET DIEM Thực thể SINHVIEN chuyển thành quan hệ SINHVIEN(Masv, HoTen, NgaySinh) Thực thể MONHOC chuyển thành quan hệ MONHOC(Mamh, Tenmh, SoTiet) Quan hệ đợc biểu diễn bằng quan hệ THI với lợc đồ... 3) Cascade: Xoá tất cả các bản ghi của quan hệ tham chiếu tham chiếu đến bản ghi bị xoá 4 Thao tác bẫy Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 17 Trần Quốc Chiến Cơ sở dữ liệu Thao tác bẫy là qui tắc yêu cầu tính hợp pháp của dữ liệu trong các tác nghiệp cập nhật nh xoá, chèn và sửa Thao tác bẫy có thể liên quan đến các thuộc tính của một quan hệ hoặc nhiều quan hệ Các ràng buộc phức tạp thờng đợc phát... NHANVIEN Chơng 4 Mô hình cơ sở dữ liệu quan hệ 4 14 Trần Quốc Chiến Cơ sở dữ liệu IIi qui tắc toàn vẹn Qui tắc toàn vẹn (integrity rule) là các ràng buộc đảm bảo trạng thái nhất quán của cơ sở dữ liệu Chúng thờng đợc diễn tả nh là các ràng buộc Ràng buộc toàn vẹn (integrity constraint) có thể thuộc loại cấu trúc hay hành vi Ràng buộc cấu trúc (structural constraint) thừa kế từ mô hình dữ liệu, theo nghĩa . Trần Quốc Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 1 11 1 Chơng 4 mô hình cơ sở dữ liệu quan hệ Mô hình dữ liệu quan hệ (relational model) do. Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 19 1919 19 iv. các ngôn ngữ dữ liệu quan hệ Các ngôn ngữ thao tác dữ liệu đợc phát triển cho mô hình quan hệ (thờng. Chiến Cơ sở dữ liệu Chơng 4. Mô hình cơ sở dữ liệu quan hệ 4 4 4 4 9 99 9 Ii. chuyển sơ đồ thực thể -quan hệ thành quan hệ Phần này sẽ trình bày phơng pháp chuyển sơ dồ thực thể quan