求MYSQL数据库答案

求MYSQL数据库答案,第1张

1、先用NavicatforMySQL创建名字为shopping的数据库,如下图所示:2、创建的shopping数据库上运行已有的.sql文件,要注意上面创建的数据库名字shopping最好和原先.sql文件中的名字一样,也可以不一样,如果不一样的话会自动生成原来.sql文件中SQL语句中所命名的数据库。此时,可以把上面创建的shopping数据库删除了就可以,直接用自动生成的就行。运行.sql步骤如下:右键你刚才创建的shopping数据库——>运行sql文件——>选择.sql文件位置——执行即可。创建好的数据库如下所示:

二、填空题

1.数据库文件由数据文件和( 日志)文件构成。

2.完整性约束主要包括( 实体 )完整性、域完整性和( 参照 )完整性。

3.数据库系统的应用结构C/S结构的中文全称是(客户服务器结构 ),B/S结构的中文全称是( 浏览器/服务器结构 )。

4. SQL server局部变量名字必须以( @ )开头。

5.创建、修改和删除数据库对象的语句分别是create、(alter )和(drop )。

6.在SQL server中计算最大、最小、平均、求和与计数的聚合函数是max、min、(avg )、( sum )和( count )。

7.数据完整性用于保证数据库中数据的( 正确性 )、( 一致性 )和(可靠性 )。

8.触发器在工作过程中会产生两张临时的表,即( inserted )和( deleted )。

9.create procedure是用来创建(存储过程 )的语句。

10.根据题意补充代码:

Student表如表1所示,sc表如表3所示。

(1) 查询学生总人数

代码:select count(*) as 总人数from student

(2) 计算C01课程的平均成绩

代码:Select avg(成绩) as平均成绩from sc where 课程号= ‘C01 ‘

(3) 求计算机系的学生学号和姓名;

代码:select 学号,姓名from student

Where 系别=’计算机系’

(4)创建触发器,限制不能删除有人选的课程。

代码:

CREATE trigger limit ON 课程

FOR delete

AS

IF EXISTS (SELECT 课程.课程号 FROM 课程 JOIN 选课 ON 课程.课程号 = 选课.课程号)

Print ‘该课程有人选,不能删除’

rollback

评卷人 得分

三、简答题

1. 简述什么是实体完整性。

实体完整性是用于保证数据表的每一个特定实体记录都是唯一的。

2.简述视图与基本表的区别和联系。

区别:1、视图是已经编译好的sql语句。而表不是

2、视图没有实际的物理记录。而表有。

3、表是内容,视图是窗口

4、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表其他内容。表是实表;视图是虚表。

6、视图的建立和删除只影响视图本身,不影响对应的基本表。

联系:视图是在基本表之上建立的表,它的结构和内容都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系

四、编程题

1表1:student表(学生表)

学号 姓名 性别 年龄 系别

1 周杨 男 18 计算机系

2 沈晔 女 21 经管系

3 张宁萍 女 19 电子工程系

4 李立初 男 19 艺术系

表2:course表(课程表)

课程号 课程名 学分

C01 SQLServer4

C02 数据结构 3

C03 专业英语 2

表3:sc表(选课表)

学号 课程号 成绩

1 C01 88

2 C01 90

2 C02 70

3 C03 79

1、 把course表中课程号为3的课程的学分修改为3。

Update course

Set 学分=’3’

Where 课程=’3’

Select * from course

2、 在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。

Select * from student

Where 年龄>18

Order by 学号 desc

3、 在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名

和性别。

Select student.学号, student.姓名, student.性别fromstudent, course, sc

Where student.学号= sc.学号 and course.课程号= sc.课程号 and course.学分=’3’ and sc.成绩>’80’

4、 将student表的列系别改为nchar(8)数据类型,并且不允许为空。

Alter table student

Alter column 系别 nchar(8) not null

5、 在student表中插入彭夏雨同学的记录。姓名:彭夏雨,学号:4,年龄:20

Insert student

Values(‘彭夏雨’,’4’,’ 20’)

6.声明一个长度为8的字符型变量“shuaige”, 并赋初值为”陈俊杰”。请按前面的要求写

出相应的语句。

Declare@shuaige char(8)

Set@shuaige=’陈俊杰’

7、查询周杨同学所上课程的成绩。

Selectsc.成绩from student,sc

Wherestudent.学号=sc.学号 and姓名=’周扬’


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6641816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存