5. THIẾT KẾ VẬT Lí CSDL
5.1. Cỏc vấn đề liờn quan khi thiết kế vật lý CSDL
Phần thiết kế vật lý CSDL sẽ phụ thuộc vào một HQTCSDL mà bạn sẽ sử dụng
đểcài đặtCSDL.Chỳngta cầnchuyển từcỏc bảnghi logicvới cỏcthuộc tớnht hành
cỏcquan hệđược biểu diễndưới dạngbảngvới cỏc trường hay cỏc cột được cà iđặt
trong một HQTCSDL cụ thể.
Với mỗi bảng cần chỉ rừ:
Khoỏchớnh (cúthểgồm mộthaynhiềuthuộc tớnh). Mụtảcủa tấtcảcỏccột (trường).
Với mỗi cột (trường) cần phải cú:
Mộttờn duynhất(trongbảnglưugiữnú). Mộtmụtảngắngọn.
Một kiểu dữ liệu (vớ dụ: integer, char, date, logical,… phụ thuộc
vào
HQTCSDL cụ thể cài đặt CSDL)
Một kớch thước (mặc định hay chỉ rừ tuỳ từng kiểu dữ liệu)
Chỳ ý: tờn của bảng, cột khụng nờn quỏ dài, cần đủ nghĩa và th ường
khụngcúdấu.
Cỏc cột(trường)tuỳchọnvàcỏccột (trường)bắt buộc:
Nếucột làbắt buộcthỡ ngườisử dụngcầnphải cungcấpmộtgiỏ trị cho
cột này trong mỗi dũng (bản ghi) thờm vào bảng khi cập nhật C SDL.
Cột sẽ cần phải được chỉ rừ là NOT NULL
Nếu cột là tuỳ chọn thỡ nú cú thể nhận giỏ trị null.
Chỳ ý : cú thể lưu trữ một giỏ trị 0cho một cột tuỳ chọn khi nú k hụng
cúgiỏtrịnhữngcỏch nàykhụng phảilàcỏch hay. Khoỏchớnh vàcỏckhoỏngoài
Hầu hết cỏc HQTCSDL hiện đại cho phộp chỉ rừ khoỏ chớnh, khoỏ
ngoàikhiđịnh nghĩacỏcbảng.
Nếu cỏc HQTCSDL khụng cho phộp định nghĩa tự động thỡ cần phải
chỉ rừ. Khoỏ chớnh cần phải duy nhất và not null. Khoỏ ngoài cần phải
liờn quan tới một thể hiện của khoỏ chớnh đó cú hoặc là nhận gi ỏ trị
null.
Giỏ trị hợp lệ và giỏ trị mặc định
Vớ dụ:Một mó KH đượcđịnh nghĩa nằm trong khoảngtừ 1 đến 1000 (giỏ
trịhợp lệ).Giỏtrịmặcđịnh chosốlượng bỏnlà1(giỏtrịmặcđịnh). Thuận lợi của việc chỉ rừ giỏ trị hợp lệ là nú sẽ được gắn vào trong t ất cả
cỏcchương trỡnh khilập trỡnh.Đảm bảo sự thống nhất trong việckiể m tra
tớnhđỳngđắn củadữliệu.
Giỏ trị mặcđịnh cú thể được sử dụngđể giảm bớt việc gừmỏy cho n gười
sửdụng.Nú giỳp choviệcnhậpdữliệunhanhhơnvàgiảmbớt lỗi. Khoỏgiả
Đểtăngtốc độtỡmkiếm,tiếtkiệmkhụnggiannhớvàgiảmlỗi cỏc khoỏ
cần phải ngắn. Nếu một vài khoỏ quỏ dài cần phải thay chỳng bằng một
Cú hai vấn đề khi đưa ra một khoỏ giả:
Cần phải thiết lập một kỹ thuật để sinh tự động cỏc giỏ trị duy
nhấtchokhoỏ(sinhkhoỏtựđộng)
Cần phải cung cấp một ràng buộc duy nhất cho cỏc định dan h tự
nhiờn đểngănchặn việc lưutrữ mộtvài bảnghi cho cựngmột thực
thểcúcựngmộtdữliệunhưng chỉkhỏc nhauvềgiỏtrịkhoỏ. Cỏcquanhệ
Cỏcquanhệgiữacỏcbảngsẽđược thiếtlậpbởi cỏckhoỏngoài.
Cầnphải đảmbảolàcỏi ràngbuộckhoỏngoàisẽ đượccàiđặt. 5.2.Xemxột hiệusuấtthựcthiCSDL
Cần phải đỏnh giỏ việc thực thi CSDL, đú là tớnh hợp lý của thời gian đỏp ứng
cỏccõuhỏitruyvấn.
ChạythửCSDLvới mộttập đủlớn cỏcbản ghitrongmụitrườngthựctế.
Mụ phỏng một số người dựng cựng thực hiện một truy vấn trong CSD
L đa
người sửdụng.
Chạytrộnlẫn mộtsố chứcnăngvớithờigian quyđịnh.
a.Chỉsố
- Xỏc định một số chỉ số trong CSDL là một vấn đề quan trọng cần phải quan
tõm khithiết kếCSDL
Theoquyluật chungcầnphảicú
Mộtchỉ sốduynhấtcho mỗikhoỏchớnh
Một chỉ số trờn mỗi khoỏ ngoài
Những dữ liệu được truy nhập thường xuyờn cũng cần phải tạ o chỉ
số
Vớichỉ sốghộptrờn nhiềucột cầnphảicungcấpthứtựcỏccột. -Ưuvànhướcđiểmcủachỉsố
ưu điểm
Tăngtốc độtỡmkiếmvàkhụi phụccỏcbảnghi.
Cú hiệusuấtcaotrongviệctruynhậpnhiều bảng.
Tạo cỏc cỏch sắp xếp khỏc nhau trờn cựng một bảng.
Tạo nhiềumứcsắpxếp bằngcỏch tạomộtchỉ sốtrờnmộtsốcột .
Nhược điểm
Cầnnhiềukhụng giannhớhơnđểlưugiữcỏcchỉsố.
Tốnthờigiancậpnhậttấtcả cỏcchỉ sốkhicập nhậtdữliệu.
b. Phỏ vỡ chuẩn
Đụi khi chỳng ta cần cõn nhắc đưa một số dư thừa dữ liệu vào cơ sở dữ liệ u để
tăng tốc độ truyvấn. Khi đú cúthể chỳng tađó phỏ vỡ dạngchuẩn của cỏc qua nhệ
đó được chuẩn hoỏ.
- Phõn ró: Căn cứ vào yờu cầu sử dụng nếu cú những cột thuộc tớnh hay dựng
và ớt dựng hoặc vỡ một lý do nào đú(vớ dụ để bảo mật) thỡ phõn ró chỳng ra. N hững
cộtthuộc tớnhhaydựngchovàocựngmộtbảng.
Vớdụ:QuanhệĐIỂM THIgồmcỏcthuộctớnhSBD,Số phỏch,điểm.Nhưng để
đảmbảobớ mật thườngđượctỏchthànhhai bảngPHÁCH(SBD,sốphỏch)vàB ÀI
THI(Sốphỏch,điểm)
-Gộphai haynhiều bảngkhiviệcsử dụngchỳngthườngđiliền vớinhau. - Lặp lại cỏc cột thuộc tớnh từ cỏc bảng khỏc nhau, thờm một số cột thuộc tớn h
suy diễn vào bảng(vớ dụ: thành tiền, tổng tiền) nếu nú được truy vấn thường xuy ờn.
-Lập cỏcbảngchỉdẫn căncứvào đườngtruynhập vàtheocỏc cột thuộc tớn h cú
tần số sử dụng cao. Thờm một số bảng để lưu trữ cỏc thụng tin kết quả truy vấ n sẽ
Vớ dụ: Trong hệ thống tuyển sinh vỡ yờu cầu xem điểm nhiều nờn cú th ể tạo
ra một tệp cú cỏc thuộc tớnh SBD và điểm để giỳp cho việc tỡm kiếm thụn g tin
đượcnhanhchúng.
Tronghệthốngbỏn hàngcúthể thờmmộtsốbảnghỗtrợchoviệctớnhhàngt ồn,
tớnhthuchi.
5.3.Điềuchỉnhthực thiCSDL
Tạocỏcthủtục saolưuvàphụchồiCSDL. Tổchức bảotrỡvàbảo mậtcho CSDL. Thiếtlập cỏcràngbuộctoànvẹnchoCSDL.
Xỏcđịnhkhụnggiannhớ chocỏcbảngCSDLvàcỏcchỉ số. Thiếtlập vựngnhớđệmchoCSDL
PhõncụmCSDL,tổchứclưutrữ vậtlý tốiưuchoCSDLtrờn đĩa. Đảmbảođiềukhiểntương tranhtrongCSDLđangười sử dụng. Tạora cỏcviewcủaCSDL chotừng đốitượngngườidựng.
Xỏc định sự phõn tỏn dữ liệu và xử lý giữa cỏc client và server trong m
ột hệ
thốngphõntỏn. 5.4.Vớdụmộtmẫuthiếtkế
NHÀ CUNG CẤP ( NCC, tờn NCC, địa chỉ, điện thoại, fax)mó
HÀNG (móhàng,tờn hàng,đơnvị tớnh,đơngiỏ,sốlượng,mụtả,mó NCC,s ố
kho)
KHO (sốkho, diệntớch,mụtả)
PHIẾU XUẤT(sốphiếu, ngàyxuất,số đạilý)
DềNG PHIẾUXUẤT(móhàng, số phiếu,sốlượng xuất) ĐẠILí (sốđạilý,địa chỉđạilý,mụtả)
*Chỳ ý:
Kiểu dữ liệu và kớch thước của cỏc cột khoỏ ngoài cần phải giốn g hệt
kiểudữliệu vàkớchthước củacỏccột khoỏchớnh tươngứng. Khi tạo bảng, nếu bảngAcú cột thuộc tớnhlàm khoỏngoài trong bảng
BthỡbảngAcầnphảiđượctạo trướcbảngB.
Khi cài đặt, cỏc đặc tớnh như khuụn dạng, giỏ trị hợp lệ , khoỏ c hớnh,
khoỏ ngoài,…chớnh là cỏc ràng buộc của CSDL. Cỏc HQTCSDL hiện
đại hỗ trợ rất nhiều cho việc cài đặt cỏc ràng buộc này. Nếu một
HQTCSDL nào đú mà khụng hỗ trợ việc cài đặt cỏc ràng buộc nà y thỡ
cầnphảitạo cỏcthủtụcđểkiểmtra dữliệunhậpvào.
Đụi khitrong thực tế người ta khụng sử dụng ràng buộc khoỏ ngo ài vỡ
một số lý do:vớ dụ để biết hoỏ đơn là do nhõn viờn nào lập,thuộc tớnh
mó NV được đặt làm khoỏ ngoài trong bảng HOÁ ĐƠN. Ràng buộc
khoỏ ngoài đũi hỏi thụng tin về nhõn viờn chỉ được xoỏ khi tất cả cỏc
hoỏđơn liờn quanđếnnhõnviờn đúđóbị xoỏ hết.Nhưngthựctế n gười
ta lại cần lưu trữ cỏc hoỏ đơn liờn quan đến nhõn viờn, trong khi nhõn
viờn đú đó rời khỏi cụng ty. Vỡ vậy trong trường hợp này phải dựng một
thủtụckiểm trakhỏcthay choràngbuộckhoỏngoài.
5.BÀITẬPỨNG DỤNG
Thiết kế CSDL cho hệ thống quản lý khoa CNTT.
CHƯƠNG 5 THIẾT KẾ GIAO DIỆN GIỮA NGƯỜI VÀ MÁY 1TỔNGQUAN
1.1.Mục đớch
Tờnbảng Tờncột Nộidung Kiểu dữ liệu Kớch thước Khuụn dạng Giỏ trị mặcđịnh Giỏtrịhợp lệ NOtnull KhOỏ chớnh KhOỏ ngOài tham chiếu bảng Chỉsố BNcc MaNcc Mónhà
cungcấp Text 5 N-AAA x x Incc_Ma
TenNcc cungTờnnhàcấp Text 30 x
Incc_Te n
DiaChi Địachỉ Text 50 x
Phone Điệnthoại Text 15 999-999 9999 Fax Fax Text 15
BHang maHang Móhàng Integer 2 x x IH_Ma
tenHang Tờnhàng Text 50 x dvt đơnvịtớnh Text 10 “cỏi” x donGia đơngiỏ LongInteger 4 >0 x soLuong sốlượng Integer 2 0<=x<=
3000 x moTa mụtả Text 100
maNcc móNCC Text 5 x bNcc IH_Ncc soKho Sốkho Integer 2 x bKho IH_Kho bKho soKho …
dienTich … moTa …
Thiếtkếmụitrườnggiaotiếpgiữa ngườisử dụngvàmỏythoảmónđiềukiện: -Dễsử dụng:Giaodiệndễsửdụngngaycả vớinhững ngườikhụngcúkinh nghiệm
-Dễhọc :Cỏcchức nănggần gũivớitư duycủangườisử dụngđểhọcúthể nắmbắtdễdàngnhanhchúng.
-Tốcđộthaotỏc: Giaodiệnkhụng đũihỏicỏc thaotỏcphứctạphay dài dũng,hỗtrợcỏcphớmtắt,phớmnúng.
-Dễphỏttriển :Giao diệnđượcxõydựngdễdàng,sẵnsàng đỏpứngcỏcyờu cầu thay đổi của người sử dụng.
1.2.Cỏcloạigiaodiện
- Hộp thoại: Là cỏc giao diện phục vụ cho việc kiểm soỏt hệ thống, trao đổi thụngtingiữangười sử dụngvàhệthống,kiểmtra quyềntruynhập(Tờn,mật khẩu), cỏc hướng dẫn sử dụng hệ thống, cỏc thụng bỏo lỗi sử dụng hay lỗi hệ thốngnếucú...
-Mànhỡnh nhậpdữliệu: Đúlà cỏckhungnhậpliệuchophộpngườisử dụng tiếnhànhnhậpdữliệuchohệthốnghaycungcấpthụngtin choviệctỡmkiếm dữliệu,đưa racỏcbỏocỏotheo yờucầu.
-Mànhỡnh bỏocỏo:Đú làcỏcbiểumẫu hiểnthị cỏcthụngtinđượcthuthập vàtổng hợptheoyờucầucủa ngườisử dụng.
1.3.Cỏcnguyờntắc chungkhithiếtkếgiaodiện
-Luụn cungcấpthụngtin phảnhồivềcụngviệcđangtiến hànhcho người sử dụng.
-Thụngtin trạngthỏi:cungcấpchongười sửdụngthụngtin vềphầnhệ thốngđangđượcsử dụng.
− Cụngviệctốithiểu:Hạnchếtối đasựcốgắngkhụngcầnthiếtcủa người sửdụng.
Vớ dụ : Đặt cỏc giỏ trị thường xuyờn sử dụng hay cỏc giỏ trị tốt nhất cú thể làngầmđịnh.
72
-Trợ giỳp:Sẵn sàngcungcấpcỏctrợgiỳpkhingười sử dụngcần.
− Dễdàngthoỏtra:Chophộpngườisử dụngthoỏtrakhỏi hộpthoạidễdàng bằngcỏcthaotỏc quenthuộc.
Vớdụ:ấnphớmESC/Alt-F9...
-Làmlại: Chophộphuỷ bỏcỏcthaotỏc đótiến hành,tăngtớnhkhoandung của chươngtrỡnh.
2.THIẾTKẾCÁCMẪUTHUTHẬPTHễNGTIN
2.1. Yờu cầu
-Đỏpứngđượcyờu cầucủangười sửdụng
-Khụngcúlỗi.(Muốnvậyphảikiểmtra khinhập) -Trỡnhbày dễhiểu,dễdựng
-Gừphớm ớtnhất.
2.2. Phươngphỏpthuthậpthụngtin
-Trựctuyến (Vớdụ:Bỏn vộmỏy baytrựctiếplấy thụngtinvàtrựctiếp xửlý) - Trỡ hoón : Đưa qua trung gian
-Từ xa
2.3. Xỏcđịnhkhuụnmẫuthuthập thụngtin- Mẫu cú hai dạng : - Mẫu cú hai dạng : +Khungđểđiền Vớdụ: 73 DỰTRÙ Sốhiệuphõnxưởng:
Tờnphõnxưởng: Địachỉphõnxưởng: Yờucầucỏcmặthàng Mó hàng Tờn hàng Số lượng 1 2 3 +Cõuhỏi:
Cõuhỏiđúng(chọn):Tấtcảcỏctuỳchọnđượcđưa ravàchophộpchọnmột hoặc nhiềutrong sốđú.
Cõuhỏimở (gợiý): Đưaramộtsốcõuhỏigợiýyờucầutrảlời. - Yờu cầu về mẫu
+Thuận tiệncho ngườiđiềutra +Thuõn tiệncho việcmóhoỏ +Thuận tiệncho việcgừphớm.
+Nội dungđơngiản,rừ ràng,chớnh xỏc. 4.4.Mó hoỏ
- Mó:Tờnvắntắtgắn chomộtđốitượngnàođú - Đối tượng cú thể là :
+Một ứngdụngtinhọc
+Một chứcnănghaynhiệm vụ + Một chương trỡnh
+Một tệp
+Một thụngtintrongcỏctàiliệu,trongcỏctệp
74
+ Cỏc biến hàm dựng trong chương trỡnh... - Chất lượng cơ bản của sự mó hoỏ
tượng khỏc(Cú ỏnhxạ1-1giữatập đốitượngvàtập móhoỏ) +Thớchứng vớiphương thứcsửdụng
Xửlý bằngtay :Dễhiểu,dễgiải mó
Xửlý bằngmỏyphảicúcỳphỏpchặtchẽ. +Cú khảnăngmở rộnghoặc xenthờm
Mở rộng về phớa trờn hoặc phớa dưới tập mó
Xen thờm ở bờn trong tập mó nhưng phải đảm bảo một trỡnh tự nào đú.
+Mó phảingắngọn +Mó phảicútớnhgợi ý - Cỏc kiểu mó
+Mó liờntiếp: Dựngcỏcsố nguyờnliờn tiếpđểmó hoỏđốitượng
+ Mó theo lỏt: Vẫn dựng số nguyờn nhưng phõnra từng khoảnggiỏ trị cho đốitượng,trongmỗikhoảng dựngmóliờn tiếp.
Vớdụ: 0001-0999 mó yphụcgồm 0001- 0099Sơmi nam
0100 - 0299 Sơ mi nữ 0300- 0349Quần 0350- 0499Vỏy
+ Mó phõn đoạn : Được phõn thành nhiều đoạn mỗi đoạn cú ý nghĩa riờng. Vớ dụ: Mó xe mỏy 29 S2 3219 (Tỉnh-loại phõn khối-liờn tiếp trong lỏt)
+Mó phõncấp:Mó đượcphõnthành nhiềuđoạn,mỗiđoạntrỏvàomột tập đốitượng.
-Lựachọnmó hoỏ
+Nghiờn cứuviệcsử dụngsaunày
+ Nghiờn cứu số lượng đối tượng được mó hoỏ 75
+Nghiờn cứusự phõnbốthốngkờcủacỏcđốitượng +Tỡmxemđócúnhữngmó nàođược dựng
+Cầnthửnghiệmtrướckhidựngchớnhthức
3.THIẾTKẾCÁCTÀI LIỆURA,CÁCBÁOCÁO
-Hỡnhthứctàiliệu xuất:Đĩa,màn hỡnh,giấy in,.. - Dạng tài liệu xuất:
+Cú cấutrỳc:Bảng biểu,phiếu
+Khụngđịnhdạng:Trảlờitheonhu cầu(Ngườidựngphảihiểungụn ngữthế hệ4hoặc dựngmộttrungtõm phiờndịch)
-Yờucầuđốivớitàiliệu xuất +Đầyđủ,chớnh xỏc + Dễ hiểu, dễ đọc
+Kớch thướctàiliệu phảiphựhợp,cỏcmục phảibốtrớhợplý. -Cỏc hỡnhthức đưara
+ Khung in sẵn
+Khụngcúkhungin sẵn
-Cỏchtrỡnh bày:Bố cụcgồm3phần +Phầnđầu:Cỏctiờu đề
+Phầnthõn:Chứanộidungcơbản thườngđượcgomthành nhúmvà cú mối liờn hệ logic với nhau
+ Phần cuối : ngày thỏng, cỏc chữ ký nếu cú -Cú hailoại đưara
+Đơnchiếc + Tập thể
Vớdụ:Mộttàiliệu xuấtcủahệcungứngvật tư.
76
Cụng ty
PHIẾU PHÁTHÀNG
Số hiệu phõn xưởng: ... Tờnphõnxưởng:... Địa chỉ:... Cỏc mặt hàng được phỏt gồm: Mómặt hàng Tờn hàng Số lượng Đề nghịsố lượng Cấpchờnh lệch Ngày ....thỏng... năm2000 Người nhận Người phỏt Ký Ký 4.THIẾTKẾMÀNHèNHVÀĐƠNCHỌN
4.1.Yờucầuthiếtkế:
-Sỏngsủa:Dễ nhỡn,dễđọc, cútrậttự, nhấtquỏn - Chỉ thị rừ cần gỡ, muốn gỡ
-Diễn đạtrừcỏi gỡphảithựchiện
-Địnhvị thụngtinvàonơi cầnthiếttheoluậtra vàogầnnhau - Thao tỏc cần tối thiểu khi đối thoại
-Thụngtintốithiểu
-Ngầm định:Đặtra nhữngthụngsốthườngdựng
-Cung cấpcỏcthụngtintrợgiỳp:Hướng dẫnthaotỏc, thụngbỏolỗi