Week7
-
Upload
nguyen-huu-tien -
Category
Documents
-
view
673 -
download
0
Transcript of Week7
Nguyễn Thanh Tùng
Cơ sở dữ liệu
ÁNH XẠ
LƯỢC ĐỒ ER LƯỢC ĐỒ QUAN HỆ
12/04/20111 Cơ sở dữ liệu
Nội dung
12/04/2011Cơ sở dữ liệu2
Bước 1: Ánh xạ kiểu thực thể thường
Bước 2: Ánh xạ kiểu thực thể yếu
Bước 3: Ánh xạ kiểu liên kết 2 ngôi 1:1
Bước 4: Ánh xạ kiểu liên kết 2 ngôi 1:N
Bước 5: Ánh xạ kiểu liên kết 2 ngôi M:N
Bước 6: Ánh xạ thực thể đa trị
Bước 7: Ánh xạ kiểu liên kết nhiều ngôi
Bước 1: Ánh xạ kiểu thực thể thường
Thực thể quan hệ
Thuộc tính của thực thể thuộc tính của quan hệ
Khóa chính của thực thể khóa chính của quan hệ
Ví dụ:
Chúng ta tạo quan hệ EMPLOYEE, DEPARTMENT, và
PROJECT trong lược đồ quan hệ tương ứng với thực thể
thường trong biểu đồ ER.
SSN, DNUMBER, và PNUMBER là khóa của quan hệ
EMPLOYEE, DEPARTMENT, and PROJECT.
12/04/20113 Cơ sở dữ liệu
12/04/2011Cơ sở dữ liệu4
Strong Entity
Types
Bước 2: Ánh xạ kiểu thực thể yếu
Kiểu thực thể yếu W, thực thể chủ E trong lược đồ ER, tạo
quan hệ R với thuộc tính là tất cả các thuộc tính đơn (hay
các thành phần của thuộc tính kết hợp) của W.
Khóa chính của R là kết hợp của khóa chính của thực thể
chủ E và khóa riêng phần của thực thể yếu W.
Ví dụ: tạo quan hệ DEPENDENT tương ứng với kiểu thực thể yếu
DEPENDENT. Khóa chính SSN của quan hệ EMPLOYEE đóng vai
trò là khóa ngoại của DEPENDENT.
Khóa chính của quan hệ DEPENDENT là kết hợp
{ESSN,DEPENDENT_NAME} vì DEPENDENT_NAME là khóa
riêng phần của DEPENDENT.
Áp dụng tùy chọn CASCADE
12/04/20115 Cơ sở dữ liệu
12/04/2011Cơ sở dữ liệu6
Weak Entity
Types
12/04/2011Cơ sở dữ liệu7
Bước 3-4-5: Ánh xạ kiểu liên kết 2 ngôi
12/04/2011Cơ sở dữ liệu8
Ánh xạ kiểu quan hệ 2 ngôi
Bước 3: Ánh xạ kiểu liên kết 2 ngôi 1:1
Bước 4: Ánh xạ kiểu liên kết 2 ngôi 1:N
Bước 5: Ánh xạ kiểu liên kết 2 ngôi M:N
Chuyển các quan hệ 2 ngôi dựa vào chức năng của
quan hệ và lượng thực thể tham gia vào quan hệ.
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu9
Mandatory:
Hai kiểu thực thể E1 và E2: nếu E2 là thành phần bắt
buộc của quan hệ N:1 (hay 1:1) với E1, thì quan hệ E2
thêm vào các thuộc tính khóa chính của E1, đóng vai trò
khóa ngoại FK.
Liên kết 1:1: nếu E1 và E2 đều là bắt buộc, khóa ngoại
có thề thêm vào một trong hai quan hệ.
Liên kết N:1: nếu E2 (ở phía nhiều n của quan hệ) là tùy
chọn (optional hay partial), thì không áp dụng cách ánh
xạ trên.
10
Ánh xạ kiểu liên kết 2 ngôi (tt)
Giả sử mỗi module được offer bởi một department.
Quan hệ MODULE:
MODULE(MDL-NUMBER, TITLE, TERM, ..., DNAME)
DEPARTMENT OFFER MODULE1 N
12/04/2011Cơ sở dữ liệu11
Relationships
Types
12/04/2011Cơ sở dữ liệu12
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu13
Optional:
Nếu kiểu thực thể E2 là tùy chọn trong quan hệ N:1 với kiểu thực thể E1 (E2 ở phía N của quan hệ), thì liên kết thường được biểu diễn bằng quan hệ mới chứa thuộc tính khóa của E1 và E2, cùng với các thuộc tính của liên kết. Khóa của kiểu thực thể ở phía nhiều n (trong trường hợp này là
E2) sẽ trở thành khóa chính của quan hệ mới.
Nếu cả hai kiểu thực thể trong liên kết 1:1 là tùy chọn, một quan hệ mới sẽ được tạo ra chứa các thuộc tính khóa chính của cả 2 kiểu thực thể, cùng với các thuộc tính của liên kết. Khóa chính của 1 trong 2 kiểu thực thể sẽ là khóa của quan hệ
mới.
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu14
Một cách ánh xạ quan hệ:
BORROWER (BNUMBER, NAME, ADDRESS, …)
BOOK (ISBN, TITLE, …, BNUMBER)
Cách ánh xạ tốt hơn:
BORROWER(BNUMBER, NAME, ADDRESS, ...)
BOOK(ISBN, TITLE, ...)
ON_LOAN(ISBN, BNUMBER)
ON_LOAN BORROWER BOOK 1
N
12/04/2011Cơ sở dữ liệu15
1:N (both optional)
12/04/2011Cơ sở dữ liệu16
???
[1]: Step 4,
chapter 7
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu17
Ánh xạ kiểu liên kết đệ quy:
Liên kết giữa các thể hiện khác nhau của cùng một thực
thể.
Tên của các thuộc tính khóa cần thay đổi để thể hiện vai
trò của mỗi thực thể trong liên kết.
PERSON MARRY
1
1
EMPLOYEE SUPERVISE
N
1
PART COMPRISE
M
N
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu18
Ví dụ 1: liên kết đệ quy 1:1 với hai thành phần tham
gia là tùy chọn (optional).
PERSON (ID, NAME, ADDRESS, …)
MARRY (HUSBAN-ID, WIFE_ID, DATE_OF_MARRIAGE)
PERSON MARRY
1
1
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu19
Ví dụ 2: Liên kết đệ quy 1:M
Nếu liên kết là bắt buộc
EMPLOYEE(ID, ENAME, ..., SUPERVISOR_ID)
Nếu liên kết là tùy chọn
EMPLOYEE(ID, ENAME, ...)
SUPERVISE(ID, START_DATE, ..., SUPERVISOR_ID)
EMPLOYEE SUPERVISE
N
1
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu20
Ví dụ 3: Liên kết đệ quy N:M PART(PNUMBER, DESCRIPTION, ...)
COMPRISE( MAJOR-PNUMBER, MINOR-PNUMBER,
QUANTITY)
PART COMPRISE
M
N
Ánh xạ kiểu liên kết 2 ngôi (tt)
12/04/2011Cơ sở dữ liệu21
Liên kết 2 ngôi N:M:
Một kiên kết N:M luôn được biểu diễn bằng quan hệ
mới. Nó chứa các thuộc tính khoa chính của 2 kiểu thực
thể tham gia vào liên kết và các thuộc tính của liên kết.
Kết hợp các thuộc tính của khóa chính lại thành khóa
chính của quan hệ mới.
Ví dụ: ENROL là liên kết N:M giữa STUDENT và
MODULE. Thể hiện liên kết này, chúng ta sẽ tao quan
hệ mới:
ENROL (SNUMBER, MDL_NUMBER, DATE)
12/04/2011Cơ sở dữ liệu22
M:N
12/04/2011Cơ sở dữ liệu23
Bước 6: Ánh xạ thuộc tính đa trị
12/04/2011Cơ sở dữ liệu24
Tạo một quan hệ mới R tương ứng với thuộc tính đa trị
A . Quan hệ R sẽ chứa một thuộc tính tương ứng với A
cộng thêm khóa chính K (đóng vai trò là khóa ngoại
của quan hệ R).
K đại diện cho kiểu thực thề có thuộc tính đa trị A
Khóa chính của R được kết hợp bởi A và K.
Nếu thuộc tính đa trị là kết hợp, chúng ta sẽ thêm tất cả
các thành phần đơn của thuộc tính đa trị này.
Bước 6: Ánh xạ thuộc tính đa trị (tt)
12/04/2011Cơ sở dữ liệu25
Ví dụ:
Quan hệ DEPT_LOCATION được tạo ra.
Thuộc tính DLOCATION đại diện cho thuộc tính đa trị
LOCATIONS của DEPARTMENT.
DNUMBER là khóa ngoại đại diện cho quan hệ
DEPARTMENT.
Khóa chính cảu R là sự kết hợp của {DNUMBER,
DLOCATION}
12/04/2011Cơ sở dữ liệu26
Multivalued
Attribute
12/04/2011Cơ sở dữ liệu27
Bước 7: Ánh xạ kiểu liên kết N-ngôi
12/04/2011Cơ sở dữ liệu28
Kiểu liên kết n-ngôi R (với n > 2) sẽ tạo ra quan hệ
mới tương ứng với R.
Thêm các thuộc tính khóa chính của các quan hệ tham
gia vào liên kết vào quan hệ S. Chúng đóng vai trò là
khóa ngoại của S.
Thêm các thuộc tính của liên kết n-ngôi vào quan hệ S.
Ví dụ: Liên kết SUPPLY sau có thể được ánh xạ vào
quan hệ SUPPLY. Khóa chính của quan hệ SUPPLY
kết hợp 3 khóa ngoại {SNAME, PARTNO, PROJNAME}
Bước 7: Ánh xạ kiểu liên kết nhiều ngôi (tt)Kiểu liên kết 3 ngôi: liên kết SUPPLY
Chú ý: Nếu ràng buộc lượng
số của một kiểu thực thể E
tham gia vào liên kết là 1,
khóa chính sẽ không chứa
các thuộc tính của khóa
ngoại (xem 4.7 [1])
Correspondence between ER and
Relational Models
12/04/2011Cơ sở dữ liệu30
ER Model Relational ModelEntity type “Entity” relation
1:1 or 1:N relationship type Foreign key (or “relationship” relation)
M:N relationship type “Relationship” relation and two foreign keys
n-ary relationship type “Relationship” relation and n foreign keys
Simple attribute Attribute
Composite attribute Set of simple component attributes
Multivalued attribute Relation and foreign key
Value set Domain
Key attribute Primary (or secondary) key
31
Q&A