Mục đích của giai đoạn phân tích hệ thống về dữ liệu là: Lập lược đồ dữ liệu hay gọi là biểu đồ cấu trúc dữ liệu BCD Phương pháp thực hiện: Thể hiện theo hai cách tiếp cận: Mô hìn
Trang 2CHƯƠNG 5: PHÂN TÍCH HỆ THỐNG
VỀ DỮ LIỆU
2
Bài 1: Đại cương.
Bài 2: Mã hoá dữ liệu.
thực thể liên kết.
quan hệ.
Trang 3Bài 1: Đại cương.
3
Nội dung bài học
Một hệ thống trong trạng thái vận động bao gồm hai yếu tố là các chức năng xử
lý và dữ liệu
Trong XLTT có nhiều công cụ để mô tả dữ liệu
Trong phần này chúng ta đề cập tới 4 công cụ chủ yếu:
Mã hóa dữ liệu (Coding).
Từ điển dữ liệu (Data Dictionary).
Mô hình thực thể liên kết ER (Entity Relationship).
Mô hình quan hệ (Relational Data Base Modeling).
Mục đích của giai đoạn phân tích hệ thống về dữ liệu là: Lập lược đồ dữ liệu
hay gọi là biểu đồ cấu trúc dữ liệu (BCD)
Phương pháp thực hiện: Thể hiện theo hai cách tiếp cận:
Mô hình thực thể liên kết: phương pháp này trực quan đi từ trên xuống dưới.
Mô hình quan hệ: Xuất phát từ danh sách các thuộc tính rồi đến các lược đồ quan hệ
Phương pháp này đi từ dưới lên
Trang 4Bài 2: Mã hoá dữ liệu.
4
Khái niệm mã hóa.
Chất lượng và yêu cầu đối với mã hóa.
Các kiểu mã hóa.
Cách lựa chọn mã hoá
Trang 5Bài 2: Mã hoá dữ liệu.
5
Mã là tên viết tắt gán cho một đối tượng nào đó hay nói cách khác
gán cho các đối tượng một tên ngắn gọn nhưng lại phản ánh đầy đủ nội dung.
Ngoài ra mã hóa còn là hình thức chuẩn hóa dữ liệu.
Khi xây dựng CSDL rất cần thiết phải biết cách mã hóa dữ liệu.
-một biểu diễn theo quy ước, thông thường là ngắn gọn về mặt thuộc tính của một thực thể hoặc tập hợp thực thể.
Trang 6Bài 2: Mã hoá dữ liệu.
6
Có nhiều phương pháp mã hóa khác nhau Do vậy cần xác định một
số tiêu chí để đánh giá chất lượng của việc mã hóa.
Mã không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hóa và
giải mã, mỗi đối tượng được xác định rõ ràng và duy nhất với một
mã nhất định.
Thích ứng với phương thức sử dụng: Việc mã hóa có thể tiến hành thủ công nên cần phải dễ hiểu, dễ giải mã, và việc mã hóa bằng máy đòi hỏi cú pháp chặt chẽ.
Mã có khả năng mở rộng.
Mã phải ngắn gọn, dễ nhớ.
Mã có tính gợi ý.
Trang 7Bài 2: Mã hoá dữ liệu.
7
Mã hóa liên tiếp (Serial Coding): Ta dùng các số nguyên liên tiếp từ
0 trở đi để mã hóa Phương pháp này thường để đánh số thứ tự trong danh sách các đối tượng.
Ưu điểm: Không nhập nhằng, đơn giản, dễ bổ sung vào sau
Nhược điểm: Không xen được, thiếu tính gợi ý vì cần phải có bảng tương ứng và không phân theo nhóm
Mã hóa theo vùng (Range Coding): Sử dụng các số nguyên như mã
hóa liên tiếp nhưng phân ra từng lớp (vùng) cho từng loại đối tượng, trong mỗi lớp dùng mã liên tiếp.
Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng, xen thêm được
Nhược điểm: Thiếu gợi ý
Trang 8Bài 2: Mã hoá dữ liệu.
8
Các kiểu mã hóa.
Mã phân đoạn: Bản thân mã được phân thành nhiều đoạn, mỗi đoạn mang một
ý nghĩa riêng
Ưu điểm: Không nhập nhằng, mở rộng, xen thêm được và dùng khá phổ biến.
Nhược điểm: Mã quá dài nên thủ tục nặng nề, không cố định và vẫn có thể bị bảo hòa mã.
Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ
dần
Ưu điểm: Các ưu điểm tương tự như mã phân đoạn Ngoài ra việc tìm kiếm mã dễ
dàng.
Nhược điểm: Tương tự các nhược điểm của mã kiểu phân đoạn.
Mã diễn nghĩa: Bằng cách gán một tên ngắn gọn nhưng hiểu được cho mọi đối
tượng
Ưu điểm: Tiện dùng cho xử lý bằng thủ công và số lượng đối tượng được mã ít
Nhược điểm: Không giải mã được bằng MTĐT
Trang 9Bài 2: Mã hoá dữ liệu.
9
Việc lựa chọn mã hoá cần dựa vào các yếu tố sau
Nghiên cứu việc sử dụng mã sau này
Nghiên cứu số lượng các đối tượng được mã hoá để lường trước được sựphát triển
Nghiên cứu sự phân bố thống kê các đối tượng để phân bổ theo lớp
Tìm xem đã có những mã hoá nào được dùng trước đó cho các đối tượng này để kế thừa
Thoả thuận người dùng cách mã hoá
Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời
Trang 10Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
Quan hệ và kiểu quan hệ
Xây dựng mô hình dữ liệu- Lược đồ khái niệm
Trang 11Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
Mô hình hoá dữ liệu là chủ đề quan trọng và phức tạp, có thể tiếp cận được
theo nhiều cách và mức độ khác nhau trong tiến trình phát triển hệ thống
Việc phân tích dữ liệu logic nói chung được định nghĩa là một cách tiếp cận
bao gồm việc xem xét dữ liệu hoặc thông tin được sử dụng trong công tác theo quan điểm trừu tượng
Phân tích dữ liệu là một phương pháp xác định các đơn vị thông tin cơ sở có
ích cho hệ thống được gọi là các thực thể, và định rõ mối quan hệ bên trong
hoặc các tham trỏ chéo với nhau giữa chúng
Trang 12Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
12
Mô hình thực thể liên kết là công cụ thành lập lược đồ dòng dữ liệu
hay gọi là biểu đồ cấu trúc dữ liệu (BCD), nhằm xác định các khái
niệm về các thực thể, thuộc tính, và mối liên hệ ràng buộc giữa
chúng.
Mục đích của mô hình là xác định các yếu tố:
Dữ liệu nào cần xử lý
Mối liên quan nội tại (cấu trúc) giữa các dữ liệu
Để xây dựng biểu đồ BCD trước tiên ta phải thu nhập thông tin theo
ba yếu tố sau:
Kiểu thực thể (Entities Type)
Kiểu liên kết (Entities Relationship Type)
Các thuộc tính (Attributes)
Trang 13Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
13
Thực thể và kiểu thực thể.
Thực thể là một vật thể, một chủ điểm, một nhiệm vụ, một đối tượng, hay
một sự kiện đáng quan tâm đối với tổ chức (và cả bên trong lĩnh vực hệ
thống), kể cả những thông tin mà nó giữ, mà ta muốn phản ánh nó trong
HTTT
Thực thể là một đối tượng được quan tâm đến trong một tổ chức, một hệ
thống, nó có thể là đối tượng cụ thể hay trừu tượng Thực thể phải tồn tại, cần lựa chọn có lợi cho quản lý và phân biệt được
Các kiểu thực thể thường được tìm thấy từ ba nguồn:
Các tài nguyên: vật tư, tài chính, con người, môi trường
Các giao dịch: đó là các thông tin đến từ môi trường bên ngoài nhằm kích động một chuỗi các hoạt động nào đó của hệ thống chẳng hạn như đơn đặt hàng, hóa đơn, điểm thi,
Các thông tin đã cấu trúc hóa: sổ sách, hồ sơ, các bảng biểu quy định
Trang 14Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
14
Thực thể và kiểu thực thể.
Kiểu thực thể là tập hợp các thực thể hoặc một lớp các thực thể có cùng đặc
trưng, cùng bản chất Thể hiện thực thể là một thực thể cụ thể, nó là một phần tửtrong tập hợp hay lớp của kiểu thực thể
Kiểu thực thể là việc nhóm tự nhiên một số thực thể lại, mô tả cho một loại
thông tin chứ không phải là bản thân thông tin
Kiểu thực thể tương đương với bảng logic và có dạng hộp trong sơ đồ mô hình thực thể (trong thực tế, đôi khi người ta còn coi kiểu thực thể như các bảng thực thể)
Kiểu thực thể quan trọng nhất thường rơi vào một trong ba phạm trù sau:
Thông tin liên quan tới một trong giao dịch chủ yếu của hệ thống (chẳng hạn: hoá đơn
bán hàng, hoá đơn mua hàng).
Thông tin liên quan tới các thuộc tính hoặc tài nguyên của hệ thống (chẳng hạn kho
tàng, khách hàng, nhà cung cấp, đội ngũ cán bộ, nguyên vật liệu,…).
Thông tin đã khái quát, thường dưới dạng thống kê, liên quan tới vạch kế hoạch hoặc
kiểm soát (chẳng hạn như dự đoán, ngân sách, tính lương, lịch điều xe, ).
Trang 15Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
Mỗi thực thể trong bảng đều phải được xác định duy nhất
Thuộc tính định danh là một hoặc nhiều thuộc tính trong kiểu thực thể được
dùng để gán cho mỗi thực thể một cách tham trỏ duy nhất
Trang 16Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
16
Các thuộc tính
Thuộc tính mô tả:
Hầu hết các thuộc tính trong một kiểu thực thể đều có thể là mô tả
Thông tin này làm tăng hiểu biết của chúng ta về thực thể và sẽ phục vụ cho các mục đích có ích bên trong hệ thống
Thí dụ về các mô tả trong một hoá đơn:
Một kiểu thuộc tính khóa của một kiểu thực thể là một kiểu thuộc tính mà giá
trị của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó
Trang 17Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
Kiểu quan hệ (liên kết) là tập các liên kết cùng bản chất Giữa các kiểu
thực thể có thể tồn tại nhiều mối quan hệ (liên kết), mỗi mối quan hệ liên kết xác định một tên duy nhất
Biểu diễn các quan hệ bằng đoạn thẳng nối giữa hai kiểu thực thể.
Các dạng kiểu quan hệ (liên kết):xác định có bao nhiêu thể hiện của
kiểu thực thể này có thể kết hợp với bao nhiêu thể hiện của thực thể kia
Trang 18Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
18
Quan hệ và kiểu quan hệ
Mối quan hệ liên kết giữa thực thể:
Bản chất của mối quan hệ này tổ chức và tạo nên cách sử dụng trong việc điều khiển hoạt động công tác
Những mối quan hệ này được biểu diễn trên mô hình thực thể bằng các
đường có mũi tên hoặc dấu tam giác
Có ba kiểu quan hệ chính được sử dụng dưới các dạng đơn giản nhất của mô hình thực thể:
Một - Một: Giữa hai kiểu thực thể A, B là ứng với một thực thể trong A có một thực thể trong B và ngược lại
Một - Nhiều: Giữa hai kiểu thực thể A, B là ứng với một thực thể trong A
có nhiều thực thể trong B, nhưng ngược lại ứng với một thực thể trong B chỉ có một thực thể trong A
Nhiều - Nhiều: Giữa hai kiểu thực thể A, B là ứng với một thực thể trong
A có nhiều thực thể trong B và ngược lại ứng với một thực thể trong B có nhiều thực thể trong A.
Trang 19Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
19
Ví dụ về kiểu quan hệ:
Trang 20Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
20
Có hai giai đoạn của quá trình xây dựng mô hình:
Xác định các thực thể
Xác định các mối quan hệ
Xác định các thực thể là giai đoạn khó nhất trong việc xây dựng mô hình dữ
liệu Để thực hiện được việc này có thể sử dụng các cách tiếp cận sau:
Duyệt lại quá trình hoạt động của đơn vị cơ sở và ghi chép lại toàn bộ các thông tin (các danh từ) có liên quan
Duyệt theo mô hình chức năng và cố gắng trả lời câu hỏi “Khi thực hiện mỗi
chức năng cần sử dụng thông tin gì?”
Sau khi đã có danh sách các danh từ, tiến hành phân loại xem danh từ gì thể hiện các thuộc tính của thực thể
Trang 21Bài 3: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình thực thể liên kết.
21
Xây dựng mô hình dữ liệu- Lược đồ khái niệm
Xác định các mối quan hệ thực thể
Xác định các mối quan hệ giữa các thực thể được thực hiện sau khi đã xác định được
các thực thể quan trọng nhất trong các thông tin mà hệ thống phải quản lý
Một số quy định cần chú ý trong việc xác định các mối quan hệ:
Trong sơ đồ quan hệ thực thể chỉ đưa vào các thực thể thông tin gốc của toàn bộ hệ thống.
Phần chuẩn hóa thông tin thông thường được thực hiện ở giai đoạn thiết kế hoặc phân tích chi tiết trên mô hình quan hệ dữ liệu.
Việc chuẩn hóa được thực hiện theo nguyên tắc sau:
• Hai thực thể có quan hệ một- một thông thường được nhập lại làm một thực thể.
• Hai thực thể có quan hệ nhiều- nhiều cần phân tách thành hai quan hệ một- nhiều với sự trợ giúp của một thực thể phụ (thực thể trung gian)
Bài tập tình huống
Trang 22Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
22
Chuẩn hoá dữ liệu.
Trang 23Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
23
Chuẩn hoá là quá trình khảo sát các danh sách thuộc tính, và áp dụng một tập các quy tắc phân tích vào các danh sách đó, chuyển chúng thành một dạng mà:
Tối thiểu việc lặp lại
Tránh dư thừa
Xác định và giải quyết sự nhập nhằng
Trang 24Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
24
Mô hình quan hệ.
Khái niệm toán học về mô hình quan hệ
Mô hình quan hệ do Codd đề xuất năm 1970 với các ưu điểm như sau:
Đơn giản: các dữ liệu được biểu diễn dưới một dạng duy nhất, là quan hệ, tức là các bảng giá trị, khá tự nhiên và dễ hiểu đối với người dùng không chuyên tin học.
Chặt chẽ: các khái niệm được hình thức hoá cao, cho phép áp dụng các công cụ toán học, các thuật toán.
Trừu tượng hoá cao: mô hình chỉ dừng ở mức quan niệm, nghĩa là độc lập với mức vật
lý, với sự cài đặt, với các thiết bị Nhờ đó làm cho tính độc lập giữa dữ liệu và chương trình cao.
Cung cấp các ngôn ngữ truy nhập dữ liệu ở mức cao, dễ sử dụng và trở thành chuẩn.
Mô hình quan hệ là tập con của tích đề các của các miền R= {A1,A2, ,An} với
Ai (i=1,…, n) là tập hữu hạn các thuộc tính r(R) hay r(A1, A2, , An).Biểu diễn
một quan hệ bảng trong đó cột là các thuộc tính, dòng là các bộ có thứ tự, n là
bậc của R hay R là quan hệ n ngôi
Bộ là tập hợp các giá trị thể hiện của một đối tượng
Khóa (key) quan hệ R là tập con sao cho với t1, t2 R sẽ tồn tại A thuộc K sao cho t1(A) # t2(A) có nghĩa là không tồn tại 2 bộ mà có giá trị bằng nhau trên mọi thuộc tính Các bộ của K là duy nhất
Trang 25Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
25
Kết nối hai quan hệ
Mục đích của phép kết nối là ghép nối mọi bộ của quan hệ R với mọi bộcủa quan hệ S, nếu hai bộ đó có cùng giá trị trên các thuộc tính chung của
R và S, có loại bỏ sự trùng lặp đối với các thuộc tính chung
Phân rã một quan hệ
Mục đích là tách một quan hệ R thành hai quan hệ S và T nhỏ hơn mà
không mất thông tin
S và T là phép chiếu của R.
2 Kết nối của S và T lại là R.
Trang 26Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
26
Khái niệm và định nghĩa phụ thuộc hàm.
Khái niệm phụ thuộc hàm:
Trước hết, chúng ta xem xét khái niệm phụ thuộc hàm giữa hai thuộc tính
Chúng ta nói thuộc tính B phụ thuộc hàm vào thuộc tính A và viết A → B (A
xác định B) nếu với mỗi giá trị của A tương ứng với một giá trị duy nhất của B
Như vậy, sự phụ thuộc hàm nghĩa là:Với mọi giá trị của khoá tại mọi thời
điểm được xét, chỉ có một giá trị cho từng thuộc tính khác nhau trong bảng
Định nghĩa phụ thuộc hàm
Cho quan hệ R(A,B,C), trong đó C có thể rỗng Thuộc tính B gọi là phụ
thuộc hàm vào thuộc tính A hay A xác định B, nếu như trong R bất cứ 2 bộ
(a1, b1, c1) (a2, b2, c2) nào mà có a1 = a2 thì cũng đều có Nói cách khác, luôn luôn có cùng một giá trị của B đi liền với một giá trị cho
trước của A trong quan hệ R (Cho nên cũng nói là: A xác định B)
Tính chất phụ thuộc hàm
Trang 27Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
27
Phụ thuộc hàm sơ đẳng, phụ thuộc hàm trực tiếp và khoá của quan hệ:
Một phụ thuộc hàm (PTH) A →B là PTH sơ đẳng nếu không tồn tại A’
A mà A’→ B Nói cách khác không có thuộc tính thừa trong vế trái của PTH
Một PTH A→ B trong một quan hệ R là PTH trực tiếp nếu không tồn tại
tập thuộc tính C trong R khác với A và B, mà: A → C và C → B
A là khóa của một quan hệ R (A,B) nếu A→B là một PTH sơ đẳng trong
R
Trang 28Bài 4: Lập biểu đồ cấu trúc dữ liệu (BCD)
theo mô hình quan hệ.
28
Các dạng chuẩn.
Nếu một quan hệ không ở dạng chuẩn sẽ gây ra sự dư thừa thông tin dẫn đến một CSDL mâu thuẫn Chuẩn hóa nhằm loại bỏ dư thừa thông tin
Dạng chuẩn 1 (1NF): Một quan hệ R gọi là chuẩn 1 nếu như các miền thuộc
tính của nó đều là nguồn đơn (dãy số sơ cấp)
Dạng chuẩn 2 (2NF): Một dạng chuẩn là chuẩn 2 nếu như nó là chuẩn 1 và
phụ thuộc hàm giữa khóa và các thuộc tính khác là phụ thuộc hàm sơ đẳng
Dạng chuẩn 3 (3NF): Một dạng chuẩn là chuẩn 3 nếu như nó là chuẩn 2 và
phụ thuộc hàm giữa khóa và các thuộc tính khác là phụ thuộc hàm trực tiếp
Nguyên tắc: Một quan hệ được chuẩn hóa có thể tách thành một hoặc nhiều
quan hệ chuẩn hóa khác mà không làm mất mát thông tin