Consider the following set of requirements for a university database that is used to keep track of students’ transcripts. This is similar but not identical to the database
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.
46 trang |
Chia sẻ: vutrong32 | Lượt xem: 8030 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 2: Mô hình thực thể kết hợp (Entity relationship model -ER), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2: MÔ HÌNH THỰC THỂ KẾT HỢP (Entity Relationship Model -ER)Giới thiệuMô 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àngMô 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ể.Các bước thiết kế một CSDLBước 1: Tập trung và phân tích các yêu cầu của người dùngBước 2: Tạo lược đồ khái niệm cho CSDL bằng cách sử dụng mô hình dữ liệu khái niệm mức cao (high-level conceptual data model).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.Các bước thiết kế một CSDLBướ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 thựcCác bước thiết kế một CSDLVí dụ CSDL CompanyCá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.Ví dụ CSDL CompanyMỗi nhân viên (EMPLOYEE) có Mã nhân viên, địa chỉ, phái, lương, ngày sinhMỗi nhân viên làm việc cho một bộ phận nhưng có thể tham gia nhiều dự án,trong cơ sở dữ liệu cần lưu thông tin số giờ của mỗi nhân viên làm việc trên mỗi dự á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.Entity Types, Entity Sets, Attributes, keysMô 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ể.Entity Types, Entity Sets, Attributes, keysVí 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.Entity Types, Entity Sets, Attributes, keysThuộ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.EmployeeSexSSNEntity Types, Entity Sets, Attributes, keysLoạ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. Ví dụ: Phái, SoCMTrong mô hình ER, thuộc tính đơn được biểu diễn bằng hình 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.EmployeeLastMiddleNameFirstEntity Types, Entity Sets, Attributes, keysThuộ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.EmployeeLanguageCollegeDegreeEntity Types, Entity Sets, Attributes, keysThuộ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.Trong mô hình ER, thuộc tính khóa được gạch dướiEmployeeAgeEmployeeIDEntity Types, Entity Sets, Attributes, keysThuộ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.Trong mô hình ER, thuộc tính suy diễn được biểu diển bằng hình ellpse nét đứt quãng.EmployeeAgeBirthDateEntity Types, Entity Sets, Attributes, keysThuộ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ể.CityStateNameRelationships, Relationship TypesMố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.Ví dụ: Sự kết hợp của CUSTOMERS và BANK, khách hàng 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 instanceTậ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.Relationships, Relationship TypesTrong mô hình ER, mối quan hệ được biểu diễn bằng hình thoiRelationships, Relationship TypesRelationships, Relationship TypesBậ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à 2Relationships, Relationship TypesCho 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 × E3).Relationships, Relationship TypesCardinality 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.Relationships, Relationship TypesOne-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.Relationships, Relationship TypesCá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ể A.Trong mô hình ER, lượng số nhỏ nhất có hai giá trịn 0 và 1.Nếu lượng số là 0 thì loại thực thể B là một tham gia tùy chọn vào mối quan hệ, ngược lại, nếu là 1 thì là tham gia bắt buộc.Relationships, Relationship TypesTham gia tùy chọn được biểu diễn là “O”, tham gia bắt buộc được biểu diễn là “|”Relationships, Relationship TypesUnary Relationship Loại quan hệ 1-1: là quan hệ giữa 2 thực thể thuộc cùng một loại thực thể.Ví dụ: Quan hệ IsMarriedTo giữa hai người trong loại thực thể PERSON.Relationships, Relationship TypesRelationships, Relationship TypesLoạ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 những Employee khác. Đây là quan hệ 1-n. Một nhân viên có thể là giám sát nhiều nhân viên khác.Lượng số tối thiểu của người giám sát là 0, nhưng lượng số tối thiễu của người được giám sát là 1Relationships, Relationship TypesBinary 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.Relationships, Relationship TypesOne-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 Relationships, Relationship TypesRelationships, Relationship TypesMany-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 StudentsRelationships, Relationship TypesRelationships, Relationship TypesTernary 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.Relationships, Relationship TypesRelationships, Relationship TypesThuộ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ệ.Relationships, Relationship TypesThự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ânLà quan hệ ternary hoặc các quan hệ có bậc cao hơn.Relationships, Relationship TypesExample: Relationships, Relationship TypesRelationships, Relationship TypesThự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.Relationships, Relationship TypesVí dụ: quan hệ của Student và DependentMô hình ER của CSDL COMPANYSpecify 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. Mô hình ER của CSDL COMPANYSUPERVISION, a 1:N relationship type between 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. WORKS_ON, determined to be an M:N relationship type with attribute Hours, after the users indicate that a project can have several employees working on it. Both participations are determined to be total. DEPENDENTS_OF, a 1:N relationship type between EMPLOYEE and DEPENDENT, which is also the identifying relationship for the weak entity type DEPENDENT. The participation of EMPLOYEE is partial, whereas that of DEPENDENT is total. Review Questions Define the following terms: entity, attribute, attribute value, relationship instance, composite attribute, multivalued attribute, derived attribute, complex attribute, key attribute, value set (domain). What is an entity type? What is an entity set? Explain the differences among an entity, an entity type, and an entity set. Explain the difference between an attribute and a value setReview Questions What is a relationship type? Explain the differences among a relationship instance, a relationship type, and a relationship set.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. Can an identifying relationship of a weak entity type be of a degree greater than two? Give examples to illustrate your answer. Exercises Consider the following set of requirements for a university database that is used to keep track of students’ transcripts. This is similar but not identical to the database 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. Exercises 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. 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. 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. A grade report has a student, section, letter grade, and numeric grade (0, 1, 2, 3, or 4).
Các file đính kèm theo tài liệu này:
- chuong2_3263.pptx