Professional Documents
Culture Documents
Co So Du Lieu (DHTL) PDF
Co So Du Lieu (DHTL) PDF
C S II
NGN NG SQL
D L I U
o Gii thiu
o Ngn ng nh ngha d liu
o Ngn ng qun tr d liu
o Ngn ng iu khin d liu
o Ngn ng truy vn d liu
o Bi tp tng hp
1.3 c im ca SQL
- Ngn ng gn vi ngn ng t nhin (ting Anh)
- SQL l ngn ng phi cu trc, tc l trong cc lnh ca SQL ngi s
dng CH CN a ra yu cu h thng CI G ch khng cn ch ra
phi lm TH NO.
- V d: Cho cu trc d liu qun l hc sinh nh sau
HOCSINH(MaHS, TenHS, TB, Xeploai). a ra TenHS, TB ca
cc hc sinh c TB>=8.0.
Pascal SQL
Type Hocsinh=Record - To bng HOCSINH
MaHS: String[5]; TenHS: String[30]; - S dng lnh SELECT
TB: Real; Xeploai: String[30]; Select TenHS, TB
End; From HOCSINH
HS: Array[1..100] Of Hocsinh; Where TB>=5.0;
Begin
.
For i:=1 to n do
If HS[i].TB>=8.0 then
Writeln(HS[i].TenHS, HS[i].DTB);
.
End.
2.2 To mt bng
2.2.1 C php
CREATE TABLE <Ten bang> (Tn_thuc_tnh1
Kiu_tt1 [NOT NULL],
Tn_thuc_tnh2 Kiu_tt2 [NOT NULL],
2.2.2 Tn ca bng
Tn ca bng c xc nh ngay sau lnh CREATE TABLE.
Mi HQTCSDL c mt quy tc t tn ring. V d :
- Tn bng phi bt u bng mt ch ci, c di 30 k t (ch ci, ch s,
v du _).
5. FLOAT
Dng khai bo kiu s du chm ng, vi chnh xc thp phn 38
hay chnh xc nh phn l 126.
FLOAT(b) Khai bo kiu du chm ng vi chnh xc nh phn l b, b
t 1 n 126. C th chuyn t chnh xc nh phn sang chnh xc thp phn
bng cch nhn chnh xc nh phn vi 0.30103.
6. LONG
Dng khai bo kiu chui k t vi di bin i, chiu di ti a ca
kiu LONG l 2 gigabyte. Kiu LONG thng c dng cha cc vn bn.
C mt s hn ch khi dng kiu LONG:
- Mt table khng th cha nhiu hn mt ct kiu LONG.
- D liu kiu LONG khng th tham gia vo cc rng buc ton vn, ngoi
tr kim tra NULL v khc NULL.
- Khng th index mt ct kiu LONG.
- Khng th truyn tham s kiu LONG cho hm hoc th tc.
- Cc hm khng th tr v d liu kiu LONG.
- Trong cu lnh SQL c truy cp cc ct kiu LONG, th vic cp nht hoc
kha cc bng ch cho php trong cng mt CSDL
Ngoi ra, cc ct kiu LONG khng c tham gia trong cc thnh phn
sau ca cu lnh SQL:
- Cc mnh WHERE, GROUP BY, ORDER BY, CONNECT BY hoc
vi tc t DISTINCT trong cu lnh SELECT.
- Cc hm s dng trong cu lnh SQL nh SUBSTR, INSTR.
- Trong danh sch la chn ca cu lnh SELECT c s dng mnh
GROUP BY.
- Trong danh sch la chn ca cu hi con, cu hi c s dng cc ton t
tp hp.
- Trong danh sch la chn ca cu lnh CREATE TABLE AS SELECT
7. DATE
Dng cha d liu ngy v thi gian. Mc d kiu ngy v thi gian c
th c cha trong kiu CHAR v NUMBER.
Vi gi tr kiu DATE, nhng thng tin c lu tr gm th k, nm,
thng, ngy, gi, pht, giy. ORACLE khng cho php gn gi tr kiu ngy trc
tip, gn gi tr kiu ngy, bn phi dng TO_DATE chuyn gi tr kiu
chui k t hoc kiu s.
Nu gn mt gi tr kiu ngy m khng ch thi gian th thi gian mc
nh l 12 gi m, Nu gn gi tr kiu ngy m khng ch ra ngy, th ngy mc
nh l ngy u ca thng. Hm SYSDATE cho bit ngy v thi gian h thng.
Tnh ton i vi kiu ngy:
i vi d liu kiu ngy, bn c th thc hin cc php ton cng v tr.
V d:
- SYSDATE+1 ngy hm sau
- SYSDATE-7 cch y mt tun
- SYSDATE+(10/1440) mi pht sau
- Ngy Julian: L gi tr s cho bit s ngy k t ngy 1 thng ging
nm 4712 trc cng nguyn.V d:
SELECT TO_CHAR (TO_DATE('01-01-1992', 'MM-DD-YYYY'),
'J') JULIAN FROM DUAL
Cho kt qu:
JULIAN
-----------------------------------------------
2448623
8. RAW v LONG RAW
Kiu RAW v LONG RAW dng cha cc chui byte, cc d liu nh
phn nh hnh nh, m thanh. Cc d liu kiu RAW ch c th gn hoc truy cp
ch khng c thc hin cc thao tc nh i vi chui k t.
Kiu RAW ging nh kiu VARCHAR2 v kiu LONG RAW ging kiu
LONG, ch khc nhau ch ORACLE t ng chuyn i cc gi tr kiu CHAR,
VARCHAR2 v LONG gia tp hp k t ca CSDL v tp k t ca cc ng
dng.
9. ROWID
Mi mu tin trong CSDL c mt a ch c kiu ROWID. ROWID gm
block.row.file, trong :
block : chui h hexa cho bit block cha row
2.4.6 DEFAULT-Mc nh
Rng buc DEFAULT c s dng quy nh gi tr mc nh cho mt
ct. Gi tr ny s t ng gn cho ct nu ngi s dng khng nhp vo khi b
sung bn ghi.
C php:
[CONSTRAINT constraint_name]
DEFAULT {const_expression/nonarguments_function/NULL}
V d:
CREATE TABLE NHANVIEN
(
MaNV char(10) primary key,
TenNV char(30) not null,
Gioitinh char(3) DEFAULT Nam
)
2.5 Sa i cu trc
C th sa i cu trc ca bng hin ang tn ti bng lnh ALTER.
Chng ta c th thm mt thuc tnh (ct) mi, thay i cu trc ca mt thuc
tnh (ct ) ang c, b sung kho, b sung rng buc.
C php tng qut:
ALTER TABLE table_name
[ADD
{col_name column_properties [column_constraints]
[[,]table_constraint ] }
[,{next_col_name|next_table_constraint}]...]
[DROP
[CONSTRAINT] constraint_name1
[, constraint_name2]...]
/ALTER
{col_name column_properties [column_constraints]
[[,]table_constraint ] }
[,{next_col_name|next_table_constraint}]...]
ADD(GhiChu, VARCHAR(255))
Ch : Trong mt s HQTCSDL ta cn phi thm t kho COLUMN
nh sau:
C php:
ALTER TABLE <Tn_bng>
ADD COLUMN Tn_ct , Kiu_ct[(size)] )
V d:
ALTER TABLE NHANVIEN
ADD COLUMN GhiChu Text(50));
Thay i kiu ca mt thuc tnh.
C php:
ALTER TABLE <Tn_bng>
ALTER (Tn_ct, Kiu_mi)
V d:
ALTER TABLE NHANVIEN
ALTER(HoTen, VARCHAR(40))
Ch : Trong mt s HQTCSDL ta cn phi thm t kho COLUMN nh
sau:
C php:
ALTER TABLE <Tn_bng>
ALTER COLUMN Tn_ct , Kiu_ct_mi[(size)]
V d:
ALTER TABLE NHANVIEN
ALTER COLUMN GhiChu Memo
Xa mt thuc tnh
C php:
ALTER TABLE <Tn_bng>
DROP <Tn_thuc_tnh>
V d:
ALTER TABLE NHANVIEN
DROP GhiChu
Ch : Trong mt s HQTCSDL ta cn phi thm t kho COLUMN nh
sau:
C php:
ALTER TABLE <Tn_bng>
DROP COLUMN Tn_ct
V d:
ALTER TABLE NHANVIEN
DROP COLUMN GhiChu
2.6 Xo i tng
C php:
DROP <Object_name>
V d:
DROP TABLE SINHVIEN
C php:
INSERT [INTO]<TableName> (Column1, Column2, , Columnn)
SELECT Select_list FROM <Tables>
V d:
insert into NHANVIEN_tam (TenNV, Tuoi)
select TenNV, Tuoi from NHANVIEN where Tuoi > 20
V d:
UPDATE DOCGIA
SET (Diachi= Khoa Cong trinh)
WHERE MaDG= TD001
Trong :
- ALL: l t kho c s dng khi mun cp pht tt c cc quyn cho
ngi s dng.
- Account: l tn ti khon ng nhn h thng
- Permission: l quyn cp pht cho ngi s dng trn i tng c s d
liu:
o Cc quyn c th cp pht trn mt bng hoc mt View: Select,
Insert, Delete, Update.
o Cc quyn c th cp pht trn ct ca bng hoc ca View: Select,
Update
o Quyn c th cp pht vi cc th tc: EXCUTE(thc thi)
- Statement: L cu lnh c cp pht cho ngi s dng Cc cu lnh c
th cp pht l:
o CREATE DATABASE
o CREATE TABLE
o CREATE VIEW
o CREATE PROCEDURE
o CREATE RULE
o CREATE DEFAULT
o BACKUP DATABASE
o BACKUP LOG
V d 1: Cu lnh sau s 3 cp quyn SELECT, UPDATE, INSERT trn
cc thuc tnh (TenNV,DiaChi, Tuoi) ca bng NHANVIEN cho 2 ngi s dng
phnhung, htvan.
GRANT SELECT, UPDATE, INSERT
ON NHANVIEN(TenNV,DiaChi, Tuoi)
TO phnhung, htvan
V d 2:
Cu lnh sau s cp quyn to bng, to View v to th tc cho ngi
dng phnhung.
GRANT CREATE TABLE, CREATE VIEW, CREATE PROCEDURE
TO phnhung
5.1 C php
SELECT [DISTINCT]|Columns_list|Expression_list|*
FROM <Tables_list>
WHERE <Conditions>
GROUP BY <Columns>
HAVING <Conditions_for_group>
ORDER BY [ACS| DESC]
Trong :
- Sau SELECT: Cc thng tin cn a ra, chnh l danh sch cc
thuc tnh
- Sau FROM: Danh sch cc tn bng, t thng tin c ly ra.
- Sau WHERE: Cc biu thc logic, ch ra thng tin c ly ra t
hm no hoc iu kin ni gia cc bng.
- Sau GROUP BY: Cc ct m trong c tnh theo tng nhm.
- Sau HAVING: Biu thc logic ch ra thng tin c ly ra t nhm
no.
- Sau ORDER BY: Ch ra cc ct m trong thng tin c sp xp
theo th t.
o ASC: thng tin c sp xp theo chiu tng dn
(ASCendent)
o DESC: thng tin c sp xp theo chiu gim
dn(DESCendent)
5.2 V d:
Xt bng: NHANVIEN
NHANVIEN
5.3 a ra cc ct
5.3.1 a tt c cc ct
V d: a tt c cc thng tin v nhn vin
SELECT *
FROM NHANVIEN
Kt qu: Ton b bng trn.
5.3.2 a mt s cc ct
V d: a ra Hoten, Luong ca cc nhn vin
SELECT Hoten, Luong
FROM NHANVIEN
Kt qu:
sl_NV_some_col
Hoten Luong
Kt qu:
sl_bieuthuc
Hoten Expr1001
Kt qu:
Hoten LuongNam
Phm Th Nhn 6000
Hong Thanh Vn 7200
Hong Th Lan 2400
Trung Dng 8400
Kt qu:
Hoten Luong
Hong Th Lan 200
Phm Th Nhn 500
Hong Thanh Vn 600
Trung Dng 700
5.4 a ra cc hng
Lnh c dng:
SELECT [DISTINCT]|Columns_list|Expression_list|*
FROM <Tables_list>
WHERE <Conditions>
Hoten Luong
Phm Th Nhn 500
Hong Thanh Vn 600
- Php IN ( Mt tp hp);
V d: a ra nhng nhn vin c lng hoc 200, 300, 600.
SELECT HoTen, Luong
FROM NHANVIEN
WHERE Luong IN (200,500,600)
Kt qu:
HoTen Luong
Phm Th Nhn 500
Hong Thanh Vn 600
Hong Th Lan 200
- Php LIKE
- K t thay th % i din cho mt nhm cc k t cha bit (trong
Access l: *).
- K t thay th _ i din cho mt k t cha bit (trong Access
l:?).
- V d: a ra Hoten, Congviec ca cc nhn vin c H tn bt u
bng ch Hong.
SELECT HoTen, Congviec
FROM NHANVIEN
WHERE Hoten LIKE 'Hong*'
Kt qu:
HoTen Congviec
Hong Thanh Vn Gio vin
Hong Th Lan Gio vin
V d:
SELECT HoTen, Congviec
FROM NHANVIEN
WHERE Hoten LIKE 'Hong Thanh Vn'
- Php IS [NOT] NULL
V d:
SELECT * FROM NHANVIEN WHERE Diachi IS NULL
5.5 S dng cc hm
Cc HQTCSDL a ra cc hm khc nhau, v th khi lm vic vi
HQTCSDL no chng ta nn tm hiu cc hm v cch s dng chng i vi
HQTCSDL . Sau y l mt s cc loi hm thng dng.
5.5.1 Hm s hc
u vo v u ra l cc gi tr kiu s.
ROUND(n[,m]): Cho gi tr lm trn ca n (n cp m, mc nhin m=0)
TRUNC(n[,m]): Cho gi tr n ly m ch s tnh t chm thp phn.
CEIL(n): Cho s nguyn nh nht ln hn hoc bng n.
FLOOR(n): Cho s nguyn ln nht bng hoc nh hn n.
POWER(m,n): Cho ly tha bc n ca m.
EXP(n): Cho gi tr ca en
SQRT(n): Cho cn bc 2 ca n, n>=0
SIGN(n): Cho du ca n.
n<0 c SIGN(n)= -1
n=0 c SIGN(n)= 0
n>0 c SIGN(n)= 1
ABS(n): Cho gi tr tuyt i
MOD(m,n): Cho phn d ca php chia m cho n
V d hm TRUNC(n[,m]):
SELECT TRUNC (4.923,1),
TRUNC (4.923),
TRUNC (4.923,-1),
TRUNC (4.923,2)
FROM DUMMY;
V d hm CEIL(n)
SELECT CEIL (SAL), CEIL(99.9),CEIL(101.76), CEIL(-11.1)
FROM EMP
WHERE SAL BETWEEN 3000 AND 5000;
V d hm FLOOR(n)
SELECT FLOOR (SAL), FLOOR (99.9), FLOOR (101.76), FLOOR (-11.1)
FROM EMP
WHERE SAL BETWEEN 3000 AND 5000;
V d hm POWER(m,n)
SELECT SAL, POWER(SAL,2), POWER(SAL,3), POWER(50,5)
FROM EMP
WHERE DEPTNO =10;
V d hm EXP(n)
SELECT EXP(4) FROM DUMMY;
EXP(4)
----------
54.59815
V d hm SQRT(n)
SELECT SAL, SQRT(SAL), SQRT(40), SQRT (COMM)
FROM EMP
WHERE DEPTNO =10;
V d hm SIGN(n)
SELECT SAL-NVL(COMM,0), SIGN(SAL-NVL(COMM,0)),
NVL(COMM,0)-SAL, SIGN(NVL(COMM,0)-SAL)
FROM EMP
WHERE DEPTNO =30
SAL-NVL(COMM,0)SIGN(SAL-NVL(COMM,0))NVL(COMM,0)-SAL
SIGN(NVL(COMM,0)-SAL)
--------------- ----------- --------------- ---------------------
2850 1 -2850 -1
-150 -1 150 1
1300 1 -1300 -1
1500 1 -1500 -1
950 1 -950 -1
750 1 -750 -1
5.5.3 Cc hm k t
- CONCAT(char1, char2): Cho kt hp ca 2 chui k t, tng t nh s
dng ton t.
- INITCAP(char): Cho chui vi k t u cc t l k t hoa
- LOWER(char): Cho chui k t vit thng (khng vit hoa)
- LPAD(char1, n [,char2]): Chochui k t c chiu di bng n. Nu
chui char1 ngn hn n th thm vo bn tri chui char2 cho n k t.
Nu chui char1 di hn n th gi li n k t tnh t tri sang
- LTRIM(char1, n [,char2]): B cc k t trng bn tri
- NLS_INITCAP(char): Cho chui vi k t u cc t l ch hoa, cc ch
cn li l ch thng
- REPLACE(char,search_string[,replacement_string]): Thay tt c
cc chui search_string c trong chui char bng chui replacement_string.
- RPAD(char1, n [,char2]):Ging LPAD(char1, n [,char2]) nhng cn
phi.
- RTRIM(char1, n [,char2]): B cc k t trng bn phi
- SOUNDEX(char): Cho chui ng m ca char.
- SUBSTR(char, m [,n]): Cho chui con ca chui char ly t v tr m v
phi n k t, nu khng ch n th ly cho n cui chui
- TRANSLATE(char, from, to): Cho chui trong mi k t trong
chui from thay bng k t tng ng trong chui to, nhng k t trong
chui from khng c tng ng trong chui to s b loi b.
- UPPER(char): Cho chui ch hoa ca chui char
- ASCII(char): Cho k t ASCII ca byte u tin ca chui char
- INSTR(char1, char2 [,n[,m]]): Tm v tr chui char2 trong chui char1
bt u t v tr n, ln xut hin th m.
- LENGTH(char): Cho chiu di ca chui char
V d hm LOWER(char)
SELECT LOWER(DNAME), LOWER(SQL COURSE) FROM DEPT;
LOWER(DNAME) LOWER('SQL
-------------- ----------
accounting sql course
research sql course
sales sql course
operations sql course
V d hm UPPER(char)
SELECT ENAME FROM EMP WHERE ENAME = UPPER(Smith);
ENAME
----------
SMITH
V d hm INITCAP(char)
SELECT INITCAP(DNAME), INITCAP(LOC) FROM DEPT;
INITCAP(DNAME) INITCAP(LOC)
-------------- -------------
Accounting New York
Research Dallas
Sales Chicago
Operations Boston
V d hm CONCAT(char1, char2)
JOB
-------------------
JAMES CLERK
V d hm LPAD(char1, n [,char2])
SELECT LPAD(DNAME,20,*), LPAD(DNAME,20), LPAD(DEptno,20, )
FROM DEPT;
V d hm RPAD(char1, n [,char2])
SELECT RPAD(DNAME,20,*), RPAD(DNAME,20), RPAD(DEptno,20, )
FROM DEPT;
V d hm SUBSTR(char, m [,n])
SELECT SUBSTR(ORACLE,2,4), SUBSTR(DNAME,2), SUBSTR(DNAME,3,5)
FROM DEPT;
V d hm LTRIM(char1, n [,char2])
V d hm RTRIM(char1, n [,char2])
SELECT DNAME, RTRIM(DNAME,A), RTRIM(DNAME,AS),
RTRIM(DNAME,ASOP)
FROM DEPT;
V d hm SOUNDEX(char)
SELECT ENAME, SOUNDEX(ENAME)
FROM EMP
WHERE SOUNDEX(ENAME)= SOUNDEX(FRED);
ENAME SOUN
---------- ----
FORD F630
V d hm LENGTH(char)
SELECT LENGTH(SQL COURSE), LENGTH(DEPTNO), LENGTH(DNAME) FROM
DEPT;
V d hm REPLACE(char,search_string[,replacement_string])
SELECT JOB, REPLACE(JOB, SALESMAN, SALESPERSON), ENAME,
REPLACE(ENAME, CO,PR)
FROM EMP
WHERE DEPTNO =30 OR DEPTNO =20;
V d cc hm lng nhau:
SELECT DNAME, LENGHT(DNAME), LENGHT(TRANSLATE,DNAME, AS,A))
FROM DEPT;
5.5.4 Cc hm ngy
MONTH_BETWEEN(d1, d2): Cho bit s thng gia ngy d1 v d2.
ADD_MONTHS(d,n): Cho ngy d thm n thng.
NEXT_DAY(d, char ): Cho ngy tip theo ngy d c th ch bi char.
LAST_DAY(d): Cho ngy cui cng trong thng ch bi d.
V d hm MONTH_BETWEEN(d1, d2)
SELECT MONTHS_BETWEEN( SYSDATE, HIREDATE),
MONTHS_BETWEEN('01-01-2000','05-10-2000')
FROM EMP
WHERE MONTHS_BETWEEN( SYSDATE,HIREDATE)>240;
MONTHS_BETWEEN(SYSDATE,HIREDATE) TWEEN('01-01-2000','05-10-2000')
-------------------------------- --------------------------------
241.271055 -9.1290323
241.206539 -9.1290323
243.367829 -9.1290323
V d hm ADD_MONTHS(d,n)
SELECT HIREDATE, ADD_MONTHS(HIRE,3), ADD_MONTHS(HIREDATE,-3)
FROM EMP
WHERE DEPTNO=20;
V d hm NEXT_DAY(d, char )
SELECT HIREDATE, NEXT_DAY(HIREDATE,FRIDAY), NEXT_DAY(HIREDATE,6)
FROM EMP
WHERE DEPTNO = 10;
V d hm LAST_DAY(d)
SELECT SYSDATE, LAST_DAY(SYSDATE), HIREDATE, LAST_DAY(HIREDATE),
LAST_DAY(15-01-2001)
FROM EMP
WHERE DEPTNO =20;
5.5.6 Hm nhm
o COUNT(): m s ln xut hin ca thuc tnh.
o SUM(colume): Tnh tng cc gi tr ca thuc tnh (thuc loi s
hc)
o AVG(colume): Tnh gi tr trung bnh cc gi tr ca thuc tnh
(thuc loi s hc)
o MAX(colume): Tm gi tr cc i ca thuc tnh
o MIN(colume): Tm gi tr cc tiu ca thuc tnh.
Kt qu:
LuongTB LuongCN LuongTN TongNV
500 700 200 4
Kt qu:
CongViec LuongTB
Gio vin 400
Th k 600
sl_non_equi
Phm Th Nhn Th k 1
Trung Dng Th k 3
Kt qu:
NV.MaNV NV.Hoten PT.MaNV PT.Hoten
NV002 Hong Thanh Vn NV001 Phm Th Nhn
NV002 Hong Thanh Vn NV003 Hong Th Lan
SELECT CongViec
FROM NHANVIEN
WHERE MaDV='0001'
UNION
SELECT CongViec
FROM NHANVIEN
WHERE MaDV='0002'
Kt qu:
CongViec
Bo v
Gim c
Gio vin
Th k
Kt qu:
Hoten TenDV Congviec Luong
Nguyn Nam Hi KHTN Gim c 1000
Hong Thanh Vn KHTN Gio vin 600
Trung Dng DHQG Th k 700
V d 2:
a ra nhng nhn vin c lng ln hn ngi c lng ln nht trong
n v c tn l DHTL.
Cng vic:
- Tm MaDV c tn n v l DHTL.
- Tm mc lng ln nht trong n v ny.
- Tm nhng nhn vin c lng tha mn yu cu.
SELECT Hoten, TenDV, Congviec, Luong
FROM NHANVIEN AS NV, DONVI AS DV
WHERE (NV.MaDV= DV.MaDV)
AND (Luong> ( SELECT MAX(Luong)
FROM NHANVIEN
WHERE MaDV =
SELECT MaDV
FROM DONVI
WHERE TenDV='DHTL')))
Kt qu:
Hoten TenDV Congviec Luong
Nguyn Nam Hi KHTN Gim c 1000
Phm Th Nhn KHTN Th k 500
Hong Thanh Vn KHTN Gio vin 600
Trung Dng DHQG Th k 700
Kt qu:
V d:
5> ANY(2,4,6): TRUE
V d: a ra Hoten, Luong ca cc nhn vin c Luong ln nht ca n
v c m n v l 0002.
SELECT Hoten, Luong
FROM NHANVIEN
WHERE Luong> ALL(
Select Luong
From NHANVIEN
Where MaDV ='0002')
Kt qu select trong l:
Luong
200
700
Kt qu ca c cu lnh:
Hoten Luong
Nguyn Nam Hi 1000
- Chn SQL.
- Son tho cu lnh SQL.
- Ghi v t tn cho mi Query.
- Thc hin cu lnh bng cch nhn vo ! trn thanh cng c.
6.2 Bi s 1
1. To mt c s d liu c tn l Thuchanh.
2. To mt bng c tn l DOCGIA, c cc thuc tnh nh sau:
CREATE TABLE DOCGIA(
MaDG Text(10) NOT NULL PRIMARY KEY,
TenDG Text(30) NOT NULL,
DiaChi Text(50) NOT NULL,
Tuoi NUMBER);
3. Thm mt thuc tnh mi c tn l Ghichu cho bng DOCGIA.
ALTER TABLE DOCGIA
6.3 Bi s 2
a. NHANVIEN
Tn thuc tnh Kiu d liu Kch c Khun dng
MaNV K t 8 Ch hoa +s
HoTen K t 30
Congviec K t 50
Luong S
MaDV K t 4
MaPT K t 8 Ch hoa + s
(M ngi ph trch)
b. DONVI
Tn thuc tnh Kiu d liu Kch c Khun dng
MaDV K t 4 Ch hoa +s
TenDV K t 50
c. BACLUONG
Tn thuc tnh Kiu d liu Kch c Khun dng
MaBac K t 50 Ch hoa +s
BacCao S
BacThap S
BACLUONG
MaBac BacThap BacCao
1 400 500
2 501 600
3 601 800
6.4 Bi s 3
Thc hin cc thao tc sau cho C s d liu dng qun l mt ca hng kinh
doanh.
I. NH NGHA D LIU
1. To c s d liu
To mt c s d liu dng qun l ca hng t tn l QLCH bao gm cc bng
c mi quan h nh sau:
2. HANG
Tn thuc tnh Kiu d liu Kch c Khun dng
Ma_hang K t 6 Ch hoa+s
Ten_hang K t 15 Ch u vit hoa
Mota_hang K t 30 Ch u vit hoa
Don_vi K t 10 Ch thng
3. DONHANG
Tn thuc tnh Kiu d liu Kch c Khun dng
So_don K t 6 Ch hoa +s
Ma_khach K t 15 Ch hoa +s
Ngay_don Ngy 8 Dd/mm/yy
4. DONGDON
Tn thuc tnh Kiu d liu Kch c Khun dng
So_don K t 6 Ch hoa +s
Ma_hang K t 6 Ch hoa +s
So_luongd S 7 S nguyn
5. PHIEUGIAO
Tn thuc tnh Kiu d liu Kch c Khun dng
So_phieu K t 6 Ch hoa +s
Ma_khach K t 6 Ch hoa +s
Ngay_giao Ngy 30 Dd/mm/yy
Noi_giao K t 30
Tong_tien S 9 S thc
6. DONGPHIEU
Tn thuc tnh Kiu d liu Kch c Khun dng
So_phieu K t 6 Ch hoa+ s
Ma_hang K t 6 Ch hoa + s
Don_gia S 6 S thc
So_luonggi S 7 S thc
2. Sa i cu trc:
1. Thm mt thuc tnh:
- Trong bng KHACH, thm mt thuc tnh SoThich nhm lu vo
bng KHACH s thch ca khch hng.
KHACH
Ma_khach Ten_kh Diachi_kh
K001 o Minh Th i hc Quc Gia
K002 Nguyn Lin Dung BNC
K003 Phm Hong Nhung i hc Thy Li
K004 Trnh Hng Cng
K005 Nguyn Vn Hi i hc Thy Li
3. Xa hng
- Xa mt hng c ma_hang = H001 trong bng HANG.
- Xa tt c cc khch hng c Diachi_kh = i hc Thy Li trong
bng KHACH.
- Xa khch hng c tn l Trnh Hng Cng.
4. Sa i gi tr ca mt hng.
- Sa i a ch ca khch hng thnh a ch mi l i hc Quc
Gia vi ma_khach l K002.
- Sa i tt c cc tn hng l Hoa lan thnh Hoa phong lan v
m t hng l Hng nhp khu t Lt
III. CC LNH TRUY VN D LIU
1. Xem ton b ni dung ca bng KHACH
2. Xem ton b ni dung ca bng HANG.
3. Xem ton b ni dung ca bng DONHANG.
4. a ra Tn v a ch ca tt c cc Khch hng trong bng
KHACH.
5. a ra Tn hng, M t hng v n v tnh ca tt c cc mt hng
trong bng HANG.
6. a ra tt c cc n v tnh dng tnh hng ha.
7. a ra tt c cc tn hng trong bng HANG.
8. a ra tt c cc a ch ca khch hng.