Tải bản đầy đủ (.pdf) (129 trang)

Bài giảng tin học ứng dụng dành cho sinh viên ngành kinh tế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.48 MB, 129 trang )

I HC NHA TRANG
KHOA CÔNG NGH THÔNG TIN
B MÔN H THNG THÔNG TIN





















i b)















Nha T
BÀI GING
TIN HỌC ỨNG DỤNG
DÀNH CHO SINH VIÊN CÁC NGÀNH KINH TẾ



I HC NHA TRANG
KHOA CÔNG NGH THÔNG TIN
B MÔN H THNG THÔNG TIN






















i b)










BÀI GING
TIN HỌC ỨNG DỤNG
DÀNH CHO SINH VIÊN CÁC NGÀNH KINH TẾ

i

MC LC

LI M U .................................................................................................................................... v
Phn I NH D LIU ................................................................... 

NG QUAN V  D LIU ....................................................................... 
1.1. Các khái nim ............................................................................................................. 
1.2. Ví d ........................................................................................................................... 
1.3. Mô hình d liu .......................................................................................................... 
1.4. Bài tp ........................................................................................................................ 
2. MÔ HÌNH D LIU QUAN H .............................................................................. 
2.1. Thuc tính, b quan h và quan h .............................................................. 
  d li d liu ...................................................................... 
2.3. Ràng buc toàn vn .................................................................................................. 
2.3.1. Ràng buc Khóa c quan h ............................................................. 
 Mi liên h gia các quan h. Ràng buc Khóa ngoi .................................... 
2.3.3. Các ràng buc khác .......................................................................................... 
2.4. Cp nht d liu và vi phm ràng buc toàn vn ..................................................... 
2.4.1. Thêm (Insert, Append) ...................................................................................... 
2.4.2. Xóa (Delete) ..................................................................................................... 
2.4.3. Sa (Update) .................................................................................................... 
2.5. Bài tp ...................................................................................................................... 
 I S QUAN H .................................................................................................. 
3.1. Biu thc n ...................................................................................................... 
3.2. Phép chn (SELECT) ............................................................................................... 
3.3. Phép chiu (PROJECT)............................................................................................ 
3.4. Phép tích Descartes (CARTESIAN PRODUCT) .................................................... 
3.5. Phép kt ni bng (EQUI JOIN) .............................................................................. 
3.6. Phép nhóm d liu (GROUP) .................................................................................. 
3.7. Bài tp ...................................................................................................................... 
Phn II H QUN TR  D LIU MICROSOFT ACCESS ................ 
 GII THIU H QUN TR  D LIU MICROSOFT ACCESS ....... 
4.1. Gii thiu Microsoft Access .................................................................................... 
4.2. Khng MS Access ............................................................................................. 
4.3. T d liu mi .............................................................................................. 

ii

4.4. M mt  ........................................................................ 
 ng chính ca mt CSDL Access ............................................................ 
4.6. Các toán t s dng trong MS Access ..................................................................... 
4.7. Mt s hàm s dng trong MS Access..................................................................... 
4.8. Bài tp ...................................................................................................................... 
NG (TABLE) ...................................................................................................... 
5.1. Các khái nim ........................................................................................................... 
5.1.1. Bng .................................................................................................................. 
ng d liu (field) ....................................................................................... 
5.1.3. Bn ghi (record) ............................................................................................... 
5.1.4. Khóa chính (primary key) ................................................................................. 
5.1.5. Mi liên h gia các bng (relationship) ......................................................... 
5.2. Xây dng cu trúc bng ............................................................................................ 
5.2.1. S dng ch   to bng ........................................................ 
5.2.2. To khóa chính ................................................................................................. 
ng ........................................................................................................... 
5.2.4. Hiu chnh bng................................................................................................ 
5.3. Thit lp mi quan h gia các bng ........................................................................ 
5.4. Cp nht bng ........................................................................................................... 
5.4.1. Xem và nhp d liu ......................................................................................... 
5.4.2. Nhp d liu s dng Lookup ........................................................................... 
5.4.3. Mt s li có th xy ra khi nhp d liu ......................................................... 
5.4.4. Xóa bn ghi ....................................................................................................... 
5.4.5. Sp xp d liu ................................................................................................. 
.6. Lc d liu ........................................................................................................ 
N (QUERY) ............................................................................................ 
6.1. Các khái nim ........................................................................................................... 
 Query truy vn .......................................................................................................... 

6.2.1. Select Query (truy vn vi phép chn, chiu, kt ni) ...................................... 
6.2.2. Group by Select Query (truy vn vi phép nhóm) ............................................ 
6.2.3. Crosstab Query ................................................................................................. 
6.3. Query thêm, xóa, sa ................................................................................................ 
6.3.1. Make  Table Query ......................................................................................... 
6.3.2. Update Query ................................................................................................... 
6.3.3. Delete Query ..................................................................................................... 
6.3.4. Append Query ................................................................................................... 
6.4. Truy vn có tham s ................................................................................................. 
iii

U MU (FORM) ............................................................................................... 
7.1. Khái nim Form ....................................................................................................... 
7.2. S d to Form .......................................................................... 
7.3. S dng Desi to Form .......................................................................... 
7.4. Main-Sub Form ........................................................................................................ 
7.5. S dng nút lnh (Command Button) ...................................................................... 
 ............................................................................................. 
8.1. Khái nim v Report ................................................................................................ 
8.2. S d to báo cáo .................................................................... 
 To báo cáo có phân nhóm....................................................................................... 
P THC HÀNH .......................................................................................... 
9.1. Bài tp 1  Qun lý Sinh viên .................................................................................. 
9.2. Bài tp 2  Qun lý Bán hàng ................................................................................ 
9.3. Bài tp 3  Qun ................................................................................. 
9.4. Bài tp 4  Qun lý D án ...................................................................................... 
TÀI LIU THAM KHO ............................................................................................................ 
iv



v


LI M U

Ngày nay các h tht vai trò quan trng trong hong
ca doanh nghip. Các h th toán, khách hàng, thông tin v sn
xut, phân phn tr doanh nghip mt cách hiu qu
các quynh hp lý. S phát trin ca công ngh thông tin làm cho vic xây dng
và vn hành các h thng  d liu c d dàng, tin li.
Trong phm vi ca môn hc Tin hc ng dng dành cho sinh viên các ngành
kinh t, chúng tôi quynh chn ch   d li ging dy, nhm cung
cp các kin thc và k n, làm ti i hc tip cn vi vic
xây dng hay s dng các h thng thông tin sau này. Ni dung ca môn hc gm
hai phn chính:
Phn I: Nh d liu. Phn này cung cp các kin thc lý thuyt
v  d liu, c th là mô hình t chc d liu quan h và các phép toán x lý
s liu.
Phn II: H qun tr  d liu Microsoft Access.Trong phi
hc ng dng các kin thc trong phn I cho mt phn mm c th là Microsoft
Access, rèn luyn các k  thit l d liu, thc hin các câu truy vn,
xây dng các biu mu nhp li
Vi thng là 2 tín ch cho c lý thuyt và thc hành, chúng tôi c gng
cung cp nhng kin thn nh tránh nhng thiu sót.
Chúng tôi mong nh c nhng ý ki môn h c hoàn thin


KHOA CÔNG NGH THÔNG TIN
B MÔN H THNG THÔNG TIN










vi




















Phần I

NHẬP MÔN CƠ SỞ DỮ LIỆU









 TNG QUAN V  D LIU
1.1. Các khái nim
1) D liu (Data)
D liu là các s kin có th ghi nhn lc và có mt ng :
 Tên ca mi: 'Nguyn Tun'
 S n thoi: ''
 a ch: '120 Ngô Gia T'
 Ngày sinh: 21/12/1990
2)  d liu (Database)
 d liu là mt tp hp các d liu có liên quan v trên các
thit b tr tin, tha mãn yêu cu s dng cho nhii dùng khác nhau và cho nhng
m
Ví d: Thông tin ci hc Nha Trang h tên, a ch, quê
quán, gii tính, ngày sinh tr trong s c trong h thng máy
tính (hin nay). Các thông tin này hình thành nên mt  d liu v sinh viên và c
các phòng ban cng s dng nhm phc v cho các nhu cu qun lý khác nhau.
Các tính cht c d liu:
 M d lii din cho mt v trong th gii thc. Chng hn
 d liu v sinh viên ca mi hc,  d liu v hàng hóa
và khách hàng ca mt công ty Nh  i trong th gii thc s c

phn ánh l d liu.
 Các d li d liu phi liên quan vi nhau theo mic nào
p hp các d liu ngu nhiên không th c xem là m d liu
  d lic các yêu cu khác nhau ca nhii s dng.
3) H qun tr  d liu (Database Management System - DBMS)
 d liu có th c to ra và qun lý th công trên s sách hoc trên máy tính.
   d liu trên máy tính.
Mt h qun tr   d liu là mt h thng các phn mm máy tính cho phép
i s dng có th to và qun lý m d liu. H qun tr CSDL có các ch
chính sau:
  liu: to cu trúc   d liu tùy theo m d
liu.
 Thao tác d liui dùng có th truy vn các d li d
liu, hay cp nhi trong th gii th d liu.
 Chia s: cho phép nhii dùng có th khai thác d liu mng thi.


 Bo v h thng: nhm b d ling hp
xy ra hng hóc phn cn mm máy tính. Bo v khi các hành
vi phá hoi t bên ngoài.

Hình I-. Mô t n mt h th d liu
Mt s h qun tr  d liu ph bin hin nay:
 Microsoft Access: thích hi dùng cá nhân, các doanh nghip nh.
 Oracle, DB2, SQL Server: dành cho các doanh nghip có các h thng thông tin ln.
1.2. Ví d
Chúng ta hãy xem xét mt ví d v  d liu BanHang nhm qun lý các thông
tin v khách hàng, các mt hàng, các ln bán hàng cùng vi s ng hàng bán ca mt
công ty. Hình 1-i th hin cu trúc và mt vài d liu ví d  d liu
 d lic t chc thành ba h i h  d liu v ng

có kiu ging nhau. H KhachHang  thông tin ca các khách hàng ca công ty.
H MatHang  thông tin v các mt hàng mà công ty có bán. H BanHang ghi
nhn các ln bán hàng.
Quá trình thit l d liu trên gu tiên là  cu trúc
cho các h  KhachHang gm có hai thông tin là tên khách hàng
(HoTen) và a ch (DiaChi). H MatHang có các thông tin là mã hàng, tên 
tính và giá y cho h BanHang. Chú ý rng các h  liên
quan vi nhau, chng h BanHang có thông tin v HoTenKH, cho bit
bán cho khách hàng nào, hoc có thông tin v MaMH, cho bit mt hàng nào
c bán vi s ng bao nhiêu.
H Qun tr
 d liu
i dùng
ng dng
Phn mm qu d
liu
Phn mm x lý thao tác trên
d liu
Cu trúc
c d
C
d liu


Hình I-. C d liu BanHang
c th  d liu, n cp nht và truy vn. Cp
nht là phn ánh s i trong th gii th d liu chng hghi nhn
thêm mt mt hàng mSô cô la sa mt . Hoc: bán 50 hp
- ngày 20/03/2011. Mt ví d liên quan
n truy vn là: tính doanh thu ngày /

1.3. Mô hình d liu
 m bn, vic u trúc ca m d liu phi tuân theo
mt mô hình d liu i là mt s c s dng t n nay:
 Mô hình d liu mng (Network Data Model)
 Mô hình d liu phân cp (Hierachical Data Model)
 Mô hình d liu quan h (Relational Data Model)
 Mô hình d ling (Object-Oriented Model)
Vi cp chi tin các mô hình trên nm ngoài phm vi ca tài liu này.  
ch nhn mnh rng Mô hình d liu quan h là mn, có nn tng toán
hc cht ch. c s dng ph bin rng rãi trên khp th gii trong
các h qun tr   d li         
c trình bày p theo.
1.4. Bài tp
1) Mt trung tâm Anh ng cn t chc m d liu nhm qun lý hong ging
dy ca trung tâm. Các thông tin cn qu
 Danh sách các hc.
 Danh sách các lp hc c th, môn hc ca l
ngày khai ging lp.
 Hp nào, cum bao nhiêu.
Yêu cu:  d liu nói trên và cung cp mt s d
liu m Hình I-.
KhachHang HoTenKH DiaChi
Nguyn Trang 12 Hng Bàng
ng 60 Trn Phú
Mai Hòa 22 Bng

MatHang MaMH TenMH DonViTinh DonGia
S03 Sa chua Vinamilk Lc 
B02 Bánh Choco-Pie Hp 
K01 Kem Mote-Rosa Ký 


BanHang STT NgayBan HoTenKH MaMH SoLuong
  Nguyn Trang S03 
  ng B02 
 / Mai Nguyn K01 
  Nguyn Trang K01 



2) Mt công ty sn xut bánh ko cn t chc m d liu nhm qun lý nhân s
ca công ty. Các thông tin cn qu
 Danh sách các phòng ban và các nhân viên theo tng phòng ban. D liu v
nhân viên bao gm h a ch s 
 B hàng tháng cho tng nhân viên, bit rc tính
theo ngày công làm vic ca nhân viên trong tháng:
 ngày công x H s 
Yêu cu:  d liu nói trên và cung cp mt s d
liu m Hình I-.


 MÔ HÌNH D LIU QUAN H

Trong mô hình d liu quan h, m d liu là mt tp hp các quan h. Mi
quan h có th c xem là mt bng các giá tr.
KhachHang MaKH HoTen DiaChi
A001 Nguyn Trang 12 Hng Bàng
B002 ng 60 Trn Phú
C003 Mai Nguyn 22 Bng
Mi dòng trong bng th hin mng hay mt s kin trong th gii thc.
Mi dòng gm nhiu giá tr có liên quan vi nhau. Tên ct giúp th hia các

giá tr trong mt dòng. Ví d bc gi là bng KhachHang vì mi dòng cho bit
thông tin v mng khách hàng c th. Các tên ct MaKH, HoTen, DiaChi cho bit
a tng giá tr 
Theo thut ng ca mô hình quan h, mc gi là mt b ca các
cc gi là thuc tính, mt bc gi là mt quan h. Phn tip theo s 
các khái nim b, thuc tính, quan h m
2.1. Thuc tính, b,  quan h và quan h
1) Thuc tính và kiu d liu:
Thuc tính th hin tính chm ca mc t. Ví
d ng sinh viên có th có các thu tên, gia ch,
ng hàng hóa có th có các thu 

Mi thuc tính thuc mt kiu d liu. Chng ha ch ca mi gm
các ký t c gi là kiu chui (text). Ngày sinh thuc khái nim ngày tháng nên
c gi là kiu ngày gi (datetime). t mt hàng có th  tính toán nên
thuc kiu s (number). Mt kiu d lic s dng ph bin là kiu logic
(yes/no  xem ).
Thuc tính Kiu d liu Ví d
HoTen Text n Th 
DiaChi Text 
NgaySinh datetime 
DonGia number 
2)  quan h:
Mt  quan h R, biu th bi R(A

, A


n
), gm có tên quan h R và danh

sách n thuc tính A

, A


n
.
 quan h  mô t mt quan h. Ví d m có  thuc
 mô t ng sinh viên ci hc th hi
SinhVien(MaSV, HoTen, SoCMND, NgaySinh, DiemTOEIC)


      . MaSV, HoTen, SoCMND, NgaySinh,
DiemTOEIC là các thuc tính. N kiu d liu ca các thuc tính thì có
th vi
SinhVien(MaSV: text, HoTen: text, SoCMND: text, NgaySinh: datetime,
DiemTOEIC: number)
SinhVien
MaSV HoTen SoCMND NgaySinh DiemTOEIC

3) Quan h
Mt quan h r phát sinh t  quan h R(A

, A


n
) là mt tp hp m b r
= {t


, t


m
}i b là mt danh sách n giá tr t = {v

,v


n
}, mi giá tr v
i

ng vi thuc tính A
i

Ví d: xét quan h sv phát sinh t   quan h SinhVien(MaSV, Ho, Ten,
SoCMND, NgaySinh, TOEIC) trên. Quan h này có 4 b:
t

 }
t

 }
t

 }
t

  ,  }

Trong quan h trên, mi b t

, t

, t

, t

i din cho mng sinh viên c th.
Trong b t

giá tr v

ng vi thuc tính A

là HoTen cho bit HoTen ca
sinh viên này là Cng n và rõ ràng, quan h sv c trình bày li theo
dng bhình i :

Hình I-. Quan h th hii dng bng
T  quan h SinhVien có th xây dng mt quan h sv2 khác gm 5 b
ng vi 5 sinh viên, hoc mt quan h sv3  
khác.
y ng vi mt l quan h, thì có th có nhiu quan h
khác nhau. Xét ti mt th  có mt quan h phc t
trong th gii thc. Quan h c gi quan h hin hành. Khi th gii thi,
quan h hii theo bng các thao tác thêm, xóa, sa. Chng hp
nhn thêm mt sinh viên mi vào h   i DiemTOEIC ca mt sinh viên
sv MaSV HoTen SoCMND NgaySinh DiemTOEIC
 Cng   

 Sn   
 Nga   
 Trang   

thuc tính
tên quan h
b


(sa). n tên ca m quan h, ví d R hay SinhVien, chúng ta
ngm hiu rng a quan h hin hành c Còn i
danh sách thuc tính, R(A

, A


n
) , thì ch có mt ý
 quan h.
Tính th t ca các b trong quan h: Th t ca các b trong mt quan h là không
quan tr là mt tp hp ca các b, nên th t các b là không
t tp hp thì {A, B, C} = {C, B, A}
Giá tr NULL:
Trong mt s ng hp, trong mt b giá tr ca mt thuc tính là không có hoc
c bit. Giá tr c s dng hp này. Xét b
sau trong quan h SinhVien
NULL }
B trên có giá tr NULL ti thuc tính ngày sinh và thui vi
thum TOEIC i vi thuc
tính ngày sinh, do giy t b tht lc và cha m không nhc ngày

sinh chính xác cho sinh viên này (ngày sinh t, có th c b sung
sau). C ng hu dùng giá tr NULL.
2.2.   d li d liu
M  d liu S là tp h quan h S = { R

, R


p
}
R
i
 quan h có liên quan vi nhau.
M d liu DB phát sinh t   d liu S là tp các quan h DB = {
r

, r



r
i
là quan h phát sinh t  R
i
.
Ví d: vi mi hc, Hình I- th hin mt
    d li c gi là DaiHoc gm có   : DaiHoc = { Khoa,
SinhVien, MonHoc, LopHoc, KetQua }
Hình I- th hin m d liu ng v DaiHoc. Chúng ta s s
d d li minh ha cho các v khác v sau.


Khoa
MaKhoa TenKhoa

SinhVien
MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH

MonHoc
MaMH TenMH SoTinChi

LopHoc
MaLop MaMH HocKy NamHoc GiaoVien

KetQua
MaSV MaLop Diem



Hình I-  d liu quan h DaiHoc
Hình I-. M d liu phát sinh t   d liu DaiHoc
y, n m d liu, chúng ta ngm hin c 
c d lii trng thái hin hành phn ánh thc t trong th gii thc
ng.
2.3. Ràng buc toàn vn
D liu trong các quan h ca m d lic là thông qua quá trình tin
hành các thao tác thêm, xóa, sa. Tuy nhiên vic xy ra các sai sót trong quá trình cp nht
d liu có th dn nhng tình trng d liu không mong mun. Ví d xét quan h
 d liu DaiHoc:
KetQua MaSV MaLop Diem
  

  -
  
  
Khoa MaKhoa TenKhoa
CN Công ngh Thông tin
KT Kinh t

SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH
 Lê ng  Nam  KT
 Nguyn   N  KT
 Ngô Hòa  Nam  CN
 Hunh Nga  N  CN
 Phm Trang  N  CN

MonHoc MaMH TenMH SoTinChi
 Qun tr hc 
 Cu trúc d liu 
 Tin h 
 K toán tài chính 

LopHoc MaLop MaMH HocKy NamHoc GiaoVien
    Tun
    Nga
    
    Nam

KetQua MaSV MaLop Diem
  
  
  

  
  
  
  



Trong th gii thc, thuc tính Diem ch có giá tr t  -1
hay 11 là nhng tình trng d liu không mong mun. Có th khc phc tình trng này
bnh rng Diem ch c phép nhn các giá tr t 
mt ví d v ràng buc toàn vn.
Ràng buc toàn vn là các quy tc cho m d liu nhm bo nó phn ánh
 a th gii tht s loi ràng buc toàn vn ph bin.
2.3.1. Ràng buc Khóa c quan h
t quan h là mt tp hp ca các b r = {t

, t


m
}
b bt k trong mt quan h phi khác nhau. Khóa (key) là mt công c giúp phân bit các
b trong quan h.

Khóa ca m   quan h R(A

, A

  
n

) là mt tp thuc tính nh nht
K  { A

, A


n
} sao cho:
r phát sinh t R, t

, t

 r thì t



[K] (*)
Ví d quan h SinhVien, m
MaSV là mt khóa c quan h này. Vic chm bo
ràng buc toàn vn rng trong quá trình cp nht d liu, không có hai b bt k nào có
MaSV ging nhau. Vic thêm, xóa, sa s b t chi nu làm cho quan h có hai b ging
nhau  MaSV.
: K ph nh t (*)
Ví d:  chn hai thuc tính {MaSV, HoTen}  phân bit hai b bt k
 quan h SinhVien. Tuy nhiên ch c
c gc gi là siêu khóa).
: M có th có nhiu khóa. Ví d 
có hai sinh viên nào ging nhau v SoCMND. Thu  phân
bit hai sinh viên vi vi mc , ch chn mi din
c gi là khóa chính (primary key). Trong ng  d liu DaiHoc,

thuc chn làm khóa chính
 quan h SinhVien.
y, khóa chính cho các l quan h   d liu DaiHoc là




 MaKhoa  phân bit các b trong quan h Khoa
 MaSV  phân bit các b trong quan h SinhVien
 MaMH  phân bit các b trong quan h MonHoc
 MaLop  phân bit các b trong quan h LopHoc
      KetQua, khóa có hai thuc tính là MaSV và
MaLop. Nu ch ch  vì mt sinh viên có th
theo hc nhiu lu b , nu ch chn
  vì mt lp có nhiu sinh viên theo hc, nên có
nhiu b có cùng MaLop. Vic chn {MaSV, MaLop} làm khóa là phù hp vì
theo ng c t mt sinh viên ch theo hc mt lp mt ln và ch có mt
m s.
2.3.2. Mi liên h gia các quan h. Ràng buc Khóa ngoi
Xét hai quan h  d liu DaiHoc

Trong thc t, ging Khoa và SinhVien có mi liên h là mt Khoa thì
có nhiu sinh viên và mt sinh viên thì trc thuc mi liên
h mt  nhiu (Khoa -1, SinhVien -  Hay nói cách khác Khoa là quan h cha, SinhVien
Khoa
MaKhoa TenKhoa

SinhVien
MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH


MonHoc
MaMH TenMH SoTinChi

LopHoc
MaLop MaMH HocKy NamHoc GiaoVien

KetQua
MaSV MaLop Diem

Khoa MaKhoa TenKhoa
CN Công ngh Thông tin
KT Kinh t

SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH
 Lê ng  Nam  KT
 Nguyn   N  KT
 Ngô Hòa  Nam  CN
 Hunh Nga  N  CN
 Phm Trang  N  CN



là quan h con. Vì v quan h SinhVien có thu biu din
mi liên h này.

Lúc này thuc gi là khóa ngoi ca quan h SinhVien (quan h
con) vì nó tham chin khóa chính MaKhoa ca quan h Khoa (quan h cha)
Ràng buc toàn vn v khóa ngoi phát biu rng: vi mt giá tr ti thuc tính khóa
ngoi trong quan h con, thì giá tr  phi tn tc trong quan h cha.
Xét ví d :


t trng thái không hp l vì ti b th  ca quan h SinhVien, MaKH
n ti ti thuc tính MaKhoa  bt c b nào trong quan h Khoa. Trng thái
c gi là hp l.

y, có th thit lp các mi quan h và ràng buc toàn vn v khóa ngoi cho
  d li
Khoa
MaKhoa TenKhoa


SinhVien
MaSV Ho Ten NgaySinh GioiTinh HocBong MaKH

Khoa MaKhoa TenKhoa
CN Công ngh Thông tin
KT Kinh t

SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH
 Lê ng  Nam  KT
 Nguyn   N  KT
 Ngô Hòa  Nam  NN
 Hunh Nga  N  NN
 Phm Trang  N  CN

Khoa MaKhoa TenKhoa
CN Công ngh Thông tin
KT Kinh t
NN Ngoi ng


SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH
 Lê ng  Nam  KT
 Nguyn   N  KT
 Ngô Hòa  Nam  NN
 Hunh Nga  N  NN
 Phm Trang  Nam  CN




Hình I-. Mi liên h và ràng buc khóa ngoi gia các  quan h trong
CSDL DaiHoc
2.3.3. Các ràng buc khác
1) Ràng buc v min giá tr
nh Diem ch nhn các giá tr t n 10 là mt ràng buc min giá tr.
2) Ràng buc giá tr NULL
Ràng buc này cho phép mt thu   c nhn giá tr NULL hay không
(NULL hay NOT NULL). Ví d thuc tính SoTinChi c quan h MonHoc phi là
NOT NULL vì mi môn hc phi có s tín ch c th.
3) Ràng buc liên thuc tính:
Ràng buc này n nhiu thuc tính trong mt quan h. Xét quan h t
phòng khách s :
DatPhong(TenKhachHang, TenPhong, TuNgay, DenNgay, DonGia)
Thì có ràng buc liên thuc tính: TuNgay <= DenNgay
2.4. Cp nht d liu và vi phm ràng buc toàn vn
n cp nh d liu: thêm, xóa, sa. Thêm 
b sung thêm mt b (hay nhiu b) vào mt quan h. Xóa  loi b mt b
(hay nhiu b) ra khi quan h. Sa i giá tr mt s thuc tính ca mt s b 
tn ti. Mt thao tác cp nht phc vi phm các ràng buc toàn vn, nu không
 b t chi. Trong phn này s trình bày mt s ví d v thêm, xóa, sa, s

d d liu DaiHoc trong Hình I- và da trên các ràng buc toàn vn ch nh
trong Hình I-.
Khoa
MaKhoa TenKhoa

SinhVien
MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH

MonHoc
MaMH TenMH SoTinChi

LopHoc
MaLop MaMH HocKy NamHoc GiaoVien

KetQua
MaSV MaLop Diem



2.4.1. Thêm (Insert, Append)
1. Thêm b { MaiAnh  vào quan h SinhVien.
 Thao tác thêm này vi phm ràng buc toàn vn khóa chính phi khác
NULL. Vì vy thêm không thành công.
2. Thêm b MaiAnh vào quan h SinhVien.
 Thao tác thêm này vi phm ràng buc toàn vn khóa chính vì giá tr khóa
n ti. Thêm không thành công.
3. Thêm b MaiAnh  vào quan h SinhVien.
 Thao tác thêm này vi phm ràng buc toàn vn khóa ngoi MaKH vì trong
quan h Khoa không có b        
công.

4. Thêm b MaiAnh  vào quan h SinhVien.
 Thao tác này tha mãn các ràng buc. Thêm thành công.
2.4.2. Xóa (Delete)
1. Xóa môn hn tr h
 Xóa thành công.
2. Xóa môn h
 Thao tác này không thành công vì trong quan h LopHoc (bng con) có lp
n môn hc này. Nu xóa b này trong bng
MonHoc (bng cha) thì vi phm ràng buc toàn vn.
 tránh vi phm ràng buc toàn vn khóa ngoi khi xóa mt b trong bng cha, mt
p   lý khác là xóa luôn các b có liên quan trong bng con (CASCADE
DELETE).

2.4.3. Sa (Update)
1. Trong quan h SinhVien sa HocBong ca b 
 Thao tác sa này thành công.
2. Sa MaKH ca sinh viên  
 Vi phm ràng buc toàn vn khóa ngoi vì trong quan h Khoa không có b

MonHoc MaMH TenMH SoTinChi
 Qun tr hc 
 Cu trúc d liu 
 Tin h 
 K toán tài chính 

LopHoc MaLop MaMH HocKy NamHoc GiaoVien
    Tun
    Nga
    
    Nam


cascade
delete

×