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
CÓ
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
CÓ
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
Có
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
Có
THẺTV
PHIẾUMƯỢN
SốPM Ngàymượn
M
1
MãĐG Họ tên Ngàysinh Địa chỉ Nghềnghiệp
Có
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 1531988 Dong thap
20-4-2005 KTVCSDL 4562 050002 Nguyen Nam 1781987 TP HCM
15-4-2005 KTVmang 4786 050003 Pham van Hai 2211988 TP HCM
44
15-4-2005 Đohoa 050004 Nguyen thi Lan 1222 111988 Tien Giang
ị ỉ Tên Ngày sinh Đ a ch #20-mohinhQH S ố ĐT
MãSV 050001 Tran thuy Vy 1531988 Dong thap 1230
050002 Nguyen Nam 1781987 TP HCM 4562 Mamonhoc Ngay nhap hoc MaSV 050003 Pham van Hai 2211988 4786 TP HCM 01/01/2005 050001 050004 Nguyen thi Lan 1222 111988 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