-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ệ.
49 trang |
Chia sẻ: lylyngoc | Lượt xem: 1802 | Lượt tải: 2
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ệ