Chuẩn hoỏ quan hệ

Một phần của tài liệu giáo trình phân tích thiết kế hệ thống thông tin (Trang 62 - 125)

4. THIẾT KẾ LOGIC CSDL

4.2. Chuẩn hoỏ quan hệ

a.Cỏcbước tiếnhành:

 B1. Từ một biểu mẫu (tài liệu xuất: hoỏ đơn, chứng từ,…) lấy ra một danh

 Mỗi tiờu đề trong biểu mẫu là một thuộc tớnh.

 Bỏ qua phần đầu đề và phần dưưới cựng (một số ghi chỳ, chữ ký …)

củabiểumẫu.

 Khụng lấy cỏc thuộc tớnh đưược suy diễn từ những thuộc tớnh khỏc

(như thành tiền =đơn giỏ xsốlượng)và cỏc thuộc tớnhtrỡnh bày nhưư

số thứtự’nếucú.

 Bổ sung thờm mộtsốthuộc tớnhđịnh danhtương ứng với mộtsốt huộc

tớnhtờngọichưa cúđịnhdanhnếucầnthiết.

 Xỏcđịnhnhúmthuộc tớnhlặp,cỏcphụ thuộchàmgiữacỏc thuộctớ nh.

 B2.Chuẩnhoỏ vềdạngchuẩn1(1NF):Tỏchnhúmthuộc tớnhlặp.

 Tỏch cỏc thuộc tớnh khụng nằm trong nhúm lặp thành một qua n hệ

(R1).Xỏcđịnhkhoỏchớnhcủaquanhệnày.

 Cỏc thuộc tớnh của nhúm lặp và khoỏ chớnh của quan hệ trờn (R1 ) tạo

thành một quan hệ (R2). Xỏc định khúa chớnh cho quan hệ R2 ( khoỏ

chớnh của R2 sẽ là một khoỏ ghộp giữa khoỏ của R1 và một thuộc tớnh

khỏc trongR2)

 Vớ dụ: R{A, B, C, D, E} vàkhoỏ là {A}. Tồn tại nhúm thuộc tớn h lặp

{C,D}thỡtỏchthành2quanhệR1{A,B, E}vàR2{A,C,D}.  B3.Chuẩn hoỏnvềdạngchuẩn 2(2NF): Loại bỏphụ thuộcbộ phậnvào khoỏ

(chỉỏpdụngvới cỏcquanhệcúkhoỏghộp.

 Tỏch cỏc thuộc tớnh tham gia vào phụ thuộc hàm được xỏc định bởi

mộtphầncủa khoỏvào mộtquanhệmới (R3).Khoỏ chớnh củaqua n hệ

 Phần cũn lại với khoỏ chớnh của quan hệ trờn (R3) là một quan hệ giữ

nguyờn khoỏchớnh nhưquanhệbanđầu.

 Vớ dụ: R{A, B, C, D} và khoỏ là {A,B}. Tồn tại phụ thuộc hàm Aà C

thỡtỏchthành2quanhệR1{A,C}vàR2{A, B,D}.

 B4.Chuẩn hoỏ vềdạngchuẩn3(3NF): Loại bỏphụ thuộc hàm giữacỏc t huộc

tớnhkhụngkhoỏ.

 Tỏch cỏc thuộc tớnh tham gia vào phụ thuộc hàm giữa cỏc thuộc tớnh

khụng khoỏ vào một quan hệ mới (R4). Khoỏ chớnh của quan hệ là

thuộctớnhxỏcđịnh hàm.

 Phần cũn lại và khoỏ chớnh của quan hệ trờn (R4) là một quan hệ giữ

nguyờnkhoỏchớnh củaquanhệban đầu.

 Vớdụ: R{A, B, C, D} mà khoỏ là {A,B}. Tồntạiphụ thuộc hàm CàD

thỡtỏchthành2quanhệR1{C,D}vàR2{A,B, C}

b.Vớdụ

Hóy xõy dựng mụ hỡnh dữ liệu cho hệ thống từ mẫu phiếu xuất của cụ ng ty

thươngmạiYdưới đõy.

-Danh sỏchthuộc tớnh: sốPX,ngày,số đạilý, địachỉ,tờn hàng,đơn vịtớnh, đơn

giỏ,sốlượng.

-Bổsung thờmthuộc tớnh hàng.

-Phụthuộchàm:(quy địnhgiỏ bỏncủamặt hàngkhụngthayđổi) số PX -> ngày, mó KH

số đại lý -> địa chỉ

mó hàng -> tờn hàng, đơn vị tớnh, đơn giỏ {sốPX,mó hàng}->sốlượng

-Khoỏchớnh: sốPX.

Chuẩn hoỏ quan hệ:

Cỏc bản ghi logic biểu diễn cỏc quan hệ: ĐẠILí(sốđạilý,địa chỉ) PHIẾU XUẤT(sốPX, ngày,số đạilý)

HÀNG (móhàng,tờn hàng,đơnvịtớnh,đơngiỏ) HÀNG XUẤT (số PX, mó hàng, số lượng xuất) 4.3.Hoàn thiệnmụhỡnhCSDLlogic

a. Một số quy tắc

Sau khitiến hànhtheo haihướngkhỏc nhau: xõy dựngmụ hỡnh thực thể liờ nkết

và chuẩn hoỏ dữ liệu chỳng ta sẽ cú hai tập bản ghi logic khỏc nhau của cựng m ột hệ

thống.Khi đúcầnphảikết hợplạiđểcúmộtmụhỡnh CSDLlogicthốngnhấtch o hệ

thống.

Một số nguyờn tắc kết hợp:

 Kiểm tra sự thống nhất về tờn gọi của cỏc quan hệ và cỏc thuộc tớnh

trong hai kết quả. Nếu cựng tờn những khỏc nghĩa thỡ phải đặt lạ i tờn 0NF 1NF 2NF 3NF Tờn gọi sốPX ngày sốđạilý địa chỉ *móhàng *tờnhàng *đơn vị tớnh *đơngiỏ *sốlượng số PX ngày sốđạilý địa chỉ số PX ngày sốđạilý địa chỉ số đại lý địa chỉ ĐẠI Lí số PX ngày sốđạilý PHIẾUXUẤT số PX mó hàng tờn hàng đơnvịtớnh đơngiỏ sốlượng mó hàng tờn hàng đơn vị tớnh mó hàng tờn hàng đơn vị tớnh HÀNG sđốơnPXgiỏ mó hàng sốlượng sđốơnPXgiỏ mó hàng sốlượng HÀNG XUẤT

cho khỏc nhau. Nếu cựngnghĩa nhưng khỏc tờn thỡ phải đặtlại tờn cho

giống nhau.

 Lấy tất cả cỏc quan hệ khỏc nhau từ hai kết quả.

 Với hai quan hệ trựng nhau thỡ lấy tất cả cỏc thuộc tớnh cú tron

g hai

quanhệtừ haikết quả.

b.Vớdụ:

Trong vớ dụ phần1 ta thuđược tập cỏc bản ghilogic mụ tả cỏcquan hệtron ghệ

thốngcụngty thươngmạiYlà: Nhúm1:

NHÀCUNG CẤP( mó NCC,tờnNCC, địa chỉ,điện thoại,fax) HÀNG (móhàng,tờn hàng,đơ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ày xuất, số cửa hàng)

DềNG PHIẾUXUẤT( hàng, số phiếu,số lượng xuất) CỬAHÀNG(số cửa hàng, địađiểm, mụtả)

Trong vớ dụ phần2 ta thuđược tập cỏc bản ghilogic mụ tả cỏcquan hệtron g hệ

thốngcụngty thươngmạiYlà: Nhúm2:

ĐẠILí(sốđạilý,địa chỉ) PHIẾU XUẤT (số PX, ngày, số đại lý)

HÀNG (móhàng,tờn hàng,đơnvịtớnh,đơngiỏ)

DềNG PHIẾUXUẤT(số PX, mó hàng,số lượngxuất) Tathấy

 Trongnhúm1cúthựcthể CỬAHÀNG vànhúm2cúthựcthể ĐẠ I Lí

làhai thựcthểkhỏc tờn nhưngcựngnghĩa.

 Thuộc tớnh số phiếusố PX, thuộc tớnh ngày xuấtngày là c ựng

nghĩa.

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, đơn vị tớnh, đơn giỏ, số lượng, mụ tả, mó NCC, s

kho)

KHO (số kho, diện tớch, mụ tả)

PHIẾUXUẤT(sốphiếu, ngàyxuất,sốđạilý)

DềNG PHIẾU XUẤT (mó hàng, số phiếu, số lượng xuất) ĐẠI Lí (số đại lý, địa chỉ đại lý, mụ tả)

5.THIẾTKẾVẬTLíCSDL

5.1.Cỏcvấnđềliờn quankhithiếtkế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ả, 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.

Một phần của tài liệu giáo trình phân tích thiết kế hệ thống thông tin (Trang 62 - 125)

Tải bản đầy đủ (DOCX)

(125 trang)
w