Professional Documents
Culture Documents
Ni dung
Gii thiu Ngn ng nh ngha d liu (DDL Data Definition Language) Ngn ng thao tc d liu (DML Data Manipulation Language) Ngn ng truy vn d liu (SQL - Structured Query Language )
Tng quan gia SQL v ngn ng SQH
y l ngn ng truy vn da trn i s quan h v l ngn ng phi th tc. Cc cng dng chnh ca SQL bao gm:
nh ngha d liu (data definition). Truy vn v X l d liu (data manipulation). iu khin d liu (data control)
Ni dung
Gii thiu Ngn ng nh ngha d liu (DDL Data Definition Language) Ngn ng thao tc d liu (DML Data Manipulation Language) Ngn ng truy vn d liu (SQL - Structured Query Language )
Tng quan gia SQL v ngn ng SQH
Lnh to mi CREATE
Database Table View -
Lnh xa DROP
Database Table View -
Lnh to mi - CREATE
CREATE DATABASE <tn CSDL> ON ( NAME = 'Tn d liu', FILENAME = 'Tn file d liu v ng dn', SIZE = <kch thc ban u>, MAXSIZE = <kch thc ti a>, FILEGROWTH = <kch thc tng trng>) LOG ON ( NAME = 'Tn log', FILENAME = 'Tn file nht k v ng dn', SIZE = <kch thc ban u>, MAXSIZE = <kch thc ti a>, FILEGROWTH = <kch thc tng trng>)
Lnh to mi - CREATE
CREATE DATABASE QLDA ON ( NAME = 'QLDA_Data', FILENAME = 'D:\QLDA_Data.mdf', SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 5MB) LOG ON ( NAME = 'QLDA_Log', FILENAME = 'D:\QLDA_Log.ldf', SIZE = 5MB, MAXSIZE = UNLIMITED, FILEGROWTH = 2MB)
Lnh to mi - CREATE
CREATE TABLE <tn table> ( <tn thuc tnh 1> kiu_d_liu [not null], <tn thuc tnh 2> kiu_d_liu [not null], <tn thuc tnh n> kiu_d_liu [not null] )
10
Lnh to mi - CREATE
S Ngy thng
Lnh to mi - CREATE
CREATE TABLE NhanVien ( MaNV nvarchar(5) not null, HoNV nvarchar(10) not null, TenLot nvarchar(40) not null, TenNV nvarchar(10) not null, PhaiNu bit, NgaySinh datetime not null, DiaChi nvarchar(100), Luong int, MaPB nvarchar(2) )
12
Lnh to mi - CREATE
13
V d: thm ct Ghi_ch vo bng nhn vin ALTER TABLE NhanVien ADD GhiChu nvarchar(20)
Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin 14
<tn thuc tnh 1> kiu_d_liu, <tn thuc tnh 2> kiu_d_liu, <tn thuc tnh n> kiu_d_liu
<tn thuc tnh 1> kiu_d_liu_mi, <tn thuc tnh 2> kiu_d_liu_mi, <tn thuc tnh n> kiu_d_liu_mi
16
FOREIGN KEY tn t_tnh REFERENCES tn_table (t_tnh kha chnh) [ON DELETE CASCADE] [ON UPDATE CASCADE] CHECK (tn t_tnh iu_kin)
Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin 17
18
19
Lnh xa - DROP
C php
DROP <DATABASE | TABLE | VIEW | > <tn> Khi xa table, phi xa cc table thuc u nhiu trc hoc phi xa cc kha ngoi tham chiu n table cn xa
21
Ni dung
Gii thiu Ngn ng nh ngha d liu (DDL Data Definition Language) Ngn ng thao tc d liu (DML Data Manipulation Language) Ngn ng truy vn d liu (SQL - Structured Query Language )
Tng quan gia SQL v ngn ng SQH
Gm cc lnh
Ghi ch: cc lnh ny nh hng trn mt/nhiu mu tin (b, record) trn mt table
23
C php
INSERT INTO tn_table VALUES (gi_tr_1, gi_tr_2,, gi_tr_n) INSERT INTO tn_bng (t_tnh 1, t_tnh 2) VALUES (gi_tr_1, gi_tr_2)
24
C php
UPDATE tn_table SET t_tnh_1 = gi_tr_1, t_tnh_2 = gi_tr_2 [WHERE iu_kin]
V d: Sa h tn ca nhn vin c m s 001 thnh Nguyn Thanh Tng v ngy sinh mi l 1/1/1978
UPDATE NhanVien SET HoNV = NNguyen, TenLot = NThanh, TenNV = NTng, NgaySinh =1/1/1978 WHERE MaNV=001
26
C php:
DELETE FROM tn_table [WHERE iu_kin]
27
Ni dung
Gii thiu Ngn ng nh ngha d liu (DDL Data Definition Language) Ngn ng thao tc d liu (DML Data Manipulation Language) Ngn ng truy vn d liu (SQL - Structured Query Language )
Tng quan gia SQL v ngn ng SQH
Cc lnh truy vn dng khai thc, rt trch d liu ca mt CSDL. Kt qu ca 1 lnh truy vn l 1 bng mi c th c kt xut ra mn hnh, my in hoc lu tr trn cc thit b tr tin
29
C php
SELECT [ALL|DISTINCT|TOP n [PERCENT]] *|<thuc tnh>|<biu thc> | <hm tp hp> [INTO <tn table mi>] FROM <table> [WHERE <iu kin trn record>] [GROUP BY <thuc tnh>] [HAVING <iu kin trn nhm>] [ORDER BY <thuc tnh> [ASC | DESC], . . . ]
Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin 30
31
Ton t so snh
Cho bit nhng nhn vin c lng trn 2000 (MaNV, TenNV)
SELECT FROM WHERE MaNV, TenNV NhanVien Luong > 2000
Ton t so snh
Cho bit tn nhn vin trng phng v tn phng ban h qun l SELECTTn trng phng=TenNV, TenPB FROM NhanVien nv, PhongBan pb WHERE nv.MaNV=pb.TrPhg
Ton t BETWEEN
Cho bit tn v ngy sinh cc nhn vin c nm sinh t 1965 n 1977 SELECT TenNV, NgaySinh FROM NhanVien WHERE (year(NgaySinh) BETWEEN 1965 AND 1977) Cho bit tn v ngy sinh cc nhn vin sinh t ngy 10 n 20 thng 8 SELECT TenNV, NgaySinh FROM NhanVien WHERE (day(NgaySinh) BETWEEN 10 AND 20) AND month(NgaySinh)=8
Ton t LIKE
So snh chui tng i C php: s LIKE p, p c th cha % hoc _
36
Ton t IN
37
Mnh GROUP BY
Gom nhiu dng thnh cc nhm da trn tp con ca cc thuc tnh Tt c cc thnh vin ca nhm u tha cc thuc tnh ny. Mi nhm c m t bng mt dng cc thuc tnh, c gii hn bi:
Cc thuc tnh chung ca tt c thnh vin thuc nhm (c lit k trong mnh GROUP BY). Cc php ton trn nhm.
Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin
38
Mnh GROUP BY
Chia cc dng thnh cc nhm da trn tp con ca cc thuc tnh
a a b b c c c c c d d d
nhm
Mnh GROUP BY
Cc hm SQL c bn
COUNT: m s b d liu trong nhm MIN: Tnh gi tr nh nht ca thuc tnh trong nhm MAX: Tnh gi tr ln nht ca thuc tnh trong nhm AVG: Tnh gi tr trung bnh ca thuc tnh trong nhm SUM: Tnh tng gi tr cc b d liu trong nhm
Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin 40
Mnh GROUP BY
41
Mnh GROUP BY
NHANVIEN MANV 001 002 003 004 005 006 007 008 TENNV Quyen Tung Nhan Tien Vu Hung Tam Van MAPB QL NC DH NC DH NC NC NC LUONG 3.000.000 2.500.000 2.500.000 2.200.000 2.200.000 2.000.000 2.200.000 1.800.000
nv.MaPB=pb.MaPB
TenPB Quan Ly Nghien Cuu Dieu Hanh Nghien Cuu Dieu Hanh Nghien Cuu Nghien Cuu Nghien Cuu TenNV Quyen Tung Nhan Tien Vu Hung Tam Van
PHONGBAN MAPHG QL DH NC TENPHG Quan Ly Dieu Hanh Nghien Cuu TRPHG 001 003 002 NGNC 22/05/2000 10/10/2002 15/03/2002
Mnh GROUP BY
TenPB Quan Ly Nghien Cuu Dieu Hanh Nghien Cuu Dieu Hanh Nghien Cuu Nghien Cuu Nghien Cuu TenNV Quyen Tung Nhan Tien Vu Hung Tam Van Luong 3000000 2500000 2500000 2200000 2200000 2000000 2200000 1800000 TenPB Quan Ly TenNV Quyen Nhan Vu Tung Tien Hung Tam Van Luong 3000000 2500000 2200000 2500000 2200000 2000000 2200000 1800000
Gom nhm
Dieu Hanh Dieu Hanh Nghien Cuu Nghien Cuu Nghien Cuu Nghien Cuu Nghien Cuu
TL 3000000 4700000
Mnh HAVING
Lc kt qu theo iu kin, sau khi gom nhm Thc hin php chn trn cc record kt qu tm c c sau khi gom nhm iu kin ca HAVING l cc thuc tnh trong danh sch GROUP BY v cc php tnh ton khc.
44
Mnh HAVING
45
Mnh HAVING
TenPB Quan Ly Dieu Hanh Dieu Hanh Nghien Cuu Nghien Cuu Nghien Cuu Nghien Cuu Nghien Cuu TenNV Quyen Nhan Vu Tung Tien Hung Tam Van Luong 3000000 2500000 2200000 2500000 2200000 2000000 2200000 1800000
TL 3000000 4700000
TL 4700000
46
Truy vn lng
Cc mnh SELECT c lng vo nhau Kt qu ca cu SELECT bn trong s c chuyn cho truy vn bn ngoi. Truy vn ngoi cng s cho kt qu cui cng Cc mnh SELECT c ni vi nhau bng cc php so snh <,>,<>,=,>=,<=, IN, EXISTS, ALL, ANY, SOME,
47
Truy vn lng
Truy vn lng
SELECT nv.MaNV,TenNV, SUM(ThoiGian) FROM NhanVien nv, PhanCong pc WHERE nv.MaNV = pc.MaNV GROUP BY nv.MaNV,TenNV SELECT FROM GROUP BY SUM(ThoiGian) PhanCong MaNV
MaNV 001 HAVING SUM(ThoiGian) >= ALL 002 003 004 006 MaNV 001 TenNV Quyen Tong TG 42.5 007 008 Tong TG 42.5 40 37.5 32.5 30.5 30 22.5
49