Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

-- HỌ VÀ TÊN : Nguyễn Tuấn Anh

-- MSSV: 2011062839
-- LỚP : 20DTHC4
create database QUANLYBONGDA
go
use QUANLYBONGDA
go
create table doi
(
madoi char(3) unique ,
TENdoi nvarchar(50) not null,
primary key(madoi),
)
create table trandau
(
matd char(2) primary key not null,
masan char(3) not null,
ngay date not null,
gio time not null,
)
create table ct_trandau
(
matd char(2) not null ,
madoi char(3) not null,
sobanthang tinyint not null check (sobanthang >=0),
primary key(matd,madoi),
foreign key(matd) references trandau(matd)
on update cascade
on delete no action,
foreign key(madoi) references doi(madoi)
on update cascade
on delete no action
)

-- Mã số sinh viên : 2011064914


-- Họ và tên : Đỗ Tấn Lộc
-- Lớp : 20DTHC4

create database QLBONGDA


on primary
(
size = 100
,filegrowth = 10
,maxsize = 2GB
,filename = 'C:\DB\QLBONGDA.MDF'
,name = QLBONGDA
)

log on
(
size = 200
,filegrowth = 20
,maxsize = unlimited
,filename = 'C:\DB\QLBONGDA.LDF'
,name = QLBONGDA_Log
)

USE QLBONGDA
create table Doi
(
MaDoi char(3) primary key not null,
TenDoi nvarchar(50) not null,
)

create table TranDau


(
MaTD char(2) primary key not null,
MaSan char(3) ,
Ngay date,
Gio time,
)

create table CT_TranDau


(
MaTD char(2),
MaDoi char(3),
SoBanThang tinyint,
check (SoBanThang >= 0),
primary key (MaTD,MaDoi),
foreign key(MaTD) references TranDau(MaTD)
on update cascade
on delete no action,

foreign key(MaDoi) references Doi(MaDoi)


on update cascade
on delete no action,
)

insert into doi values('VN',N'Việt Nam'),


('LA',N'Lào'),
('TL',N'Thái Lan'),
('CPC',N'Campuchia')

insert into trandau values(01,'MOD','14/08/2017','15:00'),


(02,'NAS','16/08/2017','17:00'),
(03,'MOD','16/08/2017','15:00'),
(04,'IMO','18/08/2017','19:00')

insert into ct_trandau values (01,'VN',3),


(01,'TL',1),
(02,'VN',5),
(02,'LA',0),
(03,'TL',3),
(03,'CPC',3),
(04,'TL',2),
(04,'LA',0)

-- Mã số sinh viên : 2011064914


-- Họ và tên : Đỗ Tấn Lộc
-- Lớp : 20DTHC4

create database QLBONGDA


on primary
(
size = 100
,filegrowth = 10
,maxsize = 2GB
,filename = 'C:\DB\QLBONGDA.MDF'
,name = QLBONGDA
)

log on
(
size = 200
,filegrowth = 20
,maxsize = unlimited
,filename = 'C:\DB\QLBONGDA.LDF'
,name = QLBONGDA_Log
)

USE QLBONGDA

create table Doi


(
MaDoi char(3) unique not null,
primary key(MaDoi),
TenDoi nvarchar(50) not null,
)

create table TranDau


(
MaTD char(2) primary key not null,
MaSan char(3) ,
Ngay date,
Gio time,
)

create table CT_TranDau


(
MaTD char(2),
MaDoi char(3),
SoBanThang tinyint,
check (SoBanThang >= 0),
primary key (MaTD,MaDoi),
foreign key(MaTD) references TranDau(MaTD)
on update cascade
on delete no action,

foreign key(MaDoi) references Doi(MaDoi)


on update cascade
on delete no action,
)

set dateformat dmy

insert into TranDau values (01,'MOD','14/08/2017','15:00')


insert into TranDau values (02,'NAS','16/08/2017','17:00')
insert into TranDau values (03,'MOD','16/08/2017','15:00')
insert into TranDau values (04,'IMO','18/08/2017','19:00')

select * from TranDau

insert into Doi values ('VN',N'Việt Nam')


insert into Doi values ('LA',N'Lào')
insert into Doi values ('TL',N'Thái Lan')
insert into Doi values ('CPC',N'Campuchia')

select * from Doi

insert into CT_TranDau values (01,'VN',3)


insert into CT_TranDau values (01,'TL',1)
insert into CT_TranDau values (02,'VN',5)
insert into CT_TranDau values (02,'LA',0)
insert into CT_TranDau values (03,'TL',3)
insert into CT_TranDau values (03,'CPC',3)
insert into CT_TranDau values (04,'TL',2)
insert into CT_TranDau values (04,'LA',0)

select * from CT_TranDau

select * from Doi


select * from TranDau
select * from CT_TranDau

SELECT a.matd,a.madoi,diem=case
when a.sobanthang>b.sobanthang then 3
when a.sobanthang=b.sobanthang then 1
else 0 end
from ct_trandau a,ct_trandau b
where a.matd=b.matd and a.madoi!=b.madoi

......................................................

-- Mã số sinh viên : 2011064914


-- Họ và tên : Đỗ Tấn Lộc
-- Lớp : 20DTHC4

create database QLBONGDA


on primary
(
size = 100
,filegrowth = 10
,maxsize = 2GB
,filename = 'C:\DB\QLBONGDA.MDF'
,name = QLBONGDA
)

log on
(
size = 200
,filegrowth = 20
,maxsize = unlimited
,filename = 'C:\DB\QLBONGDA.LDF'
,name = QLBONGDA_Log
)

USE QLBONGDA

create table Doi


(
MaDoi char(3) unique not null,
primary key(MaDoi),
TenDoi nvarchar(50) not null,
)

create table TranDau


(
MaTD char(2) primary key not null,
MaSan char(3) ,
Ngay date,
Gio time,
)

create table CT_TranDau


(
MaTD char(2),
MaDoi char(3),
SoBanThang tinyint,
check (SoBanThang >= 0),
primary key (MaTD,MaDoi),
foreign key(MaTD) references TranDau(MaTD)
on update cascade
on delete no action,

foreign key(MaDoi) references Doi(MaDoi)


on update cascade
on delete no action,
)

set dateformat dmy

insert into TranDau values (01,'MOD','14/08/2017','15:00')


insert into TranDau values (02,'NAS','16/08/2017','17:00')
insert into TranDau values (03,'MOD','16/08/2017','15:00')
insert into TranDau values (04,'IMO','18/08/2017','19:00')

select * from TranDau

insert into Doi values ('VN',N'Việt Nam')


insert into Doi values ('LA',N'Lào')
insert into Doi values ('TL',N'Thái Lan')
insert into Doi values ('CPC',N'Campuchia')

select * from Doi

insert into CT_TranDau values (01,'VN',3)


insert into CT_TranDau values (01,'TL',1)
insert into CT_TranDau values (02,'VN',5)
insert into CT_TranDau values (02,'LA',0)
insert into CT_TranDau values (03,'TL',3)
insert into CT_TranDau values (03,'CPC',3)
insert into CT_TranDau values (04,'TL',2)
insert into CT_TranDau values (04,'LA',0)

select * from CT_TranDau

select * from Doi


select * from TranDau
select * from CT_TranDau

--/Cau 1
select Doi.MaDoi, TenDoi, count(MaTD) as 'Số Trận Đấu'
from Doi,CT_TranDau
where Doi.MaDoi = CT_TranDau.MaDoi
group by Doi.MaDoi,TenDoi

--/Cau 2
select A.MaTD as 'Ma Tran', concat(A.MaDoi,'-', B.MaDoi) as 'Đội Trận Đấu',
concat(A.SoBanThang,'-',B.SoBanThang) as 'Tỷ Số'
from CT_TranDau A, CT_TranDau B
where A.MaTD = B.MaTD and A.MaDoi > B.MaDoi

--/Cau 3
select A.MaTD,A.MaDoi,Diem=case
when A.SoBanThang > B.SoBanThang then 3
when A.SoBanThang = B.SoBanThang then 1
else 0 end
from CT_TranDau A,CT_TranDau B
where A.MaTD = B.MaTD and A.MaDoi != B.MaDoi

--/Cau 6
select concat(A.MaDoi,'-', B.MaDoi) as 'Trận chưa đá'
from CT_TranDau A, CT_TranDau B, Doi, TranDau
where A.MaDoi > B.MaDoi
except
select concat(A.MaDoi,'-', B.MaDoi) as 'Trận chưa đá'
from CT_TranDau A, CT_TranDau B, Doi, TranDau
where A.MaDoi > B.MaDoi and A.MaTD = B.MaTD

You might also like