Mô hình quan hệ (Relational model) docx

32 318 0
Mô hình quan hệ (Relational model) docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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  hình quan hệ 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ó quan hệ với nhau  So sánh với 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 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 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 quan hệ  Số cột của bảng: bậc (degree) của quan hệ  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 đồ quan hệ 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)  Quan hệ 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 quan hệ cũng tương tự như với thực thể trong 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 quan hệ  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 quan hệ 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 quan hệ 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 quan hệ r1 có chứa khoá chính K của quan hệ 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 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 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Sơ đồ CSDL  Một hình quan hệ 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ể  quan hệ  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 quan hệ là các quan hệ 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 quan hệ 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 quan hệ 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 quan hệ được định nghĩa thông qua phép hợp: r←r∪E trong đó r là quan hệ được thay đổi, E là quan hệ đượ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 quan hệ đượ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ì quan hệ đượ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 quan hệ và phép rename (đổi tên)   Các phép toán quan hệ 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

Ngày đăng: 28/06/2014, 05:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan