You are on page 1of 6

Đề 1 :

Cho lược đồ quan hệ sau:

CHUYENBAY(MaCB, NoiXP,NoiDEN,GioXP,GioDen)
PHICO(MaPhiCo, TenPhiCo, KCBay)
PHICONG(MaPhiCong, TenPhiCong, Luong)
CHUNGNHAN(MaPhiCong, MaPhiCo)

MaCB char(5) Mã chuyến bay


NoiXP char(15) Nơi xuất phát
NoiDEN char(15) Nơi đến
GioXP Smalldatetime Giờ xuất phát
GioDen Smalldatetime Giờ đến
MaPhiCo char(5) Mã phi cơ
TenPhiCo char(25) Tên phi cơ
KCBay Int Khoảng cách bay tối đa
MaPhiCong char(5) Mã phi công
TenPhiCong char(25) Tên phi công
Luong Int Lương phi công
MaPhiCong char(5) Mã phi công
MaPhiCo char(5) Mã phi cơ

Dùng SQL Server thực hiện các công việc sau:

1. Viết các câu lệnh SQL tạo các quan hệ trên với các kiểu dữ liệu mô tả trong bảng sau
(tạo các ràng buộc khóa chính, khóa ngoại tương ứng): (3 đ)

2. Hiện thực các ràng buộc toàn vẹn sau:


2.1. Giờ xuất phát phải trước giờ đến. (0.75 đ)
2.2. Nơi xuất phát phải khác nơi đến. (0.75 đ)
2.3. Tất cả các phi cơ phải có phi công có khả năng lái. (1 đ)
3. Viết các câu lệnh SQL thực hiện các câu truy vấn sau:
3.1 Tìm mã các phi công lái được ’máy bay Boeing' (TenPhiCo). (1.5 đ)
3.1. Tìm mã, tên (các) phi công có mức lương cao nhất. (1.5 đ)
3.2. Tìm những phi công (MaPhiCong, TenPhiCong) có khả năng lái tất cả các loại phi
cơ. (1.5 đ)

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Create DataBase MayBaybaGia

Create Table ChuyenBay

MaCB char(5) primary key,

NoiXP char(15),

NoiDen char(15),

GioXP smalldatetime,

GioDen smalldatetime,

Create Table PhiCo

MaPhiCo char(5) primary key,

TenPhiCo char(25),

KCBay int

Create Table PhiCong

MaphiCong char(5) primary key,

TenPhicong char(25),

Luong int

Create Table ChungNhan

CuuDuongThanCong.com https://fb.com/tailieudientucntt
(

MaPhiCong char(5),

MaPhiCo char(5)

Alter Table ChungNhan Add Constraint FK_CNPC Foreign key (MaPhiCong) Re


ferences PhiCong(MaPhiCong)

Alter Table ChungNhan Add Constraint FK_CNMB Foreign Key (MaPhiCo) Refe
rences Phico(MaPhiCo)

--Cau 1

Alter Table ChuyenBay Add Constraint Ck_GB Check

GioXP < GioDen

--Cau 2

Alter Table ChuyenBay Add Constraint Ck_DD Check

NoiXP <> NoiDen

--Cau 3

/*

/////// Insert Delete Update

ChungNhan - + +

PhiCo + - +

*/

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Create Trigger Trg_CN on ChungNhan

For Delete,Update

As

Declare @EPhiCo char(5)

------------------------

Select @EPhiCo = MaPhiCo

From PhiCo

Where MaPhiCo not In

Select Distinct MaPhiCo From ChungNhan

------------------------

if @EPhiCo <> ''

begin

print @EPhiCo + ' Khong co phi cong lai'

end

Create Trigger Trg_PC on PhiCo

For Insert,Update

As

Declare @EPhiCo char(5)

------------------------

Select @EPhiCo = MaPhiCo

From PhiCo

Where MaPhiCo not In

Select Distinct MaPhiCo From ChungNhan

CuuDuongThanCong.com https://fb.com/tailieudientucntt
------------------------

if @EPhiCo <> ''

begin

print @EPhiCo + ' Khong co phi cong lai'

end

----------------------------

Insert Into PhiCo Values ('00001','Boing 777',5000)

Insert Into PhiCo Values ('00002','ConCord',5000)

Insert Into PhiCo Values ('00003','May Bay Giay',5000)

Insert Into PhiCo Values ('00004','May Bay Boeing',5000)

Insert Into PhiCong Values ('00001','Truong Q An',7000000)

Insert Into PhiCong Values ('00002','Truong Q Bn',7000000)

Insert Into PhiCong Values ('00003','Truong Q Cn',7000000)

Insert Into PhiCong Values ('00005','Truong Q Tn',9000000)

Insert Into ChungNhan Values ('00001','00003')

Insert Into ChungNhan Values ('00002','00001')

Insert Into ChungNhan Values ('00003','00002')

Insert Into ChungNhan Values ('00003','00004')

Insert Into ChungNhan Values ('00001','00001')

Insert Into ChungNhan Values ('00001','00002')

Insert Into ChungNhan Values ('00001','00004')

--------------------------

--Cau 1

Select Distinct MaphiCong

CuuDuongThanCong.com https://fb.com/tailieudientucntt
From ChungNhan inner join PhiCo on ChungNhan.MaPhico = PhiCo.MaPhiCo

Where TenPhiCo = 'May Bay Boeing'

--Cau 2

Select MaPhicong , TenPhiCong , Luong

From Phicong

Where

Luong =

Select Max(Luong)

From PhiCong

--Cau 3

Select Distinct PC.Maphicong, PC.TenPhiCong

From PhiCong As PC inner join ChungNhan on PC.MaPhiCong = ChungNhan.MaP


hicong

where Not Exists

Select * From Phico

Where MaPhiCo not in

Select MaPhiCo From ChungNhan

Where Pc.MaPhicong = ChungNhan.Maphicong

CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like