500 likes | 762 Views
BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN. MÔ HÌNH HÓA DỮ LIỆU. Chương 4. 4.1. Khái niệm.
E N D
BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN MÔ HÌNH HÓA DỮ LIỆU Chương 4.
4.1. Khái niệm • - Mô hình hoá dữ liệu (mô hình hoá CSDL, mô hình hoá thông tin) là kỹ thuật tổ chức và tư liệu hoá dữ liệu của hệ thống trong một mô hình. • + Xác định các yêu cầu nghiệp vụ đối với một CSDL • - Biểu đồ thực thể quan hệ (Entity Relationship Diagram – ERD) mô tả dữ liệu dựa trên các thực thể và quan hệ.
4.2. Biểu đồ thực thể quan hệ • - ERD là mô hình khái niệm của thực thể, các thuộc tính và mỗi quan hệ giữa chúng trong một hệ thống thông tin. (Phân tích) • - Mô hình dữ liệu quan hệ(RDM): là bản thiết kể để cài đặt ERD trong môi trường CSDL quan hệ. (Thiết kế) • Ví dụ: MS Access Relationship Window là biểu đồ mô tả cách cài đặt mô hình dữ liệu trong Microsoft Access (Cài đặt)
4.2. Biểu đồ thực thể quan hệ • 4.2.1 Vai trò của biểu đồ thực thể quan hệ • - CSDL = dữ liệu + quan hệ • - ERD là một biểu diễn đồ hoạ của mô hình dữ liệu khái niệm. • - ERD được sử dụng để mô hình hoá dữ liệu và quan hệ giữa chúng. • - ERD có tính chất độc lập tài nguyên.
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Thực thể • - Thực thể là một nhóm các thuộc tính tương ứng với một đối tượng khái niệm mà ta cần phải lưu giữ thông tin về nó. • + Đối tượng, người, nơi chốn, sự kiện … mà sự tồn tại của chúng không phụ thuộc vào những thực thể khác. • - Thực thể là một tập các thể hiện của đối tượng. • - Thể hiện là một thực thể cụ thể.
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Thực thể • - Thực thể phải có tên duy nhất (danh từ), dấu hiệu xác định duy nhất (ID), và ít nhất một thuộc tính. • - Thực thể được ký hiệu bởi một hình chữ nhật • - Tương đương với một bảng CSDL
Thuộc tính Thực thể Thể hiện 4.2. Biểu đồ thực thể quan hệ • * Ví dụ thực thể
CUSTOMER - Customer_ID - Cust_Name - Cust_Address - Cust_Phone 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Thuộc tính • - Thuộc tính là tính chất hoặc đặc điểm của thực thể • + Kiểu dữ liệu (Data type) • + Phạm vi ( Miền giá trị - Domain) • - Có 3 thuộc tính chính: • + Thuộc tính khóa (khóa chính) • + Thuộc tính mô tả • + Thuộc tính kết nối (khóa ngoại)
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Quan hệ • - Quan hệ thể hiện một liên kết giữa một, hai, hoặc nhiều thực thể • - Quan hệ phải có tên
Quan hệ 1-1 1 1 LAI_XE Sở hữu BANG_LAI Quan hệ 1-n 1 n HOC_VIEN Đăng ký MON_HOC 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
Quan hệ n-1 n 1 HOC_VIEN Đăng ký MON_HOC Quan hệ n-n n n HOC_VIEN Đăng ký MON_HOC 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Quan hệ • - Số lượng các thể hiện của một thực thể có thể có quan hệ với một thể hiện của thực thể khác trong một quan hệ gọi là bản số • + Số nhỏ nhất – Số lớn nhất • + Quy tắc nghiệp vụ
(0,E) (1,S) Employee Possess Skill (1,E) (0,P) Employee Belong Project 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ • * Quan hệ • - Bậc của quan hệ xác định số lượng thực thể tham gia vào một quan hệ • + Một ngôi ( đệ quy) • + Hai ngôi (nhị phân) • + Ba ngôi (tam phân)
N TOWN -TownID -Town_Name TRAVEL Distance M EMPLOYEE - Emp_ID - Emp_Name - Emp_Title PROJECT - Project_ID - Proj_Name - Proj_Due Manage Date M N 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
EMPLOYEE - EmpID - Emp_Name - Emp_Title PROJECT - ProjectID - Proj_Name - Proj_Due Assign Date N M P TASK - TaskID - TaskName 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
MÔN HỌC • Mã MH • Tên MH GIẢNG VIÊN • Mã GV • Tên GV TKB Giờ BD Số tiết NGÀY • Mã ngày PHÒNG • Mã phòng • Tên phòng LỚP Mã lớp Tên lớp 4.2. Biểu đồ thực thể quan hệ • 4.2.2 Các phần tử của biểu đồ thực thể quan hệ
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Xây dựng biểu đồ thực thể quan hệ • * Các bước mô hình hóa dữ liệu logic • Mô hình dữ liệu ngữ cảnh • Thiết lập phạm vi dự án • Mô hình dữ liệu dựa khoá (key-base) • Loại trừ các quan hệ không xác định • Bổ sung các thực thể quan hệ • Bổ sung các khoá chính và khoá dự phòng • Xác định các thuộc tính khoá ứng cử • Mô hình dữ liệu có thuộc tính đầy đủ • Xác định các thuộc tính • Thiết lập các tiêu chuẩn cho thuộc tính • Chuẩn hoá mô hình dữ liệu
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Xây dựng biểu đồ thực thể quan hệ • * Trình tự xây dựng ERD • -Xác định các thực thể cần thiết • - Xác định các thuộc tính • - Gán thuộc tính cho thực thể • - Xác định bậc quan hệ giữa các thực thể • - Xác định bản số • - Xây dựng mô hình
4.2. Biểu đồ thực thể quan hệ • 4.2.2 Xây dựng biểu đồ thực thể quan hệ • * Quy tắc xây dựng ERD • -Mỗi thực thể phải có tên • - Mỗi thực thể phải có dấu hiện nhận biết duy nhất (ID) • - Một thể hiện cụ thể của thực thể không phải là thực thể • - Mối quan hệ phải có tên • - Bản số phải hợp lý
BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN MÔ HÌNH HÓA DỮ LIỆU Chương 4.
4.3.Mô hình dữ liệu quan hệ • - Relational Data Model- RDM • - Là công cụ tiếp theo sau ERD -> xác định danh sách các thuộc tính • -Xây dựng RDM gồm 3 bước: • Xác định các thuộc tính cần thiết • Chuẩn hóa các thực thể • Xác định mối quan hệ giữa các thực thể
4.3.Mô hình dữ liệu quan hệ • 4.3.1 Xác định thuộc tính: Căn cứ vào • - Hiểu biết về hệ thống • - Phỏng vấn, trao đổi • - Báo cáo, biểu mẫu
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: Tổ chức các thuộc tính dữ liệu • - Không lặp lại, trừ thuộc tính khóa • - Các thuộc tính là kết quả tính toán • - Không có các thực thể có vai trò giống nhau
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Phụ thuộc hàm • - Đơn trị • - Đa trị • Thuộc tính trong thực thể phải phụ thuộc hàm vào khóa • Quá trình chuẩn hóa dựa vào phụ thuộc hàm
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Chuẩn hóa dạng 1 (1NF) • - Loại bỏ lặp và dư thừa dữ liệu • * Chuẩn hóa dạng 2 (2NF) • - Loại bỏ các phụ thuộc hàm không hoàn toàn vào khóa chính • * Chuẩn hóa dạng 3 (3NF) • - Loại bỏ phụ thuộc hàm bắc cầu vào khóa chính • * Kết hợp các tập thực thể chung • - Có thể chuẩn hóa lại
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Ví dụ 1:
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Ví dụ 1:
4.3 Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Ví dụ 1: - Đơn hàng bán (Số hiệu đơn hàng, Mã số khách hàng, Ngày đặt hàng) - Khách hàng (Mã số khách hàng, Tên khách hàng, Địa chỉ khách hàng) - Dòng đơn hàng (Số hiệu đơn hàng, Mã số mặt hàng, Số lượng, Đơn giá) - Mặt hàng (Mã số mặt hàng, Tên mặt hàng)
4.3. Mô hình dữ liệu quan hệ • 4.3.2 Chuẩn hóa: • * Ví dụ 2: • Yêu cầu: thiết kế CSDL quản lí cửa hàng thuốc cần các thông tin sau: • DB (Mã hóa đơn, Ngày bán, Tổng tiền Hóa đơn, Mã khách hàng, Tên Khách hàng, Số ĐT Khách hàng, Mã Nhân viên, Số CMT của NV, Tên NV, Địa chỉ NV, Số ĐT Nhân viên (Mã thuốc, Tên thuốc, Công dụng, Ngày SX, Hạn SD, Số lượng, Thành tiền)).
Ví dụ: • * Các phụ thuộc hàm • Đơn trị: Mã hóa đơn, Mã khách hàng, Mã Nhân viên, Số CMT của NV. • Đa trị: Mã hóa đơn
Ví dụ: • * Chuẩn hóa dạng 1 Dữ liệu dư thừa: Tổng tiền hóa đơn, Thành tiền • - Hóa đơn (Mã hóa đơn, Ngày bán, Mã khách hàng, Tên Khách hàng, Số ĐT Khách hàng, Mã Nhân viên, Số CMT của NV, Tên NV, Địa chỉ NV, Số ĐT NV) • - Thuốc (Mã hóa đơn, Mã thuốc, Tên thuốc, Công dụng, Ngày SX, Hạn SD, Số lượng)
Ví dụ: • * Chuẩn hóa dạng 2 Thực thể Thuốc được tách làm 2: • - Hóa đơn (Mã hóa đơn, Ngày bán, Mã khách hàng, Tên Khách hàng, Số ĐT Khách hàng, Mã Nhân viên, Số CMT của NV, Tên NV, Địa chỉ NV, Số ĐT NV) • - Hóa đơn_Thuốc (Mã hóa đơn, Mã thuốc, Số lượng) • - Thuốc (Mã thuốc, Tên thuốc, Công dụng, Ngày SX, Hạn SD)
Ví dụ: • * Chuẩn hóa dạng 3 Ở Hóa đơn, ta thấy Tên Khách hàng, Số ĐT Khách hàng chỉ phụ thuộc Mã khách hàng. Số CMT của NV, Tên NV, Địa chỉ NV chỉ phụ thuộc mã nhân viên. Do đó tách thực thể này thành 3: • - Hóa đơn (Mã hóa đơn, Ngày bán, Mã khách hàng, Mã Nhân viên) • - Khách hàng (Mã khách hàng, Tên Khách hàng, Số ĐT Khách hàng) • - Nhân viên (Mã Nhân viên, Số CMT của NV, Tên NV, Địa chỉ NV, Số ĐT NV)
Ví dụ: • * Chuẩn hóa dạng 3 • - Hóa đơn (Mã hóa đơn, Ngày bán, Mã khách hàng, Mã Nhân viên) • - Khách hàng (Mã khách hàng, Tên Khách hàng, Số ĐT Khách hàng) • - Nhân viên (Mã Nhân viên, Số CMT của NV, Tên NV, Địa chỉ NV, Số ĐT NV) • - Hóa đơn_Thuốc (Mã hóa đơn, Mã thuốc, Số lượng) • - Thuốc (Mã thuốc, Tên thuốc, Công dụng, Ngày SX, Hạn SD)
4.3 Mô hình dữ liệu quan hệ • 4.3.3 Xác định các mối quan hệ • * Lập ma trận/bảng thực thể khóa: • * Thiết lập các mối quan hệ
4.3 Mô hình dữ liệu quan hệ • 4.3.4 Xây dựng RDM • - Lập mô hình quan hệ • - Điều chỉnh để có mô hình dữ liệu hoàn chỉnh • - So sánh với ERD • - Thêm/bỏ quan hệ phụ
4.4. Từ điển dữ liệu • - Các bạn sinh viên tự nghiên cứu phần này trong tài liệu. • - Căn cứ vào nội dung và ví dụ về Từ điển dữ liệu, hãy xây dựng từ điển dữ liệu cho các thực thể của 2 ví dụ được trình bày ở phần chuẩn hóa.
Một số mẫu mô hình dữ liệu quan hệ • Ký hiệu • E1, E2, E3 , … : thực thể • a1, a2, a3, …, b1, b2, b3, … : thuộc tính • R: quan hệ • r : biểu diễn một hoặc nhiều thuộc tính được thể hiện trong quan hệ.
E1 - a1 - a2 E1( a1, a2 ) TASK - TaskID - TaskName TASK( TaskID , TaskName ) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 1
1 E1 - a1 - a2 E1( a1, a2 ) R( a1, a1’, r) R r 1 1 INDIVIDUAL - SSN - Name INDIVIDUAL ( SSN , Name) MARRY ( SSN , SSN’, Date) MARRY Date 1 Husband Wife Một số mẫu mô hình dữ liệu quan hệ • Mẫu 2
1 E1 - a1 - a2 E1( a1, a2 ) R( a1’, a1 ) R M 1 INDIVIDUAL - SSN - Name INDIVIDUAL ( SSN , Name) LEAD ( SSN’ , SSN ) LEAD M Member Leader Một số mẫu mô hình dữ liệu quan hệ • Mẫu 3
M E1 - a1 - a2 E1( a1, a2 ) R( a1, a1’, r) R r N M TOWN - TownID - Name TOWN ( TownID , Name) TOUR ( TownID, TownID’ , Date ) Tour Date N Một số mẫu mô hình dữ liệu quan hệ • Mẫu 4
E1( a1, a2 ) E2( b1, b2 , b3 , a1) E1 - a1 - a2 E2 - b1 - b2 - b3 R 1 1 OR E1( a1, a2 , b1 ) E2( b1, b2 , b3 ) PROJECT - ProID - ProName - ProDue EMPLOYEE - EmpID - EmpName 1 1 MANAGE EMPLOYEE(EmpID, EmpName) PROJECT(ProID, ProName, ProDue, EmpID) OR EMPLOYEE(EmpID, EmpName, ProID) PROJECT(ProID, ProName, ProDue ) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 5
E1 - a1 - a2 E2 - b1 - b2 - b3 E1( a1, a2 ) E2( b1, b2 , b3 , a1) R M 1 CUSTOMER - CustID - CustName PURCHASE - PurchID - Item - Quantity 1 M INVOLVE CUSTOMER (CustID, CustName) PURCHASE(PurchID, Item, Quantity, CustID) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 6
E1 - a1 - a2 E2 - b1 - b2 - b3 E1( a1, a2 ) E2( b1, b2 , b3) R( a1, b1, r) R N M r CUSTOMER - CustID - CustName SALESREP - RepID - RepName M N SALE Date CUSTOMER (CustID, CustName) SALESREP (RepID, RepName) SALE(CustID, RepID, Date) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 7
E1 - a1 - a2 E2 - b1 - b2 - b3 R N 1 r P E3 - c1 - c2 - c3 E1( a1, a2 ) E2( b1, b2 , b3) E3( c1, c2 , c3 ) R( b1, c1 , a1, r) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 8
E1 - a1 - a2 E2 - b1 - b2 - b3 R N M r P E3 - c1 - c2 - c3 E1( a1, a2 ) E2( b1, b2 , b3) E3( c1, c2 , c3 ) R(a1, b1, c1 , r) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 9
EMPLOYEE - EmpID - EmpName TASK - TaskID ASSIGN N M Date P PROJECT - ProjectID EMPLOYEE( EmpID, EmpName ) TASK( TaskID) PROJECT( ProjectID) ASSIGN(EmpID, TaskID, ProjectID, Date) Một số mẫu mô hình dữ liệu quan hệ • Mẫu 9 (ví dụ)