Cơ sở dữ liệu

Chia sẻ bởi Nguyễn Thành Nghĩa | Ngày 29/04/2019 | 219

Chia sẻ tài liệu: Cơ sở dữ liệu thuộc Bài giảng khác

Nội dung tài 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

Mô 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ệu
Giú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ệu
Hệ 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ể - Entity
Thự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 Type
Kiể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ác
Thực thể yếu ( weak entity type): tồn tại phụ thuộc vào kiểu thực thể khác
Ví 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ể
EMPLOYEE
DEPENDENT
Thực thể mạnh
Thực thể yếu
Ví dụ thực thể mạnh/yếu
EMPLOYEE
DEPENDENT
Has
Employee_ID
Employee_Name
Dependent_Name
BirthDate
Kiểu thực thể và đầu vào/ra của hệ thống
Thườ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à expense
Kiểu thực thể và đầu vào/ra của hệ thống
TREASURER
EXPENSE
REPORT
ACCOUNT
EXPENSE
Manages
Gives_to
Summaries
Has
Kiểu thực thể và đầu vào/ra của hệ thống
Có 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 entity
Mộ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ống
EXPENSE 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ác

Kiểu thực thể và đầu vào/ra của hệ thống
Lược đồ ER đúng để thể hiện hệ thống chi tiêu là:

ACCOUNT
EXPENSE
Has
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,…

Cá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
Cá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ể STUDENT
Cá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
Cách đặt tên và ký hiệu
Mỗ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_ID
Thuộc tính xác định
Thuộc tính dẫn xuất
Years_Employed
Thuộc tính đa trị
Mối liên kết - Relationship
Mố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ụ





STUDENT
COURSE
Completes
Thuộ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)

Bậc và các kiểu liên kết
Bậ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ết
Liên kết 1 ngôi
Liên kết 2 ngôi
Liên kết 3 ngôi
Liên kết một ngôi
Unary relationship
Là 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ụ:


Liên kết hai ngôi
Binary relationship
Là mối liên kết giữa hai kiểu thực thể

STUDENT
COURSE
Registers for
Liên kết ba ngôi
Ternary relationship
Là mối liên kết giữa 3 kiểu thực thể

PART
VENDOR
WAREHOUSE
Supplies
Shipping mode
Unit cost
Lượng số của mối liên kết - 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 thực thể A
Lượng số tối đa (maximum cardinality)
Lượng số của mối liên kết - 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:
Liên kết 1-1
Liên kết 1-n
Liên kết n-n

Ký hiệu của lượng số
Nhiệm ý: ký hiệu là O
Bắt buộc: ký hiệu là ||
Nhiều

Ví dụ mối liên kết
EMPLOYEE
PROJECT
Is_assigned_to
Rose
Peter
Tom
Heidi
PROJECT1
PROJECT2
PROJECT3
Ví dụ lượng số nhiệm ý trong mối liên kết nhiều nhiều
Contains
Item_No
Name
Unit Cost
Quantity
ITEM
Dữ 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 gian
Product_ID
Price
Price_History
PRODUCT
Effective_Date
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
COURSE
CERTIFICATE
Certificate_ID
Completed Date
Kiểu thực thể kết hợp
Associative entity type
Bốn điều kiện để chuyển đổi mối liên kết thành kiểu thực thể kết hợp
Là mối liên kết nhiều – nhiều
Có thuộc tính xác định riêng
Có thêm vài thuộc tính khác
Kiể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ơ đồ ER


Ràng buộc lượng số của liên kết ba ngôi
Trường hợp liên kết 1-1-1
Xé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ôi
Trường hợp liên kết 1-1-1
ENGINEER
CASEBOOK
PROJECT
Quá trình thiết kế mô hình dữ liệu ý niệm
Bướ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ết
Bướ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ết
Bướ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 con
Bước 6: Vẽ sơ đồ ER

Homework
Xem ứng dụng mẫu trang 67 của giáo trình
LÀm tất cả bài tập chương 3 giáo trình
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Thành Nghĩa
Dung lượng: | Lượt tài: 5
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)