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 ( g) string)
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 tí h nh phức hợp – có thể tá h ch ra thà h nh
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 thể (VD: bằng 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ọ tên (H t oten: st i [ ring[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ụ cấp (h h sphucap: fl t) oat)
Tổng lương (tongluong: float)
Loại thuộc tính? Miền giá trị? Loại giá trị của
thuộc tính
49 trang |
Chia sẻ: thanhle95 | Lượt xem: 729 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình liên kết thực thể - Đỗ Thị Mai Hường, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
C ở dữ liệơ s u
ễ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 @ t dma : g angnv m a.e u.vn
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 5 Hệ ả t ị SQL S (10)ương : qu n r erver
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
Thiết kế E/R
Lược đồ
quan hệ
HQT CSDL
quan hệÝ tưởng
- 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 hện quan .
DBMS
Mô hình E/R
Mô hình
CSDL quan
hệ
Bài toán
thực tế
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ấ t ú ủ dữ liệ Thực th (Entity)
Đối tượng (Object)
Tập thực thể (Entity set)
u r c c a u
Thao tác trên dữ liệu
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ậ h á hâ iê là tậ th thểp ợp c c n n v n p ực
Một đề án là một thực thể
Tập hợp các đề án là tập thực thể.
Một hò b là ột th thểp ng an m ực
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)
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
Th ộ tí h hứ h ó thể tá h thà hu c n p c ợp – c c ra n
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
ù ộ h hể (VD bằ ấ )c ng m t t ực t : ng 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 tê (H t t i [20])ọ n o en: s r ng
Ngày sinh (NS: date)
Địa chỉ (diachi: string[100])
Quê quán (quequan: string[30])
Hệ số lương (hsluong: float)
Hệ ố h ấ (h h fl t)s p ụ c p sp ucap: oa
Tổng lương (tongluong: float)
Loại thuộc tính? Miền giá trị? Loại giá trị của
thuộc tính?
- 13 -
Thuộc tính: Ví dụ và ký hiệu
Student_ID Student_na
me
Other_attri
butes
STUDENTThuộc tính khóa Thuộc tính đơn
Address Thuộc tính phức
- 14 -
Street_ad
dress
City Postal_co
de
Thuộc tính: Ví dụ và ký hiệu
Employee_
nameEmployee_
ID
Address
Thuộc tính đơn trị
EMPLOYEEYears_employed
Skill
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.
Tập các quan hệ: là tập hợp các mối quan hệ
giống 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ệ
Đỉ hn :
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ậ th thể ẽ ó tậ h hữ h áp ực s c p ợp a ạn 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 TENNV “T i t” NS “01/01/1993”: = r e , =
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
- 20 -
chuyển các quan hệ và dữ liệu xuống mức vật
lý
Ràng buộc trên kiểu liên kết
ể ố ểTh hiện CSDL còn chứa các m i quan hệ cụ th
Cho mối quan hệ R kết nối n tập thực thể E1,
E2 E, , n.
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 PHONGBANLam_viec
NHANVIEN PHONGBAN
Tùng Nghiên cứu
- 21 -
Dũng Điều hành
Hoàng Quản lý
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 BQuan_hệ1 1
A BQuan_hệ1 n
A BQuan_hện 1
A BQuan_hện n
- 22 -
Ràng buộc trên kiểu liên kết
(min,max) chỉ định mội thực thể tham gia
ít nhất và nhiều nhất vào thể hiện của R
e E∈
E FQuan_hệ
(min,max) (min,max)
(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, –
- 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
NV PBLam viec
(n,1)
Một nhân viên chỉ thuộc 1 phòng ban
_
(1 1)
Một nhân viên có thể được phân công vào nhiều đề
NV PBLam_viec
,
án hoặc không được phân công vào đề án nào.
NV DAphan cong
(0,n)
Một nhân viên có thể là trưởng phòng của 1
phòng ban nào đó
_
- 24 -
NV PBLa_truog_p
hong
(0,1)
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 gia vào mối quan hệ.
(1 ) (0 )NHANVIEN DUANLam_viec
,n ,n
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.
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
- 27 -
sẽ chọn ra 1 khóa làm khóa chính cho tập
thực thể đó.
Ví dụ thuộc tính khóa
NS LUONG
DCHI
HONV
MANV MAPB
NHANVIEN PHONGBAN
TENNV
TENPBLam_vi
ec
GT La_trg_ph
ong
Phu_tr
ach
DUAN
DDIEM
Phan cong
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
ế ốQuy t định (min, max) cho m i 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ô t ó hiề hò b ỗi hò b ó tê dng y c n u p ng an, m p ng an c n uy
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
hn au.
Đề á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 Thông tin về khoa gồm mã khoa tên khoa địa 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 và đó là 1 giáo 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 kh ó hiề i h iê ỗi i h iê hỉ th ộ ề ột kh Thô ti ềoa c n u s n v n, m s n v n c u c v m oa. ng n 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 giám sát (giáo viên chủ nhiệm), người đó là một giá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:
mã sinh viên, mã học phần, điểm bằng chữ, điểm bằng số. - 36 -
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 thư viện có các thông 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 giả tham gia 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 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ả.
- 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ỗi thuộc tính
Một lược đ quan hệ
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
ố
- 38 -
(trong m i quan hệ 1-n)
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
NGƯỜI LÁI XE BẰNG LÁI
Mã NLX
Tên
Địa chỉ
Ngày sinh
Mã BL
Loại BL
Ngày hết hạn
Sở hữu
1 1
(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 tên địa 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 tên địa chỉ ngày sinh mãBL)
- 39 -
, , , ,
BẰNG LÁI (mãBL, loại BL, ngày hết hạn)
Ví dụ 2 – Mối kết hợp 1-M
HỌCVIÊN MÔNHỌC
Mã học viên
Tên
Địa chỉ
Ngày sinh
Mã môn học
Tên môn học
Thời lượng
Ghi danh
Số ĐT
Ngày nhập học
M 1
Chuyển khóa chính bên
một sang bên nhiều
HỌCVIÊN (mã học viên Tên địa chỉ ngày sinh số Đ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
HỌCVIÊN MÔNHỌC
Mã học viên
Tên
Địa chỉ
Ngày sinh
Mã môn học
Tên môn học
Thời lượng
Ngày nhập học
Ghi danh
Số ĐT M N
Tạo một quan hệ mới
HỌCVIÊN (mã học viên Tên địa chỉ ngày 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
ồ
GIÁOVIÊN HỒSƠGD
Mã GV
Họ tên
Địa chỉ
Số ĐT
Mã h sơ
Ngày
Công việc
Đề tài
Có
Bằng cấp Vị trí1 1
- 42 -
Bài tập
THẺTV PHIẾUMƯỢN
Mã ĐG
Họ tên
Ngày sinh
Địa chỉ
Số PM
Ngàymượn
Có
Nghề nghiệp 1 M
- 43 -
Bài tập
TÁCGIẢ TỰASÁCH
Mã TG
Họ tên
Ngày sinh
Địa chỉ
Mã sách
Loại sách
Năm XB
Nhà XB
Sáng tác
Số trang
Số tập
M N
- 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 Mỗi khoa có thông tin mã 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 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 họ tên ngày sinh giới tính địa 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 Môn học có thông tin: mã môn tê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 Thông tin thẻ thư viện: số thẻ. ,
ngày cấp, ngày hết hạn.
- 45 -
Mã khoa
Tên khoa
Mã môn
Tên môn
Số tín chỉ
Khoa Môn học
Mã SV
Họ tên1 M
Ngày sinh
Giới tính
Địa chỉ
ĐiểmTN
của
Học
N
Lớp
Sinh viênMã lớp
Tên lớp
M
1
Sĩ số có
1
M
1
Thẻ thư viện
ố
Thuộc
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 tên 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 tê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.
ố ế Ớ S ểM i k t hợp L P- INHVIEN 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
Ẻ
- 47 -
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
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 ( ã i h iê h tê iới tí h đị hỉm s n v n, ọ n, g n , a c ,
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 ( ố thẻ à ấ à hết hs , ng y c p, ng y ạn,
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 hện quan .
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
à 1 Mv -
- 49 -