实验内容:
- 建立一个学校的学生成绩管理数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长方式按10%增长,日志文件初始大小为2MB,最大大小不受限制,按1MB增长。
- 使用SQL语句在该库创建3张表,分别为学生情况表(编号、专业、学号、姓名、性别、出生日期、年龄、备注),其中主键为学号,编号为identity类型,性别要求只能输入“男”或“女”,默认为男,年龄在18-25岁之间。学生课程表(课程号、课程名、开课学期、学时、学分),主键为课程号,学时取值范围为1-100,学分默认为4,学生成绩表(学号、课程号、成绩、学分),学生成绩表的主键为(学号、课程号),外键为学号、课程号,学分要求保留小数点1位,主表中删除引用的主属性,基本表中学号对应行随之删除,课程号对应行不得删除。
- 使用窗口方式创建2所要求建立的表(表名另起名字)。
- 对2创建的表每个表至少插入三行数据,数据根据本校具体情况设定。
- 分离学生成绩管理数据库库,然后把学生成绩管理数据库移到其它文件夹,再附加数据库
源代码:
- 学生情况表Q:
CREATE DATABASE STUDENT CREATE TABLE Q( BH INT NOT NULL, SD CHAR(20) NOT NULL, S# CHAR(12) NOT NULL UNIQUE, SN CHAR(20) NOT NULL, SE CHAR(2) DEFAULT'男', BIR DATE NOT NULL, SA SMALLINT, BZ CHAR(50), PRIMARY KEY(S#), CHECK(SA BETWEEN 18 AND 25));
- 学生课程表K:
USE STUDENT CREATE TABLE K( KCH CHAR(4) PRIMARY KEY, KCM CHAR(10) NOT NULL, XQ DATETIME, XS SMALLINT, XF SMALLINT DEFAULT 4, CHECK (XS BETWEEN 1 AND 100));
- 学生成绩表C:
USE STUDENT CREATE TABLE C( S# CHAR(12) NOT NULL, KCH CHAR(4) , CJ CHAR(10), XF DECIMAL(2,1), PRIMARY KEY(S#,KCH), FOREIGN KEY(S#)REFERENCES Q(S#) ON DELETE CASCADE, FOREIGN KEY(KCH)REFERENCES K(KCH) ON DELETE NO ACTION);