Mô hình hóa cơ sở dữ liệu bằng cách sử dụng kỹ thuật đồ họa để biểu diễn các đối tượng và quan hệ giữa các đối tượng trong thế giới thực mà con người có thể hiểu một cách dễ dàng. Trong chương này sẽ giới thiệu đến người học mô hình thực thể kết hợp, đây là một mô hình dựa trên thế giới thực trong đó bao gồm một tập các đối tượng gọi là thực thể và mối quan hệ giữa các thực thực thể. Mời các bạn cùng tham khảo.
Trang 2Giới thiệu
• Mô hình hóa cơ sở dữ liệu bằng cách sử dụng
kỹ thuật đồ họa để biểu diễn các đối tượng và quan hệ giữa các đối tượng trong thế giới thực
mà con người có thể hiểu một cách dễ dàng
• Mô hình thực thể quan hệ (Entity Relationship) dựa trên thế giới thực trong đó bao gồm một tập các đối tượng gọi là thực thể và mối quan hệ giữa các thực thực thể.
Trang 3–Lược đồ khái niệm là sự mô tả ngắn gọn về những yêu cầu của người dùng và sự mô tả chi tiết về các loại thực thể, mối quan hệ giữa các loại thực thể và các ràng buộc.
Trang 4Các bước thiết kế một CSDL
• Bước 3: Hiện thực cơ sở dữ liệu sử mô hình cơ
sở dữ liệu quan hệ hoặc mô hình cơ sở dữ liệu hướng đối tượng
–Bước này gọi là thiết kế logic hoặc ánh xạ mô hình dữ liệu
–Kết quả của bước này là một lược đồ cơ sở dữ liệu và hiện thực cơ sở dữ liệu trong một hệ quản trị cơ sở
dữ liệu
• Bước cuối cùng là giai đoạn thiết kế vật lý.
–Xác định cấu trúc lưu trữ, các cách truy cập dữ liệu
–Các chương trình ứng dụng được thiết kế và hiện
Trang 5Các bước thiết kế một CSDL
Trang 6Ví dụ CSDL Company
• Các yêu cầu:
–Công ty (Company) được tổ chức thành các bộ phận (DEPARTMENTs) Mỗi bộ phận có những thông tin: Tên, Số, và một nhân viên là người quản lý bộ phận
đó (MANAGER), trong cơ sở dữ liệu phải lưu thông tin
ngày mà nhân viên đó bắt đầu quản lý bộ phận
–Mỗi bộ phận thực hiện một số dự án (PROJECTs)
Mỗi dự án có Tên dự án, Mã số dự án và vị trí của dự
án.
Trang 7dự án và thông tin về người giám sát của mỗi nhân viên.
–Mỗi nhân viên có số người phụ thuộc (DEPENDENTs) Mỗi người phụ thuộc có những thông tin Tên, Phái, Ngày sinh và mối quan hệ với nhân viên
Trang 8Entity Types, Entity Sets, Attributes, keys
• Mô hình ER mô tả dữ liệu dưới dạng các thực thể (Entity), các mối quan hệ (Relationships) và các thuộc tính (Attributes).
–Thực thể (Entity): là các đối tượng tồn tại độc lập với
các đối tượng khác Ví dụ: con người, sự vật …
–Loại thực thể (Entity type): Là một tập các thực thể
có cùng thuộc tính
–Thể hiện của thực thể (Entity instance ): là một
thực thể đơn trong tập thực thể
Trang 9Entity Types, Entity Sets, Attributes, keys
• Ví dụ:
–SINHVIEN là một loại thực thể (entity type),
–Một sinh viên cụ thể có Mã số sinh viên là
555-55-5555 là một thể hiện của thực thể (Entity instance)
–Tập hợp tất cả sinh viên là một loại thực thể (Entity set hoặc Entity type)
• Trong mô hình ER:
–Mỗi loại thực thể (Entity type) có một tên, thường là danh từ
–Trong mô hình E-R, một loại thực thể được biểu diễn bằng hình chữ nhật với tên đặt bên trong
Trang 10Entity Types, Entity Sets, Attributes, keys
• Thuộc tính (Attribute):
–Thuộc tính là những đặc điểm dùng để mô tả thực thể–Ví dụ: thực thể Nhân viên có các thuộc tính Tên, Ngày sinh, Địa chỉ, Lương, …
–Trong mô hình E-R: thuộc tính được biểu diễn bằng
hình ellipse và kết nối với thực thể bởi đường thẳng.
–Đối với mỗi thực thể, mỗi thuộc tính có một giá trị xác định
Sex SSN
Trang 11Entity Types, Entity Sets, Attributes, keys
• Loại thuộc tính (Types of Attributes)
–Thuộc tính đơn (Simple Attribute): là những thuộc tính
không thể chia nhỏ hơn
Ellips nét đơn.
–Thuộc tính kết hợp (Composite Attribute): Là những
thuộc tính có thể chia thành những thuộc tính nhỏ hơn
• Ví dụ: Họ tên có thể chia nhỏ hơn là Họ, lót, Tên.
Employee
Last Middle
Name
First
Trang 12Entity Types, Entity Sets, Attributes, keys
–Thuộc tính đơn trị (Single-Valued Attributes): chỉ có
một giá trị cho mỗi thể hiện của thực thể
–Thuộc tính đa trị (Multi-Valued Attributes): có nhiều giá
trị cho mỗi thể hiện của thực thể
• Trong mô hình E-R thuộc tính đa trị được biểu diễn bằng hình ellipse nét đôi.
Employee
Language CollegeDegree
Trang 13Entity Types, Entity Sets, Attributes, keys
–Thuộc tính khóa (Key Attribute): Thuộc tính khóa là
một thuộc tính đơn hoặc thuộc tính kết hợp mà nó dùng để xác định một thể hiện duy nhất trong một tập thực thể
• Ví dụ: Loại thực thể Nhân viên, thuộc tính MaNV là thuộc tính khóa.
Employee
Age EmployeeID
Trang 14Entity Types, Entity Sets, Attributes, keys
–Thuộc tính lưu trữ (Stored Attributes): Thuộc tính
không được suy diển từ những thuộc tính khác.
–Thuộc tính suy diễn (Derived Attributes): Thuộc tính
mà giá trị của nó được suy ra từ những thuộc tính khác
hình ellpse nét đứt quãng.
Employee
Age BirthDate
Trang 15Entity Types, Entity Sets, Attributes, keys
• Thuộc tính khóa kết hợp (Composite key): là tập các
thuộc tính mà khi kết hợp lại sẽ xác định một thể hiện duy nhất của thực thể
City
State Name
Trang 16Relationships, Relationship Types
• Mối quan hệ (Relationship): là sự kết hợp giữa nhiều loại thực thể.
–Thể hiện của quan hệ (Relationship instance): là sự
kết hợp giữa một thể hiện của thực thể này với một thể hiện của thực thể khác
Williams có một account 523, sự kết hợp của một thể hiện của CUSTOMER Williams và một thể hiện của ACCOUNT
523 gọi là Relationship instance
–Tập hợp mối quan hệ (Relationship set hoặc Relationship type): là một nhóm các thể hiện của các
quan hệ, là mối quan hệ giữa các entity types
Trang 17Relationships, Relationship Types
• Trong mô hình ER, mối quan hệ được biểu diễn bằng hình thoi
Trang 18Relationships, Relationship Types
Trang 19Relationships, Relationship Types
• Bậc của quan hệ (Degree of a Relationship): Số loại thực thể (Entity type) tham gia vào mối quan hệ.
Ví dụ: bậc của quan hệ giữa CUSTOMER và ACCOUNT là 2
Trang 20Relationships, Relationship Types
• Cho E1, E2, ., En là n tập thực thể, R là mối quan hệ giữa các tập thực thể Bậc của quan hệ được xác định như sau:
–Unary Relationship R (quan hệ một ngôi): là sự kết
hợp giữa 2 thể hiệc của cùng một loại thực thể (R ∈E1 × E1)
–Binary Relationship R (quan hệ nhị phân): là sự kết
hợp giữa hai thể hiện của hai tập thực thể khác nhau (R E1 × E2).∈
–Ternary Relationship R là sự kết hợp giữa ba thể
hiện của ba tập thực thể khác nhau (R E1 × E2 × ∈
Trang 21Relationships, Relationship Types
• Cardinality of a Relationship: biểu diễn số tối đa hoặc số tối thiểu của các thể hiện của thực thể
B kết hợp với một thể hiện của thực thể A Có 4 loại quan hệ giữa hai loại thực thể A và B.
–One-to-One Relationship: tối đa một thể hiện của
loại thực thể B kết hợp với một thể hiện của loại thực thể B và ngược lại
Trang 22Relationships, Relationship Types
–One-to-Many Relationship: nhiều thể hiện của loại
thực thể B kết hợp với một thể hiện của loại thực thể
A và chỉ một thể hiện của loại thực thể A kết hợp với một thể hiện của loại thực thể B
–Many-to-Many Relationship: Nhiều thể hiện của loại
thực thể A có thể kết hợp với nhiều thể hiện của loại thực thể B và ngược lại
Trang 23Relationships, Relationship Types
• Cách biểu diễn loại quan hệ dựa trên lượng số nhỏ nhất (cardinality) giữa hai loại thực thể A và B: là số nhỏ nhất của các thể hiện của loại thực thể A kết hợp với mỗi thể hiện của loại thực thể
Trang 24Relationships, Relationship Types
–Tham gia tùy chọn được biểu diễn là “O”, tham gia bắt buộc được biểu diễn là “|”
Trang 26Relationships, Relationship Types
Trang 27Relationships, Relationship Types
–Loại quan hệ 1-n: Ví dụ: Quan hệ 1 ngôi giữa một thể
hiện của loại thực thể Employee là Supervises cho
Trang 28Relationships, Relationship Types
• Binary Relationship: là sự kết hệp giữa hai loại loại thực thể khác nhau.
–One-to-one relationship: ví dụ, Một EMPLOYEE có
thể làm việc tại nhiều nhất là một DEPARTMENT
• Mỗi DEPARTMENT được quản lý bởi nhiều nhất là một EMPLOYEE Lượng số tối thiểu xác định mỗi department được quản lý bởi 1 nhân viên chứ không phải tất cả nhân viên quản lý departments.
Trang 29Relationships, Relationship Types
–One-to-many relationships: Ví dụ, một CUSTOMER
có thể có nhiều ORDERS, một ORDERS chỉ thuộc chính xác một CUSTOMER
Trang 30Relationships, Relationship Types
Trang 31Relationships, Relationship Types
–Many-to-many relationship: Ví dụ, một Student có
thể đăng ký nhiều Courses, ngược lại một Course có thể được đăng ký bởi nhiều Students
Trang 32Relationships, Relationship Types
Trang 33Relationships, Relationship Types
• Ternary Relationships: là mối quan hệ giữa các thể hiện của ba loại thực thể khác nhau.
–Mỗi thể hiện của quan hệ ternary yêu cầu sự tham gia của một trong 3 thể hiện của 3 loại thực thể tham gia
Trang 34Relationships, Relationship Types
Trang 35Relationships, Relationship Types
• Thuộc tính của mối quan hệ (Attributes of Relationships):
–Thuộc tính được xác định bởi sự kết hơp của các thực thể trong một thể hiện của mối quan hệ
Trang 36Relationships, Relationship Types
• Thực thể kết hợp: là một loại thực thể mà nó liên kết với các thể hiện của một hoặc nhiều loại thực thể và chứa các thuộc tính tham gia của sự kết hợp này.
• Thực thể kết hợp là một quan hệ mà nó sẽ trở thành một thực thể khi thuộc một trong các trường hợp sau:
–Là mối quan hệ many-to-many nhị phân
–Là quan hệ ternary hoặc các quan hệ có bậc cao hơn
Trang 37Relationships, Relationship Types
• Example:
Trang 38Relationships, Relationship Types
Trang 39Relationships, Relationship Types
• Thực thể yếu (Weak Entity Types): là loại thực thể không có thuộc tính khóa Ngược lại, thực thể có thuộc tính khóa gọi là thực thể mạnh
(strong entity types).
–Thực thể mạnh tồn tại độc lập với các loại thực thể khác, trong khi thực thể yếu phụ thuộc vào loại thực thể khác
–Trong mô hình E-R, thực thể yếu được biểu diễn bằng hình chữ nhật nét đôi, tương ứng, mối quan hệ của thực thể yếu với thực thể chủ được biểu diễn bằng hình thoi nét đôi
Trang 40Relationships, Relationship Types
• Ví dụ: quan hệ của Student và Dependent
Trang 41Mô hình ER của CSDL COMPANY
• Specify the following relationship types:
– MANAGES, a 1:1 relationship type between EMPLOYEE and DEPARTMENT EMPLOYEE participation is partial DEPARTMENT participation is not clear from the requirements We question the users, who say that a department must have a manager at all times, which implies total participation The attribute StartDate is assigned to this relationship type
– WORKS_FOR, a 1:N relationship type between DEPARTMENT and EMPLOYEE Both participations are total
– CONTROLS, a 1:N relationship type between DEPARTMENT and PROJECT The participation of PROJECT is total, whereas that of DEPARTMENT is determined to be partial, after consultation with the users
Trang 42Mô hình ER của CSDL COMPANY
EMPLOYEE (in the supervisor role) and EMPLOYEE (in the supervisee role) Both participations are determined to be partial, after the users indicate that not every employee is a supervisor and not every employee has a supervisor
with attribute Hours, after the users indicate that a project can have several employees working on it Both participations are determined to be total
EMPLOYEE and DEPENDENT, which is also the identifying relationship for the weak entity type DEPENDENT The
Trang 43Review Questions
1 Define the following terms: entity, attribute,
attribute value, relationship instance, composite attribute, multivalued attribute, derived attribute, complex attribute, key attribute, value set (domain)
2 What is an entity type? What is an entity set?
Explain the differences among an entity, an entity type, and an entity set
3 Explain the difference between an attribute
and a value set
Trang 44Review Questions
4 What is a relationship type? Explain the
differences among a relationship instance, a relationship type, and a relationship set.
5 When is the concept of a weak entity used in
data modeling? Define the terms owner entity type, weak entity type, identifying relationship type, and partial key
6 Can an identifying relationship of a weak entity
type be of a degree greater than two? Give examples to illustrate your answer
Trang 45Exercises
university database that is used to keep track of students’ transcripts This is similar but not identical
to the database
1.The university keeps track of each student’s name, student number, social security number, current address and phone, permanent address and phone, birthdate, sex, class, major department, minor department, and degree program (B.A., B.S., , Ph.D.) Some user applications need to refer to the city, state, and zip code
of the student’s permanent address and to the student’s last name Both social security number and student number have unique values for each student
Trang 46Exercises
2 Each department is described by a name, department code, office number, office phone, and college Both name and code have unique values for each department
3 Each course has a course name, description, course number, number of semester hours, level, and offering department The value of course number is unique for each course
4 Each section has an instructor, semester, year, course, and section number The section number distinguishes sections
of the same course that are taught during the same semester/year; its values are 1, 2, 3, , up to the number of sections taught during each semester
5 A grade report has a student, section, letter grade, and