数据库试验3答案

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

实验三:交互式SQL语句的使用

1、实验目的

(1)掌握数据库对象的操作过程,包括创建、修改、删除

(2)熟悉表的各种操作,包括插入、修改、删除、查询

(3)熟练掌握常用SQL语句的基本语法

2、实验平台

使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3 实验内容及要求

选择如下一个应用背景之一:

学生选课系统?习题3、4、和5中使用的数据库?其它你熟悉的应用?。)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作1((2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的内容:3.1 数据定义

1.基本表的创建、修改及删除

2.索引的创建

3.视图的创建

3.2 数据操作

完成各类更新操作包括:

1.插入数据

2.修改数据

3. 删除数据

3.3 数据查询操作

完成各类查询操作

1.单表查询

2.分组统计

3. 连接查询

4. 嵌套查询

5. 集合查询

3.4 数据操作

1.创建视图

2.视图查询

参考示例:

建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。数据定义一、创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:

表1. Student表结构

列名用类长约备

主字学Sn

字姓Snam

字符2性别Ssex

整型年龄Sage

字符20Sdept所在系字符4Sclass班级

表2. Course表结构

1.创建、修改及删除基本表(1Student表)创建Student TABLE CREATE, CHAR (Sno(8)PRIMARY KEY8 Sname CHAR(),

NOT NULL,)Ssex CHAR(2

,Sage INT CHAR(20)Sdept);

)创建Course表(2Course TABLECREATE

(Cno KEY PRIMARY,)CHAR(4NOT(Cname CHAR40)NULL, 4(), CHAR Cpno

SMALLINT,Ccredit);

(表SC3)创建SC CREATETABLE 8CHAR Sno(()FOREIGNKEY Student

Sno(),REFERENCES)(Sno

Cno 4(CHAR),

Grade,SMALLINT);

4()创建员工表Employee

CREATE TABLE Employee

(

编号CHAR(8)PRIMARY KEY,

姓名VARCHAR(8)not null

部门CHR(40),

工资numeric(8,2),

生日datetime,

职称char(20),

);

指出该语句中的错误并改正后执行。

(5)检查表是否创建成功

SELECT*FROM Student

SELECT*FROM Course

SELECT*FROM SC

SELECT*FROM Employee

(6)修改表结构及约束

增加班级列?ALTER TABLE Student ADD Sclass char(4)

修改年龄列?ALTER TABLE Student ALTER COLUMN Sage smallint 增加约束?ALTER TABLE Course ADD UNIQUE(Cname)

(7)删除表

DROP TABLE Employee

2.创建索引

(1)为Course表按课程名称创建索引

CREATE INDEX iCname On Course(Cname)

(2)为Student表按学生姓名创建唯一索引

CREATE UNIQUE INDEX iSname ON Student(Sname)

(3)为SC表按学号和课程号创建聚集索引

CREATE CLUSTERED INDEX iSnoCno On SC(Sno,Cno desc)

(4)为Course表按课程号创建唯一索引

请自己完成该操作

3.创建视图

建立信息系学生的视图:

CREATE VIEW IS_Student

AS

SELECT Sno,Sname,Sage FROM Student

WHERE Sdept='IS';

3.2 数据操作

1.插入数据

将如下表格中的数据分别插入到数据库相应的表中:

表4.学生基本信息表

班100100100100100100100表5.课程信息表

课程号课程名先修课程号学分

41数据库系统原理562高等数学2

4管理信息系统31346操作系统原理

475数据结构

26数据处理4语言7C表6.学生选课信息表

学号课程号成绩

19220100001

852********

8832010000190201000021

80220100002

201000031

201000103表1)插入到Student('1001'),男',20,'CS'INTO

Student VALUES('20100001','李勇','INSERT19,'CS','1001')'VALUES('20100002','刘晨,'女',Student INSERT INTO

女','VALUES,Sdept,Sclass)('20100021','王敏,INSERT

INTO Student(Sno,Sname,SsexSage,'1002')',18,'MA'男VALUES('20100031','张立

',',(INSERT INTO StudentSno,Sname,Ssex,SageSdept,sclass)),'1003'',19,'IS'

','1001')'VALUES,INSERT INTO Student(SnoSname,Ssex,sclass)('20100003','刘洋',女

检查下列语句中的错误,并改正:男,'INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept,sclass) VALUES('20100010',赵斌','19','IS','1005')'1002'19INSERT INTO Student

VALUES('20100022','张明明',,'男','CS',)(2)插入到Course表4)'数据库系统原理

','5',VALUES,,INTO Course(CnoCname,CpnoCcredit)('1',INSERT

null,2),,Ccredit)VALUES('2''高等数学',CpnoCno INTOINSERT Course(,Cname,),管理信息系统''1',4,CpnoCno INTOINSERT Course(,Cname,,Ccredit)VALUES('3''请写出插入其余

行的插入语句,并插入数据。3)插入到SC表('1'VALUESINTOINSERT SC('20100001',,92) 80),(INTO SC VALUES'20100002','2'INSERT

),(CnoSnoSC INSERT INTO(,)VALUES'20100003''1',null),(GradeCnoSnoSC INTOINSERT (,,)VALUES'20100010''3'请写出插入其余行的插入语句,并运行。)多行插入到表中(4创建存一个表,保存学生的学号、姓名和年龄:CREATE cs_Student TABLE

相关文档
最新文档