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 CSDL Mô 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.
Trang 1Hệ Cơ Sở Dữ Liệu
CHƯƠNG II
Mô hình quan hệ thực thể
Trang 3Hệ Cơ Sở Dữ Liệu
Quá trình thiết kế CSDL
Trang 4Mô 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 CSDL
Mô 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
Trang 5Sơ đồ 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:
• Các thuộc tính (Attribute)
Trang 6Hệ Cơ Sở Dữ Liệu
Ví dụ
Trang 7 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,…
Trang 8Cá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 A
Ký hiệu của các kiểu thực thể
Trang 9Thự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ể ???
Trang 10Ví dụ kiểu thực thể mạnh/yếu
Employee_ID Employee_Name
Dependent_Name
BirthDate
Trang 11Hệ Cơ Sở Dữ Liệu
Kiểu thực thể kết hợp
Associative 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
STUDENT CERTIFICATE COURSE
Certificate_ID Completed Date
Trang 12Shipment_No
Trang 13Hệ Cơ Sở Dữ Liệu
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,…
Trang 14Cá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
Trang 15Cá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ô
Trang 16Cá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
Trang 17Cá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ác
Ví dụ: Year_Employed là thuộc tính dẫn xuất từ
thuộc tính Date_Employed
Trang 19Hệ Cơ Sở Dữ Liệu
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ính
Họ tên (hoten: string[20])
Ngày sinh (ns: date)
Điểm TB (DTB: float)
Trang 21Mố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ĩa
Bậ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ôi
Mối quan hệ 2 ngôi
Mối quan hệ 3 ngôi…
Trang 22Quan 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ụ:
Trang 23Vai 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
Trang 24Quan hệ hai ngôi (Binary relationship)
Là mối quan hệ giữa hai kiểu thực thể
STUDENT Registers for COURSE
Trang 25Quan hệ ba ngôi (Ternary relationship)
Là mối quan hệ giữa 3 kiểu thực thể
PART
Shipping mode Unit cost
Trang 26Lượ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
Trang 27Lượ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
Trang 28Ví dụ
ITEM
Trang 29Ký hiệu của lượng số
Trang 30Lượng số
Trang 31Lượng số - số thực thể tham gia
Rose Peter
Tom
Heidi
PROJECT1 PROJECT2
PROJECT3
Trang 32Quy 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”
Trang 33Xác định lượng số
ENGINEER
Trang 34Xá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
Trang 36Thiết kế mô hình ER
kiểu thực thể và các mối liên kết
mỗi kiểu thực thể
Trang 38Hệ Cơ Sở Dữ Liệu
Các lưu ý
Chọn thuộc tính thích hợp
Loại bỏ mối liên kết thừa
Tránh dư thừa dữ liệu
Thực thể chỉ có một thuộc tính
Không sử dụng thực thể chỉ có 1 thể hiện
Thuộc tính của quan hệ
Trang 39Hệ Cơ Sở Dữ Liệu
Ví dụ
Trang 40Hệ Cơ Sở Dữ Liệu
Trang 41Hệ Cơ Sở Dữ Liệu
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
Trang 42Hệ Cơ Sở Dữ Liệu
Bài tập về thư viện
Trang 43Hệ Cơ Sở Dữ Liệu
Bài tập về trường học
Trang 44Bài tập
Xem ứng dụng mẫu trang 67 của sách
Làm tất cả bài tập chương 3 giáo trình