列表

详情


 数据库系统是信息系统的核心和基础,回答下列有关数据库的问题,将解答填入答题纸的对应栏内。

【问题1】(6分)
 数据模型是数据库系统的核心和基础,数据模型通常由哪3部分组成?数据库最常用的数据模型有哪3种?
【问题2】(13分)
 数据库查询是数据库的核心操作,SQL提供了 SELECT语句进行数据库的查询,其一般格式如下:
 SELECT [ALL|DISTINCT]<目标列表达式 >[,< 目标列表达式>]...
 FROM <表名或视图名 >[,< 表名或视图名>]...
 [WHERE<条件表达式>]
 [GROUP BY <列名 1> [HAVING <条件表达式>]]
 [ORDER BY〈列名 2> [ASC|DESC]]
 其含义是:根据WHERE子句的条件表达式,从FROM子句中指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一组。如果有ORDER子句,结果表要按<列名2>的值升序或降序排列。
 某学校学生、教师及课程关系如下:
 学生由学号唯一标识,学生相关信息包括姓名、性别、专业号和年龄等;
 教师由工作证号唯一标识,教师相关信息包括姓名,年龄和所授课程号等;
 课程由课程号唯一标识,课程相关信息包括课程名,学分,授课教师工作证号及授课时间等;
 选课信息包括选课学生学号,课程号及考试成绩等。
 根据关系模型完成数据库设计,包括数据库表、键值;(8分)
 用SQL语句表达如下查询:(5分)
 “张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名, 按分数的降序排列。

参考答案:

【问题1】
 数据模型通常由数据结构、数据操作、数据的约束条件3部分组成。数据库最常用的数据模型有层次模型、网状模型、关系模型3种。
【问题2】
数据库设计表设计如下:
学生表student:
 StuID  学号唯一标识  整型、主键
 StuName 学生姓名  字符串型
 StuSex  学生性别   bool型
 MajorId  专业号   整型
 StuAge  学生年龄  整型
教师表teacher:
 TeaId  教师编号   整型、主键
 TeaName 教师姓名  字符串型
 TeaAge   教师年龄  整型
 TeaCourse  所授课程号 整型、外键couse(CourseId)
课程表course:
 CourseId  课程编号   整型、主键
 CourseName 课程名称  字符串型
 CourseCredit 课程学分  数值型
 CourseTeacher 课程教师编号 整型、外键teacher(TeaId)
 CourseTime  授课时间  日期型
选课表Elective:
 EleStuId  选课学生学号 整型 外键student(stuId)
 EleCourseId 课程号  整型  外键course(CourseId)
 EleScore    考试成绩  数值型
 “张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名,按分数的降序排列。查询语句如下:
Select course.courseName,student.Stuid,student.StuName from student,teacher,course,elective where student.Stuid=elective.EleStuid and teacher.teaId=course.courseTeacher and Course.courseId=elective.eleCourseId and teacher.teaName=’张大民’and elective.EleScore>90 order by elective.EleScore DESC

详细解析:

【问题1】
 数据模型通常由数据结构、数据操作和完整约束3个部分组成。
 (1)数据结构:数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它包括两类,一类是与数据类型、内容、性质有关的对象。一类是数据之间联系有关的对象。它是对系统静态特性的描述。
 (2)数据操作:是指对数据中各种对象(型)的实例(值)允许执行的操作的集合。它是对系统动态特性的描述。
 (3)数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态变化,以保证数据的正确、有效和相容。
 常用的数据模型有:
 (1)层次模型:类似于倒置的树型的父子结构,它构成层次结构。一个父表有多个子表,而一个子表只能有一个父表。优点是数据结构类似金字塔,不同层次之间的关联性直接且简单;缺点是,由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护不便。
 (2)网状模型:与层次结构不同的是,网状模型的结点间可以任意发生联系,能够表示各种复杂的联系。优点是可以避免数据的重复性,缺点是关联性比较复杂,尤其是数据库变得越来越大时,关联性的维护会非常复杂。
 (3)关系模型:它突破了层次模型和网状模型的许多局限。关系是指由行与列构成的二维表。在关系模型中,实体和实体间的联系都是用关系表示的。
【问题2】
数据库设计表设计如下:
学生表student:
 StuID  学号唯一标识  整型、主键
 StuName 学生姓名  字符串型
 StuSex  学生性别   bool型
 MajorId  专业号   整型
 StuAge  学生年龄  整型
教师表teacher:
 TeaId  教师编号   整型、主键
 TeaName 教师姓名  字符串型
 TeaAge   教师年龄  整型
 TeaCourse  所授课程号 整型、外键couse(CourseId)
课程表course:
 CourseId  课程编号   整型、主键
 CourseName 课程名称  字符串型
 CourseCredit 课程学分  数值型
 CourseTeacher 课程教师编号 整型、外键teacher(TeaId)
 CourseTime  授课时间  日期型
选课表Elective:
 EleStuId  选课学生学号 整型 外键student(stuId)
 EleCourseId 课程号  整型  外键course(CourseId)
 EleScore    考试成绩  数值型
 “张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名,按分数的降序排列。查询语句如下:
Select course.courseName,student.Stuid,student.StuName from student,teacher,course,elective where student.Stuid=elective.EleStuid and teacher.teaId=course.courseTeacher and Course.courseId=elective.eleCourseId and teacher.teaName=’张大民’and elective.EleScore>90 order by elective.EleScore DESC

上一题