Mô hình quan hệ
lượt xem 16
download
Tham khảo bài thuyết trình 'mô hình quan hệ', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Mô hình quan hệ
- 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
- 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
- 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
- Đị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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Đại số quan hệ (Relational algebra) EE4509, EE6133 – HK2 2011/2012 14 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
CHUYỂN ĐỔI MÔ HÌNH ER SANG MÔ HÌNH QUAN HỆ
20 p | 3899 | 186
-
Lecture 07: Mô hình quan hệ thực thể (Entity Relationship Modelling)
22 p | 467 | 110
-
Mô hình quan hệ thực thể
44 p | 277 | 45
-
Bài giảng Hệ cơ sở dữ liệu - Chương 4: Mô hình quan hệ - Relational model
78 p | 93 | 13
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 4: Cơ sở dữ liệu quan hệ - đối tượng
47 p | 122 | 12
-
Bài giảng Quản trị cơ sở dữ liệu - Chương 2: Mô hình quan hệ
29 p | 167 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4, 5: Mô hình quan hệ và đại số quan hệ
68 p | 133 | 10
-
Bài giảng Các ngôn ngữ dữ liệu với mô hình quan hệ - Vũ Tuyết Trinh
45 p | 94 | 6
-
Chuyển đổi mối quan hệ phản xạ có yếu tố thời gian của mô hình Time-ER sang mô hình quan hệ
10 p | 24 | 4
-
Bài giảng Phân tích yêu cầu phần mềm: Mô hình quan hệ thực thể - Trần Văn Hoàng
25 p | 63 | 4
-
Bài giảng môn Cơ sở dữ liệu: Chương 3 - Mô hình quan hệ
0 p | 100 | 4
-
Bài giảng Cơ sở dữ liệu - Chương 7.1: Mô hình quan hệ - Các khái niệm
16 p | 4 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.2: Mô hình quan hệ - Các phép toán
25 p | 9 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.3: Mô hình quan hệ - Chuyển đổi mô hình ER thành mô hình quan hệ
23 p | 14 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.4: Mô hình quan hệ - Mã lệnh SQL để tạo bảng và tham chiếu khóa ngoài
16 p | 5 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.5: Mô hình quan hệ - SQL cơ bản
35 p | 4 | 3
-
Bài giảng Cơ sở dữ liệu - Chương 7.6: Mô hình quan hệ - Chuyển đổi mô hình ER thành mô hình quan hệ
13 p | 5 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn