Bài giảng Cơ sở dữ liệu - Chương 2: Các mô hình dữ liệu - Nguyễn Hồng Phương
02/09/2019
Nội dung
• Tổng quan về mô hình dữ liệu
• Mô hình phân cấp
Các mô hình dữ liệu
• Mô hình mạng
• Mô hình quan hệ
• Mô hình thực thể liên kết
• Mô hình hướng đối tượng
• Đánh giá, bài tập
Nguyễn Hồng Phương
Bộ môn Hệ thống thông tin
Viện Công nghệ thông tin và Truyền thông
Đại học Bách Khoa Hà Nội
1
2
Tổng quan về mô hình dữ liệu
Tổng quan...(tiếp)
• Mô hình dữ liệu [Codd, 1980] gồm:
– Một tập hợp các cấu trúc của dữ liệu
• Nhiều mô hình còn bao gồm cả một tập
các phép toán để thao tác các dữ liệu
• Mô hình thuộc dạng ngữ nghĩa: tập trung
về ngữ nghĩa của dữ liệu như mô hình
thực thể liên kết, sử dụng để hỗ trợ người
dùng có cái nhìn khái quát về dữ liệu
• Mô hình thuộc dạng khái niệm: tập trung
vào cách thức tổ chức dữ liệu tại mức khái
niệm như mô hình mạng, mô hình liên kết,
mô hình quan hệ, độc lập với DBMS và hệ
thống phần cứng để cài đặt cơ sở dữ liệu
– Một tập hợp các phép toán để thao tác với các
dữ liệu
– Một tập hợp các ràng buộc về dữ liệu
• Mô hình dữ liệu là một tập hợp các khái
niệm dùng để mô tả:
– Dữ liệu
– Ngữ nghĩa của dữ liệu
– Các mối quan hệ trong dữ liệu
– Các ràng buộc dữ liệu
3
4
1
02/09/2019
Vài nét về lịch sử
Một vài mô hình dữ liệu
DB2,
ORACLE-
10i, SQL
Mô hình
quan hệ
Mô hình
Mô hình
phân cấp
• Mô hình phân cấp
• Mô hình mạng
• Mô hình quan hệ
• Mô hình thực thể liên kết
• Mô hình hướng đối tượng
• Mô hình bán cấu trúc
• Mô hình dữ liệu của XML
quan hệ mở rộngServer ...
XML
System R(81), DB2,
ORACLE, SQL
IMS,
System
2k,
Server, Sybase, ...
dbXML,natix,
Tamino,...
...
1965
1970
1975 1980 1985 1990 1995 2000 2005 2010
O2,
ORION,
IRIS, ...
Mô hình
Thực thể-liên kết
IRDS(87)
Mô hình
mạng
,CDD+,h
...hướng đối
tượng
DMS(65),
Mô hình bán
cấu trúc
Lore
CODASYL
(71), IDMS,
IDS
(97), ...
5
6
Mô hình dữ liệu phân cấp
(Hierarchical data model)
Đặt vấn đề
• Ra đời những năm 60-65
• Biểu diễn bằng cây
– Quan hệ cha-con
• Đặc điểm của các mô hình dữ liệu?
• Sự khác nhau giữa các mô hình dữ
liệu?
• Các mô hình dữ liệu phổ biến ngày
nay
– Mỗi nút có 1 cha duy nhất
– 1 CSDL = 1 tập các cây = 1 rừng
• Các khái niệm cơ bản
– Bản ghi
– Móc nối
– Các phép toán: GET, GET UNIQUE, GET NEXT,
GET NEXT WITHIN PARENT,…
7
8
2
02/09/2019
Mô hình dữ liệu phân cấp – Ví dụ
Mô hình dữ liệu phân cấp
• Ưu điểm
– Dễ xây dựng và thao tác
giao_vien
lop
– Tương thích với các lĩnh vực tổ chức phân cấp
– Ngôn ngữ thao tác đơn giản: duyệt cây.
• Nhược điểm:
– Sự lặp lại của các kiểu bản ghi dữ liệu dư
thừa và không nhất quán.
sinh_vien
diem_thi
mon_hoc
mon_hoc
• Giải pháp: bản ghi ảo
– Hạn chế trong biểu diễn ngữ nghĩa của các
móc nối giữa các bản ghi (chỉ cho phép quan
hệ 1-n)
9
10
Mô hình dữ liệu mạng
(Network data model)
Mô hình dữ liệu mạng – Ví dụ
• Sự ra đời
– Sử dụng phổ biến từ những năm 60, được định nghĩa lại vào
năm 71
giao_vien
• Biểu diễn bằng đồ thị có hướng
• Các khái niệm cơ bản
giang_day
hoc
– Tập bản ghi (record)
lop
mon_hoc
• Kiểu bản ghi (record type)
• Các trường (field)
co_diem
– Móc nối
gom
• Tên của móc nối
• Chủ (owner) – thành viên (member): theo hướng của móc nối
• Kiểu móc nối: 1-1, 1-n, đệ quy
– Các phép toán
co
sinh_vien
diem_thi
• Duyệt: FIND, FIND member, FIND owner, FIND NEXT
• Thủ tục: GET
11
12
3
02/09/2019
Mô hình dữ liệu quan hệ
Mô hình dữ liệu mạng
• Sự ra đời: vào năm 1970[Codd, 1970]
• Dữ liệu được biểu diễn dưới dạng bảng
• Ưu điểm
–Đơn giản
• Là mô hình dữ liệu khái niệm phổ biến cho
đến tận thời điểm hiện tại
–Có thể biểu diễn các ngữ nghĩa đa dạng
với kiểu bản ghi và kiểu móc nối
–Truy vấn thông qua phép duyệt đồ thị
(navigation)
• Nhược điểm:
• Dựa trên lý thuyết toán học, đồng thời
cũng gần với cấu trúc tệp và cấu trúc dữ
liệu nên có hai loại thuật ngữ liên quan:
– Thuật ngữ toán học: quan hệ, bộ, thuộc tính
– Thuật ngữ hướng dữ liệu: bảng, bản ghi, trường
–Số lượng các con trỏ lớn
–Hạn chế trong biểu diễn ngữ nghĩa của
các móc nối giữa các bản ghi
13
14
Codd's 12 Rules
Edgar Frank "Ted" Codd
• (19/08/1923 – 18/04/2003)
• Nhà khoa học máy tính người Anh, làm việc
cho IBM.
• Cha đẻ của mô hình dữ liệu quan hệ
• Nhận giải thưởng Turing, năm 1981
• Rule zero
• Rule 1: Information rule
• Rule 2: Guaranted Access
• Rule 3: Systematic treatment of NULL
• Rule 4: Active Online Catalog
• Rule 5: Powerful and Well-Structured Language
• Rule 6: View Updation Rule
• Rule 7: Relational Level Operation
• Rule 8: Physical Data Independence
• Rule 9: Logical Data Independence
• Rule 10: Integrity Independence
• Rule 11: Distribution Independence
15
16
• Rule 12: Nonsubversion Rule
4
02/09/2019
MON_HOC
maHP
Ví dụ
tenHP
soTC
4
Mô hình dữ liệu quan hệ
CNTT01
CNTT02
Nhập môn CSDL
Truyền DL và mạng
Phân tích và thiết kế hệ thống
Quản lý dự án
mô hình
dữ liệu
quan hệ
4
CNTT03
HTTT01
4
3
• Các khái niệm cơ bản
–Thuộc tính, miền thuộc tính
–Quan hệ
LOP
malop lop
khoa
CNTT
CNTT
CNTT
CNTT
GVCN
loptruong
IT4
IT5
IT6
IT7
Tin 4
Ng. V. Anh Trần T. Bình
Lê A. Văn Ng. Đ. Trung
–Khóa
Tin 5
Tin 6
Tin 7
Ng. T. Thảo Trần M. Quế
Ng. V. Quý Ng. T. Phương
SINH_VIEN
maSV
tenSV
ngaysinh
1/4/1981
3/2/1980
26/3/1982
29/2/1980
gt
0
diachi
malop
SV0011
SV0025
SV0067
SV0034
Trần T. Bình
21 T. Q. B
IT4
Ng. Đ. Trung
Trần M. Quế
Ng. T. Phương
1
56 Đ. C. V IT5
0
45 H. B. T
86 L. T. N
IT6
IT7
18
0
Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ
• Thuộc tính (~trường): là các đặc tính của
một đối tượng
• Mỗi thuộc tính được xác định trên một miền
giá trị nhất định gọi là miền thuộc tính
• Quan hệ (~bảng):Cho n miền giá trị D1,
D2 , …, Dn không nhất thiết phân biệt, r là
một quan hệ trên n miền giá trị đó nếu r
là một tập các n-bộ (d1 , d2 , …, dn ) sao
cho di Di
• Ví dụ:
• Một quan hệ có thể được biểu diễn dưới
dạng 1 bảng trong đó 1 dòng trong bảng
tương đương với 1 bộ , một cột trong bảng
tương đương với 1 thuộc tính của quan hệ
• Bậc của 1 quan hệ là số các thuộc tính
trong quan hệ
– Sinhviên (MãSV, TênSV, Nămsinh, GiớiTính, ĐịaChỉ)
– dom(MãSV) = {char(5)}
– dom(TênSV) = {char(30)}
– dom(Nămsinh) = {date}
– dom(GiớiTính) = {0, 1}
– dom(ĐịaChỉ) = {char(50)}
• Lực lượng của 1 quan hệ là số các bộ
trong quan hệ
19
20
5
02/09/2019
Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ
• Định nghĩa Khoá của quan hệ r trên
tập thuộc tính U = {A1 , A2 , …, An}
là một tập K U sao cho với bất kỳ 2
bộ t1 , t2 thuộc r đều tồn tại một
thuộc tính A thuộc K mà t1[A] ≠ t2
[A]
• Một quan hệ có thể có nhiều khoá
• Nếu K là khoá của r thì mọi K’ sao
cho K K’ đều là khoá của r. K’ được
• Định nghĩa (tiếp): Cho U = {A1, A2
, …, An} là một tập hữu hạn các
thuộc tính trong đó dom(Ai ) = Di, r
là quan hệ trên tập thuộc tính U ký
hiệu là r(U) nếu:
r D1 D2 ... Dn
• U được gọi là sơ đồ quan hệ (lược
đồ quan hệ)
21
22
gọi là siêu khoá của r
Mô hình dữ liệu quan hệ
Ví dụ:
Mô hình dữ liệu quan hệ
• Quan hệ: SinhViên, Lớp
•Định nghĩa: K là khoá tối
thiểu của r nếu K là một khoá
của r và bất kỳ tập con thực sự
nào của K đều không phải là
khoá của r
• Siêu khoá: {MãSV, HọTên};
• Khoá tối thiểu: {MãSV}; {HọTên, NămSinh}
• Khoá ngoài: TênLớp nếu coi nó là khoá chính
của quan hệ Lớp
MãSV
TênSV
NămSinh
GiớiTính TênLớp
Tên Lớp
KHMT1
KHMT2
KTMT1
SĩSố
•Định nghĩa: Một tập con K U
được gọi là khoá ngoài của
quan hệ r(U) tham chiếu đến
một quan hệ r’ nếu K là khoá
001
Nguyễn Văn An
Nguyễn Văn An
Lê Văn Cường
1999
1
1
KHMT1
KHMT2
60
002
1998
65
003
004
1997
1
0
KHMT2
KTMT1
58
Nguyễn Thùy Linh 1997
chính của r’
23
24
6
02/09/2019
Mô hình thực thể liên kết
Mô hình dữ liệu quan hệ -
nhận xét
(Entity-Relationship data model)
• Cho phép mô tả các dữ liệu có liên quan
trong một xí nghiệp trong thế giới thực dưới
dạng các đối tượng và các mối quan hệ của
chúng.
• Ưu điểm
–Dựa trên lý thuyết tập hợp
• Được sử dụng cho bước đầu thiết kế CSDL,
làm nền tảng để ánh xạ sang một mô hình
khái niệm nào đó mà Hệ quản trị CSDL sẽ sử
dụng
–Khả năng tối ưu hoá các xử lý phong
phú
• Nhược điểm
–Hạn chế trong biểu diễn ngữ nghĩa
–Cấu trúc dữ liệu không linh hoạt
• Trong mô hình thực thể liên kết, CSDL được
mô hình hóa như là:
– Một tập hợp các thực thể
– Liên hệ giữa các thực thể này
25
26
Mô hình thực thể liên kết
Các khái niệm cơ bản
Mô hình thực thể liên kết...
• Thực thể: một đối tượng trong thế
giới thực, tồn tại độc lập và phân biệt
được với các đối tượng khác
• Tập thực thể: một tập hợp các thực
thể có tính chất giống nhau
• Thực thể, tập
thực thể
• Thuộc tính
• Khoá
• Liên kết, tập
liên kết
• Ví dụ:
–Thực thể: một sinh viên, một lớp
–Tập thực thể: toàn thể sinh viên của 1
lớp, toàn thể các lớp của 1 khoa
27
28
7
02/09/2019
Mô hình thực thể liên kết...
Mô hình thực thể liên kết...
Kiểu thuộc tính
• Thuộc tính là đặc tính
sinh_viên
• Thuộc tính đơn giản
(thuộc tính nguyên
tố)
–có kiểu dữ liệu
nguyên tố
• Thuộc tính phức
của một tập thực thể
sinh_viên
– Tập thực thể SinhViên có
các thuộc tính như: TênSV,
NămSinh,…
•sv1
•sv2
•sv3
gioitinh
tenSV
• Mỗi thực thể trong tập
thực thể có một giá trị
đặc tính nằm trong miền
giá trị của thuộc tính
maSV
namsinh
diachi
maSV
–có kiểu phức, định
nghĩa bởi các thuộc
tính khác
– Sinh viên
1 có: Họtên là
diachi
quan
thanh_pho
so_pho
Nguyễn Hải Anh, Năm sinh
1980
tenSV
namsinh
gioitinh
29
30
Mô hình thực thể liên kết...
Mô hình thực thể liên kết...
Kiểu thuộc tính
Khóa
• Thuộc tính đa giá
trị
maMH
• Một hay một tập thuộc tính mà giá trị của
chúng có thể xác định duy nhất một thực
thể trong tập thực thể
tenmon
– tương ứng với mỗi
thực thể, có thể
nhận nhiều giá trị
mon_hoc
– Tập thực thể SinhViên có thể dùng MãSV làm
khoá
soHT
• Khoá gồm nhiều thuộc tính thì gọi là khoá
• Thuộc tính suy
diễn
phức
sinh_viên
• Một tập thực thể có thể có nhiều khoá
nhưng chỉ một trong số các khoá được
chọn làm khoá chính
– có thể tính toán
được từ (các) thuộc
nam
tenSV
tính khác
• Trong sơ đồ ER, thuộc tính nào được chọn
tuoi
maSV
làm khoá chính sẽ được gạch chân
ngaysinh
31
32
diachi
8
02/09/2019
Mô hình thực thể liên kết...
Mô hình thực thể liên kết...
Liên kết - Tập liên kết
Liên kết - Tập liên kết - Ví dụ:
• Một liên kết là một mối liên hệ có nghĩa
giữa nhiều thực thể
maSV
tenSV
maMH
tenmon
soHT
– Cho một thực thể SinhViên1 và LớpA, liên kết
ThànhViên chỉ ra rằng SinhViên1 là 1 thành
viên của LớpA
diem_thi
sinh_viên
mon_hoc
ngaysinh
nam
• Tập liên kết là một tập hợp các liên kết
cùng kiểu
diachi
– Giữa tập thực thể SinhViên và Lớp có 1 tập liên
kết ThànhViên, chỉ ra rằng mỗi sinh viên đều là
thành viên của 1 lớp nào đó
ket_qua
• Một liên kết có thể có thuộc tính
33
34
Mô hình thực thể liên kết...
Cách lập sơ đồ thực thể - liên kết
• Bước 1: Xác định các thực thể
• Bước 2: Xác định các liên kết giữa
các thực thể
Ràng buộc của kết nối
1
1
• 1-1: Liên kết 1 thực thể
chu_nhiem
lop_hoc
giao_vien
của một tập thực thể với
nhiều nhất 1 thực thể của
tập thực thể khác
1
n
• 1-n: Liên kết 1 thực thể
của một tập thực thể với
nhiều thực thể của tập thực
thể khác
thanh_vien
lop_hoc
sinh_vien
–Bậc của liên kết
–Ràng buộc (1-1, 1-n, n-n, đệ quy)
n
• n-n: Liên kết 1 thực thể
của một tập thực thể với
nhiều thực thể của tập thực
thể khác và ngược lại
n
sinh_viên
mon_hoc
dang_ky
mon_hoc
• đệ quy: Liên kết giữa các
thực thể cùng kiểu
dieu_kien
35
36
9
02/09/2019
Ho
Dem
Ten
Bài tập: Vẽ sơ đồ ER
Ten _phong Ma_phong
• Bài toán: phân tích và thiết kế 1 CSDL gồm các
thông tin trong 1 công ty (nhân viên, phòng ban,
dự án)
SoBH
HoTen
Dia_chi
Luong
Ngay_sinh
1
PHONG_BAN
Gioi_tinh
– Công ty được tổ chức bởi các phòng ban. Mỗi phòng ban
có 1 tên duy nhất, 1 số duy nhất và 1 người quản lý
(thời điểm bắt đầu công tác quản lý của người này cũng
được lưu lại trong CSDL). Mỗi phòng ban có thể có nhiều
trụ sở làm việc khác nhau
– Mỗi phòng điều phối một số dự án. Mỗi dự án có 1 tên
và 1 mã số duy nhất, thực hiện tại một địa điểm duy
nhất
– Các thông tin về nhân viên cần được quan tâm gồm:
tên, số bảo hiểm, địa chỉ, lương, giới tính, ngày sinh. Mỗi
nhân viên làm việc tại một phòng ban nhưng có thể
tham gia nhiều dự án khác nhau. Những dự án này có
thể được điều phối bởi các phòng ban khác nhau. Thông
tin về số giờ làm việc trong từng dự án (theo tuần) cũng
như người quản lý trực tiếp của các nhân viên cũng được
lưu trữ
1
n
1
1
La_NV
NHAN_VIEN
nguoiPT
n
1
Phu_trach
Quan_ly
Ngay_BD
1
nguoibiPT
n
So_gio
Dieu_phoi
co
Lam_viec
n
n
m
DU_AN
CON
– Thông tin về con cái của từng nhân viên: tên, giới tính,
ngày sinh
37
Dia_diem
Ten_DA
Ma_DA
HoTen
Gioi_tinh Ngay_sinh
Biến đổi sơ đồ thực thể liên kết
sang sơ đồ quan hệ
Các công cụ online giúp vẽ ERD
• Lucidchart
• Biến đổi tập các thực thể
• Biến đổi các liên kết
• Các khoá của các sơ đồ quan hệ
• Các sơ đồ quan hệ với khoá chung
• Drawio
• Một số mô hình ERD tham khảo
models/index.htm
39
40
10
02/09/2019
Biến đổi các tập thực thể
Biến đổi các tập thực thể
• Bước 1: 1 tập thực thể 1 quan hệ
–thuộc tính thuộc tính (trường)
–1 thực thể 1 bộ
• Bước 2: 1 tập thực thể xác định từ
tập thực thể khác (E) qua 1 liên kết
1quan hệ chứa khoá cuả E:
–khoá của tập thực thể khoá của
LOPTRUONG(maSV)
quanhệ
sinh_viên
maSV
tenSV ngaysinh
nam
diachi
malop
la_mot
sinh_viên
lop_truong
SINH_VIEN
•sv1
•sv2
•sv3
•sv4
maSV tenSV
ngaysin gt
h
diachi
21 T. Q. B
lop
SV001 Trần T. Bình 1/4/81
0
1
0
0
IT4
SV002 Ng. Trung
3/2/80
56 Đ. C. V IT5
SV006 Trần M. Quế 26/3/82
45 H. B. T
86 L. T. N
IT6
IT7
41
42
SV003 Ng. Hương 29/2/80
Biến đổi các liên kết (tiếp)
• Bước 4: Liên kết 1-n
Biến đổi các liên kết
• Bước 3: Liên kết 1-1
Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm
trong khoá của các thực thể có liên quan
SINHVIEN_LOP(malop, maSV)
Thêm 1 quan hệ mới xác định bởi các
thuộc tính nằm trong khoá của các thực
thể có liên quan
CHU_NHIEM_LOP(malop,maGV)
hoặc
Dùng khoá ngoài
hoặc
Dùng khoá ngoài: thêm khoá chính của quan hệ bên
1 vào quan hệ bên n làm khoá ngoài
SINH_VIEN(maSV, tenSV, ngaysinh, nam, diachi, malop)
maSV
LOP_HOC(malop,lop,khoa,maGV)
tenSV
maGV
ngaysinh
malop
lop
1
malop
lop
1
1
ngaysinh
trinhdo
khoa
n
chu_nhiem
nam
lop_hoc
giao_vien
gom
lop_hoc
sinh_vien
khoa
khoa
diachi
43
44
11
02/09/2019
Biến đổi các liên kết (tiếp)
Thuộc tính đa trị
• Bước 5: Liên kết n-n
• Bước 6: Với mỗi thuộc tính đa trị
Thêm 1 quan hệ mới xác định bởi các
thuộc tính nằm trong khoá của các
thực thể có liên quan và các thuộc
tính của liên kết
Thêm 1 quan hệ mới xác định bởi
thuộc tính đa trị và khoá của tập
thực thể tương ứng
MH_GV(maMH,giao_vien)
DANG_KY(maSV,maMH, diem)
maMH
diem
maMH
ten
maSV
tenSV
tenmon
mon_hoc
soHT
n
m
sinh_viên
dang_ky
mon_hoc
ngaysinh
nam
soHT
45
46
diachi
Mô hình dữ liệu hướng đối tượng
(Object-oriented data model)
Mô hình dữ liệu hướng đối tượng
Ví dụ:
class sinh_vien {
string maSV;
string tenSV;
date ngaysinh;
boolean nam;
string diachi;
string lop;
• Sự ra đời
– Khoảng đầu những năm 90
• Biễu diễn: sơ đồ lớp
• Các khái niệm cơ bản
– Đối tượng: một đối tượng trong thế giới thực, được xác
định bởi một định danh duy nhất
– Thuộc tính: biểu diễn một đặc tính của đối tượng,
– Phương thức : thao tác được thực hiện trên đối tượng.
• Tất cả các truy nhập vào thuộc tính của đối tượng đều phải được
thực hiện thông qua các phương thức này.
– Lớp: một cách thức để khai báo một tập các đối tượng có
chung một tập thuộc tính và phương thức
string ten();
string ngay_sinh();
string dia_chi();
string lop();
void gan_DC(string DC_moi);
void gan_lop(string lop);
}
47
48
12
02/09/2019
Mô hình dữ liệu hướng đối tượng
Nhận xét:
So sánh và đánh giá
Nhắc lại: Mô hình dữ liệu là một tập hợp các khái niệm dùng
để mô tả cấu trúc của một CSDL
• Ưu điểm
Mô hình
mạng
Mô hình
phân cấp quan hệ TT-LK
Mô hình Mô hình Mô hình
– Cho phép định nghĩa kiểu đối tượng phức tạp
– Tính chất: bao đóng (encapsulation), kế thừa
(heritage), đa hình (polymorphism)
HĐT
tương đối
đa dạng
hạn chế
hạn chế
đa dạng đa dạng
biểu diễn
ngữ nghĩa
DL
• Nhược điểm
dễ dàng và
hiệu quả
cấu trúc
phức tạp
s/d nhiều
con trỏ
dữ liệu
lặp lại
khó lưu
trữ
lưu trữ DL
– Cấu trúc lưu trữ phức tạp và có thể sử dụng
nhiều con trỏ
– Khả năng tối ưu hoá các xử lý bị hạn chế trong
nhiều trường hợp
đơn giản
đơn giản
đa dạng
đa dạng
khả năng
truy vấn
không được
xem xét
(không hiệu s/d nhiều
quả) con trỏ
không
h/q khi
ít khả
năng tối
ưu
ít khả
năng tối
ưu
tối ưu
hoá tốt
hiệu quả
của truy
vấn
49
50
Các bước xây dựng một hệ CSDL
Phân loại các mô hình
Phân cấp
1: PHÂN TÍCH
Thế hệ 1
Các mô hình
dựa trên
bản ghi
Mạng
Quan hệ
Mô tả ứng dụng
Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)
Thế hệ 2
Thế hệ 3
2: THIẾT KẾ
Thực thể-liên kết
ngữ nghĩa
Các mô hình
dựa trên
đối tượng
3: CÀI ĐẶT
Đối tượng - Quan hệ
Hướng đối tượng
Cài đặt với 1 hệ quản trị CSDL
(vd: ORACLE)
Mô tả DL logic với 1 mô hình DL cụ thể
(vd: Sơ đồ quan hệ)
51
52
13
02/09/2019
Bài tập
Lời giải
• Cho sơ đồ thực thể liên kết bên dưới, hãy biến đổi
sang mô hình quan hệ:
• Biến đổi các tập thực thể và các quan hệ
thành các bảng:
LecturerID
StudentName
StudentBirth
StudentID
LecturerName
Lecturers(LecturerID, LecturerName,
LecturerPhone)
Students
Lecturers
LecturerPhone
Students(StudentID, StudentName, StudentBirth,
StudentAddress)
Classes(ClassID, ClassName, ClassMonitor)
Subjects(SubjectID, SubjectName)
Belongto(StudentID, ClassID)
StudentAddress
Belong to
Classes
ClassID
Learn
Time
ClassName
Subjects
ClassMonitor
Learn(LecturerID,ClassID, SubjectID, Time)
SubjectID
SubjectName
53
54
Lời giải (tiếp)
Lời hay ý đẹp
• Cải tiến thiết kế: Bảng Students và
bảng Belongto có cùng khóa
(StudentID), ta nên kết hợp chúng
lại:
Students’(StudentID, StudentName,
StudentBirth, StudentAddress, ClassID)
Trong 10 lần thành công thì có tới 9 lần
thành công nhờ sự hăng hái và niềm tin
trong công việc
Teewilson
55
56
14
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu - Chương 2: Các mô hình dữ liệu - Nguyễn Hồng Phương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_co_so_du_lieu_chuong_2_cac_mo_hinh_du_lieu_nguyen.pdf