chƯƠng ii mô hình quan hệ thực thể · pdf filethuộc tính đơn...

44
HCSDL HCơ SDLiu 1 CHƯƠNG II Mô hình quan hthc th

Upload: doantram

Post on 30-Jan-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

HCSDLHệ Cơ Sở Dữ Liệu

1

CHƯƠNG II

Mô hình quan hệ thực thể

Page 2: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

2

Nội dung

Mô hình quan hệ – thực thể ER (Entity Relationship Model – ER Model)Thực thểMối quan hệThiết kế mô hình ER

Page 3: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

3

Quá trình thiết kế CSDL

Page 4: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

4

Mô hình quan hệ – thực thể

Mô hình quan hệ – thực thể ER (Entity Relationship Model – ER Model) được dùng để thiết kế CSDL ở mức khái niệm (Conceptual data modeling)Biểu diễn trừu tượng cấu trúc của CSDLMô hình ER như 1 công cụ để trao đổi ý tưởng giữa nhà thiết kế và người dùng cuối trong giai đoạn phân tích. Nó độc lập với DBMS và quá trình hiện thực database.

Page 5: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

5

Sơ đồ quan hệ – thực thể

Sơ đồ quan hệ thực thể (entity relationship diagram - ERD) là biểu diễn hình ảnh của quan hệ thực thểBa phần tử cơ bản:

• Kiểu thực thể (Entity Type)• Mối quan hệ (Relationship)• Các thuộc tính (Attribute)

Page 6: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

6

Ví dụ

Page 7: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

7

Thực thể - Entity

Thực thể là đối tượng chính mà ta có thông tin về chúng.

Thực thể có thể là

Một người như nhân viên, sinh viên,..

Một nơi chốn như thành phố, đất nước,..

Một sự kiện như đấu giá, thi ...

Một khái niệm như môn học, tài khoản,…

Page 8: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

8

Cách đặt tên và ký hiệu

Mỗi kiểu thực thể phải có một tên gọi, nên là danh từ và viết chữ hoa. Thể hiện (instance) là một trường hợp cụ thể của kiểu thực thể: Nguyễn văn AKý hiệu của các kiểu thực thể

EMPLOYEE DEPENDENT

Kiểu thực thể mạnh Kiểu thực thể yếu

Page 9: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

9

Thực thể

Thực thể chỉ có một thể hiện ???Báo cáo chi phí có nhiều báo cáo rút ra từ CSDL, nó có là thực thể ???

Page 10: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

10

Ví dụ kiểu thực thể mạnh/yếu

EMPLOYEE DEPENDENTHas

Employee_ID Employee_Name

Dependent_NameBirthDate

Page 11: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

Kiểu thực thể kết hợpAssociative entity type

Là một kiểu thực thể dùng liên kết một hay nhiều kiểu thực thể và có chứa thêm một số thuộc tính riêng biệt của mối liên kết này

11

STUDENT COURSECERTIFICATE

Certificate_ID Completed Date

Page 12: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

12

Kiểu thực thể kết hợp

VENDOR

Customer_ID

Customer_Name

Vendor_ID

Address

ShipmentCUSTOMER

Date

Shipment_No

Page 13: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

13

Thuộc tính - attribute

Mỗi kiểu thực thể có 1 số thuộc tính.Thuộc tính là đặc tính của 1 kiểu thực thể hay 1 mối liên kết. Ví dụ: kiểu thực thể STUDENT có các thuộc tính như Student_ID, Student_Name, Address, Major.

STUDENT Student_ID, Student_Name,…

Page 14: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

14

Các kiểu thuộc tính

Thuộc tính đơn (simple attribute): là thuộc tính không thể phân nhỏ được.

Ví dụ: Color, Weight, HorsePower Thuộc tính phức hợp (composite attribute): là thuộc tính có thể phân thành nhiều thành phần

Ví dụ: Thuộc tính Address bao gồm các thành phần Street, District, City

Page 15: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

15

Các kiểu thuộc tính (tt)

Thuộc tính đơn trị (single valued attribute)Thuộc tính đa trị (multivalued attribute): có thể có nhiều hơn một trị cho một thể hiện của thực thểVí dụ: Thực thể COURSE có thuộc tính Teacher đa trị, một môn học có thể được dạy bởi nhiều hơn 1 thầy cô

Page 16: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

16

Các kiểu thuộc tính (tt)

Thuộc tính khóa: là 1 thuộc tính hoặc 1 tổ hợp các thuộc tính xác định được các thể hiện (instance) riêng biệt của 1 kiểu thực thểVí dụ: Student_ID là thuộc tính xác định của kiểu thực thể STUDENT

Page 17: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

17

Các kiểu thuộc tính (tt)

Thuộc tính dẫn xuất ( derived attribute): là thuộc tính mà trị của nó có thể tính ra được từ các thuộc tính khácVí dụ: Year_Employed là thuộc tính dẫn xuất từ thuộc tính Date_Employed

Page 18: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

18

Cách đặt tên và ký hiệu

Mỗi thuộc tính nên được biểu diễn là danh từ số ít và viết chữ thường. Ký hiệu của các kiểu thuộc tính:

Student_ID Teacher

Thuộc tính xác địnhThuộc tính dẫn xuất

Years_Employed

Thuộc tính đa trị

Page 19: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

19

Giá trị của thuộc tính

Kiểu dữ liệu (data type) và Miền giá trị của thuộc tính (domain)

Kiểu chuỗi (string)Kiểu số nguyên (integer)Kiểu số thực …

Ví dụ thực thể NHANVIEN có các thuộc tínhHọ tên (hoten: string[20])Ngày sinh (ns: date)Điểm TB (DTB: float)

Page 20: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

Chọn thuộc tính thích hợp

20

STUDENT COURSECompletes

Date_Completed

Bars BeersSells

price

Page 21: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

21

Mối quan hệ - Relationship

Mối quan hệ (relationship): diễn tả sự liên quan giữa một hay nhiều kiểu thực thể với nhau. Tên quan hệ là một động từ có ý nghĩaBậc của mối quan hệ: là số kiểu thực thể tham gia vào mối quan hệ Các loại mối quan hệ (relationship type)

Mối quan hệ 1 ngôiMối quan hệ 2 ngôiMối quan hệ 3 ngôi…

Page 22: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

22

Quan hệ một ngôi (Unary relationship)

Là mối quan hệ giữa các thể hiện của cùng một thực thểCòn gọi là mối quan hệ đệ quy (Recursive Relationship)Ví dụ:

EMPLOYEE Manages

Page 23: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

23

Vai trò (Role)

Đôi khi một thực thể xuất hiện nhiều hơn 1 lần trong mối quan hệ. Để phân biệt, nên cho biết vai trò trên các cạnh nối giữa mối quan hệ và thực thể.

EMPLOYEE Manages

Nhân viên

Giám đốc

Page 24: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

24

Quan hệ hai ngôi (Binary relationship)

Là mối quan hệ giữa hai kiểu thực thể

STUDENT COURSERegisters for

Page 25: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

25

Quan hệ ba ngôi (Ternary relationship)

Là mối quan hệ giữa 3 kiểu thực thể

PART

VENDOR WAREHOUSESupplies

Shipping mode Unit cost

Page 26: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

26

Lượng số của mối quan hệ (Cardinality)

Lượng số là số thể hiện của kiểu thực thể B mà có thể liên kết với mỗi thể hiện của kiểu thực thể A

Lượng số tối thiểu (minimum cardinality): là số tối thiểu của các thể hiện của kiểu thực thể B mà có thể liên kết với mỗi thể hiện của kiểu thực thể A

Lượng số tối đa (maximum cardinality)

Page 27: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

27

Lượng số của mối quan hệ (Cardinality)

Nếu lượng số tối thiểu là 0, kiểu thực thể B được gọi là nhiệm ý

Nếu lượng số tối thiểu và tối đa đều là 1 thì lượng số này được gọi là bắt buộc (mandatory)

Ba dạng liên kết (1, 2 ngôi):

Liên kết 1-1

Liên kết 1-n

Liên kết n-n

Page 28: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

28

Ví dụ

Contains

Item_NoName

Unit Cost

Quantity

ITEM

Page 29: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

29

Ký hiệu của lượng số

Nhiệm ý: ký hiệu là O|Bắt buộc: ký hiệu là ||Nhiều Một hoặc nhiều |Không hoặc nhiều O

29

Page 30: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

30

Lượng số

Page 31: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

31

Lượng số - số thực thể tham gia

EMPLOYEE PROJECTIs_assigned_to

Rose

Peter

Tom

Heidi

PROJECT1

PROJECT2

PROJECT3

Page 32: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

32

Quy tắc nghiệp vụ

“Mỗi kỹ sư dùng chỉ 1 sổ ghi chép cho 1 đề án. Những kỹ sư khác nhau sẽ dùng những sổ ghi chép khác nhau khi làm việc cho cùng một đề án. Không có kỹ sư nào dùng cùng một sổ ghi chép cho một hoặc nhiều đề án khác nhau”

Page 33: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

33

Xác định lượng số

ENGINEER

CASEBOOK PROJECT

Page 34: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

34

Xác định quan hệ và lượng số

Quy tắc nghiệp vụ (business rule)1. Mỗi người bán (vendor) có thể cung cấp nhiều

phụ tùng (part) cho 1 số kho (warehouse) nhưng không cần phải cung cấp tất cả các phụ tùng

2. Mỗi phụ tùng có thể được cung cấp bởi 1 số người bán hàng cho 1 hay nhiều kho, nhưng mỗi phụ tùng nhất thiết phải được cung cấp bởi ít nhất 1 người bán hàng cho 1 kho.

3. Mỗi kho có thể được cung cấp với 1 số phụ tùng từ nhiều hơn một nhà bán hàng nhưng mỗi kho nhất thiết phải được cung cấp với ít nhất 1 phụ tùng.

Page 35: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

35

Xác định lượng số

PART

VENDOR WAREHOUSESUPPLYSCHEDULE

Shipping mode Unit cost

Page 36: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

36

Thiết kế mô hình ER

Bước 1: Nhận dạng các kiểu thực thểBước 2: Nhận dạng các kiểu liên kếtBước 3: Nhận dạng các thuộc tính của các kiểu thực thể và các mối liên kếtBước 4: Nhận dạng thuộc tính xác định cho mỗi kiểu thực thểBước 5: Nhận dạng các cấu trúc siêu kiểu/kiểu conBước 6: Vẽ sơ đồ ER

Page 37: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

HCSDL 37

Page 38: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

38

Các lưu ý

Chọn thuộc tính thích hợpLoại bỏ mối liên kết thừaTránh dư thừa dữ liệuThực thể chỉ có một thuộc tínhKhông sử dụng thực thể chỉ có 1 thể hiệnThuộc tính của quan hệ

Page 39: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

39

Ví dụ

Page 40: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

40

Page 41: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

41

Ví dụ ‘Quản lý dự án’

Cty có nhiều đơn vị, mỗi đơn vị (phòng ban) có tên duy nhất, mã đơn vị duy nhất, một trưởng phòng và ngày nhậm chức. Mỗi đơn vị có thể ở nhiều địa điểm khác nhau.Dự án có tên duy nhất, mã duy nhất, do 1 một phòng ban chủ trì và được triển khai ở 1 địa điểm.Nhân viên có mã số, tên, địa chỉ, ngày sinh, giới tính và lương. Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau. Mỗi nhân viên đều có một người quản lý trực tiếp.Một nhân viên có thể có những người con được hưởng bảo hiểm theo nhân viên. Mỗi người con của nhân viên có tên, giới tính, ngày sinh.

Page 42: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

HCSDL 42

Bài tập về thư viện

Page 43: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

Hệ Cơ Sở Dữ Liệu

HCSDL 43

Bài tập về trường học

Page 44: CHƯƠNG II Mô hình quan hệ thực thể · PDF fileThuộc tính đơn ... Student_ID là thuộc tính xác định của kiểu thực thể STUDENT. 17 ... Nhận dạng thuộc

44

Bài tập

Xem ứng dụng mẫu trang 67 của sáchLàm tất cả bài tập chương 3 giáo trình