You are on page 1of 11

BÀI TẬP

CHƯƠNG 3 – MÔ HÌNH DỮ LIỆU QUAN HỆ


HỌ VÀ TÊN – MÃ SINH VIÊN
--o0o--

I. REVIEW QUESTIONS
1. Sự khác nhau giữa CSDL và bảng?

2. Toàn vẹn thực thể, toàn vẹn tham chiếu là gì?
 Toàn vẹn thực thể:
• Khóa chính đảm bảo tính duy nhất
• Các thuôck tính khóa không NULL
 Toàn vẹn tham chiếu:
• Khóa ngoại có thể NULL
• Giá trị của khóa ngoại phải tồn tại ở bảng tham chiếu đến
3. Tại sao toàn vẹn thực thể và toàn vẹn tham chiếu lại quan trọng ?

4. Phụ thuộc hàm là gì? Ý nghĩa của phụ thuộc hàm?
Phụ thuộc hàm là: Là một ràng buộc xác định mối quan hệ của thuộc tính này vào thuộc tính
khác.
Ý nghĩa: Dùng để đánh giá thiết kế dữ liệu .
5. Khóa là gì? Giải thích các loại khóa?
Khóa trong hệ quản trị cơ sở dữ liệu là một thuộc tính hoặc một tập hợp các thuộc tính
giúp xác định một hàng hoặc một dữ liệu trong một quan hệ
Siêu khóa – Super Key:
 Là một hoặc một tập thuộc tính trong bảng có các giá trị có thể được sử dụng để xác định
duy nhất 1 bộ giá trị (dòng)
Khóa dự tuyển – Candidate Key:
 Là một tập hợp tối thiểu các thuộc tính để xác định một bộ giá trị;
1
 Gọi là siêu khóa tối thiểu (không dư thừa thuộc tính).
 Trong 1 bảng có thể có nhiều khóa dự tuyển
Khóa chính – Primary Key:
 Chọn 1 trong các khóa dự tuyển làm khóa chính
Khóa thay thế - Alternate Key:
 Là khóa có thể thay thế khóa chính
Khóa tổng hợp - Composite key:
 Là một khóa ứng viên và có nhiều hơn 1 thuộc tính
Khóa ngoại – Foreign Key:
 Là các thuộc tính tham chiếu đến khóa chính của bảng khác
 Dùng để liên kết 2 bảng
6. Mối quan hệ – Relationship là gì? Có mấy loại? Cho ví dụ từng loại?
Mối quan hệ: mô tả một liên kết giữa các đối tượng.
Có 3 loại mối quan hệ:
 Quan hệ 1 – Nhiều
 Quan hệ Nhiều – Nhiều
 Quan hệ 1 – 1

7. Cho ví dụ về quan hệ 1:N và minh họa bằng 2 bảng dữ liệu?
1 nhạc sĩ sáng tác nhiều bài hát và 1 bài hát được sáng tác bởi 1 nhạc sĩ.

Nhạc sĩ Bài hát

Sơn Tùng Cơn mưa ngang qua

Sơn Tùng Em của ngày hôm qua

Sơn Tùng Nắng ấm xa dần

2
8. Dư thừa dữ liệu là gì? Những vấn đề có thể xảy ra khi dư thừa dữ liệu? Cách xử lý?
Là cùng 1 dữ liệu được lưu trữ lặp lại ở nhiều nơi riêng biệt.
_Các vấn đề :
Tốn không gian lưu trữ.
Lỗi khi xóa
Lỗi khi chèn
Lỗi khi sửa
_Cách xử lý:Tách (phân rã) bảng dư thừa thành nhiều bảng dựa vào các phụ thuộc hàm để
tách
9. Các thao cơ bản trên bảng dữ liệu?
Có 4 thao tác cơ bản trên mô hình dữ liệu quan hệ:
 Chèn – Insert
 Cập nhật – Update
 Xóa - Delete
 Truy vấn - Select

10. Hệ quản trị cơ sở dữ liệu là gì? Hãy kể tên các một số hệ quản trị

_Là phần mềm quản lý các CSDL:


Một số hệ quản trị:
 DB2 and Informix Dynamic Server - IBM
 Oracle and RDB – Oracle
 MySQL - Oracle
 SQL Server and Access - Microsoft

3
II. PROBLEMS
Dựa vào hình dưới để làm các bài tập:

1. Hãy xác định khóa chính, khóa ngoại cho các bảng?
EMPLOYEE:
_Khóa chính : EMP_CODE
_Khóa ngoại : STORE_CODE
STORE:
_Khóa chính : STORE_CODE
_Khóa ngoại : REGION_CODE
REGION:
_Khóa chính : REGION_CODE, REGION_DESCRIPT
_Khóa ngoại : Không có
2. Mô tả mối quan hệ giữa STORE và REGION?
1 Store chỉ ở trong 1 khu vực và 1 khu vực có nhiều Store.

4
3. Vẽ lược đồ ERD thể hiện mối quan hệ giữa STORE và REGION?

4. Mô tả mối quan hệ giữa EMPLOYEE và STORE?


1 EMPLOYEE chỉ thuộc 1 STORE và 1 STORE có nhiều EMPLOYEE.

5. Vẽ lược đồ ERD thể hiện mối quan hệ giữa EMPLOYEE và STORE?

6. Vẽ lược đồ ERD thể hiện mối quan hệ giữa EMPLOYEE và STORE và REGION?

5
7. Tạo lược đề quan hệ (bảng) thể hiện mối quan hệ giữa EMPLOYEE và STORE và
REGION?
EMPLOYEE ( EMP_CODE, EMP_TITLE, EMP_LNAME, EMP_FNAME,
EMP_INITIAL, EMP_DOB, STORE_CODE )
STORE ( STORE_CODE, STORE_NAME , STORE_YTD_SALES, REGION_CODE,
EMP_CODE )
REGION ( REGION_CODE, REGION_DESCRIPT )
Cho cơ sở dữ liệu gồm 4 bảng thể hiện mối quan hệ sau:
- Một EMPLOYEE chỉ có 1 JOB_CODE, nhưng 1 JOB_CODE có thể có nhiều
EMPLOYEEs.
- Một EMPLOYEE có thể tham nhiều PLAN (kế hoạch) và một vài PLAN có thể tham
gia nhiều EMPLOYEEs.
- Mối quan hệ N:M đã được chia thành 1 mối quan hệ 1:M mà bảng BENEFIT đóng
vai trò thực thể cầu nối

8. Trong mỗi bảng trong cơ sở dữ liệu, hãy xác định khóa chính (PK), khóa ngoại (FK).
EMPLOYEE:
_PK: EMP_CODE
_FK: JOB_CODE
6
BENEFIT:
_PK: EMP_CODE + PLAN_CODE
_FK: EMP_CODE, PLAN_CODE
JOB:
_PK: JOB_CODE
_FK: JOB_DESCRIPTION
PLAN:
_PK: PLAN_CODE
_FK: NONE
9. Tạo ERD thể hiện mối quan hệ giữa EMPLOYEE và JOB

10. Tạo lược đồ quan hệ thể hiện mối quan hệ giữa EMPLOYEE và JOB
EMPLOYEE ( EMP_CODE, EMP_LNAME, JOB_CODE )
JOB ( JOB_CODE , JOB_DESCRIPTION )
11. Các bảng có thể hiện tính toàn vẹn thực thể không? Giải thích tại sao?

_Có. Tại vì :
• Khóa chính đảm bảo tính duy nhất
• Các thuôck tính khóa không NULL
12. Các bảng có thể hiện toàn vẹn tham chiếu không? Có/Không? Giải thích?
Các bảng không thể hiện toàn viện tham chiếu .
Tại vì giá trị của khóa ngoại JOB_DESCRIPTION không tồn tại ở bảng tham chiếu đến .
13. Tạo ERD thể hiện mối quan hệ giữa EMPLOYEE, BENEFIT, JOB, và PLAN.

7
Cho cơ sở dữ liệu sau:

8
14. Hãy xác định khóa chính, khóa ngoại cho mỗi bảng trên?
TRUCK:
PK: TRUCK_NUM
FK: BASE_CODE, TYPE_CODE
BASE:
PK: BASE_CODE
FK: NONE
TYPE:

9
PK: TYPE_CODE
FK: NONE
15. Các bảng trên có tồn tại toàn vẹn thực thể không? Giải thích?

16. Các bảng trên có tồn tại toàn vẹn tha, chiếu không? Giải thích?

17. Xác định khóa ứng viên cho bảng TRUCT?


TRUCK_CODE , TRUCK_MILES , TRUCK_SERIAL_NUM
18. Xác định siêu khóa và khóa thay thế cho mỗi bảng?
TRUCK:
SP:TRUCK_NUM+BASE_CODE, TRUCK_NUM+TYPE_CODE,
TRUCK_SERIAL_NUM+TYPE_NUM
AK: TRUCK_SERIAL_NUM ,TRUCK_MILES
BASE:
SK: BASE_CODE
AK: NONE
TYPE:
SK: TYPE_CODE
AK: NONE

19. Tạo ERD cho cơ sở dữ liệu trên

10
11

You might also like