Bài giảng chương 2: Phân tích hệ thống

Bộ bài giảng gồm chương 2 giúp sinh viên củng cố kiến thức và đạt điểm cao trong bài thi kết thúc học phần Phân tích hệ thống.

Chương 2: PHÂN TÍCH HỆ THỐNG
NỘI DUNG
2.1. Tổng quan về phân tích hệ thống
2.2. hình hóa chức năng
2.3. hình hóa dữ liệu
2.1.
Tổng quan về phân tích hệ thống
Khái niệm phân tích hệ thống
*Trả lời các câu hỏi: - Ai sẽ sử dụng HT? - HT sẽ làm những gì? - HT sẽ được sử dụng
ở đâu? Khi nào?
=>Nhóm dự án điều tra HT hiện tại, xác định những điều thể cải tiến và phát triển
khái niệm cho HT mới
*Các bước thực hiện:
Phát triển chiến lược phân tích
Thu thập thông tin (bằng phỏng vấn, các bảng câu hỏi,…)
Việc phân tích, quan niệm về HT mớicác hình được tổ hợp thành tài liệu =>
được trình bày với nhà bảo trợ dự án và các nhà quyết định khác
*Thành phần tham gia: Người phân tích, bộ phận quản user, bộ phận quản HT,
user
- Các hướng tiếp cận phân tích hệ thống
»Phi cấu tc
»Bán cấu tc
»Có cấu tc
Các phương pháp hướng chức năng
Các phương pháp hướng đối tượng
- Các giai đoạn phân tích hệ thống
»Phân tích HT về chức năng
»PTHT về dữ liệu
»PTHT về động ti
(ở các mức: logic và vật lý)
2.2.
hình hóa chức năng
- Biểu đồ phân cấp chức năng (BPC)
- Biểu đồ luồng dữ liệu (BLD)
* Biểu đồ phân cấp chức năng (BPC)
- công cụ tả hệ thống qua chức ng
- Cho phép phân các chức năng từ mức cao thành các chức năng chi tiết nhỏ hơn
cây chức năng
- Thành phần
+ Các chức năng: công việc tổ chức cần làm được phân theo nhiều mức từ
tổng thể đến chi tiết
+ Cách đặt tên: Động từ + bổ ngữ (nếu cần). Động từ thể hiện hoạt động, bổ ngữ
thường liên quan đến các thực thể dữ liệu trong miền nghiên cứu.
VD: Lấy đơn hàng, Mua hàng, Bảo trì kho,… Cách biểu diễn: Hình chữ nhật (có ghi
tên bên trong)
VD:
+ Quan hệ phân cấp
+) Mỗi chức năng được phân thành các chức năng con. Các chức năng con quan
hệ phân cấp với chức năng cha.
+) Biểu diễn:
- Xây dựng hình:
+ Nguyên tắc phân rã các chức ng
MUA HÀNG
+) Mỗi chức năng được phân phải một bộ phận thực sự tham gia thực hiện
chức năng đã phân rã ra nó.
+) Việc thực hiện tất cả các chức năng mức dưới trực tiếp phải đảm bảo thực
hiện được các chức năng ở mức trên đã phân rã ra chúng
+ Tiến hành
+) Xác định chức năng
+) Phân các chức năng
- Đặc điểm
+ Các chức năng khái quát nhất, trực quan, dễ hiểu, dễ thành lập
+ Gần với đồ tổ chức (dạng cây), tức sự tương ứng nhưng không nhất thiết
tương ứng 1-1 giữa 2 sơ đồ (hình 3a, 3b)
+ Mang tính chất tĩnh (chỉ thấy chức năng, không cho thấy trình tự xử lý)
+ Thiếu sự trao đổi TT giữa các chức năng =>thường dùng trong bước đầu phân tích,
cho HT đơn giản. Với HT phức tạp => dùng biểu đồ luồng DL
- Bố trí, sắp xếp biểu đồ
+ Không nên phân rã biểu đồ quá 6 mức
+ Các chức năng cùng mức sắp xếp trên cùng hàng, cùng dạng
+ Bố trí cân đối, ràng
* Biểu đồ luồng dữ liệu (DFD)
- hình luồng dữ liệu (DFD - Data Flow Diagram) một công cụ tả mối quan
hệ thông tin giữa các công việc.
- Mục đích:
+ Bổ sung khiếm khuyết của hình phân chức năng bằng việc bổ sung các luồng
thông tin nghiệp vụ cần để thực hiện chức năng.
+ Cho ta cái nhìn đầy đủ hơn về các mặt hoạt động của HT
+ mt trong số các đầu vào cho quá trình thiết kế hệ thống.
- Phương pháp: Phương pháp phân tích top-down. Hệ thống được tả bởi nhiều
DFD ở nhiều mức.
- Các thành phần
+ Chức năng xử (Process)
+ Luồng dữ liệu (Data flow)
+ Kho dữ liệu (Data Store)
+ Tác nhân ngoài (External Entity)
+ Tác nhân trong (Internal Entity)
* Chức năng xử (Process)
- chức năng biểu đạt các thao tác, nhiệm vụ hay tiến trình xử nào đó.
- m biến đổi thông tin
- Biểu diễn bằng đường tròn (oval) trong ghi tên (nhãn)
- Tên (nhãn) chức năng = Động từ +Bổ ngữ
* Luồng dữ liệu (Data flow)
- luồng thông tin vào hay ra một chức năng xử
- Được biểu diễn bằng mũi tên ớng, trên ghi tên (nhãn)
- Tên (nhãn) luồng dữ liệu = Danh từ + Tính từ (nếu cần)
* Kho dữ liệu (Data store)
- các thông tin cần lưu giữ lại trong một khoảng thời gian, để chức năng xử hoặc
tác nhân trong sử dụng.
- Được biểu diễn bằng cặp đoạn thẳng song song, giữa ghi tên (nhãn) của kho.
- Tên (nhãn) = danh từ + tính từ (nếu cần)
* Quy tắc sử dụng kho dữ liệu
- Ba cách truy cập: a) đọc, b) ghi, c) đọcghi
*Tác nhân ngoài (đối c)
- người, nhóm hay tổ chức bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng
tiếp xúc, trao đổi thông tin với hệ thống.
- Biểu diễn bằng hình chữ nhật gán tên (nhãn)
- Tên (nhãn) = danh từ + tính từ (nếu cần)
*Tác nhân trong (Internal Entity)
- một chức năng hay một hệ thống con được tả một trang khác của biểu đồ.
- Biểu diễn bằng hình chữ nhật hở một phía trên ghi tên (nhãn)
- Tên (nhãn) = động từ + bổ ngữ (nếu cần)
* Chú ý khi xây dựng BLD
- Không hai tác nhân ngoài trao đổi trực tiếp với nhau
- Không trao đổi trực tiếp giữa 2 kho dữ liệu
- Luồng dữ liệu vào, ra kho không cần tên, chỉ ghi tên khi cập nhật hay trích một phần
thông tin
- thể vẽ lại nhiều lần tác nhân ngoài, tác nhân trong và kho dữ liệu
- Chức năng phải ít nhất một luồng vào và một luồng ra
- Kho dữ liệu phải ít nhất một luồng vào và một luồng ra
- Tác nhân ngoài không trao đổi trực tiếp với kho dữ liệu phải thông qua chức
năng.
* Phương pháp xây dựng BLD
- 3 mức cơ bản:
+ Mức 0: Biểu đồ luồng dữ liệu mức khung cảnh (Context Data Flow Diagram)
+ Mức 1: Biểu đồ luồng dữ liệu mức đỉnh (Top level Data Flow Diagram)
+ Mức 2: Biểu đồ luồng dữ liệu mức dưới đỉnh (Levelling Data Flow Diagram)
** Biểu đồ luồng dữ liệu mức khung cảnh
- hình hệ thống ở mức tổng quát nhất
» hệ thống chỉ duy nhất một chức ng
» các tác nhân ngoài và đồng thời các luồng dữ liệu vào ra từ tác nhân ngoài
đến hệ thống được xác định
** Biểu đồ luồng dữ liệu mức đỉnh
- sự phân rã trực tiếp từ biểu đồ mc khung cảnh đáp ứng các yêu cầu:
» Bảo toàn các tác nhân ngoài và các luồng thông tin vào/ra của hệ thống
» Thay thế 1 chức năng duy nhất của hệ thống bởi nhiều chức năng con
» Bổ sung thêm các luồng dữ liệu nội bộ và các kho dữ liệu cần thiết
** Biểu đồ luồng dữ liệu mức dưới đỉnh
- Các chức năng được định nghĩa riêng từng biểu đồ
- Các thành phần của biểu đồ tuân thủ nguyên tắc:
» Về chức năng: phân rã CN cấp trên thành CN cấp dưới thấp hơn
» Luồng dữ liệu: vào/ra mức trên thì lặp lại mức dưới, bổ sung thêm các
luồng dữ liệu do phân rã các chức năng và thêm kho dữ liệu
» Kho dữ liệu dần dần xuất hiện theo nhu cầu nội bộ
» c nhân ngoài: xuất hiện đầy đủ mức khung cảnh, mc dưới không thể
thêm gì.
2.3.
hình hóa dữ liệu
- hình thực thể/ liên kết (E/A)
- hình quan hệ
- Mọi hệ thống đều phải sử dụng một CSDL củanh
+ thể một CSDL đã hoặc CSDL được xây dựng mới.
+ Cũng những HT sử dụng cả CSDL mới.
- Việc PT&TK CSDL cho một HT thể tiến hành đồng thời với việc PT&TK
HT hoặc có thể tiến hành riêng.
=> cần xây dựng một CSDL giảm được tối đa sự thừa dữ liệu đồng thời phải
dễ khôi phục và bảo trì.
- sở dữ liệu: một kho chứa một bộ sưu tập tổ chức các file dữ liệu, các
bản ghi và các trường.
- Hệ quản trị sở dữ liệu (HQTCSDL) một phần mm điều khiển mọi truy
nhập đối với CSDL.
- Các HQTCSDL được phân loại theo hình dữ liệu như sau:
+ Các HQTCSDL phân cấp ứng với hình phân cấp (VD: IMS của IBM)
+ Các HQTCSDL mạng ứng với hình mạng (VD: IDMS của Cullinet
Software)
+ Các HQTCSDL quan hệ ứng với hình quan hệ (VD: ORACLE của
Oraccle, DB2 của IBM, Access và SQL server của Microsoft)
+ Các HQTCSDL hướng đối tượng ứng với hình ớng đối tượng (VD:
Jasmine, …)
- Các bước tiến hành phân tích thiết kế CSDL
+ Phân tích: (độc lập với các HQTCSDL).
» Xác định các yêu cầu về dữ liệu: Phân tích các yêu cầu dữ liệu của hệ thống
để xác định các yêu cầu về dữ liệu.
» hình hoá dữ liệu: Xây dựng hình thực thể liên kết biểu diễn các yêu
cầu về dữ liệu => chuyển sang mô hình quan hệ.
+ Thiết kế CSDL quan hệ
-- Thiết kế logic CSDL: (độc lập với một HQTCSDL).
» Xác định các quan hệ: Chuyển từ hình thực thể liên kết sang hình
quan hệ.
» Chuẩn hoá các quan hệ: chuẩn hoá các quan hệ về dạng chuẩn ít nhất chuẩn
3 (3NF)
-- Thiết kế vật CSDL: dựa trên một hệ quản trị CSDL cụ thể.
» Xây dựng các bảng trong CSDL quan hệ: quyết định cấu trúc thực tế của các
bảng lưu trữ trong mô hình quan hệ.
» Hỗ trợ các cài đặt vật trong CSDL: cài đặt chi tiết trong HQTCSDL lựa
chọn.
* hình thực thể/ liên kết (E/A)
- Các thành phần:
+ Thực thể
+) một vật thể cụ thể hay trừu tượng, một nhiệm vụ, một sự kiện tồn
tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó
trong HTTT.
+) Một thực thể tương đương với một dòng trong bảng
VD: Thực thể cụ thể như: sinh viên An, Đơn hàng số 123, ... Thực thể
trừu tượng như: Khoa CNTT, Tài khoản số 56789,…
+ Kiểu thực thể
+) việc nhóm tự nhiên một số thực thể lại, tả cho một loại thông
tin chứ không phải bản thân thông tin.
=>Thường tập hợp các thực thể cùng bản chất. Tên kiểu thực thể:
là một danh từ.
VD: Lê An một thực thể, được quan tâm tớianh ta đang học tại một
trường đại học A, tức anh ta một sinh viên => SINH VIÊN một kiểu
thực thể vì nó mô tả cho một số thực thể và dựa trên đó thông tin được
lưu giữ.
+) Kiểu thực thể được biểu diễn dạng hình chữ nhật
+ Liên kếtkiểu liên kết
+) Liên kết (còn gọi là quan hệ): là sự kết nối có ý nghĩa giữa hai hay
nhiều thực thể, phản ánh sự ràng buộc về quản Đặc biệt: Một thực thể
có thể liên kết với chính nó, gọi là tự liên kết.
+) Kiểu liên kết tập hợp các liên kết cùng bản chất. Các kiểu
liên kết cho biết số thể hiện lớn nhất của mỗi thực thể tham gia
vào liên kết với một thể hiện của một thực thể khác. Có ba kiểu
liên kết: 1 - 1, 1 - nhiều, nhiều – nhiều
-- Liên kết một một (1-1):
+ Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực
thể B và ngược lại.
+ Kí hiệu:
+ dụ: Một sinh viên một luận văn. Một luận văn thuộc về
một sinh viên
--Liên kết một nhiều (1-N):
+ Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực
thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một
thể hiện của thực thể A.
+ Kí hiệu:
+ dụ: Một khoa nhiều sinh viên. Một sinh viên thuộc về một
khoa.
-- Liên kết nhiều nhiều (N-N):
+ Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực
thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều
thể hiện của thực thể A.
+ Kí hiệu:
+ dụ: Một giáo viên dạy nhiều sinh viên. Một sinh viên được
dạy bởi nhiều giáo viên.
-- Loại thành viên: điều kiện một thể hiện của thực thể tham gia
vào liên kết với một thực thể khác, có thể là bắt buộc hay tuỳ
chọn trong quan hệ. Các loại thành viên cho biết số thể hiện nhỏ
nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của
một thực thể khác.
+ Thuộcnh
-- Chú ý:
+ Liên kết một - nhiều: biểu thị ràng buộc, là một phần của mô tả
yêu cầu nghiệp vụ. Khi chiều một nhiều là mở, không xác định
(khách hàng có thể có nhiều đơn hàng) thì chiều từ nhiều sang
một hoàn toàn xác định (một đơn hàng phải thuộc về một khách
hàng).
+ Nếu hai thực thể quan hệ một - một => thường gộp hai thực
thể làm một bảng với mỗi dòng dài hơn.
+ Nếu hai thực thể quan hệ nhiều - nhiều thì không sự khác
biệt về bản chất giữa các chiều (không nói lên được kẻ thống trị)
=> ít khi được sử dụng. Tóm lại: liên kết một - nhiều là quan
trọng hơn cả. Hầu như các mối quan hệ trong hình thực thể
liên kết đều là một - nhiều.
+) Thuộc tính:
» giá trị thể hiện một đặc điểm nào đó của một thực thể hay
một liên kết.
» Mỗi thực thể được tả bằng một bộ thuộc tính VD: SINH
VIÊN = {Mã SV, tên SV, ngày sinh, giới tính, địa chỉ,…}
+) Kiểu thuộc tính
» Thuộc tính khóa (định danh): cho phép phân biệt các thực thể khác
nhau
» Thuộc tính tả
+ Thuộc tính tên gọi
+ Thuộc nh kết nối (khoá ngoài):chỉ ra mối quan hệ giữa một
thực thể đã có và một thực thể trong bảng khác. Là thuộc tính mô tả
trong thực thể chứa nó nhưng lại là thuộc tính khoá của một thực thể
trong bảng khác
* Xây dựng hình E/A của hệ thống
B1: Xác định các thực thể các định danh thực thể. Tìm thực thể từ 3 nguồn: thông
tin tài nguyên (NCC, mặt hàng, kho,…), thông tin giao dịch (đơn hàng, dự trù, phiếu
y/c,…), thông tin tổng hợp (dự toán chi tiêu, tính lương,…)
Kiểm tra rằng mỗi thực thể thoả mãn:
+ Tên gọi danh từ.
+ nhiều thể hiện.
+ duy nhất một định danh.
+ ít nhất một thuộc tính tả.
+ quan hệ với ít nhất một thực thể khác
B2: Xác định liên kết giữa các thực thể
+ Thiết lập sự tồn tại của liên kết (Vẽ đường thẳngđặt tên quan hệ tại hai đầu)
+ Xác định loại liên kết (1-1, 1-N, N-N)loại thành viên (tu chọn hay bắt buộc).
+ Tách liên kết N-N thành hai liên kết 1-N với một thực thể kết hợp. Khi đó thực thể
kết hợp sẽ định danh được tạo thành từ hai thuộc tính định danh của các thực thể
ban đầu.
B3: Xác định các thuộc tính tả cho các thực thể
+ Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng.
+ Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu phân tích
nó.
Chú ý: Khi một thuộc tính của thực thể A nhiều giá trị => nh hoá thuộc tính
đó một thực thể B quan hệ phụ thuộc với thực thể A. Định danh của thực thể B sẽ
bao gồm các thuộc tính định danh của thực thể A một số thuộc tính khác của thực
thể B. Liên kết giữa thực thể A và thực thể B được gọi là liên kết phụ thuộc.
dụ: Một nhân viên thể nhiều trình độ ngoại ngữ với các ngôn ngữ khác nhau.
Khi đó trình độ ngoại ngữ của nhân viên không được hình hoá một thuộc tính
mà được mô hình hoá là một thực thể như sau:
Định danh của thực thể TRÌNH ĐỘ NN gồm hai thuộc tính NVngoại ngữ
dụ: Một công ty thương mại Y chuyên kinh doanh các mặt hàng điện tử. Công ty
nhập các mặt hàng từ các nhà cung cấp khác nhau. Chi tiết về các mặt hàng gồm có:
hàng (duy nhất), n hàng các tả mặt hàng. ng ty cũng cần lưu giữ thông
tin về các nhà cung cấp như tên, địa chỉ, điện thoại, fax. Mỗi nhà cung cấp một
duy nhất. Mỗi nhà cung cấp thể cung cấp nhiều mặt hàng nhưng mỗi mặt hàng chỉ
được cung cấp từ một nhà cung cấp. Các mặt hàng được lưu giữ trong c kho. Mỗi
kho hàng một diện tích khác nhau chỉ chứa một loại mặt hàng. Công ty có nhiều
cửa hàng đại lý để bán các mặt hàng. Hàng được cung cấp cho các cửa hàng thông qua
các các phiếu xuất. Thông tin trên mỗi phiếu xuất cần số cửa hàng nhận hàng,
ngày xuất, thông tin về các mặt hàng được xuất như tên hàng, số lượng, đơn giá, thành
tiền. Yêu cầu: Vẽ mô hình thực thể liên kết của hệ thống
Các bước tiến hành:
1. Xác định các thực thể, định danh thực thể và các thuộc tính tả:
+ HÀNG: hàng, tên hàng, đơn giá, số lượng, tả
+ NHÀ CUNG CẤP: NCC, tên NCC, địa chỉ, điện thoại, fax
+ KHO: số kho, diện ch, mô tả
+ PHIẾU XUẤT: số phiếu, ngày xuất, số cửang
+ CỬA HÀNG: số cửa hàng, địa điểm, tả
2. Xác định liên kết giữa các thực thể
+ Một mặt hàng cần được cung cấp bởi một nhà cung cấp. Một nhà cung cấp cần
cung cấp một hoặc nhiều mặt hàng.
+ Một mặt hàng cần được lưu giữ trong một kho. Mỗi kho lưu giữ 0 hoặc một loại
hàng.
+ Một mặt hàng được xuất trong 0, 1 hoặc nhiều phiếu xuất. Một phiếu xuất có thể
xuất 1 hoặc nhiều mặt hàng.
+ Một cửa hàng nhận được 0, 1 hoặc nhiều phiếu xuất. Mỗi phiếu xuất cần được
xuất cho chỉ một cửa hàng.
3. Vẽ hình thực thể liên kết của HT bán hàng trong công ty Y
- Quan hệ N-N giữa HÀNG và PHIẾU XUẤT có thể được tách thành 2 quan hệ 1-N
với thực thể kết hợp DÒNG PHIẾU XUẤT như sau:
* hình quan hệ
- Thành phần:
+ Gồm: Các quan hệ - các bộ - các thuộc tính. Tương ứng với các thành phần trong
hình thực thể liên kết là: Các thực thể các thể hiện của thực thể các thuộc tính.
hình thực thể liên kết => Mô hình quan hệ => Các bảng trong HQTCSDL
**Biểu diễn quan hệ dưới dạng bảng:
Chú ý:
Các bộ trong một quan hệ không được trùng nhau.
Thuộc tính được xác định bởi tên, thứ tự của các thuộc tính trong quan hệ là không
quan trọng. Trong một quan hệ, tên các thuộc tính phải khác nhau (các miền giá trị của
các thuộc tính không nhất thiết khác nhau)
- Khoá:
+ Khoá chính (định danh): một/1 nhóm thuộc tính xác định duy nhất một bộ trong
quan hệ =>được gạch chân
+ Khoá ghép: khoá từ hai thuộc tính trở n.
+ Khoá ngoài: được sử dụng để thiết lập một mối quan hệ. thuộc tính tả của
quan hệ này nhưng lại là thuộc tính khoá trong quan hệ khác.
được in nghiêng hoặc gạch chân bằng nét đứt.
+ Khoá giả: khi khoá chính từ 3 thuộc tính trở lên người ta thường đặt ra một khoá
giả làm khoá chính để tiện lợi hơn trong việc truy vấn dữ liệu.
- Ràng buộc:
+ Ràng buộc thực thể: là một ràng buộc trên khoá chính. Nó yêu cầu khoá chính phải
tối thiểu, xác định duy nhất và không null. (Giá trị null tức không giá trị, nó khác
với giá trị 0 hay dấu cách)
+ Ràng buộc tham chiếu (ràng buộc khoá ngoài): liên quan đến tính toàn vẹn của mối
quan hệ tức liên quan đến tính toàn vẹn của khoá ngoài. Một ràng buộc tham chiếu
yêu cầu một giá trị khoá ngoài trong một quan hệ cần phải tồn tại là một giá trị khoá
chính trong một quan hệ khác hoặc là giá trị null.
- Các dạng chuẩn
+ Phụ thuộc hàm
+)Trong một quan hệ R, thuộc tính B phụ thuộc m vào thuộc tính A (hay
thuộc tính A xác định hàm thuộcnh B,hiệu A ->B) nếu với mỗi giá trị của
thuộc tính A xác định một giá trị duy nhất của thuộc tính B.
dụ: SV->Ngày sinh
+) Phụ thuộc hàm giữa nhiều thuộc tính: thuộc tính B phụ thuộc hàm vào các
thuộc tính A1 A2 hiệu{A1,A2} B nếu với mỗi cặp giá trị của A1 A2
xác định duy nhất 1 giá trị của B.
dụ: {Số hoá đơn, hàng}-> Số lượng
Chú ý: A1-> {A2,A3} ≡ A1-> A2 và A1-> A3 {A1,A2}-> A3 ≠ A1-> A3A2-> A3
+) Các loại phụ thuộc hàm
Phụ thuộc hàm đầy đủ: B gọi là phụ thuộc đầy đủ vào tập thuộc tính A
(có từ 2 thuộc tính trở lên) nếu chỉ phụ thuộc hàm vào A và không phụ thuộc
hàm vào bất cứ tập con nào của A. Ngược lại B gọi là phụ thuộc hàm bộ phận
vào tập thuộc tính A.
Phụ thuộc hàm bắc cầu: Nếu A1 -> A2A2 -> A3 thì A1 -> A3.
Khi đó A3 được gọi là phụ thuộc bắc cầu vào A1.
- Các dạng chuẩn:
+ Dạng chuẩn 1 (1NF): Một quan hệ ở dạng chuẩn 1 nếu toàn bộ các miền
thuộc tính đều là các miền đơn và không tồn tại nhóm thuộc tính lặp.
Một thuộc tính A thuộc tính lặp nếu với một giá trị cụ thể của khoá chính
nhiều giá trị của thuộc tính A kết hợp với khoá chính này.
dụ: Khoá chính SV. Nhóm thuộc tính lặp Môn học và Điểm.
+ Dạng chuẩn 2 (2NF): Một quan hệ ở dạng chuẩn 2 nếu nó đã ở dạng chuẩn 1
và không tồn tại phụ thuộc hàm bộ phận vào khoá.
dụ: Cho một quan hệ: R (A, B, C, D, E)
Khoá chính là A,B
Các phụ thuộc hàm:
{A,B} -> D;
A -> C; (Phụ thuộc hàm bộ phận vào khoá)
D -> E =>Quan hệ R trên ko dạng chuẩn 2
* Chú ý: Quan hệ khoá chính một thuộc tính luôn ở dạng chuẩn 2
+ Dạng chuẩn 3 (3NF): Một quan hệ dạng chuẩn 3 nếu đã dạng chuẩn 2
không tồn tại phụ thuộc m bắc cầu vào khoá (hay phụ thuộc hàm giữa các thuộc
tính không khoá).
dụ: Cho một quan hệ: R (A, B, D, E) Khoá chính là A,B Các phụ thuộc hàm:
{A,B} -> D;
D -> E (Phụ thuộc hàm giữa các thuộc tính không khoá)
=>Quan hệ R trên ko ở dạng chuẩn 3
- Biểu diễn bằng bảng các kiểu thực thể liên kết
- hình vẽ các liên kết chính
dụ: quan hệ Đơn hàng Mặt hàng NhàCC NCC/MH
» hình thực thể liên kết
| 1/18

Preview text:

Chương 2: PHÂN TÍCH HỆ THỐNG NỘI DUNG
2.1. Tổng quan về phân tích hệ thống
2.2. Mô hình hóa chức năng
2.3. Mô hình hóa dữ liệu
2.1. Tổng quan về phân tích hệ thống
Khái niệm phân tích hệ thống
*Trả lời các câu hỏi: - Ai sẽ sử dụng HT? - HT sẽ làm những gì? - HT sẽ được sử dụng ở đâu? Khi nào?
=>Nhóm dự án điều tra HT hiện tại, xác định những điều có thể cải tiến và phát triển khái niệm cho HT mới *Các bước thực hiện:
• Phát triển chiến lược phân tích
• Thu thập thông tin (bằng phỏng vấn, các bảng câu hỏi,…)
• Việc phân tích, quan niệm về HT mới và các mô hình được tổ hợp thành tài liệu =>
được trình bày với nhà bảo trợ dự án và các nhà quyết định khác
*Thành phần tham gia: Người phân tích, bộ phận quản lý user, bộ phận quản lý HT, user
- Các hướng tiếp cận phân tích hệ thống »Phi cấu trúc »Bán cấu trúc »Có cấu trúc
Các phương pháp hướng chức năng
Các phương pháp hướng đối tượng
- Các giai đoạn phân tích hệ thống
»Phân tích HT về chức năng »PTHT về dữ liệu »PTHT về động thái
(ở các mức: logic và vật lý)
2.2. Mô hình hóa chức năng
- Biểu đồ phân cấp chức năng (BPC)
- Biểu đồ luồng dữ liệu (BLD)
* Biểu đồ phân cấp chức năng (BPC)
- Là công cụ mô tả hệ thống qua chức năng
- Cho phép phân rã các chức năng từ mức cao thành các chức năng chi tiết nhỏ hơn → cây chức năng - Thành phần
+ Các chức năng: Là công việc mà tổ chức cần làm và được phân theo nhiều mức từ
tổng thể đến chi tiết
+ Cách đặt tên: Động từ + bổ ngữ (nếu cần). Động từ thể hiện hoạt động, bổ ngữ
thường liên quan đến các thực thể dữ liệu trong miền nghiên cứu.
VD: Lấy đơn hàng, Mua hàng, Bảo trì kho,… Cách biểu diễn: Hình chữ nhật (có ghi tên bên trong) VD: MUA HÀNG + Quan hệ phân cấp
+) Mỗi chức năng được phân rã thành các chức năng con. Các chức năng con có quan
hệ phân cấp với chức năng cha. +) Biểu diễn: - Xây dựng mô hình:
+ Nguyên tắc phân rã các chức năng
+) Mỗi chức năng được phân rã phải là một bộ phận thực sự tham gia thực hiện
chức năng đã phân rã ra nó.
+) Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực
hiện được các chức năng ở mức trên đã phân rã ra chúng + Tiến hành +) Xác định chức năng
+) Phân rã các chức năng - Đặc điểm
+ Các chức năng là khái quát nhất, trực quan, dễ hiểu, dễ thành lập
+ Gần với sơ đồ tổ chức (dạng cây), tức có sự tương ứng nhưng không nhất thiết là
tương ứng 1-1 giữa 2 sơ đồ (hình 3a, 3b)
+ Mang tính chất tĩnh (chỉ thấy chức năng, không cho thấy trình tự xử lý)
+ Thiếu sự trao đổi TT giữa các chức năng =>thường dùng trong bước đầu phân tích,
cho HT đơn giản. Với HT phức tạp => dùng biểu đồ luồng DL
- Bố trí, sắp xếp biểu đồ
+ Không nên phân rã biểu đồ quá 6 mức
+ Các chức năng cùng mức sắp xếp trên cùng hàng, cùng dạng
+ Bố trí cân đối, rõ ràng
* Biểu đồ luồng dữ liệu (DFD)
- Mô hình luồng dữ liệu (DFD - Data Flow Diagram) là một công cụ mô tả mối quan
hệ thông tin giữa các công việc. - Mục đích:
+ Bổ sung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ sung các luồng
thông tin nghiệp vụ cần để thực hiện chức năng.
+ Cho ta cái nhìn đầy đủ hơn về các mặt hoạt động của HT
+ Là một trong số các đầu vào cho quá trình thiết kế hệ thống.
- Phương pháp: Phương pháp phân tích top-down. Hệ thống được mô tả bởi nhiều DFD ở nhiều mức. - Các thành phần
+ Chức năng xử lý (Process)
+ Luồng dữ liệu (Data flow)
+ Kho dữ liệu (Data Store)
+ Tác nhân ngoài (External Entity)
+ Tác nhân trong (Internal Entity)
* Chức năng xử (Process)
- Là chức năng biểu đạt các thao tác, nhiệm vụ hay tiến trình xử lý nào đó.
- Làm biến đổi thông tin
- Biểu diễn bằng đường tròn (oval) trong ghi tên (nhãn)
- Tên (nhãn) chức năng = Động từ +Bổ ngữ
* Luồng dữ liệu (Data flow)
- Là luồng thông tin vào hay ra một chức năng xử lý
- Được biểu diễn bằng mũi tên có hướng, trên có ghi tên (nhãn)
- Tên (nhãn) luồng dữ liệu = Danh từ + Tính từ (nếu cần)
* Kho dữ liệu (Data store)
- Là các thông tin cần lưu giữ lại trong một khoảng thời gian, để chức năng xử lý hoặc tác nhân trong sử dụng.
- Được biểu diễn bằng cặp đoạn thẳng song song, giữa ghi tên (nhãn) của kho.
- Tên (nhãn) = danh từ + tính từ (nếu cần)
* Quy tắc sử dụng kho dữ liệu
- Ba cách truy cập: a) đọc, b) ghi, c) đọc và ghi
*Tác nhân ngoài (đối tác)
- Là người, nhóm hay tổ chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có
tiếp xúc, trao đổi thông tin với hệ thống.
- Biểu diễn bằng hình chữ nhật có gán tên (nhãn)
- Tên (nhãn) = danh từ + tính từ (nếu cần)
*Tác nhân trong (Internal Entity)
- Là một chức năng hay một hệ thống con được mô tả ở một trang khác của biểu đồ.
- Biểu diễn bằng hình chữ nhật hở một phía trên có ghi tên (nhãn)
- Tên (nhãn) = động từ + bổ ngữ (nếu cần)
* Chú ý khi xây dựng BLD
- Không có hai tác nhân ngoài trao đổi trực tiếp với nhau
- Không có trao đổi trực tiếp giữa 2 kho dữ liệu
- Luồng dữ liệu vào, ra kho không cần tên, chỉ ghi tên khi cập nhật hay trích một phần thông tin
- Có thể vẽ lại nhiều lần tác nhân ngoài, tác nhân trong và kho dữ liệu
- Chức năng phải có ít nhất một luồng vào và một luồng ra
- Kho dữ liệu phải có ít nhất một luồng vào và một luồng ra
- Tác nhân ngoài không trao đổi trực tiếp với kho dữ liệu mà phải thông qua chức năng.
* Phương pháp xây dựng BLD - Có 3 mức cơ bản:
+ Mức 0: Biểu đồ luồng dữ liệu mức khung cảnh (Context Data Flow Diagram)
+ Mức 1: Biểu đồ luồng dữ liệu mức đỉnh (Top level Data Flow Diagram)
+ Mức 2: Biểu đồ luồng dữ liệu mức dưới đỉnh (Levelling Data Flow Diagram)
** Biểu đồ luồng dữ liệu mức khung cảnh
- Là mô hình hệ thống ở mức tổng quát nhất
» hệ thống chỉ duy nhất có một chức năng
» các tác nhân ngoài và đồng thời các luồng dữ liệu vào ra từ tác nhân ngoài
đến hệ thống được xác định
** Biểu đồ luồng dữ liệu mức đỉnh
- Là sự phân rã trực tiếp từ biểu đồ mức khung cảnh đáp ứng các yêu cầu:
» Bảo toàn các tác nhân ngoài và các luồng thông tin vào/ra của hệ thống
» Thay thế 1 chức năng duy nhất của hệ thống bởi nhiều chức năng con
» Bổ sung thêm các luồng dữ liệu nội bộ và các kho dữ liệu cần thiết
** Biểu đồ luồng dữ liệu mức dưới đỉnh
- Các chức năng được định nghĩa riêng từng biểu đồ
- Các thành phần của biểu đồ tuân thủ nguyên tắc:
» Về chức năng: phân rã CN cấp trên thành CN cấp dưới thấp hơn
» Luồng dữ liệu: vào/ra mức trên thì lặp lại ở mức dưới, bổ sung thêm các
luồng dữ liệu do phân rã các chức năng và thêm kho dữ liệu
» Kho dữ liệu dần dần xuất hiện theo nhu cầu nội bộ
» Tác nhân ngoài: xuất hiện đầy đủ ở mức khung cảnh, ở mức dưới không thể thêm gì.
2.3. Mô hình hóa dữ liệu
- Mô hình thực thể/ liên kết (E/A) - Mô hình quan hệ
- Mọi hệ thống đều phải sử dụng một CSDL của mình
+ Có thể là một CSDL đã có hoặc CSDL được xây dựng mới.
+ Cũng có những HT sử dụng cả CSDL cũ và mới.
- Việc PT&TK CSDL cho một HT có thể tiến hành đồng thời với việc PT&TK
HT hoặc có thể tiến hành riêng.
=> cần xây dựng một CSDL giảm được tối đa sự dư thừa dữ liệu đồng thời phải
dễ khôi phục và bảo trì.
- Cơ sở dữ liệu: là một kho chứa một bộ sưu tập có tổ chức các file dữ liệu, các bản ghi và các trường.
- Hệ quản trị cơ sở dữ liệu (HQTCSDL) là một phần mềm điều khiển mọi truy nhập đối với CSDL.
- Các HQTCSDL được phân loại theo mô hình dữ liệu như sau:
+ Các HQTCSDL phân cấp ứng với mô hình phân cấp (VD: IMS của IBM)
+ Các HQTCSDL mạng ứng với mô hình mạng (VD: IDMS của Cullinet Software)
+ Các HQTCSDL quan hệ ứng với mô hình quan hệ (VD: ORACLE của
Oraccle, DB2 của IBM, Access và SQL server của Microsoft)
+ Các HQTCSDL hướng đối tượng ứng với mô hình hướng đối tượng (VD: Jasmine, …)
- Các bước tiến hành phân tích thiết kế CSDL
+ Phân tích: (độc lập với các HQTCSDL).
» Xác định các yêu cầu về dữ liệu: Phân tích các yêu cầu dữ liệu của hệ thống
để xác định các yêu cầu về dữ liệu.
» Mô hình hoá dữ liệu: Xây dựng mô hình thực thể liên kết biểu diễn các yêu
cầu về dữ liệu => chuyển sang mô hình quan hệ. + Thiết kế CSDL quan hệ
-- Thiết kế logic CSDL: (độc lập với một HQTCSDL).
» Xác định các quan hệ: Chuyển từ mô hình thực thể liên kết sang mô hình quan hệ.
» Chuẩn hoá các quan hệ: chuẩn hoá các quan hệ về dạng chuẩn ít nhất là chuẩn 3 (3NF)
-- Thiết kế vật lý CSDL: dựa trên một hệ quản trị CSDL cụ thể.
» Xây dựng các bảng trong CSDL quan hệ: quyết định cấu trúc thực tế của các
bảng lưu trữ trong mô hình quan hệ.
» Hỗ trợ các cài đặt vật lý trong CSDL: cài đặt chi tiết trong HQTCSDL lựa chọn.
* hình thực thể/ liên kết (E/A) - Các thành phần: + Thực thể
+) Là một vật thể cụ thể hay trừu tượng, một nhiệm vụ, một sự kiện tồn
tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong HTTT.
+) Một thực thể tương đương với một dòng trong bảng
VD: Thực thể cụ thể như: sinh viên Lê An, Đơn hàng số 123, ... Thực thể
trừu tượng như: Khoa CNTT, Tài khoản số 56789,… + 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 bản thân thông tin.
=>Thường là tập hợp các thực thể có cùng bản chất. Tên kiểu thực thể: là một danh từ.
VD: Lê An là một thực thể, được quan tâm tới vì anh ta đang học tại một
trường đại học A, tức anh ta là một sinh viên => SINH VIÊN là một kiểu
thực thể vì nó mô tả cho một số thực thể và dựa trên đó thông tin được lưu giữ.
+) Kiểu thực thể được biểu diễn dạng hình chữ nhật
+ Liên kết và kiểu liên kết
+) Liên kết (còn gọi là quan hệ): là sự kết nối có ý nghĩa giữa hai hay
nhiều thực thể, phản ánh sự ràng buộc về quản lý Đặc biệt: Một thực thể
có thể liên kết với chính nó, gọi là tự liên kết.
+) Kiểu liên kết là tập hợp các liên kết có cùng bản chất. Các kiểu
liên kết cho biết số thể hiện lớn nhất của mỗi thực thể tham gia
vào liên kết với một thể hiện của một thực thể khác. Có ba kiểu
liên kết: 1 - 1, 1 - nhiều, nhiều – nhiều
-- Liên kết một – một (1-1):
+ Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và ngược lại. + Kí hiệu:
+ Ví dụ: Một sinh viên có một luận văn. Một luận văn thuộc về một sinh viên
--Liên kết một – nhiều (1-N):
+ Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực
thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một
thể hiện của thực thể A. + Kí hiệu:
+ Ví dụ: Một khoa có nhiều sinh viên. Một sinh viên thuộc về một khoa.
-- Liên kết nhiều – nhiều (N-N):
+ Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực
thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều
thể hiện của thực thể A. + Kí hiệu:
+ Ví dụ: Một giáo viên dạy nhiều sinh viên. Một sinh viên được
dạy bởi nhiều giáo viên.
-- Loại thành viên: là điều kiện một thể hiện của thực thể tham gia
vào liên kết với một thực thể khác, có thể là bắt buộc hay tuỳ
chọn trong quan hệ. Các loại thành viên cho biết số thể hiện nhỏ
nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác. -- Chú ý:
+ Liên kết một - nhiều: biểu thị ràng buộc, là một phần của mô tả
yêu cầu nghiệp vụ. Khi chiều một nhiều là mở, không xác định
(khách hàng có thể có nhiều đơn hàng) thì chiều từ nhiều sang
một là hoàn toàn xác định (một đơn hàng phải thuộc về một khách hàng).
+ Nếu hai thực thể có quan hệ một - một => thường gộp hai thực
thể làm một bảng với mỗi dòng dài hơn.
+ Nếu hai thực thể có quan hệ nhiều - nhiều thì không có sự khác
biệt về bản chất giữa các chiều (không nói lên được kẻ thống trị)
=> ít khi được sử dụng. Tóm lại: liên kết một - nhiều là quan
trọng hơn cả. Hầu như các mối quan hệ trong mô hình thực thể
liên kết đều là một - nhiều. + Thuộc tính +) Thuộc tính:
» Là giá trị thể hiện một đặc điểm nào đó của một thực thể hay một liên kết.
» Mỗi thực thể được mô tả bằng một bộ thuộc tính VD: SINH
VIÊN = {Mã SV, tên SV, ngày sinh, giới tính, địa chỉ,…} +) Kiểu thuộc tính
» Thuộc tính khóa (định danh): cho phép phân biệt các thực thể khác nhau » Thuộc tính mô tả + Thuộc tính tên gọi
+ Thuộc tính kết nối (khoá ngoài):chỉ ra mối quan hệ giữa một
thực thể đã có và một thực thể trong bảng khác. Là thuộc tính mô tả
trong thực thể chứa nó nhưng lại là thuộc tính khoá của một thực thể trong bảng khác
* Xây dựng hình E/A của hệ thống
B1: Xác định các thực thể và các định danh thực thể. Tìm thực thể từ 3 nguồn: thông
tin tài nguyên (NCC, mặt hàng, kho,…), thông tin giao dịch (đơn hàng, dự trù, phiếu
y/c,…), thông tin tổng hợp (dự toán chi tiêu, tính lương,…)
Kiểm tra rằng mỗi thực thể thoả mãn: + Tên gọi là danh từ. + Có nhiều thể hiện.
+ Có duy nhất một định danh.
+ Có ít nhất một thuộc tính mô tả.
+ Có quan hệ với ít nhất một thực thể khác
B2: Xác định liên kết giữa các thực thể
+ Thiết lập sự tồn tại của liên kết (Vẽ đường thẳng và đặt tên quan hệ tại hai đầu)
+ Xác định loại liên kết (1-1, 1-N, N-N) và loại thành viên (tuỳ chọn hay bắt buộc).
+ Tách liên kết N-N thành hai liên kết 1-N với một thực thể kết hợp. Khi đó thực thể
kết hợp sẽ có định danh được tạo thành từ hai thuộc tính định danh của các thực thể ban đầu.
B3: Xác định các thuộc tính mô tả cho các thực thể
+ Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng.
+ Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu và phân tích nó.
Chú ý: Khi một thuộc tính của thực thể A có nhiều giá trị => mô hình hoá thuộc tính
đó là một thực thể B có quan hệ phụ thuộc với thực thể A. Định danh của thực thể B sẽ
bao gồm các thuộc tính định danh của thực thể A và một số thuộc tính khác của thực
thể B. Liên kết giữa thực thể A và thực thể B được gọi là liên kết phụ thuộc.
Ví dụ: Một nhân viên có thể có nhiều trình độ ngoại ngữ với các ngôn ngữ khác nhau.
Khi đó trình độ ngoại ngữ của nhân viên không được mô hình hoá là một thuộc tính
mà được mô hình hoá là một thực thể như sau:
Định danh của thực thể TRÌNH ĐỘ NN gồm hai thuộc tính mã NV và ngoại ngữ
dụ: Một công ty thương mại Y chuyên kinh doanh các mặt hàng điện tử. Công ty
nhập các mặt hàng từ các nhà cung cấp khác nhau. Chi tiết về các mặt hàng gồm có:
mã hàng (duy nhất), tên hàng và các mô tả mặt hàng. Công ty cũng cần lưu giữ thông
tin về các nhà cung cấp như tên, địa chỉ, điện thoại, fax. Mỗi nhà cung cấp có một mã
duy nhất. Mỗi nhà cung cấp có thể cung cấp nhiều mặt hàng nhưng mỗi mặt hàng chỉ
được cung cấp từ một nhà cung cấp. Các mặt hàng được lưu giữ trong các kho. Mỗi
kho hàng có một diện tích khác nhau và chỉ chứa một loại mặt hàng. Công ty có nhiều
cửa hàng đại lý để bán các mặt hàng. Hàng được cung cấp cho các cửa hàng thông qua
các các phiếu xuất. Thông tin trên mỗi phiếu xuất cần có mã số cửa hàng nhận hàng,
ngày xuất, thông tin về các mặt hàng được xuất như tên hàng, số lượng, đơn giá, thành
tiền. Yêu cầu: Vẽ mô hình thực thể liên kết của hệ thống
Các bước tiến hành:
1. Xác định các thực thể, định danh thực thể và các thuộc tính mô tả:
+ HÀNG: mã hàng, tên hàng, đơn giá, số lượng, mô tả
+ NHÀ CUNG CẤP: mã NCC, tên NCC, địa chỉ, điện thoại, fax
+ KHO: số kho, diện tích, mô tả
+ PHIẾU XUẤT: số phiếu, ngày xuất, số cửa hàng
+ CỬA HÀNG: số cửa hàng, địa điểm, mô tả
2. Xác định liên kết giữa các thực thể
+ Một mặt hàng cần được cung cấp bởi một nhà cung cấp. Một nhà cung cấp cần
cung cấp một hoặc nhiều mặt hàng.
+ Một mặt hàng cần được lưu giữ trong một kho. Mỗi kho lưu giữ 0 hoặc một loại hàng.
+ Một mặt hàng được xuất trong 0, 1 hoặc nhiều phiếu xuất. Một phiếu xuất có thể
xuất 1 hoặc nhiều mặt hàng.
+ Một cửa hàng nhận được 0, 1 hoặc nhiều phiếu xuất. Mỗi phiếu xuất cần được
xuất cho chỉ một cửa hàng.
3. Vẽ mô hình thực thể liên kết của HT bán hàng trong công ty Y
- Quan hệ N-N giữa HÀNG và PHIẾU XUẤT có thể được tách thành 2 quan hệ 1-N
với thực thể kết hợp DÒNG PHIẾU XUẤT như sau:
* Mô hình quan hệ - Thành phần:
+ Gồm: Các quan hệ - các bộ - các thuộc tính. Tương ứng với các thành phần trong mô
hình thực thể liên kết là: Các thực thể – các thể hiện của thực thể – các thuộc tính. Mô
hình thực thể liên kết => Mô hình quan hệ => Các bảng trong HQTCSDL
**Biểu diễn quan hệ dưới dạng bảng: Chú ý:
• Các bộ trong một quan hệ không được trùng nhau.
• Thuộc tính được xác định bởi tên, thứ tự của các thuộc tính trong quan hệ là không
quan trọng. Trong một quan hệ, tên các thuộc tính phải khác nhau (các miền giá trị của
các thuộc tính không nhất thiết khác nhau) - Khoá:
+ Khoá chính (định danh): Là một/1 nhóm thuộc tính xác định duy nhất một bộ trong
quan hệ =>được gạch chân
+ Khoá ghép: là khoá có từ hai thuộc tính trở lên.
+ Khoá ngoài: được sử dụng để thiết lập một mối quan hệ. Là thuộc tính mô tả của
quan hệ này nhưng lại là thuộc tính khoá trong quan hệ khác.
⟶ được in nghiêng hoặc gạch chân bằng nét đứt.
+ Khoá giả: khi khoá chính có từ 3 thuộc tính trở lên người ta thường đặt ra một khoá
giả làm khoá chính để tiện lợi hơn trong việc truy vấn dữ liệu. - Ràng buộc:
+ Ràng buộc thực thể: là một ràng buộc trên khoá chính. Nó yêu cầu khoá chính phải
tối thiểu, xác định duy nhất và không null. (Giá trị null tức là không có giá trị, nó khác
với giá trị 0 hay dấu cách)
+ Ràng buộc tham chiếu (ràng buộc khoá ngoài): liên quan đến tính toàn vẹn của mối
quan hệ tức là liên quan đến tính toàn vẹn của khoá ngoài. Một ràng buộc tham chiếu
yêu cầu một giá trị khoá ngoài trong một quan hệ cần phải tồn tại là một giá trị khoá
chính trong một quan hệ khác hoặc là giá trị null.
- Các dạng chuẩn + Phụ thuộc hàm
+)Trong một quan hệ R, thuộc tính B phụ thuộc hàm vào thuộc tính A (hay
thuộc tính A xác định hàm thuộc tính B, ký hiệu A ->B) nếu với mỗi giá trị của
thuộc tính A xác định một giá trị duy nhất của thuộc tính B.
Ví dụ: Mã SV->Ngày sinh
+) Phụ thuộc hàm giữa nhiều thuộc tính: thuộc tính B phụ thuộc hàm vào các
thuộc tính A1 và A2 ký hiệu{A1,A2} → B nếu với mỗi cặp giá trị của A1 và A2
xác định duy nhất 1 giá trị của B.
Ví dụ: {Số hoá đơn, Mã hàng}-> Số lượng
Chú ý: A1-> {A2,A3} ≡ A1-> A2 và A1-> A3 {A1,A2}-> A3 ≠ A1-> A3 và A2-> A3
+) Các loại phụ thuộc hàm
• Phụ thuộc hàm đầy đủ: B gọi là phụ thuộc đầy đủ vào tập thuộc tính A
(có từ 2 thuộc tính trở lên) nếu nó chỉ phụ thuộc hàm vào A và không phụ thuộc
hàm vào bất cứ tập con nào của A. Ngược lại B gọi là phụ thuộc hàm bộ phận vào tập thuộc tính A.
• Phụ thuộc hàm bắc cầu: Nếu có A1 -> A2 và A2 -> A3 thì A1 -> A3.
Khi đó A3 được gọi là phụ thuộc bắc cầu vào A1.
- Các dạng chuẩn:
+ Dạng chuẩn 1 (1NF): Một quan hệ là ở dạng chuẩn 1 nếu toàn bộ các miền
thuộc tính đều là các miền đơn và không tồn tại nhóm thuộc tính lặp.
Một thuộc tính A thuộc tính lặp nếu với một giá trị cụ thể của khoá chính
nhiều giá trị của thuộc tính A kết hợp với khoá chính này.
Ví dụ: Khoá chính là Mã SV. Nhóm thuộc tính lặp là Môn học và Điểm.
+ Dạng chuẩn 2 (2NF): Một quan hệ ở dạng chuẩn 2 nếu nó đã ở dạng chuẩn 1
và không tồn tại phụ thuộc hàm bộ phận vào khoá.
Ví dụ: Cho một quan hệ: R (A, B, C, D, E) Khoá chính là A,B Các phụ thuộc hàm: {A,B} -> D;
A -> C; (Phụ thuộc hàm bộ phận vào khoá)
D -> E =>Quan hệ R trên ko ở dạng chuẩn 2
* Chú ý: Quan hệ có khoá chính là một thuộc tính luôn ở dạng chuẩn 2
+ Dạng chuẩn 3 (3NF): Một quan hệ ở dạng chuẩn 3 nếu nó đã ở dạng chuẩn 2
và không tồn tại phụ thuộc hàm bắc cầu vào khoá (hay phụ thuộc hàm giữa các thuộc tính không khoá).
Ví dụ: Cho một quan hệ: R (A, B, D, E) Khoá chính là A,B Các phụ thuộc hàm: {A,B} -> D;
D -> E (Phụ thuộc hàm giữa các thuộc tính không khoá)
=>Quan hệ R trên ko ở dạng chuẩn 3
- Biểu diễn bằng bảng các kiểu thực thể liên kết
- Mô hình vẽ các liên kết chính
Ví dụ: quan hệ Đơn hàng – Mặt hàng – NhàCC – NCC/MH
» Mô hình thực thể liên kết