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

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

(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

N¨m kÕt h«n

H¶i

H¹nh

1975

Quúnh

Nga

1980

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