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
334,69 KB
Nội dung
Bài 3: Mô hình quan hệ (Relational model) EE4509, EE4253, EE6133 – HK1 2014/2015 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ợp logic bậc để biểu diễn liệu CSDL biểu diễn tập bảng: Mỗi bảng tập hợp giá trị Mỗi cột có kiểu liệu Mỗi hàng bảng giá trị có quan hệ với So sánh với mô hình ER: Mỗi bảng tương ứng với tập thực thể Mỗi cột tương ứng thuộc tính Mỗi hàng bảng tương ứng với thực thể 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ữ … … … … … … … … … EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Các định nghĩa Một mô hình quan hệ tập hợp quan hệ (relation) Mỗi quan hệ gồm phần: Thể (instance): bảng giá trị (tuples) Lược đồ (schema): chứa tên quan hệ, với tên kiểu cột bảng VD: Book(id: integer, title: string, author: string, pub-year: integer) Số dòng bảng: lực lượng (cardinality) quan hệ Số cột bảng: bậc (degree) quan hệ VD: id title author pub-year Lực lượng: Bậc: The call of the wild Jack London 1903 The universe in a nutshell Stephen Hawking 2001 Hồng lâu mộng Tào Tuyết Cần 1791 EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Định nghĩa toán học Lược đồ quan hệ R tích Đề-các miền giá trị 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ị kiểu) Quan hệ r R: ký hiệu r(R) tập R my-books = my-books(Book) ⊂ Book Một phần tử r gọi thể hiện, hàng, hay giá trị Chú ý: người ta thường gọi tắt “quan hệ” thay cho “thể quan hệ” EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Khoá (key) Các khái niệm khoá quan hệ tương tự với thực thể mô hình ER Siêu khoá (superkey): tập thuộc tính mà giá trị không lặp lại Nếu K siêu khoá K’ = K ∪ a siêu khoá, với a thuộc tính quan hệ Khoá ứng viên (candidate key): siêu khoá thuộc tính dư thừa (không tồn siêu khoá tập con) Một quan hệ có 0, nhiều khoá ứng viên Khoá (primary key): khoá ứng viên người thiết kế CSDL lựa chọn Mỗi quan hệ có nhiều khoá EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Ví dụ K1 = {A} khoá giá trị có lặp lại K2 = {A, B} siêu khoá giá trị lặp lại K3 = {A, B, C} siêu khoá K2 siêu khoá K2 ⊂ K3 K2 khoá ứng viên tập K2 siêu khoá K3 khoá ứng viên K2 ⊂ K3 siêu khoá A B C aa x ab x aa y ab y bb y ab x bb x aa y bb x EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Khoá (foreign key) Một quan hệ r1 có chứa khoá K quan hệ r2 K gọi khoá r1 tham chiếu tới r2 Với thể r1, tồn thể r2 có giá trị K giống r1 Ví dụ: sv ⊂ SinhVien(id-sinh-vien, ten, nam-sinh) diem ⊂ Diem(id-sinh-vien, mon-hoc, diem) o id-sinh-vien khoá quan hệ diem tham chiếu tới quan hệ sv o giá trị id-sinh-vien tồn quan hệ diem tồn quan hệ sv o EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Sơ đồ CSDL Một mô hình quan hệ biểu diễn 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 tên: string id-biểu-diễn: int id-ca-sĩ: int tên: string năm-phát-hành: int số-thứ-tự: int id-bài-hát: int năm-sinh: int thời-gian: time Bài hát id-bài-hát: int Tác giả tên: string id-tác-giả: int id-tác-giả: int tên: string năm-sáng-tác: int năm-sinh: int id-thể-loại: int Thể loại id-thể-loại: int tên: string EE4509, EE4253, EE6133 – HK1 2014/2015 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, EE4253, EE6133 – HK1 2014/2015 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 10 EE4509, EE4253, EE6133 – HK1 2014/2015 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 hai quan hệ tương thích với kết quan hệ bao gồm giá trị có mặt 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 phở 30 bún 25 cơm 40 tên 18 giá giá tên đồ-ăn ∪ đồ-uống giá phở 30 bún 25 cơm 40 cafe 30 cafe 30 nước cam 25 nước cam 25 coca 40 coca 40 EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Set-difference (trừ) – Phép set-difference nhận đầu vào hai quan hệ tương thích với nhau, trả kết giá trị quan hệ thứ mà quan hệ thứ hai Ký hiệu: r1 – r2 sản phẩm giá VD: Xoom 15 19 thực-đơn – đồ-ăn máy-tính – laptop điện-thoại – sản-phẩm-Apple sản phẩm giá Xoom 15 Galaxy Tab 13 sản phẩm giá iPhone 20 iPhone 20 Desire S 10 Macbook 30 iPad 17 iPad 17 iPod Galaxy Tab 13 Desire S 10 điện-thoại – sản-phẩm-Apple EE4509, EE4253, EE6133 – HK1 2014/2015 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 hai quan hệ, trả kết tập tất giá trị chúng id nhân nhânchiKý hiệu: r1 × r2 id chi nhánh viên viên.tên nhánh.tên VD: 123 Lê Đức Thọ Hà Nội ca-sĩ × bài-hát nhân-viên × chi-nhánh id nhân viên tên 123 Lê Đức Thọ 427 Bùi Văn Hải id chi nhánh tên Hà Nội Sài Gòn Đà Nẵng 20 123 Lê Đức Thọ Sài Gòn 123 Lê Đức Thọ Đà Nẵng 427 Bùi Văn Hải Hà Nội 427 Bùi Văn Hải Sài Gòn 427 Bùi Văn Hải Đà Nẵng nhân-viên × chi-nhánh Để tránh trùng tên, dùng ký hiệu: tên-quan-hệ.tên-thuộc-tính EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biểu thức quan hệ phép rename (đổi tên) Các phép toán quan hệ lồng tạo thành biểu thức VD: Πtên, giá(σcalo [...]... dùng ký hiệu: tên -quan- hệ.tên-thuộc-tính EE4509, EE4253, EE6133 – HK1 2014/2015 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 ... phẩm tiền … máy tính 20 … máy tính 22 … 11 máy tính 13 … σsản-phẩm = “máy tính”(hoá-đơn) máy tính 20 … điện thoại 10 … máy tính 22 … tivi … 10 tủ lạnh … 11 máy tính 13 … EE4509, EE4253, EE6133... Author bid: int aid: int name: string name: string author_id: int publisher: string pub_date: date 11 EE4509, EE4253, EE6133 – HK1 2014/2015 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết n-n