Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
546,45 KB
Nội dung
Môhìnhquanhệ(Relationalmodel) 1 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu Môhìnhquanhệ sử dụng lý thuyết tập hợp và logic bậc nhất để biểu diễn dữ liệu CSDL được biểu diễn bằng một tập các bảng: Mỗi bảng là tập hợp các các bộ giá trị Mỗi cột đều có cùng một kiểu dữ liệu Mỗi hàng trong bảng là bộ các giá trị có quanhệ với nhau So sánh với môhình ER: Mỗi bảng tương ứng với một tập thực thể Mỗi cột tương ứng một thuộc tính Mỗi hàng trong bảng tương ứng với một thực thể 2 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Họ tên Tuổi Giới tính Trần Khánh Linh 25 Nam Bill Gates 50 Nam Lý Liên Kiệt 45 Nam Lưu Diệc Phi 25 Nữ Nguyễn Văn Bố 37 Nam Lê Thị Mẹ 30 Nữ … … … … … … … … … Các định nghĩa Một môhìnhquanhệ là tập hợp các quanhệ (relation) Mỗi quanhệ gồm 2 phần: Thể hiện (instance): là bảng các bộ giá trị (tuples) Lược đồ (schema): chứa tên của quan hệ, cùng với tên và kiểu từng cột của bảng VD: Book(id: integer, title: string, author: string, pub-year: integer) Số dòng của bảng: lực lượng (cardinality) của quanhệ Số cột của bảng: bậc (degree) của quanhệ VD: Lực lượng: 3 Bậc: 4 3 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội id title author pub-year 1 The call of the wild Jack London 1903 3 The universe in a nutshell Stephen Hawking 2001 4 Hồng lâu mộng Tào Tuyết Cần 1791 Định nghĩa bằng toán học Lược đồ quanhệ R là tích Đề-các các miền giá trị của các thuộc tính Đầy đủ: Book(id: int, title: string, author: string, pub-year: int) Ngắn gọn: Book(id, title, author, pub-year) Book = dom(int) × dom(string) × dom(string) × dom(int) (trong đó dom(…) ký hiệu tập giá trị của một kiểu) Quanhệ r trên R: ký hiệu bằng r(R) là một tập con của R my-books = my-books(Book) ⊂ Book Một phần tử của r gọi là một thể hiện, một hàng, hay một bộ giá trị Chú ý: người ta thường gọi tắt “quan hệ” thay cho “thể hiện của quan hệ” 4 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Khoá (key) Các khái niệm về khoá của quanhệ cũng tương tự như với thực thể trong môhình ER Siêu khoá (superkey): tập các thuộc tính mà bộ giá trị không lặp lại Nếu K là một siêu khoá thì K’ = K ∪ a cũng là một siêu khoá, với a là một thuộc tính của quanhệ Khoá ứng viên (candidate key): là siêu khoá không cố thuộc tính dư thừa (không tồn tại siêu khoá là tập con) Một quanhệ có thể có 0, 1 hoặc nhiều siêu khoá Khoá chính (primary key): là một khoá ứng viên được người thiết kế CSDL lựa chọn Mỗi quanhệ chỉ có nhiều nhất một khoá chính 5 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Ví dụ K1 = {A} không phải khoá vì các giá trị có lặp lại K2 = {A, B} là siêu khoá vì không có bộ giá trị nào lặp lại K3 = {A, B, C} là siêu khoá vì K2 là siêu khoá và K2 ⊂ K3 K2 là khoá ứng viên vì không có tập con nào của K2 là siêu khoá K3 không phải khoá ứng viên vì K2 ⊂ K3 là một siêu khoá 6 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội A B C 1 aa x 1 ab x 2 aa y 2 ab y 2 bb y 3 ab x 3 bb x 4 aa y 5 bb x Khoá ngoài (foreign key) Một quanhệ r1 có chứa khoá chính K của quanhệ r2 thì K gọi là khoá ngoài của r1 tham chiếu tới r2 Với mỗi thể hiện của r1, tồn tại ít nhất một thể hiện của r2 có giá trị của K giống ở r1 Ví dụ: o sv ⊂ SinhVien(id-sinh-vien, ten, nam-sinh) diem ⊂ Diem(id-sinh-vien, mon-hoc, diem) o id-sinh-vien là khoá ngoài của quanhệ diem tham chiếu tới quanhệ sv o mỗi giá trị của id-sinh-vien tồn tại trong quanhệ diem cũng tồn tại trong quanhệ sv 7 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Sơ đồ CSDL Một môhìnhquanhệ cũng có thể được biểu diễn dưới dạng sơ đồ 8 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Tác giả id-tác-giả: int tên: string năm-sinh: int Bài hát id-bài-hát: int tên: string id-tác-giả: int năm-sáng-tác: int id-thể-loại: int Thể loại id-thể-loại: int tên: string Ca sĩ id-ca-sĩ: int tên: string năm-sinh: int Biểu diễn id-biểu-diễn: int id-ca-sĩ: int id-bài-hát: int Đĩa nhạc id-đĩa-nhạc: int tên: string năm-phát-hành: int Chứa id-đĩa-nhạc: int id-biểu-diễn: int số-thứ-tự: int thời-gian: time Biến thực thể quanhệ Customer(cid, name, address, phone) 9 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Customer cid: int name: string address: string phone: string Thực thể yếu Book(bid, name, author, publisher, pub_date) Chapter(ch_num, bid, title) 10 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Book bid: int name: string author: string publisher: string Chapter ch_num: int bid: int title: string pub_date: date [...]... bài-hát.id-tác-giả(σtên=“Trịnh Công Sơn”(tác-giả) × bài-hát)) Kết quả các biểu thức quanhệ là các quanhệ không có tên, phép toán rename cho phép đặt tên cho kết quả một biểu thức Ký hiệu: có 2 dạng ρtên -quan- hệ( E) đặt tên cho quanhệ kết quả của biểu thức E ρtên -quan- hệ( tên các thuộc tính)(E) đặt tên cho quanhệ và các thuộc tính kết quả của biểu thức E VD: ρđồ-uống-rẻ(σgiá < 30(đồ-uống)) ρnv-cn(tên-nhân-viên,... vào một quanhệ được định nghĩa thông qua phép hợp: r←r∪E trong đó r là quanhệ được thay đổi, E là quanhệ được thêm vào 28 EE4509, EE6133 – HK2 2011/2012 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Delete (xoá) Xoá dữ liệu mới từ một quanhệ được định nghĩa thông qua phép trừ: r←r–E trong đó r là quan hệ được thay đổi, E là quan hệ được xoá bớt từ r 29 EE4509, EE6133 – HK2 2011/2012 TS Đào Trung Kiên... thể tạo một quan hệ như sau: view1 ← Πtên, tuổi(nhân-viên) và chỉ để người dùng thao tác với view1 Câu lệnh: create view v as E trong đó v là tên view được tạo ra, và E là biểu thức quan hệ Phân biệt tạo view và phép gán: với phép gán, sau khi gán xong, nếu ta cập nhật các quan hệ trong biểu thức thì quanhệ được gán không thay đổi (còn với view thì có) Chú ý: một view cũng là một quan hệ, nên có... tên -quan- hệ. tên-thuộc-tính EE4509, EE6133 – HK2 2011/2012 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biểu thức quanhệ và phép rename (đổi tên) Các phép toán quanhệ có thể được lồng nhau tạo thành biểu thức VD: Πtên, giá(σcalo . Mô hình quan hệ (Relational model) 1 EE4509, EE6133 – HK2 2011/2012 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu Mô hình quan hệ sử dụng lý thuyết tập. nghĩa Một mô hình quan hệ là tập hợp các quan hệ (relation) Mỗi quan hệ gồm 2 phần: Thể hiện (instance): là bảng các bộ giá trị (tuples) Lược đồ (schema): chứa tên của quan hệ, cùng với. o id-sinh-vien là khoá ngoài của quan hệ diem tham chiếu tới quan hệ sv o mỗi giá trị của id-sinh-vien tồn tại trong quan hệ diem cũng tồn tại trong quan hệ sv 7 EE4509, EE6133 – HK2 2011/2012