7-MohinhQH PTTK Ctruc

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

BÀI GIẢNG

PHÂN TÍCH THIẾT KẾ HỆ


THỐNG THÔNG TIN

Nguyễn Văn Vỵ - Nguyễn Thị Nhật Thanh


Khoa Công nghệ thông tin, Đại học Công nghệ
Bài 7- Mô hình dữ liệu logic
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Nội dung
‹ Mô hình dữ liệu lôgic: Mô hình dữ liệu quan
hệ (Relational Data Model)
‹ Các thành phần của mô hình quan hệ
‹ Chuyển một ERM sang mô hình quan hệ
‹ Các bước để thiết kế 1 cơ sở dữ liệu logic
‹ Ví dụ

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 2
Tài liệu tham khảo
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

1. Nguyễn Văn Vy. Giáo trình phân tích thiết kế HTTT. Đại học Công
nghệ, 2007.
2. Nguyên Văn Vỵ. Phân tích thiế kế HTTT. Hướng cấu trúc và hướng đối
tượng. NXB Thống kê, 2002.
3. Nguyễn Văn Vy. Phân tích và thiết kế HTTT quản lý. NXB Khoa học
Tự nhiên và Công nghệ, Hà nội, 2007.
4. Nguyễn văn Vy, Nguyễn Việt Hà. Giáo trình Kỹ nghệ phần mềm. Đại
học Công nghệ, 2006.
5. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling
language User Guid. Addison-Wesley, 1998.
6. Jeffrey A.Hoffer, Joey F.Gorge, Joseph S.Valacich. Modern Systems
Analysis and Design. 2th Edition, Addison Wesley Longman, Inc. 1999.
7. Sommerville. Software Engineering. 6th Edition, Addison- Wasley,
2001.

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 3
1. Mô hình dữ liệu lôgic
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

a. Câu hỏi
Š Mô hình dữ liệu logic là gì?
Š Có những loại mô hình dữ liệu logic nào? Đặc
trưng mỗi loại?
Š Tại sao cần mô hình dữ liệu lôgic?

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 4
b.Mô hình dữ liệu logic
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Khái niệm: Mô hình dữ liệu logic là sự mô tả các dữ


liệu sao cho một hệ quản trị CSDL có thể xây dựng
trên nó để tổ chức việc lưu trữ và khai thác dữ liệu một
cách hiệu quả.
 Cho đến nay đã có 4 loại mô hình dữ liệu lôgic:
„ Mô hình dữ liệu phân cấp
„ Mô hình dữ liệu mạng
„ Mô hình dữ liệu quan hệ
„ Mô hình dữ liệu hướng đối tượng
™ Mô hình được nhiều hệ quản trị CSDL sử dụng là mô
hình quan hệ.

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 5
b1. Mô hình dữ liệu phân cấp
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Các bản ghi sắp xếp từ trên


xuống tạo thành một cây.
 Thuật ngữ cha, con được
sử dụng mô tả mô hình:
PHÒNG
ƒ 1 con chỉ có 1 cha.
ƒ 1 cha có thể có nhiều con
 Mô hình chỉ biểu diễn 1 NHÂN VIÊN DỰ ÁN
pham vi hẹp các cấu trúc
dữ liệu: trên xuống
KÝ NĂNG PHỤ VIỆC TRANG THIẾT BỊ

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 6
b2. Mô hình dữ liệu mạng
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 1 bản ghi có thể được kết nối với


1số bất kỳ các bản ghi khác
 Nó đã phát triển vượt qua được
phạm vi ứng dụng hạn hẹp của mô
hình phân cấp.
 Tuy vây, cấu trúc là phức tạp cho PHÒNG
việc quản lý.
NHÂN VIÊN DỰ ÁN

PHỤ VIỆC TRANG THIẾT BỊ

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 7
b3. Mô hình dữ liệu quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Mô hình dữ liệu quan hệ


cấu thành từ các bảng
dữ liệu hai chiều có quan
hệ lôgíc với nhau thông PHÒNG
qua các giá trị cột khóa mãphòng tênphòng vịtrí
P10 Kỹ thuật bắc
 Nó được xây dựng trên
P20 Kế toán đông
cơ sở toán học tập hợp:
đơn giản nhưng hiệu quả
NHÂN VIÊN
 Hiện được sử dụng
rộng rãi trong các hệ mã nhân viên họ tên telephon mã phòng
NV001 Nguyễn văn 8.775566 P10
QTCSDL A
NV002 Trần thị B 7.234544 P20

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 8
b4. Mô hình dữ liệu hướng đối tượng
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Mô hình dữ liệu hướng đối tượng là một loại mô


hình mới để lưu trữ dữ liệu của các đối tượng, bao
gồm cả thuộc tính dữ liệu và hành vi của chúng
 Mô hình phát triển chưa lâu, chưa hoàn chỉnh.
 Đã có một số cơ sở dữ liệu hướng đối tượng,
nhưng chưa được hoàn thiện, chưa được sử dụng
rộng rãi.
 Nhiều hệ thống hướng đối tượng, nhưng việc lưu
trữ dữ liệu của nó vẫn sử dụng hệ CSDL quan hệ

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 9
2. Mô hình dữ liệu quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Câu hỏi
Š Mô hình cấu thành từ những bộ phận nào?
Š Những yêu cầu gì đặt ra cho một quan hệ?
Š Quan hệ có cấu trúc tốt là gì?
Š Những yếu tố nào xác định cấu trúc của quan hệ? Có
những dạng cấu trúc (chuẩn) nào?
Š Nội dung chuẩn hóa để được quan hệ cấu trúc tốt?
Š Các ràng buộc toàn vẹn trong mô hình quan hệ là gì?
Š Tiến trình phát triển một thiết kế CSDL liệu lôgic?

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 10
a.Khái niệm: mô hình quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Mô hình quan hệ bao gồm:


 Các quan hệ
 Các liên kết giữa chúng: thể hiện ra bằng mô hình
liên kết giữa các quan hệ
 Quan hệ là một bảng dữ liệu 2 chiều gồm:
ƒ Các cột có tên, gọi là các thuộc tính của nó
ƒ Các dòng không có tên, gọi là các bộ dữ liệu hay
bản ghi
Và có các tính chất sau:
Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 11
b. Tính chất của một quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Và có các tính chất:


 Phần tử nằm giao giữa dòng và cột là duy nhất
 Các phần tử trong 1 cột thuộc 1 miền giá trị
 Các dòng là khác nhau
 Thứ tự các dòng là không quan trọng (cập nhật
theo thứ tự bất kỳ)
 Thứ tự các cột là không quan trọng (sắp đặt tùy ý)

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 12
c. Ví dụ: quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh
SINH VIÊN
mãsv tênsv ngàysinh lớp mônhọc điểm
97001 Nguyễn T.Tài 13/05/80 K41C CSDL 7
97002 Trần H.Tráng 08/10/79 K41T CSDL 8
97002 Trần H.Tráng 08/10/79 K41T C++ 7
98001 Hoàng .Minh 15/12/80 K42T C++ 9
98006 Lê H.Nhung 12/06/81 k42T Anh 9

Trong đó, SINHVIÊN là tên quan hệ, K41C


 mãsv, tênsv, ngaysinh, lớp, mônhọc, điểm: là các thuộc tính
 mỗi dòng là 1 bộ dữ liệu xác định duy nhất nhờ khóa
(mãsv,mônhọc )
Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 13
d. Lược đồ của một quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Một quan hệ có thể không chứa 1 dòng dữ liệu nào.


Khi đó nó được gọi là 1 lược đồ quan hệ
 Cho 1 lược đồ quan hệ bao gồm:
ƒ Tên quan hệ,
ƒ Các thuộc tính và ràng buộc giữa chúng
Ví dụ: quan hệ SINHVIÊN có lược đồ sau:
SINHVIÊN (mãsv, tênsv, ngàysinh, lớp, mônhọc, điểm) và
Tập U= {các ràng buộc phụ thuộc giữa các thuộc tính}
sau này ta gọi tập U là các phụ thuộc hàm

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 14
e. Một quan hệ có cấu trúc tốt
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Quan hệ được sử dụng để lưu dữ liệu trong các


CSDL nên nó cần có cấu trúc sao cho khi cập nhật
(xem, sửa, xóa) không gây ra sai sót dữ liệu.
 1 quan hệ có cấu trúc tốt: có dư thừa ít nhất và cho
phép thêm, sửa, xóa dữ liệu trong nó mà không gây
ra lỗi hoặc sự thiếu nhất quán.
 Quan hệ SINHVIÊN là không có cấu trúc tốt, vì khi
sửa K41T ở dòng 3 thành K41C thì dẫn đến sai vì
thiếu nhất quán: “sinh viên Trần H.Tráng vừa thuộc
lớp K41T , vừa thuộc K41C”

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 15
f. Phụ thuộc hàm giữa thuộc tính
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Phụ thuộc hàm: Cho 1 quan hệ R với A & B là 2 tập


thuộc tính phân biệt của nó. B gọi là phụ thuộc hàm vào
A nếu đối với mỗi dòng các giá trị của A xác định duy
nhất các giá trị của B.
 Sự phụ thuộc hàm của B vào A còn gọi là A xác định B
và được ký hiệu: AÆB. Có hệ tiên đề về phụ thuộc hàm
 Ví dụ, trong quan hệ SINH VIEN có 2 phụ thuộc hàm:
{mãsv} Æ {tênsv, ngàysinh, lớp}
{mãsv, môn} Æ {điểm}
 xác định các phụ thuộc hàm dựa trên ngữ nghĩa của chúng

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 16
g. Các khóa trong một quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Khóa dự tuyển của 1 quan hệ là tập các thuộc tính mà


giá trị của chúng xác định giá trị của các thuộc tính còn
lại trên mỗi dòng.
 Khóa của 1 quan hệ là 1 khóa dự tuyển và tối thiểu –
nghĩa là: nếu bỏ đi 1 thuộc tính trong khóa thì nó không
còn là 1 khóa dự tuyển
 Khóa ngoại là 1 thuộc tính của quan hệ mà là thuộc
tính khóa chính của 1 quan hệ khác.
 Có nhiều thuật toán xác định khóa. Khóa tốt là khóa có
ít thuộc tính nhất.

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 17
h. Các dạng chuẩn
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Ba chuẩn cơ bản:
 Chuẩn 1 (First Normal Form - 1NF): 1 quan hệ là chuẩn
1 nếu không chứa thuộc tính lặp
 Chuẩn 2 (2NF): 1 quan hệ là chuẩn 2 nếu:
ƒ Là 1NF
ƒ Không chứa thuộc tính phụ thuộc vào 1 phần khóa
 Chuẩn 3 (3NF): 1 quan hệ là chuẩn 3 nếu:
ƒ Là 2NF
ƒ Không chứa thuộc tính phụ thuộc bắc cầu vào khóa
Ngoài ra còn có các chuẩn Boyce Codd, chuẩn 4, chuẩn 5

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 18
i. Các ràng buộc toàn vẹn trong
mô hình quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Toàn vẹn thực thể: Khóa xác định duy nhất các bản ghi
Æ giá trị khóa khác null
 Toàn vẹn giá trị thuộc tính: mỗi thuộc tính phải thuộc 1
miền giá trị xác đinh (xác định = kiểu, kích cỡ/giới hạn,
định dạng).
 Toàn vẹn tham chiếu: Khóa ngoại xác định mối quan hệ
ràng buộc (lôgic) giữa hai quan hệ
 Các toàn vẹn khác: Các trigger là công cụ tổ chức các
ràng buộc nghiệp vụ (đa dạng) khác về dữ liệu:

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 19
3. Phát triển mô hình DL lôgic
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Quá trình phát triển một mô hình dữ liệu lôgic


cho một ứng dụng qua 2 pha:
1. Xây dựng mô hình dữ liệu quan niệm – kết
quả là một mô hình thực thể - mối quan hệ
(ERM)
2. Chuyển mô hình thực thể mối quan hệ sang
một mô hình dữ liệu lôgic: mô hình quan hệ
Sau đây trình bày nội dung quá trình chuyển
này
Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 20
a. Tiến trình phát triển MHDLLG
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Mô hình Biểu
thực thể Biểu diễn các Chuẩn
-mối quan diễn các mối hoá các
hệ: ERM thực thể quan hệ quan hệ

Mô hình dữ
liệu lôgic: Vẽ biểu Hợp
đồ của nhất các
Mô hình mô hình quan hệ
quan hệ

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 21
b. Biểu diễn các thực thể
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Qui tắc chuyển


„ Tên thực thể tên quan hệ
„ Thuộc tính thực thể thuộc tính quan hệ
„ Thuộc tính định danh khoá quan hệ

tênkhách địachỉ
mãkhách
KHÁCH HÀNG mãvùng

KHÁCH (mãkhách, tênkhách, địachỉ, mãvùng)


Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 22
c. Biểu diễn các mối quan hệ loại 1
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

a. Mối quan hệ bậc 2, dạng 1:m và không có thuộc tính


riêng: thêm khoá của quan hệ bên 1 vào quan hệ bên
nhiều làm khoá ngoại của nó

Mãnhóm tênnhóm Mãhàng đơnvị

tênhàng
NHÓM HÀNG THUỘC HÀNG

NHÓMHÀNG (mãnhóm, tênnhóm)

HÀNG (mãhàng, tênhàng, đơnvị, mãnhóm)


Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 23
d. Biểu diễn mối quan hệ loại 2
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

b. Mối quan hệ dạng khác trường hợp (a) trên:


thêm một mối quan hệ mới gồm các thuộc tính là :
„ Thuộc tính riêng của mối quan hệ
„ Các định danh của các thực thể liên quan

Mãkhách tênkhách sốđơn Mãhàng tênhàng

địachỉ KHÁCH ĐẶT HÀNG

khuvực sốlượng ngàyđặt đơnvị

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 24
d. Biểu diễn mối quan hệ loại 2
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Mối quan hệ dạng khác trường hợp trên: thêm 1quan


hệ mới :
mãkhách tênkhách sốđơn mãhàng tênhàng

địachỉ KHÁCH ĐẶT HÀNG

khuvực sốlượng ngàyđặt đơnvị

ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng, mãkhách, mãhàng)

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 25
e. Xác định khóa và chuẩn hóa
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Chỉ cần xét các quan hệ thêm vào ở bước 2


 Nếu 1 quan hệ chưa 1NF thì chuẩn hóa nó:
„ Tách các thuộc tính lặp và phần khóa xác định nó
thành 1 quan hệ.
„ Quan hệ còn lại: gồm các thuộc tính còn lại và toàn
bộ khóa nhưng không chứa thuộc tính lặp

Ví dụ: ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng,• mãkhách, mãhàng•)

DÒNGĐƠN(sốđơn, mãhàng, sốlượng)


ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách)
Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 26
f. Tích hợp các quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Loại đi những quan hệ thừa (lặp – do tích hợp từ


nhiều ERM)
 Chính xác hóa các thuộc tính đồng danh, đồng nghĩa.
 Hợp nhất các quan hệ có cùng khóa Æ có thể xuất
hiện quan hệ chưa cấu trúc tốt, do vậy cần chuẩn hó
tiếp tục.
 Kết quả của quá trình này ta nhận được các quan hệ
của mô hình đều có cấu trúc tốt

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 27
4. Ví dụ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Bài toán: Một cơ sở bán hàng sử dụng hai loại chứng từ


(khung nhìn) sau để theo dõi hoạt động kinh doanh của
mình:
ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG
Số: XXXXXX Số: XXXXXX
Người đặt hàng: ................................ Tên khách hàng: ................................
Địa chỉ: ............................................. Địa chỉ: .............................................
Ngày đặt:........................................... Nơi giao: ...........................................
Ngày giao:...........................................
Số Tên Đơn Đơn Số Thành
tt hàng vị giá lượng tiền Số Tên Đơn Đơn Số Thành
tt hàng vị giá lượng tiền
xx xxx xxx xx xx xx
xx xxx xxx xx xx xx
... ... .. ... ... ...
... ... .. ... ... ...

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 28
a. Xây dựng ERM
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

mãkhách tênkhách mãhàng


ngàyđặt tênhàng

địachỉ KHÁCH ĐẶT HÀNG đơnvị


khuvực sốlượng sốđơn

sốphiếuzao đơngiázao
GIAO
sốlượngzao ngàyzao
NƠIGIAO
tênnơizao
Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 29
a.Chuyển ERM sang
mô hình quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Š KHÁCH (mãkhách, tênkhách, địachỉkhách)


Š HÀNG (mãhàng, tênhàng, đơnvị, môtả)
Š NƠIGIAO (tênnơizao)
Š ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách, mãhàng*,
sốlượngđặt* )
Š PHIẾUGIAO (sốphiếu, ngàyzao, nơizao, mãkhách,
mãhàng*, sốlượngzao*, đơngiázao*)

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 30
b. Chuẩn hoá các quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

KHÁCH (mãkhách, tênkhách, địachỉkhách) (1)


HÀNG(mãhàng, tênhàng, đơnvị, môtả) (2)
NƠIGIAO (tênnơizao) (3)
ĐƠNHÀNG (sốđơn, mãkhách, ngàyđặt) (4)
DÒNGĐƠN (sốđơn, mãhàng, sốlượngđặt) (5)

PHIẾUGIAO(sốphiếu, ngàyzao, mãkhách, tênnơizao) (6)


DÒNGPHIẾU (sốphiếu, mãhàng,sốlượngzao,đơngiázao) (7)

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 31
c. Vẽ biểu đồ liên kết các quan hệ
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

 Biểu diễn mỗi quan hệ bằng 1 hình chữ nhật gồm tên
(khoang trên) và các thuộc tính khóa (khoang dưới)
 Nối từng cặp quan hệ với nhau nếu chúng chứa cùng
1 thuộc tính khóa, nhưng 1 bên là khóa chính, bên
kia là khóa ngoại (có thể lập bảng để xác định liên
kết – tiếp sau)
 Xác định bản số cho mỗi quan hệ (dựa trên ngữ
nghĩa)
 Đến đây ta nhận được mô hình quan hệ gồm các
quan hệ có cấu trúc tốt và biểu đồ liên kết chúng

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 32
d. Lập bảng xác định liên kết
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

Thuộc tính khoá (1) (2) (3) (4) (5) (6) (7) Liên kết
mãkhách K C C (1)-(4), (1)-(6)
mãhàng K C C (2)-(5), (2)-(7)
tênnơizao K C (3)-(6)
sốđơn K C (4)-(5)
sốphiếu K C (6)-(7)
sốđơn, mãhàng dòng loại
sốphiếu, mãhàng dòng loại

Hai dòng cuối chứa các khóa ngoại thì loại đi

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 33
e. Biểu đồ liên kết của mô hình
Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh

(1) KHÁCH (4) ĐƠNHÀNG (5)DÒNGĐƠN


# mãkhách # sốđơn # sốđơn
tênkhách ngàyđặt # mãhàng
địachỉkhách mãkhách sốlượngđặt

(6)PHIẾUGIAO (7) DÒNGPHIÊU (2) HÀNG


# sốphiếu # sốphiếu # mãhàng
ngàyzao # mãhàng tênhàng
mãkhách sốlượngzao môtảhàng
tênnơizao đơngiázao đơnvịhàng
(3) NƠIGIAO
# tênnơizao

Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 34

You might also like