B THNG TIN TRUYN THNG TRNG CAO NG
BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN VIETHANIT Copyright © 2008, VIETHANIT Trang 1
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ệ. VIETHANIT Copyright © 2008, VIETHANIT Trang 2
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 3
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. VIETHANIT Copyright © 2008, VIETHANIT Trang 4
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ể. VIETHANIT Copyright © 2008, VIETHANIT Trang 5
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 6
4. 2. Biểu đồ thực thể quan hệ * Ví dụ thực thể Thuộc tính Thực thể Thể hiện Student ID Last Name First Name 2144 Arnold Betty 3122 Taylor John 3843 Simmons Lisa 9844 Macy Bill 2837 Leath Heather 2293 Wrench Tim VIETHANIT Copyright © 2008, VIETHANIT Trang 7
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 đ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) VIETHANIT Copyright © 2008, VIETHANIT Trang 8 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ệ * 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 VIETHANIT Copyright © 2008, VIETHANIT Trang 9
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ệ 1 -1 LAI_XE 1 Sở hữu 1 BANG_LAI Quan hệ 1 -n HOC_VIEN 1 Đăng ký VIETHANIT Copyright © 2008, VIETHANIT Trang 10 n 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 HOC_VIEN n Đăng ký 1 MON_HOC Quan hệ n-n HOC_VIEN n Đăng ký VIETHANIT Copyright © 2008, VIETHANIT Trang 11 n 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ệ - Số lượng các thể hiện của một 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ụ VIETHANIT Copyright © 2008, VIETHANIT Trang 12
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 (0, E) Possess (1, E) Employee (1, S) Skill (0, P) Belong VIETHANIT Copyright © 2008, VIETHANIT Trang 13 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ệ * 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) VIETHANIT Copyright © 2008, VIETHANIT Trang 14
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ệ N TOWN -Town. ID -Town_Name TRAVEL Distance M EMPLOYEE PROJECT M - Emp_ID - Emp_Name - Emp_Title Manage Date VIETHANIT Copyright © 2008, VIETHANIT Trang 15 N - Project_ID - Proj_Name - Proj_Due
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 M - Emp. ID - Emp_Name - Emp_Title Assign Date P TASK - Task. ID - Task. Name VIETHANIT Copyright © 2008, VIETHANIT Trang 16 N PROJECT - Project. ID - Proj_Name - Proj_Due
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 GIẢNG VIÊN -Mã MH -Tên MH TKB Giờ BD -Mã GV -Tên GV Số tiết NGÀY -Mã ngày LỚP Mã lớp Tên lớp VIETHANIT Copyright © 2008, VIETHANIT Trang 17 PHÒNG -Mã phòng -Tên phòng
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 18
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 19
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ý VIETHANIT Copyright © 2008, VIETHANIT Trang 20
BỘ THÔNG TIN & TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT - HÀN VIETHANIT Copyright © 2008, VIETHANIT Trang 21
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ể VIETHANIT Copyright © 2008, VIETHANIT Trang 22
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 23
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 24
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 25
4. 3 Mô hình dữ liệu quan hệ 4. 3. 2 Chuẩn hóa: * Chuẩn hóa dạng 1 (1 NF) - Loại bỏ lặp và dư thừa dữ liệu * Chuẩn hóa dạng 2 (2 NF) - 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 (3 NF) - 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 VIETHANIT Copyright © 2008, VIETHANIT Trang 26
4. 3 Mô hình dữ liệu quan hệ 4. 3. 2 Chuẩn hóa: * Ví dụ 1: VIETHANIT Copyright © 2008, VIETHANIT Trang 27
4. 3 Mô hình dữ liệu quan hệ 4. 3. 2 Chuẩn hóa: * Ví dụ 1: VIETHANIT Copyright © 2008, VIETHANIT Trang 28
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 29
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)). VIETHANIT Copyright © 2008, VIETHANIT Trang 30
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 VIETHANIT Copyright © 2008, VIETHANIT Trang 31
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 32
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 33
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 34
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) VIETHANIT Copyright © 2008, VIETHANIT Trang 35
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ệ VIETHANIT Copyright © 2008, VIETHANIT Trang 36
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ụ VIETHANIT Copyright © 2008, VIETHANIT Trang 37
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. VIETHANIT Copyright © 2008, VIETHANIT Trang 38
Một số mẫu mô hình dữ liệu quan hệ Ký hiệu • E 1, E 2, E 3 , … : thực thể • a 1, a 2, a 3, …, b 1, b 2, b 3, … : 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ệ. VIETHANIT Copyright © 2008, VIETHANIT Trang 39
Một số mẫu mô hình dữ liệu quan hệ Mẫu 1 E 1 - a 2 E 1( a 1, a 2 ) TASK - Task. ID - Task. Name TASK( Task. ID , Task. Name ) VIETHANIT Copyright © 2008, VIETHANIT Trang 40
Một số mẫu mô hình dữ liệu quan hệ Mẫu 2 E 1 - a 2 INDIVIDUAL - SSN - Name 1 E 1( a 1, a 2 ) R r R( a 1, a 1’, r) 1 1 MARRY Date 1 INDIVIDUAL ( SSN , Name) MARRY ( SSN , SSN’, Date) Husband VIETHANIT Copyright © 2008, VIETHANIT Trang 41 Wife
Một số mẫu mô hình dữ liệu quan hệ Mẫu 3 E 1 - a 2 INDIVIDUAL - SSN - Name 1 R E 1( a 1, a 2 ) R( a 1’, a 1 ) M 1 LEAD INDIVIDUAL ( SSN , Name) LEAD ( SSN’ , SSN ) M Member VIETHANIT Copyright © 2008, VIETHANIT Trang 42 Leader
Một số mẫu mô hình dữ liệu quan hệ Mẫu 4 E 1 - a 2 TOWN - Town. ID - Name M N R E 1( a 1, a 2 ) r R( a 1, a 1’, r) M Tour Date N TOWN ( Town. ID , Name) TOUR ( Town. ID, Town. ID’ , Date ) VIETHANIT Copyright © 2008, VIETHANIT Trang 43
Một số mẫu mô hình dữ liệu quan hệ Mẫu 5 E 1 - a 2 1 R 1 EMPLOYEE 1 - Emp. ID - Emp. Name MANAGE OR VIETHANIT Copyright © 2008, VIETHANIT E 2 - b 1 - b 2 - b 3 E 1( a 1, a 2 ) E 2( b 1, b 2 , b 3 , a 1) OR E 1( a 1, a 2 , b 1 ) E 2( b 1, b 2 , b 3 ) PROJECT 1 - Pro. ID - Pro. Name - Pro. Due EMPLOYEE(Emp. ID, Emp. Name) PROJECT(Pro. ID, Pro. Name, Pro. Due, Emp. ID) EMPLOYEE(Emp. ID, Emp. Name, Pro. ID) PROJECT(Pro. ID, Pro. Name, Pro. Due ) Trang 44
Một số mẫu mô hình dữ liệu quan hệ Mẫu 6 E 1 - a 2 1 CUSTOMER 1 - Cust. ID - Cust. Name R INVOLVE M E 2 - b 1 - b 2 - b 3 E 1( a 1, a 2 ) E 2( b 1, b 2 , b 3 , a 1) PURCHASE M - Purch. ID - Item - Quantity CUSTOMER (Cust. ID, Cust. Name) PURCHASE(Purch. ID, Item, Quantity, Cust. ID) VIETHANIT Copyright © 2008, VIETHANIT Trang 45
Một số mẫu mô hình dữ liệu quan hệ Mẫu 7 E 1 - a 2 M CUSTOMER M - Cust. ID - Cust. Name R N r SALE Date E 2 - b 1 - b 2 - b 3 E 1( a 1, a 2 ) E 2( b 1, b 2 , b 3) R( a 1, b 1, r) SALESREP N - Rep. ID - Rep. Name CUSTOMER (Cust. ID, Cust. Name) SALESREP (Rep. ID, Rep. Name) SALE(Cust. ID, Rep. ID, Date) VIETHANIT Copyright © 2008, VIETHANIT Trang 46
Một số mẫu mô hình dữ liệu quan hệ Mẫu 8 E 1 - a 2 1 R r N E 2 - b 1 - b 2 - b 3 P E 3 - c 1 - c 2 - c 3 VIETHANIT Copyright © 2008, VIETHANIT Trang 47 E 1( a 1, a 2 ) E 2( b 1, b 2 , b 3) E 3( c 1, c 2 , c 3 ) b 1, c 1 , a 1, r) R(
Một số mẫu mô hình dữ liệu quan hệ Mẫu 9 E 1 - a 2 M R r N E 2 - b 1 - b 2 - b 3 P E 3 - c 1 - c 2 - c 3 VIETHANIT Copyright © 2008, VIETHANIT Trang 48 E 1( a 1, a 2 ) E 2( b 1, b 2 , b 3) E 3( c 1, c 2 , c 3 ) R(a 1, b 1, c 1 , r)
Một số mẫu mô hình dữ liệu quan hệ Mẫu 9 (ví dụ) EMPLOYEE M - Emp. ID - Emp. Name ASSIGN TASK N - Task. ID Date P PROJECT - Project. ID EMPLOYEE( Emp. ID, Emp. Name ) TASK( Task. ID) PROJECT( Project. ID) ASSIGN(Emp. ID, Task. ID, Project. ID, Date) VIETHANIT Copyright © 2008, VIETHANIT Trang 49
- Slides: 49