Chương 4 Mô hình hóa dữ liệu

-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ệ.

pdf49 trang | Chia sẻ: lylyngoc | Lượt xem: 1698 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chương 4 Mô hình hóa dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 1 Copyright © 2008, VIETHANITVIETHANIT BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN Trang 2 Copyright © 2008, VIETHANITVIETHANIT 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ệ. Trang 3 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 4 Copyright © 2008, VIETHANITVIETHANIT 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. Trang 5 Copyright © 2008, VIETHANITVIETHANIT 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ể. Trang 6 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 7 Copyright © 2008, VIETHANITVIETHANIT 4.2. Biểu đồ thực thể quan hệ * Ví dụ thực thể TimWrench2293 HeatherLeath2837 BillMacy9844 LisaSimmons3843 JohnTaylor3122 BettyArnold2144 First NameLast NameStudent ID Thực thể Thể hiện Thuộc tính Trang 8 Copyright © 2008, VIETHANITVIETHANIT 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) CUSTOMER - Customer_ID - Cust_Name - Cust_Address - Cust_Phone Trang 9 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 10 Copyright © 2008, VIETHANITVIETHANIT 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ệ LAI_XE Sở hữu BANG_LAI Quan hệ 1-1 1 1 Quan hệ 1-n HOC_VIEN MON_HOCĐăng ký 1 n Trang 11 Copyright © 2008, VIETHANITVIETHANIT 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ệ HOC_VIEN Đăng ký MON_HOC Quan hệ n-1 n 1 Quan hệ n-n HOC_VIEN MON_HOCĐăng ký n n Trang 12 Copyright © 2008, VIETHANITVIETHANIT 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ụ Trang 13 Copyright © 2008, VIETHANITVIETHANIT 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 SkillPossess (0,E) (1,S) Employee ProjectBelong (1,E) (0,P) Trang 14 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 15 Copyright © 2008, VIETHANITVIETHANIT 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ệ TOWN -TownID -Town_Name TRAVEL Distance N M EMPLOYEE - Emp_ID - Emp_Name - Emp_Title PROJECT - Project_ID - Proj_Name - Proj_Due Manage Date M N Trang 16 Copyright © 2008, VIETHANITVIETHANIT 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 TASK - TaskID - TaskName Assign Date M N PROJECT - ProjectID - Proj_Name - Proj_Due P Trang 17 Copyright © 2008, VIETHANITVIETHANIT 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 NGÀY -Mã ngày LỚP Mã lớp Tên lớp PHÒNG -Mã phòng -Tên phòng GIẢNG VIÊN -Mã GV -Tên GV TKB Giờ BD Số tiết Trang 18 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 19 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 20 Copyright © 2008, VIETHANITVIETHANIT 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ý Trang 21 Copyright © 2008, VIETHANITVIETHANIT BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN Trang 22 Copyright © 2008, VIETHANITVIETHANIT 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ể Trang 23 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 24 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 25 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 26 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 27 Copyright © 2008, VIETHANITVIETHANIT 4.3 Mô hình dữ liệu quan hệ 4.3.2 Chuẩn hóa: * Ví dụ 1: Trang 28 Copyright © 2008, VIETHANITVIETHANIT 4.3 Mô hình dữ liệu quan hệ 4.3.2 Chuẩn hóa: * Ví dụ 1: Trang 29 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 30 Copyright © 2008, VIETHANITVIETHANIT 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)). Trang 31 Copyright © 2008, VIETHANITVIETHANIT 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 Trang 32 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 33 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 34 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 35 Copyright © 2008, VIETHANITVIETHANIT 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) Trang 36 Copyright © 2008, VIETHANITVIETHANIT 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ệ Trang 37 Copyright © 2008, VIETHANITVIETHANIT 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ụ Trang 38 Copyright © 2008, VIETHANITVIETHANIT 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. Trang 39 Copyright © 2008, VIETHANITVIETHANIT 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ệ. Trang 40 Copyright © 2008, VIETHANITVIETHANIT Mẫu 1 E1 - a1 - a2 TASK - TaskID - TaskName E1( a1, a2 ) TASK( TaskID , TaskName ) Một số mẫu mô hình dữ liệu quan hệ Trang 41 Copyright © 2008, VIETHANITVIETHANIT Mẫu 2 E1 - a1 - a2 INDIVIDUAL - SSN - Name E1( a1, a2 ) R( a1, a1’, r) INDIVIDUAL ( SSN , Name) MARRY ( SSN , SSN’, Date) R r MARRY Date 1 1 1 1 Husband Wife Một số mẫu mô hình dữ liệu quan hệ Trang 42 Copyright © 2008, VIETHANITVIETHANIT Mẫu 3 E1 - a1 - a2 INDIVIDUAL - SSN - Name E1( a1, a2 ) R( a1’, a1 ) INDIVIDUAL ( SSN , Name) LEAD ( SSN’ , SSN ) R LEAD 1 M 1 M Member Leader Một số mẫu mô hình dữ liệu quan hệ Trang 43 Copyright © 2008, VIETHANITVIETHANIT Mẫu 4 M E1 - a1 - a2 TOWN - TownID - Name E1( a1, a2 ) R( a1, a1’, r) TOWN ( TownID , Name) TOUR ( TownID, TownID’ , Date ) R Tour N M N Date r Một số mẫu mô hình dữ liệu quan hệ Trang 44 Copyright © 2008, VIETHANITVIETHANIT Mẫu 5 E1 - a1 - a2 E1( a1, a2 ) E2( b1, b2 , b3 , a1)R1 1 E2 - b1 - b2 - b3 E1( a1, a2 , b1 ) E2( b1, b2 , b3 ) OR EMPLOYEE - EmpID - EmpName PROJECT - ProID - ProName - ProDue 1 1 EMPLOYEE(EmpID, EmpName) PROJECT(ProID, ProName, ProDue, EmpID) EMPLOYEE(EmpID, EmpName, ProID) PROJECT(ProID, ProName, ProDue ) OR MANAGE Một số mẫu mô hình dữ liệu quan hệ Trang 45 Copyright © 2008, VIETHANITVIETHANIT Mẫu 6 E1 - a1 - a2 E1( a1, a2 ) E2( b1, b2 , b3 , a1) R1 M E2 - b1 - b2 - b3 CUSTOMER - CustID - CustName PURCHASE - PurchID - Item - Quantity 1 CUSTOMER (CustID, CustName) PURCHASE(PurchID, Item, Quantity, CustID) INVOLVE M Một số mẫu mô hình dữ liệu quan hệ Trang 46 Copyright © 2008, VIETHANITVIETHANIT Mẫu 7 E1 - a1 - a2 E1( a1, a2 ) E2( b1, b2 , b3) R( a1, b1, r) RM N E2 - b1 - b2 - b3 CUSTOMER - CustID - CustName SALESREP - RepID - RepName M CUSTOMER (CustID, CustName) SALESREP (RepID, RepName) SALE(CustID, RepID, Date) SALE N r Date Một số mẫu mô hình dữ liệu quan hệ Trang 47 Copyright © 2008, VIETHANITVIETHANIT Mẫu 8 E1 - a1 - a2 E1( a1, a2 ) E2( b1, b2 , b3) E3( c1, c2 , c3 ) R( b1, c1 , a1, r) R1 N E2 - b1 - b2 - b3 E3 - c1 - c2 - c3 r P Một số mẫu mô hình dữ liệu quan hệ Trang 48 Copyright © 2008, VIETHANITVIETHANIT Mẫu 9 E1 - a1 - a2 E1( a1, a2 ) E2( b1, b2 , b3) E3( c1, c2 , c3 ) R(a1, b1, c1 , r) RM N E2 - b1 - b2 - b3 E3 - c1 - c2 - c3 r P Một số mẫu mô hình dữ liệu quan hệ Trang 49 Copyright © 2008, VIETHANITVIETHANIT Mẫu 9 (ví dụ) EMPLOYEE - EmpID - EmpName EMPLOYEE( EmpID, EmpName ) TASK( TaskID) PROJECT( ProjectID) ASSIGN(EmpID, TaskID, ProjectID, Date) ASSIGNM N TASK - TaskID PROJECT - ProjectID Date P Một số mẫu mô hình dữ liệu quan hệ