Bài tập Cơ sở dữ liệu (Tài liệu tham khảo)
lượt xem 13
download
Cuốn Cơ sở dữ liệu này tóm tắt lại cho người học những kiến thức lý thuyết như mô hình thực thể - liên hệ, mô hình cơ sở dữ liệu quan hệ, ngôn ngữ cơ sở dữ liệu SQL, thiết kế cơ sở dữ liệu. Sau mỗi phần tóm tắt lý thuyết sẽ là phần bài tập kèm theo lời giải tóm tắt để giúp các bạn sinh viên có thể nắm bắt và rèn luyện kỹ năng làm bài tập được tốt hơn. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài tập Cơ sở dữ liệu (Tài liệu tham khảo)
- Bài tập cơ sở dữ liệu Mục lục Chương 1 MÔ HÌNH THỰC THỂ - LIÊN HỆ A. TÓM TẮT LÝ THUYẾT .................................................................................. 6 1.1. Các khái niệm và kiến thức cơ bản.............................................................. 6 1.1.1. Khái niệm cơ sở dữ liệu......................................................................... 6 1.1.2. Hệ cơ sở dữ liệu ..................................................................................... 6 1.1.3. Các mức trừu tƣợng trong cơ sở dữ liệu ............................................... 6 1.1.4. Lƣợc đồ (Scheme) và Thể hiện (Instance) ............................................ 6 1.2. Mô hình thực thể liên hệ (Entity- Relationship model)............................... 7 1.2.1 Thực thể .................................................................................................. 7 1.2.2. Tập thực thể ........................................................................................... 7 1.2.3. Thuộc tính và khoá ................................................................................ 7 1.2.4. Phân cấp ISA (là một) ........................................................................... 7 1.2.5. Mối liên hệ ............................................................................................. 7 1.2.6. Thuộc tính khoá vay mƣợn .................................................................... 8 1.2.7. Sơ đồ thực thể liên hệ ............................................................................ 8 1.2.8. Tính chất hàm của mối liên hệ .............................................................. 8 1.2.9. Biểu diễn tính chất hàm trong các sơ đồ thực thể - liên hệ ................... 9 B. BÀI TẬP .......................................................................................................... 12 Chương 2 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ A. TÓM TẮT LÝ THUYẾT ................................................................................ 21 2.1. Các khái niệm cơ bản ................................................................................ 21 2.1.1. Mô hình cơ sở dữ liệu (Relation model) ............................................. 21 2.1.2. Các khái niệm quan hệ ....................................................................... 21 2.2. Biến đổi sơ đồ thực thể - liên hệ sang mô hình quan hệ ........................... 21 2.2.1. Biến đổi các tập thực thể ..................................................................... 22 2.2.2. Biến đổi mối liên hệ ............................................................................ 22 2.3. Khoá của các quan hệ ................................................................................ 22 2.4. Quan hệ có khoá chung ............................................................................. 23 2.5. Một số phép toán đại số quan hệ ............................................................... 24 Phạm Hùng Phú 3
- Bài tập cơ sở dữ liệu 2.5.1. Phép hợp .............................................................................................. 24 2.5.2. Phép giao.............................................................................................. 24 2.5.3. Phép trừ ................................................................................................ 24 2.5.4. Phép tích Đề - Các ............................................................................... 24 2.5.5. Phép chiếu (Projection )....................................................................... 25 2.5.6. Phép chọn (Selection ) ......................................................................... 25 2.5.7. Phép kết nối (Join) ............................................................................... 25 2.6. Đại số quan hệ - một ngôn ngữ vấn tin. ..................................................... 25 2.7. Tối ƣu hoá các biểu thức đại số quan hệ .................................................... 27 2.7.1. Các chiến lƣợc tối ƣu tổng quát ........................................................... 27 2.7.2. Biểu thức tƣơng đƣơng ........................................................................ 27 2.7.3. Các phép biến đổi tƣơng đƣơng của đại số quan hệ ............................ 28 B. BÀI TẬP .......................................................................................................... 37 Chương 3 NGÔN NGỮ CƠ SỞ DỮ LIỆU SQL A. TÓM TẮT LÝ THUYẾT ................................................................................. 57 3.1. Tạo bảng..................................................................................................... 57 3.1.1. Mệnh đề tạo cấu trúc của bảng có dạng tổng quát nhƣ sau: ................ 57 3.1.2. Vào dữ liệu cho bảng ........................................................................... 57 3.2 Khối SELECT ............................................................................................. 58 3.2.1. Tìm kiếm theo câu hỏi đơn giản (tìm kiếm trên một bảng) ................. 59 3.2.2. Tìm kiếm với câu hỏi phức tạp ............................................................ 65 3.3. Các mệnh đề cập nhật dữ liệu .................................................................... 70 3.3.1. Thêm bản ghi vào cuối bảng ................................................................ 70 3.3.2. Xóa bảng .............................................................................................. 70 3.4. Tạo view của ngƣời sử dụng ...................................................................... 72 3.5. Các mệnh đề về an toàn dữ liệu ................................................................. 72 3.5.1. Trao quyền truy nhập ........................................................................... 72 3.5.2. Huỷ bỏ quyền truy nhập ...................................................................... 72 B. BÀI TẬP .......................................................................................................... 73 4 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu Chương 4 THIẾT KẾ CƠ SỞ DỮ LIỆU A. TÓM TẮT LÝ THUYẾT ................................................................................ 99 4.1. Phụ thuộc hàm ........................................................................................... 99 4.1.1. Khái niệm phụ thuộc hàm ................................................................... 99 4.1.2. Hệ tiên đề cho phụ thuộc hàm ........................................................... 100 4.1.3. Bao đóng của tập thuộc tính .............................................................. 100 4.1.4. Khóa của lƣợc đồ quan hệ ................................................................. 102 4.1.5. Phủ của tập các phụ thuộc hàm ......................................................... 104 4.2. Phép tách các lƣợc đồ quan hệ ................................................................ 106 4.2.1. Khái niệm phép tách một lƣợc đồ quan hệ ....................................... 106 4.2.2. Phép tách kết nối không mất thông tin .............................................. 106 4.2.3. Phép tách bảo toàn phụ thuộc hàm .................................................... 109 4.3. Chuẩn hoá lƣợc đồ quan hệ ..................................................................... 110 4.3.1. Khái niệm lƣợc đồ đƣợc chuẩn hoá và chuẩn hoá lƣợc đồ quan hệ .. 110 4.3.2. Dạng chuẩn thứ nhất (First Normal Form, viết tắt là 1NF) .............. 110 4.3.3. Dạng chuẩn thứ hai (Second Normal Form, viết tắt là 2NF) ........... 111 4.3.4. Dạng chuẩn thứ ba (Third Normal Form, viết tắt là 3NF) ............... 111 4.3.2. Dạng chuẩn Boye-Codd (BCNF) .................................................... 114 B. BÀI TẬP ........................................................................................................ 117 4.1. Bài tập về phụ thuộc hàm ........................................................................ 117 4.2. Bài tập về phép tách lƣợc đồ quan hệ ...................................................... 194 4.3. Bài tập về chuẩn hóa sơ đồ quan hệ ........................................................ 203 4.4. Bài tập tổng hợp ...................................................................................... 213 Phạm Hùng Phú 5
- Bài tập cơ sở dữ liệu Chương 1 MÔ HÌNH THỰC THỂ - LIÊN HỆ A. TÓM TẮT LÝ THUYẾT 1.1. Các khái niệm và kiến thức cơ bản 1.1.1. Khái niệm cơ sở dữ liệu Cơ sở dữ liệu là tập hợp các thông tin có quan hệ với nhau đƣợc lƣu trữ trong máy tính theo một quy định nhất định nhằm phục vụ cho một mục đích nào đó. 1.1.2. Hệ cơ sở dữ liệu Hệ cơ sở dữ liệu là một hệ thống gồm bốn thành phần: - Cơ sở dữ liệu hợp nhất; - Những ngƣời sử dụng; - Hệ quản trị cơ sở dữ liệu; - Các thiết bị nhớ ngoài đƣợc sử dụng để lƣu trữ cơ sở dữ liệu. 1.1.3. Các mức trừu tượng trong cơ sở dữ liệu 1) Mức cơ sở dữ liệu vật lý Là tập hợp các tệp dữ liệu, các chỉ mục hoặc những cấu trúc lƣu trữ khác nhƣ heap, bảng băm (hash table), … dùng để truy xuất dữ liệu; nó mô tả dữ liệu đƣợc lƣu trữ một cách thực sự nhƣ thế nào trên các thiết bị nhớ ngoài. 2) Mức cơ sở dữ liệu khái niệm Là các mô tả những dữ liệu nào đƣợc lƣu trữ trong cơ sở dữ liệu và các mối quan hệ nào tồn tại giữa các dữ liệu này. 3) Mức cơ sở dữ liệu khung nhìn Là cách nhìn của ngƣời sử dụng đối với cơ sở dữ liệu, là một đối tƣợng tƣởng tƣợng đƣợc xây dựng từ cơ sở dữ liệu khái niệm nhƣng thực sự không tồn tại trong cơ sở dữ liệu đó. 1.1.4. Lược đồ (Scheme) và Thể hiện (Instance) 1) Lược đồ (Schem ) là bộ khung hay cấu trúc của cơ sở dữ liệu 2) Thể hiện (Instance) là dữ liệu hiện có trong cơ sở dữ liệu. 6 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu 1.2. Mô hình thực thể liên hệ (Entity- Relationship model) Là mô hình cho phép sử dụng các tên để mô tả dữ liệu - các tập thực thể thông qua các thuộc tính và mối liên hệ giữa các tập thực thể. Nó đƣợc dùng làm công cụ thiết kế lƣợc đồ cơ sở dữ liệu khái niệm. 1.2.1 Thực thể Thực thể là một sự vật tồn tại và phân biệt đƣợc, nghĩa là có thể phân biệt đƣợc thực thể này với thực thể khác. 1.2.2. Tập thực thể Một nhóm bao gồm các thực thể “tƣơng tự” tạo ra một tập thực thể. Mỗi tập thực thể đƣợc đặt bởi một tên. 1.2.3. Thuộc tính và khoá 1) Thuộc tính Các đặc tính của tập thực thể gọi là các thuộc tính. Mỗi thuộc tính của tập thực thể đƣợc đặt bởi một tên và lấy giá trị trên một miền dành cho thuộc tính đó. 2) Khóa Một hoặc một tập các thuộc tính dùng để xác định một cách duy nhất mỗi thực thể trong một tập thực thể gọi là khóa đối với tập thực thể đó. 1.2.4. Phân cấp ISA (là một) A ISA B (A là một B) nếu tập thực thể A là một loại B đặc biệt hoặc tƣơng đƣơng tập thực thể B là sự tổng quát hóa của tập thực thể A. Mục đích chính của việc khai báo mối liên hệ ISA giữa các tập thực thể A và B là A có thể kế thừa các thuộc tính của B, nhƣng A có thể có thêm những thuộc tính khác mà B không có. 1.2.5. Mối liên hệ Mối liên hệ (Relationship) R giữa các tập thực thể E1, E2, E3, ..., EK là một danh sách có thứ tự R(E1, E2, E3, ..., EK) của các tập thực thể đó. Nó là tập hợp các bộ thực thể (e1, e2, e3, ..., ek) với ei Ei và e1, e2, e3, ..., ek có quan hệ R với nhau (Một tập thực thể đặc biệt có thể xuất hiện nhiều lần trong danh sách). Phạm Hùng Phú 7
- Bài tập cơ sở dữ liệu 1.2.6. Thuộc tính khoá vay mượn Là khoá của tập thực thể A đƣợc sử dụng làm các thuộc tính của tập thực thể B; nhờ đó mà với mỗi thực thể a trong A ta xác định đƣợc các thực thể b trong B có quan hệ với a . 1.2.7. Sơ đồ thực thể liên hệ Quy ước: 1) Các hình chữ nhật biểu diễn các tập thực thể, bên trong ghi tên tập thực thể. 2) Các hình dạng tròn biểu diễn các thuộc tính, bên trong ghi tên thuộc tính. Chúng đƣợc nối với các tập thực thể bằng các cạnh (vô hƣớng). Các thuộc tính là các thành phần của một khóa cho một tập thực thể đƣợc gạch dƣới. Trƣờng hợp đặc biệt nếu một tập thực thể chỉ có một thuộc tính thì có thể gọi tập thực thể đó bằng tên thuộc tính của nó. Khi đó tập thực thể sẽ đƣợc biểu diễn là một hình dạng tròn chứ không phải là hình chữ nhật và nó đƣợc nối với các mối liên hệ mà tập đó hàm chứa. 3) Các hình thoi biểu diễn các mối liên hệ, bên trong ghi tên mối liên hệ. Chúng đƣợc nối với các các tập thành viên tham gia vào mối liên hệ đó bởi các cạnh vô hƣớng hoặc có hƣớng (các cung). 1.2.8. Tính chất hàm của mối liên hệ 1) Mối liên hệ một – một Một mối liên hệ R giữa các tập thực thể E1 và E2 đƣợc gọi là mối liên hệ một - một (one to one ralationship) nếu trong mối liên hệ đó mỗi thực thể của tập thực thể E1 chỉ tƣơng ứng với nhiều nhất với một thực thể của tập thực thể E2 và mỗi thực thể của tập thực thể E2 chỉ tƣơng ứng nhiều nhất với một thực thể của tập thực thể E1. 2) Mối liên hệ nhiều – một Một mối liên hệ R giữa các tập thực thể E1 và E2 đƣợc gọi là mối liên hệ nhiều – một (many - one relationship) nếu trong mối liên hệ đó mỗi thực thể của tập thực thể E1 có thể tƣơng ứng với nhiều nhất một thực thể trong tập thực thể E 2 và mỗi thực thể trong tập thực thể E2 có thể tƣơng ứng với không hoặc một hoặc nhiều thực thể trong tập thực thể E1. 8 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu Khái niệm mối liên hệ nhiều – một tổng quát hóa trong trƣờng hợp mối liên hệ giữa ba tập thực thể trở lên nhƣ sau: Mối liên hệ R giữa các tập thực thể E1, E2, ..., Ek, Ek+1 (k > 1) đƣợc gọi là mối liên hệ nhiều – một giữa các tập thực thể E1, E2, ..., Ek và tập thực thể Ek+1; nếu trong mối liên hệ đó, mỗi bộ các thực thể (e1, e2, ..., ek) với ei Ei và i = 1,..., k của các tập thực thể E1, E2, ..., Ek có thể tƣơng ứng với nhiều nhất một thực thể của tập thực thể Ek+1 và mỗi thực thể của tập thực thể Ek+1 có thể tƣơng ứng với không hoặc một hoặc nhiều các bộ thực thể (e1, e2, ..., ek) với ei Ei và i = 1,..., k của các tập thực thể E1, E2, ..., Ek. 3) Mối liên hệ nhiều – nhiều Mối liên hệ R giữa các tập thực thể E1 và E2 đƣợc gọi là mối liên hệ nhiều – nhiều (many - many ralationship) nếu trong mối liên hệ đó mỗi thực thể trong tập thực thể E1 có thể tƣơng ứng với không hoặc một hoặc nhiều thực thể trong tập thực thể E2 và mỗi thực thể trong tập thực thể E2 có thể tƣơng ứng với không hoặc một hoặc nhiều thực thể trong tập thực thể E1. Khái niệm mối liên hệ nhiều – nhiều tổng quát hóa trong trƣờng hợp mối liên hệ giữa ba tập thực thể trở lên nhƣ sau: Mối liên hệ R giữa các tập thực thể E1, E2, ..., Ek, Ek+1 (k > 1) đƣợc gọi là mối liên hệ nhiều – nhiều giữa các tập thực thể E1, E2, ..., Ek và tập thực thể Ek+1; nếu trong mối liên hệ đó, mỗi bộ các thực thể (e1, e2, ..., ek) với eiEi và i = 1,..., k của các tập thực thể E1, E2, ..., Ek có thể tƣơng ứng với không hoặc một hoặc nhiều thực thể của tập thực thể Ek+1 và mỗi thực thể của tập thực thể Ek+1 có thể tƣơng ứng với không hoặc một hoặc nhiều các bộ thực thể (e1, e2, ..., ek) với ei Ei và i = 1,..., k của các tập thực thể E1, E2, ..., Ek. 1.2.9. Biểu diễn tính chất hàm trong các sơ đồ thực thể - liên hệ - Nếu mối liên hệ R giữa các tập thực thể A và B là nhiều – một thì đặt một cung vô hƣớng từ mối liên hệ R đến tập thực thể A (bên nhiều) và một cung có hƣớng từ mối liên hệ R đến tập thực thể B (bên một). Trong trƣờng hợp tổng quát có một mối liên hệ R giữa nhiều hơn một tập thực thể và thuộc loại nhiều - một vào một tập thực thể A nào đó thì vẽ một cung có Phạm Hùng Phú 9
- Bài tập cơ sở dữ liệu hƣớng từ mối liên hệ R đến tập thực thể A và các cung vô hƣớng từ mối liên hệ R đến các tập thực thể khác. - Nếu R là mối liên hệ một – một giữa các tập thực thể A và B thì vẽ một cung có hƣớng từ mối liên hệ R đến tập thực thể A và một cung có hƣớng khác từ mối liên hệ R đến tập thực thể B. Ngoại lệ, nếu A ISA B thì chỉ vẽ một cung có hƣớng từ mối liên hệ ISA đến tập thực thể B còn từ mối liên hệ ISA đến tập thực thể A là một cung vô hƣớng. - Nếu mối liên hệ R là nhiều - nhiều giữa các tập thực thể thì ta vẽ các cung vô hƣớng từ mối liên hệ R tất cả các tập thực thể tham gia vào mối liên hệ. Ví dụ: Một cửa hàng mua bán vật tƣ xây dựng muốn quản lý công việc kinh doanh của mình bằng máy tính và có ý định thiết kế một hệ thống cơ sở dữ liệu lƣu trữ các thông tin cần thiết cho hoạt động kinh doanh. Nhân viên quản trị cơ sở dữ liệu hệ thống là SVA - một sinh viên khoa CNTT trƣờng ĐHSPKT Nam Định và làm việc cho cửa hàng đã phân tích và triển khai một sơ đồ thực thể – liên hệ nhƣ sau: Cơ sở dữ liệu nhằm phục vụ cho việc quản lý nhập hàng từ các nhà cung cấp và bán hàng cho khách hàng. Để quản lý đƣợc việc nhập hàng từ các nhà cung cấp thì cơ sở dữ liệu nhằm phục vụ cho việc trả lời các câu hỏi chính: - “Cửa hàng nhập các mặt hàng nào của các nhà cung cấp hàng nào, theo các lần cung cấp nào, vào ngày nào, với số lƣợng và đơn giá là bao nhiêu ?”. Vì vậy, SVA quyết định trong cơ sở dữ liệu có một tập thực thể NCC (các nhà cung cấp) gồm các thuộc tính Mancc (Mã - số hiệu nhà cung cấp - khoá), tenNcc (họ tên nhà cung cấp), DCNCC (địa chỉ nhà cung cấp). Một vấn đề quan trọng liên quan đến các nhà cung cấp là các mặt hàng họ cung cấp, do đó SVA đã đƣa ra một tập thực thể MATH (các mặt hàng) gồm các thuộc tính MaMh (Mã - số hiệu mặt hàng - khoá), TenMh (tên mặt hàng), DVT (đơn vị tính). Cửa hàng nhập các mặt hàng thông qua các hoá đơn nhập hàng từ các nhà cung cấp. Mỗi hoá đơn nhập hàng (HDNH) gồm: số hiệu hoá đơn nhập hàng (ShHDN), ngày nhập hàng (NgayN), thông tin về nhà cung cấp hàng và một danh 10 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu sách các mặt hàng, số lƣợng, đơn giá của từng mặt hàng mà cửa hàng yêu cầu, thành tiền, tổng số tiền. Thành tiền, tổng số tiền là các thuộc tính tính toán nên ta có thể bỏ đi. Các thuộc tính của tập thực thể HDNH là ShHDN, NgayN. Vì các nhà cung cấp khác nhau vẫn có thể có cách ghi ShHDN giống nhau nên tập thực thể HDNH phải vay mƣợn thuộc tính Mancc để kết hợp với ShHDN làm khóa. Nội dung thực sự của HDNH đƣợc biểu diễn qua mối liên hệ nhiều - một CTHDNH (chi tiết hoá đơn nhập hàng) giữa các tập thực thể: HDNH, MATH ( các mặt hàng), SLN (số lƣợng nhập) chỉ có một thuộc tính SLN – khoá, DGN (đơn giá nhập) chỉ có một thuộc tính DGN – khoá đến NCC (các nhà cung cấp hàng). Để quản lý đƣợc việc bán hàng cho các khách hàng thì cơ sở dữ liệu nhằm phục vụ cho việc trả lời các câu hỏi chính: - “Cửa hàng bán các mặt hàng nào cho các khách hàng nào, vào các lần bán hàng nào, vào ngày nào với số lƣợng và đơn giá là bao nhiêu ?”. Nhƣ vậy, ta thấy ngay một tập thực thể quan trọng khác là KHH (các khách hàng) với các thuộc tính MaKh (mã - số hiệu khách hàng - khóa), TenKh (tên khách hàng), DcKh (địa chỉ khách hàng), GT (giới tính). Các khách mua hàng thông qua các hoá đơn bán hàng của cửa hàng cho các khách hàng. Mỗi hoá đơn bán hàng (HDBH) gồm: số hiệu hoá đơn bán hàng (ShHDB), ngày bán hàng (NgayB), thông tin về các khách hàng và một danh sách các mặt hàng, số lƣợng, đơn giá của từng mặt hàng mà khách hàng yêu cầu, thành tiền, tổng số tiền. Thành tiền, tổng số tiền là các thuộc tính tính toán nên ta có thể bỏ đi. Các thuộc tính của tập HDBH là ShHDB - khoá, NgayB (vì trong một cửa hàng thì chỉ quy định một cách ghi ShHDB. Nội dung thực sự của HDBH đƣợc biểu diễn qua mối liên hệ nhiều - một CTHDBH (chi tiết hoá đơn bán hàng) giữa các tập thực thể: HDBH, MATH ( các mặt hàng), SLB (số lƣợng bán) chỉ có một thuộc tính SLB – khoá, DGB (đơn giá bán) chỉ có một thuộc tính DGB – khoá đến KhHang (các khách hàng). Phạm Hùng Phú 11
- Bài tập cơ sở dữ liệu Từ đó, ta có sơ đồ thực thể liên hệ nhƣ hình vẽ sau: TenKH MaKH TenNCC MaNCC GT KHHANG DCKH DGN NCC DCNCC CTHDBH CTHDNH SLB SLN DGB MaNCC HDBH HDNH MATH MaMH NGAYB SHHDB SHHDN NGAYN TenMH DVT Hình 1.1. Sơ đồ thực thể - liên hệ của CSDL mua bán vật tư B. BÀI TẬP 1.1. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý điểm của một lớp, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu đó. Giải tóm tắt: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “sinh viên nào học môn học nào và điểm của họ ra sao , môn học đó học ở kỳ nào?”. Nên trong cơ sở dữ liệu có các tập thực thể: - SVgồm các thuộc tính: Masv (khóa), Hoten, Ns, Gt, Qq - Monhoc gồm các thuộc tính: Mamh (khóa), tenmon, Sht - Hocky chỉ có một thuộc tính: Hocky (khóa) - Diem chỉ có một thuộc tính: Diem (khóa) và các mối liên hê: - Sv_Mh_Diem(SV, Monhoc, Diem) với ý nghĩa “sinh viên nào học môn học nào và điểm của họ ở môn học đó ra sao” . Đây là mối liên hệ nhiều - một, từ SV, Monhoc đến Diem. 12 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu - Mh_Ky(Monhoc, hocky) với ý nghĩa “môn hoc nào đƣợc bố trí học ở học kỳ nào”. Đây là mối liên hệ nhiều - một từ Monhoc đến Hocky. Từ đó ta có sơ đồ thực thể liên hệ: Hocky Ns Gt SHT Mh_Ky Masv SV Monhoc Sv_Mh_Diem Qq Hoten tenmon Mamh Diem m Hình 1.2. Sơ đồ thực thể liên hệ của CSDL quản lý điểm 1.2. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý tiền quỹ của một lớp, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu đó. Giải tóm tắt: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “ sinh viên nào Chi hay đóng khoản tiền gì vào ngày nào với số tiền là bao nhiêu?”. Nên trong cơ sở dữ liệu có các tập thực thể: - SVgồm các thuộc tính: Masv (khóa), Hoten - KhoanTC - khoản thu chi chỉ có một thuộc tính: KhoanTc (khóa) - ThuChi - thu hay chi chỉ có một thuộc tính: Thuchi (khóa) - Ngay - ngày thu hay chi chỉ có một thuộc tính: ngay (khóa) - Sotien - số tiền thu hay chi chỉ có một thuộc tính: Sotien (khóa). Ở đây, Ta có thể chỉ ra mối liên hệ tổng quát Soquy(SV, KhoanTC, ThuChi, Ngay, Sotien ) với ý nghĩa “sinh viên nào Chi hay đóng khoản tiền gì, vào ngày nào với số tiền là bao nhiêu”. Ta có sơ đồ thực thể liên hệ: Phạm Hùng Phú 13
- Bài tập cơ sở dữ liệu Masv Thuchi KhoanTc SV Soquy Hoten ngay Sotien Hình 1.3 Sơ đồ thực thể liên hệ của CSDL quản lý quỹ 1.3. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý vi phạm luật giao thông của một tỉnh, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu. Giải tóm tắt: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “ai điều khiển phƣơng tiện gì, phƣơng tiện đó của ai, vi phạm lỗi gì, ở đâu, vào thời gian nào, bị phạt bao nhiêu tiền, ai là ngƣời xử phạt ?”. Nên trong cơ sở dữ liệu có các tập thực thể: - Nvp - ngƣời vi phạm gồm các thuộc tính: ScmtVP(khóa), HotenVP, GtVP, tuoiVP, DiachiVP. - ChuPT – chủ phƣơng tiện gồm các thuộc tính: Scmt (khóa), Hoten, Gt, tuoi, Diachi. - PT – phƣơng tiện gồm các thuộc tính: Sbdk – số biển đăng ký (khóa), Loai – loại phƣơng tiện, Mac – mác của phƣơng tiện, nuoc – nƣớc sản xuất. - LoiVp – lỗi vi phạm chỉ có một thuộc tính: LoiVp(khóa). - Diadiem – Địa điểm vi phạm chỉ có một thuộc tính: Diadiem(khóa). - ThoiGian – ngày, giờ vi phạm chỉ có một thuộc tính: Thoigian(khóa). - Sotien - số tiền bị phạt chỉ có một thuộc tính: Sotien(khóa). + NgXL – ngƣời xử lý gồm các thuộc tính: MaNXL – số hiệu ngƣời xử lý (khóa), hoten, Capbac – cấp bậc, Chucvu – Chức vụ. Ở đây, Ta có thể chỉ ra một mối liên hệ Vipham(Nvp, PT, LoiVP, Thoigian, Diadiem, Sotien, NgXL) với ý nghĩa “ngƣời nào sử dụng phƣơng tiện nào, vi phạm lỗi gì; ở đâu, vào thời gian nào, bị phạt bao nhiêu tiền và ai là ngƣời xử phạt”. Mối liên hệ này thuộc loại nhiều – nhiều giữa các tập thực thể. Một mối liên hệ khác là 14 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu SoHuu(ChuPT, PT) với ý nghĩa “ai là chủ phƣơng tiện vi phạm”. Đây cũng là mối liên hệ nhiều nhiều giữa ChuPt và PT. Ta có sơ đồ thực thể liên hệ Sbdk Scmtvp Hotenvp Mac LoiVp Loai Sotien PT NVP Gtvp nuoc tuoivp Scmt SoHuu ViPham Diachivp Capbac Hoten ChuPT NgXL Diadiem hoten Diachi ThoiGian tuoi Gt Chucvu MaNXL Hình 1.4. Sơ đồ thực thể liên hệ của CSDL quản lý vi phạm luật giao thông 1.4. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý điện của một tổ kinh doanh điện trong một năm, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu đó. Giải tóm tắt: Mô hình thực thể liên hệ mô tả dữ liệu của hệ thống quản lý điện của một tổ kinh doanh diện trong một năm Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “Chủ hộ nào có hợp đồng thuê điện nào và hàng tháng có lƣợng điện tiêu thụ là bao nhiêu và phải trả là bao nhiêu tiền mỗi tháng ?”. Nên trong cơ sở dữ liệu có các tập thực thể: - Chuho – Chủ hộ gồm các thuộc tính: MaCh (khóa), Hoten, Gt, Diachi - Congto – công tơ gồm các thuộc tính: ShCT (khóa), nuocSX, Vitri ( nơi treo công tơ, chisodau (chỉ số công tơ ban đầu). - Hopdong - hợp đồng gồm các thuộc tính: Shd (số hợp đồng - khoá), Ngayhd (ngày hợp đồng), ngkyhd (ngƣời ký hợp đồng). - Thangsd – tháng sử dụng điện chỉ có một thuộc tính: Thang (khóa) Phạm Hùng Phú 15
- Bài tập cơ sở dữ liệu - Ngayghi - ngày ghi số chỉ có một thuộc tính: ngayghi (khóa) - ChisoCT – chỉ số công tơ chỉ có một thuộc tính: ChisoCT (khóa) Ở đây, Ta có thể chỉ ra các mối liên hệ : - CH_HD(Chuho, hopdong) là mối liên hệ một - một giữa hai thực thể Chuho, hopdong với ý nghĩa “chủ hộ nào có hợp đồng mua điện nào”. - HD_CT(hopdong, congto) là mối liên hệ một - một giữa hai thực thể hopdong và cong to với ý nghĩa “hợp đồng mua điện nào đƣợc cấp công tơ nào”. - Sudungdien(Congto, Thangsd, ChisoCT) là mối liên hệ nhiều - một từ congto, thangsd đến ChisoCT với ý nghĩa “công tơ nào, trong tháng nào có chỉ số công tơ trong tháng là bao nhiêu ”. - GhiCT(Congto, Thangsd, Ngayghi) là mối liên hệ nhiều - một từ congto, thangsd đến Ngayghi với ý nghĩa “công tơ nào, trong tháng nào có ngày ghi chỉ số công tơ là ngày nào”. Và ta có sơ đồ thực thể liên hệ: NgayHd Chisodau NgkyHd Vitri SHD Hopdong HD_CT Congto nuocSX CH_HD hoten ShCT Thangsd Sudungd MaCh Chuho ien GhiCT Diachi Gt ChisoCT Ngayghi Hình 1.5. Sơ đồ thực thể liên hệ của CSDL quản lý điện 1.5. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý nƣớc của một công ty nƣớc trong một năm, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu đó. 16 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu Hƣớng dẫn: Hoàn toàn tƣơng tự nhƣ bài 1.4 1.6. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý việc cho thuê truyện của một cửa hiệu cho thuê truyện, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu đó. Giải tóm tắt: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “ngƣời nào mƣợn quyển truyện nào, trong thời gian nào và phải trả số tiền là bao nhiêu?”. Nên trong cơ sở dữ liệu có các tập thực thể: + Docgia – đọc giả gồm các thuộc tính: Madg (khóa), Hoten, Gt, Diachi, sdt - số điện thoại + Truyen – gồm các thuộc tính: MaTr (khóa), TenTr – tên truyện, TacGia – tên tác giả, NXB –nhà xuất bản, Vitri – nơi để truyện + Thoigian - gồm các thuộc tính: NgayM – ngày mƣợn, NgayHT – ngày hẹn trả, NgayTr – ngày trả. Cả ba thuộc tính này mới làm thành khóa của thực thể thời gian. DonGia – Giá tiền thuê mỗi cuốn truyện, một ngày chỉ có một thuộc tính DonGia(khóa). Ở đây, Ta có thể chỉ ra mối liên hệ Thuetruyen(Docgia, Truyen, Thoigian) với ý nghĩa “ngƣời nào thuê cuốn truyện nào, vào thời gian nào” và một mối liên hệ khác GiaThue(Truyen, DonGia) với ý nghĩa “cuốn truyện này có đơn giá thuê là bao nhiêu”. Trong trƣờng hợp này, cùng một cuốn truyện giá thuê các lần khác nhau phải là giống nhau.Mối liên hệ này thuộc loại nhiều – một từ Truyen đến Dongia. Ta có sơ đồ thực thể liên hệ Phạm Hùng Phú 17
- Bài tập cơ sở dữ liệu NgayM NgayHT Hoten Gt NgayTr Thuetruyen Thoigian Vitri Madg Docgia GiaThue Truyen TenTr Diachi sdt TacGia DonGia NXB MaTr Hình 1.6. Sơ đồ thực thể liên hệ của CSDL quản lý thuê truyện 1.7. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý tín dụng của một quỹ tín dụng, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu. Hƣớng dẫn Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “Khách hàng nào có khế ƣớc vay nào”. 1.8. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý lƣơng của phòng tài vụ của một trƣờng đại học, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu. Giải tóm tắt: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “ngƣời nào ở đơn vị nào, hàng tháng đƣợc lĩnh tiền lƣơng là bao nhiêu”. Nên trong cơ sở dữ liệu có các tập thực thể: + Nhanvien – nhân viên gồm các thuộc tính: MaNv (khóa), Hoten, Gt, Diachi + Donvi – đơn vị công tác gồm các thuộc tính: Madv (khóa), TenDv, Vitri + Chucvu – chức vụ gồm các thuộc tính: MaCv (khóa), Chvu, HsPc – hệ số phụ cấp chức vụ + HsL – hệ số lƣơng chỉ gồm có một thuộc tính Hsl (khóa) 18 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu + NgayLL – ngày, tháng, năm lên lƣơng hoặc vƣợt khung lần cuối chỉ gồm có một thuộc tính NgayLL (khóa) + XLthidua – xếp loại thi đua chỉ gồm có một thuộc tính XLthidua (khóa) + Tháng chỉ có một thuộc tính: thang(khóa) Ta có thể chỉ ra các mối liên hệ + Lamviec(Nhanvien, Donvi) với ý nghĩa “ngƣời nào làm việc ở đơn vị nào” là một mối liên hệ nhiều - một từ Nhanvien đến Donvi. + Quanly(Nhanvien, Chucvu) với ý nghĩa “nhân viên nào giữ chức vụ quản lý cao nhất là gì” là một mối liên hệ nhiều - một từ Nhanvien đến Chucvu. + Luong(Nhanvien, HsL, NgayLL) với ý nghĩa “ngƣời nào hiện có hệ số lƣơng bằng bao nhiêu và ngày lên lƣơng lần cuối là ngày nào” là một mối liên hệ nhiều - một từ cặp HsL, Nhanvien đến NgayLL. + Thidua(Nhanvien, thang, XLthidua) với ý nghĩa “ngƣời nào trong tháng nào đƣợc xếp loại thi đua nào” là một mối liên hệ nhiều - một từ cặp Nhanvien, thang đến XLthidua. Ta có sơ đồ thực thể liên hệ HsL NgayLL Madv TenDv Gt Luong Lamviec Donvi Vitri Hoten Nhanvien MaNv Quanly Diachi Thidua Chucvu Chvu XLthidua HsPc thang MaCv Hình 1.7 Sơ đồ thực thể liên hệ của CSDL quản lý lương Phạm Hùng Phú 19
- Bài tập cơ sở dữ liệu 1.9. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý mua bán xe máy của một cửa hàng kinh doanh xe máy, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu. Hƣớng dẫn: Tƣơng tự nhƣ ví dụ quản lý kinh doanh vật tƣ xây dựng của một cửa hàng. 1.10. Hãy sử dụng mô hình thực thể - liên hệ để mô tả dữ liệu cho hệ thống quản lý ký túc xá của một trƣờng đại học, sau đó vẽ sơ đồ thực thể - liên hệ cho cơ sở dữ liệu. Hƣớng dẫn: Cơ sở dữ liệu nhằm phục vụ cho việc trả lời câu hỏi chính “ sinh viên nào ở phòng nào, phòng có bao nhiêu chỗ ở, hiện tại đã sử dụng bao nhiêu chỗ, ai là trƣởng phòng, lƣợng điện, nƣớc tiêu thụ hàng tháng là bao nhiêu, số tiền phải trả hàng tháng của mỗi phòng?”. 20 Phạm Hùng Phú
- Bài tập cơ sở dữ liệu Chương 2 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ A. TÓM TẮT LÝ THUYẾT 2.1. Các khái niệm cơ bản 2.1.1. Mô hình cơ sở dữ liệu ( Relation model) Là mô hình cho phép sử dụng các tên để mô tả dữ liệu - các bảng dữ liệu và tập các phép toán của tập hợp và ánh xạ để thao tác với dữ liệu. 2.1.2. Các khái niệm quan hệ - Quan hệ (Relation) là một tập con của tích Đề - Các của một hoặc nhiều miền. - Quan hệ là tập các ánh xạ từ tên các thuộc tính đến các giá trị trong miền của thuộc tính. Nhƣ vậy, có thể hình dung quan hệ là một bảng dữ liệu nó bao gồm các dòng và các cột. Trong đó: mỗi bảng, mỗi cột đƣợc đặt bởi một tên; mỗi cột lấy giá trị trên một miền; mỗi dòng là một bộ các giá trị và mỗi giá trị thuộc về một cột. Nhƣng quan hệ khác với bảng dữ liệu thông thƣờng là trong quan hệ không cho phép hai dòng trùng nhau. 2.2. Biến đổi sơ đồ thực thể - liên hệ sang mô hình quan hệ - Tập các lƣợc đồ quan hệ dùng để biểu diễn thông tin gọi là lƣợc đồ cơ sở dữ liệu quan hệ (Relational Database sheme) và cùng với những giá trị hiện hành của các quan hệ tƣơng ứng tạo ra cơ sở dữ liệu quan hệ. - Khi thiết kế có thể tự do tạo ra các quan hệ với tập thuộc tính nào đó nhƣ một lƣợc đồ quan hệ. Tuy nhiên có một khuôn mẫu điển hình bằng cách chuyển đổi các sơ đồ thực thể - liên hệ sang các lƣợc đồ cơ sở dữ liệu quan hệ. Dữ liệu của sơ đồ thực thể - liên hệ đƣợc biểu diễn bởi hai loại quan hệ: quan hệ biểu diễn cho tập thực thể và quan hệ biểu diễn cho mối liên hệ. Phạm Hùng Phú 21
- Bài tập cơ sở dữ liệu 2.2.1. Biến đổi các tập thực thể Một tập thực thể E có thể đƣợc biểu diễn bởi một quan hệ có cùng tên là E mà lƣợc đồ quan hệ của nó chứa tất cả các thuộc tính của tập thực thể đó. Mỗi bộ của quan hệ biểu diễn một thực thể trong thể hiện hiện hành của E. 2.2.2. Biến đổi mối liên hệ - Mối liên hệ R giữa các tập thực thể E1, E2,..., Ek đƣợc biểu diễn bởi một quan hệ có tên là R và có lƣợc đồ quan hệ chứa các thuộc tính trong các khoá của mỗi tập E1, E2,..., Ek. Có thể đặt lại tên cho các thuộc tính (nếu cần) để tránh trùng tên ngay cả khi hai thực thể này chỉ là một. Một bộ t trong quan hệ này biểu diễn cho một danh sách các thực thể e1, e2, ..., ek trong đó ei là một thực thể của tập thực thể Ei. Nghĩa là ei là một thực thể duy nhất của tập thực thể Ei mà giá trị của thuộc tính khoá của Ei có trong thành phần của bộ t ở những thuộc tính này. Sự có mặt của bộ t trong quan hệ chỉ ra rằng danh sách các thực thể (e1, e2, ..., ek) là phần tử hiện hành của mối liên hệ R. 2.3. Khoá của các quan hệ - Cho quan hệ R(A1, A2,...,An); K { A1, A2, ..., An }. K là khoá của R khi và chỉ khi K thoả mãn các tính chất sau đây: 1) Với bất kỳ 2 bộ t1, t2 R đều tồn tại một thuộc tính AK sao cho t1[A] t2[A]. t1[K] t2[K]. 2) Không có tập con thực sự nào của K có tính chất 1. Do vậy mỗi giá trị của khoá K là duy nhất. - Nếu K chỉ có tính chất 1 Thì K đƣợc gọi là khoá bao hàm – siêu khoá (Super key). - Khoá phụ thuộc vào lƣợc đồ quan hệ; không phụ thuộc vào thể hiện của quan hệ. - Một quan hệ có thể có nhiều khoá. - Khoá đƣợc thực hiện bởi ngƣời thiết kế cơ sở dữ liệu sau khi đã xem xét và cân nhắc kỹ lƣỡng các dữ liệu và những ràng buộc mà dữ liệu phải tuân theo. 22 Phạm Hùng Phú
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập cơ sở dữ liệu
15 p | 2654 | 534
-
Bài tập cơ sở dữ liệu
31 p | 1490 | 356
-
Bài tập học về Cơ sở dữ liệu
18 p | 975 | 312
-
Bài tập cơ sở dữ liệu - Part 2
0 p | 584 | 123
-
Bài giảng Cơ sở Dữ liệu SQL - Phần 3: Truy vấn (Query) và tạo View - Giải các truy vấn khó
4 p | 351 | 47
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu: Chương III - ThS. Lương Thị Ngọc Khánh
80 p | 173 | 18
-
Bài giảng Cơ sở dữ liệu phân tán - Th.S Nguyễn Đức Thuần
23 p | 163 | 17
-
Bài tập thực hành cơ sở dữ liệu: Phần 1
66 p | 90 | 13
-
Bài giảng Cơ sở Dữ liệu SQL - Phần 4: Quản lý điểm học tập của sinh viên
5 p | 215 | 12
-
Bài tập Cơ sở dữ liệu - Nguyễn Xuân Huy, Lê Hoài Bắc
134 p | 68 | 12
-
Bài tập thực hành cơ sở dữ liệu: Phần 2
96 p | 53 | 7
-
Bài giảng Cơ sở dữ liệu - Chương 1: Giới thiệu về cơ sở dữ liệu
76 p | 108 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Trần Quang Hải Bằng
37 p | 67 | 4
-
Bài giảng Cơ sở dữ liệu: Bài 1, 2 - Đại học CNTT
12 p | 74 | 3
-
Bài giảng Cơ sở dữ liệu: Bài 1 - Tổng quan về cơ sở dữ liệu
0 p | 111 | 3
-
Bài giảng Cơ sở dữ liệu: Chương 1 - ThS. Trần Quang Hải Bằng
15 p | 107 | 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