intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Tran Tuananh | Ngày: | Loại File: PDF | Số trang:32

128
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mô 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 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ể...

Chủ đề:
Lưu

Nội dung Text: Mô hình quan hệ (Relational model)

  1. Mô hình quan hệ (Relational model) EE4509, EE6133 – HK2 2011/2012 1 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  2. Giới thiệu Mô hình quan hệ sử dụng lý thuyết tập  Họ tên Tuổi Giới tính hợp và logic bậc nhất để biểu diễn dữ Trần Khánh Linh 25 Nam liệu Bill Gates 50 Nam CSDL được biểu diễn bằng một tập  các bảng: Lý Liên Kiệt 45 Nam Mỗi bảng là tập hợp các các bộ giá trị Lưu Diệc Phi Nữ  25 Mỗi cột đều có cùng một kiểu dữ liệu  Nguyễn Văn Bố 37 Nam Mỗi hàng trong bảng là bộ các giá trị có  Lê Thị Mẹ Nữ 30 quan hệ 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ể EE4509, EE6133 – HK2 2011/2012 2 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  3. Các định 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 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:  id title author pub-year Lực lượng: 3  1 The call of the wild Jack London 1903 Bậc: 4  3 The universe in a nutshell Stephen Hawking 2001 Hồng lâu mộng Tào Tuyết Cần 4 1791 EE4509, EE6133 – HK2 2011/2012 3 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  4. Đị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ệ” EE4509, EE6133 – HK2 2011/2012 4 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  5. 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 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 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  EE4509, EE6133 – HK2 2011/2012 5 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  6. Ví dụ K1 = {A} không phải khoá vì các giá trị có  A B C lặp lại 1 aa x K2 = {A, B} là siêu khoá vì không có bộ giá  1 ab x trị nào lặp lại 2 aa y K3 = {A, B, C} là siêu khoá vì K2 là siêu  2 ab y khoá và K2 ⊂ K3 2 bb y 3 ab x K2 là khoá ứng viên vì không có tập con  3 bb x nào của K2 là siêu khoá 4 aa y K3 không phải khoá ứng viên vì K2 ⊂ K3 là  5 bb x một siêu khoá EE4509, EE6133 – HK2 2011/2012 6 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  7. 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ụ:  sv ⊂ SinhVien(id-sinh-vien, ten, nam-sinh) o 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 EE4509, EE6133 – HK2 2011/2012 7 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  8. Sơ đồ CSDL Một mô hình quan hệ cũng có thể được biểu diễn  dưới dạng sơ đồ Đĩa nhạc Chứa Biểu diễn Ca sĩ id-đĩa-nhạc: int id-đĩa-nhạc: int id-biểu-diễn: int id-ca-sĩ: int id-biểu-diễn: int id-ca-sĩ: int tên: string tên: string năm-phát-hành: int số-thứ-tự: int năm-sinh: int id-bài-hát: int thời-gian: time Bài hát Tác giả id-bài-hát: int id-tác-giả: int tên: string tên: string id-tác-giả: int năm-sinh: int năm-sáng-tác: int id-thể-loại: int Thể loại id-thể-loại: int tên: string EE4509, EE6133 – HK2 2011/2012 8 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  9. Biến thực thể  quan hệ Customer(cid, name, address, phone)  Customer cid: int name: string address: string phone: string EE4509, EE6133 – HK2 2011/2012 9 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  10. Thực thể yếu Book(bid, name, author, publisher, pub_date)  Chapter(ch_num, bid, title) Book Chapter bid: int ch_num: int name: string bid: int author: string title: string publisher: string pub_date: date EE4509, EE6133 – HK2 2011/2012 10 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  11. Quan hệ 1-n Book(bid, name, author_id, publisher, pub_date)  Author(aid, name) Book Author bid: int aid: int name: string name: string author_id: int publisher: string pub_date: date EE4509, EE6133 – HK2 2011/2012 11 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  12. Quan hệ n-n Sinh ra một quan hệ phụ  Student(sid, name, birthday)  Class(cid, name, room, teacher) Registration(sid, cid) Student Registration Class sid: int sid: int cid: int name: string cid: int name: string birthday: date room: string teacher: string EE4509, EE6133 – HK2 2011/2012 12 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  13. Ngôn ngữ truy vấn (query language) Để thao tác trên các quan hệ, chúng ta cần đến  ngôn ngữ truy vấn Ngôn ngữ truy vấn thường là ngôn ngữ cấp cao hơn  so với các ngôn ngữ lập trình VD: SQL  Trong phần tiếp theo, chúng ta tìm hiểu về ngôn ngữ  truy vấn ở dạng lý thuyết hình thức EE4509, EE6133 – HK2 2011/2012 13 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  14. Đại số quan hệ (Relational algebra) EE4509, EE6133 – HK2 2011/2012 14 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  15. Khái niệm Đại số quan hệ là một ngôn ngữ truy vấn dạng thủ  tục (procedural query language), là một tập hợp các phép toán: Có một hoặc hai đầu vào là các quan hệ  Đầu ra (kết quả) là một quan hệ mới  Các phép toán cơ bản: select (chọn), project (chiếu),  union (hợp), set-diffrence (trừ), Cartesian-product (tích Đề-các) và rename (đổi tên) Một số phép toán khác: set-intersection (giao),  natural-join (gộp), division (chia), assignment (gán) Được định nghĩa dựa vào các phép toán cơ bản  EE4509, EE6133 – HK2 2011/2012 15 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  16. Select (phép chọn) σ Phép select nhận đầu vào là một quan hệ, và cho  phép lựa chọn những bộ giá trị trong quan hệ đó thoả mãn một điều kiện (vị ngữ) Ký hiệu: σvị ngữ(r)  VD:  id sản phẩm tiền … σnăm-sinh
  17. Project (phép chiếu) Π Phép project nhận đầu vào là một quan hệ, và cho  phép chỉ giữ lại những thuộc tính mong muốn Ký hiệu: Πcác thuộc tính giữ lại(r)  title author The call of the wild Jack London VD:  The universe in a nutshell Stephen Hawking Πid, tên(tác-giả)  Hồng lâu mộng Tào Tuyết Cần Πsản-phẩm, tiền(hoá-đơn)  Πtitle, author(sách) id title author pub-year 1 The call of the wild Jack London 1903 3 The universe in a nutshell Stephen Hawking 2001 Hồng lâu mộng Tào Tuyết Cần 4 1791 EE4509, EE6133 – HK2 2011/2012 17 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  18. Union (phép hợp) ∪ Phép union nhận đầu vào là hai quan hệ tương thích với  nhau và kết quả là quan hệ bao gồm những bộ giá trị có mặt ở một trong hai quan hệ Ký hiệu: r1 ∪ r2  VD:  thành-phố-Mỹ ∪ thành-phố-VN  sách-văn-học ∪ sách-lịch-sử  tên món giá tên món giá phở phở 30 30 bún 25 bún 25 đồ-ăn ∪ đồ-uống cơm cơm 40 40 cafe 30 tên món giá nước cam 25 cafe 30 coca 40 nước cam 25 EE4509, EE6133 – HK2 2011/2012 18 coca 40 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  19. Set-difference (trừ) – Phép set-difference nhận đầu vào là hai quan hệ tương  thích với nhau, và trả về kết quả là những bộ giá trị trong quan hệ thứ nhất mà không có trong quan hệ thứ hai Ký hiệu: r1 – r2  sản phẩm giá VD:  Xoom 15 thực-đơn – đồ-ăn  Galaxy Tab 13 máy-tính – laptop  Desire S 10 điện-thoại – sản-phẩm-Apple  sản phẩm điện-thoại – sản-phẩm-Apple giá Xoom 15 Galaxy Tab 13 sản phẩm giá iPhone 20 iPhone 20 Desire S 10 Macbook 30 iPad 17 iPad 17 EE4509, EE6133 – HK2 2011/2012 19 iPod 5 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  20. Cartesian-product (tích Đề-các) × Phép Cartesian-product nhận đầu vào là hai quan hệ, và  trả về kết quả là tập tất cả các bộ giá trị giữa chúng Ký hiệu: r1 × r2  id nhân nhân- chi- id chi nhánh viên viên.tên nhánh.tên VD:  Lê Đức Thọ Hà Nội 123 2 ca-sĩ × bài-hát Lê Đức Thọ  123 1 Sài Gòn Lê Đức Thọ Đà Nẵng 123 3 nhân-viên × chi-nhánh  Bùi Văn Hải Hà Nội 427 2 Bùi Văn Hải 427 1 Sài Gòn id nhân viên tên Bùi Văn Hải Đà Nẵng 427 3 Lê Đức Thọ 123 Bùi Văn Hải 427 nhân-viên × chi-nhánh id chi nhánh tên Hà Nội 2 Để tránh trùng tên, dùng ký hiệu: 1 Sài Gòn tên-quan-hệ.tên-thuộc-tính Đà Nẵng 3 EE4509, EE6133 – HK2 2011/2012 20 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0