HỌ TÊN
: ĐẶNG NGỌC DUYÊN ANH
MSSV
: 1760258
===================o0o===================
BÀI GIẢI
CREATE TABLE SinhVien (
MaSV
CHAR(7) NOT NULL UNIQUE,
HoTen
NVARCHAR(30) NOT NULL,
NgaySinh
DATETIME NOT NULL,
CMND
CHAR(9) NOT NULL,
DiemTB
FLOAT DEFAULT 0,
PRIMARY KEY (MaSV)
)
CREATE TABLE BoMon (
MaBM
INT NOT NULL IDENTITY(1,2) UNIQUE,
MaCBQuanLy
INT NOT NULL,
PRIMARY KEY (MaBM)
)
CREATE TABLE CanBo (
MaCB
INT NOT NULL IDENTITY(1,2) UNIQUE,
HoTen
NVARCHAR(30) NOT NULL,
NgaySinh
DATETIME NOT NULL,
DienThoai
CHAR(10) NOT NULL,
MaBM
INT NOT NULL,
PRIMARY KEY (MaCB)
)
CREATE TABLE MonHoc (
MaMH
CHAR(5) NOT NULL UNIQUE,
TenMH
NVARCHAR(30) NOT NULL,
MaCBPhuTrach INT NOT NULL,
PRIMARY KEY (MaMH)
)
CREATE TABLE DangKy (
)
MaSV
CHAR(7) NOT NULL,
MaMH
CHAR(5) NOT NULL,
NgayDangKy
DATETIME DEFAULT GETDATE(),
PRIMARY KEY (MaSV, MaMH)
BÀI GIẢI
CREATE SCHEMA GiaoVien AUTHORIZATION GiaoVien;
CREATE SCHEMA SinhVien AUTHORIZATION SinhVien;
CREATE SCHEMA HeThong;
BÀI GIẢI
ALTER SCHEMA SinhVien TRANSFER dbo.SinhVien;
ALTER SCHEMA GiaoVien TRANSFER dbo.GiaoVien;
BÀI GIẢI
CREATE TABLE SinhVien (
MaSV
CHAR(7) NOT NULL UNIQUE,
HoTen
NVARCHAR(30) NOT NULL,
NgaySinh
DATETIME NOT NULL,
CMND
CHAR(9) NOT NULL,
DiemTB
FLOAT DEFAULT 0,
CONSTRAINT PK_SV PRIMARY KEY (MaSV),
CONSTRAINT U_CMND UNIQUE (CMND),
CONSTRAINT CHK_DiemTB CHECK (DiemTB >= 0 AND DiemTB <= 10)
)
CREATE TABLE BoMon (
MaBM
INT NOT NULL IDENTITY(1,2) UNIQUE,
MaCBQuanLy
INT,
CONSTRAINT PK_BM PRIMARY KEY (MaBM)
)
CREATE TABLE CanBo (
MaCB
INT NOT NULL IDENTITY(1,2) UNIQUE,
HoTen
NVARCHAR(30) NOT NULL,
NgaySinh
DATETIME NOT NULL,
DienThoai
CHAR(10) NOT NULL,
MaBM
INT,
CONSTRAINT PK_CB PRIMARY KEY (MaCB),
CONSTRAINT U_CanBo UNIQUE (DienThoai),
CONSTRAINT FK_BoMon_CanBo FOREIGN KEY (MaBM) REFERENCES BoMon(MaBM)
)
CREATE TABLE MonHoc (
MaMH
CHAR(5) NOT NULL UNIQUE,
TenMH
NVARCHAR(30) NOT NULL,
MaCBPhuTrach INT,
CONSTRAINT PK_MH PRIMARY KEY (MaMH),
CONSTRAINT FK_CanBo_MonHoc FOREIGN KEY (MaCBPhuTrach) REFERENCES CanBo(MaCB)
)
CREATE TABLE DangKy (
MaSV
CHAR(7) NOT NULL,
MaMH
CHAR(5) NOT NULL,
NgayDangKy
DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_DK PRIMARY KEY (MaSV, MaMH)
)
ALTER TABLE BoMon
ADD CONSTRAINT FK_CanBo_BoMon
FOREIGN KEY (MaCBQuanLy) REFERENCES CanBo(MaCB)
BÀI GIẢI
INSERT INTO CanBo(MaCB, HoTen, NgaySinh, DienThoai)
VALUES
( 'CB001', N'Nguyễn Thái Bình', '1/1/1990', '0905743576'),
( 'CB001', N'Nguyễn Thái Bình','1/1/1000', '0905743576'),
( 'CB002', N'Nguyễn Thái Bình','1/1/1990', '0905743576')
INSERT CanBo (MaCB, HoTen, NgaySinh, DienThoai)
SELECT MaCB, HoTen, NgaySinh, DienThoai
FROM GIAO_VIEN
WHERE NgaySinh IS NOT NULL
BÀI GIẢI
Thứ tự nhập liệu vào các quan hệ cho BT04:
SinhVien => (BoMon hoặc CanBo) => MonHoc => DangKy