2022年数据库管理作业 .pdf
第一次作业一、名词解释1. 视图答:视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。2. 并发操作答:并发操作是指在同一时间可能有多个用户对同一数据进行读写操作。3. 内模式答:内模式是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。4. 事务答:数据库系统的一个操作系列,这些操作或者都做,或者都不做,是一个不可分割的工作单位。5数据备份答:数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。二、简答题1. 与文件管理数据相比,数据库管理系统有哪些优点?答: 1数据共享性允许不同用户使用同一个数据库,提高了信息利用率。2 数据的一体化和结构化数据文件之间互相关联,单个数据文件又能自成一个表。3数据独立性好数据与程序相互独立,改变数据存储结构,对程序没有影响。4冗余度低且可控制5对数据可进行集中统一的控制。2. 试述数据库设计的基本步骤?答:( 1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。(2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R 图表示。( 3)逻辑结构设计阶段:将概念结构转换为某个DBMS 所支持的数据模型。(4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。(5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。(6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 3. 请给出关系模式规范化的步骤? 答: 1)对 1NF关系进行投影,消除原关系中非主属性对码的函数依赖,将1NF关系转换为若干个 2NF关系。2)对 2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,从而产生一组3NF关系。3)对 3NF关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖(也就是说,使决定属性都成为投影的侯选码),得到一组BCNF关系。以上三步也可以合并为一步:对原关系进行投影,消除决定属性不是侯选码的任何函数依赖。4)对 BCNF关系进行投影,消除原关系中非平凡且非函数依赖的多值依赖,即可得到一组4NF关系。5)对 4NF关系进行投影, 消除原关系中不是由侯选码所蕴含的连接依赖,即可得到一组5NF关系。4. 数据完整性约束有哪几种?SQL如何实现数据完整性?答:数据完整性约束可分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。SQL要实现数据完整性,1.首先要明白数据的完整性有哪些:域完整性 /列完整性, 实体完整性 /行完整性,参照完整性/引用完整性;2.怎样实现:域完整性: (1)定义列时,使用check 约束; (2) 定义规则; 实体完整性:(3) 利用 primary key;参照完整性: (4) 利用 foreign key references。5. SQL Server 2000的安全认证过程? 答: SQLServer 2000 支持两种认证模式,一是Windows认证,二是混合模式。1)Windows认证,这是SQLServer 2000 的默认身份验证模式。Windows 验证的方式是利用 windows 的验证机制, 由于进入 windows 的用户有些拥有很高的权限,所以通常也能进入SQLServer 2000 服务器。为避免重复验证,SQLServer 2000 认可windows 的安全机制。只要windows 的账号在SQLServer 2000 中有对应的账号就能顺利地直接进入SQLServer 2000 。2)混合认证模式,这是将windows 认证和 SQLServer 2000 认证连接在一起。使用SQLServer 2000 认证时,系统管理员创建一个登陆账号口令,并将它们存储在SQLServer 2000 中,当用户连接上SQLServer 2000 时,必须提供SQLServer 2000登陆账号和口令。 用户也可以通过windows 账号进行连接, 这正如 windows 认证一样。对于登陆时提供了SQLServer 2000 账号者,系统将使用SQLServer 2000 身份验证对其进行认证;对于没有提供SQLServer 2000 账号或请求windows 身份验证的登陆者,则使用windows 身份验证对其认证。即先查找SQLServer 2000 登陆账户,若找不到则去查找windows 登陆账户。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 第二次作业用 SQL语言实现下列14 小题:现有关系数据库如下:学生 ( 学号,姓名,性别,专业,奖学金) 课程 ( 课程号,名称,学分) 学习 ( 学号,课程号,分数) 1. 检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;2. 检索学生“黎明”所学课程中有不及格课程的课程号、名称和分数;3. 检索获得奖学金、同时又有不及格成绩的学生信息,包括学号、姓名和专业;(提示:用子查询实现)4. 检索没有任何一门课程成绩超过90 分的所有学生的信息,包括学号、姓名和专业。(提示:用子查询实现)答: 1.select a. 学号, a. 姓名,a. 奖学金 ,b. 课程名 ,c. 分数 from 学号 as a inner join 学习 as c on a.学号 =c. 学号 left join 课程 on c.课程号 =b. 课程号2.select a. 姓名,b. 课程号 ,b. 名称 ,c. 分数 from 学生 a inner join 学生 as c on a.学号 =c. 学号 left join 课程 b on c.课程号 =b. 课程号 where a.姓名= 黎明 and c.分数 60 3.select 姓名, 专业, 奖学金 from 学生 a where a.学号 in (select 学号 from 学习 b where 分数 60) 4.select 学号, 姓名, 专业 where a.学号 in (select 学号 from 学习 b where 分数 90)5. 设有关系数据库:职工关系EMPLOYEE ( 职工号,职工名,街道,城市)工作关系WORKS ( 职工号,公司号,工资)公司关系COMPANY ( 公司号,公司名,城市)假设职工可在多个公司兼职,请用SQL语言写出至少在公司号为C2 和 C5 公司兼职的职工号。答:)(55 221WORKSWORKScc12=c25=c5(WORKS WORKS)6. 假设学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)收费(学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 符型数据;入学日期为日期型数据。列的宽度自定义。试用 SQL 语句定义上述表的结构。(定义中应包括主码子句和外码子句) 答:CREATE TABLE 学生(学号CHAR (8) ,姓名 CHAR (8) ,专业 CHAR (13) ,入学日期DATE,PRIMARY KEY ( 学号);CREATE TABLE 收费(学年CHAR (10) ,学号 CHAR (8) ,学费 NUMERIC (4) ,书费 NUMERIC (5 ,2),总金额NUMERIC (7 ,2),PRIMARY KEY ( 学年,学号 ),FOREIGN KEY ( 学号 ) REFERENCES 学生 (学号);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -