Bài giảng Cơ sở dũ liệu - Chương 2: Mô hình liên kết - thực thể
Nội dung
Mô hình liên kết thực thể
Sơ đồ ER
Thực thể và kiểu thực thể
Thuộc tính
Mối liên kết
Kiểu thực thể kết hợp
Quá trình thiết kế mô hình dữ liệu ý niệm
Chương 2Mô hình liên kết – thực thểNội dungMô hình liên kết thực thểSơ đồ ERThực thể và kiểu thực thểThuộc tínhMối liên kếtKiểu thực thể kết hợpQuá trình thiết kế mô hình dữ liệu ý niệmMô hình liên kết – thực thể (Entity Relationship Model – ER Model)Mô hình ER được dùng để xây dựng mô hình dữ liệu ý niệm (Conceptual data modeling)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 thi công database.Tầm quan trọng của mô hình hóa dữ liệuGiúp thâu tóm các đặc tính dữ liệu, nắm bắt quy tắc nghiệp vụ (business rule) và các ràng buộc (constraint) trong quá trình mô hình hóa dữ liệu Thu thập dữ liệuHệ thống được thiết kế theo hướng dữ liệu (data-oriented) sẽ ổn định hơn hướng xử lý dữ liệu (process oriented)Sơ đồ liên kết – thưc thểMô hình ER được diễn tả bằng sơ đồ liên kết thực thể (entity relationship diagram - ERD)Ba phần tử cơ bản:kiểu thực thể (entity Type)Quan hệ (Relationship)Các thuộc tính (Attribute)Thực thể - EntityThực thể là đối tượng chính mà ta thu thập thông tin xoay quanh chúng. Thực thể có thể là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ư mua hàng, trả lương,..Một khái niệm như môn học, tài khoản,kiểu thưc thể - Entity TypeKiểu thực thể: là một tập hợp các thực thể có cùng tính chất. kiểu thực thề được biểu diễn bằng hình chữ nhật.Thể hiện (instance) của một kiểu thực thể là một trường hợp cụ thể của kiểu thực thể đó. Ví dụ: kiểu thực thể Customer có các điển hình là Tom và Peter. Mỗi Customer đều có mã khách khác nhau, và có thể thực hiện các dịch vụ như đặt hàng, thanh toán tiền .Các kiểu thực thểThực thể mạnh ( strong entity type): tồn tại độc lập với những kiểu thực thể khácThực thể yếu ( weak entity type): tồn tại phụ thuộc vào kiểu thực thể khácVí dụ: EMPLOYEE là kiểu thực thể mạnh. DEPENDENT là kiểu thực thể yếu, lệ thuộc vào EMPLOYEE.Cá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ừ số ít và viết chữ hoa. Ký hiệu của các kiểu thực thểEMPLOYEEDEPENDENTThực thể mạnhThực thể yếuVí dụ thực thể mạnh/yếuEMPLOYEEDEPENDENTHasEmployee_IDEmployee_NameDependent_NameBirthDateKiểu thực thể và đầu vào/ra của hệ thốngThường nhầm lẫn giữa thực thể dữ liệu (data entity) của lược đồ ER với các thành phần khác trong DFD (data flow diagram)Ví dụ: xét hệ thống chi tiêu của 1 trường cao đẳng. Người thủ quỹ (treasurer) quản lý tài chính, nhận các báo cáo chi tiêu, ghi lại các giao dịch. Treasurer là 1 kiểu thực thể??Manages và gives là các quan hệ giữa treasurer với account và expenseKiểu thực thể và đầu vào/ra của hệ thốngTREASUREREXPENSEREPORTACCOUNTEXPENSEManagesGives_toSummariesHasKiểu thực thể và đầu vào/ra của hệ thốngCó cần theo dõi dữ liệu về Treasurer?Treasurer là người nhập dữ liệu về tài chính, các khoản chi tiêu và nhận báo cáo là user của CSDL. Chỉ có 1 treasurer duy nhất dữ liệu về treasurer không cần theo dõi.Treasurer không phải là 1 data entityMột thực thể thực sự thì sẽ phải có nhiều instance Kiểu thực thể và đầu vào/ra của hệ thốngEXPENSE REPORT có phải là 1 kiểu thực thể không?Vì báo cáo được tạo ra từ các giao dịch (transaction) và cân đối tài khoản ( account balance) được rút trích dữ liệu từ database EXPENSE REPORT không phải là 1 kiểu thực thể tuy có nhiều instance nhưng được tính toán từ 2 thực thể khácKiểu thực thể và đầu vào/ra của hệ thốngLược đồ ER đúng để thể hiện hệ thống chi tiêu là:ACCOUNTEXPENSEHasThuộc tính - attributeMỗ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,Các kiểu thuộc tínhThuộ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ầnVí dụ: Thuộc tính Address bao gồm các thành phần Street, District, CityCá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ô.Các kiểu thuộc tính (tt)Thuộc tính xác định ( identifier attribute): 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 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ể STUDENTCá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ácVí dụ: Year_Employed là thuộc tính dẫn xuất từ thuộc tính Date_EmployedCách đặt tên và ký hiệuMỗi thuộc tính nên được biểu diễn là danh từ số ít và viết chữ thường. Ký hiệu của các kiểu thuộc tính:Student_IDTeacherThuộc tính xác địnhThuộc tính dẫn xuấtYears_EmployedThuộc tính đa trịMối liên kết - RelationshipMối liên kết (relationship) diễn tả sự kết hợp giữa một hay nhiều kiểu thực thể với nhau. Kiểu liên kết ( relationship type) là một sự kết hợp có ý nghĩa giữa các kiểu thực thểMột thể hiện (instance) của một kiểu liên kết là một sự kết hợp giữa các thể hiện của các kiểu thực thể tham gia vào mối liên kết đóVí dụSTUDENTCOURSECompletesThuộc tính Date_Completed nên đặt ở đâu trong lược đồ trên? Là 1 thuộc tính của mối liên kết Completed (thích hợp hơn là thuộc tính của 2 thực thể STUDENT và COURSE)Date_CompletedBậc và các kiểu liên kếtBậc của mối liên kết: là số kiểu thực thể tham gia vào mối liên kết Các kiểu liên kếtLiên kết 1 ngôiLiên kết 2 ngôiLiên kết 3 ngôiLiên kết một ngôi Unary relationshipLà mối liên kết giữa các thể hiện của cùng một kiểu thực thểCòn gọi là mối liên kết đệ quy (recursive relationship)Ví dụ: EMPLOYEEManagesLiên kết hai ngôiBinary relationshipLà mối liên kết giữa hai kiểu thực thểSTUDENTCOURSERegisters forLiên kết ba ngôiTernary relationshipLà mối liên kết giữa 3 kiểu thực thểPARTVENDORWAREHOUSESuppliesShipping modeUnit costLượng số của mối liên kết - CardinalityLượ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ể ALượ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 thực thể ALượng số tối đa (maximum cardinality)Lượng số của mối liên kết - CardinalityNế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:Liên kết 1-1Liên kết 1-nLiên kết n-nKý hiệu của lượng sốNhiệm ý: ký hiệu là OBắt buộc: ký hiệu là ||Nhiều Ví dụ mối liên kếtEMPLOYEEPROJECTIs_assigned_toRosePeterTomHeidiPROJECT1PROJECT2PROJECT3Ví dụ lượng số nhiệm ý trong mối liên kết nhiều nhiềuContainsItem_NoNameUnit CostQuantityITEMDữ liệu phụ thuộc thời gian (Modeling Time-dependent Data)Đơn giá (Unit price) là 1 trong những thuộc tính của sản phẩm (Product)Nếu chỉ quan tâm đến giá cả hiện thời thì Price là 1 thuộc tính đơn trịNếu giá cả ảnh hưởng đến kế toán, hóa đơn, thì cần biết 1 chuỗi giá cả kèm theo ngày giờ bị ảnh hưởng bởi giá cả đó Price là 1 thuộc tính đa trịDữ liệu phụ thuộc thời gianProduct_IDPricePrice_HistoryPRODUCTEffective_DateKiểu thực thể kết hợpAssociative entity typeLà 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àySTUDENTCOURSECERTIFICATECertificate_IDCompleted DateKiểu thực thể kết hợpAssociative entity typeBốn điều kiện để chuyển đổi mối liên kết thành kiểu thực thể kết hợpLà mối liên kết nhiều – nhiềuCó thuộc tính xác định riêngCó thêm vài thuộc tính khácKiểu thực thể kết hợp sẽ tham gia vào 1 số mối liên kết khác trong sơ đồ ERRàng buộc lượng số của liên kết ba ngôiTrường hợp liên kết 1-1-1Xét quy tắc nghiệp vụ (business rule) sau:“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 nhiều đề án khác nhau”Ràng buộc lượng số của liên kết ba ngôiTrường hợp liên kết 1-1-1ENGINEERCASEBOOKPROJECTQuá trình thiết kế mô hình dữ liệu ý niệmBước 1: Nhận dạng các kiểu thực thểBước 2: Nhận dạng các kiểu liên kếtBước 3: Nhận dạng các thuộc tính của các kiểu thực thể và các mối liên kếtBước 4: Nhận dạng thuộc tính xác định cho mỗi kiểu thực thểBước 5: Nhận dạng các cấu trúc siêu kiểu/ kiểu conBước 6: Vẽ sơ đồ ERHomeworkXem ứng dụng mẫu trang 67 của giáo trìnhLÀm tất cả bài tập chương 3 giáo trình
File đính kèm:
- Chuong 2.ppt