Chương 4

Mô hình thực thể kết hợp entity relationship model

1

Nội dung

Giới thiệu Các thành phần trong mô hình E-R Các vi dụ Chuyển đổi sang mô hình Quan hệ

2

Giới thiệu

• E-R là mô hình trung gian để chuyển những yêu câu quản lý dữ liệu trong thế giới thực thành mô hình CSDL quan hệ

• Sử dụng ký hiệu của Chen

DBMS

Mô hình CSDL Quan hệ

Mô hình E-R

Bài toán Thực tế

DB

3

Các thành phần trong mô hình ER

 Thực thể_ Entity , Tập thực thể _ Entity set

Loại thực thể _ Entity types

 Thụôc tính _ Attributes  Mối kết hợp _Relationships

Loại mối kết hợp_Relationship types

 Bản số của mối kết hợp

4

Thực thể và Loại thực thể  Thực thể là một đối tượng cụ thể, với các dữ liệu mô tả

nó. Ví dụ :

một Sinh viên tên Trần Văn Nam một dự án Cải tạo môi trường ĐB Sông Cửu long một tài khoản Kế toán số 111

 Loại thực thể : một khái niệm để chỉ các thực thể giống

nhau, có chung một số thuộc tính  Lọai thực thể SINH VIÊN, LỚP HỌC,…  Tại mỗi thời điểm , mỗi loại thực thể bao gồm một tập

xác định các thực thể (tập thực thể)

 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 chỉ danh (VD: mã SV)

5

 Biểu diễn

SINHVIÊN

Thuộc tính  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. (Required attribute & Optional attribute)  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.

6

(Identifier attribute)

Thuộc tính _ Ví dụ & Ký hiệu

7

Thuộc tính khóa

Thuộc tính _ Ví dụ & Ký hiệu

8

Thuộc tính _ chú ý

 Thuộc tính bắt buộc phải có một giá trị , không thể

rỗng (NULL)

 Thuộc tính phức : có thể chia nhỏ thành những

thuộc tính nhỏ hơn và tồn tại độc lập

 Thuộc tính đa trị không thể tồn tại trong mô hình

CSDL Quan hệ =>Hai cách để khử thuộc tính đa trị  C1 : Chuyển thuộc tính đa trị thành một số thuộc

tính đơn trị

 C2 : Thay thế thuộc tính đa trị bằng tạo mới một

loại thực thể

9

 Xem VD

Bài tập

 Loại thực thể Nhânviên được đặc tả như sau. Nhận

diện các thuộc tính và cho biết chúng thuộc loại nào ? “ Mỗi nhân viên có một Mã NV duy nhất, một họ, tên. Ngày sinh của nhân viên có dạng Ngày/tháng/năm. Địa chỉ của nhân viên có dạng: số nhà, tên đường, tên phường, tên quận, tên Tphố. Phái là nam hoặc nữ. Thông tin về số CMND của nhân viên cũng được lưu trữ. Mỗi nhân viên có thể có nhiều bằng cấp. “

10

Tinh chế mô hình ER  Khử thuộc tính đa trị

NHÂN VIÊN

NHÂN VIÊN

MaNV HoNV TenNV … Bang1 Bang2 Bang3

MaNV HoNV TenNV Ngaysinh Diachi Phai CMND Bangcap

MaNV Tênbang Mô tả

Ằ B NG  C PẤ

NHÂN  VIÊN

11

MaNV HoNV TenNV Ngaysinh Diachi Phai CMND

Mối kết hợp – Relationships  Mối kết hợp, thể hiện sự liên hệ có nghĩa giữa hai hay nhiều thực thể khác nhau

 Loại mối kết hợp - relationship type

 Khái niệm phản ánh những mối kết hợp cùng loại  biểu diễn bằng hình diamond.  Tên của loại mối kết hợp thường là một động từ.  chiều hướng của loại mối kết hợp

GIÁOVIÊN

 Học sinh Học một môn học  Giáo viên dạy một lớp học

HỌCSINH

Dạy

12

Học

LỚP

MÔNHỌC

Bậc của mối kết hợp • Dựa theo số thực thể tham gia vào mối kết hợp

Mối kết hợp một ngôi (Unary relationship, recursive relationship) Mối kết hợp hai ngôi (Binary relationship)

GIÁOVIÊN KHOÁHỌC

Dạy

Yêucầ u LỚP Đặc tả … Đặc tả …

Mối kết hợp ba ngôi (Ternary relationship)

Thamgia

13

DỰ ÁN CHỨC NĂNG

NHÂNVIÊN

Đặc tả …

Thuộc tính của mối kết hợp

 Một mối kết hợp có thể có tính chất riêng của nó.

Điểmthi

HỌCSINH

Học

 Thuộc tính chỉ tồn tại trong loại mối kết hợp giữa

2 loại thực thể

 Các thuộc tính này không thuộc về 2 loại thực

thể ban đầu

14

MÔNHỌC

Mối kết hợp

 Giữa 2 loại thực thể có thể tồn tại nhiều hơn

một loại mối kết hợp

PHÒNGBAN

NHÂNVIÊN

PHỤ TRÁCH

15

Bản số của mối kết hợp

 Có 2 cách biểu diễn :

 Biểu thị số thực thể tối đa xuất hiện ứng với một

thực thể bên kia, có 3 loại 1:1, 1:M, N:M

 Biểu thị số thực thể tối thiểu và tối đa xuất hiện

ứng với một thực thể bên kia  thể hiện ở bản số tối thiểu là 1 hay 0, hai loại

 bắt buộc tham gia không bắt buộc 

 Là một loại ràng buộc (Ràng buộc về bản số)  giới hạn khả năng tham gia vào loai mối kết hợp

16

của một thực thể

Bản số của mối kết hợp – ví dụ

Một học sinh chỉ có thể tham gia vào 1 Lớp học . Một lớp học có nhiều học sinh

Thamgia

NCD2A

O

Tuấn *

Lan *

NCD2C O

Minh *

17

Vân *

N 1 SINHVIEN LỚP HỌC

Bản số của mối kết hợp

Một giáo viên có 1 hồ sơ giảng dạy . Một hồ sơ giảng dạy thuộc về 1 giáo viên

1

1

GIAO VIEN HỒ SƠ Có

Một học sinh chỉ có thể tham gia vào 1 khóa học . Một khóa học có nhiều học sinh

Thamgia

N 1 SINHVIEN KHÓA HỌC

Một giáo viên có thể dạy nhiều lớp. Một lớp được dạy bởi nhiều giáo viên

N

M

18

LOP GIAO VIEN Dạy

Bản số của mối kết hợp

Mỗi giáo viên được dạy tối đa 3 lớp trong một học kỳ.

1

M

GIAO VIEN

LOP

Dạy

(0,3)

(1,1)

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ỳ.

SINHVIEN

LOP

Thamgia

M N

(0,50)

(1,2)

19

20

Xây dựng mô hình ER

Xác định các tập thực thể (thuộc tính )

dữ liệu cần lưu trữ

Đặc tả vấn đề

Xâydựng ER

 qui tắc quản lý

Phân tích

Xác định các mối kết hợp (thuộc tính )

Xác định các bản số

21

Xây dựng mô hình ER_VD

Đặc tả vấn đề :  Những người phụ trách đào tạo của Trường cao đẳng cộng đồng núi Ayers mong muốn tạo lập một CSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi danh vào những môn học này.

 Trường cũng có qui định là cùng một lúc, học viên chỉ có thể ghi danh

vào một môn học.

 Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại. Một khi học viên kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên này phải được xóa khỏi CSDL.

 Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học

viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học.

 Thông tin về môn học gồm mã môn học, tên môn học, thời lượng .

22

Xây dựng mô hình ER_VD

B1: Phân tích

Phần đặc tả vấn đề chứa đựng các qui tắc quản lý và dữ liệu yêu cầu của vấn đề.

 Dữ liệu của vấn đề là: - chi tiết về học viên có : mã học viên, tên học viên, địa chỉ, ngày

sinh, số điện thoại và ngày nhập học .

- chi tiết về môn học có : mã môn học, tên môn học và thời lượng.

 Qui tắc quản lý gồm: - Cùng một lúc, một học viên chỉ có thể ghi danh vào một môn học. - Nhiều học viên có thể ghi danh vào một môn học. - Nhà trường chỉ quan tâm đến những học viên của môn học hiện tại

23

Xây dựng mô hình ER_VD

B2: Xác định các tập thực thể (thuộc tính )

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại Ngày nhập học.

B3: Xác định các mối kết hợp (thuộc tính )

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại Ngày nhập học.

24

Ghi danh

Xây dựng mô hình ER_VD B4: Xác định các bản số

M

1

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

(1,1)

(1,M)

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại Ngày nhập học.

Ghi danh

Một cách biểu diễn khác (dùng ký hiệu của Crow)

25

Ví dụ 2

Đặc tả vấn đề Phòng cảnh sát mong muốn quản lý lý lịch cá nhân những người lái xe và bằng lái của họ. Một người chỉ lấy được một bằng lái và một bằng lái chỉ thuộc về một người. Thông tin về lái xe mà phòng cảnh sát quan tâm là: mã người lái xe, tên, địa chỉ, ngày sinh Thông tin về bằng lái cần lưu trữ là: mã bằng lái, loại bằng lái, ngày hết hạn

Phân tích

Dữ liệu của vấn đề : Thông tin về Người lái xe : mã người lái xe, tên, địa chỉ, ngày sinh Thông tin về bằng lái : mã bằng lái, loại bằng lái, ngày hết hạn

Qui tắc quản lý : Một người chỉ lấy được một bằng lái và một bằng lái chỉ thuộc về một người.

26

Mô hình E-R

NGƯỜI LÁIXE

BẰNG LÁI

1

1

Mã bằng lái Loại bằng lái Ngày hết hạn Mã người lái xe Tên Địa chỉ Ngày sinh Sở hữu

(1,1)

(1,1)

NGUOILAIXE

BANGLAI

PK MaNguoiLaiXe

PK Mabanglai

Loaibanglai Ngayhethan

Ten Diachi NgaySinh FK1 Mabanglai

27

Ví dụ 3

Đặc tả vấn đề Người phụ trách đào tạo Trường cao đẳng cộng đồng núi xanh mong muốn thiết lập một csdl về các môn học mà họ cung cấp (như chứng chỉ leo núi, cử nhân công nghệ bay) và các học viên ghi danh vào các môn học này. Nhà trường qui định là một học viên được ghi danh học tối đa ba môn học trong cùng một lúc. Ngày nhập học của mỗi môn học có thể khác nhau. Họ chỉ quan tâm đến dữ liệu của môn học hiện tại. Một khi học viên kết thúc môn học, họ sẽ không còn thuộc diện quản lý của nhà trường và phải được xóa khỏi csdl trừ khi học viên này ghi danh học tiếp môn mới. Thông tin về một học viên gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học Thông tin về môn học gồm: mã môn học, tên môn học, thời lượng

28

Phân tích :

Dữ liệu của vấn đề là: -Thông tin về học viên có : mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại -Thông tin về môn học có : mã môn học, tên môn học và thời lượng. -Thông tin về ngày nhập học của học viên với từng môn học.

Qui tắc quản lý gồm: - Cùng một lúc, một học viên chỉ có thể ghi danh vào 3 môn học. - Nhiều học viên có thể ghi danh vào một môn học. - Nhà trường chỉ quan tâm đến những học viên của môn học hiện tại

M

N

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

(1,3)

(1,M)

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại

Ngày nhập học.

29

Ghi danh

Ví dụ 4.1

Đặc tả vấn đề Trường CĐMêkong có nhu cầu tin học hóa công tác quản lý của mình. Trường có nhiều khoa. Mỗi khoa có thông tin Mã khoa, Tên khoa. Mỗi khoa có nhiều lớp học. Thông tin về lớp học : Mã lớp, Tên lớp, Sĩ số. Một sinh viên khi nhập học được xếp vào một lớp và thuộc lớp này trong suốt khoá học. Thông tin về Sinh viên gồm: mãSV, Họtên, Ngày sinh, phái, địa chỉ . Sinh viên học nhiều môn học . Kết thúc mỗi môn học , sinh viên có một điểm thi. Kết thúc khoá học , sinh viên có một điểm Tốt nghiệp. Mỗi môn học có thông tin : mãMôn, Tênmôn, số tín chỉ. Mỗi sinh viên có một thẻ thư viện. Và một thẻ thư viện chỉ thuộc về một sinh viên. Thông tin về thẻ thư viện : Số thẻ, Ngày cấp, Ngày hết hạn.

30

Phân tích :

Dữ liệu yêu cầu :

-Thông tin về khoa: Mã khoa, Tên khoa

-Thông tin về lớp học : Mã lớp, Tên lớp, Sĩ số.

-Thông tin về Sinh viên gồm: mãSV, Họtên, Ngày sinh, phái, địa chỉ .

-Mỗi môn học có thông tin : mãMôn, Tênmôn, số tín chỉ

-Thông tin về thẻ thư viện : Số thẻ, Ngày cấp, Ngày hết hạn.

-Kết thúc mỗi môn học , sinh viên có một điểm thi.

-Kết thúc khoá học , sinh viên có một điểm Tốt nghiệp

Qui tắc quản lý :

-Mỗi khoa có nhiều lớp học

-Một sinh viên khi nhập học được xếp vào một lớp

-Sinh viên học nhiều môn học

-Mỗi sinh viên có một thẻ thư viện. Một thẻ thư viện chỉ thuộc về một sinh viên

31

MãMôn Tênmôn Số tín chỉ

Mã khoa Tên khoa

KHOA

1

MÔN HỌC

M

Của

điểm thi

Học

MãSV Họtên Ngày sinh Phái Địa chỉ . điểm Tốt nghiệp

N M

LỚP

SINH VIÊN

Mã lớp Tên lớp Sĩ số.

1 1 M

Có Thuộc 1

THẺ THƯ ViỆN

Số thẻ Ngày cấp Ngày hết hạn.

32

Ví dụ 4.2

Đặc tả vấn đề (tiếp theo Ví dụ 4.1)

Nếu điểm thi hết môn của sinh viên dưới 5 , sinh viên phải tự đăng ký học và thi lại (thường là ở những khoá học sau). Sinh viên chỉ có thể đăng ký học và thi lại tối đa 2 lần. Nhà trường có nhu cầu quản lý điểm của những lần thi lại. Và có nhu cầu biết danh sách đăng ký học lại của sinh viên của một môn học :ngày đăng ký, điểm thi

N

MÔN HỌC

Ngày đăng ký Điểmlần 2 Điểmlần 3

1 Đăng ký TL

Điểmlần 1

Học

M M

SINH VIÊN

33

Biến đổi từ mô hình ER Sang Mô hình Quan hệ

Các qui tắc biến đổi :

Mô hình E-R

Mô hình CSDL Quan hệ

Một tập thực thể

Một Lược đồ quan hệ

Mỗi thuộc tính

một thuộc tính

khoá chính

Mỗi thuộc tính nhận diện Mỗi mối kết hợp

khoá ngoại / LĐ quan hệ mới (trong mkh M-N)

Ghi chú : chỉ áp dụng cho mối kết hợp 2 ngôi

34

Ví dụ 1 (mối kết hợp 1-1)

NGƯỜI LÁIXE

BẰNG LÁI

1

1

Mã bằng lái Loại bằng lái Ngày hết hạn Mã người lái xe Tên Địa chỉ Ngày sinh Sở hữu

(1,1)

(1,1)

Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hoặc ngược lại

NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh)

BẰNG LÁI (mã bằng lái, lọai bằng lái, ngày hết hạn, mã người lái xe)

hay

NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh, mã bằng lái)

BẰNG LÁI (mã bằng lái, lọai bằng lái, ngày hết hạn)

35

Ví dụ 2 (mối kết hợp 1-M)

M

1

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại Ngày nhập học.

Ghi danh

Chuyển khóa chính từ bên một sang bên nhiều

HỌC VIÊN (Mã học viên, Tên học viên, địa chỉ, ngày sinh, số điện thọai,

ngày nhập học, Mã môn học)

MÔN HỌC (Mã môn học, Tên môn học, thời lượng )

#27.Dulieu

36

Ví dụ 3 ( Mối kết hợp M-N )

M

N

HỌCVIÊN

MÔNHỌC

Mã môn học Tên môn học Thời lượng

(1,3)

(1,M)

Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại

Ngày nhập học.

Ghi danh

Tạo một quan hệ mới

HỌC VIÊN (Mã học viên, Tên học viên, địa chỉ, ngày sinh, số điện thọai )

MÔN HỌC (Mã môn học, Tên môn học, thời lượng )

PHIẾU GHI DANH (Mã học viên, mã môn học, ngày nhập học)

37

#28. dulieu

Bài tập :

GIÁO VIÊN

HỒSƠGD

Mã Hồsơ Ngày Công việc Đề tài Vị trí

1

1

MãGV Họ tên Địa chỉ Phone Bằngcấp

THẺTV

PHIẾUMƯỢN

SốPM Ngàymượn

M

1

MãĐG Họ tên Ngàysinh Địa chỉ Nghềnghiệp

TÁCGIẢ

TỰA SÁCH

Vaitrò

M

N

MãTG Họtên Ngàysinh Địa chỉ

sángtác

Mãtựasách Lọaisách Nămxb Nhàxb Sốtrang Sốtập

38

Ví dụ 4_1

Đặc tả vấn đề Trường CĐMêkong có nhu cầu tin học hóa công tác quản lý của mình. Trường có nhiều khoa. Mỗi khoa có thông tin Mã khoa, Tên khoa. Mỗi khoa có nhiều lớp học. Thông tin về lớp học : Mã lớp, Tên lớp, Sĩ số. Một sinh viên khi nhập học được xếp vào một lớp và thuộc lớp này trong suốt khoá học. Thông tin về Sinh viên gồm: mãSV, Họtên, Ngày sinh, phái, địa chỉ . Sinh viên học nhiều môn học . Kết thúc mỗi môn học , sinh viên có một điểm thi. Kết thúc khoá học , sinh viên có một điểm Tốt nghiệp. Mỗi môn học có thông tin : mãMôn, Tênmôn, số tín chỉ. Mỗi sinh viên có một thẻ thư viện. Và một thẻ thư viện chỉ thuộc về một sinh viên. Thông tin về thẻ thư viện : Số thẻ, Ngày cấp, Ngày hết hạn.

39

MãMôn Tênmôn Số tín chỉ

Mã khoa Tên khoa

KHOA

1

MÔN HỌC

M

Của

điểm thi

Học

MãSV Họtên Ngày sinh Phái Địa chỉ . điểm Tốt nghiệp

N M

LỚP

SINH VIÊN

Mã lớp Tên lớp Sĩ số.

1 1 M

Có Thuộc 1

THẺ THƯ ViỆN

Số thẻ Ngày cấp Ngày hết hạn.

40

B1 : Chuyển các tập thực thể thành quan hệ

KHOA (Mã khoa, tên khoa)

LỚP (Mã lớp, tên lớp, sĩ số)

SINHVIÊN (Mãsinhviên, họ tên, phái , địa chỉ, ngày sinh, điểm tốtnghiệp)

MÔN HỌC (Mã môn, tên môn, số tín chỉ)

THẺ THƯ ViỆN (Số thẻ, ngàycấp, ngày hết hạn)

B2 : Chuyển các mối kết hợp

Mối kết hợp KHOA – LỚP chuyển thành khóa ngoại Mã khoa trong quan hệ LỚP

Mối kết hợp LỚP – SINHVIEN chuyển thành khóa ngoại Mã lớp trong SINHVIEN

Mối kết hợp SINHVIEN – THẺ THƯ ViỆN chuyển thành khóa ngọai Mãsinhviên trong quan hệ THẺTHƯ ViỆN

Mối kết hợp SINHVIÊN – MÔNHỌC chuyển thành một quan hệ mới HỌC(Mãsinhviên, mãmôn, diểm thi)

41

Lược đồ cơ sở dữ liệu quan hệ

KHOA (Mã khoa, tên khoa)

LỚP (Mã lớp, tên lớp, sĩ số, mã khoa)

SINHVIÊN (Mãsinhviên, họ tên, phái , địa chỉ, ngày sinh, điểm tốt nghiệp, mã lớp )

MÔN HỌC (Mã môn, tên môn, số tín chỉ)

HOC (Mãsinhviên, mã môn, điểm thi)

THẺ THƯ ViỆN (Số thẻ, ngàycấp, ngày hết hạn, mãsinhviên)

42

Nhận xét :#28

Mối kết hợp giữa các tập thực thể trong mô hình E-R được chuyển thành khóa ngọai trong mô hình csdl Quan hệ . Như vậy : trong mô hình quan hệ , các quan hệ liên hệ với nhau nhờ có chung một hay một số thuộc tính .

Có 2 loại mối quan hệ _relationships trong mô hình quan hệ : 1-1 và 1 – M

Ví dụ :#27. #28.

43

Mãkhóahọc

Tên khóa học

#19.mhQh

Thời lượng

KTVmạng

Kỹ thuật viên

450

KTVcsdl

Kỹ thuật viên cơ sở dữ liệu

250

Đohoa

Đồ họa ứng dụng

250

LTV

Lập trình viên

450

ị ỉ Tên Ngày sinh Đ a ch

Ngày nh p ậ h cọ Mãkhóa H cọ S  ố ĐT

15-4-2005 KTVmang MãSV                                                                   050001 1230 Tran thuy Vy 15­3­1988 Dong thap

20-4-2005 KTVCSDL 4562 050002 Nguyen Nam 17­8­1987 TP HCM

15-4-2005 KTVmang 4786 050003 Pham van Hai 22­1­1988 TP HCM

44

15-4-2005 Đohoa 050004 Nguyen thi Lan 1222 1­1­1988 Tien Giang

ị ỉ Tên Ngày sinh Đ a ch #20-mohinhQH S  ố ĐT

MãSV                                                                   050001 Tran thuy Vy 15­3­1988 Dong thap 1230

050002 Nguyen Nam 17­8­1987 TP HCM 4562 Mamonhoc Ngay nhap hoc MaSV 050003 Pham van Hai 22­1­1988 4786 TP HCM 01/01/2005 050001 050004 Nguyen thi Lan 1222 1­1­1988 MangCB Tien Giang KTLT 15/01/2005 050001

THCB 20/1/2005 050002

KTLT 20/1/2005 050002

MangCB 30/1/2005 050002

MaMonhoc Tên môn học Thời lượng

90 THCB Tin học Văn phòng

45 LTmạng Lập trình mạng

60 MangCB Mạng căn bản

45

90 KTLT Kỹ thuật lập trình