chương 2
DESCRIPTION
Chương 2. Mô hình thực thể-kết hợp. (Entity-Relationship). Nội dung chi tiết. Quá trình thiết kế CSDL Mô hình thực thể - kết hợp Thiết kế Ví dụ. Quá trình thiết kế CSDL. DBMS. Bài toán Thực tế. Mô hình E-R. Mô hình CSDL Quan hệ. DB. Nội dung chi tiết. Quá trình thiết kế CSDL - PowerPoint PPT PresentationTRANSCRIPT
Chương 2Chương 2
Mô hình thực thể-kết hợpMô hình thực thể-kết hợp
(Entity-Relationship)(Entity-Relationship)
Quá trình thiết kế CSDL
3
Bài toán Thực
tế
Mô hình
E-RMô
hình CSDL Quan hệ
Mô hình CSDL Quan hệ
DBMS
DBDB
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp
- Giới thiệu
- Kiểu thực thể - Tập thực thể - Thực thể
- Thuộc tính
- Mối kết hợp
- Thực thể yếu
Thiết kế Ví dụ
4
Giới thiệu
Mô hình dữ liệu thực thể kết hợp ( Entity Relationship Data Model)
- Do Peter Pin_Shan Chen đề xuất năm 1970. Tiếp tục được phát triển bởi Teory, Chang, Fry vào năm 1986 và Storey vào năm 1991.
- Bằng cách nhìn thế giới thực như là một tập hợp các đối tượng căn bản được gọi là các thực thể và các mối quan hệ giữa các đối tượng này.
- Mô hình đã được phát triển để làm thuận tiện cho việc thiết kế CSDL bằng cách đặc tả một tổ chức.
5
Mô hình thực thể - kết hợp
Đượ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
6
Mô hình thực thể - kết hợp
7
Attribute symbols
Relationship symbols
Entity symbols
A special entity that is
also a relationship
Relationship cardinalities specify how
many of each entity type is
allowed
Relationship degrees specify
number of entity types
involved
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp
- Giới thiệu
- Kiểu thực thể - Tập thực thể - Thực thể
- Thuộc tính
- Mối kết hợp
- Thực thể yếu
Thiết kế Ví dụ
8
9
Kiểu thực thể
Một cơ sở dữ liệu thường chứa những nhóm thực thể như nhau.
Một công ty thuê hàng trăm nhân viên và lưu giữ nhựng thông tin tương tự liên quan đến mỗi nhân viên.
Các thực thể nhân viên này chia sẻ các thuộc tính giống nhau những mỗi thực thể có các giá trị riêng cho các thuộc tính đó.
Một kiểu thực thể là một tập hợp các thực thể có các thuộc tính như nhau. Nói cách khác kiểu thực thể là định nghĩa về một lớp đối tượng trong cơ sở dữ liệu.
10
Kiểu thực thể
Một kiểu thực thể được mô tả bằng một lược đồ: gồm tên và các thuộc tính liên quan.
Ví dụ:
NHANVIEN( HOTEN, TUOI, LUONG)
CONGTY(TEN, DIADIEM, GIAMDOC)
Tên kiểu thực thể
Thuộc tính của kiểu thực thể
Tập thực thể (Entity Set) Một tập hợp các thực thể của cùng một kiểu thực thể trong
cơ sở dữ liệu (tại một thời điểm) gọi là tập thực thể. Tập hợp các thực thể của một kiểu thực thể được nhóm
vào một tập thực thể và được gọi là một thể hiện của một kiểu thực thể.
11
Tập thực thể
Tập thực thể (tt)
Ví dụ “Quản lý đề án công ty”- Một nhân viên là một thực thể
- Tập hợp các nhân viên là tập thực thể
- Một đề án là một thực thể
- Tập hợp các đề án là tập thực thể
- Một phòng ban là một thực thể
- Tập hợp các phòng ban là tập thực thể
12
13
Các thành phần của tập thực thể:
Tên tập thực thể : danh từ, thường là tên của Kiểu thực thể. Ký hiệu: Hình chữ nhật
Ý nghiã : Cho biết loại thực thể biểu thị lớp đối tượng nào, các qui định liên quan đến dữ liệu cần lưu trữ (miền giá trị , loại dữ liệu…. )
Danh sách thuộc tính: mô tả các đặc trưng của thực thể. Khóa của thực thể:
- Là tập thuộc tính dùng xác định duy nhất một đối tượng.
- Mỗi loại thực thể phải có ít nhất 1 khóa.
- Nằm đầu tiên trong danh sách các thuộc tính.
- Ðược gạch dưới.13
Các thành phần của tập thực thể:
14
SINHVIEN
MSSV
HoTenSV
NgaySinhSV
Tập thực thể
Tên tập thực thể
Khóa của thực thể
Danh sách thuộc tính
Thực thể (Entity) Một thực thể là một sự vật hoặc một đối tượng mà
nó tồn tại trong thế giới thực và chúng ta có thể phân biệt được.
Một thực thể có thể là cụ thể, tức là chúng ta có thể cảm nhận được bằng giác quan. Hoặc có thể là trừu tượng, tức là cái mà chúng ta không thể cảm nhận được bằng giác quan nhưng có thể nhận biết được bằng nhận thức.
15
Thực thể (Entity)Thực thể cụ thể VS Thực thể trừu tượng.
16
Học sinh
Nhà ởLớp học
Phòng ban
Thửa đất Nhân viên
Ta phân biệt được từng thực thể trong một tập thực thể, thông qua một số thuộc tính khóa.
17
SINHVIEN
MSSV
HoTenSV
NgaySinhSV
SINHVIEN
MSSV
HoTenSV
NgaySinhSV
Thực thể (Entity)
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp
- Giới thiệu
- Kiểu thực thể - Tập thực thể - Thực thể
- Thuộc tính
- Mối kết hợp
- Thực thể yếu
Thiết kế Ví dụ
19
Thuộc tính (Attribute)
Là những đặc tính riêng biệt của tập thực thể hay mối kết hợp
Được biểu diễn bằng hình Oval Ký hiệu:
20
Thuộc tính
Tập thực thể
Thuộc tính (Attribute)
Ví dụ tập thực thể NHANVIEN có các thuộc tính- Họ tên
- Ngày sinh
- Địa chỉ
- …
Tập thực thể THUADAT
- Số tờ.
- Số thửa.
- Tên chủ sử dụng.
- ……
21
Thuộc tínhCác loại thuộc tính
- Thuộc tính đơn và thuộc tính phức hợp.(Simple attribute & Composite attribute)
- Thuộc tính đơn trị và thuộc tính đa trị. (Single attribute & Multivalued attribute )
- Thuộc tính chứa và thuộc tính dẫn xuất (Derived attribute)
- Thuộc tính khóa và thuộc tính không khóa.(Identifier attribute)
22
Thuộc tính Thuộc tính đơn (simple attribute) là thuộc tính không bị
phân rã thành nhiều thuộc tính khác Thuộc tính phức hợp (composite attribute) là thuộc tính
bị phân rã thành nhiều thuộc tính khác
23
Thuoäc tính ñôn
Thuoäc tính phức hôïp
Thuộc tính Thuộc tính chứa (stored attribute) là thuộc tính mà giá trị
của nó không được suy dẫn từ các thuộc tính khác. Thuộc tính dẫn xuất (derived attribute) là thuộc tính mà
giá trị của nó được suy dẫn từ các thuộc tính khác, được biểu diễn bằng hình bầu dục nét đứt.
24
Thuộc tính đơn trị
Thuộc tính đa trị
Thuộc tính chứa
Thuộc tính dẫn xuất
Thuộc tính Thuộc tính đơn trị (single-valued attribute) là thuộc tính
chỉ chứa một giá trị. Thuộc tính đa trị (multivalued attribute) là thuộc tính
chứa nhiều giá trị khác nhau thuộc một miền trị, được biểu diễn bằng hình bầu dục nét đôi.
25
Thuộc tính đơn trị
Thuộc tính đa trị
Thuộc tính chứa
Thuộc tính dẫn xuất
Khóa là một thuộc tính hoặc tổ hợp các thuộc tính dùng để xác định tính duy nhất của một thực thể trong tập thực thể.
Chú ý:- Mỗi tập thực thể phải có một khóa.
- Một khóa có thể có một hoặc nhiều thuộc tính.
- Có thể có nhiều khóa trong một tập thực thể, ta sẽ chọn một khóa làm khóa chính của tập thực thể đó.
Ký hiệu khóa của thực thể:- Nằm đầu tiên trong danh sách các thuộc tính.
- Ðược gạch dưới.
27
Khóa(Identifier)
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp
- Giới thiệu
- Kiểu thực thể - Tập thực thể - Thực thể
- Thuộc tính
- Mối quan hệ
- Thực thể yếu
Thiết kế Ví dụ
32
Mối 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
33
Mối quan hệ - Thể hiện
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, …, En
- 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ể E i
Xét mối quan hệ
34
NHANVIEN PHONGBAN
Tung
Hang
Nghien cuu
Dieu hanh
Vinh Quan ly
(Tung, Nghien cuu)
(Hang, Dieu hanh)
(Vinh, Quan ly)
Lam_viecNHANVIEN PHONGBAN
Bậc / ngôi của mối liên kết
(degree / arity of relationship) Bậc của mối liên kết là số lượng kiểu thực thể tham
gia đồng thời vào mối liên kết này. Các loại mối liên kết Mối liên kết 1-ngôi (unary relationship) Mối liên kết 2-ngôi (binary relationship) Mối liên kết 3-ngôi (ternary relationship): 3 kiểu thực
thể đồng thời tham gia vào mối liên kết.
35
Mối quan hệ - Bật và ngôi
36
One entity related to another of the same entity type
Entities of two different types related
to each other
Entities of three different types related
to each other
Mối quan hệ - Bật và ngôi
48
Quan hệ đơn phân - Quan hệ 1-n/1-1
NHANVIEN Quan_ly
Duoc quan ly boi
(0,1)
(0,n)
La nguoi quan ly
Ràng buộc lượng số
(Cardinality constraint) Ràng buộc lượng số là số lượng thể hiện của thực
thể này có thể hoặc phải liên kết với một thể hiện của thực thể khác.
Lượng số nhỏ nhất Nếu 0 là tùy chọn (optional). Nếu một hoặc nhiều là bắt buộc (mandatory).
Lượng số lớn nhất Số lượng lớn nhất.
49
Mối quan hệ - Ràng buộc lượng số
Bảng số (min, max) chỉ định mỗi thực thể e E tham gia ít nhất và nhiều nhất vào thể hiện của R
50
E FQuan_hệ(min, max)
(min, max)
Mối quan hệ - Ràng buộc lượng số
51
Bản số của mối kết hợp
Mỗi lớp học có tối đa 50 Sinh viên,
mỗi sinh viên học tối đa 2 lớp trong một học kỳ.
GIAO VIEN
DạyLOP
(0,3)(1,1)
SINHVIENThamg
ia
LOPM N
(1,2)(0,50)
Mỗi giáo viên được dạy tối đa 3 lớp trong một học kỳ.
1 M
Mối quan hệ - Ví dụ Ví dụ
- Một phòng ban có nhiều nhân viên
- Một nhân viên chỉ thuộc 1 phòng ban
- Một nhân viên có thể được phân công vào nhiều đề án hoặc không được phân công vào đề án nào
- Một nhân viên có thể là trưởng phòng của 1 phòng ban nào đó
52
NV PBLam_viec
(1,n)
NV PBLam_viec
(1,1)
NV DAPhan_cong
(0,n)
NV PBLa_truong_phong(0,1)
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ệ
53
NHANVIEN DEANPhan_cong
(0,n) (1,n)
THGIAN
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp
- Giới thiệu
- Kiểu thực thể - Tập thực thể - Thực thể
- Thuộc tính
- Mối quan hệ
- Thực thể yếu
Thiết kế Ví dụ
54
Tập thực thể yếu (Weak Entity)
Thực thể yếu là thực thể:
- Sự tồn tại của nó phụ thuộc vào một thực thể khác
- Là thực thể mà khóa có được từ những thuộc tính của tập thực thể khác.
- Thực thể yếu (weak entity set) phải tham gia vào mối quan hệ mà trong đó có một tập thực thể chính.
55
Tập thực thể yếu (Weak Entity)
Tập thực thể yếu được biểu diễn bởi hình chữ nhật hai nét.
Liên kết giữa tập thực thể sở hữu và tập thực thể yếu gọi là liên kết định danh (Liên kết yếu). Được biểu diễn bởi hình thoi 2 nét.
Khóa của tập thực thể yếu = Khóa của tập thực thể sở hữu + Khóa riêng của tập thực thể yếu.
56
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp Thiết kế
- Các bước thiết kế
- Nguyên tắc thiết kế
Ví dụ
60
Các bước thiết kế
(1) Xác định tập thực thể (2) Xác định mối quan hệ (3) Xác định thuộc tính và gắn thuộc tính cho tập
thực thể và mối quan hệ (4) Quyết định miền giá trị cho thuộc tính (5) Quyết định thuộc tính khóa (6) Quyết định (min, max) cho mối quan hệ
61
Qui tắc thiết kế
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
62
Nội dung chi tiết
Quá trình thiết kế CSDL Mô hình thực thể - kết hợp Thiết kế Ví dụ
- Bài tập nhóm 1.
- Bài tập nhóm 2.
63
CHU_DT QL DUAN1,N1,N
TENCHU_DT
DIADIEM
MA_DATEN_DA
CHU_DT
TENDV
COQUAN
THUADAT
TK
DVHC
THUOC
1,N
N,N
MADVHC
DS
DIENTICHTENDVHC
1,N
DT
TEN_SD
SHBD
MLD
GIASHT