CHƯƠNG 4 : PHÂN TÍCH VÀ THIT K D LIU
4.1. TNG QUAN
Tt c mi h thng đều phi s dng mt cơ s d liu ca mình, đó có th
là mt cơ s d liu đã có hoc mt cơ s d liu được xây dng mi. Cũng có
nhng h thng s dng c cơ s d liu cũ và mi. Vic phân tích và thiết kế cơ
s d liu cho mt h thng có th tiến hành đồng thi vi vic phân tích và thiết
kế h thng hoc có th tiến hành riêng. Vn đề đặt ra là cn xây dng mt cơ s
d liu gim được ti đa s dư tha d liu đồng thi phi d khôi phc và bo trì.
4.1.1. Các khái nim
- Cơ s d liu (CSDL): CSDL máy tính là mt kho cha mt b sưu tp
có t chc các file d liu, các bn ghi và các trường.
- H qun tr cơ s d liu (HQTCSDL): là mt phn mm điu khin
mi truy nhp đối vi CSDL.
- Các HQTCSDL được phân loi theo mô hình d liu như sau:
- Các HQTCSDL phân cp ng vi mô hình phân cp (ví d: IMS ca
IBM)
- Các HQTCSDL mng ng vi mô hình mng (ví d: IDMS ca Cullinet
Software)
- Các HQTCSDL quan h ng vi mô hình quan h (ví d: ORACLE ca
Oraccle, DB2 ca IBM, Access và SQL server ca Microsoft)
- Các HQTCSDL hướng đối tượng ng vi mô hình hướng đối tượng (ví
d: Jasmine )
4.1.2. Các bước tiến hành phân tích và thiết kế CSDL
a. Phân tích CSDL
Bước phân tích CSDL độc lp vi các h qun tr CSDL, bước này thc
hin các công vic sau:
+ Xác định các yêu cu v d liu: Phân tích các yêu cu d liu ca
h thng để xác định các yêu cu v d liu.
+ Mô hình hoá d liu: Xây dng mô hình thc th liên kết biu din
các yêu cu v d liu.
b. Thiết kế CSDL quan h
Thiết kế CSDL bao gm:
+ Thiết kế logic CSDL: độc lp vi mt h qun tr CSDL.
Xác định các quan h: Chuyn t mô hình thc th liên kết sang
mô hình quan h.
Chun hoá các quan h: chun hoá các quan h v dng chn ít
nht là chun 3 (3NF)
+ Thiết kế vt lý CSDL: da trên mt h qun tr CSDL c th.
Xây dng các bng trong CSDL quan h: quyết định cu trúc
thc tế ca các bng lưu tr trong mô hình quan h.
H tr các cài đặt vt lý trong CSDL: cài đặt chi tiết trong
HQTCSDL la chn.
4.2. MÔ HÌNH THC TH LIÊN KT
4.2.1. Mc đích ca vic xây dng mô hình
Xây dng mô hình thc th liên kết nhm các mc đích sau;
- Mô t thế gii thc gn vi quan nim, suy nghĩ ca ta. Đây là mô hình
tt vi lượng thông tin ít nht, mô t thế gii d liu đầy đủ nht.
- Vic xây dng mô hình nhm thành lp mt biu đồ cu trúc d liu bao
gm d liu cn x lý và cu trúc ni ti ca nó.
Ví d mt mô hình thc th liên kết
Mô hình liên kết thc th ca vic bán hàng
4.2.2. Các thành phn ca mô hình thc th liên kết
a. Thc th
Khái nim v thc th
Thc th là khái nim để ch mt lp các đối tượng có cùng đặc tính
chung mà người ta mun qun lý thông tin v nó. Ví du, sinh viên, hàng
hóa, vt tư
Mt đối tượng c th trong thc th được gi là mt cá th (còn gi là
mt th hin ca thc th). Ví d Lê Văn Bình là mt cá th ca thc th
Sinh viên, Xi măng là cá th ca thc th Hàng hóa
Thuc tính ca thc th
Để mô t thông tin v mt thc th người ta thường da vào các đặc
trưng riêng ca thc th đó. Các đặc trưng đó được gi là thuc tính ca
thc th. Ví d thc th Sinh viên có các thuc tính Mã sinh viên, H tên
sinh viên, Ngày sinh, Địa ch, Trường, Khoa, Khóa sinh viên, Lp,… Đối
vi thc th Hàng hóa thì giá tr ca các thuc tính Mã hàng hóa, Tên hàng
hóa, Đơn v tính, Đơn giá,… là nhng thông tin mà nhà qun lý cn quan
tâm để qun lý hàng hóa.
Thuc tính ca thc th bao gm các loi sau
Thuc tính định danh (còn gi là định danh thc th, đôi khi còn gi là
thuc tính khoá): Là mt hoc mt s thuc tính mà giá tr ca nó cho phép
phân bit các thc th khác nhau. Mt thc th bao gi cũng được xác định
mt thuc tính định danh làm cơ s để phân bit các th hin c th ca nó.
Ví d : S hiu khách hàng, Mã mt hàng, Mã sinh viên,...
Thuc tính mô t: Là các thuc tính mà giá tr ca chúng ch có tính mô
t cho thc th hay liên kết mà thôi. Hu hết các thuc tính trong mt kiu
thc th đều là mô t. Có mt s thuc tính mô t đặc bit như sau:
Thuc tính tên gi: là thuc tính mô t để ch tên các đối tượng
thuc thc th. Thuc tính tên gi để phân bit các thc th (tách
các thc th).
Thuc tính kết ni (thuc tính khoá ngoài): là thuc tính ch ra
mi quan h gia mt thc th đã có và mt thc th trong bng
khác. Thuc tính kết ni ging thuc tính mô t thông thường
trong thc th cha nó nhưng nó li là thuc tính khoá ca mt
thc th trong bng khác.
Ví d:
b. Liên kết và các kiu liên kết
Liên kết (còn gi là quan h) là s kết hp gia hai hay nhiu thc th
phn ánh s ràng buc trong qun lý. Đặc bit: Mt thc th có th liên kết
vi chính nó ta thường gi là t liên kết. Gia hai thc th có th có nhiu
hơn mt liên kết.
Có ba kiu liên kết: mt - mt, mt - nhiu, nhiu - nhiu.
Liên kết mt – mt (1-1):
Mi th hin ca thc th A quan h vi mt th hin ca thc th B và
ngược li.
Kí hiu:
Ví d: Mt sinh viên có mt lun văn. Mt lun văn thuc v mt sinh
viên.
Liên kết mt – nhiu (1-N)
thuc v
Mi th hin ca thc th A quan h vi nhiu th hin ca thc th
B. Ngược li mi th hin ca thc th B quan h vi ch mt th hin ca
thc th A.
Kí hiu:
Ví d: Mt khoa có nhiu sinh viên. Mt sinh viên thuc v mt
khoa.
Liên kết nhiu – nhiu (N-N)
Mi th hin ca thc th A quan h vi nhiu th hin ca thc th
B. Ngược li mi th hin ca thc th B quan h vi nhiu th hin ca
thc th A.
Kí kiu
Ví d: Mt giáo viên dy nhiu sinh viên. Mt sinh viên được dy
bi nhiu giáo viên.
Điu kin để mt cá th ca thc th tham gia vào liên kết vi mt
thc th khác gi là loi thành viên. Nó có th là bt buc hay tu chn
trong quan h. Các loi thành viên cho biết s th hin nh nht ca mi
thc th tham gia vào liên kết vi mt th hin ca mt thc th khác.
Kí hiu: