Create Database Thực hành 1 - Công nghệ thông tin | Trường đại học Điện Lực

Create Database Thực hành 1 - Công nghệ thông tin | Trường đại học Điện Lực được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

CREATE DATABASE THUCHANH1
USE THUCHANH1
--KHOA (MAKHOA, TENKHOA)
CREATE TABLE KHOA
( MAKHOA CHAR( )10 PRIMARY KEY,
TENKHOA VARCHAR( )50
)
--LOP (MALOP, TENLOP, SISODK, MAKHOA)
CREATE TABLE LOP
( MALOP CHAR( )10 PRIMARY KEY,
TENLOP VARCHAR( ),50
SISODK INT ,
MAKHOA KHOACHAR( )10 FOREIGN KEY REFERENCES ( )MAKHOA
)
--SINHVIEN (MASV, HOTEN, NGSINH, DCHI, GIOITINH, MALOP
SINHVIENCREATE TABLE
( MASV CHAR( )10 PRIMARY KEY,
HOTEN NVARCHAR( ),50
NGSINH DATE,
DCHI NVARCHAR( ),50
GIOITINH VARCHAR( ),50
MALOP LOPCHAR( )10 FOREIGN KEY REFERENCES (MALOP)
)
--MONHOC (MAMH, TENMH, SOTIET)
CREATE TABLE MONHOC
( ( ) MAMH CHAR 10 PRIMARY KEY,
TENMH VARCHAR(50),
SOTIET INT
)
--KETQUA (MASV, MAMH, DIEM)
CREATE TABLE KETQUA
( ( MASV CHAR 10),
MAMH CHAR(10),
DIEM INT,
MAMHPRIMARY KEY(MASV, ),
SINHVIENFOREIGN KEY (MASV) REFERENCES ( ),MASV
MONHOCFOREIGN KEY (MAMH) REFERENCES (MAMH)
)
INSERT INTO KHOA
VALUES ('K01' 'CNTT', ),
('K02' 'DTVT', ),
('K03' 'KTQL', ),
('K04' 'TDH', )
INSERT INTO LOP
VALUES ('L01' 'D16CNPM6' 'K01', ,60, ),
('L02' 'D16CNPM2' 'K01', ,65, ),
('L03' 'D16DTVT1' 'K02', ,60, ),
('L04' 'D16DTVT2' 'K02', ,62, ),
('L05' 'D16KTQL1' 'K03', ,55, ),
('L06' 'D16KTQL2' 'K03', ,61, ),
('L07' 'D16TDH1' 'K04', ,66, ),
('L08' 'D16TDH2' 'K04', ,67, )
INSERT INTO SINHVIEN
VALUES ('SV01' '2003-07-08' 'NAM' 'L01','LE MANH HA', ,'HA NOI', , ),
( , , ,'SV02' 'NGUYEN MANH THU ' '2003-06-09' 'NU','PHU THO', 'L01'),
( , , ,'SV03' 'NGUYEN HONG NGOC' '2003-08-08','THANH HOA' 'NU' 'L02', ),
( , , ,'SV04' 'CHU TUYET LINH','2003-05-08' 'HA NOI','NU' 'L02'),
( , , ,'SV05' 'DINH THU HOAI','2003-10-12' 'YEN BAI' 'NU' 'L03', ),
( , , ,'SV06' 'LE LUU LUYEN ','2003-12-08' 'NGHE AN ' 'NU' 'L03', ),
( , , ,'SV07' 'NGUYEN THI HOA ' '2003-02-08' 'NU','BAC NINH', 'L04'),
( , , ,'SV08' 'LE LAN ANH','2003-07-08' 'THANH HOA','NU' 'L05')
INSERT INTO MONHOC
VALUES ('M01' 'HQTCSDL', ,45),
( ,'M02' 'TRIET', ),90
( , ,'M03' 'CSDL' 15),
( ,'M04' 'TOANROIRAC', )30
INSERT INTO KETQUA
VALUES ('SV01' 'M01', ,10),
( , ,'SV01' 'M02' 9),
( , ,'SV02' 'M03' 5),
( , ,'SV02' 'M04' 3),
( , ,'SV03' 'M02' 7),
( , ,'SV03' 'M04' 6),
( , ,'SV04' 'M01' 8),
( , ,'SV05' 'M04' 10)
--Cho bi?t tên nh?ng môn h?c có s? ti?t >=30 và <=90
SELECT TENMH
FROM MONHOC
WHERE SOTIET >= 30
AND <= SOTIET 90
--Cho bi?t h? tên nh?ng sinh viên có ten l?p ‘D16CNPM2’ có ?i?m thi trong kho?ng t? 6 ??n
8 diem
SELECT DISTINCT HOTEN
FROM SINHVIEN , KETQUA , LOP
WHERE SINHVIEN MALOP LOP. = .MALOP
AND KETQUA.MASV = SINHVIEN.MASV
AND TENLOP = 'D16CNPM2'
AND >= AND <= DIEM 6 DIEM 8
--Cho bi?t tên nh?ng môn h?c có s? ti?t <60 và do nh?ng sinh viên thu?c MA KHOA ‘K01 ’
theo h?c.
SELECT DISTINCT TENMH SOTIET,
FROM MONHOC KETQUA , , , SINHVIEN LOP
WHERE MONHOC. =MAMH KETQUA.MAMH
AND KETQUA.MASV = SINHVIEN.MASV
AND . = SINHVIEN MALOP LOP.MALOP
AND SOTIET < 60
AND MAKHOA = 'K01'
--Cho bi?t tên nh?ng sinh viên thu?c MA KHOA ‘K01’ h?c môn h?c có tên là ‘HEQTCSDL’ v?i
s? ?i?m <5.
SELECT SINHVIEN HOTEN DIEM. ,
FROM SINHVIEN , , MONHOC , KETQUA LOP
WHERE MONHOC. =MAMH KETQUA.MAMH
AND KETQUA.MASV = SINHVIEN.MASV
AND . = SINHVIEN MALOP LOP.MALOP
AND MAKHOA = 'K01'
AND TENMH = 'HQTCSDL'
AND < DIEM 5
--Li?t kê danh sách tên khoa và so luong lop trong tung khoa
SELECT AS TENKHOA , COUNT(LOP.MAKHOA) SOLUONGLOP
FROM LOP , KHOA
WHERE KHOA MAKHOA . = LOP.MAKHOA
GROUP BY TENKHOA
--Cho bi?t h? tên nh?ng sinh viên nào h?c trên 3 môn h?c.
SELECT HOTEN
FROM SINHVIEN , KETQUA
WHERE SINHVIEN MASV KETQUA. = .MASV
GROUP BY HOTEN
HAVING COUNT(MAMH) > 3
--Cho bi t tên nh ng l p có sĩ s th c ít nh t 3 h c sinh.ế
SELECT AS LOP. (TENLOP , COUNT MASV) SISOLOP
FROM LOP , SINHVIEN
WHERE LOP. = .MALOP SINHVIEN MALOP
GROUP BY TENLOP
HAVING COUNT( >=MASV) 3
| 1/3

Preview text:

CREATE DATABASE THUCHANH1 USE THUCHANH1 --KHOA (MAKHOA, TENKHOA) CREATE TABLE KHOA ( MAKHOA CHAR(10) PRIMARY KEY, TENKHOA VARCHAR(50) )
--LOP (MALOP, TENLOP, SISODK, MAKHOA) CREATE TABLE LOP ( MALOP CHAR(10) PRIMARY KEY, TENLOP VARCHAR(50), SISODK INT ,
MAKHOA CHAR(10) FOREIGN KEY REFERENCES KHOA(MAKHOA) )
--SINHVIEN (MASV, HOTEN, NGSINH, DCHI, GIOITINH, MALOP CREATE TABLE SINHVIEN ( MASV CHAR(10) PRIMARY KEY, HOTEN NVARCHAR(50), NGSINH DATE, DCHI NVARCHAR(50), GIOITINH VARCHAR(50),
MALOP CHAR(10) FOREIGN KEY REFERENCES LOP(MALOP) ) --MONHOC (MAMH, TENMH, SOTIET) CREATE TABLE MONHOC ( MAMH CHAR(10) PRIMARY KEY, TENMH VARCHAR(50), SOTIET INT ) --KETQUA (MASV, MAMH, DIEM) CREATE TABLE KETQUA ( MASV CHAR(10), MAMH CHAR(10), DIEM INT, PRIMARY KEY(MASV, MAMH),
FOREIGN KEY (MASV) REFERENCES SINHVIEN(MASV),
FOREIGN KEY (MAMH) REFERENCES MONHOC(MAMH) ) INSERT INTO KHOA VALUES ('K01','CNTT'), ('K02','DTVT'), ('K03','KTQL'), ('K04','TDH') INSERT INTO LOP
VALUES ('L01','D16CNPM6',60,'K01'), ('L02','D16CNPM2',65,'K01'), ('L03','D16DTVT1',60,'K02'), ('L04','D16DTVT2',62,'K02'), ('L05','D16KTQL1',55,'K03'), ('L06','D16KTQL2',61,'K03'), ('L07','D16TDH1',66,'K04'), ('L08','D16TDH2',67,'K04') INSERT INTO SINHVIEN
VALUES ('SV01','LE MANH HA','2003-07-08','HA NOI','NAM','L01'),
('SV02','NGUYEN MANH THU ','2003-06-09','PHU THO','NU','L01'),
('SV03','NGUYEN HONG NGOC','2003-08-08','THANH HOA','NU','L02'),
('SV04','CHU TUYET LINH','2003-05-08','HA NOI','NU','L02'),
('SV05','DINH THU HOAI','2003-10-12','YEN BAI','NU','L03'),
('SV06','LE LUU LUYEN ','2003-12-08','NGHE AN ','NU','L03'),
('SV07','NGUYEN THI HOA ','2003-02-08','BAC NINH','NU','L04'),
('SV08','LE LAN ANH','2003-07-08','THANH HOA','NU','L05') INSERT INTO MONHOC VALUES ('M01','HQTCSDL',45), ('M02','TRIET',90), ('M03','CSDL',15), ('M04','TOANROIRAC',30) INSERT INTO KETQUA VALUES ('SV01','M01',10), ('SV01','M02',9), ('SV02','M03',5), ('SV02','M04',3), ('SV03','M02',7), ('SV03','M04',6), ('SV04','M01',8), ('SV05','M04',10)
--Cho bi?t tên nh?ng môn h?c có s? ti?t >=30 và <=90 SELECT TENMH FROM MONHOC WHERE SOTIET >= 30 AND SOTIET <= 90
--Cho bi?t h? tên nh?ng sinh viên có ten l?p ‘D16CNPM2’ có ?i?m thi trong kho?ng t? 6 ??n 8 diem SELECT DISTINCT HOTEN FROM SINHVIEN , KETQUA , LOP
WHERE SINHVIEN.MALOP = LOP.MALOP
AND KETQUA.MASV = SINHVIEN.MASV AND TENLOP = 'D16CNPM2'
AND DIEM >= 6 AND DIEM <= 8
--Cho bi?t tên nh?ng môn h?c có s? ti?t <60 và do nh?ng sinh viên thu?c MA KHOA ‘K01 ’ theo h?c. SELECT DISTINCT TENMH , SOTIET
FROM MONHOC , KETQUA , SINHVIEN , LOP
WHERE MONHOC.MAMH = KETQUA.MAMH
AND KETQUA.MASV = SINHVIEN.MASV AND SINHVIEN.MALOP = LOP.MALOP AND SOTIET < 60 AND MAKHOA = 'K01'
--Cho bi?t tên nh?ng sinh viên thu?c MA KHOA ‘K01’ h?c môn h?c có tên là ‘HEQTCSDL’ v?i s? ?i?m <5. SELECT SINHVIEN.HOTEN , DIEM FROM SINHVIEN , MONHOC , , KETQUA LOP
WHERE MONHOC.MAMH = KETQUA.MAMH
AND KETQUA.MASV = SINHVIEN.MASV AND SINHVIEN.MALOP = LOP.MALOP AND MAKHOA = 'K01' AND TENMH = 'HQTCSDL' AND DIEM < 5
--Li?t kê danh sách tên khoa và so luong lop trong tung khoa
SELECT TENKHOA , COUNT(LOP.MAKHOA) AS SOLUONGLOP FROM LOP , KHOA WHERE KHOA.MAKHOA = LOP.MAKHOA GROUP BY TENKHOA
--Cho bi?t h? tên nh?ng sinh viên nào h?c trên 3 môn h?c. SELECT HOTEN FROM SINHVIEN , KETQUA
WHERE SINHVIEN.MASV = KETQUA.MASV GROUP BY HOTEN HAVING COUNT(MAMH) > 3
--Cho biế t tên nhữ ng lớ p có sĩ số thự c ít nhấ t 3 họ c sinh.
SELECT LOP.TENLOP , COUNT(MASV) AS SISOLOP FROM LOP , SINHVIEN
WHERE LOP.MALOP = SINHVIEN.MALOP GROUP BY TENLOP HAVING COUNT(MASV) >= 3