数据库实验3答案Word文件下载.docx

上传人:b****3 文档编号:14034674 上传时间:2022-10-17 格式:DOCX 页数:15 大小:21.60KB
下载 相关 举报
数据库实验3答案Word文件下载.docx_第1页
第1页 / 共15页
数据库实验3答案Word文件下载.docx_第2页
第2页 / 共15页
数据库实验3答案Word文件下载.docx_第3页
第3页 / 共15页
数据库实验3答案Word文件下载.docx_第4页
第4页 / 共15页
数据库实验3答案Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库实验3答案Word文件下载.docx

《数据库实验3答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库实验3答案Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

数据库实验3答案Word文件下载.docx

3.2 

数据操作

完成各类更新操作包括:

1. 

插入数据

2. 

修改数据

3.删除数据

3.3 

数据查询操作

完成各类查询操作

单表查询

分组统计

3.连接查询

4.嵌套查询

5.集合查询

3.4 

创建视图

视图查询

参考示例:

建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义

创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:

表1.Student表结构

列名称

用途

类型

长度

约束

备注

Sno

学号

字符

8

主键

Sname

姓名

Ssex

性别

2

Sage

年龄

整型

Sdept

所在系

20

Sclass

班级

4

表2.Course表结构

Cno

课程号

Cname

课程名

40

Cpno

先修课程号

Ccredit

学分

表3.SC表结构

外键

Grade

成绩

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

(1)创建Student表

CREATETABLEStudent

(SnoCHAR(8)PRIMARYKEY,

SnameCHAR(8),

SsexCHAR

(2)NOTNULL,

SageINT,

SdeptCHAR(20)

);

(2)创建Course表

CREATETABLECourse

(CnoCHAR(4)PRIMARYKEY,

CnameCHAR(40)NOTNULL,

CpnoCHAR(4),

CcreditSMALLINT,

(3)创建SC表

CREATETABLESC

(SnoCHAR(8)FOREIGNKEY(Sno)REFERENCESStudent(Sno),

CnoCHAR(4),

GradeSMALLINT,

(4)创建员工表Employee

CREATETABLEEmployee

编号CHAR(8)PRIMARYKEY,

姓名VARCHAR(8)notnull

部门CHR(40),

工资numeric(8,2),

生日datetime,

职称char(20),

);

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

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

SELECT*FROMStudent

SELECT*FROMCourse

SELECT*FROMSC

SELECT*FROMEmployee

(6)修改表结构及约束

●增加班级列

ALTERTABLEStudentADDSclasschar(4)

●修改年龄列

ALTERTABLEStudentALTERCOLUMNSagesmallint

●增加约束

ALTERTABLECourseADDUNIQUE(Cname)

(7)删除表

DROPTABLEEmployee

2.创建索引

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

CREATEINDEXiCnameOnCourse(Cname)

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

CREATEUNIQUEINDEXiSnameONStudent(Sname)

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

CREATECLUSTEREDINDEXiSnoCnoOnSC(Sno,Cnodesc)

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

请自己完成该操作

3.创建视图

建立信息系学生的视图:

CREATEVIEWIS_Student

AS

SELECTSno,Sname,SageFROMStudent

WHERESdept='

IS'

;

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

表4.学生基本信息表

20100001

李勇

CS

1001

20100002

刘晨

19

20100021

王敏

18

MA

1002

20100031

张立

IS

1003

20100003

刘洋

20100010

赵斌

1005

20100022

张明明

表5.课程信息表

先修课程号

1

数据库系统原理

56

高等数学

3

管理信息系统

操作系统原理

6

5

数据结构

7

数据处理

C语言

表6.学生选课信息表

92

85

88

90

80

(1)插入到Student表

INSERTINTOStudentVALUES('

20100001'

'

李勇'

男'

20,'

CS'

1001'

20100002'

刘晨'

女'

19,'

INSERTINTOStudent(Sno,Sname,Ssex,Sage,Sdept,Sclass)VALUES('

20100021'

王敏'

18,'

MA'

1002'

INSERTINTOStudent(Sno,Sname,Ssex,Sage,Sdept,sclass)VALUES('

20100031'

张立'

1003'

INSERTINTOStudent(Sno,Sname,Ssex,sclass)VALUES('

20100003'

刘洋'

检查下列语句中的错误,并改正:

20100010'

赵斌,'

19'

1005'

20100022'

张明明'

(2)插入到Course表

INSERTINTOCourse(Cno,Cname,Cpno,Ccredit)VALUES('

1'

数据库系统原理'

'

5'

4)

2'

高等数学'

null,2)

3'

管理信息系统'

请写出插入其余行的插入语句,并插入数据。

(3)插入到SC表

INSERTINTOSCVALUES('

92)

80)

INSERTINTOSC(Sno,Cno)VALUES('

INSERTINTOSC(Sno,Cno,Grade)VALUES('

null)

请写出插入其余行的插入语句,并运行。

(4)多行插入到表中

创建存一个表,保存学生的学号、姓名和年龄:

CREATETABLEcs_Student

学号char(8),

姓名char(8),

年龄smallint

插入数据行:

INSERTINTOcs_Student

SELECTSno,Sname,Sage

FROMstudentWhereSdept='

(5)检查插入到表中的数据

(1)将学生20100001的年龄改为22岁。

UPDATEstudentSETSage=22WHERESno='

(2)将所有学生的年龄增加一岁。

UPDATEStudentSETSage=Sage+1

(3)填写赵斌同学的管理信息系统课程的成绩

UPDATESCSETGrade=85

WHERESno='

ANDCno='

(4)将计算机科学系全体学生的成绩加5分

UPDATEscSETGrade=Grade+5

WHERE'

=(selectSdeptfromstudentwherestudent.Sno=sc.Sno);

(5)请自己完成如下操作

●将刘晨同学的2号课程成绩修改为80

●将“20100021”同学的学号修改为“20100025”

(6)检查数据是否修改

(1)删除学号为201000022的学生记录

DELETEFROMStudentWHERESno='

(2)删除学号20100001学生的1号课程选课记录

将选课信息复制到一个临时表tmpSC中:

SELECT*INTOtmpSCFROMSC

在tmpSC中执行删除操作:

DELETEFROMtmpSCWHERESn

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1