Tải bản đầy đủ (.pdf) (123 trang)

Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính Cao đẳng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 123 trang )

ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI
TRƢỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI

ĐẶNG MINH NGỌC (Chủ biên)
LÊ TRỌNG HƢNG – NGUYỄN TUẤN HẢI

GIÁO TRÌNH CƠ SỞ DỮ LIỆU
Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính
Trình độ: Cao đẳng
(Lưu hành nội bộ)

Hà Nội - Năm 2021


LỜI NĨI ĐẦU
Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã
hội. Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm đƣợc các kỹ thuật
cơ bản của cơ sở dữ liệu. Tài liệu học tập này nhằm trình bày các kỹ thuật cơ sở
của cơ sở dữ liệu truyền thống, đó là mơ hình liên kết thực thể, mơ hình cơ sở dữ
liệu quan hệ. Tài liệu cũng trình bày cách thiết kế một cơ sở dữ liệu quan hệ,
cách sử dụng các phép toán đại số quan hệ để tạo, cập nhật và truy vấn cơ sở dữ
liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa
cơ sở dữ liệu quan hệ.
Tài liệu học tập “Cơ sở dữ liệu” là sách hƣớng dẫn học tập dùng cho sinh
viên ngành công nghệ thơng tin và ngành mạng máy máy tính & truyền thông dữ
liệu.
Tài liệu ”Cơ sở dữ liệu” không chỉ đề cập đến những vấn đề cơ sở lý
thuyết mà cịn trình bày một số kỹ năng cần thiết để thiết kế và cài đặt các hệ cơ
sở dữ liệu cụ thể. Hy vọng sẽ có ích cho sinh viên và những ngƣời muốn xây
dựng các hệ thống tin học ứng dụng phục vụ cho sản xuất, quản lý trong các
doanh nghiệp.


Mặc dù đã có những cố gắng để hồn thành giáo trình theo kế hoạch,
nhƣng do hạn chế về thời gian và kinh nghiệm soạn thảo giáo trình, nên tài liệu
chắc chắn còn những khiếm khuyết. Rất mong nhận đƣợc sự đóng góp ý kiến
của các thầy cơ trong Khoa cũng nhƣ các bạn sinh viên và những ai sử dụng tài
liệu này.
Địa chỉ đóng góp về khoa CNTT, Trƣờng Cao Đẳng Nghề Việt Nam –
Hàn Quốc, Đƣờng Uy Nỗ – Đông Anh – Hà Nội.
Xin chân thành cảm ơn!
Hà Nội, ngày … tháng … năm 2021
Chủ biên: Đặng Minh Ngọc

1


MỤC LỤC
LỜI NÓI ĐẦU ..................................................................................................... 1
MỤC LỤC ............................................................................................................ 2
Chƣơng 1 Tổng quan về cơ sở dữ liệu............................................................ 6
1.1 Dữ liệu – thông tin .................................................................................... 6
1.2 Các hệ thống xử lý truyền thống ............................................................... 6
1.3 Phƣơng pháp cơ sở dữ liệu ....................................................................... 7
1.4 Phân loại ngƣời dùng CSDL ..................................................................... 8
Chƣơng 2 Các mơ hình dữ liệu ..................................................................... 10
2.1 Sơ đồ thực thể liên kết ............................................................................ 10
2.2 Mơ hình thực thể, quan hệ ...................................................................... 16
2.3 Mơ hình dữ liệu quan hệ: ........................................................................ 17
2.4 Mơ hình dữ liệu mạng ............................................................................. 19
2.5 Mơ hình dữ liệu phân cấp ....................................................................... 19
Chƣơng 3 Mơ hình cơ sở dữ liệu quan hệ .................................................... 24
3.1 Các khái niệm ......................................................................................... 24

3.2 Ràng buộc toàn vẹn ................................................................................. 27
3.3 Các phép tính trên cơ sở dữ liệu quan hệ ................................................ 33
Chƣơng 4 Ngôn ngữ thao tác dữ liệu ........................................................... 40
4.1 Đại số quan hệ ......................................................................................... 40
4.2 Các phép toán tập hợp ............................................................................. 41
4.3 Các phép toán đặc biệt trên quan hệ ....................................................... 45
4.4 Các phép toán quan hệ bổ sung .............................................................. 49
Chƣơng 5 Ngôn ngữ truy vấn dữ liệu SQL ................................................. 51
5.1 Cách tạo quan hệ bằng Access ................................................................ 51
5.2 Câu lệnh truy vấn .................................................................................... 55
Chƣơng 6 Lý thuyết thiết kế cơ sở dữ liệu.................................................. 65
6.1 Phụ thuộc hàm......................................................................................... 65
6.2 Phép tách các lƣợc đồ quan hệ ................................................................ 86
2


6.3 Các dạng chuẩn ..................................................................................... 109
6.4 Chuẩn hóa qua phép tách ...................................................................... 117
TÀI LIỆU THAM KHẢO ........................................................................... 122

3


CHƢƠNG TRÌNH MƠN HỌC
Tên mơn học: Cơ sở dữ liệu
Mã số của môn học: MH 29
Thời gian của môn học: 60 giờ; (Lý thuyết: 30 giờ; Thực hành, thí nghiệm,
thảo luận, bài tập: 26 giờ; Kiểm tra: 4 giờ)
I. Vị trí, tính chất mơn học:
- Vị trí:

+ Mơn học đƣợc bố trí sau khi sinh viên học xong các mơn học chung,
các môn học, mô đun đào tạo chuyên môn nghề.
+ Mơn học đƣợc bố trí sau khi sinh viên học xong các mơn học Lập
trình căn bản.
- Tính chất:
+ Là mô học chuyên ngành tự chọn.
II. Mục tiêu môn học:
- Về kiến thức:
+ Hiểu đƣợc công dụng của cơ sở dữ liệu.
+ Xây dựng đƣợc các mơ hình quan hệ.
+ Thiết kế đƣợc cơ sở dữ liệu
+ Phân tích đƣợc chƣơng trình: xác định nhiệm vụ chƣơng trình.
- Về kỹ năng:
+ Chuyển các câu hỏi tối ƣu hoá bằng sơ đồ sang ngơn ngữ SQL.
+ Viết đƣợc chƣơng trình và thực hiện chƣơng trình trên máy tính có
ứng dụng CSDL.
- Về năng lực tự chủ và trách nhiệm:
+ Có ý thức tự giác, tính kỷ luật, tinh thần trách nhiệm trong học tập.
+ Tính cẩn thận, trách nhiện khi thao tác trên Cơ sở dữ liệu.

4


III. Nội dung môn học:
1.Nội dung tông quát và phân phối thời gian
Thời gian
TT

Tên các bài trong môn học


Tổng
số


thuyết

Thực
hành,
Bài tập

Kiểm
tra*

1

Tổng quan về cơ sở dữ liệu

5

4

1

2

Các mơ hình dữ liệu

8

2


5

3

Mơ hình cơ sở dữ liệu quan hệ

5

3

2

4

Ngơn ngữ thao tác dữ liệu

14

8

6

5

Ngôn ngữ truy vấn dữ liệu SQL

14

7


6

1

6

Lý thuyết thiết kế cơ sở dữ liệu

14

6

6

2

60

30

26

4

Cộng

1

*Ghi chú: Thời gian kiểm tra được tích hợp giữa lý thuyết với thực hành

được tính bằng giờ thực hành.

5


Chƣơng 1
Tổng quan về cơ sở dữ liệu
1.1 Dữ liệu – thơng tin
- Dữ liệu là những gì có thật đƣợc ghi nhận lại (thủ cơng hoặc dùng máy
tính) và mang một ý nghĩa nào đó.
- Thơng tin là khái niệm phản ánh tri thức, sự hiểu biết của con ngƣời về
một đối tƣợng.
฀Dữ liệu là khái niệm thô và rời rạc.
฀Thông tin là nội dung của dữ liệu.
- Cơ sở dữ liệu là một tập hợp dữ liệu đƣợc tổ chức và lƣu trữ theo một cấu
trúc chặt chẽ nhằm phục vụ cho nhiều đối tƣợng với các mục đích khác nhau.
1.2 Các hệ thống xử lý truyền thống
Hệ thống quản lý tệp truyền thống thƣờng đƣợc tổ chức riêng rẽ, phục vụ
cho một mục đích của một đơn vị hoặc một đơn vị con trực thuộc cụ thể.
Hệ thống quản lý tệp truyền thống cho phép ta tạo các tệp, truy cập và xử
lý thông tin trong các tệp thơng qua các chƣơng trình ứng dụng. Các phần mềm
ứng dụng này đƣợc viết bằng các ngôn ngữ lập trình đa năng nhƣ PASCAL, C ...
- Ƣu điểm:
Việc xây dựng hệ thống các tệp tin riêng tại từng đơn vị quản lý ít tốn thời
gian bởi khối lƣợng thơng tin cần quản lý và khai thác là nhỏ, không đòi hỏi đầu
tƣ vật chất và chất xám nhiều, do đó triển khai ứng dụng nhanh.
Thơng tin đƣợc khai thác chỉ phục vụ mục đích hẹp nên khả năng đáp ứng
nhanh chóng, kịp thời.
- Nhƣợc điểm:
Thơng tin đƣợc tổ chức riêng rẽ ở nhiều nơi nên việc cập nhật dễ làm mất

tính nhất qn dữ liệu.
Hệ thống thơng tin đƣợc tổ chức thành các hệ thống file riêng lẻ nên thiếu sự
chia sẻ thơng tin giữa các nơi.
Có sự dƣ thừa dữ liệu rất lớn qua việc trùng lặp các tệp tin trong các ứng
dụng khác nhau.
Không gian đĩa bị lãng phí, khó khăn trong việc bảo trì hệ thống.
Khó khăn trong việc truy xuất dữ liệu.
6


Một ví dụ điển hình về sự trùng lắp dữ liệu nhƣ trong Hệ quản lý nguồn nhân
lực bao gồm ba hệ chính:
1. Hệ lƣơng, hệ này duy trì ngày công và lƣơng cho tất cả nhân viên.
2. Hệ nhân sự, hệ này duy trì lý lịch cá nhân, dữ liệu về tổ chức, cơng việc
đào tạo và vị trí thăng tiến.
3. Hệ hƣu, hệ này quản trị các qui tắc liên quan đến nghỉ hƣu, loại nghỉ hƣu.
Chi tiết về hƣu của từng nhân viên.
Vấn đề bất lợi là Hệ quản lý lƣơng thông thƣờng đƣợc quản lý bởi phịng Tài
chính, trong khi Hệ quản lý nhân sự và Hệ quản lý hƣu đƣợc quản lý bởi phòng Tổ
chức cán bộ. Rõ ràng, có nhiều dữ liệu về nhân viên là chung cho cả ba hệ. Thƣờng
những hệ này thực hiện và lƣu trữ riêng biệt nên chúng tạo ra sự trùng lặp dữ liệu.
Qua phân tích trên, chúng ta nhận thấy việc tổ chức dữ liệu theo hệ thống tệp
hồn tồn khơng phù hợp với những hệ thống thông tin lớn. Việc xây dựng một hệ
thống thông tin đảm bảo đƣợc tính nhất quán dữ liệu, đáp ứng đƣợc nhu cầu khai
thác đồng thời của nhiều ngƣời là thực sự cần thiết.
1.3 Phƣơng pháp cơ sở dữ liệu
1.3.1 Cơ sở dữ liệu là gì
Cơ sở dữ liệu (CSDL) là một hệ thống các thơng tin có cấu trúc đƣợc lƣu
trữ trên các thiết bị nhƣ băng từ, đĩa từ,để có thể thoả mãn yêu cầu khai thác đồng
thời của nhiều ngƣời sử dụng. CSDL gắn liền với đại số, logic toán và một số lĩnh

vực khác.
1.3.2 Hệ quản trị cơ sở dữ liệu
Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra nhƣ đã nói ở
trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những
phần mềm này đƣợc gọi là các hệ quản trị CSDL. Các hệ quản trị CSDL có
nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng nhƣ những ngƣời
khai thác CSDL. Hiện nay trên thị trƣờng phần mềm đã có những hệquản trị
CSDL hỗ trợđƣợc nhiều tiện ích nhƣ: MS Access, Visual Foxpro, SQL Server
Oracle, 
Mỗi hệ quản trị CSDL đều đƣợc cài đặt dựa trên một mơ hình dữ liệu cụthể.
Dù là dựa trên mơ hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủcác
yếu tố sau:
- Ngôn ngữ giao tiếp giữa ngƣời sử dụng và CSDL, bao gồm :
Ngôn ngữ mô tả dữ liệu: Để cho phép khai báo cấu trúc của CSDL, khai
báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó.
7


Ngôn ngữ thao tác dữ liệu: Cho phép ngƣời sử dụng có thể cập nhật dữ liệu
(thêm/sửa/xố)
Ngơn ngữ truy vấn dữ liệu: Cho phép ngƣời khai thác sử dụng đểtruy vấn
các thông tin cần thiết trong CSDL
Ngôn ngữ quản lý dữ liệu: Cho phép những ngƣời quản trị hệthống thay
đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn
khai thác CSDL cho ngƣời sử dụng.,
- Từ điển dữ liệu:
Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của
CSDL, các chƣơng trình ứng dụng, mật mã, quyền hạn sử dụng,
- Cơ chế giải quyết vấn đề tranh chấp dữ liệu:
Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết

các vấn đề này. Một số biện pháp sau đây thƣờng đƣợc sử dụng: thứ nhất: cấp
quyền ƣu tiên cho từng ngƣời sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất dữliệu,
phân chia thời gian, ngƣời nào có yêu cầu trƣớc thì có quyền truy xuất dữliệu
trƣớc,
Hệ quản trị CSDL cũng phải có cơ chế sao lƣu (backup) và phục hồi
(restore) dữ liệu khi có sự cố xảy ra.
Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị CSDL sẽ
tựđộng tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL
lớn. Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng.
1.4 Phân loại ngƣời dùng CSDL
- Ngƣời quản trị cơ sở dữ liệu: Trong những tổ chức có nhiều ngƣời cùng
sử dụng chung một nguồn dữ liệu thì nhất thiết phải có một ngƣời đứng đầu
quản lý, chịu trách nhiệm đối với nguồn dữ liệu này. Đó chính là ngƣời quản trị
cơ sở dữ liệu (Database Administrators - DBA ). DBA có nhiệm vụ tổ chức nội
dung của cơ sở dữ liệu, tạo và cấp quyền truy cập cơ sở dữ liệu cho ngƣời dùng,
đƣa ra yêu cầu về phần cứng và phần mềm… nếu cần thiết. DAB cũng phải chịu
trách nhiệm bảo vệ an tồn, Backup thơng tin…khi có sự cố.
- Ngƣời phân tích và thiết kế hệ thống: Là ngƣời chịu trách nhiệm: (a) xác
định những dữ liệu nào cần lƣu trữ trong CSDL; (b) lựa chọn những cấu trúc
thích hợp để biểu diễn và lƣu trữ; (c) phỏng vấn tất cả những ngƣời sử dụng
CSDL sau này để hiểu đƣợc những yêu cầu của họ đối với CSDL; (d) tiến hành
phân tích thiết kế hệ thống sau khi thống nhất đƣợc tất cả các yêu cầu của ngƣời
sử dụng.
8


- Ngƣời viết chƣơng trình ứng dụng: Là ngƣời viết phần mềm phục vụ cho
việc thực hiện các chức năng của hệ thống bằng những ngơn ngữ phù hợp, ngồi
ra cịn có các nhiệm vụ: (a) chạy thử chƣơng trình (test); (b) chữa lỗi và gỡ rối
chƣơng trình (debug); (c) viết tài liệu, hƣớng dẫn sử dụng; (d) bảo trì hệ thống

- Ngƣời dùng cuối (EndUser): Ngƣời dùng cuối là những ngƣời truy cập
CSDL để: (a) cập nhật dữ liệu; (b) cruy vấn dữ liệu; (c) thống kê, báo cáo. Mỗi
EndUse chỉ có một quyền hạn trong phạm vi nhất định đỗi với cơ sở dữ liệu nhƣ
quyền đọc, ghi, copy...)

9


Chƣơng 2
Các mơ hình dữ liệu
Giới thiệu:
Chƣơng này giúp cho ngƣời đọc làm quen với các khái niệm cơ bản về cơ
sở dữ liệu, hệ quản trị cơ sở dữ liệu và các mơ hình quan hệ
Mục tiêu:
- Hiểu các khái niệm về cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và mơ hình
quan hệ.
- Biết cách chuyển đổi từ lƣợc đồ cơ sở dữ liệu sang mơ hình quan hệ dữ liệu.
- Áp dụng các phép toán đại số quan hệ để biểu diễn trên lƣợc đồ quan hệ.
- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập.
Nội dung chính:
2.1 Sơ đồ thực thể liên kết
2.1.1 Giới thiệu Sơ đồ thực thể liên kết
Sơ đồ thực thể liên kết (Entity Relationshop Model) viết tắt là (ER) đƣợc
CHEN giới thiệu vào năm 1976. Đây là một mơ hình đƣợc sử dụng rộng rãi
trong các bản thiết kế cơ sở dữ liệu ở mức quan niệm.
So với mơ hình mạng thì mơ hình ER có nhiều ƣu điểm hơn và nó thể hiện
rõ hơn các thành phần trong thế giới thực. Ví dụ trong mơ hình mạng ta chỉ biểu
diễn các đối tƣợng chính chứ khơng mơ tả đƣợc các đặc điểm trong đối tƣợng
đó, vậy thì trong mơ hình ER sẽ khắc phục đƣợc những điểm yếu này. Chính vì
vậy việc lựa chọn mơ hình này ln là quyết định của các nhà phân tích thiết kế

CSDL.
a. Loại thực thể trong mơ hình ER
Loại thực thể (Entity Type) là là những đối tƣợng hay sự vật của thế giới
thực cần quản lý trong ứng dụng. Các đối tƣợng ở đây có thể sờ thấy và cũng có
thể mang tính chất ảo tƣởng.
Ví dụ: Khi thiết kế cơ sở dữ liệu quản lý học viên thì ta sẽ có một số thực
thể nhƣ sau:
+ HOCVIEN
+ LOP
+ ...
10


Trong mơ hình ER thì ta sẽ dùng ký hiệu sau để mơ tả loại thực thể:

Hình 2.1. Ví dụ về thực thể

Nhƣ vậy ta dùng ký hiệu hình chữ nhật và bên trong chính là tên của loại
thực thể.
b. Thực thể (Entity) trong mơ hình ER
Trong lập trình hƣớng đối tƣợng thì khi ta tạo mới một lớp thì tức là ta đã
tạo một thể hiện của đối tƣợng mà class đó đang mơ tả. Vậy thì trong mơ hình
thực thể mối kết hợp thì thực thể chính là một thể hiện của loại thực thể.
Ví dụ: Loại thực thể HOCVIEN gồm các thực thể nhƣ sau:
+ Sinh viên Nguyễn Văn A
+ Sinh viên Nguyễn Văn B
+ Sinh viên Nguyễn Văn C
+ ...
Tất cả những học viên trên chính là thực thể thể hiện cho loại thực thể
HOCVIEN.

c. Thuộc tính của loại thực thể (Entity Attribute)
Thuộc tính là những tính chất mơ tả một đối tƣợng cụ thể nào đó. Ví dụ ta
có chiếc mũ màu đỏ, chiếc áo màu vàng thì những màu sắc đỏ và vàng chính là
những thuộc tính của mũ và áo.
Nếu ở đây ta nhắm tới ví dụ ở phần trên thì với loại thực thể HOCVIEN ta
sẽ có một số thuộc tính nhƣ sau:
+ Mahv
+ Hoten
+ Gioitinh
+ Ngaysinh
+ Noisinh
+...
Và ta có ký hiệu nhƣ sau:
11


Hình 2.2. Thuộc tính của thực thể HOCVIEN

d. Các loại thuộc tính của loại thực thể
Chúng ta có tổng cộng ba loại thuộc tính chính đó là Đơn vị, Đa hợp và Đa
trị.
+ Đơn vị (simple) là loại thuộc tính chỉ có một giá trị duy nhất.
Ví dụ thuộc tính Noisinh, Mahv, ...
+ Đa hợp (Composite) là thuộc tính có thể đƣợc tạo từ nhiều thành phần.
Ví dụ thuộc tính Hoten có thể đƣợc tạo từ 3 thành phần đó là HỌ + TÊN LÓT +
TÊN. Ký hiệu là HOTEN (HO, TENLOT, TEN)
+ Đa trị (Multi valued) là loại thuộc tính có thể có nhiều giá trị đối với loại
thực thể. Ví dụ bằng cấp thì ta có bằng loại tốt, loại khá, trung bình khá và giỏi.
Ký hiệu là {BANGCAP}
Với hai loại thuộc tính đa hơp và đa trị thì ta có thể thiết kế chồng lên

nhau.
Ví dụ: {BANGCAP(TRUONGCAP, LOAIBANG, NGANH)}
e. Khóa của loại thực thể trong mơ hình ER
Nhƣ định nghĩa trên thì mỗi thực thể sẽ là một thể hiện của loại thực thể,
vậy thì làm sao để nhận diện các thực thể đó? Để nhận diện thì với mỗi thực
thể chúng ta sẽ xác định cho nó một khóa duy nhất. Nhƣ vậy khóa của loại thực
thể chính là dùng để nhận diện các thực thể của nó.
Ví dụ: trong loại thực thể HOCVIEN sẽ có nhiều thực thể học viên và mỗi
học viên sẽ có một mã số duy nhất. Nhƣ vậy mã học viên chính là Key để ta
nhận diện đƣợc học viên nào.
f. Các loại mối kết hợp trong mơ hình ER
Trong mơ hình mạng thì giữa hai đối tƣợng sẽ có một mối liên hệ và ta gọi
nó là loại liên hệ. Vậy thì trong mơ hình thực thể mối kết hợp ta gọi nó là loại
mối kết hợp. Vậy loại mối kết hợp chính là mối liên hệ giữa hai loại thực thể.
Ví dụ: Giữa hai loại thực thể HOCVIEN và LOP ta sẽ có loại mối kết hợp
THUOC, và ta biểu diễn nhƣ sau:
12


Hình 2.3. Ví dụ về mối kết hợp

Biểu diễn bằng lời nói thì nhƣ sau "học viên sẽ thuộc lớp nào đó"
Ngồi ra giữa hai loại thực thể có thể tồn tại nhiều loại mối kết hợp.
Ví dụ: Giữa hai thực thể HOCVIEN và LOP sẽ có hai loại mối kết hợp
nhƣ sau:
+ Học viên sẽ thuộc lớp nào đó
+ Học viên sẽ là lớp trƣờng lớp nào đó

Hình 2.4. Ví dụ về mối kết hợp qua lại


2.1.2 Chuyển từ Sơ đồ thực thể liên kết sang lƣợc đồ cơ sở dữ liệu
Thuật toán chuyển đổi đƣợc thực hiện theo các bƣớc sau (dựa trên CSDL
"CÔNG TY"):
Bƣớc 1 : Với mỗi kiểu thực thể thông thƣờng E trong lƣợc đồ ER, hãy tạo
một quan hệ R chứa mọi thuộc tính đơn của E. Với các thuộc tính phức hợp, chỉ
lấy các thuộc tính thành phần đơn của nó. Chọn một trong các thuộc tính khố
của E làm khố chính cho R. Nếu khoá đƣợc chọn của E là phức hợp (gồm
nhiều thuộc tính) thì tập các thuộc tính đơn đó sẽ cùng nhau tạo nên khố chính
của R.
Ví dụ: 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 khố 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. Khố chính của quan hệ là
MãsốĐV (chọn một trong hai thuộc tính khố của kiểu thực thể).
13


Bƣớc 2: Với mỗi kiểu thứ thể yếu W trong lƣợc đồ ER cùng với kiểu thực
thể chủ E, hãy tạo một quan hệ R chứa tất các các thành phần đơn (hoặc các
thành phần đơn của các thuộc tính phức hợp) của W nhƣ là các thuộc tính của R.
Đƣa các thuộc tính khố chính của các quan hệ tƣơng ứng với kiểu thực thể chủ
làm khố ngồi của R. Các thuộc tính này sẽ xác định kiểu liên kết của W. Khố
chính của R là một tổ hợp của khố chính của các quan hệ tƣơng ứng với kiểu
thực thể chủ và khoá bộ phận của kiểu thực thể yếu W nếu có.
Ví dụ: Giả sử ta có kiểu liên kết NHÂNVIÊN <có> 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 khố 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 khố. Khi đó kiểu

thực thể NHÂNVIÊN đƣợ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ó khố ngồi
là MãsốNV, khố chính là Mã sốNV, Họtêncon.
Bƣớc 3: Với mỗi kiểu liên kết 1:1 R trong lƣợc đồ ER, hãy xác định các
quan hệ S và T tƣơng ứng với các kiểu thực thể tham gia trong R. Hãy chọn một
trong các quan hệ, chẳng hạn S, và đƣa khố chính của T vào làm khố ngồi
trong S. Tốt nhất là chọn S là một kiểu thực thể tham gia toàn bộ vào R. Đƣa tất
các các thuộc tính đơn (hoặc các thành phần đơn của các thuộc tính phức hợp)
của kiểu liên kết 1:1 R vào làm các thuộc tính của S.
Chú ý: Có một cách chuyển đổi mối liên kết 1:1 nữa là nhập hai kiểu thực
thể và mối liên kết thành một quan hệ. Cách này thƣờng đƣợc áp dụng khi cả hai
kiểu thực thể đều tham gia tồn bộ vào liên kết.
Ví dụ: Giả sử ta có kiểu liên kết NHÂNVIÊN <quản lý>ĐƠ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 <quản lý> 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ị ln ln 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 <quản lý>, nếu có. Thuộc tính MãsốNV sẽ là khố
ngồ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ý). Ngồi ra, kiểu liên kết <quản lý> 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Ị.
14


Bƣớc 4: Với mỗi kiểu liên kết hai ngôi R kiểu 1:N, hãy xác định quan hệ S

biểu diễn kiểu thực thể tham gia ở phía N của kiểu liên kết. Đƣa khố chính của
quan hệ T biểu diễn kiểu thực thể tham gia vào R ở phía 1 vào làm khố ngồi
trong S. Làm nhƣ vậy là vì mỗi thực thể cụ thể của phía N đƣợc liên kết với
nhiều nhất là một thực thể cụ thể của phía 1 của kiểu liên kết. Đƣa các thuộc tính
đơn (hoặc các thành phần đơn của các thuộc tính phức hợp) của kiểu liên kết
1:N vào làm các thuộc tính của S.
Ví dụ: Giả sử ta có kiểu liên kết NHÂNVIÊN <làm việc cho>ĐƠ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àm việc cho> 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à khố chính của quan hệ ĐƠNVỊ). Thuộc tính
MãsốĐV sẽ là thuộc tính khố ngồi của quan hệ NHÂNVIÊN.
Bƣớc 5: Với mỗi kiểu liên kết N:M hai ngôi R, hãy tạo ra một quan hệ mới
S để biểu diễn R. Đƣa các khố chính của các quan hệ biểu diễn các kiểu thực
thể tham gia vào làm khố ngồi của S. Tổ hợp các khố chính đó sẽ tạo nên
khố chính của S. Đƣa tất cả các thuộc tính đơn (hoặc các thành phần đơn của
các thuộc tính phức hợp) của kiểu liên kết N:M vào làm các thuộc tính của S.
Chú ý rằng ta khơng thể biểu diễn một kiểu liên kết N:M bằng một thuộc tính
khố ngồi đơn giản trong một trong các quan hệ tham gia (nhƣđã làm với các
kiểu liên kết 1:1 và 1:N) vì tỷ số lực lƣợng N:M.
Ví dụ: Giả sử ta có kiểu liên kết NHÂNVIÊN <làm việc với> 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 khố là
MãsốNV. Kiểu thực thể DỰÁN có các thuộc tính là MãsốDA, TênDA,
ĐịađiểmDA trong đó thuộc tính khố 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 <làm việc với> 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 khố chính (phức hợp) cho quan hệ.
Bƣớc 6: Với mỗi thuộc tính đa trị A, hãy tạo ra một quan hệ mới R. Quan
hệ R này sẽ chứa một thuộc tính tƣơng ứng với A cộng với thuộc tính khố K
của quan hệ biểu diễn kiểu thực thể hoặc kiểu liên kết có thuộc tính là A làm
khố ngồi của R. Khố chính của R là một tổ hợp của A và K. Nếu thuộc tính
đa trị là phức hợp thì chúng ta chỉđƣa vào R các thành phần đơn của nó.
15


Ví dụ: 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ó khố 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.
Bƣớc 7: Với mỗi kiểu liên kết n ngơi R, trong đó n > 2, hãy tạo ra một
quan hệ S để biểu diễn R. Đƣa các khoá chính của các quan hệ biểu diễn các
kiểu thực thể tham gia vào làm khố ngồi của S. Đƣa tất cả các thuộc tính đơn
(hoặc các thành phần đơn của các thuộc tính phức hợp) của kiểu liên kết n- ngơi
vào làm thuộc tính của S. Khố chính của S thƣờng là một tổ hợp các khố
chính của các quan hệ biểu diễn các kiểu thực thể tham gia. Tuy nhiên, nếu ràng
buộc lực lƣợng trên một kiểu thực thể E nào đó tham gia vào R là 1 thì khố
chính của S khơng đƣợc chứa thuộc tính khố ngồi tham chiếu đến quan hệ E
tƣơng ứng với kiểu thực thể E.
Ví dụ: Giả sử chúng ta có kiểu liên kết ĐẠILÝ <cung cấp> VẬTTƢ<cho>
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 khố là MãsốĐL, kiểu thực thể VẬTTƢ có thuộc tính khố là
MãsốVT, kiểu thực thể DỰÁN có thuộc tính khố là MãsốDA cịn kiểu liên kết
<cung cấp> 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 <cung cấp> 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à khố chính gồm ba thuộc tính MãsốĐL, MãsốVT , MãsốDA.
2.2 Mơ hình thực thể, quan hệ
Mơ hình này đƣợc xây dựng trên nhận thức là thế giới thực mà chúng ta
muốn phản ánh là một tập hợp các đối tƣợng cơ sở và các mối quan hệ (liên kết)
giữa chúng.
Thực thể (Entity): Là đối tƣợng có thực hay trừu tƣợng mà ta
muốn ghi chép thông tin của nó
Mối quan hệ (Relationship): Là liên kết giữa các thực thể phản ánh
sự ràng buộc về mặt quản lý.
-

Kiểu liên kết: Có 3 kiểu:

+ Liên kết 1- 1: A –B
+ Liên kết 1- n: A B
+ Liên kết n- n: A B
Thông thƣờng liên kết 1- 1 đƣợc đƣa về cùng một thực thể, liên kết n- n
đƣợc tách thành 2 liên kết 1- n, bằng cách thêm 1 thực thể C B, C A
16


Cấu trúc tổng thể của một CSDL có thể đƣợc biểu thị bởi một biểu đồ ER, đƣợc thành lập từ các thành phần sau:
Hình chữ nhật biểu diễn các tập thực thể
Hình ellip biểu diễn các thuộc tính
Hình thoi biểu diễn các quan hệ
Các đƣờng nối các thuộc tính với tập các thực thể và các tập thực thể với
mối quan hệ.
Ví dụ 1:


Hình 2.5 Ví dụ mơ hình E- R

Ví dụ 2: Cho 2 thực thể độc giả và sách, quan hệ là ngƣời mƣợn
Với thực thể độc giả có các thuộc tính: Mã thẻ độc giả, Tên độc giả, Địa
chỉ
Với thực thể Sách có các thuộc tính Mã sách, tên sách, tác giả, năm xuất
bản, nhà xuất bản. Hãy vẽ biểu đồ E- R cho mơ hình trên.
2.3 Mơ hình dữ liệu quan hệ:
Mơ hình cơ sở dữ liệu Quan hệ (gọi tắt là mơ hình Quan hệ) do E.F Codd
đề xuất năm 1971. Mơ hình này bao gồm:
Một hệ thống các ký hiệu để mô tả dữ liệu dƣới dạng dòng và cột
nhƣ quan hệ, bộ, thuộc tính, khóa chính, khố ngoại, ...
Một tập hợp các phép toán thao tác trên dữ liệu nhƣ phép toán tập
hợp, phép tốn quan hệ.
Vì tính chất chặt chẽ của tốn học về lí thuyết tập hợp nên mơ hình này đã
mô tả dữ liệu một cách rõ ràng, uyển chuyển và trở thành rất thông dụng.
Ngày nay hầu hết các HQTCSDL đều tổ chức dữ liệu theo mơ hình dữ liệu
quan hệ.
17


Ví dụ:
Xét một hệ thơng tin phân phối hàng, hệ này quản lý hoạt động bán hàng
cho khách. Các kiểu thực thể chính của hệ thống bao gồm:
Kiểu thực thể Khách Hàng gồm các thuộc tính: Mã khách hàng (MaKH),
Tên khách hàng (TenKH), tuổi (Tuoi), Địa chỉ khách hàng (DiaChi)
Kiểu thực thể Hàng Hố gồm các thuộc tính: Mã hàng hoá (MaHang), Tên
hàng hoá (TenHang), Giá (Gia), Màu sắc của mặt hàng (Mau), Đơn vị tính
(DVT)
Kiểu thực thể Bán Hàng gồm các thuộc tính: MaKH, MaHang, số lƣợng

(SoLuong)
Ứng với mỗi kiểu thực thể ta có một bảng dữ liệu sau:
Bảng Khách Hàng
Bảng 2.1: Khách hàng

Bảng 2.2: Hàng hoá

Bảng 2.3 Hàng bán

18


Một cơ sở dữ liệu theo mơ hình quan hệ thực chất là một tập các bảng mà:
Mỗi bảng gọi là một quan hệ/ kiểu thực thể/ tệp.
Mỗi hàng gọi là một bộ/ thực thể/ bản ghi.
Mỗi cột gọi là một thuộc tính/ trƣờng.
2.4 Mơ hình dữ liệu mạng
Mơ hình dữ liệu mạng (Network Data Model) đƣợc gọi tắt là mơ hình
mạng (Network Model) là mơ hình dữ liệu đƣợc biểu diễn bởi một đồ thị có
hƣớng. Trong mơ hình mạng ngƣời ta dùng hai yếu tố là bản ghi và liên kết.
Khái niệm bản ghi giống nhƣ mơ hình phân cấp, liên kết là tập các con trỏ vật lý
thiết lập quan hệ chủ sở hữu giữa tập bản ghi này với tập bản ghi khác. So sánh
hai mô hình ta thấy bản ghi “đơn hàng” liên kết với bản ghi “ số lƣợng” bản ghi
“số lƣợng” cũng có liên kết với bản ghi “ mặt hàng” và bản ghi “số lƣợng “ là
thành viên của hai bản ghi chủ khác nhau.
Mơ hình mạng ngƣời ta đã khắc phục đƣợc việc dƣ thừa dữ liệu của mơ
hình phân cấp. Tuy vậy cấu trúc hệ thống phức tạp ngoài nội dung thơng tin,
mỗi bản ghi cịn có thêm thơng tin nữa là địa chỉ để truy nhập tới bản ghi thành
viên. Với mỗi liên kết phải có nhãn để xác định liên kết.
Ƣu điểm:

Dễ thể hiện mối liên kết n- n
Kiểu truy cập dữ liệu mềm dẻo hơn kiểu phân cấp Nhƣợc điểm:
Việc sửa đổi số liệu khó khăn.
Với những lập trình viên, việc thiết kế CSDL khó.
2.5 Mơ hình dữ liệu phân cấp
Mơ hình dữ liệu phân cấp (Hierachical Data Model) - đƣợc gọi tắt là mơ
hình phân cấp đƣợc đƣa ra vào những năm 60, trong mơ hình dữ liệu này dữ liệu
đƣợc tổ chức thành cấu trúc cây, trong đó các nút (node) của cây biểu diễn các
bản ghi, giữa các bản ghi liên kết với nhau theo mối quan hệ cha con:
Một cha có nhiều con.
Một con chỉ có một cha.
Ƣu điểm:
Thể hiện dễ dàng quan hệ 1- n.
Việc phân chia dữ liệu dễ thể hiện, đảm bảo an tồn dữ liệu
Tính độc lập của chƣơng trình và các dữ liệu đƣợc đảm bảo Nhƣợc điểm:
19


Không thể hiện đƣợc mối quan hệ n- n
Trong một hệ thống phân cấp, dữ liệu đƣợc tổ chức nhƣ trên dẫ đến khó
sửa đổi dữ liệu.
Lặp lại dữ liệu, lãng phí bộ nhớ và tốn nhiều cơng sức tạo lập.
BÀI TẬP CHƢƠNG 2
Bài 1: Cho lƣợc đồ cơ sở dữ liệu dùng để quản lý hồ sơ sinh viên bao gồm
các quan hệ Sv(sinh viên), Lop(Lớp), kh(khoa), Mh(môn học), Kq(kết quả)
đƣợc mô tả bởi các lƣợc đồ quan hệ nhƣ sau:
Sv(MASV, HOTEN, NU, NGAYSINH, MALOP, TINH, HOCBONG)
Tân từ: Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV xác định tất
cả các thuộc tính cịn lại của sinh viên đó.
Lop(MALOP, TENLOP, SISO, MAKHOA)

Tân từ: Mỗi lớp có một mã lớp duy nhất, mỗi lớp chỉ thuộc về một khoa
nào đó.
Kh(MAKHOA, TENKHOA, SOCBGD)
Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi MAKHOA xác định
tất cả các thuộc tính cịn lại của khoa đó.
Mh(MAMH,TENMH, SOTIET)
Tân từ: Mơi Mơn học có một MAMH duy nhất. Mỗi MAMH xác định tất
cả các thuộc tính cịn lại của mơn học đó.
Kq(MASV, MAMH, DIEMTHI)
Tân từ: Mỗi sinh viên cùng với một môn học xác định duy nhất một điểm thi
u cầu:
1. Tìm khóa cho mỗi lƣợc đồ quan hệ trên.
2. Hãy thực hiện các câu hỏi sau bằng ngôn ngữ đại số quan hệ
a. Lập danh sách sinh viên gồm MASV, HOTEN, HOCBONG
b. Lập danh sách sinh viên nữ khoa „CNTT‟,danh sách cần MASV,
HOTEN, HOCBONG
c. Lập bảng điểm cho tất cả sinh viên khoa „CNTT‟, bảng điểm gồm các
cột MASV, HOTEN, TENMH, DIEMTHI
d. Lập phiếu điểm cho sinh viên có MASV=”99001”
e. Lập danh sách sinh viên gồm MASV,HOTEN,TENLOP, TENKHOA
20


f. Lập bảng điểm mơn học có mã mơn học là CSDL cho tất cả sinh viên có
mã lớp là “CĐTH2B”
g. Lập danh sách sinh viên của lớp có mã lớp là “CĐTH2B” và có điểm thi
mơn học lớn hơn hay bằng 8.
Bài 2: Dựa vào các phân tích sơ bộ dƣới đây, hãy lập Sơ đồ thực thể liên
kết cho mỗi bài toán quản lý sau:
QUẢN LÝ LAO ĐỘNG

Để quản lý việc phân công các nhân viên tham gia vào xây dựng các cơng
trình. Cơng ty xây dựng ABC tổ chức quản lý nhƣ sau:
Cùng lúc cơng ty có thể tham gia xây dựng nhiều cơng trình, mỗi cơng
trình có một mã số cơng trình duy nhất (MACT), mỗi mã số cơng trình xác định
các thơng tin nhƣ: tên gọi cơng trình (TENCT), địa điểm(ĐIAĐIEM), ngày cơng
trình đƣợc cấp giấy phép xây dựng (NGAYCAPGP), ngày khởi cơng
(NGAYKC), ngày hồn thành (NGAYHT).
Mỗi nhân viên của cơng ty ABC có một mã số nhân viên(MANV) duy
nhất, một mã số nhân viên xác định các thông tin nhƣ: Họ tên (HOTEN), ngày
sinh (NGAYSINH), phái (PHAI), địa chỉ (ĐIACHI). Mỗi nhân viên phải chịu sự
quản lý hành chánh bởi một phòng ban. Tất nhiên một phòng ban quản lý hành
chánh nhiều nhân viên. Cơng ty có nhiều phịng ban (Phịng kế tốn, phịng kinh
doanh, phịng kỹ thuật, phịng tổ chức, phịng chun mơn, Phịng phục vụ,…).
Mỗi phịng ban có một mã số phịng ban(MAPB) duy nhất, mã phòng ban xác
định tên phòng ban (TENPB).
Công ty phân công các nhân viên tham gia vào các cơng trình, mỗi cơng
trình có thể đƣợc phân cho nhiều nhân viên và mỗi nhân viên cùng lúc cũng có
thể tham gia vào nhiều cơng trình. Với mỗi cơng trình một nhân viên có một số
lƣợng ngày cơng (SLNGAYCONG) đã tham gia vào cơng trình đó.
QUẢN LÝ THƢ VIỆN
Một thƣ viện tổ chức việc cho mƣợn sách nhƣ sau:
Mỗi quyển sách đƣợc đánh một mã sách (MASH) dùng để phân biệt với
các quyển sách khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có
nhiều tập thì cũng xem là có mã sách khác nhau), mỗi mã sách xác định các
thông tin khác nhƣ : tên sách (TENSACH), tên tác giả (TACGIA), nhà xuất bản
(NHAXB), năm xuất bản (NAMXB).
Mỗi đọc giả đƣợc thƣ viên cấp cho một thẻ thƣ viện, trong đó có ghi rõ
mã đọc giả (MAĐG), cùng với các thông tin khác nhƣ : họ tên (HOTEN), ngày
sinh (NGAYSINH), địa chỉ (ĐIACHI), nghề nghiệp(NGHENGHIEP).
21



Cứ mỗi lƣợt mƣợn sách, đọc giả phải ghi các quyển sách cần mƣợn vào
một phiếu mƣợn, mỗi phiếu mƣợn có một số phiếu mƣợn (SOPM) duy nhất, mỗi
phiếu mƣợn xác định các thông tin nhƣ: ngày mƣợn (NGAYMUON), đọc giả
mƣợn, các quyển sách mƣợn và ngày trả (NGAYTRA). Các các quyển sách
trong cùng một phiếu mƣợn không nhất thiết phải trả trong trong cùng một ngày.
QUẢN LÝ BÁN HÀNG
Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH
xác định đƣợc các thông tin về khách hàng nhƣ : họ tên khách hàng (HOTEN),
địa chỉ (ĐIACHI), số điện thoại (ĐIENTHOAI). Các mặt hàng đƣợc phân loại
theo từng nhóm hàng, mỗi nhóm hàng có một mã nhóm (MANHOM) duy nhất,
mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất nhiên một nhóm
hàng có thể có nhiều mặt hàng. Mỗi mặt hàng đƣợc đánh một mã số
(MAHANG) duy nhất, mỗi mã số này xác định các thông tin về mặt hàng đó
nhƣ : tên hàng (TENHANG), đơn giá bán (ĐONGIA), đơn vị tính (ĐVT). Mỗi
hóa đơn bán hàng có một số hóa đơn (SOHĐ) duy nhất, mỗi hóa đơn xác định
đƣợc khách hàng và ngày lập hóa đơn (NGAYLAPHĐ), ngày bán hàng
(NGAYBAN). Với mỗi mặt hàng trong một hóa đơn cho biết số lƣợng bán
(SLBAN) của mặt hàng đó.
QUẢN LÝ LỊCH DẠY - HỌC
Để quản lý lịch dạy của các giáo viên và lịch học của các lớp, một trƣờng
tổ chức nhƣ sau:
Mỗi giáo viên có một mã số giáo viên (MAGV) duy nhất, mỗi MAGV xác
định các thông tin nhƣ: họ và tên giáo viên (HOTEN), số điện thoại (DTGV).
Mỗi giáo viên có thể dạy nhiều mơn cho nhiều khoa nhƣng chỉ thuộc sự quản lý
hành chánh của một khoa nào đó.
Mỗi mơn học có một mã số môn học (MAMH) duy nhất, mỗi môn học xác
định tên mơn học (TENMH). Ƣng với mỗi lớp thì mỗi mơn học chỉ đƣợc phân
cho một giáo viên.

Mỗi phịng học có một số phịng học (SOPHONG) duy nhất, mỗi phịng có
một chức năng (CHUCNANG); chẳng hạn nhƣ phịng lý thuyết, phịng thực
hành máy tính, phịng nghe nhìn, xƣởng thực tập cơ khí,…
Mỗi khoa có một mã khoa (MAKHOA) duy nhất, mỗi khoa xác định các
thông tin nhƣ: tên khoa (TENKHOA), điện thoại khoa(DTKHOA).
Mỗi lớp có một mã lớp (MALOP) duy nhất, mỗi lớp có một tên lớp
(TENLOP), sĩ số lớp (SISO). Mỗi lớp có thể học nhiều mơn của nhiều khoa
nhƣng chỉ thuộc sự quản lý hành chính của một khoa nào đó.
22


Hàng tuần, mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ
dạy những lớp nào, ngày nào (NGAYDAY), mơn gì?, tại phịng nào, từ tiết nào
(TUTIET) đến tiết nào (DENTIET),tựa đề bài dạy (BAIDAY), ghi chú
(GHICHU) về các tiết dạy này, đây là giờ dạy lý thuyết (LYTHUYET) hay thực
hành - giả sử nếu LYTHUYET=1 thì đó là giờ dạy thực hành và nếu
LYTHUYET=2 thì đó là giờ lý thuyết, một ngày có 16 tiết, sáng từ tiết 1 đến tiết
6, chiều từ tiết 7 đến tiết 12, tối từ tiết 13 đến 16.

23


Chƣơng 3
Mơ hình cơ sở dữ liệu quan hệ
Giới thiệu:
Chƣơng này giúp cho ngƣời học làm quen với các khái niệm cơ bản về
ràng buộc toàn vẹn và các yếu tố của ràng buộc toàn vẹn, phân loại ràng buộc
trên mơ hình cơ sở dữ liệu quan hệ.
Mục tiêu:
- Hiểu đƣợc khái niệm, cách phân loại, các yếu tố ràng buộc toàn vẹn;

- Xây dựng đƣợc các ràng buộc dữ liệu trong một số bài toán cụ thể.
- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập.
Nội dung chính:
Mơ hình cơ sở dữ liệu quan hệ là gì?
Mơ hình cơ sở dữ liệu quan hệ đƣợc Ted Codd đƣa ra đầu tiên vào năm 1970
và gây đƣợc chú ý ngay tức khắc vì tính đơn giản và các cơ sở tốn học của nó.
Mơ hình quan hệ sử dụng khái niệm quan hệ toán học nhƣ là khối xây dựng cơ
sở và có cơ sở lý thuyết của nó trong lý thuyết tập hợp và logic vị từ bậc nhất.
3.1 Các khái niệm
a. Quan hệ
Dữ liệu lƣu trong CSDL đƣợc tổ chức thành các bảng 2 chiều (table).
Mỗi bảng đƣợc gọi là một quan hệ.
Ví dụ 3.1

Quan hệ
- Chứa dữ liệu của một tập thực thể hoặc một tập liên kết.
- Tên quan hệ.
24


×