week2

38
Nguyễn Thanh Tùng Cơ sở dữ liệu MÔ HÌNH LIÊN KẾT - THỰC THỂ 12/04/2011 1 Cơ sở dữ liệu

Upload: nguyen-huu-tien

Post on 06-Jul-2015

900 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Week2

Nguyễn Thanh Tùng

Cơ sở dữ liệu

MÔ HÌNH LIÊN KẾT - THỰC THỂ

12/04/20111 Cơ sở dữ liệu

Page 2: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 3: Week2

Mô hình liên kết thực thể (ER)

entity-relationship model

Mô hình liên kết thực thể là cách tiếp cận chính để mô

hình hóa dữ liệu ý niệm (conceptual data modeling).

Mô hình ER là công cụ giao tiếp giữa người thiết kế

CSDL và người sử dụng cuối cùng để xây dựng CSDL

trong giai đoạn phân tích.

Mô hình ER được dùng để xây dựng mô hình dữ liệu ý

niệm (conceptual data model) nhằm biểu diễn cấu trúc

và các ràng buộc của CSDL.

12/04/20113 Cơ sở dữ liệu

Page 4: Week2

Các thành phần của ER

Thực thể và các thuộc tính.

Mối liên kết và các thuộc tính.

12/04/20114 Cơ sở dữ liệu

Page 5: Week2

Các ký hiệu

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

Page 6: Week2

Ví dụ:

12/04/20116 Cơ sở dữ liệu

Page 7: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 8: Week2

Thực thể Thể hiện thực thể (Entity instance) là người, vị trí, đối

tượng, sự kiện, khái niệm (thường tương ứng với một hàng của bảng).

Thực thể nên là đối tượng có nhiều thể hiện trong CSDL.

đối tượng có nhiều thuộc tính.

đối tượng cần được mô hình hóa.

Thực thể không nên là người sử dụng của hệ CSDL.

kết xuất của hệ CSDL (ví dụ bản báo cáo).

Đặc điểm của thực thể là tính phân biệt (distinctness): có thể phân biệt giữa thực thể này với thực thể khác.

12/04/20118 Cơ sở dữ liệu

Page 9: Week2

Thực thể (tt)

Kiểu thực thể (Entity type) là tập hợp các thực thể

thuộc cùng một loại (thường tương ứng với một bảng).

Được biểu diễn bằng hình chữ nhật.

12/04/20119 Cơ sở dữ liệu

Page 10: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 11: Week2

Thuộc tính

Thuộc tính (Attribute) là một đặc tính / tính chất của

một kiểu thực thể (thường tương ứng với một vùng tin

trong một bảng).

Được biểu diễn bằng hình bầu dục.

Các loại thuộc tính

Thuộc tính bắt buộc và thuộc tính tùy chọn.

Thuộc tính đơn và thuộc tính phức hợp.

Thuộc tính đơn trị và thuộc tính đa trị.

Thuộc tính chứa và thuộc tính dẫn xuất.

Thuộc tính khóa và thuộc tính không khóa.

12/04/201111 Cơ sở dữ liệu

Page 12: Week2

Thuộc tính (tt)

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.

12/04/201112 Cơ sở dữ liệu

Page 13: Week2

Thuộc tính (tt)

12/04/201113 Cơ sở dữ liệu

Thuoäc tính ñôn

Thuoäc tính phức

hôïp

Page 14: Week2

Thuộc tính (tt)

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.

12/04/201114 Cơ sở dữ liệu

Page 15: Week2

Thuộc tính (tt)

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.

12/04/201115 Cơ sở dữ liệu

Page 16: Week2

Thuộc tính (tt)

12/04/201116 Cơ sở dữ liệu

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

Page 17: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 18: Week2

Khóa (Key/Identifier)

Khóa/Thuộc tính xác định là một thuộc tính hoặc tổ hợp

các thuộc tính dùng để xác định duy nhất một thể hiện

của một kiểu thực thể.

Thuộc tính khóa và thuộc tính không khóa

Thuộc tính khóa là thuộc tính ở trong khóa. key attribute / prime attribute / identifier attribute

Thuộc tính khóa được gạch dưới.

Thuộc tính không khóa (non-key attribute) là thuộc tính

không ở trong khóa.

Thuộc tính không khóa còn được gọi là thuộc tính mô tả (descriptor).

12/04/201118 Cơ sở dữ liệu

Page 19: Week2

Khóa (tt) Khóa đơn và khóa phức hợp

Khóa đơn (simple key) là khóa chỉ có một thuộc tính.

Khóa phức hợp (composite key) là khóa có nhiều hơn một thuộc tính.

Khóa dự tuyển (candidate key)

Khóa dự tuyển là khóa của một kiểu thực thể.

Một kiểu thực thể có ít nhất một khóa dự tuyển.

Khóa chính (primary key)

Khóa chính là một khóa tiêu biểu trong các khóa dự tuyểncủa một kiểu thực thể.

Một kiểu thực thể chỉ có một khóa chính.

Khóa chính dùng để liên kết giữa các thực thể.

12/04/201119 Cơ sở dữ liệu

Page 20: Week2

Khóa (tt)

12/04/201120 Cơ sở dữ liệu

Khóa đơn

Khóa phức hợp

Thuộc tính không khóa

Page 21: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 22: Week2

Mối liên kết

Kiểu mối liên kết (Relationship type) là sự liên kết giữa

các kiểu thực thể.

Được biểu diễn bằng hình thoi.

Mối liên kết có thể có nhiều thuộc tính dùng để mô tả

các đặc tính của sự liên kết giữa các thực thể.

Hai thực thể có thể có nhiều kiểu mối liên kết giữa

chúng.

12/04/201122 Cơ sở dữ liệu

Page 23: Week2

Mối liên kết (tt)

12/04/201123 Cơ sở dữ liệu

Hai thực thể có nhiều mối liên kết

Mối liên kết có thuộc tính

Page 24: Week2

Mối liên kết (tt)

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ế

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.

12/04/201124 Cơ sở dữ liệu

Page 25: Week2

Mối liên kết (tt)

12/04/201125 Cơ sở dữ liệu

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

Page 26: Week2

Mối liên kết (tt)

Mối liên kết 1-ngôi

12/04/201126 Cơ sở dữ liệu

1

EMPLOYEE Manages

1

1

PERSON Is_married_to

1

One-to-One One-to-Many

n

ITEM Has

components

n

Many-to-Many

Quantity

Page 27: Week2

Mối liên kết (tt)

Mối liên kết 2-ngôi

12/04/201127 Cơ sở dữ liệu

1

EMPLOYEE Is assigned

1

One-to-One

PARKING PLACE

1PRODUCT LINE Contains

n

One-to-Many

PRODUCT

nSTUDENT Registers for

n

Many-to-Many

COURSE

Page 28: Week2

Mối liên kết (tt)

Mối liên kết 3-ngôi

12/04/201128 Cơ sở dữ liệu

nVENDOR Is assigned

n

WAREHOUSE

PART

n

Unit costShipping

mode

Page 29: Week2

Nội dung

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

Mô hình liên kết - thực thể ER

Thực thể

Thuộc tính

Khóa

Mối liên kết

Ràng buộc lượng số

Page 30: Week2

Lượng số của mối liên kết Lượng số của mối liên kết (Cardinality of Relationship)

là số lượng thể hiện thực thể tham gia vào mối liên kết này.

Các loại lượng số

một - một (one-to-one): một thực thể a liên kết với một thực thể b; một thực thể b liên kết với một thực thể a.

một - nhiều (one-to-many): một thực thể a liên kết với nhiều thực thể b; một thực thể b liên kết với một thực thể a.

nhiều - nhiều (many-to-many): một thực thể a liên kết với nhiều thực thể b; một thực thể b liên kết với nhiều thực thể a.

12/04/201130 Cơ sở dữ liệu

Page 31: Week2

Ràng buộc lượng số

Ràng buộc lượng số (Cardinality Constraint) 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.

12/04/201131 Cơ sở dữ liệu

Page 32: Week2

Ràng buộc lượng số (tt)

Relationship cardinality

12/04/201132 Cơ sở dữ liệu

1 1Mandatory One

1 nMandatory Many

1 1Optional One

1 nOptional Many

Page 33: Week2

Ràng buộc lượng số (tt)

Mối liên kết 1-ngôi, 1-1 có lượng số tùy chọn

Mối liên kết 2-ngôi, 1-n có lượng số bắt buộc

12/04/201133 Cơ sở dữ liệu

1

PERSON Is_married_to

1

Shirley

Mack

Dawn

Kathy

Ellis

Fred

1PATIENT Has

n

PATIENT HISTORYMark

Sarah

Elsie

Visit 1

Visit 1

Visit 2

Visit 1Lượng số lớn nhất

Page 34: Week2

Quan hệ

Quan hệ (relation) là một bảng dữ liệu hai chiều bao

gồm nhiều hàng (mẩu tin) và nhiều cột (thuộc tính

hoặc vùng tin).

Mỗi hàng là duy nhất: không thể có hai hàng có cùng các

giá trị ở tất cả vùng tin.

Thứ tự của các hàng là không quan trọng.

Thứ tự của các cột là không quan trọng.

Không phải mọi bảng đều là quan hệ. Quan hệ là một bảng

không chứa các hàng giống hệt nhau.

12/04/201134 Cơ sở dữ liệu

Page 35: Week2

Quan hệ (tt)

Ví dụ: quan hệ Supplier

12/04/201135 Cơ sở dữ liệu

Snum Name City

S1 Nguyễn Trung Tiến SF

S2 Trần Thị Yến LA

S3 Nguyễn Văn An SF

Page 36: Week2

Khóa quan hệ

Khóa quan hệ (Key) là một tập nhỏ nhất các thuộc tính

dùng để xác định duy nhất một hàng.

Một khóa chỉ có một thuộc tính được gọi là khóa đơn

(simple key).

Một khóa có nhiều thuộc tính được gọi là khóa phức hợp

(composite key).

Khóa thường được sử dụng làm chỉ mục (index) của bảng

dữ liệu để làm tăng tốc độ xử lý câu truy vấn.

12/04/201136 Cơ sở dữ liệu

Page 37: Week2

Khóa quan hệ (tt)

Một quan hệ phải có ít nhất một khóa và có thể có nhiều

khóa.

Các thuộc tính thuộc một khóa được gọi là thuộc tính

khóa (prime attribute), các thuộc tính còn lại trong lược

đồ quan hệ được gọi là các thuộc tính không khóa

(nonprime attribute).

Các thuộc tính khóa được gạch dưới.

Các thuộc tính khóa không được có giá trị rỗng (null

value).

12/04/201137 Cơ sở dữ liệu

Page 38: Week2

Khóa quan hệ (tt)

Tất cả các khóa của một quan hệ được gọi là khóa dự

tuyển (candidate key).

Một trong các khóa dự tuyển được chọn làm khóa tiêu

biểu, khóa này được gọi là khóa chính (primary key).

Một quan hệ chỉ có một khóa chính và có thể có nhiều

khóa dự tuyển.

Trong một quan hệ, một hoặc nhiều thuộc tính được gọi

là khóa ngoại (foreign key) nếu chúng là khóa chính của

một quan hệ khác.

12/04/201138 Cơ sở dữ liệu