1. Các khái niệm cơ bản
1.1. Thuộc tính
Thuộctính(attribute)làmộttínhchấtriêngbiệtcủamộtđốitượngcầnđượclư utrữtrong
CSDLđểphụcvụchoviệckhaithácdữ liệuvềđốitượng. Vídụ:
ĐốitượngLOPHOCcĩcácthuộctínhmãlớp,tênlớp,khĩa,sốhọc viên.
ĐốitượngSINHVIENcĩcácthuộctínhmãsinhviên,họtên,ngàysinh, quêquán.
Các thuộctínhđượcđặctrưng bởi mộttênthuộctính, kiểugiátrị(data type) v à miềngiá
trị(domain).
Trongcácứngdụngthựctế,ngườiphântích–thiếtkếthườngđặttênthuộctín hmộtcách
gợi nhớ, tuy nhiênkhơng nên đặt tênquá dài (vìlàm cho việc viết câu lệnh tr uy vấn vất
vảhơn) nhưngcũng khơngnên quángắn (vìkhơng thểhiện đượcngữ nghĩam ột cách rõ
ràng).
Ví dụ:nếu cĩhai đối tượngHỌCVIEN vàGIAOVIEN đều cĩthuộctính tên t hì nên đặt
tên mộtcách rõràng là Tên_học_viên vàTên_giáo_viênvì chúng mangngữn ghĩa hồn
Mỗi mộtthuộctính đềuphải thuộcmột kiểudữliệu.Kiểu dữ liệu cĩthểlà vơ hướng -là
cáckiểudữ liệucơbảnnhưchuỗi,số, logic,ngàytháng…hoặccáckiểucĩcấu trúcđược
địnhnghĩadựatrêncáckiểudữliệuđãcĩsẵn.
MỗihệquảntrịCSDLcĩthểgọitêncáckiểu dữliệunĩitrênbằngcáctêngọi khácnhau,
ngồi ra cịn bổ sung thêm một sốkiểu dữ liệu riêng củamình. Ví dụ, Micros oft Access
cĩ kiểu dữ liệu text,memolà kiểu chuỗi; SQLServercĩ kiểu dữ liệutext, cha r, varchar,
nvarcharlàkiểuchuỗi.
Mỗi một thuộctính cĩthể chỉ chọn lấynhững giátrịtrongmột tậphợpcon c ủakiểu dữ
liệu. Tập hợp các giá trị mà một thuộc tính A cĩ thể nhận được gọi là miền giá trị của
thuộctínhA,thườngđượckýhiệulàMGT(A)hoặcDom(A). Vídụ:
Điểmcủasinhviênlàmộtsố,nhưngluơnnằmtrongđoạntừ0đến10.
Với kiểu dữ liệu cấu trúc thì miền giá trị chính là tích đề các (hoặc tập con c ủa tích đề
các)củacácmiền giátrịthànhphần.
( )nAAAR ,..., 21 .TậpthuộctínhcủaquanhệR cịnđượcký hiệulàR .
Trong nhiềuhệquản trịCSDL,thường đưathêm vào miềngiátrịcủacácthuộ c tính một
giá trị đặc biệt gọi là giá trị null.Tùy theo ngữ cảnh mà giá trịnày cĩthể là một giá trị
khơng thể xác định đượchay một giá trị chưa đượcxác định ở thời điểmnhậ p tinvà cĩ
thểđượcxácđịnhvàomộtthờiđiểmkhác.
Nếu thuộc tính cĩ kiểu dữ liệu vơ hướng thì nĩđược gọi là thuộc tính đơnho ặc nguyên
tố,nếuthuộctínhcĩkiểu dữliệucĩcấutrúcthìtanĩirằngnĩlàthuộctínhkép.
1.2. Quanhệnngơi
Một quanhệR cĩnngơiđượcđịnhnghĩatrêntậpcácthuộctính U = {A1,A2,...
An}vàkèm
theo nĩlàmộttântừ,đểxácđịnhmối quanhệgiữacácthuộctính Ai,vàđược kýhiệulà
+
Với Ai là một thuộc tính cĩ miền giá trị là MGT(Ai), như vậy R(A1,A2,...An) là tập con
củatíchđềcác: MGT(A1)xMGT(A2)x…xMGT(An) Quanhệcịnđượcgọilàbảng(table).
Vídụ:
KHOA(Mã_khoa, Tên_khoa) là một quan hệ 2 ngơi với tân từ : “Mỗi khoa
cĩ một mã
khoa duynhấtđểphânbiệtvớicáckhoakhác,cĩmộttêngọi”.
SINHVIEN (Mã_sinh_viên, Tên_sinh_viên, Ngày_sinh, Quê_quán, Khoa) là một quan
hệ 5 ngơi với tântừ : “Mỗi sinh viên cĩmột mã sinh viên duy nhất đểphân b iệt với các
sinh viên khác, cĩ họ tên, ngày tháng năm sinh, quê quán và học tại một k hoa trong
trường ”.