数据库实验二

  • Post author:
  • Post category:其他




一、实验内容



1、建立数据库Student_DB_姓名首字母缩写(如姓名为张三的同学建立的数据库为Student_DB_ZS),并在此数据库中用命令方式创建数据表(注意表中列的相关约束):

学生表:Student(Sno, Sname, Ssex, Sage, Sdept);

课程表:Course(Cno, Cname, Cpno, Ccredit);

学生选课表:SC(Sno, Cno, Grade)


学生表的逻辑设计:

在这里插入图片描述


课程表的逻辑设计:


在这里插入图片描述


选课表的逻辑设计:


在这里插入图片描述



二、实验过程



用SQL语言完成如下的操作(请给出SQL语句及相应执行结果的截图):

创建学生表:

在这里插入图片描述

创建课程表:

在这里插入图片描述

创建选修表:

在这里插入图片描述

(1)将学生表中年龄的数据类型改为整型。

在这里插入图片描述

(2)向SC表中增加成绩(Grade)列,其数据类型为短整型。

在这里插入图片描述

(3)用SSMS方式向三个表中填充数据(参照课本P79页)(此题不用给出结果图)。

学生表数据填充:

在这里插入图片描述

课程表数据填充:

在这里插入图片描述

选修表数据填充:

在这里插入图片描述

(4)对Student表按学号降序建唯一索引。

在这里插入图片描述

(5)对Student表按学生姓名列建聚集索引,观察能否建立成功,如未成功请分析原因。

原因:聚集索引在一个表中只能有一个,因为物理位置是固定的。

在这里插入图片描述

(6)删除第(4)题建的索引。

在这里插入图片描述

3、用SQL语句完成如下对三个表的查询(请给出SQL语句及执行结果的截图):

(1)查询所有课程的课程号和课程名。

在这里插入图片描述

(2)查询全体学生的记录。

在这里插入图片描述

(3)查询学生表中的所有的系。

在这里插入图片描述

(4)查询全体学生的姓名、出生年份和所在的院系,并为出生年份和所在院系两列分别起别名为sbirth,department,并将系名全部转换成小写字母。

在这里插入图片描述

(5)求数学系学生的学号和姓名。

在这里插入图片描述

(6)查询所有考试成绩在80分以下的学生学号、课程号。

在这里插入图片描述

在这里插入图片描述

(7)查询学分在2~7之间的课程信息。

在这里插入图片描述

(8)查询课程名为DB_Design课程的课程号和学分。

在这里插入图片描述

(9)查询没有先修课的课程号、课程名及学分。

在这里插入图片描述

(10)查询信息系学生性别为男且年龄小于20岁的学生姓名。

在这里插入图片描述

(11)查询选修了3号课程的学生的学号及成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。

在这里插入图片描述

(12)查询课程的总数。

在这里插入图片描述

(13)查询选修2号课程的学生平均成绩和最高成绩,并分别为平均成绩和最高成绩起别名为AVG,MAX。

在这里插入图片描述

(14)查询每个学生的选课门数,要求输出学生学号及选课的门数。

在这里插入图片描述

(15)查询选修了2门及以上的课程的学生学号。

在这里插入图片描述



版权声明:本文为qq_42103479原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。