使用SQL语言新建以自己名字命名的数据库,分别用SQL语言定义三个基本表Students_***、Courses_***、Reports_***(***为自己名字首字母缩写,例如张三建立Students_ZS)。并分别在四个所建表格插入相应数据。
USE master
GO
CREATE DATABASE xxx_Mis
ON
(NAME = xxx_Data,
FILENAME = 'C:\SQL\xxx_Mis_data.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5)
LOG ON
(NAME = 'xxx_Log',
FILENAME = 'C:\SQL\xxx_Mis_lig.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB)
GO
CREATE TABLE Depts
(Dno CHAR(5) PRIMARY KEY,
Dname CHAR(20) NOT NULL)
CREATE TABLE Students_xxx
(Sno CHAR(5) PRIMARY KEY, /* Sno主键,自然不能为空值 */
Sname CHAR(20) NOT NULL, /* Sname不能为空值 */
Ssex CHAR(2),
Birthday DATE,
Dno CHAR(5),
CONSTRAINT FK_Dno FOREIGN KEY(Dno) REFERENCES Depts
/* 定义外键约束 */)
CREATE TABLE Courses_xxx
(Cno CHAR(6) PRIMARY KEY,
Cname CHAR(20),
Pre_Cno CHAR(6),
Credits INT)
CREATE TABLE Reports_xxx
(Sno CHar(5),
Cno CHAR(6),
Grade INT CHECK(Grade>=0 AND Grade <=100),
PRIMARY KEY(Sno,Cno),
CONSTRAINT Student_Report FOREIGN KEY (Sno) REFERENCES Students_xxx,
CONSTRAINT Report_Courses FOREIGN KEY (Cno) REFERENCES Courses_xxx)
DELETE
FROM Depts /* 删除Depts内所有内容(执行出错提示表内内容重复时使用)*/
INSERT
INTO Depts
VALUES('D01','自动化'),
('D02','计算机'),
('D03','数学'),
('D04','通信'),
('D05','电子') *
SELECT *
FROM Depts /* 显示表格所有内容*/
DELETE
FROM Students_xxx
INSERT
INTO Students_xxx
VALUES('S01','王建平','男','1995-10-12','D01'),
('S02','刘华','女','1997-08-21','D01'),
('S03','范林军','女','1998-02-11','D02'),
('S04','李伟','男','1996-12-22','D03'),
('S05','黄河','男','1999-10-31','D03'),
('S06','长江','男','1994-04-08','D03')
SELECT *
FROM Students_xxx
DELETE
FROM Courses_xxx /* 删除Courses_xxx内所有内容*/
INSERT
INTO Courses_xxx
VALUES('C01','英语','','4'),
('C02','数据结构','C05','2'),
('C03','数据库','C02','2'),
('C04','DB_设计','C03','3'),
('C05','C++','','3'),
('C06','网络','C07','3'),
('C07','操作系统','C05','3')
SELECT *
FROM Courses_xxx
INSERT
INTO Reports_xxx
VALUES('S01','C01','92'),
('S01','C03','84'),
('S02','C01','90'),
('S02','C02','94'),
('S02','C03','82'),
('S03','C01','72'),
('S03','C02','90'),
('S04','C03','75')
SELECT *
FROM Reports_xxx /* 显示表格内容*/