Giáo trình mô hình thực thể - liên kêt | Trường Đại học Bách Khoa Hà Nội

Giáo trình mô hình thực thể - liên kêt | Trường Đại học Bách Khoa Hà Nội. Tài liệu gồm 21 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

Bài 2: hình thực thể-liên kết
(Entity-relationship model)
1
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Mô hình CSDL
hình CSDL phương thức biểu diễn các dữ liệu,
giúp cho việc tổ chức các dữ liệu thuận tiện cho việc
thiết kế, lưu trữ, xử
hình CSDL dùng hình toán học để tả
CSDL dựa trên các tập hợp phép toán
Các hình CSDL phổ biến:
hình phân lớp (hierarchical model)
hình mạng (network model)
hình thực thể-liên kết (entity-relationship model)
hình quan hệ (relational model)
hình hướng đối tượng (object model)
hình XML bán cấu trúc (semi-structural model)
2
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Giới thiệu
Mô hình ER là một mô hình CSDL, trong đó thế giới
thực được mô tả bằng các đối tượng gọi là các thực
thể (entity) và quan hệ hay liên kết (relationship)
giữa chúng
Đây là một mô hình được sử dụng rất rộng rãi trong
việc thiết kế CSDL hiện nay
Một mô hình ER bao gồm:
Tập các thực thể
Tập các thuộc tính
Tập các liên kết
3
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Thực thể (entity)
các vật, đối tượng (cụ thể hoặc trừu tượng) trong thế
giới thực
VD: một người, một bài hát, một bức ảnh, một trò chơi,
Tập thực thể: nhóm các thực thể cùng loại với nhau
VD: người, bài hát, bức ảnh, trò chơi,…
Một CSDL thường chứa rất nhiều giá trị của các đối
tượng (thực thể) thuộc kiểu (tập thực thể) giống nhau
VD:
Một lớprất nhiều sinh viên
Một sổ danh bạ có thông tin của rất nhiều người
4
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Thuộc tính (attribute)
Là các tính chất đặc trưng của thực thể nào đó
VD:
Người có tên, tuổi, cân nặng, số CMT,…
i hát có tên, nội dung, tác giả, năm sáng tác,…
Mỗi thuộc tính có một miền giá trị
VD:
Tên người là chuỗi ký tự
Tuổi là số nguyên dương
Nếu thực thể chưa có giá trị của thuộc tính nào đó thì gọi giá trị
của thuộc tính đó là null
Thuộc tính khoá (key): là thuộc tính mà giá trị của nó là
duy nhất cho mỗi thực thể (không tồn tại hai thực thể có
cùng giá trị của thuộc tính khoá)
VD: số CMT là duy nhất với mỗi người
5
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Biểu diễn thực thể và thuộc tính bằng sơ đồ
6
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
thực thể
thuộc tính
suy diễn
thuộc tính
đơn trị
thuộc tính
đa trị
thuộc tính
khoá
thuộc tính
phức hợp
thuộc tính
con
thuộc tính
con
...
Ví dụ 1
7
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
bài hát
tên
nội dung
tác giả
năm sáng tác
thể loại
thực thể
thuộc tính
suy diễn
thuộc tính
đơn trị
thuộc tính
đa trị
thuộc tính
khoá
thuộc tính
phức hợp
thuộc tính
con
thuộc tính
con
...
Ví dụ 2
8
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
người
họ tên tuổi
cân nặng
số CMT
họ
tên
năm sinh
thực thể
thuộc tính
suy diễn
thuộc tính
đơn trị
thuộc tính
đa trị
thuộc tính
khoá
thuộc tính
phức hợp
thuộc tính
con
thuộc tính
con
...
Các kiểu thuộc tính
Thuộcnh đơn và phức hợp:
Thuộc tính đơn: giá trị không thể phân chia nhỏ hơn
VD: cân nặng của người, chiều cao của toà nhà,…
Thuộc tính phức hợp: giá trị có thể tách thành các thành phần nhỏ hơn
VD: tên của một người gồm có họ, tên đệm, tên
Lượng giá trị:
Thuộc tính đơn trị: là thuộc tính chỉ có một giá trị
VD: tên, tuổi của người
Thuộc tính đa trị: là thuộc tính có thể có nhiều giá trị
VD: số điện thoại của một cá nhân (có thể có 0, 1, hay nhiều)
Thuộcnh lưu trữ và suy diễn:
Thuộc tính lưu trữ: là thuộc tính mà giá trị được lưu trong CSDL
Thuộc tính suy diễn: là thuộc tính được tính toán từ một hoặc nhiều thuộc tính
lưu trữ khác, giá trị của nó không được lưu trong CSDL
VD: năm sinh của một người được lưu trong CSDL, còn tuổi của người đó
được tính toán từ năm sinh
9
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Liên kết (relationship)
mối quan hệ giữa các thực thể với nhau
VD:
Bài hát được sáng tác bởi một tác giả cho một ban nhạc (3 tập
thực thể)
Bài hát được dịch sang một ngôn ngữ (2 tập thực thể)
Về mặt toán học: liên kết quan hệ toán học trên
các tập thực thể
Biểu diễn bằng đồ:
10
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
thực thể 1
... ... ...
thực thể 2
... ... ...
thực thể 3
... ... ...
liên kết
Ví dụ
11
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
bài hát
... ... ...
tác giả
... ... ...
ban nhạc
... ... ...
sáng tác
ngôn ngữ
... ... ...
dịch
Liên kết 1-1
Là liên kết mà mỗi thực thể loại 1 chỉ có thể có quan hệ với không
quá 1 thực thể loại 2, và ngược lại
ng buộc 1-1 gọi là lực lượng của liên kết
Ví dụ:
12
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
thực thể 1 thực thể 2
liên kết
1
1
người giấy CMT
sở hữu
1
1
Liên kết 1-n
Mỗi thực thể loại 1 có thể quan hệ với nhiều thực thể loại 2,
nhưng mỗi thực thể loại 2 chỉ thể quan hệ với nhiều nhất 1
thực thể loại 1
dụ:
13
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
nhạc sĩ bài hát
sáng tác
1
n
Liên kết n-n
Là liên kết mà số thực thể loại 1 và loại 2 trong đó là tuỳ ý, không
ràng buộc về lực lượng
Ví dụ:
14
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
thực thể 1 thực thể 2
liên kết
n
n
bài hát ngôn ngữ
dịch
n
n
Liên kết đệ quy
Là liên kết mà các tập thực thể là một (các thực thể
cùng kiểu có quan hệ với nhau)
Ví dụ:
15
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
thực thể
liên kết
1
n
người
làm bạn với
1
n
Thực thể hay thuộc tính
Tuỳ trong từng bài toán cụ thể, mỗi khái niệm có thể
được thiết kế trong CSDL là thuộc tính hoặc một
thực thể, để:
Thuận tiện trong quan niệm
Thuận tiện trong sử dụng CSDL
Ví dụ:
Họ tên của một người có thể coi là một thuộc tính phức,
hoặc có thể mô hình hoá thành một thực thể với các
thuộc tính là họ và tên
Địa chỉ của một cá nhân có thể được mô hình hoá thành
thuộc tính hoặc thực thể tuỳ vào người thiết kế CSDL
16
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
Ví dụ thực thể/thuộc tính
17
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
người
địa chỉ
...
...
tên đường
thành phố
số nhà
người
...
...
tên đường
thành phố
số nhà
trú tại
địa chỉ
1 1
Thuộc tính của liên kết
Liên kết cũng có thể có thuộc tính, tương tự như của
thực thể
Thực chất là việc chuyển một tập thực thể trong liên
kết thành thuộc tính
Ví dụ:
18
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
nhân viên
... ... ...
công ty
... ... ...
làm việc
cho
năm bắt đầu thâm niên
Thực thể yếu (weak entity)
Là thực thể không có thuộcnh khoá (ngược lại: thực thể mạnh –
strong entity)
Một thực thể yếu thường được xác định thông qua việc liên kết với
một thực thể khác. Liên kết này được coi là liên kết để xác định thực
thể yếu
VD: mỗi bài hát trong một đĩa nhạc có số thứ tự khác nhau, nhưng
các bài hát trong các đĩa nhạc khác nhau có thể có ng số thứ tự
Bài hát trong trường hợp này thực thể yếu
Muốn xác định bài hát, cần xác định đĩa nhạc cụ thể
Biểu diễn trên sơ đồ:
19
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
liên kết
đĩa nhạc bài hát
chứa
1
n
Đặc điểm của mô hình ER
Mô hình ER không phải là duy nhất cho mỗi bài
toán, mà mang tính chủ quan của người thiết kế
Các lựa chọn thay thế nhau được:
Thực thể thuộc tính
Thực thể liên kết
Liên kết hai ngôi ba hay nhiều ngôi
20
EE4509, EE4253, EE6133 HK1 2013/2014
TS. Đào Trung Kiên ĐH Bách khoa Nội
| 1/21

Preview text:

Bài 2: Mô hình thực thể-liên kết
(Entity-relationship model) 1
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Mô hình CSDL
 Mô hình CSDL là phương thức biểu diễn các dữ liệu,
giúp cho việc tổ chức các dữ liệu thuận tiện cho việc
thiết kế, lưu trữ, xử lý
 Mô hình CSDL dùng mô hình toán học để mô tả
CSDL dựa trên các tập hợp và phép toán
 Các mô hình CSDL phổ biến:
 Mô hình phân lớp (hierarchical model)
 Mô hình mạng (network model)
 Mô hình thực thể-liên kết (entity-relationship model)
 Mô hình quan hệ (relational model)
 Mô hình hướng đối tượng (object model)
 Mô hình XML – bán cấu trúc (semi-structural model) 2
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu
 Mô hình ER là một mô hình CSDL, trong đó thế giới
thực được mô tả bằng các đối tượng gọi là các thực
thể (entity) và quan hệ hay liên kết (relationship) giữa chúng
 Đây là một mô hình được sử dụng rất rộng rãi trong
việc thiết kế CSDL hiện nay
 Một mô hình ER bao gồm:
 Tập các thực thể
 Tập các thuộc tính
 Tập các liên kết 3
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Thực thể (entity)
 Là các vật, đối tượng (cụ thể hoặc trừu tượng) trong thế giới thực
 VD: một người, một bài hát, một bức ảnh, một trò chơi,…
 Tập thực thể: là nhóm các thực thể cùng loại với nhau
 VD: người, bài hát, bức ảnh, trò chơi,…
 Một CSDL thường chứa rất nhiều giá trị của các đối
tượng (thực thể) thuộc kiểu (tập thực thể) giống nhau  VD:
 Một lớp có rất nhiều sinh viên
 Một sổ danh bạ có thông tin của rất nhiều người 4
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Thuộc tính (attribute)
 Là các tính chất đặc trưng của thực thể nào đó  VD:
 Người có tên, tuổi, cân nặng, số CMT,…
 Bài hát có tên, nội dung, tác giả, năm sáng tác,…
 Mỗi thuộc tính có một miền giá trị  VD:
 Tên người là chuỗi ký tự
 Tuổi là số nguyên dương
 Nếu thực thể chưa có giá trị của thuộc tính nào đó thì gọi giá trị
của thuộc tính đó là null
 Thuộc tính khoá (key): là thuộc tính mà giá trị của nó là
duy nhất cho mỗi thực thể (không tồn tại hai thực thể có
cùng giá trị của thuộc tính khoá)
 VD: số CMT là duy nhất với mỗi người 5
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Biểu diễn thực thể và thuộc tính bằng sơ đồ thuộc tính thuộc tính đơn trị đa trị thuộc tính khoá thực thể thuộc tính thuộc tính suy diễn phức hợp thuộc tính thuộc tính ... con con 6
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội thuộc tính thuộc tính đơn trị đa trị Ví dụ 1 thuộc tính khoá thực thể thuộc tính thuộc tính suy diễn phức hợp thuộc tính thuộc tính ... con con tên nội dung thể loại bài hát năm sáng tác tác giả 7
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội thuộc tính thuộc tính đơn trị đa trị Ví dụ 2 thuộc tính khoá thực thể thuộc tính thuộc tính suy diễn phức hợp tên họ thuộc tính thuộc tính ... con con họ tên tuổi người cân nặng số CMT năm sinh 8
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Các kiểu thuộc tính
 Thuộc tính đơn và phức hợp:
 Thuộc tính đơn: giá trị không thể phân chia nhỏ hơn
 VD: cân nặng của người, chiều cao của toà nhà,…
 Thuộc tính phức hợp: giá trị có thể tách thành các thành phần nhỏ hơn
 VD: tên của một người gồm có họ, tên đệm, tên  Lượng giá trị:
 Thuộc tính đơn trị: là thuộc tính chỉ có một giá trị
 VD: tên, tuổi của người
 Thuộc tính đa trị: là thuộc tính có thể có nhiều giá trị
 VD: số điện thoại của một cá nhân (có thể có 0, 1, hay nhiều)
 Thuộc tính lưu trữ và suy diễn:
 Thuộc tính lưu trữ: là thuộc tính mà giá trị được lưu trong CSDL
 Thuộc tính suy diễn: là thuộc tính được tính toán từ một hoặc nhiều thuộc tính
lưu trữ khác, giá trị của nó không được lưu trong CSDL
 VD: năm sinh của một người được lưu trong CSDL, còn tuổi của người đó
được tính toán từ năm sinh 9
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết (relationship)
 Là mối quan hệ giữa các thực thể với nhau  VD:
Bài hát được sáng tác bởi một tác giả cho một ban nhạc (3 tập thực thể)
Bài hát được dịch sang một ngôn ngữ (2 tập thực thể)
 Về mặt toán học: liên kết là quan hệ toán học trên các tập thực thể
 Biểu diễn bằng sơ đồ: thực thể 1 liên kết thực thể 2 ... ... ... ... ... ... thực thể 3 ... ... ... 10
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Ví dụ ... ... ... ngôn ngữ dịch bài hát sáng tác tác giả ... ... ... ... ... ... ban nhạc ... ... ... 11
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết 1-1 thực thể 1 1 1 liên kết thực thể 2
 Là liên kết mà mỗi thực thể loại 1 chỉ có thể có quan hệ với không
quá 1 thực thể loại 2, và ngược lại
 Ràng buộc 1-1 gọi là lực lượng của liên kết  Ví dụ: người 1 sở hữu 1 giấy CMT 12
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết 1-n thực thể 1 n 1 liên kết thực thể 2
 Mỗi thực thể loại 1 có thể có quan hệ với nhiều thực thể loại 2,
nhưng mỗi thực thể loại 2 chỉ có thể có quan hệ với nhiều nhất 1 thực thể loại 1  Ví dụ: nhạc sĩ 1 n sáng tác bài hát 13
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết n-n thực thể n n 1 liên kết thực thể 2
 Là liên kết mà số thực thể loại 1 và loại 2 trong đó là tuỳ ý, không có
ràng buộc về lực lượng  Ví dụ: n n bài hát dịch ngôn ngữ 14
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội Liên kết đệ quy
 Là liên kết mà các tập thực thể là một (các thực thể
cùng kiểu có quan hệ với nhau) thực thể 1 liên kết n  Ví dụ: người 1 làm bạn với n 15
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Thực thể hay thuộc tính
 Tuỳ trong từng bài toán cụ thể, mỗi khái niệm có thể
được thiết kế trong CSDL là thuộc tính hoặc một thực thể, để:
 Thuận tiện trong quan niệm
 Thuận tiện trong sử dụng CSDL  Ví dụ:
 Họ tên của một người có thể coi là một thuộc tính phức,
hoặc có thể mô hình hoá thành một thực thể với các
thuộc tính là họ và tên
 Địa chỉ của một cá nhân có thể được mô hình hoá thành
thuộc tính hoặc thực thể tuỳ vào người thiết kế CSDL 16
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Ví dụ thực thể/thuộc tính thành phố ... tên đường địa chỉ người ... số nhà thành phố ... tên đường địa chỉ 1 trú tại 1 người ... số nhà 17
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Thuộc tính của liên kết
 Liên kết cũng có thể có thuộc tính, tương tự như của thực thể
 Thực chất là việc chuyển một tập thực thể trong liên kết thành thuộc tính  Ví dụ: năm bắt đầu thâm niên làm việc nhân viên công ty cho ... ... ... ... ... ... 18
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Thực thể yếu (weak entity)
 Là thực thể không có thuộc tính khoá (ngược lại: thực thể mạnh – strong entity)
 Một thực thể yếu thường được xác định thông qua việc liên kết với
một thực thể khác. Liên kết này được coi là liên kết để xác định thực thể yếu
 VD: mỗi bài hát trong một đĩa nhạc có số thứ tự khác nhau, nhưng
các bài hát trong các đĩa nhạc khác nhau có thể có cùng số thứ tự
 Bài hát trong trường hợp này là thực thể yếu
 Muốn xác định bài hát, cần xác định đĩa nhạc cụ thể
 Biểu diễn trên sơ đồ: đĩa nhạc 1 liên ch kế ứa t n bài hát 19
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Đặc điểm của mô hình ER
 Mô hình ER không phải là duy nhất cho mỗi bài
toán, mà mang tính chủ quan của người thiết kế
 Các lựa chọn thay thế nhau được:
 Thực thể  thuộc tính
 Thực thể  liên kết
 Liên kết hai ngôi  ba hay nhiều ngôi  … 20
EE4509, EE4253, EE6133 – HK1 2013/2014
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội