数据库复习

发布 2022-01-12 01:38:28 阅读 3163

名词解释。

关系模型:关系模型是指用二维**来表示数据间联系的模型。

主键:表通常具有包含唯一标识表中每一行的一列或多列,这样的一列或多列称为表的主键。

外键:表中的某一非主属性在另外一张表中它是全码,它是值依赖与另外一张表中的全码值。

索引:是一个单独的,物理的数据结构,这个数据中包括表中的一列或若干列的值以及相应的指向表中物理标示这些值的数据页的逻辑指针的集合。

视图:包括几个被定义的数据和多个数据行,这些数据列和数据行**于视图引用的表、所以视图不是真实存在的物理表,而是一张虚表。

存储过程:sql server提供了一种方法,他可以将一些固定的操作集中起来由sql server数据库服务器来完成,已完成某个特定的应用,这用方法就是存储过程。

实体完整性:实体完整性规定表的每一行在表中是唯一的。

域完整性:域完整性是指数据库表中的列必须满足某种特定的数据类型或约束。

引用完整性:引用完整性是指两个表的主关键字和外关键字的数据应对应一致。

触发器:触发器是一种特殊类型的存储过程,它是指定的表中的数据发生变化时自动生效。

根据要求写出数据操纵语句。

实验1 数据定义与数据更新。

操作1.11:向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为2023年9月9日,系号为11,其余字段为null或默认值。

insert into student(st_id, st_nm, st_sex, st_birth, st_dpid)

values ('070201001', 王小五', 男', 1990.9.9', 11' )

操作1.12:向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为null或默认值。

insert into couse(cs_id, cs_nm) values ('1234', 操作系统')

操作1.13:修改student表记录,将王小五的入学成绩改为88

update student set st_score=88 where st_nm='王小五'

操作1.14:修改couse表记录,将所有记录的学分改为4,学时改为64

update couse set cs_tm=64, cs_sc=4

操作1.15:删除couse表记录,将课程号为1234的记录删除。

delete from couse where cs_id='1234'

操作1.16:删除student表记录,将姓别为男,成绩为88的记录删除。

delete from student where st_sex='男' and st_score=88

实验2 简单查询。

操作2.1:查询所有系的信息。

select * from dept

操作2.2:查询所有的课程号与课程名称。

select cs_id, cs_nm from couse

操作2.4:显示所有学生班级。

select distinct left(st_id,6) as 班级 from student

操作2.5:查询student表中11系的学生学号、姓名、性别和所在系编号。

select st_id, st_nm, st_sex, st_dpid

from student where st_dpid = 11'

操作2.6:查询student表中2023年及以**学的学生信息。

select * from student

where datepart( yy, st_date )>2008

操作2.9:查询2023年入学的11系所有男生信息。

select * from student

where datepart(yy,st_date)=2007 and st_dpid='11' and st_sex='男'

操作2.11:查询所有“计算机”开头的课程信息。

select * from couse where cs_nm like '计算机%'

操作2.13:查询所有课程名中包含“信息”的课程信息。

select * from couse where cs_nm like '%信息%'

操作2.14:查询在1989.7.1到1990.6.30之间出生的学生信息。

select st_id, st_nm, st_sex, st_birth from student

where st_birth between '1981.7.1' and '1999.6.30'

操作2.17:查询课程信息,按课程名称降序排序。

select * from couse order by cs_nm desc

操作2.18:查询学生表中的男生信息,按姓名升序排序,再按系号降序排序。

select * from student where st_sex='男' order by st_nm, st_dpid desc

操作2.20:查询选修1001号课程的学生人数。

select count(st_id) from slt_couse where cs_id = 1001'

操作2.22:求各个课程号和相应的选课人数。

select cs_id, count(st_id) from slt_couse group by cs_id

操作2.23:统计各班人数。

select left(st_id,6) as 班级, count(st_id) as 人数。

from student group by left(st_id,6)

实验3 连接查询与子查询。

操作3.2:用ansi形式连接查询学生学号、姓名、性别及其所选课程编号。

select st_nm, st_sex, cs_id

from student a inner join slt_couse b on =

order by

操作3.5:查询选修了1002课程的学生学号、姓名及1001课程成绩。

select st_nm, score

from student a,slt_couse b

where = and = 1002'

order by

操作3.14:将没有被选修的课程的学分更改为0

update couse set cs_sc=0 where cs_id not in

select distinct cs_id from slt_couse )

操作3.15:删除5系学生的选课信息。

delete from slt_couse where st_id in

select st_id from student where st_dpid = 5 )

简答题。1.简述数据库系统的组成:数据库系统实际上是一个应用系统,它由数据库(db)、数据库管理系统(dbms)、用户和计算机系统组成。

(1)数据库(db)它是数据库系统操作的对象。数据库中的数据具有集中性和共享性。(2)数据库管理系统(dbms)它是数据库系统负责对数据库进行管理的软件系统。

(3)用户指使用数据库的人员。数据库系统中的用户有终端用户、应用程序员和数据库管理员。(4)计算机系统指存储数据库及运行dbms的软、硬件资源,如操作系统和磁盘、i/o通道等。

2.定义数据表结构时,需要定义哪些方面的内容:在设计表时需要确定如下项目:(1)标的名称。

(2)表中每一列的名称。(3)表中每一列的数据类型和长度。(4)表中的列中是否允许空值、是否唯。

一、是否要进行默认设置或添加用户定义约束。(5)表中需要的索引的类型和需要建立索引的列。(6)表间的关系,即确定哪些列是主键,哪些是外键。

3.简述视图的特点:(1)视点集中:减少对象量视图让用户能够着重于他们所需要的特定数据或所负责的特定业务,如视图可以选择特定行或特定列,不需要的数据可以不出现在视图中,增强了数据的安全性;而且视图并不实际包含数据。

(2)从异构源组织数据:可以在连接两个或多个表的复杂查询的基础上创建视图,这样可以以单个表的形式显示给用户,及分区视图。(3)隐藏数据的复杂性,简化操作:

视图向用户隐藏了数据库设计的复杂性,如果开发者改变数据库设计,不会影响到用户与数据库交互。

4.比较触发器和存储过程的异同:触发器存储过程不同,触发器主要是通过事件进行触发而自动执行的,而存储过程可以通过存储过程名字被显示调用。

论述题。论述数据库设计的任务与步骤:目的:

数据库设计是建立数据库及其应用系统的核心和基础。他要求对于指定的应用环境,构造出较优的数据库模式,建立数据库及应用,使系统能有效地存储数据,并满足用户的各种应用需求。步骤:

(1)系统需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计(5)数据库实施(6)数据库运行和维护。

数据库复习

1.1试述数据 数据管理 数据库管理系统 数据库的概念。数据 描述事物的符号记录成为数据,如数值数据 文本数据和多 数据 如图形 图像 音频和 等。数据管理 是对数据进行有效的分类 组织 编码 存储 检索 维护和应用,数据库原理。1.1试述数据 数据管理 数据库管理系统 数据库的概念。数据 描述事物...

数据库复习

元组 关系中的每个元素。关系 描述实体,属性,实体间的关系。候选码 关系中的某一属性组的值能唯一地标识一个元组。该属性组为候选码。主码 若一个关系中有多个候选码,则选定其中一个为主码。实体 客观存在并可以相互区分的事物。实体性 具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻...

数据库复习

请说明 数字与数据的关系,并举例说明数字化。将模拟信号转换为表示同样信息并且计算机可以读取的数字信号的过程。数字化就是将许多复杂多变的信息转变为可以度量的数字 数据,再以这些数字 数据建立起适当的数字化模型,把它们转变为一系列二进制 引入计算机内部,进行统一处理,这就是数字化的基本过程。请问 数字化...