Bài giảng Nhập môn cơ sở dữ liệu - Bài 2: Các mô hình dữ liệu - Vũ Tuyết Trinh

Các mô hình dliu  
Vũ Tuyết Trinh  
Bmôn Các hthng thông tin, Khoa Công nghthông tin  
Đại hc Bách Khoa Hà Ni  
Mô hình dliu  
“A data model is a plan for building a database*  
{ Mô hình dliu gm [Codd, 1980]  
z Mt tp hp các cu trúc ca dliu  
z Mt tp các phép toán để thao tác vi các dliu  
z Mt tp các ràng buc vdliu  
Ví d: mô hình mng, mô hình phân cp, mô hình  
quan h, mô hình thc th-liên kết, mô hình  
hướng đi tượng  
*http://www.computerworld.com/databasetopics/data/story/0,10801,80205,00.html  
2
Vài nét vlch sử  
DB2,  
Mô hình  
ORACLE-10i,  
quan hệ  
SQL Server  
Mô hình  
Mô hình  
...  
...  
quan hmrng  
phân cp  
System R(81), DB2,  
XML  
ORACLE, SQL  
IMS,  
Server, Sybase, ...  
dbXML,natix,  
System 2k,  
Tamino,...  
...  
...  
1965  
1970  
1975 1980 1985 1990 1995 2000 2005 2010  
O2, ORION,  
Mô hình  
Thc th-liên kết  
IRIS, ...  
IRDS(87),  
Mô hình  
CDD+, ...  
mng  
hướng đối  
tượng  
DMS(65),  
Mô hình bán  
Lore (97),  
CODASYL (71),  
...  
cu trúc  
3
IDMS, IDS  
Mt vài mô hình dliu  
{ Mô hình phân cp  
{ Mô hình mng  
{ Mô hình quan hệ  
{ Mô hình thc th- liên kết  
{ Mô hình hướng đối tượng  
{ Mô hình bán cu trúc  
{ Mô hình dliu ca XML  
4
Đặt vn đề  
{ Đặc đim ca các mô hình dliu?  
{ Skhác nhau gia các mô hình dliu?  
{ Các mô hình dliu phbiến ngày nay  
5
Mô hình dliu phân cp  
(Hierarchical data model)  
{ Sra đời  
z Khong năm 60-65  
{ Biu din: bng cây  
z Quan hcha/con  
z Mi nút có mt cha duy nht  
z 1 CSDL = tp các cây  
{ Các khái nim cơ bn  
z Bn ghi  
z Móc ni  
{ Các phép toán: GET, GET UNIQUE, GET NEXT, GET  
NEXT WITHIN PARENT, ...  
6
Ví dụ  
giao_vien  
mon_hoc  
lop  
sinh_vien  
mon_hoc  
diem_thi  
7
Nhn xét  
{ Ưu đim  
{ Dxây dng và thao tác  
{ Tương thích vi các lĩnh vc tchc phân cp (vd:  
tchc nhân strong các đơn v, ...)  
{ Ngôn ngthao tác đơn gin (duyt cây)  
{ Nhược đim  
{ Slp li ca các kiu bn ghi dư tha dliu và  
dliu không nht quán  
¾ Gii pháp: bn ghi o  
{ Hn chế trong biu din ngnghĩa ca các móc ni  
gia các bn ghi (chcho phép quan h1-n)  
8
Mô hình dliu mng  
(Network data model)  
{ Sra đời  
z sdng phbiến tnhng năm 60, được định nghĩa  
li vào năm 1971  
{ Biu din: bng đồ thcó hướng  
{ Các khái nim cơ bn  
z Tp bn ghi (record)  
{ Kiu bn ghi (record type)  
{ Các trường (field)  
z Móc ni (link)  
{ Tên ca móc ni  
{ ch(owner) – thành viên (member): theo hướng ca  
móc ni  
{ Kiu móc ni: 1-1, 1-n, đệ quy  
z Các phép toán  
{ Duyt: FIND, FIND member, FIND owner, FIND NEXT  
9
{ Thtc: GET  
Ví dụ  
giao_vien  
giang_day  
hoc  
lop  
mon_hoc  
co_diem  
gom  
co  
sinh_vien  
diem_thi  
10  
Nhn xét  
{ Ưu đim  
{ Đơn gin  
{ Có thbiu din các ngnghĩa đa dng vi kiu bn  
ghi và kiu móc ni  
{ Truy vn thông qua phép duyt đồ th(navigation)  
{ Nhược đim  
{ Slượng các con trln  
{ Hn chế trong biu din ngnghĩa ca các móc ni  
gia các bn ghi  
11  
Mô hình dliu quan hệ  
(Relational data model)  
{ Sra đời  
z vào năm 1970[Codd, 1970]  
{ Biu din: dưới dng bng  
{ Các khái nim cơ bn  
z Thuc tính: mt tính cht riêng bit ca mt đối tượng  
{ Tên  
{ Kiu, min giá trị  
z Quan h: được định nghĩa trên mt tp các thuc tính  
z Bgiá tr: các thông tin ca mt đối tượng thuc quan  
hệ  
z Khoá:  
z Các phép toán: hp, giao, tích đề-các, la chn,  
chiếu, kết ni, ...  
12  
MON_HOC  
maMH  
CNTT01  
CNTT02  
CNTT03  
HTTT01  
tenmon  
soHT  
Nhp môn CSDL  
4
4
4
3
Ví dụ  
Truyn DL và mng  
Phân tích và thiết kế hthng  
Qun lý dán  
LOP  
malop  
IT4  
lop  
khoa  
CNTT  
CNTT  
CNTT  
CNTT  
GVCN  
loptruong  
Tin 4  
Tin 5  
Tin 6  
Tin 7  
Ng. V. Anh  
Lê A. Văn  
Ng. T. Tho  
Ng. V. Quý  
Trn T. Bình  
IT5  
Ng. Đ. Trung  
Trn M. Quế  
Ng. T. Phương  
IT6  
IT7  
SINH_VIEN  
maSV  
tenSV  
Trn T. Bình  
ngaysinh  
1/4/1981  
3/2/1980  
26/3/1982  
29/2/1980  
nam diachi  
lop  
IT4  
IT5  
IT6  
IT7  
SV0011  
SV0025  
SV0067  
SV0034  
0
1
0
0
21 T. Q. B  
56 Đ. C. V  
45 H. B. T  
86 L. T. N  
Ng. Đ. Trung  
Trn M. Quế  
Ng. T. Phương  
13  
Nhn xét  
{ Ưu đim  
z Da trên lý thuyết tp hp  
z Khnăng ti ưu hoá các xlý phong phú  
{ Nhược đim  
z Hn chế trong biu din ngnghĩa  
z Cu trúc dliu không linh hot  
14  
Mô hình dliu thc th- liên kết  
(Entity-Relational data model)  
{ Sra đời  
z Xut phát tnhu cu mô hình hoá ngnghĩa dliu và  
phát trin phn mm  
z đề xut 1975 [Chen, 1976] [Chen, 2002]  
{ Biu din: bng sơ đồ thc th- liên kết  
{ Các khái nim cơ bn  
z Thc th: mt đối tượng trong thế gii thc  
z Thuc tính: mt đặc tính ca mt tp thc thể  
o Khoá:xác định sduy nht ca 1 thc thể  
o Liên kết: mi liên hcó nghĩa gia nhiu thc thể  
o Mi liên kết có thcó các thuc tính  
o 1-1, 1-n, n-m, đệ quy  
15  
Ví dụ  
maMH  
tenmon  
soHT  
diem_thi  
chuong_trinh  
mon_hoc  
maSV  
tenSV  
gom  
sinh_viên  
lop  
ngaysinh  
nam  
loptruong  
diachi  
GVCN  
malop  
lop  
khoa  
16  
Nhn xét  
{ Ưu đim  
z ddàng biu din cái mà con người nhn thc tthế  
gii thc  
z Biu din ngnghĩa phong phú ca các thc thvà  
quan hgia các thc thể  
{ Nhược đim  
z Không ddàng ánh xvào nhng cu trúc lưu trữ  
trên máy tính  
17  
Mô hình dliu hướng đối tượng  
(Object-oriented data model)  
{ Sra đời  
z Khong đầu nhng năm 90  
{ Biu din: sơ đồ lp  
{ Các khái nim cơ bn  
z Đối tượng: mt đối tượng trong thế gii thc, được xác  
định bi mt định danh duy nht  
z Thuc tính: biu din mt đặc tính ca đối tượng,  
z Phương thc : thao tác được thc hin trên đối tượng.  
{ Tt ccác truy nhp vào thuc tính ca đối tượng đều phi  
được thc hin thông qua các phương thc này.  
z Lp: mt cách thc để khai báo mt tp các đối tượng có  
chung mt tp thuc tính và phương thc  
18  
Ví dụ  
class sinh_vien {  
string maSV;  
string tenSV;  
date ngaysinh;  
boolean nam;  
string diachi;  
string lop;  
string ten();  
string ngay_sinh();  
string dia_chi();  
string lop();  
void gan_DC(string DC_moi);  
void gan_lop(string lop);  
}
19  
Nhn xét  
{ Ưu đim  
z Cho phép định nghĩa kiu đối tượng phc tp  
z Tính cht: bao đóng (encapsulation), kế tha  
(heritage), đa hình (polymorphism)  
{ Nhược đim  
z Cu trúc lưu trphc tp và có thsdng nhiu  
con trỏ  
z Khnăng ti ưu hoá các xlý bhn chế trong nhiu  
trường hp  
20  
So sánh và đánh giá  
Nhc li: Mô hình dliu là mt tp hp các khái nim dùng  
để mô tcu trúc ca mt CSDL  
Mô hình  
Mô hình  
Mô hình  
Mô hình TT- Mô hình  
LK  
mng  
phân cp  
quan hệ  
HĐT  
biu din ngữ  
nghĩa DL  
lưu trDL  
khnăng truy  
vn  
hiu quca  
truy vn  
21  
Phân loi các mô hình  
Phân cp  
Mng  
Thế h1  
Các mô hình  
da trên  
bn ghi  
Quan hệ  
Thế h2  
Thế h3  
Thc th-liên kết  
ngnghĩa  
Các mô hình  
da trên  
đối tượng  
Đối tượng - Quan hệ  
Hướng đối tượng  
22  
Biến đổi gia các mô hình dliu  
{ Yêu cu  
z Chuyn mt sơ đồ dliu tmt mô hình dliu  
sang mt mô hình khác  
z Đảm bo tính « tương đương » ca sơ đồ dliu  
ngun và đích  
{ Các biến đổi tương đương gia các mô hình  
z Thc th/liên kết - mng  
z Thc th/liên kết - hướng đối tượng  
z Quan h- hướng đối tượng  
23  
Các bước xây dng mt CSDL  
1: PHÂN TÍCH  
Mô tả ứng dng  
Mô hình hoá DL (vd: Sơ đồ thc th-liên kết)  
2: THIT KẾ  
3: CÀI ĐẶT  
Cài đặt vi 1 hqun trCSDL  
Mô tDL logic vi 1 mô hình DL cthể  
24  
(vd: ORACLE)  
(vd: Sơ đồ quan h)  
Mô hình hoá dliu vi mô  
hình thc th- liên kết  
Đặc đim  
{ Thích hp để mô hình hoá dliu cho CSDL  
z Gn gũi vi nhn thc ca con người dsdng  
z dchuyn đổi sang mô hình quan hệ  
z Da trên các khái nim chính  
{ Thc th: mt đối tượng trong thế gii thc  
{ Tp thc th: các thc thcó cùng các tính cht  
{ Thuc tính: mt đặc tính ca mt tp thc thể  
o Khoá:xác định sduy nht ca 1 thc thể  
o Liên kết: mi liên hcó nghĩa gia nhiu thc thể  
{ Tp liên kết: tp hơpcác liên kết cùng kiu  
{ Được biu din bi sơ đồ thc th- liên kết  
26  
Thc thvà thuc tính  
{
{
{
Thc th: mt đối tượng  
sinh_viên  
trong thế gii thc  
Tp thc th: gm các thc  
thcó tính cht ging nhau  
•sv1  
•sv2  
•sv3  
Thuc tính: mt đặc tính ca  
mt tp thc thể  
z
Min giá tr~ tp các giá trị  
maSV  
có thể  
diachi  
z
Khoá ~ xác định sduy nht  
ca 1 thc thể  
tenSV  
ngaysinh  
nam  
27  
Kiu thuc tính  
tenSV = ‘‘Trn T. Bình’’  
tenSV = ‘‘Ng. Đ. Trung’’  
{ Thuc tính đơn gin  
(thuc tính nguyên t)  
z có kiu dliu nguyên  
tố  
sinh_viên  
{ Thuc tính phc  
z có kiu phc, định nghĩa  
bi các thuc tính khác  
nam  
tenSV  
maSV  
ngaysinh  
diachi  
quan  
thanh_pho  
so_pho  
28  
Kiu thuc tính (2)  
maMH  
tenmon  
soHT  
{ Thuc tính đa giá trị  
z tương ng vi mi thc  
th, có thnhn nhiu  
giá trị  
mon_hoc  
giao_vien  
{ Thuc tính suy din  
sinh_viên  
z có thtính toán được từ  
(các) thuc tính khác  
nam  
tenSV  
ngaysinh  
tuoi  
maSV  
diachi  
29  
Liên kết  
{ Đ/n: là skết hp gia mt sthc thể  
{ Thuc tính  
maSV  
tenSV  
maMH  
tenmon  
soHT  
diem_thi  
sinh_viên  
mon_hoc  
ngaysinh  
nam  
diachi  
ket_qua  
30  
Ràng buc ca kết ni  
{
{
{
{
1-1: Liên kết 1 thc thca  
mt tp thc thvi nhiu  
nht 1 thc thca tp thc  
thkhác  
1-n: Liên kết 1 thc thca  
mt tp thc thvi nhiu  
thc thca tp thc thể  
khác  
n-m: Liên kết 1 thc thca  
mt tp thc thvi nhiu  
thc thca tp thc thể  
khác và ngược li  
1
1
1
chu_nhiem  
gom  
lop_hoc  
giao_vien  
m
lop_hoc  
sinh_vien  
mon_hoc  
n
m
sinh_viên  
mon_hoc  
dang_ky  
đệ quy: Liên kết gia các  
thc thcùng kiu  
dieu_kien  
31  
Lp sơ đồ thc th- liên kết  
{ B1: Xác định các thc thể  
{ B2: Xác định các liên kết gia các thc thể  
z Bc ca liên kết  
z Ràng buc (1-1, 1-n, n-m, đệ quy)  
32  
Bài tp  
{
Bài toán: phân tích và thiết kế 1 CSDL gm các thông tin trong  
1 công ty (nhân viên, phòng ban, dán  
z
Công ty được tchc bi các phòng ban. Mi phòng ban có 1 tên  
duy nht, 1 sduy nht và 1 người qun lý (thi đim bt đầu  
công tác qun lý ca người này cũng được lưu li trong CSDL).  
Mi phòng ban có thcó nhiu trslàm vic khác nhau  
z
z
Mi phòng điu phi mt sdán. Mi dán có 1 tên và 1 mã số  
duy nht, thc hin ti mt địa đim duy nht  
Các thông tin vnhân viên cn được quan tâm gm: tên, sbo  
him, địa ch, lương, gii tính, ngày sinh. Mi nhân viên làm vic  
ti mt phòng ban nhưng có ththam gia nhiu dán khác nhau.  
Nhng dán này có thể được điu phi bi các phòng ban khác  
nhau. Thông tin vsgilàm vic trong tng dán (theo tun)  
cũng như người qun lý trc tiếp ca các nhân viên cũng được  
lưu trữ  
z
Thông tin vcon cái ca tng nhân viên: tên, gii tính, ngày sinh  
33  
34  
Mô hình dliu quan hệ  
Đặc đim  
{ Da trên lý thuyết tp hp  
{ ddàng ánh xạ đến cu trúc lưu trvt lý  
{ Các khái nim cơ bn  
z Thut ngtoán hc: quan h, bvà thuc tính  
z Thut nghướng dliu: bng, bn ghi và trường  
{ Được biu din bi lược đồ quan hệ  
36  
Thuc tính - trường  
{ Đ/n: là mt tính cht riêng bit ca mt đối  
tượng cn được lưu trtrong CSDL để phc vụ  
cho vic khai thác dliu về đối tượng  
z Ký hiu: A  
{ Tên thuc tính:  
z maSV, tenSV,ngaysinh,nam,diachi,lop  
{ Kiu dliu, min giá tr(Dom(A))  
z text, number, boolean, date/time, memo  
z maSV: text(10)  
tenSV: text(30)  
ngaysinh: date  
nam: boolean  
...  
37  
Quan h- bng  
{ Đ/n: được xác định  
trên mt tp các  
thuc tính Ai  
{ Ký hiu:  
SINH_VIEN (maSV,tenSV,ngaysinh,  
nam, diachi,lop)  
R(A1,A2, … An)  
LOP(malop,ten,khoa)  
{
R(A1,A2, … An)  
Dom(A1) x … x Dom(An)  
{ Tân t: quy tc để  
xác định mi quan hệ  
gia các thuc tính  
Ai  
lop SINH_VIEN[lop],  
malop LOP[malop]:  
lop = malop  
38  
B- bn ghi  
{ Đ/n: các thông tin ca mt đối tượng thuc  
quan hệ  
{ Ký hiu  
t(a1,a2, … an)  
{ t(a1,a2, … an) Dom(A1) x … x Dom(An)  
SV0011  
SV0025  
SV0067  
SV0034  
Trn T. Bình  
1/4/1981  
3/2/1980  
26/3/1982  
29/2/1980  
0
1
0
0
21 T. Q. B  
56 Đ. C. V  
45 H. B. T  
86 L. T. N  
IT4  
IT5  
IT6  
IT7  
Ng. Đ. Trung  
Trn M. Quế  
Ng. T. Phương  
39  
Lược đồ quan hệ  
{ Lược đồ quan h(S): là stru tượng hoá ca  
quan hệ ở mc độ cu trúc ca mt bng 2  
chiu  
z S = {Ri}  
z
SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop)  
LOP(malop,lop, khoa, GVCN, loptruong)  
MON_HOC(maMH,tenmon,soHT)  
...  
{ Thhin ca quan h: tp hp các bgiá trị  
ca quan hR vào mt thi đim  
40  
Tải về để xem bản đầy đủ
pdf 27 trang baolam 26/04/2022 6700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn cơ sở dữ liệu - Bài 2: Các mô hình dữ liệu - Vũ Tuyết Trinh", để 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:

  • pdfbai_giang_nhap_mon_co_so_du_lieu_bai_2_cac_mo_hinh_du_lieu_v.pdf