PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phần 1: Tổng quan hệ thống thông tin (HTTT)
Phần 2: PT&TKHT hướng cấu trúc
Phần 3: PT&TK HT hướng đối tượng
PT&TK HT HƯỚNG CẤU TRÚC
CHƯƠNG 1: Khởi tạo lập kế hoạch
CHƯƠNG 2: Phân tích hệ thống
CHƯƠNG 3: Thiết kế hệ thống
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG
1.
2.
3.
4.
Mô hình dữ liệu quan hệ
Thiết kế CSDL vật lý
Thiết kế CSDL phân tán
Thiết kế chương trình
1. Mô hình dữ liệu quan hệ
(Logical data modeling )
a.
b.
c.
d.
e.
f.
g.
h.
i.
Khái niệm
Cách chuyển mô hình ER sang quan hệ
Khái niệm chuẩn hoá
Phụ thuộc hàm
Khoá dự tuyển, khoá chính, khoá ngoại
Các dạng chuẩn
Kết hợp thực thể chung
Quá trình chuẩn hoá
Xác định mối quan hệ
a. Khái niệm - Định nghĩa quan hệ
•
Relational database model: Dữ liệu được biểu diễn
như một tập các bảng quan hệ hoặc các quan hệ .
•
Relation: Một bảng 2 chiều dữ liệu, có tên. Mỗi
quan hệ bao gồm một tập các cột có tên và một số
tùy ý các hàng.
a. Khái niệm - Tính chất của quan hệ
•
Không phải tất cả các bảng đều là quan hệ: Các quan
hệ có một vài tính chất để phân biệt chúng với các bảng
không có tính chất quan hệ:
• Giá trị đưa vào mỗi ô là duy nhất
LopC
Mon
Giao vien
K47-Toan
Toan, Anh
Mai Anh,Lan
K47 Tin
Toan
Ngoc
K48 -Toan
Toan
Mai Anh
a. Khái niệm - Tính chất của quan hệ
•
Mỗi cột phải cùng một miền giá trị
VD: Boolean, Int,…
•
Mỗi dòng là duy nhất: Không có hai dòng dữ liệu
đồng nhất với nhau, để đảm bảo điều này thì khoá
phải khác rỗng
•
Thứ tự các dòng và các cột là hoàn toàn có thể thay
đổi được
•
Quan hệ (bảng) được cấu trúc tốt: Một quan hệ mà
chứa một số lượng tối thiểu dư thừa và cho phép
người sử dụng thêm, sửa, và xóa các hàng mà không
bị lỗi hoặc mâu thuẫn.
•
EMPLOYEE is not a well-structured relation.
•
Vấn đề: chứa dữ liệu của hai thực thể EMPLOYEE
và COURSE.
1. Mô hình dữ liệu quan hệ
(Logical data modeling )
a.
b.
c.
d.
e.
f.
g.
h.
i.
Khái niệm
Cách chuyển mô hình ER sang quan hệ
Khái niệm chuẩn hoá
Phụ thuộc hàm
Khoá dự tuyển, khoá chính, khoá ngoại
Các dạng chuẩn
Kết hợp thực thể chung
Quá trình chuẩn hoá
Xác định mối quan hệ
VD cách chuyển từ ER sang QH
•
•
Quan hệ EMPLOYEE1 với dữ liệu mẫu:
EMPLEE1(Emp_ID, Name, Dept, Salary)
Sample Binary 1:1
•
A và B có quan hệ 1-1 :
Thêm vào thực thể A các thuộc tính khoá của B.
• Hoặc thêm vào B các thuộc tính khoá của A
VD: Lop(Lop,ten lop, so hoc sinh)
GVchunhiem(MaGV, ten GV, huong nghiên cứu)
•
Lop (Lop,ten lop, so hoc sinh,GVCN)
GVchunhiem (MaGV, ten GV, huong nghiên cứu)
Hoặc
Lop(Lop,ten lop, so hoc sinh)
GVchunhiem (MaGV, ten GV, huong nghiên cứu, lopCN)
Sample Binary 1:N
Sample Binary M:N
Sample Unary relationships
EMPLOYEE (Emp_ID, Name, Birthdate, Manager_ID)
Sample
Conceptual data model and transformed relations
1. Mô hình dữ liệu quan hệ
(Logical data modeling )
a.
b.
c.
d.
e.
f.
g.
h.
i.
Khái niệm
Cách chuyển mô hình ER sang quan hệ
Khái niệm chuẩn hoá
Phụ thuộc hàm
Khoá dự tuyển, khoá chính, khoá ngoại
Các dạng chuẩn
Kết hợp thực thể chung
Quá trình chuẩn hoá
Xác định mối quan hệ
c. Khái niệm chuẩn hoá
(Normalization )
Quá trình chuyển các cấu trúc dữ liệu về dạng cấu
trúc dữ liệu ổn định và bền vững:
•
Không có sự lặp lại các thuộc tính ở bảng khác trừ thuộc
tính khoá
•
Loại các thuộc tính là kết quả của thuộc tính khác
Vd: Phieunhap (Số phiếu, ngày, tên vật tư, số lượng, đơn giá,
thành tiền)
Thành tiền= số lượng* đơn giá
Chuẩn hoá
•
Bao gồm 1 dãy các công đoạn sau:
•
1NF->2NF->3NF, Boycode->4NF->5NF
Nếu mô hình thực thể quan hệ mà làm tốt thì quá
trình này chỉ nhằm kiểm tra lại bước trước.
1. Mô hình dữ liệu quan hệ
(Logical data modeling )
a.
b.
c.
d.
e.
f.
g.
h.
i.
Khái niệm
Cách chuyển mô hình ER sang quan hệ
Khái niệm chuẩn hoá
Phụ thuộc hàm
Khoá dự tuyển, khoá chính, khoá ngoại
Các dạng chuẩn
Kết hợp thực thể chung
Quá trình chuẩn hoá
Xác định mối quan hệ
d. Phụ thuộc hàm
(Functional dependency )
Cho một qh R và hai nhóm thuộc tính A và B của nó, ta nói nhóm t/t B là
phụ thuộc hàm vào nhóm t/t A nếu: Các gt của nhóm tt A x/đ duy nhất
gt của nhóm tt B (Hay ta gọi là A x/đ B)
Ký hiệu: A->B
Exp. Sinhvien (Masv,hoten,ngàysinh,điểm,môn)
Masv -> {Hoten,ngày sinh}
•
Một qh phụ thuộc hàm không có nghĩa là phụ thuộc toán học, có
nghĩa là nhờ giá trị A ta tính ra được gt của B, mà chỉ ứng với 1 gt
của A có duy nhất 1 gt của B
•
Các gt trong qh không dễ cho thấy sự tồn tại của các phụ thuộc hàm
giữa chúng, mà chỉ có sự hiểu biết của con người về đối tượng mà qh
đó miêu tả mới cho phép xđ được các pth tồn tại trong chúng.
1. Mô hình dữ liệu quan hệ
(Logical data modeling )
a.
b.
c.
d.
e.
f.
g.
h.
i.
Khái niệm
Cách chuyển mô hình ER sang quan hệ
Khái niệm chuẩn hoá
Phụ thuộc hàm
Khoá dự tuyển, khoá chính, khoá ngoại
Các dạng chuẩn
Kết hợp thực thể chung
Quá trình chuẩn hoá
Xác định mối quan hệ
Khoá dự tuyển
Là một hay một nhóm thuộc tính mà gt của nó x/đ
duy nhất mỗi dòng qhệ
•
Xđ duy nhất: Mỗi dòng gt của khoá là duy nhất, t/c này
ngụ ý các tt không phải là tt khoá thì pth vào tt khoá.
•
Không dư thừa: Khi xoá đi bất kỳ một tt nào của khoá
đều phá huỷ tính duy nhất
VD: Sinh viên (Số thứ tự, mã sinh viên, lớp, họ tên, ngày sinh,...)
Giả sử: Mã SV khác nhau trong toàn trường
STT khác nhau trong lớp
->Mã sinh viên hay (STT, lớp) là 2 khoá dự tuyển
Khoá chính
Là một khoá dự tuyển được chọn làm khoá chính
của quan hệ.
•
•
•
Nên chọn khoá gồm số ít nhất các thuộc tính, tốt nhất
là một thuộc tính.
Nếu có nhiều thuộc tính làm khoá thì nên thêm thuộc
tính để thay chúng làm khoá
Tránh chọn thuộc tính có giá trị thay đổi theo thời gian:
Địa danh, phân loại, địa chỉ, trình độ,...
VD: Cán bộ (Họ tên, ngày sinh, địa chỉ, dân tộc, trình
độ, phòng làm việc,...)
-> Cán bộ (Mã cán bộ, họ tên, ngày sinh, địa chỉ, dân
tộc, trình độ, phòng làm việc,...)
Khoá ngoại
Là một hay một số thuộc tính trong qhệ nhưng
lại là khoá chính trong qh khác.
VD: HSHS( Mã học sinh, họ và tên, ngày sinh, mã
lớp, hệ đào tạo)
Lớp ( Mã lớp, tên lớp, số học sinh)
Hệ đào tạo (Mã hệ đào tạo, tên hệ)