week7
TRANSCRIPT
![Page 1: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/1.jpg)
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
![Page 2: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/2.jpg)
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
![Page 3: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/3.jpg)
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
![Page 4: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/4.jpg)
12/04/2011Cơ sở dữ liệu4
Strong Entity
Types
![Page 5: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/5.jpg)
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
![Page 6: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/6.jpg)
12/04/2011Cơ sở dữ liệu6
Weak Entity
Types
![Page 7: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/7.jpg)
12/04/2011Cơ sở dữ liệu7
![Page 8: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/8.jpg)
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ệ.
![Page 9: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/9.jpg)
Á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.
![Page 10: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/10.jpg)
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
![Page 11: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/11.jpg)
12/04/2011Cơ sở dữ liệu11
Relationships
Types
![Page 12: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/12.jpg)
12/04/2011Cơ sở dữ liệu12
![Page 13: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/13.jpg)
Á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.
![Page 14: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/14.jpg)
Á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
![Page 15: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/15.jpg)
12/04/2011Cơ sở dữ liệu15
1:N (both optional)
![Page 16: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/16.jpg)
12/04/2011Cơ sở dữ liệu16
???
[1]: Step 4,
chapter 7
![Page 17: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/17.jpg)
Á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
![Page 18: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/18.jpg)
Á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
![Page 19: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/19.jpg)
Á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
![Page 20: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/20.jpg)
Á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
![Page 21: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/21.jpg)
Á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)
![Page 22: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/22.jpg)
12/04/2011Cơ sở dữ liệu22
M:N
![Page 23: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/23.jpg)
12/04/2011Cơ sở dữ liệu23
![Page 24: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/24.jpg)
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.
![Page 25: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/25.jpg)
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}
![Page 26: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/26.jpg)
12/04/2011Cơ sở dữ liệu26
Multivalued
Attribute
![Page 27: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/27.jpg)
12/04/2011Cơ sở dữ liệu27
![Page 28: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/28.jpg)
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}
![Page 29: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/29.jpg)
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])
![Page 30: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/30.jpg)
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
![Page 31: Week7](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559798e41a28ab656d8b46d7/html5/thumbnails/31.jpg)
31
Q&A