Bài 5. Công cụ mô hình hóa dữ liệu
Nguyễn Hoài Anh Khoa công nghệ thông tin Học viện kỹ thuật quân sự nguyenhoaianh@yahoo.com
DẪN NHẬP
(cid:1) Phân tích dữ liệu là
hệ thống.
(cid:1) Mục tiêu cần đạt
(cid:1) Xác định các bảng dữ liệu được lưu trữ trong
(cid:1) Một số công cụ mô hình hóa PTDL
(cid:1) Mô hình dữ liệu ở dạng chuẩn BC (cid:1) Có được mô tả chi tiết của từng bảng dữ liệu
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
2
(cid:1) Mô hình thực thể liên kết (cid:1) Mô hình quan hệ (cid:1) Từ điển dữ liệu
NỘI DUNG
(cid:1) Mô hình thực thể liên kết (ERD – Entity
Relationship Diagram)
(cid:1) Mô hình quan hệ (Relational Model) (cid:1) Đặc tả dữ liệu (D Spec – Data
Specification)
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
3
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) ERD – Entity Relationship Diagram (cid:1) Khái niệm
trong hệ thống
(cid:1) Là mô hình mô tả tập hợp các dữ liệu dùng
thể trong thế giới thực. (cid:1) Tên, tuổi, địa chỉ, số điện thoại, cân nặng, chiều cao
(cid:1) Bằng cách gom cụm chúng xung quanh các vật
đối tượng người
(cid:1) Biển số, kiểu dáng, màu sơn, dung tích xilanh fi
đối
tượng xe máy
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
4
fi
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Ví dụ
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
5
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Là một tập hợp các thực thể biểu diễn co một lớp tự
nhiên các vật thể trong thế giới thực
(cid:1) Ví dụ: Khách hàng, đơn hàng, sinh viên… (cid:1) Tên gọi: Danh từ (chỉ lớp đối tượng trong thế giới
thực)
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
6
(cid:1) Kiểu thực thể (Entity):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Là các đặc điểm sử dụng để mô tả cho một kiểu thực
thể trong ERD (cid:1) Tên gọi: Danh từ (cid:1) Các loại kiểu thuộc tính (cid:2) Kiểu thuộc tính khóa (cid:2) Kiểu thuộc tính định danh (cid:2) Kiểu thuộc tính mô tả
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
7
(cid:1) Kiểu thuộc tính (attribute):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Kiểu thực thể được mô tả bởi cùng một tập hợp các
kiểu thuộc tính
(cid:1) Trong ERD không có kiểu thuộc tính riêng rẻ mà nó phải mô tả cho một kiểu thực thể xác định nào đó
(cid:1) Biểu diễn
Tªn kiÓu thùc thÓ
Tªn kiÓu thuéc tÝnh 1 Tªn kiÓu thuéc tÝnh 2 Tªn kiÓu thuéc tÝnh 3 # Tªn kiÓu thuéc tÝnh n
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
8
(cid:1) Quan hệ giữa Entity và Attribute
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Là mối quan hệ giữa các kiểu thực thể với nhau (cid:1) Tên gọi: Động từ (phản ánh ý nghĩa của nó) (cid:1) Ví dụ
(cid:2) Khách hàng giao nộp Đơn hàng (cid:2) Đơn hàng có Mặt hàng (cid:2) Giáo viên dạy Sinh viên
(cid:1) Biểu diễn
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
9
(cid:1) Kiểu liên kết (relationship):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Phân loại kiểu liên kết theo số thực thể tham gia
(cid:2) Kiểu liên kết 1 – 1
* * * Sè ph¸ch * * *
* * * S« b¸o danh * * *
(cid:2) Kiểu liên kết 1 – n
(cid:2) Kiểu liên kết n – n
* * * Häc sinh * * *
* * * Gi¸o viªn * * *
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
10
(cid:1) Kiểu liên kết (relationship):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Phân loại kiểu liên kết theo số kiểu thực thể tham gia
(cid:2) Kiểu liên kết 1 ngôi (đệ quy)
Chång
Ng−êi
KÕt h«n
ID-Ng−êi Tªn Ngµy sinh
Vî
(cid:2) Kiểu liên lết 2 ngôi
§¬n hµng
kh¸ch hµng
Giao nép
SH-§¬n hµng Ngµy ®¬n hµng
SH-Kh¸ch hµng Tªn kh¸ch hµng
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
11
(cid:1) Kiểu liên kết (relationship):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Phân loại kiểu liên kết theo số kiểu thực thể tham gia
LuËn V¨n
Sinh viªn
(cid:2) Kiểu liên kết 3 ngôi
H−íng dÉn
ID - LuËn v¨n Tªn LuËn v¨n
ID - Sinh viªn Tªn sinh viªn
Gi¸o viªn
ID - Gi¸o viªn Tªn gi¸o viªn
Sinh viªn
Gi¸o viªn
D¹y
(cid:1) Ngoài ra có kiểu liên kết có thuộc tính
ID - Sinh viªn Tªn sinh viªn
ID - Gi¸o viªn Tªn gi¸o viªn
ID - Gi¸o viªn ID - Sinh viªn M«n häc N¨m häc
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
12
(cid:1) Kiểu liên kết (relationship):
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) gọi tắt là bản số là số thực thể của một kiểu thực thể
có thể tham gia vào liên kết.
(cid:1) Max: là số lớn nhất các thực thể tham gia vào kiểu
liên kết. Nhận giá trị 1 hoặc n.
(cid:1) Min: là số nhỏ nhất các thực thể tham gia vào kiểu
liên kết. Nhằm xác định mức độ ràng buộc giữa kiểu thực thể và kiểu liên kết. Nhận hai giá trị 0 và 1. (cid:2) Bằng 1 khi lực lượng tham gia vào kiểu liên kết là bắt buộc. (cid:2) Bằng 0 khi lực lượng tham gia vào kiểu liên kết là lựa chọn.
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
13
(cid:1) Lực lượng tham gia vào liên kết:
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Các thành phần
(cid:1) Biểu diễn
(cid:2) Max = n; min = 1:
(cid:2) Max = n; min = 0:
(cid:2) Max = 1; min = 1:
(cid:2) Max = 1; min = 0:
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
14
(cid:1) Lực lượng tham gia vào liên kết:
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Cách thể hiện
(cid:1) Cho kiểu thực thể bao gồm kiểu thuộc tính sau
GIÁO VIÊN
SINH VIÊN
MÔN HỌC
KHOA
Mã khoa Tên khoa Số lượng bc
Mã môn học Tên môn học Số học trình
LỚP
Mã giáo viên Họ và tên Ngày sinh Chức danh Học vị
Mã sinh viên Họ và tên Ngày sinh Giới tính Quê quán Địa chỉ
Mã lớp Tên lớp Sỉ số
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
15
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Cách thể hiện
Thuộc : Sinh viên – Lớp
Lớp – Khoa Giáo viên – Khoa
Giảng dạy: Giáo viên – Lớp – Môn học Việc giảng dạy một môn học nào đó phải xác định được giảng dạy ở đâu, vào lúc nào
(cid:1) Trong đó có các kiểu liên kết sau
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
16
(cid:1) Hãy vẽ ERD
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Cách thể hiện
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
17
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Bài tập áp dụng số 1
(cid:1) Cho kiểu thực thể bao gồm kiểu thuộc tính sau
GIÁO VIÊN
SINH VIÊN
MÔN HỌC
LỚP KH
Mã môn học Tên môn học Số học trình
Mã lớp KH Tên lớp KH Năm bắt đầu Năm kết thúc
Mã giáo viên Họ và tên Ngày sinh Chức danh Học vị
Mã sinh viên Họ và tên Ngày sinh Giới tính Quê quán Địa chỉ
KHOA
BỘ MÔN
LỚP MH
Mã khoa Tên khoa
Mã bộ môn Tên bộ môn Thuộc khoa
Mã lớp MH Lịch học Sỉ số
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
18
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Bài tập áp dụng số 1
Thuộc : Sinh viên – Lớp KH
Giáo viên – Khoa Môn học – Bộ môn
Quản lý: Khoa – Lớp KH Đăng ký: Sinh viên – Lớp MH Giảng dạy: Giáo viên – Lớp MH Lớp MH – Môn học
(cid:1) Trong đó có các kiểu liên kết sau
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
19
(cid:1) Hãy vẽ ERD
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Bài tập áp dụng số 2
(cid:1) Cho các kiểu thuộc tính và các quy tắc quản lý.
Vẽ ERD Kiểu thuộc tính Mã đơn vị, tên đơn vị, số điện thoại đơn vị, địa chỉ đơn vị Mã nhân viên, Tên nhân viên, giới tính nhân viên, số điện thoại nhân viên, địa chỉ nhân viên, ngày sinh nhân viên Mã dự án, tên dự án Mã khách hàng, tên khách hàng, số điện thoại khách hàng, địa chỉ khách hàng Mã sản phẩm, tên sản phẩm, số lượng trong kho của sản phẩm Số lượng yêu cầu, ngày yêu cầu
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
20
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Bài tập áp dụng số 2
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
21
(cid:1) Cho các kiểu thuộc tính và các quy tắc quản lý Quy tắc quản lý Một đơn vị phải có một hoặc nhiều nhân viên Một nhân viên phải thuộc về một đơn vị và chỉ thuộc vào một đơn vị Một nhân viên có thể làm việc cho 1 dự án hoặc không làm việc cho dự án nào Một dự án phải có ít nhất là một nhân viên và có thể có nhiều nhân viên tham gia Một nhân viên có thể phục vụ cho một hoặc nhiều khách hàng Một khách hàng có thể được phục vụ bởi một hoặc nhiều nhân viên Một khách hàng có thể có một hoặc nhiều yêu cầu Một yêu cầu phải thuộc và chỉ thuộc vào một khách hàng nào đó Một sản phẩm có thể có một hoặc nhiều yêu cầu Một yêu cầu phải có và chỉ có một sản phẩm
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Ba dạng của ERD (cid:1) ERD mở rộng
(cid:1) Là ERD với đầy đủ các thành phần: kiểu thực thể,
kiểu thuộc tính, kiểu liên kết.
(cid:1) Là ERD mở rộng đưa thêm ràng buộc
(cid:2) Kiểu thực thể chính phải có khóa chính là 1 thuộc tính
định danh
(cid:2) Kiểu thuộc tính đều là đơn trị và sơ đẳng
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
22
(cid:1) ERD kinh điển
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Ba dạng của ERD
(cid:1) Là ERD hạn chế đưa thêm các ràng buộc (cid:2) Tất cả các kiểu thực thể điều có khóa chính (cid:2) Kiểu thực thể liên kết với nhau thông qua khóa ngoài (cid:2) Kiểu liên kết đều là 1 – n và không có tên
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
23
(cid:1) ERD hạn chế
MÔ HÌNH THỰC THỂ LIÊN KẾT
(cid:1) Nhận xét
phân tích hướng cấu trúc
(cid:1) Là một trong những công cụ quan trọng trong
trong đó lượng ký hiệu, thông tin là ít nhất và mô tả thế giới thực đầy đủ nhất.
(cid:1) Nó đưa ra được một mô hình tương đối tốt
dư thừa thông tin nhất
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
24
(cid:1) Tuy nhiên trong ER chưa đảm bảo dữ liệu ở ít
MÔ HÌNH QUAN HỆ
(cid:1) Relational Model
(cid:1) Đơn giản: dữ liệu dạng duy nhất, tự nhiên, dễ hiểu (cid:1) Chặt chẽ: hình thức hóa cao, cho phép dùng công thức,
thuật toán
(cid:1) Trừu tượng hoá cao: độc lập với mức vật lý, cài đặt, thiết bị. Có tính độc lập giữa dữ liệu và chương trình. (cid:1) Ngôn ngữ truy cập dữ liệu ở mức cao: chuẩn, dễ dùng
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
25
(cid:1) Khái niệm: Do Coodd đề xuất năm 1970
MÔ HÌNH QUAN HỆ
(cid:1) Các định nghĩa cơ bản
(cid:1) Là một bảng dữ liệu 2 chiều có (cid:2) n cột được gọi là các trường, (cid:2) m dòng được gọi là các bản ghi.
Chång
Vî
N¨m kÕt h«n
H¶i
H¹nh
1975
Quúnh
Nga
1980
Hµ
Cóc
1995
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
26
(cid:1) Bảng quan hệ
MÔ HÌNH QUAN HỆ
(cid:1) Các định nghĩa cơ bản
(cid:1) Là sự hợp thành của hai yếu tố
(cid:2) Một cấu trúc gồm tên quan hệ và một danh sách các
thuộc tính
(cid:2) Một tập hợp các ràng buộc toàn vẹn, là các điều kiện mà mọi quan hệ trong lược đồ đều phải thoả mãn.
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
27
(cid:1) Lược đồ quan hệ
MÔ HÌNH QUAN HỆ
(cid:1) Các định nghĩa cơ bản
(cid:1) Cấu trúc: có dạng R(A1, A2, ..., An) trong đó
(cid:2) R tên quan hệ (cid:2) A1, A2, …, An các thuộc tính được gắn với một miền giá trị
(cid:1) Ví dụ
(cid:2) GIÁO VIÊN (Mã GV, họ tên, học hàm, học vị) (cid:2) ĐƠN HÀNG (SốĐH, ngày lập, tên KH,Tên hàng, số lượng) (cid:2) SINH VIÊN (Mã SV, họ tên, ngày sinh, giới tính, quê quán)
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
28
(cid:1) Lược đồ quan hệ
MÔ HÌNH QUAN HỆ
(cid:1) Các định nghĩa cơ bản
(cid:1) Ràng buộc toàn vẹn: là điều kiện ràng buộc đối với giá
trị của một hay nhiều thuộc tính. (cid:2) Ví dụ. Bảng chấm công: số giờ ‡ 0
(cid:1) Lược đồ quan hệ
Nhân viên: năm tuyển dụng > năm sinh + 17
(cid:1) Tác dụng
(cid:2) Đảm bảo tính hợp lý của mô hình với thế giới thực (cid:2) Phát hiện những sai lệch trong thu thập, xử lý và truyền thông tin (cid:2) Kiểm soát để sàng lọc các giá trị không hợp lý
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
29
MÔ HÌNH QUAN HỆ
(cid:1) Các định nghĩa cơ bản
(cid:1) Các loại ràng buộc toàn vẹn:
(cid:2) Miền giá trị. Điểm môn học ‡ 0
18 < tuổi nhân viên < 70 (cid:2) Giá trị không. Cho phép một thuộc tính nhận giá trị null
(cid:2) Điểm thi : được null (trường hợp sinh viên chưa thi, không thi) (cid:2) Tên sv: not null (không có sinh viên nào không có tên) (cid:2) Tương hợp giá trị. mối quan hệ về giá trị giữa các thuộc tính
(cid:2) Thành tiền = Số lượng x Đơn giá
(cid:2) Định danh. Là thuộc tính phân biệt giữa các bản ghi của quan hệ.
(cid:2) Không có 2 bản ghi trong 1 quan hệ có cùng định danh.
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
30
(cid:1) Lược đồ quan hệ
MÔ HÌNH QUAN HỆ
(cid:1) Ký hiệu đồ họa trong mô hình quan hệ
Tên bảng quan hệ
Tên trường 1 Tên trường 2 Tên trường 3 … Tên trường n
(cid:1) Bảng quan hệ
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
31
(cid:1) Quan hệ
KẾT LUẬN
(cid:1) Để phân tích dữ liệu người ta thường sử dụng
các công cụ sau (cid:1) Mô hình thực thể liên kết ERD (cid:1) M« h×nh quan hÖ RM
(cid:1) Ngoài ra còn có công cụ trợ giúp
(cid:1) Từ điển dữ liệu DD
(cid:1) Mô tả bảng quan hệ sau chuẩn hóa sử dụng
(cid:1) Đặc tả dữ liệu: khóa chính, khóa ngoài, tên trường, kiểu dữ
liệu, mô tả.
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
32
THẢO LUẬN
(cid:1) Cách vẽ ERD (cid:1) Cách vẽ RM (cid:1) Gợi ý mẫu đặc tả dữ liệu
(cid:1) HÓA ĐƠN
STT Khoá chính
Khoá ngoại
Tên trường
x
x
1 2 3 4
Kiểu dữ liệu C D C N
Số HĐ Ngày HĐ Mã KH Tổng tiền
Diễn giải Số hiệu hóa đơn Ngày lập hóa đơn Mã khách hàng Tổng tiền thanh toán
GV Nguyễn Hoài Anh - Khoa công nghệ thông tin - Học viện Kỹ thuật quân sự
33

