Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
404,03 KB
Nội dung
Mơ hình sở liệu quan hệ Mơ hình sở liệu quan hệ Bởi: Ths Phạm Hoàng Nhung Khái niệm mơ hình quan hệ Mơ hình CSDL quan hệ lần E.F.Codd tiếp sau cơng ty IBM giới thiệu vào năm 1970 Ngày nay, hầu hết tổ chức áp dụng CSDL quan hệ để quản lý liệu đơn vị Mơ hình sở liệu quan hệ Cấu trúc liệu: liệu tổ chức dạng quan hệ hay gọi bảng Thao tác liệu: sử dụng phép tốn mạnh (bằng ngơn ngữ SQL) Các thành phần mơ hình Một số khái niệm mơ hình quan hệ Mơ hình quan hệ cách thức biểu diễn liệu dạng quan hệ (các bảng) Một quan hệ bảng liệu chiều (cột dòng), mô tả thực thể Mỗi cột tương ứng với thuộc tính thực thể Mỗi dịng chứa giá trị liệu đối tượng cụ thể thuộc thực thể Một số khái niệm Lược đồ quan hệ: R(A1,…,An), R tên quan hệ, Ai thuộc tính, Ai có miền giá trị tương ứng dom(Ai) Lược đồ quan hệ sử dụng để mô tả quan hệ, bao gồm: Tên quan hệ, thuộc tính bậc quan hệ (số lượng thuộc tính) 1/15 Mơ hình sở liệu quan hệ Quan hệ Một quan hệ r R(A1, ,An), ký hiệu r(R) tập hợp n-bộ r={ t1, , tm} Trong đó: Mỗi ti =, vi ∈ dom(Ai) r(R) ⊆ dom(A1) x x dom(An) r = { (vi1,vi2, ,vin) / i=1, ,m} v11 v12 V1n v21 v22 v2n vm1 vm2 vmn A1 A2 Am Ta có Ai thuộc tính miền giá trị Ailà: D1=dom(A1), D2=dom(A2), , Dn=dom(An) • • • • Các tập (D1,D2, ,Dn) tập miền trị R n gọi bậc quan hệ r m gọi lực lượng r Quan hệ bậc quan hệ nguyên, bậc quan hệ nhị nguyên, bậc n quan hệ n nguyên.> Quan hệ EMPLOYEE tập thuộc tính R={SSN, Name, BDate, Address, Salary} quan hệ Quan hệ EMPLOYEE SSN Name BDate Address Salary 001 Đỗ Hoàng Minh 1960 Hà nội 425 t1 002 Đỗ Như Mai 1970 Hải Phòng 390 t2 Hà nội t3 003 Đặng Hồng Nam 1973 200 2/15 Mơ hình sở liệu quan hệ t1(001, ‘Đỗ Hồng Minh’, 1960, ‘Hà nội’ , 425) = t1(R) quan hệ EMPLOYEE Các tính chất quan hệ • Giá trị đưa vào cột đơn • Các giá trị cột phải thuộc miền giá trị (cùng kiểu) • Thứ tự dịng cột tuỳ ý Các ràng buộc tồn vẹn quan hệ Ràng buộc quy tắc áp đặt lên liệu đảm bảo tính tin cậyvà độ xáccủa liệu Các luật tồn vẹn thiết kế để giữ cho liệu phù hợp đắn Có kiểu ràng buộc chính: Ràng buộc miền giá trị (Domain Constraints), Ràng buộc khoá (Key Constraints), Ràng buộc thực thể (Entity Integrity Constraints), Ràng buộc toàn vẹn tham chiếu (Referential Integrity Constraints) Ràng buộc miền giá trị Là hợp kiểu liệu giá trị giới hạn mà thuộc tính nhận Thông thường việc xác định miền giá trị thuộc tính bao gồm số yêu cầu sau: Tên thuộc tính, Kiểu liệu, Độ dài liệu, khuôn dạng liệu, giá trị giới hạn cho phép, ý nghĩa, có hay khơng, có cho phép giá trị rỗng hay khơng Ràng buộc khố Khóa (Primary Key) Khóa (hoặc tập) thuộc tính đóng vai trị nguồn phụ thuộc hàm mà đích thuộc tính cịn lại R={SSN, Name, BDate, Address, Salary} SSN→ Name, BDate, Address, Salary (Nguồn)→ (Đích) Ta thấy, từ SSN ta suy tồn thuộc tính ứng Vậy SSN gọi khóa Một số gợi ý chọn khóa 3/15 Mơ hình sở liệu quan hệ • Khóa khơng nên tập hợp nhiều thuộc tính Trong trường hợp khóa có nhiều thuộc tính, thêm thuộc tính “nhân tạo” thay chúng làm khóa cho quan hệ • Nếu khóa cấu thành từ số thuộc tính, thành phần nên tránh sử dụng thuộc tính có giá trị thay đổi theo thời gian: tên địa danh, phân loại Khóa dự tuyển (Candidate Key) Trong tập hợp thuộc tính bảng, có nhiều thuộc tính dùng làm khóa Các thuộc tính gọi khóa dự tuyển Khóa dự tuyển cần thỏa mãn tính chất sau: • Xác định • Khơng dư thừa: Khi xóa thuộc tính khóa phá hủy tính xác định khóa Khóa ngoại (Foreign Key) Trong nhiều trường hợp, khóa bảng đưa sang làm thuộc tính bên bảng khác, thuộc tính gọi khóa ngoại Khóa ngoại đóng vai trị thể liên kết bảng Khóa phụ (Second Key) Đóng vai trị ta muốn xếp lại liệu bảng Ta có bảng SINHVIEN (MaSV, Hoten, GioiTinh, Diem) Muốn xếp lại danh sách sinhviên theo thứ tự a, b, c Họ tên Khi thuộc tính Hoten gọi khóa phụ Ràng buộc thực thể Mỗi lược đồ quan hệ R, phải xác định khố Khố lược đồ quan hệ gạch chân phía thuộc tính Sau danh sách lược đồ quan hệ sở liệu COMPANY sau xác định ràng buộc thực thể 4/15 Mô hình sở liệu quan hệ Lược đồ sở liệu COMPANY 5/15 Mơ hình sở liệu quan hệ Một thể sở liệu COMPANY Ràng buộc khoá ràng buộc thực thể xác định cho quan hệ 6/15 Mơ hình sở liệu quan hệ Ràng buộc toàn vẹn tham chiếu Một giá trị quan hệ tham chiếu tới giá trị tồn quan hệ khác Ràng buộc toàn vẹn tham chiếu phải xác định quan hệ: quan hệ tham chiếu (referencing relation) quan hệ tham chiếu (referenced relation) Ràng buộc toàn vẹn tham chiếu Ràng buộc tồn vẹn tham chiếu cịn gọi ràng buộc khố ngoại Thuộc tính DNo quan hệ EMPLOYEE tham chiếu tới thuộc tính DNumber quan hệ DEPARTMENT Các ràng buộc tham chiếu sở liệu COMPANY 7/15 Mơ hình sở liệu quan hệ Các phép toán CSDL quan hệ Phép toán cập nhật Phép chèn (INSERT): Là phép bổ xung thêm vào quan hệ r cho trước + Biểu diễn: INSERT(r; A1=d1,A2=d2, ,An=dn) với Ailà thuộc tính, di thuộc dom(Ai), i=1, ,n Nếu thứ tự trường cố định, biểu diễn phép chèn dạng không tường minh INSERT(r; d1,d2, , dn) Chèn thêm t4=(‘004’, ‘Hoàng Thanh Vân’,1969, ‘Hà nội’, 235) vào quan hệ EMPLOYEE(SSN, Name, BDate, Address, Salary) ta viết: INSERT(EMPLOYEE; SSN= ‘004’, Name= ‘Hoàng Thanh Vân’, BDate=1969, Address= ‘Hà nội’, Salary=235) Kết phép chèn gây số sai sót - Bộ thêm khơng phù hợp với lược đồ quan hệ cho trước - Một số giá trị số thuộc tính nằm ngồi miền giá trị thuộc tính - Giá trị khố giá trị có quan hệ lưu trữ Phép loại bỏ (DEL): Là phép xoá khỏi quan hệ cho trước - Biểu diễn : DEL(r; A1=d1,A2=d2, ,An=dn) hay DEL((r, d1,d2, , dn) Nếu K=(E1,E2, ,Em) khoá viết DEL(r; E1=e1,E2=e2, ,Em=em) + Để xố t1 khỏi quan hệ r: DEL(EMPLOYEE; SSN= ‘004’, Name= ‘Hoàng Thanh Vân’, BDate=1969, Address= ‘Hà nội’, Salary=235) + Cần loại bỏ nhân viên quan hệ EMPLOYEE mà biết SSN ‘004’ cần viết: DEL(EMPLOYEE; SSN= ‘004’) Phép cập nhật (UPDATE): Là phép tính dùng để sửa đổi số giá trị số thuộc tính + Biểu diễn : 8/15 Mơ hình sở liệu quan hệ UPD (r; A1=d1,A2=d2, ,An=dn; B1=b1,B2=b2, ,Bk=bk) Với {B1,B2, ,Bk} tập thuộc tính mà giá trị cần thay đổi {B1,B2, ,Bk} ứng với tập thuộc tính {A1,A2, ,An} Hay UPD(r; E1=e1,E2=e2, ,Em=e; B1=b1,B2=b2, ,Bk=bk) với K=(E1,E2, ,Em) khố Để thay đổi tên nhân viên có SSN= ‘003’ quan hệ EMPLOYEE thành Nguyễn Thanh Mai ta viết : CH (EMPLOYEE; SSN= ‘03’; Name= ‘Nguyễn Thanh Mai’) Phép toán đại số quan hệ Đại số quan hệ gồm tập phép toán tác động quan hệ cho kết quan hệ Có phép tốn chia làm nhóm : Nhóm phép tốn tập hợp (hợp, giao, trừ, tích đề các), nhóm phép tốn quan hệ ( chọn, chiếu, kết nối, chia) Định nghĩa : Hai quan hệ r s gọi khả hợp chúng xác định tập miền giá trị (Có nghĩa chúng xác đinh tập thuộc tinh) Phép hợp - Phép hợp hai quan hệ khả hợp r U s = {t / t thuộc r t thuộc s} Phép hợp - Phép hợp hai quan hệ phép gộp hai bảng quan hệ thành bảng bỏ trùng 9/15 Mơ hình sở liệu quan hệ Minh họa liệu phép hợp quan hệ Phép giao - Phép giao hai quan hệ khả hợp r ∩ s ={t / t thuộc r t thuộc s} Phép giao - Phép giao hai quan hệ lấy có mặt hai bảng quan hệ EMPLOYEE1 ∩ EMPLOYEE2 = 002, Thiện, P002 Phép trừ - Phép trừ hai quan hệ khả hợp r - s = {t / t thuộc r t không thuộc s} Phép trừ - Phép trừ hai quan hệ A B lấy có bảng A mà khơng có bảng B EMPLOYEE1 - EMPLOYEE2 = 001, Hồng, P001 EMPLOYEE2 - EMPLOYEE1 10/15 Mơ hình sở liệu quan hệ EMPLOYEE2 - EMPLOYEE1 Phép tích đề - Cho quan hệ r(R), R={A1,A2, ,An} quan hệ s(U), U={B1,B2, ,Bm} - Tích đề : r x s ={t=(a1,a2, ,an, b1,b2, ,bm) /a1,a2, ,an Єr b1,b2, ,bmЄs} Phép tích đề Bậc k = bậc r + bậc s , lực lượng k = lực lượng r x lực lượng s Phép tích đề phép toán đắt phép toán đại số quan hệ Phép chọn (cắt ngang) - ngơi - Là phép tốn lọc tập quan hệ cho theo biểu thức chọn F - Biểu thức chọn F tổ hợp logic toán hạng, toán hạng phép so sánh đơn giản hai thuộc tính thuộc tính giá trị - Phép toán logic: AND (và), OR (hoặc), NOT (phủ định) - Phép toán so sánh : , =, >=, bậc k Lực lượng r > lực lượng k - Phép chiếu quan hệ lấy số cột (thuộc tính) bảng quan hệ Lấy danh sách mã NV quan hệ NHANVIEN 12/15 Mơ hình sở liệu quan hệ Lấy danh sách mã NV quan hệ NHANVIEN Phép kết nối - a.Phép kết nối - Cho hai quan hệ r(R), R={A1,A2, ,An} quan hệ s(U), U={B1,B2, ,Bm} - Phép xếp cạnh nhau: cho hai d = (d1,d2, ,dn) e = (e1,e2, ,em) phép xếp cạnh d e : (d^e) = (d1,d2, ,dn, e1,e2, ,em) - Phép kết nối quan hệ r có thuộc tính A quan hệ s có thuộc tính B với phép so sánh θ : r >< s = {a^b / a thuộc r, b thuộc s a(A) θ b(B)} Xét quan hệ r s ví dụ phép tích đề Quan hệ r s ví dụ phép tích đề - Lực lượng phép kết nối k' m, s khác rỗng) Phép chia quan hệ r cho quan hệ s tập tất n-m t cho với u thuộc s (t^u) thuộc r : r ÷ s = {t / với u thuộc s (t^u) thuộc r} 14/15 Mơ hình sở liệu quan hệ Phép chia • Ví dụ với hai quan hệ : PRODUCT SUPPORT Minh họa liệu phép chia quan hệ 15/15 ... đồ quan hệ gạch chân phía thuộc tính Sau danh sách lược đồ quan hệ sở liệu COMPANY sau xác định ràng buộc thực thể 4/15 Mơ hình sở liệu quan hệ Lược đồ sở liệu COMPANY 5/15 Mơ hình sở liệu quan. .. bậc quan hệ r m gọi lực lượng r Quan hệ bậc quan hệ nguyên, bậc quan hệ nhị nguyên, bậc n quan hệ n nguyên.> Quan hệ EMPLOYEE tập thuộc tính R={SSN, Name, BDate, Address, Salary} quan hệ Quan hệ. .. Phép hợp - Phép hợp hai quan hệ phép gộp hai bảng quan hệ thành bảng bỏ trùng 9/15 Mơ hình sở liệu quan hệ Minh họa liệu phép hợp quan hệ Phép giao - Phép giao hai quan hệ khả hợp r ∩ s ={t /