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

Mô hình dữ liệu Mô hình thực thể liên kết Mô hình dữ liệu quan hệ

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 (663.24 KB, 8 trang )

14/07/14
1
Mô hình dữ liệu
Trần Việt Trung
Vũ Tuyết Trinh

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
Mô hình dữ liệu
•  Mô hình dữ liệu gồm
–  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:
•  Các kiểu dữ liệu
•  Các mối quan hệ trong dữ liệu
•  Các ràng buộc dữ liệu
–  Một tập các phép toán để thao tác với các dữ liệu
này
2
Ví dụ: mô hình mạng, mô hình phân cấp, mô hình
quan hệ, mô hình thực thể-liên kết, mô hình
hướng đối tượng
“A data model is a plan for building a database”
*

Vài nét về lịch sử
3
1965 1970 1975 1980 1985 1990 1995 2000 2005 2010
Mô hình
mạng
Mô hình


phân cấp
Mô hình
quan hệ
Mô hình
hướng đối
tượng
Mô hình
quan hệ mở rộng
Mô hình bán
cấu trúc
DMS(65),
CODASYL
(71), IDMS,
IDS
IMS,
System
2k,

System R(81), DB2,
ORACLE, SQL
Server, Sybase,
O2,
ORION,
IRIS,
DB2,
ORACLE-10i
, SQL
Server
Lore
(97),

XML
???
Mô hình
Thực thể-liên kết
IRDS(87)
,CDD
+,
Phân loại mô hình dữ liệu
•  Mô hình khái niệm (mức cao, ngữ nghĩa)
–  Mô tả những thực thể/dữ liệu theo cách nhận thực của đa
số người dùng
–  Ví dụ: Mô hình thực thể liên kết, mô hình hướng đối
tượng,
–  Dựa trên khái niệm đối tượng
•  Mô hình logic (mức biểu diễn, cài đặt)
–  Mô tả dữ liệu một cách logic, dễ dàng ánh xạ đến những
cấu trúc lưu trữ của máy tính
–  Ví dụ: mô hình mạng, mô hình quan hệ,
–  Dựa trên khái niệm bản ghi
•  Mô hình vật lý (mức thấp)
–  Cho phép mô tả cách thức lưu trữ dữ liệu trong máy tính
–  Ví dụ: Unifying Model, Frame Memory
4
Các bước xây dựng một
CSDL
5
Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)
Mô tả DL logic với 1 mô hình DL cụ thể
(vd: Sơ đồ quan hệ)
Mô tả ứng dụng

1: PHÂN TÍCH
2: THIẾT KẾ
Cài đặt với 1 hệ quản trị CSDL
(vd: ORACLE)
3: CÀI ĐẶT
Mô hình hoá dữ liệu với mô
hình thực thể - liên kết
14/07/14
2
Đặc điểm
•  Là mô hình dữ liệu thuộc mức quan niệm, sử dụng cho thiết kế CSDL
–  Gần gũi với nhận thức của con người → dễ sử dụng
–  Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa
các thực thể
–  Dễ chuyển đổi sang mô hình quan hệ
–  Dựa trên 2 khái niệm chính
•  (tập) thực thể
•  (tập) liên kết.
•  (Type & role)
•  Được biểu diễn bởi sơ đồ thực thể - liên kết
7
Thực thể và thuộc tính
•  Thực thể: một đối tượng
trong thế giới thực
•  Tập thực thể: gồm các thực
thể có tính chất giống nhau
•  Thuộc tính: một đặc tính của
một tập thực thể
–  Miền giá trị ~ tập các giá trị
có thể

–  Khoá ~ xác định sự duy nhất
của 1 thực thể
8
• sv1
• sv2
• sv3
sinh_viên
maSV
tenSV
ngaysinh
nam
diachi
Kiểu thuộc tính
•  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ó kiểu phức, định nghĩa bởi
các thuộc tính khác
tenSV = ‘‘Trần T. Bình’’
= ‘‘Ng. Đ. Trung’’
9
sinh_viên
maSV
tenSV
ngaysinh
nam
diachi
so_pho

quan thanh_pho
Kiểu thuộc tính (2)
•  Thuộc tính đa giá trị
–  tương ứng với mỗi thực thể,
có thể nhận nhiều giá trị
•  Thuộc tính suy diễn
–  có thể tính toán được từ
(các) thuộc tính khác
10
mon_hoc
maMH
tenmon
soHT
giao_vien
sinh_viên
maSV
tenSV
ngaysinh
nam
diachi
tuoi
Liên kết
•  Đ/n: là sự kết hợp giữa một số thực thể
•  Thuộc tính
11
sinh_viên mon_hoc
hoc
maMH
tenmon
soHT

maSV
tenSV
ngaysinh
nam
diachi
ket_qua
Ràng buộc của kết nối
•  1-1: Liên kết 1 thực thể 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: 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
•  n-m: 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
•  đệ quy: Liên kết giữa các thực
thể cùng kiểu
12
sinh_viên mon_hoc
dang_ky
n
m
lop_hoc sinh_vien
gom
1
m
mon_hoc
dieu_kien

lop_hoc giao_vien
chu_nhiem
1
1
14/07/14
3
Lập sơ đồ thực thể - liên kết
•  B1: Xác định các thực thể
•  B2: Xác định các liên kết giữa các thực thể
–  Bậc của liên kết
–  Ràng buộc (1-1, 1-n, n-m, đệ quy)
13
Bài tập
•  Xác định sơ đồ thực thể - liên kết từ một mô
tả bài toán
14
Mô hình dữ liệu quan hệ
Đặc điểm
•  Dựa trên lý thuyết tập hợp
•  dễ dàng ánh xạ đến cấu trúc lưu trữ vật lý
•  Các khái niệm cơ bản
–  Thuật ngữ toán học: quan hệ, bộ và thuộc tính
–  Thuật ngữ hướng dữ liệu: bảng, bản ghi và
trường
•  Được biểu diễn bởi lược đồ quan hệ
16
Thuộc tính - trường
•  Đ/n: là một tính chất riêng biệt của một đối tượng cần đư ợc lưu
trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng
–  Ký hiệu: A

•  Tên thuộc tính:
–  maSV, tenSV,ngaysinh,nam,diachi,lop
•  Kiểu dữ liệu, miền giá trị (Dom(A))
–  text, number, boolean, date/time, memo
–  maSV: text(10)
tenSV: text(30)
ngaysinh: date
nam: boolean

17
Lược đồ quan hệ - bảng
•  Đ/n: được xác định trên
một tập các thuộc tính A
i
•  Ký hiệu:
R(A
1
,A
2
, … A
n
)
•  R(A
1
,A
2
, … A
n
) ⊆ Dom(A
1

) x
… x Dom(A
n
)
18
SINH_VIEN (maSV,tenSV,ngaysinh,
nam, diachi,lop)
VI DU???
14/07/14
4
Bộ - bản ghi
•  Đ/n: các thông tin của một đối tượng thuộc
quan hệ
•  Ký hiệu
t(a
1
,a
2
, … a
n
)
•  t(a
1
,a
2
, … a
n
) ∈ Dom(A
1
) x … x Dom(A

n
)
19
SV0011 Trần T. Bình 1/4/1981 0 21 T. Q. B IT4
SV0025 Ng. Đ. Trung 3/2/1980 1 56 Đ. C. V IT5
SV0067 Trần M. Quế 26/3/1982 0 45 H. B. T IT6
SV0034 Ng. T. Phương 29/2/1980 0 86 L. T. N IT7
Lược đồ cơ sở dữ liệu quan hệ
•  Lược đồ cơ sở dữ liệu quan hệ (S): là sự trừu
tượng hoá của các quan hệ ở mức độ cấu trúc
của một bảng 2 chiều
–  S = {R
i
}
–  SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop)
LOP(malop,lop, khoa, GVCN, loptruong)
MON_HOC(maMH,tenmon,soHT)

•  Thể hiện của quan hệ: tập hợp các bộ giá trị của
quan hệ R vào một thời điểm (relation state)
20
Tính chất của quan hệ%
•  Thứ tự của bộ trong quan hệ%
–  Các bộ không có thứ tự%
•  Thứ tự của các thuộc tính trong bộ %
•  Giá trị và Nulls trong các bộ%
–  Mỗi giá trị là nguyên tử%
–  Composite and mutivalued attributed are not allowed%
–  NULL%
•  Giá trị chưa biết hoặc không tồn tại cho một bộ %

•  Thông dịch ngữ nghĩa của quan hệ%
21
Khoá
•  Đ/n
–  Cho R(A
1
,A
2
, … A
n
), K ⊆ {A
i
},
–  K là khoá nếu với ∀t
1
, t
2
∈R, ∃A
i
∈K: t
1
.K≠t
2
.K
SINH_VIEN (maSV,tenSV,ngaysinh,nam,
diachi,lop)

22
Phân loại khoá
•  Khoá tối thiểu

–  Cho R(A
1
,A
2
, … A
n
), K ⊆
{A
i
},
–  K là khoá tối thiểu nếu K
là khoá và !∃K’ ⊆ K mà K’
là khoá
•  Khoá ngoài
–  Cho R(A
1
,A
2
, … A
n
),
R’(A’
1
,A’
2
, … A’
m
), K ⊆
{A
i

},
–  K là khoá ngoài của R tham
chiếu đến quan hệ R’ nếu K
là khoá chính của R’
23
SINH_VIEN (maSV,tenSV,ngaysinh,
nam, diachi,malop)
LOP(malop,lop, khoa, GVCN,
loptruong)
Rằng buộc trong cơ sở dữ liệu
quan hệ %
•  Rằng buộc miền giá trị%
•  Rằng buộc về khoá%
–  Rằng buộc toàn vẹn của thực thể (entity integrity
constraint)%
•  Khoá chính không thể là giá trị NULL %
–  Rằng buộc toàn vẹn tham chiếu (referential
integrity constraint)%
•  Rằng buộc toàn vẹn ngữ nghĩa (semantic
integrity constraints)%
–  CREATE ASSERTION & CREATE TRIGGER%
24
14/07/14
5
Biến đổi: Sơ đồ thực thể - liên kết
→ Sơ đồ quan hệ
•  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

25
26
Ví dụ
maSV tenSV ngaysinh nam diachi lop
SV0011 Trần T. Bình 1/4/1981 0 21 T. Q. B IT4
SV0025 Ng. Đ. Trung 3/2/1980 1 56 Đ. C. V IT5
SV0067 Trần M. Quế 26/3/1982 0 45 H. B. T IT6
SV0034 Ng. T. Phương 29/2/1980 0 86 L. T. N IT7
malop lop khoa GVCN loptruong
IT4 Tin 4 CNTT Ng. V. Anh Trần T. Bình
IT5 Tin 5 CNTT Lê A. Văn Ng. Đ. Trung
IT6 Tin 6 CNTT Ng. T. Thảo Trần M. Quế
IT7 Tin 7 CNTT Ng. V. Quý Ng. T. Phương
maMH tenmon soHT
CNTT01 Nhập môn CSDL 4
CNTT02 Truyền DL và mạng 4
CNTT03 Phân tích và thiết kế hệ thống 4
HTTT01 Quản lý dự án 3
MON_HOC
LOP
SINH_VIEN
27
Nhắc lại: Các bước xây
dựng một CSDL
28
Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)
Mô tả DL logic với 1 mô hình DL cụ thể
(vd: Sơ đồ quan hệ)
Mô tả ứng dụng
1: PHÂN TÍCH

2: THIẾT KẾ
Cài đặt với 1 hệ quản trị CSDL
(vd: ORACLE)
3: CÀI ĐẶT
Biến đổi các tập thực thể
B1: 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ộ
–  khoá của tập thực thể → khoá của quan hệ,



29
• sv1
• sv2
• sv3
86 L. T. N
45 H. B. T
56 Đ. C. V
21 T. Q. B
diachi
IT7
IT6
IT5
IT4
malop
0 29/2/1980 Ng. T. Phương SV0034
0 26/3/1982 Trần M. Quế SV0067
1 3/2/1980 Ng. Đ. Trung SV0025
0 1/4/1981 Trần T. Bình SV0011

nam ngaysinh tenSV maSV
SINH_VIEN
• sv1
• sv2
• sv3
• sv4
maSV tenSV ngaysinh nam diachi malop
sinh_viên
Biến đổi các tập thực thể (2)
B2: 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
LOPTRUONG(maSV)
30
sinh_viên lop_truong
la_mot
14/07/14
6
Biến đổi các liên kết
B3: 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 khóa của các thực thể có liên quan
CHU_NHIEM_LOP(malop,maGV) " KHONG DUOC
hoặc
! Dùng khoá ngoài
LOP_HOC(malop,lop,khoa,maGV)
31
lop_hoc giao_vien
chu_nhiem

1
1
malop
lop
khoa
maSV
ngaysinh
trinhdo
khoa
Biến đổi các liên kết (2)
B4: Liên kết 1-n
!  Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm
trong khóa của các thực thể có liên quan
SINHVIEN_LOP(malop,maSV)
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)
32
lop_hoc sinh_vien
gom
1
n
malop
lop
khoa
maSV
tenSV
ngaysinh
nam

diachi
Biến đổi các liên kết (3)
B5: Liên kết n-n
! Thêm 1 quan hệ mới xác định bởi các thuộc
tính nằm trong khóa của các thực thể có liên
quan và các thuộc tính của liên kết
DANG_KY(maSV,maMH, diem)

33
sinh_viên mon_hoc
dang_ky
n
m
maSV
tenSV
ngaysinh
nam
diachi
maMH
ten
soHT
diem
Thuộc tính đa trị



B6: Với mỗi thuộc tính đa trị
! 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)

34
mon_hoc
maMH
tenmon
soHT
giao_vien
Bài tập
•  Biến đổi sơ đồ thực thể/liên kết → sơ đồ
quan hệ
35
Kết luận
•  Mô hình thực thể-liên kết cho phép biểu diễn
dữ liệu gần với nhận thức của con người
•  Mô hình quan hệ
–  Cho phép biểu diễn logic dữ liệu
–  dễ ánh xạ sang cấu trúc lưu trữ vật lý
–  Dựa trên nền tảng toán học cho phép tối ưu hoá
các truy xuất dữ liệu
36
“More than 90% of current database applications are built on
relational database systems which utilise relational model
as its underlying data model”
*
*
R. Elmasri and S. Navathe. Fundamentals of Database Systems
14/07/14
7
Các điểm cần lưu ý
•  Khái niệm chung về mô hình dữ liệu
•  Mô hình thực thể - liên kết

•  Mô hình dữ liệu quan hệ
•  Các bước xây dựng một CSDL
•  Biến đổi từ sơ đồ thực thể - liên kết sang lược đồ quan hệ
37
Tài liệu tham khảo
•  Entity-Relationship Modeling: Historical
Events, Future Trends, and Lessons Learned
•  Fundamentals of Database Systems (6th
Edition)
38
39
Vài nét về lịch sử
•  Mô hình dữ liệu mạng:
–  Được đề xuất và cài đặt đầu tiên trong hệ thống IDS (1964/1965).
–  Được phát triển bởi CODASYL (1971). Sau đó tiếp tục được sử dụng
rổng rãi trong các hệ thống IDMS (Cullinet), DMS 1100 (Unisys),
IMAGE (H.P.), VAX -DBMS (Digital Equipment Corp.).
•  Mô hình dữ liệu phân cấp:
–  Được đề xuất và cài đặt bởi IBM và North American Rockwell (1965).
–  Sử dụng rộng rãi trong các hệ thống ÍMS, ngoài ra con được sử dụng
trong System 2k (SAS inc.).
–  Là một mô hình khá phổ biến.
•  Mô hình quan hệ:
–  Được đề xuất bởi E.F. Codd (IBM-1970)
–  Thương mại hoá năm1981/1982 trong System R.
–  Hiện được sử dụng trong rất nhiều các phần mềm thương mại
như DB2, ORACLE, SQL Server, SYBASE, INFORMIX,
40
Vài nét về lịch sử (2)
•  (Các) Mô hình dữ liệu hướng đối tượng:

–  Ngôn ngữ lập trình hướng đối tượng như C++ (trong
OBJECTSTORE hay VERSANT), Smalltalk (trong GEMSTONE).
–  Các hệ thống như O
2,
ORION (MCC - ITASCA), IRIS (at H.P used
in Open OODB).
•  (Các) Mô hình đối tượng-quan hệ (mô hình quan hệ mở
rộng):
–  Sự kết hợp giữa mô hình hướng đối tượng và mô hình quan hệ
–  Được phát triển gần đây và được thương mại hoá trong các hệ
thống Informix Universal Server, Oracle-10i, DB2, and SQL
Server,
•  (Các) mô hình dữ liệu bán cấu trúc
–  Được đề xuất năm 1997/1998 bởi nhóm nghiên cứu tại ĐH
Standford
–  Chưa được chuẩn hoá và không được thực sự thương mại hoá
trên danh nghiă (các hệ thương mại hoá được găn với XML)
41
Clasification
•  Object-Based Logical Models
1. The Entity-Relationship Model
2. The Binary Data Model
3. The Semantic Data Model
4. The Info-logical Data Model
•  Record-Based Logical Data Models
1. The Relational Data Model
2. The Network Data Model
3. The Hierarchical Data Model
•  Physical Data Models
1. Unifying Model

2. Frame Memory
42
14/07/14
8
Các khái niệm cơ bản (5)
•  Phụ thuộc hàm
–  R(A
1
,A
2
, … A
n
); X, Y ⊂ {A
i
}.
Nếu ∃ f: X#Y: X xác định
hàm Y hay Y phụ thuộc hàm
vào X
•  Ràng buộc toàn vẹn
–  Một quy tắc định nghĩa trên
một hay nhiều quan hệ do
môi trường ứng dụng quy
định để đảm bảo tính nhất
quán của dữ liệu trong
CSDL
43
Categories of Data Models%
•  High-level, conceptual data models%
–  Close to the way users perceive data %
•  Low-level, physical data models%

–  How data is stored on the computer storage
media%
•  In-between: representational (logic) data
models%
–  Models used in DBMS%
44

×