You are on page 1of 49

C sở

Cơ ở dữ liệu
liệ

Văn‐Giang Nguyễn

Bộ môn Hệ thống
ố thông tin, 
Khoa Công nghệ thông tin,
Học viện Kỹ thuật quân sự
E il i
Email: giangnv@mta.edu.vn
@ t d

Slides courtesy of : Đỗ Thị Mai Hường, HTTT, CNTT, HVKTQS


Nội dung môn học

™ Chương 1: Tổng quan về cơ sở dữ liệu (5)


™ Chương 2: Mô hình liên kết thực thể (5)
™ Chương 3: Mô hình dữ liệu quan hệ (10)

™ Chương 4: Phụ thuộc hàm và các dạng chuẩn CSDL (1


™ Chương
Ch 5 Hệ quản
5: ả trị
t ị SQL Server
S (10)
™ Chương 6: Ngôn ngữ truy vấn CSDL (15)
™ Chương 7: Lập trình T-SQL (15)

-2-
Nội dung chi tiết

™ Quá trình thiết kế CSDL

™ Mô hình thực thể liên kết (ER)

™ Xây dựng ER

™ Víí dụ

-3-
Quá trình thiết kế CSDL

Lược đồ HQT CSDL


Ý tưởng
g Thiết kế E/R quan hệ
q ệ quan hệ
q ệ

-4-
Quá trình thiết kế CSDL
™E-R là mô hình trung gian để chuyển những yêu
cầu quản lý dữ liệu trong thế giới thực thành mô
hì h CSDL quan hệ.
hình hệ
DBMS
Bài toán Mô hình
thực tế Mô hình E/R CSDL quan
hệ DB

-5-
Nội dung chi tiết

™ Quá trình thiết kế CSDL

™ Mô hình thực thể liên kết (ER)

™ Xây dựng ER

™ Víí dụ

-6-
Mô hình thực thể - liên kết
™Được dùng để thiết kế CSDL ở mức quan niệm

™Biểu diễn trừu tượng cấu trúc của CSDL

™Lược đồ thực thể - liên kết (Entity – Relationship


diagram)
™ Tập thực thể (Entity sets)
™ Thuộc tính (Attributes)
™ Mối quan hệ (Relationship)

-7-
Tập thực thể
™Một thực thể là một đối tượng của thế giới thực.
Thực thể được mô tả bởi các thuộc tính

™Tập hợp các thực thể giống nhau tạo thành một
tập thực thể

™Chú ý
Cấ trúc
Cấu t ú của
ủ dữ liệu
liệ
™ Thực thể
ể (Entity)
™ Đối tượng (Object)
Thao tác trên dữ liệu
™ Tập thực thể (Entity set)
™ Lớp đối tượng (Class of objects)

-8-
Tập thực thể
™Ví dụ “Quản lý đề án công ty”
™ Một nhân viên là một thực thể
™ Tập
Tậ hợp
h các á nhân
hâ viên
iê là tập
tậ thực
th thể

™ Một đề án là một thực thể


™ Tập hợp các đề án là tập thực thể.

™ Một phòng
hò ban
b là mộtột thực
th thể
™ Tập hợp các phòng ban là tập thực thể.

-9-
Thuộc tính
™Là tập các giá trị có thể gán cho thuộc tính đối
với mội thực thể riêng biệt.

™Miền giá trị của thuộc tính (domain)


™ Kiểu chuỗi (string)
( g)
™ Kiểu số nguyên (integer)
™ Kiểu số thực…

™Ví dụ tập thực thể NHANVIEN có các thuộc tính


™ Họ tên (hoten: string[20]
™ Ngày sinh (ns: date)
™ Điểm trung bình (DTB: float)

- 10 -
Thuộc tính
™Loại thuộc tính
™ Thuộc tính đơn – Không thể tách nhỏ ra được
™ Thuộc
Th ộ tính
tí h phức
hứ hợp
h – có
ó thể tách
tá h ra thành
thà h
các thành phần nhỏ hơn.

™Loại giá trị của thuộc tính


™ Đơn giá trị: các thuộc tính có giá trị duy nhất
cho một thực thể (Ví dụ: CMND)
™ Đa trị: các thuộc tính có một tập giá trị cho
cùng
ù một ộ thực
h thểhể (VD:
(VD bằng
bằ cấp,
ấ ect))
™ Suy diễn được (năm sinh Å Æ tuổi.)

- 11 -
Thuộc tính
™Tất cả các thực thể nằm trong tập thực thể có
cùng tập thuộc tính

™Mỗi thực thể đều được phân biệt bởi một thuộc
tính khóa

™Mỗi thuộc tính đều có miền giá trị tương ứng với nó

- 12 -
Thuộc tính
™Ví dụ tập thực thể NHANVIEN có các thuộc tính
™ Mã NV (MaNV: integer)
™ Họ
H tên
tê (H t
(Hoten: string[20])
t i [20])
™ Ngày sinh (NS: date)
™ Địa chỉ (diachi: string[100])
™ Quê quán (quequan: string[30])
™ Hệ số lương (hsluong: float)
™ Hệ số ố phụ
h cấp
ấ (hsphucap:
(h h fl t)
float)
™ Tổng lương (tongluong: float)

™Loại thuộc tính? Miền giá trị? Loại giá trị của
thuộc
uộc tính?

- 13 -
Thuộc tính: Ví dụ và ký hiệu
Student_ID Student_na Other_attri
me butes

Thuộc tính khóa STUDENT Thuộc tính đơn

Address Thuộc tính phức

Street_ad City Postal_co


dress de - 14 -
Thuộc tính: Ví dụ và ký hiệu
Thuộc tính đơn trị
Employee_
Employee_ name
Address
ID

Years_emp Skill
EMPLOYEE
loyed

Thuộc tính dẫn xuất Thuộc tính đa trị

Date_empl
oyed Thuộc tính chứa

- 15 -
Mối quan hệ
™Quan hệ: Là sự liên kết giữa 2 hay nhiều tập thực
thể

™Ví dụ: Giữa tập thực thể NHANVIEN và


PHONGBAN có các liên kết
™ Một nhân viên thuộc một phòng ban nào đó
™ Một phòng ban có một nhân viên làm trưởng
phòng.
phòng
™Tập các quan hệ: là tập hợp các mối quan hệ
giống nhau.
nhau

- 16 -
Lược đồ ER
™Là đồ thị biểu diễn các tập thực thể, thuộc tính và
mối quan hệ
™Đỉ h
™Đỉnh:
Tên tập thực thể
Tập thực thể

Tên thuộc tính Thuộc tính

Tên quan hệ Quan hệ

™Cung là đường nối giữa: (i) tập thực thể và


thuộc tính; (ii) mối
ố quan hệ và tập thực thể.

- 17 -
Ví dụ về lược đồ ER
™Kiểu liên kết

- 18 -
Ví dụ về lược đồ ER
™Thể hiện liên kết

- 19 -
Thể hiện của lược đồ ER
™Một CSDL được mô tả bởi lược đồ ER sẽ chứa
đựng những dữ liệu cụ thể gọi là thể hiện CSDL
™ Mỗi tập
tậ thực
th thể sẽ
ẽ cóó tập
tậ hợph hữ hạn
hữa h các
á
thực thể: VD: Tập thực thể NHANVIEN có các
thực thể như NV1, NV2, …, NVn
™ Mỗi thực thể sẽ có một giá trị cụ thể tại mỗi
thuộc tính
™ NV1:
NV1 TENNV=“Triet”,
TENNV “T i t” NS=“01/01/1993”
NS “01/01/1993”
™ NV2: TENNV = “Hoang”, NS=“02/09/1993”
™Chú ý:
™ Không lưu trữ lược đồ ER trong CSDL
™ Lược đồ ER chỉ giúp ta thiết kế CSDL trước khi
chuyển các quan hệ và dữ liệu xuống mức vật

- 20 -
Ràng buộc trên kiểu liên kết
ể hiện CSDL còn chứa các mối
™Thể ố quan hệ cụ thểể
™ Cho mối quan hệ R kết nối n tập thực thể E1,
E2, …, En.
™ Thể hiện của R là tập hữu hạn các danh sách
(e1, e2, …, en)
™ Trong đó ei là các giá trị được chọn từ các tập
thực thể Ei.
™Xét mối quan hệ
NHANVIEN Lam_viec PHONGBAN

NHANVIEN PHONGBAN
Tùng
T ng Nghiên
g cứu
Dũng Điều hành
Hoàng Quản lý - 21 -
Ràng buộc trên kiểu liên kết
™Xét mối quan hệ nhị phân R giữa 2 tập thực thể A
và B, ràng buộc liên kết bao gồm

A 1 1 B
Quan_hệ

A 1 n B
Quan_hệ

A n 1 B
Quan_hệ

A n n B
Quan_hệ

- 22 -
Ràng buộc trên kiểu liên kết
™(min,max) chỉ định mội thực thể e ∈ E tham gia
ít nhất và nhiều nhất vào thể hiện của R
(min,max) (min,max)
E Quan_hệ F

™(0,1) – không hoặc 1


™(1,1) – duy nhất 1
™(0,n) – không hoặc nhiều
™(1 n) – một hoặc nhiều
™(1,n)

- 23 -
Ràng buộc trên kiểu liên kết – Ví dụ
™Một phòng ban có nhiều nhân viên
(n,1)
NV Lam viec
Lam_viec PB

™Một nhân viên chỉ thuộc 1 phòng ban


(1 1)
(1,1)
NV Lam_viec PB

™Một nhân viên có thể được phân công vào nhiều đề


án hoặc không được phân công vào đề án nào.
(0,n)
NV phan cong
phan_cong DA

™Một nhân viên có thể là trưởng phòng của 1


phòng
p ò g ba
ban nào
ào đó
(0,1)
NV La_truog_p PB
hong - 24 -
Ràng buộc trên kiểu liên kết – Ví dụ
™Một loại thực thể có thể tham gia nhiều lần vào
một quan hệ với nhiều vai trò khác nhau.

Là người quản lý
NV Quan_ly
(0,1)

Được quản lý bởi


(0,n)

- 25 -
Thuộc tính trên mối quan hệ
™Thuộc tính trên mối quan hệ mô tả tính chất cho
mối quan hệ đó.

™Thuộc tính này không thể gắn liền với những


thực thể tham g
gia vào mối quan hệ.

(1 )
(1,n) (0 )
(0,n)
NHANVIEN Lam_viec DUAN

THGIAN

- 26 -
Thuộc tính khóa
™Các thực thể trong tập thực thể cần phải được
phân biệt

™Khóa K của tập thực thể E là một hay nhiều thuộc


tính sao cho
™ Nếu lấy ra 2 thực thể bất kỳ e1 và e2 trong E,
Thì e1 và e2 không thể có các giá trị giống
nhau tại các thuộc tính trong K.
K
™Chú ý
™ Mỗi tập thực thể phải có 1 khóa
™ Mỗi khóa có thể có 1 hay nhiều thuộc tính
™ Có thể có nhiều khóa trong 1 tập thực thể, ta
sẽ chọn ra 1 khóa làm khóa chính cho tập
thực thể đó. - 27 -
Ví dụ thuộc tính khóa
NS
LUONG
MANV
DCHI MAPB

HONV
NHANVIEN Lam_vi PHONGBAN TENPB
ec
TENNV

GT La_trg_ph
ong
Phu_tr
ach

DDIEM
Phan cong
Phan_cong DUAN
TEN

MADA

- 28 -
Nội dung chi tiết

™ Quá trình thiết kế CSDL

™ Mô hình thực thể liên kết (ER)

™ Các bước xây dựng ER

™ Víí dụ

- 29 -
Các bước xây dựng ER
™Xác định tập thực thể

™Xác đinh mối


ố quan hệ

™Xác định thuộc tính vào gắn


ắ thuộc tính cho tập
thực thể và mối quan hệ.

™Quyết định thuộc tính khóa

ế định (min, max) cho mối


™Quyết ố quan hệ.

- 30 -
Quy tắc xây dựng
™Chính xác

™Tránh trùng lặp

™Dễ hiểu

™Chọn đúng mối quan hệ

™Chọn đúng kiểu thuộc tính

- 31 -
Nội dung chi tiết

™ Quá trình thiết kế CSDL

™ Mô hình thực thể liên kết (ER)

™ Xây dựng ER

™ Víí dụ

- 32 -
Ví dụ ‘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
™ Cô
Công tyt cóó nhiều
hiề phòng
hò ban,
b mỗi
ỗi phòng
hò banb có ó tên
tê duy
d
nhất, mã phòng ban duy nhất, mội trưởng phòng, và ngày
nhậm chức. Mỗi phòng ban có thể ở nhiều địa điểm khác
nhau.
h
™ Đề án có tên duy nhất, mã duy nhất, do một phòng ban
chủ trì và được triển khai ở 1 địa điểm.
™ Nhân viên có mã số, ố tên, địa chỉ,
ỉ ngày sinh, giới tính và
lương. Mỗi nhân viên làm việc ở 1 phòng ban, tham gia
vào các đề án với số giờ làm việc khác nhau, mỗi nhân
viên đều
ề có một người quản lý trực tiếp.
ế
™ Một nhân viên có thể có những người con được hưởng
bảo hiểm theo nhân viên. Mỗi người con của nhân viên
có tên, giới tính, ngày sinh
- 33 -
Ví dụ

- 34 -
Ví dụ

- 35 -
Bài tập 1 – ER cho CSDL “TRƯỜNG”
™ Trường được chia thành các trường con: Trường KHTN, KHXH, Công nghệ,…
Mỗi trường có một hiệu trưởng quản lý. Mỗi hiệu trưởng quản lý một trường
™ Mỗi trường có nhiều khoa. (Ví dụ: KHTN có các khoa Toán, Lý, Hóa). Mỗi khoa
chỉ thuộc về một trường.
trường Thông tin về khoa gồm mã khoa, khoa tên khoa,
khoa địa chỉ,
chỉ số
điện thoại, tên trường.
™ Mỗi khoa cung cấp nhiều môn học. Mỗi môn học gồm có: Tên, mã, số đơn vị học
trình, trình độ, tên khoa.
™ Mỗiỗ môn học có thể ể có nhiều
ề học phần.
ầ Mỗi ỗ học phầnầ được lưu trữ bằngằ các
thông tin: Mã học phần, tên môn học, tên giáo viên dạy, học kỳ.
™ Mỗi khoa có nhiều giáo viên làm việc, nhưng mỗi giáo viên chỉ làm việc cho một
khoa Mỗi khoa có 1 chủ nhiệm khoa,
khoa. khoa và đó là 1 giáo viên.
viên
™ Mỗi giáo viên có thể dạy nhiều nhất là 4 học phần và cũng có thể không dạy học
phần nào.
™ Mỗi sinh viên phải học nhiều học phần.
™ Mỗi khoa
kh có ó nhiều
hiề sinh
i h viên,
iê mỗi
ỗi sinh
i h viên
iê chỉ
hỉ thuộc
th ộ về ề một
ột khoa.
kh Thô tin
Thông ti vềề
mỗi sinh viên gồm: mã sinh viên, họ tên, địa chỉ, ngày sinh, giới tính, lớp, tên
khoa, và chế độ đào tạo.
™ Mỗi sinh viên có một ộ người
g giám sát (g
g (giáo viên chủ nhiệm),
ệ ), người
g đó là một
ộ ggiáo
viên.
™ Sau mỗi học kỳ sẽ có một danh sách điểm để phân loại. Nó gồm các thông tin:
- 36 -
mã sinh viên, mã học phần, điểm bằng chữ, điểm bằng số.
Bài tập 2 – ER cho CSDL “THƯ VIỆN”
™ Thư viện được chia thành các nhánh. Thông tin về mỗi nhánh
gồm có Mã nhánh, tên nhánh và địa chỉ.
™ Mỗi cuốn sách trong g thư viện
ệ có các thông
g tin về mã sách, tên
sách, nhà xuất bản và tác giả.
™ Mỗi tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có
nhiều tác g
giả tham ggia viết.
™ Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do
một nhà xuất bản xuất bản. Thông tin về nhà xuất bản gồm có
Tên, địa chỉ, số điện thoại.
™ Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các
nhánh. Thông tin về bản sao sách gồm Mã sách, số các bản sao.
™ Thư viên có những người mượn sách.sách Thông tin về những người
mượn sách gồm có: số thẻ, họ tên, địa chỉ và số điện thoại.
™ Sách được cho những người mượn mượn tại các nhánh. Thông
tin về một lần mượn gồm có ngày mượn và ngày trả.trả

- 37 -
Biến đổi từ mô hình ER sang mô hình
quan hệ
™Các quy tắc biến đổi
Mô hình E-R Mô hình CSDL Quan hệ

Một tập thực thể


ể Một lược đồ
ồ quan hệ

Mỗi thuộc tính Một thuộc tính

Mỗi thuộc
ộ tính Khóa chính
nhận diện
Mỗi mối kết hợp Khóa ngoại/LĐ quan hệ mới
(trong mối
ố quan hệ 1-n)
- 38 -
Ghi chú: Chỉ áp dụng cho mối kết hợp 2 ngôi.
Ví dụ 1 – Mối kết hợp 1-1
Mã NLX Mã BL
Tên NGƯỜI LÁI XE BẰNG LÁI Loại BL
Địa chỉ Ngày hết hạn
Ngày sinh
1 1
Sở hữu
(1,1) (1,1)

Chuyển khóa chính từ


quan hệ 1 sang quan hệ 2
hoặc ngược lại

NGƯỜI LÁI XE (mã NLX,


NLX tên,
tên địa chỉ,
chỉ ngày sinh)
BẰNG LÁI (mãBL, loại BL, ngày hết hạn, mãNLX)
hoặc
NGƯỜI LÁI XE (mã NLX,
NLX tên,
tên địa chỉ,
chỉ ngày sinh,
sinh mãBL)
BẰNG LÁI (mãBL, loại BL, ngày hết hạn)
- 39 -
Ví dụ 2 – Mối kết hợp 1-M
Mã học viên Mã môn học
Tên HỌCVIÊN MÔNHỌC Tên môn học
Địa chỉ Thời lượng
Ngày sinh
Số ĐT M 1
Ngày nhập học Ghi danh

Chuyển khóa chính bên


một sang bên nhiều

HỌCVIÊN (mã học viên,


viên Tên,
Tên địa chỉ,
chỉ ngày sinh,
sinh số ĐT,
ĐT
ngày nhập học, mã môn học)
MÔN HỌC (Mã môn học, tên môn học, thời lượng)

- 40 -
Ví dụ 3 – Mối kết hợp M-N
Mã học viên Mã môn học
Tên HỌCVIÊN MÔNHỌC Tên môn học
Địa chỉ Thời lượng
Ngày sinh Ngày
g y nhập học
Số ĐT M N
Ghi danh

Tạo một quan hệ mới

HỌCVIÊN (mã học viên,


viên Tên,
Tên địa chỉ,
chỉ ngày sinh,
sinh số ĐT)
MÔN HỌC (Mã môn học, tên môn học, thời lượng)
PHIẾU GHI DANH (mã học viên, mã môn học, ngày nhập học)

- 41 -
Bài tập

Mã GV Mã hồ ồ sơ
Họ tên GIÁOVIÊN HỒSƠGD Ngày
Địa chỉ Công việc
Số ĐT Đề tài
Bằng cấp 1 1 Vị trí

- 42 -
Bài tập

Mã ĐG Số PM
Họ tên THẺTV PHIẾUMƯỢN Ngàymượn
Ngày sinh
Địa chỉ
Nghề nghiệp 1 M

- 43 -
Bài tập

Mã TG Mã sách
Họ tên TÁCGIẢ TỰASÁCH Loại sách
Ngày sinh Năm XB
Địa chỉ Nhà XB
M N Số trang
Sáng tác Số tập

- 44 -
Bài tập
Một trường CĐ có nhu cầu tin học hóa công tác quản lý của
mình.
™ Trường có nhiều khoa.
khoa Mỗi khoa có thông tin mã khoa,
khoa tên
khóa.
™ Mỗi khoa có nhiều lớp học. Thông tin về lớp học: mã lớp,
tên lớp,
lớp sĩ số.
số
™ Mỗi sinh viên khi nhập học được xếp vào một lớp và thuộc
lớp này trong suốt khóa học. Thông tin về sinh viên gồm:
mã SV,
SV họ tên,
tên ngày sinh,
sinh giới tính,
tính địa chỉ.
chỉ
™ Sinh viên học nhiều môn học. Kết thúc mỗi môn học, sinh
viên có một điểm thi. Kết thúc khóa học, sinh viên có một
điểm tốt nghiệp.
nghiệp Môn học có thông tin: mã môn,
môn tên môn,
môn
số tín chỉ.
™ Mỗi sinh viên có một thẻ thư viên. Và một thẻ thư viện chỉ
thuộc về một sinh viên.
viên Thông tin thẻ thư viện: số thẻ,
thẻ
ngày cấp, ngày hết hạn.
- 45 -
Mã môn
Mã khoa
Tên môn
Tên khoa
Số tín chỉ
Khoa
Môn học
Mã SV
1 ọ tên
Họ M
Ngày sinh
của Giới tính N
Địa chỉ Học
ĐiểmTN
M
Sinh viên
Mã lớp Lớp
Tên lớp 1
Sĩ số M có
1
1
Thuộc
Thẻ thư viện

Số
ố thẻ
Ngày cấp
Ngày hết hạn
Bài tập
™B1: Chuyển các tập thực thể thành quan hệ
KHOA (mã khoa, tên khoa)
LỚP (mã lớp,
lớp tên lớp,
lớp sĩ số)
SINH VIÊN(mã sinh viên, họ tên, giới tính, địa chỉ,
ngày sinh, điểm TN)
MÔN HỌC (mã môn,
môn tên môn,
môn số tín chỉ)
THẺTHƯVIỆN(số thẻ, ngày cấp, ngày hết hạn

™B2: Chuyển các mối kết hợp


Mối kết hợp KHOA-LỚP chuyển thành khóa ngoại Mã
khoa trong quan hệ LỚP.
Mối
ố kết
ế hợp LỚP-SINHVIEN
Ớ S chuyển
ể thành khóa ngoại
mã lớp trong SINHVIEN
Mối kết hợp SINHVIEN-THẺ THƯ ViỆN chuyển thành
khóa ngoại Mã sinh viên trong quan hệ THẺ
Ẻ THƯ ViỆN
Mối kết hợp SINHVIEN-MÔN HỌC chuyển thành mối - 47 -
quan hệ mới HỌC (Mã sinh viên, mã môn, điểm thi)
Lược đồ cơ sở dữ liệu quan hệ
KHOA (mã khoa, tên khoa)
LỚP (mã lớp, tên lớp, sĩ số, mã khoa)
SINHVIÊN (mã
( ã sinh
i h viên,
iê họh tên,
tê giới
iới tính,
tí h địa
đị chỉ,
hỉ
ngày sinh, điểm TN, mã lớp)

MÔN HỌC (mã môn, tên môn, số tín chỉ)


HOC (mã sinh viên, mã môn, điểm thi)
THẺ THƯ ViỆN (số
( ố thẻ,
thẻ ngày
à cấp,
ấ ngày
à hết hạn,
h
mã sinh viên)

- 48 -
Nhận xét
™Mối kết hợp giữa các tập thực thể trong mô hình
E-R được chuyển thành khóa ngoài trong mô
hì h CSDL quan hệ.
hình hệ
™Như vậy, trong mô hình quan hệ, các quan hệ
liên hệ với nhau nhờ có chung một hay một số
thuộc tính
™Có 2 loại mối quan hệ trong mô hình quan hệ: 1-1
vàà 1-M
1M

- 49 -

You might also like