Xem mẫu
- MỤC LỤC
Lời mở đầu............................................................................................................7
Chương 1: .............................................................................................................8
Mô hình quan hệ- chuyển mô hình E-R sang mô hình quan hệ ......................8
A/Nhắc lại lí thuyết ..............................................................................................8
I. Các khái niệm của mô hình quan hệ ..............................................................8
1. Quan hệ ..............................................................................................................8
2. Lược đồ ..............................................................................................................8
3. Bộ .......................................................................................................................9
4. Miền giá trị .........................................................................................................9
5. Khóa ngoại .......................................................................................................12
6. Biểu diễn ràng buộc tham chiếu ......................................................................14
III. Các đặc trưng của quan hệ.........................................................................14
IV. Chuyển lược đồ E-R sang lược đồ quan hệ...............................................14
B/ Bài tập mẫu ....................................................................................................16
C/ Bài tập tự giải ................................................................................................20
Bài số1: Chuyển đổi từ mô hình dữ liệu mô hình dữ liệu quan hệ sang ER .......20
Bài số 2: Chuyển đổi từ mô hình dữ liệu mô hình dữ liệu quan hệ sang ER ......20
Bài số 3: Vẽ lược đồ quản lý đề án công ty .........................................................20
Chương 2: ...........................................................................................................22
Đại số quan hệ ....................................................................................................22
A. Nhắc lại lí thuyết ...........................................................................................22
I. Các phép toán đại số quan hệ .......................................................................22
1. Phép hợp: .........................................................................................................22
2. Phép giao: .........................................................................................................22
3. Phép hiệu: .........................................................................................................22
II. Các ví dụ ........................................................................................................23
Ví dụ 1: Đây là phép chiếu trên quan hệ R ..........................................................23
Ví dụ 2: Đây là phép kết nối trên hai quan hệ .....................................................24
Ví dụ 3: Đây là phép nối tự nhiên trên hai quan hệ .............................................25
Ví dụ 4: Đây là phép tích đề các trên hai quan hệ ...............................................25
Ví dụ 5: Đây là phép chia quan hệ R cho quan hê S ...........................................25
Ví dụ 6: Đây là phép chọn trên quan hệ R, biểuthức chọn là E = B≥ C khi đó: .26
III. Một số lưu ý .................................................................................................26
1
- B. Bài tập giải mẫu .............................................................................................26
Bài số 1: Thực hiện phép chọn trên quan hệ SV(Hoten, namsinh, CSDL, FOX).27
Bài tập 2: Kết hợp các phép toán của ngôn ngữ đại số quan hệ. .........................27
C. Bài tập tự giải ................................................................................................29
Bài số 3: Phép chia giữa hai quan hệ. ..............................................................30
Bài số 5: Tổng hợp các phép toán đại số quan hệ. ..............................................31
Bài số 6: Thao tác trên một cơ sở dữ liệu. ...........................................................32
Bài số 7: Thao tác trên một cơ sở dữ liệu. ...........................................................33
Bài số 8: Thao tác trên một cơ sở dữ liệu. ...........................................................34
Bài tập9: Tổng hợp các phép toán đại số quan hệ. ..............................................35
Bài số 10: Tổng hợp các phép toán đại số quan hệ. ............................................36
Bài số 11: .............................................................................................................36
Bài số 12: .............................................................................................................36
Bài số 13: .............................................................................................................37
Bài số 14: .............................................................................................................37
Chương 3: ...........................................................................................................38
Các vấn đề về phụ thuộc hàm ...........................................................................38
A/ Nhắc lại lí thuyết ...........................................................................................38
I. Một số định nghĩa, tính chất..........................................................................38
1. Định nghĩa phụ thuộc hàm ...............................................................................38
2. Một số tính chất của phụ thuộc hàm: ...............................................................39
3. Hệ tiên đề Amstrong ........................................................................................39
4. Định nghĩa suy dẫn theo hệ tiên đề..................................................................40
5. Định nghĩa suy dẫn theo quan hệ .....................................................................40
6. Bao đóng của tập thuộc tính ............................................................................41
Thuật toán 1 .........................................................................................................42
7. Phụ thuộc hàm dư thừa ....................................................................................43
8. Phủ không dư và thuật toán tìm phủ không dư................................................43
9. Phủ thu gọn ......................................................................................................44
10. Phủ tối thiểu ...................................................................................................45
II. Các ví dụ ........................................................................................................47
B/ Bài tập giải mẫu.............................................................................................48
Bài số 1: ...............................................................................................................48
Bài số 2: ...............................................................................................................48
Bài tập 3:Tìm bao đóng. ......................................................................................49
Bài tập 4: Cho lược đồ quan hệ R = (U, F)..........................................................51
2
- Bài tập 5: Phụ thuộc hàm dư thừa........................................................................51
Bài tập 6: Tìm phủ tối thiểu của tập phụ thuộc hàm T sau đây ...........................52
C/ Bài tập tự giải ................................................................................................53
Bài tập 1: ..............................................................................................................53
Bài tập 2: ..............................................................................................................53
Bài tập 3 ...............................................................................................................54
Bài tập 4 ...............................................................................................................54
Bài tập 5 ...............................................................................................................54
Bài tập 6 ...............................................................................................................54
Bài tập 7 ...............................................................................................................54
Bài tập 8 ...............................................................................................................54
Bài tập 9 ...............................................................................................................54
Bài tập 10 .............................................................................................................55
Bài tập 11 .............................................................................................................55
Bài tập 12 .............................................................................................................55
Bài tập 13 .............................................................................................................55
Bài tập 15 .............................................................................................................55
Bài tập 16 .............................................................................................................55
Bài tập 17 .............................................................................................................56
Bài tập 18 .............................................................................................................56
Bài tập 19 .............................................................................................................56
Bài tập 20 .............................................................................................................56
Bài tập 22 .............................................................................................................57
Bài tập 23 .............................................................................................................57
Bài tập 24 .............................................................................................................57
Chương 4: ...........................................................................................................58
Các vấn đề về khóa của lược đồ quan hệ........................................................ 50
A/ Nhắc lại lí thuyết ...........................................................................................58
I. Các định nghĩa, tính chất, thuật toán ...........................................................58
1. Họ Sperner .......................................................................................................58
2. Siêu khoá và khoá ............................................................................................58
II. Một số vấn đề về khóa ..................................................................................59
Bài toán 1: Cho K ⊆U hỏi rằng K có phải là khoá hay không? .........................59
Bài toán 2: Tìm một khoá của lược đồ. ...............................................................59
Bài toán 3: Tìm giao của tất cả các khoá Iα .........................................................60
3
- Bài toán 4: Cho lược đồ quan hệ α = (U, F). Hỏi rằng lược đồ có bao nhiêu
khoá......................................................................................................................60
Bài toán 5: Cho lược đồ α = (U, F). Hãy tìm các khoá của lược đồ. ..................60
B/ Bài tập giải mẫu.............................................................................................62
Bài số 1: Kiểm tra một tập thuộc tính có phải là khoá của một lược đồ không? 62
Bài số 2:Tìm một khoá của lược đồ. ....................................................................62
Bài số 3: Hãy tìm giao của tấp cả các khoá của lược đồ α = (U, F)....................62
Bài số 4: ...............................................................................................................63
C/ Bài tập tự giải ................................................................................................63
Bài tập 1: ..............................................................................................................63
Bài tập 2: ..............................................................................................................63
Bài tập 3: ..............................................................................................................63
Bài tập 4 ...............................................................................................................63
Bài tập 5: ..............................................................................................................64
Bài tập 6: ..............................................................................................................64
Bài tập 7: ..............................................................................................................64
Bài tập 8: ..............................................................................................................64
Bài tập 9: ..............................................................................................................65
Bài tập 10: ............................................................................................................65
Bài tập 11: ............................................................................................................65
Bài tập 12: ............................................................................................................65
Bài tập 13: ............................................................................................................65
Bài tập 14: ............................................................................................................66
Bài tập 15: ............................................................................................................66
Bài tập 16: ............................................................................................................66
Bài tập 17: ............................................................................................................66
Bài tập 18: ............................................................................................................67
Bài tập 19: ............................................................................................................67
Chương 5: ...........................................................................................................68
Chuẩn hóa lược đồ quan hệ ..............................................................................68
A/ Nhắc lại lí thuyết ...........................................................................................68
I. Các định nghĩa, tính chất...............................................................................68
1. Dạng chuẩn 1 (1NF - first normal form) .........................................................68
2. Dạng chuẩn 2 (2NF- Second normal form) .....................................................68
3. Dạng chuẩn 3 (3NF- Second normal form) .....................................................69
4. Dạng chuẩn Boyce Codd (BCNF- Boyce Codd normal form)........................70
4
- 5. Tách lược đồ quan hệ .......................................................................................71
6. Thuật toán kiểm tra phép tách kết nối có mất thông tin hay không? ..............71
7. Phương pháp chuẩn hóa dữ liệu.......................................................................72
II. Một số lưu ý ...................................................................................................74
B/ Bài tập giải mẫu.............................................................................................75
Bài số 1: Kiểm tra lược đồ (U, F) có ở dạng chuẩn 2NF hoặc 3NF hay không? 75
Bài số 2: Kiểm tra phép tách có mất thông tin hay không? .................................75
C/ Bài tập tự giải ................................................................................................76
Bài tập 1: ..............................................................................................................76
Bài tập 2: ..............................................................................................................77
Bài tập 3: ..............................................................................................................77
Bài tập 4: ..............................................................................................................77
Bài tập 5: ..............................................................................................................77
Bài tập 6: ..............................................................................................................77
Bài tập 7: ..............................................................................................................77
Bài tập 8: ..............................................................................................................78
Bài tập 11: ............................................................................................................78
Bài tập 12: ............................................................................................................78
Bài tập 13: ............................................................................................................78
Bài tập 14: ............................................................................................................79
Chương 6: ...........................................................................................................79
Ngôn ngữ SQL ....................................................................................................79
A/ Nhắc lại lí thuyết ..........................................................................................79
I. Các nhóm lệnh của ngôn ngữ cơ sở dữ liệu. ................................................79
1. Các lệnh DDL: CREATE, ALTER, DROP. ..................................................79
2. Các lệnh DML: SELECT, UPDATE, INSERT, DELETE, …........................81
II. Các ví dụ ........................................................................................................83
Ví dụ 1: ................................................................................................................83
Ví dụ 2: ................................................................................................................83
III. Một số lưu ý .................................................................................................84
B/ Bài tập giải mẫu.............................................................................................84
Bài số 1: ...............................................................................................................84
Bài số 2: ...............................................................................................................84
Bài số 3: ...............................................................................................................86
C/ Bài tập tự giải ................................................................................................87
Bài tập 1: ..............................................................................................................87
5
- Bài tập 2: ..............................................................................................................88
Bài số 3 ................................................................................................................89
Bài số 4 ................................................................................................................89
Bài số 5 ................................................................................................................90
Bài số 6 ................................................................................................................90
Bài số 7 ................................................................................................................90
Bài số 8 ................................................................................................................90
Bài số 9 ................................................................................................................92
Bài số 10 ..............................................................................................................94
Bài số 11 ..............................................................................................................95
Bài số 12 ..............................................................................................................96
Bài số 13 ..............................................................................................................97
Bài số 14 ..............................................................................................................98
Tài liệu tham khảo .............................................................................................99
6
- LỜI MỞ ĐẦU
Cơ sở dữ liệu là một lĩnh vực quan trọng của Công nghệ thông tin.
Cùng với sự phát triển CNTT nước ta, việc sử dụng các kiến thức về cơ sở
dữ liệu ngày càng cần thiết.
Thật là thiệt thòi cho sinh viên và các bạn tự học, khi trong tủ sách
nhà trường chỉ thấy đại đa số các sách bài tập về lập trình. Cuốn bài tập
CSDL này là một tài liệu nhằm trợ giúp các bạn trẻ một phương thức tự
kiểm tra kiến thức của mình về một lĩnh vực đang chiếm một vị trí quan
trọng trong quá trình phát triển CNTT.
Trong cuốn sách này, chúng tôi chọn lọc và đưa ra các bài tập với các
nội dung được phân bố theo 5 chương: Chương 1. Đại số quan hệ; Chương
2. Các vấn đề về phụ thuộc hàm; Chương 3. Khóa của lược đồ quan hệ;
Chương 4: Các vấn đề về chuẩn hóa lược đồ quan hệ; Chương 5: Ngôn ngữ
SQL. Mỗi chương được trình bày thành 3 phần chính:
Phần thứ nhất: Tóm tắt lý thuyết.
Phần thứ hai: Bài tập giải mẫu.
Phần thứ ba: Bài tập tự giải.
Mục tiêu cuối cùng của cuốn sách này là cung cấp toàn bộ những kiến
thức cơ bản về lý thuyết thiết kế CSDL và các ngôn ngữ thao tác CSDL.
Phần cuối của mỗi chương là các bài tập tự giải giúp cho người học hiểu sâu
và kỹ hơn các kiến thức đã học.
Để đạt được điều mong muốn bạn đừng bỏ qua bài tập nào. Chúng tôi
tin rằng bạn sẽ hoàn toàn làm chủ về các vấn đề có liên quan đến CSDL.
Trong quá trình viết cuốn sách này, chắc chắn không tránh khỏi thiếu
sót, mong các bạn hãy đóng góp ý kiến cho chúng tôi.
Xin trân thành cảm ơn!
7
- CHƯƠNG 1:
MÔ HÌNH QUAN HỆ - CHUYỂN MÔ HÌNH E-R SANG MÔ HÌNH
QUAN HỆ
A/NHẮC LẠI LÝ THUYẾT
I. CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ
1. Quan hệ
Một quan hệ (hoặc trạng thái quan hệ) r của lược đồ quan hệ R (A1, A2, ...,
An) được kí hiệu là r (R), là tập hợp các n-bộ r= { t1, t2, ..., tn}. Mỗi n - bộ t là
một danh sách có thứ tự của n giá trị, t = < v1, v2, ..., vn >, trong đó mỗi vi, 1
- Gồm nhiều lược đồ quan hệ.
Ví dụ lược đồ CSDL
NHANVIEN (MANV, TENNV, HONV, NS, DIACHI, GT,
LUONG, PHG)
PHONGBAN (MAPHG, TENPHG, TRPHG,
NG_NHANCHUC)
DIADIEM_PHG (MAPHG, DIADIEM)
THANNHAN (MANV, TENTN, GT, NS, QUANHE)
DEAN (TENDA, MADA, DIADIEM, PHG)
3. Bộ
- Là các dòng của quan hệ (trừ dòng tiêu đề- tên của các thuộc tính).
- Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ.
Dữ liệu cụ thể của thuộc tính
4. Miền giá trị
Là tập các giá trị nguyên tố gắn liền với một thuộc tính.
Kiểu dữ liệu cơ sở:
- Chuỗi ký tự(string)
- Số(integer)
Các kiểu dữ liệu phức tạp:
- Tập hợp(set)
- Danh sách(list)
- Mảng(array)
- Bản ghi(record)
5. Định nghĩa hình thức
- Lược đồ quan hệ
Cho A1, A2, ..., An là các thuộc tính
Có các miền giá trị D1, D2,..., Dn tương ứng
9
- Ký hiệu R (A1: D1, A2: D2, ..., An: Dn) là một lược đồ quan hệ
Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ:
NHANVIEN (MANV: integer, TENNV: string, HONV: string, NGSINH: date,
DCHI: string, LUONG: integer, GT: string, DONVI: integer)
NHANVIEN là một lược đồ bậc 8 mô tả đối tượng nhân viên
MANV là một thuộc tính có miền giá trị là số nguyên
TENNV là một thuộc tính có miền giá trị là chuỗi ký tự
- Quan hệ (hay thể hiện quan hệ)
Một quan hệ r của lược đồ quan hệ R (A1, A2,..., An), ký hiệu r(R), là một tập các
bộ r = {t1, t2,...,tk}
Trong đó mỗi ti là một danh sách có thứ tự của n giá trị ti=
Mỗi vi là một phần tử của miền giá trị DOM (Ai) hoặc giá trị rỗng.
TENNV HONV NGAYSINH DCHI PHAI LUON
G
Tùng Nguyễn 12/08/1955 638 NVC Q5 40000
Nam
Hằng 07/19/1985 332 NTH Q1 Nữ 25000
Bùi
Như Lê 06/20/1988 291 HVH Nữ 43000
QPN
Hùng Nguyễn 09/15/1963 Null Nam 38000
Thể hiện mô hình quan hệ
Mô hình
quan hệ
Các quan hệ
Sự kiện về
Sự kiện về thực
liên kết
thể
Tóm tắt các ký hiệu
- Lược đồ quan hệ
R (A1, A2,..., An)
10
- - Tập thuộc tính của R
R+
- Quan hệ (hay thể hiện quan hệ)
R, S, P, Q
- Bộ
t, u, v
- Miền giá trị của thuộc tính A
DOM (A) hay MGT (A)
- Giá trị của thuộc tính A tại bộ thứ t
t.A hay t[A]
II. RÀNG BUỘC TOÀN VẸN
- RBTV (Integrity Constraint): Là những quy tắc, điều kiện, ràng buộc cần được
thỏa mãn trong một thể hiện của CSDL quan hệ.
- RBTV được mô tả khi định nghĩa lược đồ quan hệ.
- RBTV được kiểm tra khi các quan hệ có thay đổi.
1. Siêu khóa
Các bộ trong quan hệ phải khác nhau từng đôi một.
Siêu khóa (Super Key)
- Gọi SK là một tập con khác rỗng các thuộc tính của R
- SK là siêu khóa khi
∀r, ∀t1, t2 Є r, t1 ≠ t2 => t1[SK] ≠ t2[SK]
- Siêu khóa là tập các thuộc tính dùng để xác định tính duy nhất của mỗi bộ
trong quan hệ.
- Mọi lược đồ quan hệ có tối thiểu một siêu khóa.
2. Khóa
Định nghĩa:
- Gọi K là một tập con khác rỗng các thuộc tính của R
- K là khóa nếu thỏa mãn đồng thời 2 điều kiện
K là một siêu khóa của R
∀ K’ là tập con của K, K’ ≠ K, K’ không phải là siêu khóa của R
Nhận xét:
- Giá trị của khóa dùng để nhận biết một bộ trong quan hệ.
- Khóa là một đặc trưng của lược đồ quan hệ, không phụ thuộc vào thể hiện
quan hệ.
- Khóa được xây dựng dựa vào ý nghĩa của một số thuộc tính trong quan hệ.
11
- - Lược đồ quan hệ có thể có nhiều khóa
3. Khóa chính
Xét quan hệ:
NHANVIEN (MAVN, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
Có 2 khóa:
MANV
HONV, TENNV, NS
Khi cài đặt quan hệ thành bảng (table) chọn một khóa làm cơ sở để nhận biết các
bộ:
- Khóa có ít thuộc tính hơn
- Khóa được chọn làm khóa chính (PK_primary key)
- Các thuộc tính khóa chính phải có giá trị khác null.
- Các thuộc tính khóa chính thường được gạch dưới.
NHANVIEN (MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
4. Tham chiếu
- Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một thuộc tính
B của quan hệ S, ta gọi R tham chiếu S.
- Bộ được tham chiếu phải tồn tại trước.
S
TENPHG MAPHG
Nghiên cứu 5
Điều hành 4
Quản lý 1
R
PHG
TÊNNV HONV NGAYSINH DCHI LUONG
5
Tùng Nguyễn 12/08/1955 638 NVC Q5 40000
4
Hằng Bùi 07/19/1985 332 NTH Q1 25000
4
Như Lê 06/20/1988 291 HTV Q6 43000
5
Hùng Nguyễn 09/15/1963 Null 38000
5. Khóa ngoại
Xét hai lược đồ R và S
- Gọi FK là tập thuộc tính khác rỗng của R
- FK là khóa ngoại (Foreign Key) của R khi
12
- - Các thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính khóa
chỉnh của S
- Giá trị FK của một bộ t1 Є R
+ Hoặc bằng giá trị tại khóa chính của một bộ t2 Є R
+ Hoặc bằng giá trị rỗng
Ví dụ :
Quan hệ tham chiếu:
NHANVIEN (MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
PHONGBAN (TENPHG, MAPHG)
Khóa ngoại
Quan hệ bị Khóa chính
tham chiếu
Nhận xét:
- Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia vào khóa
chính, vừa tham gia vào khóa ngoại.
- Khóa ngoại có thể tham chiếu đến khóa chính trên cùng một lược đồ quan hệ.
- Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính.
Ràng buộc tham chiếu = ràng buộc khóa ngoại.
- Khóa ngoại bao gồm nhiều thuộc tính, nó không phải là khóa chính của bộ này
nhưng là khóa chính của bộ kia.
13
- 6. Biểu diễn ràng buộc tham chiếu
NHANVIEN
HONV TENLOT TENNV MANV NS DCHI GT LUONG MA_NQL PHG
PHONGBAN
TENPHG MAPHG TRPHG NG_NHANCHUC
DIADIEM_PHG
MAPHG DIADIEM
DEAN
TENDA SODA DIADIEM_DEAN PHG
PHANCONG
MANV MADA THOIGIAN
THANNHAN
MANV TENTN NS GT QUANHE
III. CÁC ĐẶC TRƯNG CỦA QUAN HỆ
- Thứ tự các bộ trong quan hệ là không quan trọng.
- Thứ tự giữa các giá trị trong một bộ là quan trọng.
- Mỗi giá trị trong một bộ:
+ Hoặc là một giá trị nguyên tố.
+ Hoặc là một giá trị rỗng (null).
- Không có bộ nào trùng nhau.
IV. CHUYỂN LƯỢC ĐỒ E-R SANG LƯỢC ĐỒ QUAN HỆ
Các quy tắc chuyển đổi
1. Tập thực thể
14
- Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên và
tập thuộc tính.
2. Mối quan hệ
a.Một –Một
Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia hoặc thêm thuộc
tính khóa vào cả hai quan hệ
b.Một – Nhiều
Thêm vào quan hệ một thuộc tính khóa của quan hệ nhiều.
c.Nhiều – Nhiều
Tạo ra một quan hệ mới có:
- Tên quan hệ là tên của mối quan hệ.
- Thuộc tính là những thuộc tính khóa của các tập thực thể liên quan.
3. Thực thể yếu
Chuyển thành một quan hệ có:
- Cùng tên với thực thể yếu.
- Thêm vào thuộc tính khóa của quan hệ liên quan.
4. Thuộc tính đa trị
Chuyển thành một quan hệ:
- Có cùng tên với thuộc tính đa trị.
- Thuộc tính khóa của quan hệ này là khóa ngoại của quan hệ chứa thuộc tính đa
trị.
5. Liên kết đa ngôi (n>2)
Chuyển thành một quan hệ:
- Có cùng tên với tên mối liên kết đa ngôi.
- Khóa chính là tổ hợp các khóa của tập các thực thể tham gia liên kết.
Tổng kết:
E -R Mô hình quan hệ
- Loại thực thể - Quan hệ thực thể
- Quan hệ 1 ÷1, 1÷N - Khóa ngoài
- Quan hệ N÷M - Quan hệ với 2 khóa ngoài
- Quan hệ đa ngôi - Quan hệ với n khóa ngoài
- Thuộc tính - Thuộc tính
15
- - Thuộc tính phức hợp - Tập các thuộc tính đơn
- Thuộc tính đa trị - Quan hệ với khóa ngoài
- Tập các giá trị - Miền giá trị
- Thuộc tính khóa - Khóa chính (khóa dự tuyển)
B/ BÀI TẬP GIẢI MẪU
Bài số1:
Chuyển đổi một mô hình công ty sang ER
Giả sử chúng ta có kiểu liên kết ĐẠILÝ VẬTTƯ DỰÁN.
Đây là một kiểu liên kết cấp ba. Giả sử rằng kiểu thực thể ĐẠILÝ có thuộc tính
khoá là MãsốĐL, kiểu thực thể VẬTTƯ có thuộc tính khoá là MãsốVT, kiểu thực
thể DỰÁN có thuộc tính khoá là MãsốDA còn kiểu liên kết có thuộc
tính là Sốlượng để lưu số lượng vật tư mà một đai lý cung cấp cho môt dự án. Khi
đó kiểu liên kết sẽ được chuyển thành một quan hệ có tên là
CUNGCẤP với các thuộc tính MãsốĐL, MãsốVT , MãsốDA, Sốlượng và khoá
chính gồm ba thuộc tính MãsốĐL, MãsốVT , MãsốDA.
Trong những bài trước chúng ta đã phân tích và thiết kế mô hình ER cho bài
toán CÔNGTY.
Giả sử ta có kiểu thực thể ĐƠNVỊ với các thuộc tính là MãsốĐV, TênĐV,
ĐịađiểmĐV trong đó các thuộc tính khoá là MãsốĐV, TênĐV (do mỗi đơn vị có
một tên duy nhất), và ĐịađiểmĐV là một thuộc tính đa trị (do mỗi đơn vị có nhiều
địa điểm). Khi đó kiểu thực thể ĐƠNVỊ được chuyển thành quan hệ ĐƠNVI với
các thuộc tính MãsốĐV, TênĐV. Khoá chính của quan hệ là MãsốĐV (chọn một
trong hai thuộc tính khoá của kiểu thực thể).
Giả sử ta có kiểu liên kết NHÂNVIÊN CON trong đó NHÂNVIÊN là
kiểu thực thể chủ với các thuộc tính MãsốNV, Họđệm, Tên, Ngàysinh, Giớitính.
Thuộc tính khoá của NHÂNVIÊN là MãsốNV. CON là kiểu thực thể phụ thuộc
(vào thực thể NHÂNVIÊN) với các thuộc tính là Họtêncon, Ngàysinh, Giớitính.
Kiểu thực thể này không có thuộc tính khoá. Khi đó kiểu thực thể NHÂNVIÊN
16
- được chuyển thành quan hệ NHÂNVIÊN với các thuộc tính như trên. Kiểu thực
thể CON được chuyển thành quan hệ CON với các thuộc tính MãsốNV, Họtêncon,
Ngàysinh, Giớitính. Quan hệ này có khoá ngoài là MãsốNV, khoá chính là Mã
sốNV, Họtêncon
Giả sử ta có kiểu liên kết NHÂNVIÊN ĐƠNVỊ, với các thuộc tính
của các kiểu thực thể giống như ở trên. Kiểu liên kết là một kiểu liên kết
1:1, đồng thời sự tham gia của NHÂNVIÊN vào kiểu liên kết là bộ phận (không
phải nhân viên nào cũng quản lý đơn vị), sự tham gia của ĐƠNVỊ là đầy đủ (một
đơn vị luôn luôn phải có một người quản lý). Khi đó, kiểu thực thể NHÂNVIÊN sẽ
được chuyển thành quan hệ NHÂNVIÊN với các thuộc tính của nó, còn kiểu thực
thể ĐƠNVỊ sẽ được chuyển thành quan hệ ĐƠNVỊ với các thuộc tính của kiểu
thực thể ĐƠNVỊ cộng thêm với thuộc tính MãsốNV và thuộc tính của kiểu liên kết
, nếu có. Thuộc tính MãsốNV sẽ là khoá ngoài cho quan hệ ĐƠNVỊ. Để
làm rõ vai trò người quản lý, khi chuyển sang quan hệ ĐƠNVỊ, người ta đổi tên
thuộc tính MãsốNV thành MãsốNQL (Mã số người quản lý). Ngoài ra, kiểu liên kết
có một thuộc tính là Ngàybắtđầu, thuộc tính này cũng được đưa vào quan
hệ ĐƠNVỊ
Giả sử ta có kiểu liên kết NHÂNVIÊN ĐƠNVỊ, trong đó
các kiểu thực thể NHÂNVIÊN, ĐƠNVỊ là các kiểu thực thể ở trên. Kiểu liên kết
là kiểu liên kết N:1 (một nhân viên chỉ làm việc cho một đơn vị và
mỗi đơn vị có nhiều nhân viên làm việc cho). Khi đó, Kiểu thực thể ĐƠNVỊ sẽ
được chuyển thành quan hệ ĐƠNVỊ với các thuộc tính của kiểu thực thể ĐƠNVỊ
còn kiểu thực thể NHÂNVIÊN sẽ được chuyển thành quan hệ NHÂNVIÊN với
các thuộc tính của kiểu thực thể NHÂNVIÊN cộng thêm với thuộc tính MãsốĐV
(là khoá chính của quan hệ ĐƠNVỊ). Thuộc tính MãsốĐV sẽ là thuộc tính khoá
ngoài của quan hệ NHÂNVIÊN.
Giả sử ta có kiểu liên kết NHÂNVIÊN DỰÁN. Kiểu thực thể
NHÂNVIÊN có các thuộc tính như trên với thuộc tính khoá là MãsốNV. Kiểu thực
17
- thể DỰÁN có các thuộc tính là MãsốDA, TênDA, ĐịađiểmDA trong đó thuộc tính
khoá là MãsốDA. Kiểu liên kết < làm việc với> là một kiểu liên kết N:M (một
nhân viên có thể làm việc với nhiều dự án và mỗi dự án có nhiều nhân viên làm
việc với). Kiểu liên kết này có một thuộc tính là Sốgiờ để lưu số giờ mà mỗi nhân
viên làm việc cho một dự án. Khi đó kiểu liên kết sẽ được chuyển
thành một quan hệ có tên là NHÂNVIÊN_DỰ ÁN với các thuộc tính MãsốNV,
MãsốDA, Sốgiờ trong đó hai thuộc tính MãsốNV, MãsốDA tạo thành khoá chính
(phức hợp) cho quan hệ.
Xét kiểu thực thể ĐƠNVỊ ở trên. Thuộc tính ĐịađiểmĐV là một thuộc tính đa
trị. Khi chuyển thành mô hình quan hệ nó sẽ được chuyển thành một quan hệ có
khoá chính là MãsốĐV, Địa điểm và có thể có thêm một số thuộc tính khác lưu
thông tin về địa điểm.
Giả sử chúng ta có kiểu liên kết ĐẠILÝ VẬTTƯ DỰÁN.
Đây là một kiểu liên kết cấp ba. Giả sử rằng kiểu thực thể ĐẠILÝ có thuộc tính
khoá là MãsốĐL, kiểu thực thể VẬTTƯ có thuộc tính khoá là MãsốVT, kiểu thực
thể DỰÁN có thuộc tính khoá là MãsốDA còn kiểu liên kết có thuộc
tính là Sốlượng để lưu số lượng vật tư mà một đai lý cung cấp cho môt dự án. Khi
đó kiểu liên kết sẽ được chuyển thành một quan hệ có tên là
CUNGCẤP với các thuộc tính MãsốĐL, MãsốVT , MãsốDA, Sốlượng và khoá
chính gồm ba thuộc tính MãsốĐL, MãsốVT , MãsốDA.
Trong những bài trước chúng ta đã phân tích và thiết kế mô hình ER cho bài
toán CÔNGT.
Áp dụng các bước của thuật toán ở trên, chúng ta có mô hình quan hệ cho bài
toán CÔNGTY như sau:
NHÂNVIÊN (Họđệm, Tên, MãsốNV, Ngàysinh, Địachỉ, Giớitính, Lương,
MãsôNGS, MãsốĐV)
ĐƠNVỊ (TênĐV, MãsốĐV, MãsốNQL, Ngàybắtđầu)
ĐƠNVỊ_ĐỊAĐIỂM (MãsốĐV, ĐịađiểmĐV)
18
- DỰÁN (TênDA, MãsốDA, ĐịađiểmDA, MãsốĐV)
NHÂNVIÊN_DỰÁN (MãsốNV, MãsốDA, Sốgiờ)
PHỤTHUỘC (MãsốNV, Têncon, Giớitính, Ngàysinh)
Dưới đây là mô hình quan hệ thể hiện liên kết giữa các quan hệ trên:
19
- C/ BÀI TẬP TỰ GIẢI
Bài số1
Chuyển đổi từ mô hình dữ liệu mô hình dữ liệu quan hệ sang ER
DOCGIA (ma_docgia, ho, tenlot, ten, hinh).
THEODOCGIA (ma_docg ia, ngaylapthe, ngayhethan)
NGUOILON (ma_docgia, sonha, duong, quan, dienthoai, ngaysinh)
TREEM (ma_docgia, ma_docgia_nguoilon, ngaysinh)
TUSACH (ma_tuasach, tuasach, tacgia, tomtat)
DAUSACH (isbn, ma_tuasach, ngonngu, bia, trangthai)
CUONSACH (ma_cuonsach, isbn, tinhtrang)
DANGKI (isbn, ma_docgia, ngay_dk, ghichu)
PHIEUMUON (isbn, ma_cuonsach, ma_docgia , ngaymuon , ngaytra)
PHIEUTRA (isbn, ma_cuonsach, ma_docgia , ngaymuon, ngaytrathatsu, tienphat)
Bài số 2
Chuyển đổi từ mô hình dữ liệu mô hình dữ liệu quan hệ sang ER
KHACH_HANG (SHKH, HOTEN, LOAI)
RUOU_VANG (SHRV, VUNGNHO, NAMSX, DORUOU)
NHA_SX (SHNSX, HOTEN, THANHPHO)
SAN_PHAM (SHRV, SHNSX)
(SHKH: số hiệu khách hàng
SHRV: số hiệu rượu vang
SHNSX: số hiệu nhà sản xuất )
Bài số 3
Vẽ lược đồ quản lý đề án công ty:
CSDL đề án công ty theo dõi các thông tin liên quan đến nhân viên, phòng ban
và đề án
- Cty có nhiều phòng ban, mỗi phòng ban có tên duy nhất, mã phòng duy nhất, một
trưởng phòng và ngày nhận chức. Mỗi phòng ban có thể ở nhiều địa điểm khác
nhau.
- Đề án có tên duy nhất, mã duy nhất, do 1 một phòng ban chủ trì và được triển
khai ở 1 địa điểm.
20
nguon tai.lieu . vn