week7

31
Nguyễn Thanh Tùng Cơ sở dữ liệu ÁNH XẠ LƯỢC ĐỒ ER LƯỢC ĐỒ QUAN HỆ 12/04/2011 1 Cơ sở dữ liệu

Upload: nguyen-huu-tien

Post on 04-Jul-2015

673 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Week7

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

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

12/04/2011Cơ sở dữ liệu4

Strong Entity

Types

Page 5: Week7

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

12/04/2011Cơ sở dữ liệu6

Weak Entity

Types

Page 7: Week7

12/04/2011Cơ sở dữ liệu7

Page 8: Week7

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

Á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

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

12/04/2011Cơ sở dữ liệu11

Relationships

Types

Page 12: Week7

12/04/2011Cơ sở dữ liệu12

Page 13: Week7

Á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

Á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

12/04/2011Cơ sở dữ liệu15

1:N (both optional)

Page 16: Week7

12/04/2011Cơ sở dữ liệu16

???

[1]: Step 4,

chapter 7

Page 17: Week7

Á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

Á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

Á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

Á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

Á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

12/04/2011Cơ sở dữ liệu22

M:N

Page 23: Week7

12/04/2011Cơ sở dữ liệu23

Page 24: Week7

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

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

12/04/2011Cơ sở dữ liệu26

Multivalued

Attribute

Page 27: Week7

12/04/2011Cơ sở dữ liệu27

Page 28: Week7

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

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

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

31

Q&A