数据库原理及应用教程上机实验考试

瑜伽是很受女性喜欢的健身项目。现有一个瑜伽训练项目数据库yoga,库中包括以下实体和实体间联系:
(1)学员实体:member(mid,mname,mage,mtel)。其中, mid是唯一标识每一个学员的编号,mname为学员姓名,mage为学员年龄,mtel为学员联系电话。
(2)训练室实体:room(rid,rloc,rtype)。其中,rid是唯一标识每一间训练室的编号,rloc为训练室位置,rtype为训练室类型。
(3)教练实体:coach(cid,cname,ctel)。其中,cid是唯一标识每一名教练的编号,cname为教练姓名,ctel为教练的联系电话。
(4)实体间的联系是:每个教练可以使用多间训练室,每间训练室可以被多个教练使用;每个教练可以训练多个学员,每个学员只能由一名教练训练;教练使用间训练室时,需指明使用的日期(udate)以及当天使用的小时数(uhours);教练训练学员时,需指明训练天数(tdays)以及训练费用(tcosts)。
根据上述需求,请在SQL Server中使用SQL语句完成下面1-10小题给出的实验任务:

1、创建数据库yoga,并在该数据库中创建下面表1、表2、表3对应于学员、训练室和教练实体的基本表member、room和coach。三张基本表中的各属性的类型及长度根据表中所给的数据情况自选。要求:各张表都包含主码约束,以及member表的学员姓名和coach的教练姓名的非空约束。(请将SQL Server中输入的SQL语句及运行结果按表编号次序分别截图提交至第1小题答案处)

2、创建表4对应的训练室和教练之间多对多联系的训练室使用表utilize,以及表5对应的教练和学员之间一对多联系的训练表train。来自联系的属性的类型及长度根据表中所给的数据情况自选,且都要求包含主码约束和外码约束。(请将SQL Server中输入的SQL语句及运行结果按表编号次序分别截图提交至第2小题答案处)

3、使用数据操纵语句,输入上面表1至表5中所示的全部数据记录,并使用带通配符“*”号的查询语句显示各张表的数据输入结果。(请将SQL Server中输入的SQL语句及运行结果按表编号次序分别截图提交至第3小题答案处)

4、查询所有姓王的教练的姓名及其所训练的学员的姓名、性别和年龄。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第4小题答案处)

5、查询不同类型训练室的类型、个数。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第5小题答案处)

6、删除没有交培训费的学员记录,并使用带通配符“*”号的查询语句显示删除后剩余的数据记录信息。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第6小题答案处)

7、将训练费超过1800元的学员的训练费做打9折的修改,并按培训费降序显示经此修改后的所有学员的姓名、培训费用、联系电话,以及其教练的姓名和联系电话。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第7小题答案处)

8、查询安排在贵宾训练室训练的学员的姓名、年龄,以及训练室编号和训练室类型。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第8小题答案处)

9、创建周五这一天的训练室的使用信息(包括训练室编号、训练室类型、教练姓名、使用时长)的视图,视图命名为Friday。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第9小题答案处)

10、查询没有使用r002号训练室的教练编号、教练姓名(要求使用子查询方式)。(请将SQL Server中输入的SQL语句及运行结果分别截图提交至第10小题答案处)

在这里插入图片描述

答案:
2.主码约束、非空约束和外码约束;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.member表第一个怎么定义属性啊,比如那个年龄,定义int还是char呢
就是输入自己的信息,那个不是默认值
不要用int存储电话号码,用varchar
原因:

1、int只有四个字节,而手机号是由11位十进制数组成的,即可知道手机号有五个字节,如果用int存储,则第五位溢出,被“吃掉了”。

2、int的数据范围为-21474836482147483647[-2^312^31-1],是用于定义整数类型变量的标示符。

存储手机号用的类型:

1、使用数据库类型varchar2存储手机号,将手机号当作字符串存储,后期取出便于显示。varchar2 数据类型指定一变长字符串,最大长度2000字节 。

2、在java等高级语言中,使用string存储手机号。

1.desc为降序,asc为 升序,缺省为升序
4.
在这里插入图片描述
5.
在这里插入图片描述
6.
在这里插入图片描述
7.
在这里插入图片描述
8.
在这里插入图片描述
9.
在这里插入图片描述
10.
在这里插入图片描述

/降序,姓名,类别,费用/
/update Rent
set Rcost=0.8
Rcost
where (Rcost>1300)*/
select Dname,Ctype,Rcost
from Rent,Driver,Car
where Rent.Did=Driver.Did and Car.Cid=Rent.Cid
order by Rcost desc

おすすめ

転載: blog.csdn.net/qq_51976555/article/details/121456973