Các ràng buộc dữ liệu

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 34 - 38)

Đối với mỗi thuộctínhcủa quanhệ, khi thiếtkế người tađều hạnchế về giátrị d ữ liệumà thuộc

tính đócóthểnhận. Phạmvịgiátrịcó thểdùngchomột thuộctínhđượcgọi làm iền giátrị,ví dụ

như: miền số nguyên, miền chuỗi ký tự, miền giá trị ngày tháng.... Ngoài việc g iới hạn phạm vi

nhậngiátrịcủacácthuộctính,miềngiátrịcònxácđịnhcácthaotácđượcphépsử dụngtrêncácdữ

liệu.Vídụnhưđốivớicácdữliệusố,ngườitamớicóthểdùngcácphéptoánsốhọ c...

Trong thiết kế các quan hệ, sau khi xác định được một thuộc tính của quan hệ n gười ta cần tính

ngayđếntênvàmiềngiátrịcủathuộctínhđó.Miềngiátrịthườngđơngiảnvàluôn nhậncácgiátrị

đơn (khôngtáchđược). Vídụnhư việcmô tảthuộctínhđịachỉnhà củamộtngườ i như:484 Lạch

Tray, NgôQuyền, HảiPhòng. Đâylàmột giátrịkép nógồmsố nhà,tên phố,quậ n,thànhphố; và

miềnđịachỉđược gọilàmiềnđagiátrị.Khiđónêntáchthuộctínhnàyranhiềuth uộctínhnhỏhơn

đểđảmbảogiátrịthuộctínhlàđơngiản.Tuynhiênnhiềukhiđểdễdàngchoviệc thiếtkếngườita

thườngbỏquaviệclàmnày.

2 5

Cómột lưu ýlà khighi dữ liệuvào cácbảng, thì tại mộtô nào đó người tacó th ể bỏqua việc

nhậpdữliệuvídụnhư:

Vídụ2.2:Giátrịrỗng(NULL)

Mặthàng Mãsố Tênhàng Đơnvị Quy cách

1 Tivi Chiếc Sony

29”

2 ĐầuDVD Chiếc Sony

3 RAMKingston512 Thanh

Để có thể thể hiện được hiện tượng này người ta đưa ra một khái niệm là giá trị rỗng kýkiệu là

NULL.

Giá trị rỗng: là giá trị có thể gán cho một thuộc tính khi không dùng giá trị khá c được, hay khi

ngườitachưabiếtgiátrịcầngán.

NULLlàmột giátrịđặc biệtvới nghĩa“không giốngvớibất kỳgiá trịnào”thậm tríkhônggiống

vớibấtkỳgiátrịNULLkhác;Vànóthuộcvềmọimiềngiátrị.

Địnhnghĩa2.1:Quanhệlàmộttậpconcủatậptíchđềcáccủamộthoặcnhiềumiền giátrị.

Vídụ2.3:ChoD1={0,1},D2={a,b,c}làhaimiềngiátrị. TậptíchđềcácD1xD2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}

KhiđótậpR={(0,a),(0,b)}làmộtquanhệxácđịnhtrêncácmiềnD1,D2

Theođịnhnghĩatrênthìmỗimộtquanhệcóthểlàvôhạnphầntử,tuynhiênngười taluôngiảthiết

quanhệlàmộttậphữuhạn.

Địnhnghĩa2.2:GọiR={A1,A2,...,An}làtậphữuhạncủacácthuộctính,mỗithu ộctínhAivớii=

1,2,..., ncó miềngiátrị tươngứngkýhiệulà dom(Ai). Quanhệr trêntậpthuộct ínhR làtậpcon

củatíchđềcácgiữacácmiềngiátrịdom(Ai) r⊆dom(A1)xdom(A2)x... xdom(An) Khiđókýhiệulàr(R)hoặcr(A1,A2,...,An)

Vídụ2.4:BảngsauthểhiệnquanhệCan_bobaogồmcácthuộctínhMa_So, Ho _ten,Ngay_sinh,

Que_quan,Chuc_vu

Can_bo Ma_so Ho_ten Ngay_sinh Que_quan Chuc_vu

t1 0001 LêThanhHằng 12/04/1970 QuảngNinh Trưởngphòng

t2 0002 HoàngVănCảnh 15/10/1981 NamĐịnh Nhân viên

t3 0003 TrầnBìnhDương 20/01/1979 NinhBình Nhân viên

Vídụ2.5.QuanhệCan_bo

Trongđót1 = (“0001”, “LêThanhHằng”, “12/04/1970”, “QuảngNinh”, “Trưởng phòng”)là một

bộcủaquanhệCan_bo

Khoácủaquanhệ

2 6

Trongcácbảngquanhệ,nhiềukhảnăngsẽcócácbộdữliệutrùngnhaukhiếncho việcthểhiện

vàphân biệtcácđối tượngtrong thếgiới thựcbị nhầmlẫn. Đểtránh việcnày ngư ời tađưa racác

kháiniệmkhóa.

Khoá

Kháiniệm:Khoácủamộtquanhệlàmộthoặcmộttậpthuộctínhdùngđểđịnhtên duynhấtcácbộ

trongquanhệ.

Xétlạivídụ2.3 thìMa_solàkhoácủaquanhệCan_bo. Trongmộtsốtrườnghợp ngườitacóthể

kết hợp nhiều thuộc tính để tạo thành khoá như có thể kết hợp thuộc tính (Ho _ten, Ngay_sinh,

Que_quan)hoặc(Ma_so,Ho_ten)củaquanhệCan_bothànhmộtkhoá. Giảsử:R={A1,A2,...,AN},K⊆R,rlàmộtquanhệxácđịnhtrênR

t1,t2là2bộbấtkỳthuộcr,ngườitakýhiệut1(K)≠t2(K)thểhiệnchomệnhđềsa u:Tồntạiítnhất

mộtthuộctínhA∈r saochogiátrịcủabột1vàt2khácnhautạivịtríthuộctínhA .

Địnhnghĩa:Khoácủaquan hệrtrên tậpthuộctínhR ={A1,A2,..., AN}làtậpcon K⊆ Rsaocho

bấtkỳhaibộkhácnhaut1,t2∈rluônthoảt1(K)≠t2(K)vàkhôngcótậpconthực sựK‟nàocủaK

thỏamãnđiềuđó.

Theođịnhnghĩanhưtrên thìtrongmộtquanhệcóthểcórấtnhiềukhoá. Mộtkho álàmộttậpcon

củatậpcácthuộctínhcó trongquanhệtrừtậprỗng.Nếugọisốthuộctínhcủaqua nhệlàN, thìsố

lượngcáckhoátốiđacủaquanhệcóđượcsẽlà2N-1.

Khoánhỏnhất

KháiniệmKhoánhỏnhất:Khoánhỏnhấtcủaquan hệrtrêntậpthuộctínhR= { A1,A2,..., AN}là

tậpconK⊆Rsaocho: +Klàkhoácủar

+ ∀K‟làkhóacủarthì|K‟|≥|K|.

Khoángoại

Trongcơsởdữliệucóthểcórấtnhiềucácquanhệ,vàđôikhiquanhệnàycónhữ ngthuộctínhlấy

dữliệutừmộtquanhệkhác,haynói cáckháclàcácthuộctínhnàycómiềngiátrị lànhữnggiátrị

đượclưutạimộthoặcnhiềutrườngtrongquanhệkháchoặcchínhnó.

Vídụ2.6: QuanhệKhen_thuongghinhậnnhữngthôngtin khenthưởngcủacác c ánbộtrongđơn

vị, trong đó thuộc Ma_so_can_bo có miền giá trị là những giá trị lưu trong qua n hệ Can_bo tại

trườngMa_so,miềnđócócácgiátrị:0001,0002,0003.

Can_bo Ma_so Ho_ten Ngay_sinh Que_quan Chuc_vu

0001 LêThanhHằng 12/04/1970 QuảngNinh Trưởngphòng

0002 HoàngVănCảnh 15/10/1981 NamĐịnh Nhân viên

0003 TrầnBìnhDương 20/01/1979 NinhBình Nhân viên

27

Khen_thuong Ma_so_can_bo Khen_thuong Ngay_khen Ly_do

0001 Bằng khen công 15/10/2001 Đã đạt thành tích xuất

đoàn sắctronglaođộng

0002 Bằng khen Bộ 25/05/2002 Chiếnsĩthi đuacấpBộ

GTVT

Kháiniệmkhoángoài(foreign key):Khoángoàilàmộthoặcmộttậpthuộctínhtr

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 34 - 38)

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

(71 trang)
w