实验一 数据定义和完整性(带答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据定义和数据库的完整性(4学时)

实验目的:

1、掌握SQL的数据定义功能

2、掌握SQL语言对数据库完整性的支持。

实验内容:

1、建立一个数据库XSCJ,自行规定数据文件和日志文件各项参数。

2、参照课本79页建立Course表,并录入数据库表中相应元组。

3、修改Course表增加一列,开课学期,数据类型自行定义。

4、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。

5、删除唯一索引Cname_idx。

6、删除基本表Student。

7、删除数据库XSCJ

8、创建创建一个名为BSXT的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

AR9、将以上BSXT据库的主数据文件的最大大小改为不限制。

10、。在BSXT系统中建立表1至表3共张表,要求采用T-SQL提供的六种约束创建三张表的实体完整性、参照完整性和用户定义的完整性定义

表1 学生表(student)

表2 教师表(Teacher)

表3 毕业设计题目信息表

/*

--建立一个数据库XSCJ,自行规定数据文件和日志文件各项参数

--参照课本79页建立Course表,并录入数据库表中相应元组

CREATE TABLE Course

(Cno CHAR(1) PRIMARY KEY,

Cname CHAR(10),

Cpno CHAR(1),

Ccredit CHAR(1),

FOREIGN KEY(Cpno) REFERENCES Course(Cno)

)

*/

/*

--修改Course表增加一列,开课学期,数据类型自行定义

AlTER TABLE Course ADD Csemester CHAR(10)

*/

/*

--为Course表的Cname列建立一个唯一索引,索引名Cname_idx

CREATE UNIQUE INDEX Cname_idx ON Course(Cname)

*/

/*

--删除唯一索引Cname_idx

DROP INDEX ame_idx

*/

/*

--删除基本表Course

DROP TABLE Course

*/

--删除数据库XSCJ

/*

--创建创建一个名为BSXT的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;

--日志文件初始为2MB,最大可增长到5MB,按1MB增长

--将以上BSXT据库的主数据文件的最大大小改为不限制

--在BSXT系统中建立表1至表3共张表

--要求采用T-SQL提供的六种约束创建三张表的实体完整性、参照完整性和用户定

义的完整性定义

*/

/*

--表1 学生表(student)

CREATE TABLE student

(Sno CHAR(10) NOT NULL PRIMARY KEY,

Sname CHAR(10) NOT NULL,

Ssex CHAR(2) CHECK(Ssex='男' or Ssex='女'),

Sclass CHAR(10),

Stel CHAR(11) NOT NULL,

Sgroup CHAR(1) NOT NULL,

Spassword CHAR(10) NOT NULL

)

*/

/*

--表2 教师表(Teacher)

CREATE TABLE Teacher

(Tno CHAR(10) NOT NULL PRIMARY KEY,

Tname CHAR(10) NOT NULL UNIQUE,

Tsex CHAR(2) CHECK(Tsex='男' or Tsex='女'),

Tdept CHAR(20) NOT NULL DEFAULT '计算机科学与技术系', Tdegree CHAR(8),

Ttitle CHAR(10),

Tright BIT NOT NULL CHECK(Tright=0 or Tright=1),

Ttel CHAR(11) NOT NULL,

Temail CHAR(50),

Tgroup CHAR(1) NOT NULL,

Tpassword CHAR(10) NOT NULL

)

*/

/*

--表3 毕业设计题目信息表

CREATE TABLE Iteminfo

(Hno CHAR(4) NOT NULL PRIMARY KEY,

Hname CHAR(50) NOT NULL,

Hstatus CHAR(5) NOT NULL,

Hcontent CHAR(200),

dircetion CHAR(200),

Tno CHAR(10) REFERENCES Teacher(Tno),

Sno CHAR(10) REFERENCES student(Sno)

)

*/

补充:

--建立一个“学生”表Student。

CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,

Sname CHAR(20) UNIQUE,

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20)

);

--建立一个“课程”表Course。

CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY,

Cname CHAR(40) NOT NULL,

Cpno CHAR(4),

Ccredit SMALLINT,

FOREIGN KEY (Cpno) REFERENCES Course(Cno) )

--建立学生选课表SC

CREATE TABLE SC

(Sno CHAR(9),

Cno CHAR(4),

Grade SMALLINT,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) )

相关文档
最新文档