Thuc Hanh CSDL

You might also like

You are on page 1of 48

BÀI TẬP HƯỚNG DẪN THỰC HÀNH

CƠ SỞ DỮ LIỆU

- Sinh viên học thực hành phải mang theo bài tập, bài giảng và thiết bị lưu trữ

Số
Tuần Bài tập Ghi chú
tiết
Tạo và sao lưu CSDL bằng công cụ
1 3 Bài tập Buổi 1
Management
2 3 Bài tập Buổi 2 Tạo và thao tác trên CSDL dùng lệnh DDL

3 3 Bài tập Buổi 3

4 3 Bài tập Buổi 4

5 3 Bài tập Buổi 5 Thực hiện truy vấn trên


6 3 Bài tập Buổi 6 CSDL của Buổi 1 Sinh viên tự làm
bài tập 3, nộp vào
7 3 Bài tập Buổi 7 tuần 9

8 3 Bài tập Buổi 8


- Bài tập Buổi 9 Thực hiện các truy vấn
9 3
- Ôn tập trên CSDL của buổi 2

10 3 Kiểm tra

[1]
B
BUỔI 1: TẠ
ẠO CS
SDL BẰNG
B G SQL
L SER
RVER
R

* Cơ sở dữ liệu Quả
ản lý điểểm sinh viên
v (QL
LDIEM)

[2]]
1. Đ
Đăng nhậập vào SQL
S Serv
ver
1.1. Cách 1

- Khhai báo thôông tin kếtt nối:


 Server type: <chhọn loại Server cần kết nối>
 Server name: <cchọn tên Server
S cầnn kết nối>
 Authenntication: Chọn chế c độ xácx thựcc là Winndows auuthenticatiion
hoặc SQL Seerver authhenticationn. Nếu chọn c chế độ là SQL
S Servver
authenttication thhì phải chho biết Login
L namme (mặc định là ssa) và nhhập
Passwoord.
- CChọn Connnect. Nếếu kết nốối thành công
c thì cửa
c sổ Microsoft
M SQL Serv
ver
Mannagement
1.2. Cách 2

- Nhhấn Conneect

[3]]
2. T
Tạo CSD
DL bằng công cụ Manageement
Khi cài SQL Server
S xonng, hệ thống sẽ tự động
đ tạo một
m vài CS
SDL mặc định:
đ
 Masterr : điều khhiển các useru databbases và các
c hoạt động
đ của SQL Serv ver
cũng như
n toàn bộb thông tin như user u accoounts, biếnn môi trư
ường và các
c
system error messsages
 Model : cung cấấp một teemplate/prrototype database
d c việc tạo
cho t mới mộtm
user dattabase
 Tempd db cung cấp c vùng lưu l trữ chho table tạạm thời ho oặc các vùùng làm viiệc
tạm thờời
 Msdb : cung cấpp vùng lư ưu trữ choo việc sắp p xếp thờời khoá biểu cho cácc
công viiệc
 Hai tập
p tin vật lýý để lưu trữ
ữ dữ liệu:
o Lưu
L trữ dữ ữ liệu (dataa file)
o Lưu
L trữ cáác giao tácc mà người dùng đã thực hiệnn (transactiion log file)
 Các tậpp tin CSDL L trong SQQL Serverr được chia thành 3 loại tập tin.
 Tập tinn dữ liệu chính
c (Primmary Dataa File). Phhần mở rộộng của tậập tin nàyy là
*.mdf
 Tập tinn thứ yếuu (Secondaary Data Files) (kh hông bắt buộc
b phải có khi tạo
t
mới CS SDL). Phầần mở rộng g của tập tin
t này là *.ndf
 Tập tin lưu trữ (LLog Files). Phần mở ở rộng là *.ldf
*

ớc 1: Tạo CSDL
Bướ C

[4]]
- Nhhấn OK
* Cáác thuộc tính
t CSDL trong SQL
S Server
 Tên CS SDL (Dattabase na ame): dàii tối đa 1228 ký tự, duy nhấtt trong SQ QL
Server.
 Vị trí tập tin (File locaation): Thông thư ường tập tin này sẽ s được lưul
tại C:\P
Program Files\Micr
F rosoft SQLL Server\M MSSQL\ DataD
 Tên tập p tin (File name): là tên luậận lý của mỗi loại tập t tin dữ
ữ liệu tươơng
ứng màà hệ thốngg SQL Servver dùng để đ quản lý ý bên trongg.
 Kích th hước ban n đầu (Innitial size)): là kích thước khhởi tạo củủa tập tin dữ
liệu khii CSDL mới
m được tạạo lập.
 Tăng kích
k thướcc tập tin dữ
d liệu (FFile growtth)
 Kích thhước tối đa
đ tập tin dữ liệu (M Maximum m file sizee)

Bướ
ớc 2: Tạo các
c bảng
SDL QLDiem, clickk phải vàoo mục Tabble  Neew Table …
- Ở Menu tráái, mở CS
như hình dướii

[5]]
- Gõõ vào 2 th huộc tính MaKhoaa và TenK
Khoa, chọọn kiểu dữ
ữ liệu tươ
ơng ứng cho
c
từngg thuộc tínnh
* Tạạo khoá ch
hính cho bảng

- Chhọn dòng MaKhoa,


M click vào biểu tượnng để tạo kh
hoá chính
- Lư
ưu bảng đặặt tên DMKHOA
- Tư
ương tự lầnn lượt tạo các bảng khác như:: DMSV, KETQUA
A, DMMH
H

3. D
Dùng Diaagram để
đ tạo liên
n kết nggoại cho các bảng
g

[6]]
[7]]
- Tạạo quan hệệ khoá nggoại
Từ bbảng DMK
KHOA kéo
k quan hệ
h sang bảảng DMSV
V theo MaKhoa.
M H
Hiển thị như
n
hìnhh sau:

- Tư
ương tự:
+ Lần lượt
l tạo quuan hệ khooá ngoại từ
ừ DMSV – KETQU
UA (theo MaSV)
+ Tạo quan
q hệ khhoá ngoại từ DMMH
H – KETQUA (theeo MaMH
H)

[8]]
- Kếết quả quaan hệ thể hiện như
ư sau:

4. N
Nhập liệu
u
* Lư
ưu ý về thứ tự nhậpp liệu

 Ưu tiên
n 1: Nhậpp bảng chỉỉ xuất hiệnn ở đầu khhoá
 Ưu tiên
n 2: Nhập bảng có (m
một – nhiềều)

 Ưu tiên
n 3: Nhập bảng có (nhhiều – nhiềều)
Nhìnn vào sơ đồ
đ quan hệ
h phía trên
n , chúng ta thấy thứ
ứ tự nhập liệu như sau:
s
11. DMKH
HOA
22. DMMHH
33. DMSV
V
44. KETQUA
* Cáách nhập liệu
l
v bảng cần nhập liệu, chọnn Edit Toop 200 Roows, sau đó
- Click phải vào đ tiến hàành
nhậpp liệu như
ư hình sau::

[9]]
- Tư
ương tự nhhập liệu chho các bảnng khác theeo dữ liệu
u mẫu sau:

[100]
5. S
Sao lưu CSDL
C
- Cliick phải vào
v tên CS
SDL, chọnn Propertiies

- Cliick chọn Files


F để xem
x tên đư
ường dẫn đến
đ hai fille cần sao lưu

[111]
Hìnhh 1.

- Đóóng cửa sổ
ổ Propertiies. Click phải vào tên
t CSDL
L chọn Tassks\Detacch

[122]
- Saau khi ch họn Detacch, cửa sổ
ổ sau hiệện ra, đán
nh dấu Chheck vào mục Drrop
Connnections , chọn OK.O Sau đó ó vào đườờng dẫn hình
h 1 để chép 2 file
fi *.mdf và
*.ldff để sao lư
ưu và phụcc hồi.

[133]
6. Phục hồi CSDL
C từ 2 file (*.m
mdf và *.ld
df ) đã có
- Mở
ở SQL Serrver, clickk phải vào Databasee/Attach

- Xuuất hiện hộộp thoại

- Chhọn Add, chọn


c đườnng dẫn đếnn file CSD
DL cần phụ
ục hồi

[144]
- Nhhấn OK, trrở lại hộp thoại bann đầu

[155]
- Nhhấn OK

[166]
BUỔI 2: TẠO CSDL BẰNG LỆNH SQL
A- Cơ sở dữ liệu Quản lý dự án trong công ty (QLDUAN)
NHANVIEN (MaNV, Ho, TenDem, Ten, NgSinh, DiaChi, Gtinh,
Luong, MaGSat, Phong )
- Mỗi nhân viên đều được ghi nhận lại Họ, Tên lót và Tên, có một
mã duy nhất, có ngày sinh, địa chỉ, giới tính, lương sẽ được phụ trách
trực tiếp bởi một người giám sát (cũng là một nhân viên) và thuộc về
một phòng ban duy nhất.
PHONGBAN (MaPB, TenPB, TrPhong, NgNhanChuc)
- Mỗi phòng ban đều có mã duy nhất, có tên phòng, do một nhân
viên nào đó phụ trách, và ghi nhận cả ngày trưởng phòng đó bắt đầu
phụ trách phòng.
DUAN (MaDA, TenDA, DiaDiem, PhongQL)
- Công ty sẽ thực hiện các dự án khác nhau. Do đó mỗi đề án đều
ghi lại mã và tên đề án. Địa điểm thực hiện dự án cũng như phòng ban
chủ trì dự án đều được ghi nhận.
PHANCONG (MaNV, MaDA, SoGio)
- Mỗi nhân viên có thể tham gia vào nhiều dự án khác nhau, và
mỗi dự án có thể có nhiều nhân viên tham gia. Khi nhân viên tham gia
dự án, thì mã nhân viên và mã dự án đó cũng như thời gian làm việc
của nhân viên cho dự án trong một tuần sẽ được ghi lại.
THANNHAN (MaNV, TenTN, GTinh, NgSinh, QuanHe)
- Công ty sẽ ghi nhận một số thông tin về các thân nhân của các
nhân viên. Tên, ngày tháng năm sinh và mối quan hệ của các thân nhân
sẽ được ghi lại.
DIADIEM_PHONG (MaPB, DiaDiem)
- Mỗi phòng ban có thể có một hay nhiều địa điểm.

B - Mô tả chi tiết CSDL QLDUAN


NHANVIEN (MaNV, Ho, TenDem, Ten, NgSinh, DiaChi, GTinh,
Luong, MaGSat, Phong )

STT Thuộc tính Kiểu dữ liệu Diễn giải


1 MaNV Char(9) Mã nhân viên

[17]
2 Ho Varchar(15) Họ
TenDem Varchar(15) Tên đệm
3
Ten Varchar(15) Tên
4
5 NgSinh Datetime Ngày sinh
6 DiaChi Varchar(50) Địa chỉ
7 GTinh Char(3) Giới tính (Nam, Nu)
8 Luong Int Mức lương
9 MaGSat Char(9) Mã giám sát
10 Phong Int Mã phòng ban

PHONGBAN (MaPB, TenPB, TrPhong, NgNhanChuc)


STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaPB Int Mã phòng ban
2 TenPB Varchar(10) Tên phòng ban
Char(9) Mã nhân viên là trưởng
3 TrPhong
phòng
NgNhanChuc datetime Ngày nhận chức
4

DUAN (MaDA, TenDA, DiaDiem, PhongQL)


STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaDA Int Mã dự án
2 TenDA Varchar(15) Tên dự án

3 DiaDiem Varchar(15) Địa điểm

PhongQL Mã phòng ban quản lý dự


4 int
án

PHANCONG (MaNV, MaDA, SoGio)


STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaNV Char(9) Mã nhân viên
2 MaDA Int Mã dự án
[18]
SoGio Decimal(3,1) Số giờ
3

THANNHAN (MaNV, TenTN, GTinh, NgSinh, QuanHe)


STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaNV Char(9) Mã nhân viên
2 TenTN Char(15) Tên thân nhân
GTinh Char(3) Giới tính
3
NgSinh Datetime Ngày sinh
4
5 QuanHe Varchar(10) Quan hệ

DIADIEM_PHONG (MaPB, DiaDiem)


STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaPB Int Mã phòng ban
2 DiaDiem Varchar(15) Địa điểm

C- Sơ đồ quan hệ của lược đồ

[19]
D – Thể hiện của lược đồ quan hệ
NHANVIEN MaNV Ho TenDem Ten NgSinh DiaChi GTinh Luong MaGSat Phong

123456789 Nguyen Bao Hung 09/01/1965 73 Phan Dang Luu, Phu Nhuan, TPHCM Nam 30000 333445555 5

333445555 Phan Van Nghia 08/12/1955 63 Tran Huy Lieu, Phu Nhuan, TPHCM Nam 40000 888665555 5

999887777 Au Thi Vuong 19/01/1968 32 Cao Ba Nha, Q1, TPHCM Nu 25000 987654321 4

987654321 Du Thi Hau 20/06/1941 29 Bach Dang, Tan Binh, TPHCM Nu 43000 888665555 4

666884444 Tran Van Nam 15/09/1962 97 Dien Bien Phu, Binh Thanh, TPHCM Nam 38000 333445555 5

453453453 Hoang Kim Yen 31/07/1972 56 Thich Quang Duc, Phu Nhuan, TPHCM Nu 25000 333445555 5

987987987 Nguyen Van Giap 29/03/1969 98 Huynh Van Banh, Phu Nhuan, TPHCM Nam 25000 987654321 4

888665555 Le Van Bo 10/11/1937 45 Ho Van Hue, Phu Nhuan, TPHCM Nam 55000 NULL 1

DIADIEM_PHONG MaPB DiaDiem

1 Phu Nhuan
PHONGBAN MaPB TenPB TrPhong NgNhanChuc
4 Go Vap
5 Nghien cuu 333445555 22/06/1988
5 Tan Binh
4 Hanh chinh 987654321 01/01/1995
5 Phu Nhuan
1 Giao duc 888665555 19/06/1981
5 Thu Duc

[20]
PHANCONG MaNV MaDA SoGio THANNHAN MaNV TenTN GTinh NgSinh QuanHe

123456789 1 32.5 333445555 Anh Nu 05/04/1986 Con gai

123456789 2 7.5 333445555 The Nam 25/10/1983 Con trai

666884444 3 40.0 333445555 Loi Nu 03/05/1958 Vo

453453453 1 20.0 987654321 An Nam 28/02/1942 Chong

453453453 2 20.0 123456789 Minh Nam 04/01/1988 Con trai

333445555 2 10.0 123456789 Anh Nu 30/12/1988 Con gai

333445555 3 10.0 123456789 Yen Nu 05/05/1967 Vo

333445555 10 10.0

333445555 20 10.0
DUAN MaDA TenDA DiaDiem PhongQL
999887777 30 30.0

999887777 10 10.0 1 Sam pham X Tan Binh 5

987987987 10 35.0 2 San pham Y Thu Duc 5

987987987 30 5.0 3 San pham Z Phu Nhuan 5

987654321 30 20.0 10 Tin hoc hoa Go Vap 4

987654321 20 15.0 20 Tai to chuc Phu Nhuan 1

888665555 20 NULL 30 Phuc loi Go Vap 4

[21]
1.
1 Định nnghĩa CS SDL (DD
DL)
- Cú phápp tạo CSD
DL

- Cú phápp xoá CS
SDL

- Cú phápp mở CSDL

- Cú pháp tạo bảng

- Cú pháp thêm ràng


g buộc

1.1.
1 Tạo CSDL
CREATE
C DA
ATABASE QLDUAN

1.2.
1 Tạo bảng

- Tạo các bảng bao gồm tất cả


c các ràn
ng buộc tooàn vẹn (kkhoá chính, khoá ngoại, checck,
unique,
u def
efault,…) mỗi
m ràng buộc
b đều được
đ đặt têên.

--Tạo bảng ch
ho CSDL QLDU
UAN
use
u QLDUAN
go
g

--Tạo bảng Ph hòng ban (PHHONGBAN)


CREATE
C TABLE PHONGBAN
(
MaPB INT consttraint PB_Ma
aPB_PK PRIMA
ARY KEY,
TenPBB VARCHAR (10)
( constra
aint PB_TenP
PB_UQ UNIQUE
E,
TrPhoong CHAR(9),
NgNhaanChuc D
DATETIME default (GetDat
te())

[22]
--ràng buộc khoá chính cho MaPB có tên là PB_MaPB_PK
--ràng buộc thuộc tính TenPB là duy nhất (UNIQUE) có tên là PB_TenPB_UQ
--ràng buộc NgNhanChuc được mặc định là ngày hiện tại trên máy tính - default (GetDate())
)

--Tạo bảng nhân viên (NHANVIEN)


CREATE TABLE NHANVIEN
(
MaNV CHAR(9) constraint NV_MaNV_PK PRIMARY KEY,
Ho VARCHAR(15) NOT NULL,
TenDem VARCHAR (15),
Ten VARCHAR(15) NOT NULL,
NgSinh DATETIME,
DiaChi VARCHAR(50),
GTinh CHAR(3) constraint NV_GTinh_CK CHECK (GTinh IN ('Nam', 'Nu')),
Luong INT,
MaGSat CHAR(9) constraint NV_MaGSat_FK FOREIGN KEY (MaGSat) REFERENCES NHANVIEN(MaNV),
Phong INT constraint NV_Phong_FK FOREIGN KEY (Phong) REFERENCES PHONGBAN(MaPB)

--ràng buộc khoá chính cho MaNV có tên là NV_MaNV_PK


--ràng buộc kiểm tra thuộc tính GTinh chỉ được nhập là Nam hoặc Nu - tên ràng buộc NV_GTinh_CK
--ràng buộc khoá ngoại NV_MaGSat_FK trong đó MaGSat của bảng NHANVIEN tham chiếu đến MaNV trong
bảng NHANVIEN
--ràng buộc khoá ngoại NV_Phong_FK trong đó Phong của bảng NHANVIEN tham chiếu đến MaPB trong
bảng PHONGBAN
)

--Tạo bảng dự án (DUAN)


CREATE TABLE DUAN
(
MaDA INT constraint DUAN_MaDA_PK PRIMARY KEY,
TenDA VARCHAR(15) NOT NULL,
DiaDiem VARCHAR(15),
PhongQL INT constraint DUAN_PHONGQL_FK FOREIGN KEY (PhongQL) REFERENCES PHONGBAN(MaPB)
)

--Tạo bảng Phân công (PHANCONG)


CREATE TABLE PHANCONG
(
MaNV CHAR(9) NOT NULL,
MaDA INT NOT NULL,
SoGio DECIMAL (3,1),
constraint PC_MaNV_MaDA_PK PRIMARY KEY (MaNV, MaDA),
constraint PC_MaNV_FK FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV),
constraint PC_MaDA_FK FOREIGN KEY (MaDA) REFERENCES DUAN(MaDA)

--do MaNV và MaDA vừa là khoá chính, vừa là khoá ngoại nên phải cài đặt trước ràng buộc NOT NULL
cho 2 thuộc tính trên
)

--Tạo bảng Thân nhân (THANNHAN)


CREATE TABLE THANNHAN
(
MaNV CHAR (9) NOT NULL,
TenTN CHAR(15) NOT NULL,
GTinh CHAR (3) constraint TN_GTinh_CK CHECK (GTinh IN ('Nam', 'Nu')),
NgSinh DATETIME,
QuanHe VARCHAR (10),
constraint TN_MaNV_TenTN_PK PRIMARY KEY (MaNV, TenTN),
constraint TN_MaNV_FK FOREIGN KEY (MaNV) REFERENCES NHANVIEN (MaNV)
)

--Tạo bảng Địa điểm - Phòng (DIADIEM_PHONG)


CREATE TABLE DIADIEM_PHONG
(
MaPB INT NOT NULL,
DiaDiem VARCHAR(15) NOT NULL,
constraint DD_P_MaPB_DiaDiem_PK PRIMARY KEY(MaPB, DiaDiem),
constraint DD_P_MaPB_PK FOREIGN KEY (MaPB) REFERENCES PHONGBAN(MaPB)
)

-- Mở bảng PHONGBAN ra để thêm ràng buộc khoá ngoại cho thuộc tính TrPhong
ALTER TABLE PHONGBAN
ADD CONSTRAINT PB_TrPhong_FK FOREIGN KEY (TrPhong) REFERENCES NHANVIEN(MaNV)

2. Sử dụng sp hệ thống để kiểm tra cấu trúc dữ liệu

[23]
3.
3 Thay đ
đổi cấu trúc
t dữ lliệu dùng ngôn ngữ
n DDL
L
- Thêm thuuộc tính (C
Cột)

- Xoá thuộộc tính (Cộột)

- Mở rộng thuộc tính


h (Cột)

- Xoá ràngg buộc

- Đổi tên

3.1.
3 Thêm
m vào bảngg PHONG
GBAN thuuộc tính NamTL
N (nnăm thànhh lập) có kiểu
k dữ liiệu
INT
I
ALTER
A TAB
BLE PHON
NGBAN
ADD
A NamTL
L INT

3.2.
3 Thay đđổi kiểu dữ
d liệu choo cột Nam
mTL từ INT
T thành SM
MALLINT
T
ALTER
A TAB
BLE PHON
NGBAN
ALTER
A COL
LUMN Nam
mTL SMALLINT

3.3.
3 Đổi têên thuộc tính NamTL thành NamThanh
N hLap
[24]
EXEC
E sp_r
rename 'PHONGBA
' AN.NamTL'
', 'NamThanhLap'
'

3.4.
3 Tạo rààng buộc cho
c thuộc tính Nam
mThanhLapp, kiểm traa >= 19900
ALTER
A TAB
BLE PHON
NGBAN
ADD
A CONST
TRAINT PB_NamTh
P anhLap_C
CK CHECK
K(NamThan
nhLap >=
=1990)

3.5.
3 Xoá rààng buộc CHECK
C c thuộc tính NamT
cho ThanhLapp
ALTER
A TAB
BLE PHON
NGBAN
DROP
D PB_N
NamThanh
hLap_CK

3.6.
3 Xoá thhuộc tính NamThan
N nhLap
ALTER
A TAB
BLE PHON
NGBAN
DROP
D COLU
UMN NamT
ThanhLap

4.
4 Thực h
hiện thaao tác dữ
ữ liệu (DM
ML) – IN
NSERT,, UPDAT
TE, DEL
LETE đơ
ơn
giản
g

- Cú pháp thêm mộtt dòng

- Cú pháp xoá

- Cú pháp sửa

4.1.Thêm
4 d liệu vàào các bảnng trong CSDL
dữ
[25]
use QLDUAN
go

--Nhập dữ liệu cho bảng PHONGBAN


INSERT INTO PHONGBAN (MaPB,TenPB, TrPhong, NgNhanChuc)
VALUES('5','Nghien cuu',NULL,'06/22/1988')

INSERT INTO PHONGBAN (MaPB,TenPB, TrPhong, NgNhanChuc)


VALUES('4','Hanh chinh',NULL,'01/01/1995')

INSERT INTO PHONGBAN (MaPB,TenPB, TrPhong, NgNhanChuc)


VALUES('1','Giam doc',NULL,'06/19/1981')

--Dữ liệu cho TrPhong được để NULL vì chưa nhập liệu cho bảng NHANVIEN
--sau khi nhập dữ liệu bảng NHANVIEN thì tiến hành bổ sung dữ liệu TrPhong cho bảng PHONGBAN

--Nhập liệu cho bảng NHANVIEN


INSERT INTO NHANVIEN
VALUES('888665555', 'Le','Van','Bo', '11/10/1937','45 Ho Van Hue, Phu Nhuan, TPHCM', 'Nam',
55000,NULL,1 )

INSERT INTO NHANVIEN


VALUES('333445555', 'Phan','Van','Nghia', '12/08/1955','63 Tran Huy Lieu, Phu Nhuan, TPHCM',
'Nam', 40000,'888665555',5 )

INSERT INTO NHANVIEN


VALUES('123456789', 'Nguyen','Bao','Hung', '01/09/1965','73 Phan Dang Luu, Phu Nhuan, TPHCM',
'Nam', 30000,'333445555',5 )

INSERT INTO NHANVIEN


VALUES('666884444', 'Tran','Van','Nam', '09/15/1962','97 Dien Bien Phu, Binh Thanh, TPHCM',
'Nam', 38000,'333445555',5 )

INSERT INTO NHANVIEN


VALUES('453453453', 'Hoang','Kim','Yen', '07/31/1972','56 Thich Quang Duc, Phu Nhuan, TPHCM',
'Nu', 25000,'333445555',5 )

INSERT INTO NHANVIEN


VALUES('987654321', 'Du','Thi','Hau', '06/20/1941','29 Bach Dang, Tan Binh, TPHCM', 'Nu',
43000,'888665555',4 )

INSERT INTO NHANVIEN


VALUES('999887777', 'Au','Thi','Vuong', '01/19/1968','32 Cao Ba Nha, Q1, TPHCM', 'Nu',
25000,'987654321',4 )

INSERT INTO NHANVIEN


VALUES('987987987', 'Nguyen','Van','Giap', '03/29/1969','98 Huynh Van Banh, Phu Nhuan,
TPHCM', 'Nam', 25000,'987654321',4 )

--Nhập liệu cho bảng DIADIEM_PHONG


INSERT INTO DIADIEM_PHONG
VALUES(1, 'Phu Nhuan')

INSERT INTO DIADIEM_PHONG


VALUES(4, 'Go Vap')

INSERT INTO DIADIEM_PHONG


VALUES(5, 'Tan Binh')

INSERT INTO DIADIEM_PHONG


VALUES(5, 'Phu Nhuan')

INSERT INTO DIADIEM_PHONG


VALUES(5, 'Thu Duc')

--Nhập liệu cho bảng DUAN


INSERT INTO DUAN
VALUES(1,'San pham X', 'Tan Binh', 5)

INSERT INTO DUAN


VALUES(2,'San pham y', 'Thu Duc', 5)

INSERT INTO DUAN


[26]
VALUES(3,'San pham Z', 'Phu Nhuan', 5)

INSERT INTO DUAN


VALUES(10,'Tin hoc hoa', 'Go Vap', 4)

INSERT INTO DUAN


VALUES(20,'Tai to chuc', 'Phu Nhuan', 1)

INSERT INTO DUAN


VALUES(30,'Phuc Loi', 'Go Vap', 4)

--Nhập liệu cho bảng PHANCONG


INSERT INTO PHANCONG
VALUES('123456789',1,32.5)

INSERT INTO PHANCONG


VALUES('123456789',2,7.5)

INSERT INTO PHANCONG


VALUES('666884444',3,40.0)

INSERT INTO PHANCONG


VALUES('453453453',1,20.0)

INSERT INTO PHANCONG


VALUES('453453453',2,20.0)

INSERT INTO PHANCONG


VALUES('333445555',2,10.0)

INSERT INTO PHANCONG


VALUES('333445555',3,10.0)

INSERT INTO PHANCONG


VALUES('333445555',10,10.0)

INSERT INTO PHANCONG


VALUES('333445555',20,10.0)

INSERT INTO PHANCONG


VALUES('999887777',30,30.0)

INSERT INTO PHANCONG


VALUES('999887777',10,10.0)

INSERT INTO PHANCONG


VALUES('987987987',10,35.0)

INSERT INTO PHANCONG


VALUES('987987987',30,5.0)

INSERT INTO PHANCONG


VALUES('987654321',30,20.0)

INSERT INTO PHANCONG


VALUES('987654321',20,15.0)

INSERT INTO PHANCONG


VALUES('888665555',20,NULL)

--Nhập liệu cho bảng THANNHAN


INSERT INTO THANNHAN
VALUES('333445555','Anh','Nu','04/05/1986','Con gai')

INSERT INTO THANNHAN


VALUES('333445555','The','Nam','10/25/1983','Con trai')

INSERT INTO THANNHAN


VALUES('333445555','Loi','Nu','05/03/1958','Vo')

INSERT INTO THANNHAN


VALUES('987654321','An','Nam','02/28/1942','Chong')

INSERT INTO THANNHAN


VALUES('123456789','Minh','Nam','01/04/1988','Con trai')

[27]
INSERT INTO THANNHAN
VALUES('123456789','Anh','Nu','12/30/1988','Con gai')

INSERT INTO THANNHAN


VALUES('123456789','Yen','Nu','05/05/1967','Vo')

--Cập nhật dữ liệu TrPhong cho bảng PHONGBAN


UPDATE PHONGBAN
SET TrPhong = '333445555'
WHERE MaPB = 5

UPDATE PHONGBAN
SET TrPhong = '987654321'
WHERE MaPB = 4

UPDATE PHONGBAN
SET TrPhong = '888665555'
WHERE MaPB = 1

4.2. Trong bảng PHONGBAN, cập nhật ngày nhận chức của trưởng phòng phòng 5 từ
22/06/1988 thành 25/06/1989
UPDATE PHONGBAN
SET NgNhanChuc = '06/25/1989'
WHERE MaPB = 5

4.3. Cập nhật tên lót của nhân viên có mã số 666884444 từ “Van” thành “Hoai”
4.4. Cập nhật lương của nhân viên có mã số 666884444 từ 38000 thành 39000.
4.5. Cập nhật ngày sinh của nhân viên có mã số 123456789 thành 01/09/1964.
4.6. Tăng lương của tất cả các nhân viên phòng 5 thêm 1000
UPDATE NHANVIEN
SET Luong = Luong+1000
WHERE Phong=5

4.7. Xoá tất cả những địa điểm của phòng ban 5 trong bảng DIADIEM_PHONG. Sau đó
kiểm tra kết quả.
DELETE FROM DIADIEM_PHONG
WHERE MaPB=5

4.8. Nhập lại dữ liệu đã xoá bằng câu lệnh INSERT


INSERT INTO DIADIEM_PHONG
VALUES(5, 'Tan Binh')

INSERT INTO DIADIEM_PHONG


VALUES(5, 'Phu Nhuan')

INSERT INTO DIADIEM_PHONG


VALUES(5, 'Thu Duc')

[28]
BU
UỔI 3: TRU
UY VẤN
V
1.
1 Truy vvấn đơn giản

1.1.
1 Liệt kê danh sácch các môôn học gồm
m các thônng tin: Mãã môn, Tênn môn, Số tiết
1.2.
1 Liệt kkê danh sáách các môôn học có tên bắt đầầu bằng chữ “T”, gồm
g các thhông tin: Mã
M
môn,
m Tên môn,
m Số tiiết
Câu
C lệnh:

1 Liệt kkê danh sácch những sinh viên có chữ cáái cuối cùnng trong têên là I, gồm các thôông
1.3.
tin: Họ tênn sinh viên
n, Ngày sinnh, Phái.
1.4.
1 Danhh sách nhữững khoa có
c ký tự th
hứ hai củaa tên khoaa có chứa chữ
c N, gồm các thôông
tin: Mã khhoa, Tên khhoa.
1.5.
1 Liệt kkê những sinh viên mà họ có chứa chữ
ữ Thị.
1.6.
1 Cho biết danh sách nhữnng sinh viên có ký tựt đầu tiênn của tên nằm
n trong khoảng từ
ừa
đến
đ m, gồmm các thônng tin: Mãã sinh viênn, Họ tên sinh
s viên, Phái, Họcc bổng.
1.7.
1 Liệtt kê các siinh viên có
c học bổổng từ 1500000 trở lên
l và sinhh ở Hà Nội,
N gồm các
c
th
hông tin: H
Họ tên sin
nh viên, Mã
M khoa, Nơi
N sinh, Học
H bổng.
1.8.
1 Danhh sách cácc sinh viênn của khoaa AV văn và khoa VL,
V gồm các
c thông tin: Mã siinh
viên,
v Mã khoa,
k Pháii.
1.9.
1 Choo biết nhhững sinhh viên có c ngày sinh từ ngày 01/01/1992 đến nggày
05/06/1993
0 3 gồm cácc thông tinn: Mã sinhh viên, Ngày sinh, Nơi
N sinh, Học
H bổng.
1.10.
1 Danh sách những
n sinhh viên có học bổng từ 80.00
00 đến 1500.000, gồm
m các thô
ông
tin: Mã sinnh viên, Ngày
N sinh, Phái, Mã khoa.
1.11.
1 Choo biết nhữ h có số tiết lớn hơ
ững môn học ơn 30 và nhỏ
n hơn 45,
4 gồm cáác thông tin:
t

M môn học, Tên môn
m học, Số
S tiết.
1.12.
1 Liệệt kê nhữnng sinh viêên nam củủa khoa AAnh văn và
v khoa tinn học, gồm
m các thôông
tin: Mã sinnh viên, Họ
H tên sinhh viên, tên khoa, Pháái.
1.13.
1 m thi môn sơ sở dữ liệu nhỏ hơn
Liệệt kê nhữnng sinh viêên có điểm h 5, gồm
m thông tin:
t

M sinh viiên, Họ tênn, phái, điiểm
1.14.
1 Liệt kê những sinh viêên học khooa Anh văăn mà khôn
ng có họcc bổng, gồm thông tin:
t

M sinh viiên, Họ vàà tên, tên khoa,
k Nơi sinh, Họcc bổng

[29]
2.
2 Sắp xếếp (Ordeer By)

2.1.
2 Cho bbiết danh sách
s những sinh viêên gồm các thông tinn: Họ tên sinh viênn, Ngày sinnh,
Nơi
N sinh. Danh
D sáchh được sắpp xếp tăng dần theo tên sinh viên.
v
2.2.
2 Cho biết danh sách s nhữngg sinh viênn mà tên có
c chứa kýý tự nằm trong
t khoảng từ a đến
đ
m,
m gồm cáác thông tin: t Họ tênn sinh viêên, Ngày sinh,
s Nơi sinh. Dan nh sách đư
ược sắp xếp
x
tăng dần thheo tên sinnh viên.
Câu
C lệnh:

2 Liệt kkê danh sách sinh viiên, gồm các


2.3. c thông tin sau: Mã
M sinh viiên, Họ sinnh viên, Tên
T
sinh
s viên, Học bổngg. Danh sách sẽ được sắp xếp theo thứ tự
t Mã sinhh viên tăngg dần.
2.4.
2 Thôngg tin các sinh
s viên gồm: Họ tên sinh vviên, Ngàyy sinh, Họọc bổng. Thông
T tin sẽ
được
đ sắp xxếp theo thhứ tự Ngày sinh tănng dần và Học
H bổng giảm dầnn.
2.5.
2 Cho biết
b danh sáchs các sinh
s viên có học bổổng lớn hơ
ơn 100,000, gồm cáác thông tin:
t

M sinh viiên, Họ tên sinh viêên, Mã khooa, Học bổổng. Danhh sách sẽ được
đ sắp xếp
x theo thứ
t
tự
ự Mã khoa giảm dầần.

[30]
BUỔ
ỔI 4: TRUY
T Y VẤ
ẤN (ttt)
1.
1 Truy vấấn sử dụn
ng hàm YE
EAR, MO
ONTH, DA
AY, GET
TDATE, CASE,
C …
1.1.
1 Danh sách sinh viên có nơi sinh ở HàH Nội vàv sinh vàào tháng 02,
0 gồm cáác thông tin:
t
Họ
H sinh viiên, Tên siinh viên, Nơi
N sinh, Ngày
N sinhh
Câu
C lệnh:

1.2.
1 Cho bbiết nhữngg sinh viênn có tuổi lớn hơn 200, thông tiin gồm: Họ
H tên sinhh viên, Tuuổi,
Học
H bổng.
Hướng
H dẫnn: Tuoi = YEAR(GE
ETDATE()) – YEA
AR(NgayS
Sinh)
1.3.
1 Danh sách nhữ ững sinh viên
v có tuổ
ổi từ 20 đến
đ 25, thô
ông tin gồồm: Họ têên sinh viêên,
Tuổi,
T Tên khoa.
1 Danh sách sinh
1.4. h viên sinhh vào mùaa xuân năăm 1990, gồm
g các thhông tin: Họ tên siinh
viên,
v Phái,, Ngày sin
nh. (dùng hàm
h dateppart(“q”,nggaysinh))
2.
2 Cấu trú
úc CASE … WHEN
N

C pháp:

2.1.
2 Cho bbiết thông tin về mứức học bổnng của cácc sinh viênn, gồm: Mã
M sinh viêên, Phái, Mã
M
khoa,
k Mứcc học bổngg. Trong đó,
đ mức học
h bổng sẽ s hiển thị là “Học bổng cao” nếu giá trị
của
c học bổổng lớn hơ
ơn 150,0000 và ngượợc lại hiển thị là “Mứức trung bình”
b
Câu
C lệnh:

2.2.
2 Cho bbiết kết quả điểm thii của các sinh
s viên, gồm các thông
t tin: Họ tên siinh viên, Mã
M
môn
m học, llần thi, điểểm, kết quuả (nếu điểểm nhỏ hơ
ơn 5 thì rớ
ớt ngược lạại đậu).

[31]
3.
3 Truy vấấn sử dụn
ng hàm kếết hợp:MA
AX, MIN
N, COUNT
T, SUM, AVG
A và gom
g nhóm
m

3.1.
3 Cho biết tổng sốố sinh viênn của toàn
n trường.
Câu
C lệnh:

3.2.
3 Cho biết tổng siinh viên và
v tổng sinnh viên nữ.
3.3.
3 Cho bbiết tổng số
s sinh viêên của từn
ng khoa.
Câu
C lệnh:

3.4.
3 Cho biết số lượnng sinh viiên học từn
ng môn (ddùng Distinct loại trrùng nhau))
Câu
C lệnh:

3.5.
3 Cho biết số lượnng môn họọc mà mỗi sinh viênn đã học.
3.6.
3 Cho bbiết học bổổng cao nhhất của mỗi khoa.
3.7.
3 Cho bbiết tổng số
s sinh viêên nam và tổng số siinh viên nữ
n của mỗii khoa.

3.8.Cho
3 biiết số lượn
ng sinh viêên theo từnng độ tuổii.
3.9.
3 Cho bbiết số lượ
ợng sinh viên
v đậu vàà số lượngg sinh viên
n rớt của từng
t môn trong lần thi
1.
1
[32]
BUỔ
ỔI 5: TRUY
T Y VẤ
ẤN (ttt)
1.
1 Truy vấấn theo điiều kiện gom
g nhóm
m (điều kiện trên nhóm)

1.1.
1 Choo biết năm sinh nào có 2 sinh viên đangg theo học tại trường
g.
Câu
C lệnh:

1 Cho biết nơi nàoo có hơn 2 sinh viênn đang theeo học tại trường.
1.2.
1.3.
1 Cho bbiết môn nào
n có trênn 3 sinh viiên dự thi..
1.4.
1 Cho bbiết sinh viên
v thi lạii trên 2 lầnn.
1.5.
1 Cho bbiết sinh viên
v nam có l 1 trên 7.0
c điểm truung bình lần
1.6.
1 Cho bbiết danh sách
s sinh viên
v rớt trrên 2 môn ở lần thi 1.
1.7.
1 Cho bbiết khoa nào
n có nhiiều hơn 2 sinh viên nam.
1.8.
1 Cho bbiết khoa có
c 2 sinh đạt
đ học bổổng từ 1000.000 đến 200.000.
1.9.
1 Cho bbiết sinh viên
v nam học ừ 3 môn trở lên
h trên từ
1.10.
1 Choo biết sinh
h viên có điểm
đ trungg bình lầnn 1 từ 7 trở ng không có môn nào
ở lên nhưn n
dưới
d 5.
1.11.
1 Cho biết môn không cóó sinh viênn rớt ở lần 1. (rớt là điểm <5)
1.12.
1 Cho biết sinh viên đăngg ký học hơn
h 3 môn mà thi lầnn 1 khôngg bị rớt môôn nào.

2.
2 Truy vấấn con trảả về 1 giá trị

[33]
2.1
2 Cho biiết sinh viêên nào có học bổng cao nhất.
B1. Tìm giá trrị học bổnng cao nhấất (trả về một
m giá trịị duy nhất)
t).
B2. Lấy nhữngg sinh viên có học bổng
b bằngg học bổng
gB
Câu
C lệnh:

2.2.
2 Cho biết những sinh viênn có điểm thi
t lần 1 môn
m cơ sở dữ liệu caao nhất.
2 Cho biết sinh viiên khoa aanh văn có
2.3. ó tuổi lớn nhất.
n
2.4.
2 Cho biết những sinh viênn có cùng nơi
n sinh vớ
ới sinh viêên có mã số
s “A01”
2 Cho biết sinh viiên khoa aanh văn họọc môn văăn phạm có
2.5. ó điểm thii lần 1 thấpp nhất.
2.6.
2 Cho bbiết sinh viiên thi môôn cơ sở dữ
d liệu lần 2 có điểm
m bằng điểểm cao nhất
n của siinh
viên
v thi môôn cơ sở dữ
d liệu lầnn 1.
2.7.
2 Cho bbiết sinh viên
v có điểểm thi môn cơ sở dữ
ữ liệu lần 2 lớn hơnn tất cả điiểm thi lầnn 1
môn
m cơ sở
ở dữ liệu củủa những sinh viên khác.
2.8.
2 Cho biết
b nhữngg sinh viênn có học bổng
b lớn hơn tất cảả học bổng của sinhh viên thuuộc
khoa
k anh vvăn

[34]
BUỔ
ỔI 6: TRUY
T Y VẤ
ẤN (ttt)
1.
1 Truy vấấn con trảả về nhiều
u giá trị, sử
s dụng lư
ượng từ IN,
I ALL, ANY,
A UN
NION, TO
OP

1.1.
1 Choo biết sinh viên có nơi sinh cùùng với Hảải.
B1. Tìm nơi sinh
s của Hải
H (câu con
c này trrả về nhiềều giá trị vì có thể nhiều ngư
ười
tên
t Hải)
B2. Tìm nhữnng sinh viêên có nơi sinh
s giốngg với một trong
t nhữnng nơi sinh ở B1
Câu
C lệnh:

1.2.
1 Cho bbiết những
g sinh viênn có học bổng lớn hơn tất cả học bổnng của sinhh viên thuuộc
khoa
k anh vvăn.
1 Cho bbiết nhữngg sinh viên có học bổng lớn hơn bất kỳ
1.3. k học bổổng của siinh viên học
h
khoa
k anh văn.
v
1.4.
1 Cho biết
b sinh viên
v có điiểm thi mô
ôn cơ sở dữ
d liệu lần
n 2 lớn hơnn tất cả điểểm thi lầnn 1
môn
m cơ sở ở dữ liệu củủa những sinh viên khác.
1.5.
1 Với m
mỗi sinh viiên cho biếết điểm th
hi cao nhấtt của môn tương ứng
g.

[35]
1.6.
1 Cho biết môn nào có nhiềều sinh viêên học nhấất.

1.7.
1 Cho biết những khoa có đông
đ sinh viên nam học nhất.
1.8.
1 Cho bbiết khoa nàon có đônng sinh viên nhận học
h bổng nhất
n và khhoa nào khhoa nào có
ó ít
sinh
s viên nnhận học bổng
b nhất..
1.9.
1 Cho biết môn nào có nhiềều sinh viêên rớt lần 1 nhiều nhhất.
1.10.
1 Cho biết 3 sinhh viên có học
h nhiềuu môn nhấtt.

2.
2 Kết ngooài

2.1.
2 Với m
mỗi môn học
h cho biết bao nhiiêu sinh viiên đã họcc môn đó
Câu
C lệnh:

2.2. mỗi khoa cho biết cóó bao nhiêuu sinh viênn.
2 Với m
2.3.
2 Với m
mỗi sinh viiên cho biếết đã học bao
b nhiêu môn

[36]
BUỔ
ỔI 7: TRUY
T Y VẤ
ẤN (ttt)
1.
1 Phép trrừ

1 Cho biết sinh viiên chưa thhi môn cơ


1.1. ơ sở dữ liệu.
Câu
C lệnh:

1.2.
1 Cho biết sinh viiên nào khhông thi lầần 1 mà cóó dự thi lầnn 2.
1.3.
1 Cho bbiết môn nào
n khôngg có sinh viên
v khoa anh
a văn học.
1.4.
1 Cho bbiết nhữngg sinh viênn khoa anhh văn chưaa học môn
n văn phạm
m.
1.5.
1 Cho bbiết nhữngg môn khôông có sinhh viên rớt ở lần 1.
1.6.
1 Cho bbiết nhữngg khoa khôông có sin
nh viên nữ
ữ.
1.7.
1 Cho bbiết nhữngg sinh viênn:
- Họọc khoa annh văn có học bổng hoặc
- Chhưa bao giiờ rớt.
Câu
C lệnh:

[37]
SELE
ECT SV.M
MASV,HO
OSV,TEN
NSV,SV.M
MAKHOA
FRO
OM DMSV
V SV,DMK
KHOA K
WHE
ERE SV.M
MAKHOA
A=K.MAK
KHOA
AND
D TENKH
HOA LIKE
E N'ANH VĂN'
V
AND
D HOCBO
ONG>0
UNIO
ON
SELE
ECT SV.M
MASV,HO
OSV,TEN
NSV,MAK
KHOA
FRO
OM DMSV
V SV ,KET
TQUA K
WHE
ERE SV.M
MASV=K.MASV
AND
D SV.MAS
SV NOT IN(SELEC
I CT MASV
V
FROM KETQUA
K A
WHERE
E DIEM<5)

1.8.
1 Cho biết những sinh viênn:
- Khhông có họọc bổng hooặc
- Bị rớt môn học
h (sinh viên
v thi lầần 1 bị rớt mà không
g thi lần 2 và sinh viên thi lầnn 2
bị
b rớt)

2.
2 Truy vấấn dùng phép
p chia

[38]
2.1.
2 Cho biết
b nhữngg môn đượ ợc tất cả cáác sinh viên theo họọc. (nhữnng môn họọc mà khô
ông

c sinh viêên nào khôông học – tất cả sinhh viên đềuu phải học)
Câu
C lệnh:

2 Cho biết những sinh viênn học nhữn


2.2. ng môn giốống sinh viên
v có mãã số A02 học.
h
2.3.
2 Cho bbiết nhữngg sinh viênn học nhữ
ững môn bằng
b đúng
g những môn
m mà sinnh viên A02
A
học.
h

[39]
BUỔ
ỔI 8: TRUY
T Y VẤ
ẤN (ttt)
1.
1 Thực hiiện INSER
RT, UPD
DATE, DE
ELETE
- Cú pháp thêm nhiiều dòng

1.1.
1 Tạo m
một bảng mới
m tên SiinhVien_K KetQua: gồm:
g MAS SV, HoSV
V, TenSV, SoMonHo
oc.
Sau
S đó Thêm dữ liệu u vào bảngg này dựaa vào dữ liệu đã có.
Câu
C lệnh:

1.2.
1 Thêm
m vào bảng n sỉ số vào khoa từ dữ liệuu sinh viênn.
g khoa cộtt Siso, lần lượt cập nhật

1.3.
1 Thiết lập học bổổng bằng 0 cho nhữ
ững sinh viiên thi haii môn rớt ở lần 1
1.4.
1 Tăng thêm 1 điiểm cho cáác sinh viêên rớt lần 2. Nhưng chỉ tăng tối
t đa là 5 điểm
1.5.
1 Tăng học bổngg lên 1000000 cho những
n sinhh viên có điểm
đ trungg bình lầnn 1 trên 7 mà
m
không
k có môn
m nào dưới
d 5.
1.6.
1 Xoá ttất cả nhữnng sinh viên chưa dự
d thi mônn nào.
Câu
C lệnh:

1.7.
1 Xóa những
n môn
n mà khônng có sinh viên học.

[40]
2.
2 Tạo Vieew

2 Danh sánh nhữnng sinh viêên thuộc khoa


2.1. k AV

- Thêm 1 sinh viêên mới vào


v câu V_CAU1
V và kiểm
m tra kết của tronng view và
trrong bảngg gốc
2.2.
2 Danh sách sinh viên khônng bị rớt môn
m nào
Câu
C lệnh:

2.3. v phạm vừa môn cơ sở dữ liệu


2 Danh sách sinh viên vừa học môn văn
2.4.
2 Trongg mỗi sinh m có điểểm thi lớn nhất. Thông tin gồồm: mã siinh
h viên chho biết môn
viên,
v họ têên sinh viêên, tên môn, điểm.
2.5.
2 Danhh sách nhữ
ững khoa có
c 2 sinh viên
v nữ trở
ở lên.
2.6.
2 Danhh sách sinhh viên:
- Khhông rớt lầần 1 hoặc
- Khhông học môn
m văn phạm
p

[41]
BUỔI 9: TRUY VẤN

* Sử dụng CSDL QLDUAN đã thực hành ở buổi 2 để thực hiện các


câu truy vấn sau:
1. Cho biết danh sách nhân viên của công ty.
2. Cho biết họ và tên của nhân viên trong công ty. (sử dụng +’ ‘+ để nối chuỗi)
3. Cho biết danh sách nhân viên thuộc phòng số 5.
4. Cho biết thông tin của những phòng ban không phải là phòng ‘Dieu hanh’.
5. Cho biết danh sách các nhân viên thuộc phòng ‘Dieu hanh’.
6. Cho biết mã nhân viên (MA_NVIEN) làm việc cho đề án số 3.
7. Cho biết mã số và tên các đề án triển khai ở Phú Nhuận.
8. Liệt kê các nhân viên có địa chỉ thuộc quận Phú Nhuận.
9. Cho biết họ tên các nhân viên nam có mức lương nhỏ hơn 30000.
10. Cho biết các nhân viên phòng 4 và có mức lương trên 30000.
11. Cho biết tổng số lượng nhân viên và lương trung bình của nhân viên.
12. Cho biết những nhân viên có địa chỉ ở TP.HCM.
13. Cho biết mã nhân viên và tiền thưởng tương ứng. Với tiền thưởng = 60% của lương.
14. Cho biết họ tên trưởng phòng của phòng ban ‘Nghien cuu’.
16. Cho biết mã nhân viên có người thân và tham gia đề án.
17. Danh sách các mã đề án có nhân viên họ ‘Nguyen’ tham gia.
18. Cho biết tên nhân viên sinh vào những năm 1950.
19. Liệt kê các nữ nhân viên thuộc phòng ‘Nghien cuu’
20. Cho biết MaNV, TenNV, Phong, NgSinh của những nhân viên Nam. Sắp xếp
theo phòng giảm dần và sau đó ngày sinh tăng dần.
21. Cho biết kết quả lương mới (được tăng lên 10%) của của các nhân viên tham gia đề
án “San pham X”
22. Cho biết họ tên những nhân viên có tuổi từ 40 trở lên.
23. Cho biết mã các nhân viên nữ có tham gia đề án số 1.
24. Cho biết tên nhân viên không có thân nhân nào.
25. Cho biết danh sách các nhân viên có mức lương từ 30000 đến 40000.
26. Cho biết tên hai nhân viên có cùng lương.
27. Cho biết tên nhân viên và số lượng các đề án mà nhân viên đó tham gia.
28. Cho biết họ tên các trưởng phòng.
29. Cho biết tên nhân viên và tên thân nhân có cùng ngày sinh với mình.

[42]
30. Cho biết họ tên, mức lương, phòng của các nhân viên thuộc phòng số 4 hoặc các nhân
viên có mức lương lớn hơn 35000.
31. Cho biết lương trung bình của nhân viên có đề án tham gia hơn 10 giờ.
32. Với mỗi phòng ban cho biết số lượng nhân viên và tổng lương tương ứng.
33. Cho biết các nhân viên có lương cao nhất.
34. Hãy cho biết nhân viên ‘Nguyen Bao Hung’ có bao nhiêu thân nhân.
35. Liệt kê các nhân viên chưa được phân công đề án nào.
36. Cho biết tên phòng, số lượng nhân viên và tổng lương của từng phòng.
37. Cho biết tên phòng, số lượng nhân viên và mức lương trung bình của từng phòng.
38. Cho biết tên phòng, mức lương trung bình của phòng đó >30000.
39. Cho biết mã nhân viên (MA_NVIEN) nào có nhiều thân nhân nhất.
40. Cho biết thông tin nhân viên nào có nhiều thân nhân nhất.
41. Danh sách những nhân viên (HONV, TENNV) không tham gia đề án nào cả
42. Liệt kê tên phòng ban và số lượng nhân viên trong các phòng ban có số lượng nhân
viên lớn hơn 3.
43. Tìm họ tên (HONV, HOLOT, TENNV) và địa chỉ (DIACHI) của những nhân viên
làm việc cho một đề án ở PHU NHUAN nhưng phòng ban mà họ trực thuộc không tọa
lạc tại TPHCM
44. Với mỗi phòng ban có hơn 3 nhân viên, cho biết mã phòng và số lượng nhân viên có
lương lớn hơn 30000.
45. Với mỗi nhân viên tham gia nhiều đề án, cho biết họ tên nhân viên và tổng số giờ
làm việc của từng nhân viên trong các đề án đó. Sắp xếp theo tên và họ tăng dần.
46. Tìm tên nhân viên và tên phòng ban mà nhân viên đó là trưởng phòng. Nếu nhân
viên không là trưởng phòng, thì chỉ cần ghi tên nhân viên và giá trị null kế bên.
47. Cho biết tên đề án và tổng thời gian của từng đề án.
48. Với những đề án tại Phú Nhuận cho biết MADA, MAPB chủ trì đề án.
49. Cho biết họ tên trưởng phòng cùng với ngày sinh và địa chỉ của người đó.
50. Tìm họ tên của nhân viên phòng số 5 có tham gia đề án "San pham X" với số giờ làm
việc > 10 giờ.
51. Tìm họ tên của từng nhân viên và người phụ trách trực tiếp của nhân viên đó.
52. Tìm họ tên của những nhân viên được Phan Van Nghia quản lý trực tiếp.
53. Với mỗi nhân viên cho biết mã số, họ tên, số lượng đề án và tổng thời gian mà họ
tham gia.
54. Tìm mã và tên các nhân viên làm việc tại phòng ‘Nghien cuu’.
55. Tìm họ tên các nhân viên và tên các đề án nhân viên tham gia nếu có.
56. Cho biết MaNV, TenNV các nhân viên tham gia tất cả các đề án.
57. Cho biết Mã nhân viên được phân công từ 2 đề án trở lên.
58. Cho biết Tên những nhân viên tham gia từ 2 đề án trở lên.
[43]
59. Tìm những phòng ban có lương trung bình cao nhất.
60. Tìm tên 3 nhân viên có lương cao nhất.
61. Danh sách những nhân viên và tên các đề án mà nhân viên đó tham gia (nếu có).
62. Cho biết tên phòng ban, họ tên trưởng phòng của phòng ban có đông nhân viên nhất.
63. Tìm các nhân viên (MANV, HONV, TENNV) tham gia vào tất cả các đề án do
phòng số 4 phụ trách.
64. Cho biết những phòng ban có lương trung bình của các nhân viên lớn hơn 20000.
65. Với mỗi dự án có nhiều hơn hai nhân viên tham gia, cho biết mã số, tên dự án và
tổng số nhân viên của dự án đó.

[44]

ÀI TẬ
ẬP 3

* Cơ sở dữ liệu
u Hàng Không
K
Cho
C lược đ
đồ CSDL quan
q hệ nh
hư sau:
CHUYEN
C NBAY(Ma
aCB, GaD
Di, GaDen
n, DoDai, GioDi, GioDen,
G ChiPhi)

M tả thôngg tin về chhuyến bay. Mỗi chuyếến bay có 1 mã số duuy nhất, đườ
ờng bay, giờ
g đến và giờ
g
đi.
đ Thông tin
t về đườnng bay đượ ợc mô tả bởi g đến, độ dài đường bay và chhi phí phải trả
b ga đi, ga
cho
c phi cônng
MAYBAY
M Y(MaMB,, Loai, TaamBay) mô
m tả thôngg tin về máyy bay. Mỗii máy bay có
c một mãã số
duy
d nhất, têên phân lo oại và tầm bay là kho
oảng cách xa nhất máy
m bay có thể bay mà
m không cần
c
tiiếp nhiên lliệu. Một máy
m bay chhỉ có thể thhực hiện cáác chuyến bay
b có độ dài đường bay nhỏ hơn
h
tầầm bay củaa máy bay đó
NHANVIE
N EN(MaNV
V, Ten, Luong)
L m tả thôngg tin về nhhân viên phi
mô p hành đoàn
đ gồm phi
p
công
c và tiếpp viên. Mỗ
ỗi nhân viênn có một mã
m số duy nnhất, tên vàà mức lươnng
CHUNGN
C NHAN(MaNV, MaaMB) mô tả thông tiin về khả năng
n điều khiển máyy bay của phi
p
công.
c Nếu nnhân viên là phi côngg thì nhân viên
v đó cóó chứng chỉỉ chứng nhhận có thể lái
l 1 loại máy
m
b nào đó. Một phi công
bay c chỉ cóó thể lái 1 chuyến baay nếu như đ được chhứng nhận có
ư phi công đó
khả
k năng láái loại máyy bay có thểể thực hiệnn chuyến baay đó.

M tả cácc thuộc tín
nh

[45]
Thể
T hiện
n CSDL

[46]
Yêu
Y cầu: Viết các câu lệnh tạo CSD
DL, tạo bảảng và thự
ực hiện cáác câu truuy vấn bằằng
SQL:
S
1. Choo biết các chuyến
c baay đi Đà Lạt
L (DAD)
2. Choo biết các loại
l máy bay b có tầm m bay lớn hơn
h 10000 0 km
3. Tìm m các nhân n viên có lưương nhỏ hơn 100000
4. Choo biết các chuyến
c baay xuất phát từ Sài Gòn
G (SGN N) đi Ban Mê
M Thuột (BMV)
5. Có bbao nhiêu chuyến bay xuất phhát từ Sài Gòn (SGN N)
6. Có bbao nhiêu loại máy bay Boeinng
7. Choo biết tổng g số lương phải trả cho
c các nhhân viên
8. Choo biết mã sốs của các phi công lái máy bay Boeingg
9. Choo biết các nhân
n viên có thể lái máy bay có mã số 747
s của các phi công vừa lái đư
10. Choo biết mã số ược Boeinng vừa lái được Airbbus
11. Choo biết các loại
l máy bay b có thể thực hiệnn chuyến bayb VN280
12. Choo biết các chuyến
c baay có thể được
đ thực hiện bởi máy
m bay Airbus
A A3220
c các phhi công lái máy bay Boeing
13. Choo biết tên của
14. Với mỗi ga có c chuyến bay xuất phát từ đó đ cho biếết tổng chhi phí phảii trả cho phi
p
côngg lái các chuyến
c bayy khởi hànnh từ ga đóó
15. Với mỗi địa điểm xuấtt phát choo biết có bao b nhiêu u chuyến bay
b có thhể khởi hàành
ớc 12:00
trướ
16. Choo biết mã số
s của các phi công chỉ lái đư ược 3 loại máy
m bay
17. Với mỗi phi công
c cho biết
b mã sốố phi côngg và tổng số s loại mááy bay mà phi công đó
có thhể lái
18. Choo biết mã số
s của các phi công có thể lái được nhiềều loại mááy bay nhấất
[47]
19. Tìm các nhân viên không phải là phi công
20. Cho biết mã số của các nhân viên có lương cao nhất
21. Cho biết tổng số lương phải trả cho các phi công
22. Tìm các chuyến bay có thể được thực hiện bởi tất cả các loại máy bay Boeing
23. Cho biết mã số của các máy bay có thể được sử dụng để thực hiện chuyến bay từ
Sài gòn (SGN) đến Huế (HUI)
24. Tìm các chuyến bay có thể được lái bởi các phi công có lương lớn hơn 100000
25. Cho biết mã số của các phi công có lương cao nhất
26. Cho biết tên và lương của các nhân viên không phải là phi công và có lương lớn
hơn lương trung bình của tất cả các phi công
27. Cho biết tên của các phi công có thể lái máy bay có tầm bay lớn hơn 4800 km
nhưng không có chứng nhận lái máy bay Boeing
28. Cho biết tên các phi công lái ít nhất 3 loại máy bay có tầm bay xa hơn 3200 km
29. Cho biết tên các loại máy bay mà tất cả các phi công có thể lái đều có lương lớn
hơn 200000
30. Cho biết thông tin của các đường bay mà tất cả các phi công có thể bay trên đường
bay đó nếu có lương lớn hơn 100000
31. Cho biết tên các phi công chỉ lái các loại máy bay có tầm bay xa hơn 3200km
32. Cho biết tên các phi công chỉ lái các loại máy bay có tầm bay xa hơn 3200km và
một trong số đó là Boeing
33. Tìm các phi công có thể lái tất cả các loại máy bay

------------------- HẾT -------------------

[48]

You might also like