Phần 1: Tổng quan hệ thống thông tin (HTTT) Phần 2: PTTKHT hướng cấu trúc Phần 3: PTTK HT hướng đối tượng I. Giới thiệu chung II. Phát triển Hệ thống thông tin 1.1 Tình hình của CNTT 1.2 Hệ thống thông tin 1.3 Khái niệm PTTK HTTT 1.4 Vai trò của PTTK HT
Trang 1PHÂ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
Trang 2PT&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
Trang 41 Mô hình dữ liệu quan hệ
(Logical data modeling )
a. Khái niệm
Trang 5a Khái niệm - Định nghĩa quan hệ
• Relational database model: Dữ liệu được biểu diễn
• 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.
Trang 6a 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
K47-Toan Toan, Anh Mai Anh,Lan
K47 Tin Toan Ngoc
K48 -Toan Toan Mai Anh
Trang 7a 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
Trang 8• 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
Trang 9• Vấn đề: chứa dữ liệu của hai thực thể EMPLOYEE
và COURSE.
Trang 101 Mô hình dữ liệu quan hệ
(Logical data modeling )
b. Cách chuyển mô hình ER sang quan hệ
Trang 11VD cách chuyển từ ER sang QH
Trang 12Sample 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)
Trang 13Sample Binary 1:N
Trang 14Sample Binary M:N
Trang 15Sample Unary relationships
EMPLOYEE (Emp_ID, Name, Birthdate, Manager_ID)
Trang 16Sample Conceptual data model and transformed relations
Trang 171 Mô hình dữ liệu quan hệ
(Logical data modeling )
c. Khái niệm chuẩn hoá
Trang 18c Khái niệm chuẩn hoá
• 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á
Trang 201 Mô hình dữ liệu quan hệ
(Logical data modeling )
Trang 21d 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.
Trang 221 Mô hình dữ liệu quan hệ
(Logical data modeling )
Trang 23VD: 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
Trang 24Là 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
Trang 25Là 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ệ)
Khoá ngoại
Trang 261 Mô hình dữ liệu quan hệ
(Logical data modeling )
Trang 27Một qh được gọi là thoả chuẩn 1 nếu nó không chứa các thuộc tính lặp
Trang 28Cộng:……… Bằng chữ:……….
Trang 29Phiếu xuất (Số phiếu xuất, ngày, diễn giải, mã khách hàng, họ tên, địa chỉ, mã vật tư, tên vật tư, đơn
vị tính, số lượng, đơn giá, thành tiền)
Phiếu xuất (Số phiếu xuất, ngày, diễn giải, mã khách hàng, họ tên, địa chỉ)
Chi tiết phiếu xuất (Số phiếu xuất, mã vật tư, tên vật tư, đơn vị tính, số lượng, đơn giá, thành tiền)
Trang 30Là chuẩn 1 mà không tồn tại các thuộc tính không khoá lại phụ thuộc 1 phần vào khoá
• A relation is in second normal form if every nonprimary key attribute is functionally dependent on the whole primary key
• Quan hệ 1: Các thuộc tính phụ thuộc một phần khoá chính và phần khoá chính xác định chúng
• Quan hệ 2: Các thuộc tính còn lại và khoá chính
Chuẩn hoá dạng 2 (Second normal form 2NF)
Trang 31Phiếu xuất ( SoPX, ngay, diengiai, MAKH, Hoten, diachi)
Phiếu xuất ( SoPX, ngay, diengiai, MAKH, Hoten, diachi)
Trang 32• Là chuẩn 2 và không tồn tại các thuộc tính phụ thuộc vào thuộc tính không phải là khoá (Phụ thuộc bắc cầu vào khoá).
• A relation is in third normal form if it is in second normal form and there are no functional (transitive) dependencies between two (or more) nonprimary key attributes
• Cách làm : Tách 1 quan hệ thành 2 quan hệ
• Quan hệ 1: Các thuộc tính phụ bắc cầu và thuộc tính cầu
• Quan hệ 2: Các thuộc tính còn lại và thuộc tính cầu
Chuẩn hoá dạng 3 (Third normal form 3NF)
Trang 33Phiếu xuất( SoPX, ngay, diengiai, MAKH)
Phiếu xuất( SoPX, ngay, diengiai, MAKH, Hoten, diachi)
DMVattu( MaVT, tên vật tư, đơn vị tính)
CTPX( Sopx, MaVT,SL, DG, TT)
Trang 34• SALE (Customer_ID, Customer_Name, Salesperson)
• SPERSON (Salesperson, Region)
Trang 35• SALE (Customer_ID, Customer_Name, Salesperson)
• SPERSON (Salesperson ,Region)
Trang 36• Một quan hệ R là BCNF nếu X, A là 2 tập thuộc tính của R, A không phụ thuộc vào X mà X->A thì
X phải là khoá dự tuyển của R
BCNF, quan hệ thoả chuẩn BCNF thì thoả chuẩn 3
• Cách làm : Tách 1 quan hệ thành 2 quan hệ
• Quan hệ 1: Gồm các thuộc tính (A,B) của quan hệ A->B, B#A
và A không là khoá dự tuyển
• Quan hệ 2: Gồm các thuộc tính còn lại và A
Chuẩn Boyce-Codd (Boyce-codd normal form BCNF)
Trang 37D ạy học ( Lớp, môn, giáo viên)
Quan hệ dạy học trên theo quy tắc:
- Mỗi lớp có thể học một số môn
- Mỗi môn có thể có một số giáo viên dạy
- Một môn của 1 lớp cụ thể chỉ có một giáo viên dạy
- Mỗi giáo viên chỉ dạy một môn
- Mỗi giáo viên có thể dạy nhiều lớp
-> Có 2 phụ thuộc hàm
( Lớp, môn)-> giáo viên Giáo viên-> môn
Ví dụ
Trang 38Lop Mon Giaovien
K47-Toan Toan Mai Anh
K47 Tin Toan Ngoc
K48 -Toan Toan Mai Anh
Ví dụ
Trang 39• N ếu dòng 2 ta đổi môn toán->PTTKHT thì mất đi thông tin Giáo viên Ngọc dạy môn toán
Ví dụ
Trang 40• T ách thành 2 quan hệ:
Trang 41• Một quan hệ R là chuẩn 4 nếu là BCNF và không chứa phụ thuộc hàm đa trị
nhóm thuộc tính (A,B,C): A->>B,A->>C, B&C độc lập.
• Cách làm : Tách 1 quan hệ thành 2 quan hệ
• Quan hệ 1: Gồm các thuộc tính (A,B)
• Quan hệ 2: Gồm các thuộc tính (A,C)
Chuẩn hoá dạng 4 (Fourth normal form 4NF)
Trang 42Mon hoc Giao vien Giao trinh
Tin CB Ngoc Anh C
Tin CB Ngoc Anh Pascal
Tin CB Nga Pascal
Tin CB Ngoc Foxpro
• Môn học->> giáo viên
Môn hoc->> giáo trình
Vấn đề xảy ra khi trả lời câu hỏi: Môn TinCB có những ai dạy hay có những giáo trình gì?
Sample
Trang 43• T ách thành 2 quan hệ:
• Mon-GV( Giao viên, môn )
• Mon-GT (Mon, giaotrinh)
• KQ: Trả lời cho câu hỏi có những khả năng dạy nào
Sample
Trang 44• Một qhệ R là chuẩn 5 nếu là chuẩn 4 và không chứa phụ thuộc hàm kết nối
thể chia chúng thành hai hay nhiều qhệ mà có thể kết hợp chúng để được 1 qhệ ban đầu.
• VD: Khả năng dạy học (lop,mon,gv)
• GV-mon (Giáo viên, môn)
Chuẩn hoá dạng 5 (Fifth normal form 5NF)
Trang 451 Mô hình dữ liệu quan hệ
(Logical data modeling )
Trang 46Kết hợp các thực thể chung
thuộc bắc cầu, qh thực thể chính và phụ
• Đồng nghĩa (Synonyms): Là hai hay nhiều tt khác tên nhưng đồng nghĩa mô tả 1 tt của 1 thực thể Các tt như vậy gọi là đồng nghĩa
VD: MaSV-số thẻ
Họ tên- Tên cán bộ
Trang 47• Đồng danh (Homonym): Một tt là đồng danh nếu nó có hơn một nghĩa -> Ta tạo ra 2 tên khác nhau cho 2 tt này
Địa chỉ: Địa chỉ nơi tạm trú
Địa chỉ thường trú
• Cán bộ (MaCB, tên CB, điện thoại, địa chỉ tạm trú, địa chỉ thường trú)
Trang 48• Phụ thuộc bắc cầu (Dependencies between nonkeys ):
Khi kết hợp các thực thể ta lại được thực thể không thoả chuẩn 3-> chuẩn hoá
VD: PX (sopx,MaKH,ngày xuất)
PX (sopx, đ/c giao hàng)
->PX (sopx, MaKH, ngày xuất, đ/c giao hàng)
PX (sopx, MaKH, ngày xuất)
KH (MaKH, đ/c giao hàng)
Trang 49• Thực thể chính/thực thể con (Class/Subclass ): Có qhệ bị che dấu dưới cái nhìn của người sử dụng hay trong các qhệ
VD: Cán bộ ( MaCB, hoten, ngaysinh, diachi, hệ số lương)
Cán bộ ( MaCB, hoten, ngaysinh, diachi, luongngay,
số ngày)
Cán bộ ( MaCB, hoten, ngaysinh, diachi)
Cán bộHCSN ( MaCB, Hệ số lương)
Trang 501 Mô hình dữ liệu quan hệ
(Logical data modeling )
Trang 51h Quá trình chuẩn hoá
Trang 521 Mô hình dữ liệu quan hệ
(Logical data modeling )
i. Xác định mối quan hệ
Trang 53Xác định mối quan hệ
trong quan hệ đánh chữ O
Trang 55Hoadon SoHD MaKh Ngay
CTHD SoHD MaVT Soluong Dongia
Phieunhap SoPN MaNCC Ngay
CTPN SoPN MaVT Soluong Dongia
Phieuxuat
SoPX MaKH Ngay
CTPX SoPX MaVT Soluong Dongia
Vattu MaVT Tenvattu Donvitinh TonDK TonCK
Trang 56Bài tập
dùng PN, và PX để nhập hàng từ nhà cung cấp,hay xuất hàng cho khách
• PX và PN giống mẫu kể trên Hãy xd mô hình QHDL cho bài toán QL kho, biết rằng cty có nhiều kho hàng.
Trang 58Dữ liệu quan hệ
Xuatnhap
DMKho DMDoituong
Tonkho
DMVT CTXN
Trang 59Bài tập
PX để nhập hàng từ nhà cc, hay xuất hàng cho
khách PT và PC để thu hồi công nợ
• PX và PN, HD giống mẫu kể trên.
• PT (PC): quan tâm tới người trả (người nhận), số tiền, ngày trả (nhận), số phiếu
gồm: Kho và công nợ (biết rằng cty có nhiều kho hàng,
và có thu ngoại tệ USD)
Trang 60Ví dụ
• Trả 100$+ 1000 000 đ hạch toán đúng như vậy
• Trả 165$
• Hạch toán 100$ tương đương 100$
• Hạch toán 65$ tương đương 1000 000 đồng
• Trả 2 000 000 đ
• Hạch toán 1 600 000 đ tương đương 100$
• Hạch toán 400 000 đ tương đương 400 000 đ
Trang 61• XN (ID , LoaiCT,SP,ngaychungtu, MaDT,Makho)
• CN (MaDT,MaNTe,DunoDK,DucoDK,PSno,PSco,DunoCK,DucoCK)
Trang 64Dữ liệu quan hệ
Xuatnhap
DMKho DMDoituong
Tonkho
DMVT
CTXN Hoadon
CTHD
Thuchi CTthuchi
Congno