chương 2

68
Chương 2 Chương 2 Mô hình thực thể-kết Mô hình thực thể-kết hợp hợp (Entity- (Entity- Relationship) Relationship)

Upload: zeus-bruce

Post on 01-Jan-2016

33 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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)

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ụ

2

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)

Kiểu thực thể - Tập thực thể - Thực thể.

18

Tập thực thể

Kiểu thực thể

Thực thểThực thể

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

Thuộc tính

26

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)

28

Khóa(Identifier)

29

Khóa(Identifier)

30

Khóa(Identifier)

31

Khóa đơn

Khóa phức hợp

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

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

37

Mối quan hệ - Bật và ngôi

38

Mối quan hệ - Bật và ngôi

39

Mối quan hệ - Bật và ngôi

Mối quan hệ - Lực lượng tham gia quan hệ

40

Quan hệ nhị phân - Quan hệ 1-1

41

42

Quan hệ nhị phân - Quan hệ 1-1

Quan hệ nhị phân - Quan hệ 1-n và n-1

43

44

Quan hệ nhị phân - Quan hệ 1-n và n-1

45

Quan hệ nhị phân - Quan hệ n-n

46

Quan hệ nhị phân - Quan hệ n-n

47

Quan hệ tam phân - Quan hệ 1-n-n/n-n-n

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

Tập thực thể yếu (tt)

Ví dụ 1

57

Tập thực thể yếuLiên kết

yếu

Thuộc tính của tập thực thể

yếu

Tập thực thể yếu (tt)

58

Tập thực thể yếu (tt)

59

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

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 64

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 65

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

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 67

68