Cho CSDL với các bảng như sau:
SINHVIEN (MaSV, HoSV, TenSV, Ngaysinh, Gioitinh, MaKhoa)
KHOA (MaKhoa, TenKhoa)
MONHOC (MaMH, TenMH, Sotiet)
KETQUA(MaSV, MaMH, LanThi, Diem)
Tạo CSDL
-Tạo CSDL QLSV với các bảng SINHVIEN, KHOA, MONHOC, KETQUA (tự chọn kiểu dữ liệu và cho phép chứa Null hay không cho hợp lý).
- Tạo các ràng buộc khóa chính, khóa ngoại cho các bảng.
Sử dụng CSDL trên để thực hiện các truy vấn sau:
Hiển thị các thông tin trong bảng SINHVIEN
Liệt kê các môn học có số tiết ít hơn 60 tiết và có mã môn học bắt đầu bằng chữ ’T’
Tìm sinh viên đạt điểm cao nhất môn học T46
Xóa môn học chưa có sinh viên nào học
Cập nhật lại số tiết của môn học T40 là 60 tiết
Viết hàm để tính số lượng sinh viên của một khoa với mã khoa cho trước
Xây dựng thủ tục lưu trữ để liệt kê các sinh viên thi trượt môn T46 lần thứ nhất mà chưa thi lại lần thứ hai
EM CHI LM DUOC DEN DAY< MONG CAC BAC CHI GIUP
use master
go
if exists (select * from master..sysdatabases
where name='bt'
)
drop database bt
go
CREATE DATABASE bt
go
use bt
--tao bang sinh vien--
create table sinhvien
(
masv char(10) not null
constraint pk_sinhvien primary key,
hosv varchar(30) not null,
tensv varchar(10) not null,
ngaysinh datetime null,
gioitinh bit null,
)
--tao bang khoa--
create table Khoa
(
makhoa char(10) not null
constraint pk_khoa primary key,
tenkhoa varchar(50) not null,
)
--monhoc--
create table monhoc
(
MaMH char(20) not null
constraint pk_MaMH primary key,
TenMH varchar(20) not null,
Sotiet smallint not null,
)
--ketqua--
create table ketqua
(
MaSV char(10) not null,
MaMH char(20) not null,
Lanthi smallint not null,
Diem numeric(10,1) null,
constraint pk_KetQua PRIMARY KEY (MaSV,MaMH,Lanthi),
)
Bookmarks