数据库原理(5)
数据库原理及应用课件:第5章 ACCESS 数据库—面向对象的程序设计语言(VBA)
块结说构明形:式:If<表达式> Then
双分支结构<能语根句块据1表> 达式的判断结果来选
择执行的E语ls句e 块,当表达式的判断结果为
真时,则执<行语语句块句2块> 1;当表达式的判断 结果为假E时n,d 则If 执行语句块2。
行结构形式: If<表达式> Then <语句1> Else <
语句2>
– I说f…明T:hen语句(单分支结构)。有两种形
式1):表块达结式构一和般行为结关构系表达式、逻辑表达 块式0结为,构F也a形l可s式e以。:为If<算表术达表式达>式Th,e非n 0为True,
2)语句块可以语是句一块句或多句,若用行结 构来表示,则En只d 能If是一句语句,若多句, 行语结句构间形需式用:冒If号<表隔达开式,>而T且he必n须<语在句一>行上 书写。
20
2022/10/3
变量的作用域
不同级别的变量有不同的应用范围,通常 变量有三个范围级别。
– 过程级别 在程序中声明的变量属于过程级别。只 有在声明此变量的过程中才可以使用的变量称为 局部变量。用户可以使用Dim或Static关键字来定 义
– 例如: Dim a As integer
–
Static b a As single
数据库原理_实验五指导书
数据库原理
实验指导书
实验五SQL Server 2000中数据库安全性设置
1. 实验的目的
1)熟悉通过SQL对数据进行安全性控制。
2)完成作业的上机练习。
2. 实验内容
要求:在SQLSERVER2000中利用SQL语句完成以下操作。
1)通过SQL对登入账号,用户的创建修改与删除。
2)通过SQL对角色管理,以及角色中添加用户。
3)对角色和用户数据的授权和权力回收
3. 实验步骤
1)复制生成xscj数据库的代码并运行。
2)创建登入账号和用户名s1,s2,t1,t2,l1,l2密码与账号相同默认登入访问xscj数据库。3)创建角色student,teacher,leader。
4)为角色student授权student表、course表和SC表的select 权力,拒绝修改和删除这三个表的权力
5)为角色teacher授权student表、course表和SC表的select 权力,以及对SC表的修改,插入更新的权力, 拒绝修改student表和course表的权力
6)为角色leader授权student表、course表和SC表的select 权力,以及对student表、course 表修改,插入更新的权力,拒绝修改和删除表SC的权力
7)将s1,s2加入student角色
8)将t1,t2加入teacher角色
9)将l1,l2加入leader角色
10)分别以s1,t1,l1登入服务器验证对student表、course表和SC表相应权限的验证
数据库原理与应用教程第四版 第五章答案
免责声明:私人学习之余整理,如有错漏,概不负责
1.视图的优点
简化数据查询语句、使用户能从多角度看待同一数据、提高了数据的安全性、提供了一定程度的逻辑独立性
2.使用视图可以加快数据的查询速度吗?为什么?
不对。其本质上还是执行视图内部的查询语句,通过视图查询数据时,都是转换为对基本表的查询,其简化了数据查询语句但是并不能加快数据查询速度。
3.写出创建满足以下要求的视图的SQL语句。
1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
CREATE VIEW v1(Sno,Sname,Sdept,Cno,Cname,Credit)
AS
SELECT s.Sno,Sname,Sdept,o,Cname,Credit
FROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o
2)查询学生的学号、姓名、选修的课程名和考试成绩。
CREATE VIEW v2(Sno,Sname,Cname,Grade)
AS
SELECT s.Sno,Sname,Cname,Grade
FROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o
3)统计每个学生的选课门数,列出学生学号和选课门数。
CREATE VIEW v3(Sno,选课门数)
AS
SELECT s.Sno,COUNT(*)
FROM Student s JOIN SC ON s.Sno = SC.Sno
GROUP BY Sno
《数据库原理及应用》第五章SQL查询
简单查询----选择记录
SELECT中用于完成选择记录(查询条件)的命令子句是: [WHERE <筛选条件> [AND | OR <筛选条件> ...]]
例7 查询会计学院学生的学号,姓名和院系属性。 SELECT 学号,姓名,所属院系 FROM student WHERE 所属院系="会计学院" 例8 查询学分少于3(不含3学分)的课程名称,课程性质 和学分。 SELECT 课程名称,课程性质,学分 FROM course WHERE 学分<3 例9 查询会计学院的非党员学生。 SELECT 学号,姓名,所属院系,政治面貌 FROM student WHERE 所属院系="会计学院" and 政治面貌 <>"党员"
SQL语言
SQL功能 命令动词
数据查询
数据定义 数据操纵
SELECT
CREATE、DROP、ALTER INSERT、UPDATE、DELETE
数据控制
GRANT、REVOKE
SQL语言
SQL语言的优点在于SQL不是面向过程的 语言,使用SQL语言只需描述做什么,而 不需要描述如何做,为使用者带来极大的 方便。本章将以讨论SQL的数据查询语言 为主,同时介绍数据定义语言和数据操纵 语言。本章中大部分例题使用“学生管理” 数据库,并假定数据库在Access的当前目录 下。
数据库原理模拟试卷五(答案)
8. 要使数据库具有可恢复性,最基本的原则是 ( D ) A.加强机房安全管理 B.安装防病毒设施 C.经常检修计算机系统 D.数据重复存储
9.在关系模式R中,F是最小函数依赖集,属性T只在F中诸函数依赖“→”的左端出现,则属性T具有以下性质 ( C ) A.属性T仅是R的主属性,但不包含于侯选键中 B.属性T必是R的非主属性
2. 分布式数据库系统的透明性包括(位置)透明性和(复制)透明性。 3. 在关系模型中,表的行称为元组,列称为(属性)。
4. 在SQL查询时,如果需要去掉查询结果中的重复组,应使用(DISTINCT)。 5. 封锁一般分为两种(排他型封锁,X封锁)和(共享型封锁,S封锁) 6. 模式/内模式映象为数据库提供了(物理)数据独立性。
7. 判断一个并发调度是否正确,可以用(可串行化)概念来解决 。 8. 关系数据库的关系演算语言是以(谓词演算)为基础的DML语言。
9. 在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的(自反)律就可推出。
10. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→A,B→C},则分解ρ = {AB,AC}丢失的FD是(B→C)。
WHERE JNO IN (SELECT JNO FROM SPJ
WHERE PNO=\ AND JNO IN (SELECT JNO FROM SPJ
《MySQL数据库原理、设计与应用》第5章课后习题答案
第五章
一、填空题
1.逗号或,
2. 3
3.FLOOR(3+RAND()*(11-3+1))或FLOOR(3+RAND()*9)
4.NULL
5.ON DUPLICATE KEY
二、判断题
1.错
2.对
3.错
4.对
5.对
三、选择题
1. D
2. B
3. D
4. A
5. C
四、简答题
1.请简述DELETE与TRUNCA TE的区别。
答:
①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结
构文件(.frm)重新创建数据表的方式来实现数据清空操作。而DELETE语句则是逐条的删除数据表中保存的记录。
②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,
决定了它比DELETE语句删除数据的方式执行效率更高。
③对AUTO_INCREMENT的字段影响不同,TRUNCATE清空数据后,再次向表中添加数据,自动
增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。
④删除数据的范围不同:TRUNCATE语句只能用于清空表中的所有记录,而DELETE语句可通过
WHERE指定删除满足条件的部分记录。
⑤返回值含义不同:TRUNCATE操作的返回值一般是无意义的,而DELETE语句则会返回符合条
件被删除的记录数。
⑥所属SQL语言的不同组成部分:DELETE语句属于DML数据操作语句,而TRUNCA TE通常被
认为是DDL数据定义语句。
2.请简述WHERE与HA VING之间的区别。
1
答:
①WHERE操作是从数据表中获取数据,用于将数据从磁盘存储到内存中,而HA VING是对已存放
数据库原理填空题和简答题
第一部分绪论
二.填空题
1. 数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。例如“据报
道,世界人口已达到23亿”,这是 __信息___。
2.DBS是_计算机软硬件环境____、_数据库文件__、_DBMS__、_数据库应用程序___和__DBA____的集合体。
3.数据库的三级模式结构是对DBMS的三个抽象级别。
4.DBMS是指位于操作系统和应用程序之间的一层管理软件。
5.要想成功的运转数据库,就要在数据处理部门配备数据库管理员。
6. 数据库系统结构由三级模式和二级映射所组成,三级模式是指内模式、模式、外模式,二级映射是指内模式/模式映射、模式/外模式映射
7. 有了外模式/模式映像,可以保证数据和应用程序之间的逻辑独立性 ,有了模式/内模式映像,可以保证数据和应用程序之间的物理独立性。
8.数据的独立性使得修改数据库结构时尽量不影响已有的逻辑独立性、应用程序
9. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性
10.根据计算机的系统结构,数据库系统可分成4种类型集中式数据库系统,网络数据库系统,分布式数据库系统,并行数据库系统
三. 简答题
1.数据管理技术的发展经历了哪几个阶段?各阶段与计算机技术的发展有何关系?
阶段: 1.人工管理阶段 2.文件管理阶段 3.数据库管理阶段
1.20世纪50年代中期以前,人工管理阶段时,因条件限制,所有数据量小,数据无结构而言,数据间缺乏逻辑联系,数据仅仅依赖于特定的应用,于是促进了文件管理的出现,代替人工阶段管理
《数据库原理与应用(Access)》第5章:设计和使用窗体
图5-5 “新建窗体”对话框
(2)在对话框列表框中选择“自动创建窗体:纵栏式”,在“请选择该对象数 据的来源表或查询”组合框中选择“学生信息”表。 (3)单击【确定】按钮,自动创建学生信息窗体。 (4)单击【关闭】按钮,出现“另存为”对话框,输入名字保存该窗体。 还可以利用同样的方法创建表格式和数据表窗体。
5.1.3 窗体的类型
Access2003窗体的类型主要有纵栏式窗体、表格式窗体、数据表窗体、主 /子窗体、图表窗体、数据透视表窗体和数据透视图窗体七种。 1.纵栏式窗体 纵栏式窗体的特点是一屏只显示数据表或查询中的一条记录。记录中各字 段纵向排列,每个字段的标题一般都放在字段左边。纵栏窗体比较适合用于图 书卡片、人事卡片等数据的输入或浏览。 2.表格式窗体 表格式窗体,如图5-1所示。其特点是一屏可显示数据表或查询中的多条记 录。每一条记录的所有字段内容在一行上显示,在窗体顶部显示字段的标题。
5.1.2 窗体的用途
窗体是用户与Access数据库应用系统进行人机交互的界面,其用途可归纳 为以下几点: 显示和编辑数据:可以根据的需求设计合理的显示界面,同时可以在窗体 中增加,修改和删除数据库中的数据。 控制应用程序的流程:Access窗体上的对象控件可以与宏或VBA编程相结 合,用来控制应用程序执行相应的操作。例如:在窗体上添加一个命令按钮, 并对其编写相应的宏或事件过程,当单击此按钮时,就会触发并运行一个宏对 象,执行相应的操作,从而达到控制程序执行流程的目的。 显示多媒体信息:窗体上既可以显示文字、警告及提示等信息,又可显示图像、 声音和视频等多媒体信息。 打印信息:即可以将窗体中的信息打印出来。
数据库系统原理第五章——完整性控制
13
2)参照完整性 ① 语句 ·FOREIGN KEY :指定外码属性
·REFERENCES:指定外码对应主码 ·ON DELETE CASCADE:指定捆绑删除要求 例:CREATE TABLE SC (XH NUMBER (8),KH NUMBER (3), CJ NUMBER (3), CONSTRAINT FK_SCXH FOREIGN KEY (XH) REFERENCES student (XH) ON DELETE CASCADE, CONSTRAINT FK_SCKH FOREIGN KEY (KH) REFERENCES course (KH) ON DELETE CASCADE);
12
4、ORACLE完整性 、 完整性 1)实体完整性 CREATE TABLE student (XH NUMBER (8), XM VARCHAR(8), YL NUMBER(3), Constraint PK-XH PRIMARY KEY (XH)); 一旦定义了主码,则DBMS自动进行完整性检查: ·主码不能为空; ·主码值须唯一。
9
3、用户定义完整性(integrity of user definition) 、用户定义完整性( ) 1)空值控制 ——对给定属性施加不允许空值限制(NOT NULL) 2)单个属性控制 为:(CJ is Null) OR (CJ BETWEEN 0 AND 100) 3)多属性控制 如:XB=‘男’ AND YL<=30 例1:CREATE TABLE DEPT (DEPTNO INT PRIMARY KEY, // //主码 DNAME CHAR(9) NOT NULL UNIQUE, //不允许为空,且不能重复 LOCATION CHAR(10) NOT NULL); 例2:CREATE TABLE SC (SNO INT, CNO INT, GRADE INT CHECK (GRADE>=0 AND GRADE<=100));
数据库原理期末考试复习题及答案五
五、综合题
得分
(本大题共 2 小题,每小题10 分,共20 分)
1.设某商业集团数据库中有一关系模式R 如下:
R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:
(1)每个商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式R 的基本函数依赖;(2 分)
(2)找出关系模式R 的候选码;(2 分)
(3)试问关系模式R 最高已经达到第几范式?为什么?(2 分)
(4)如果R 不属于3NF,请将R 分解成3NF 模式集。(4 分)
2.设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性
顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出E-R 图,注明属性和联系类型,并将E-R 模型转换成关系模式,要求关系模式主码加下划线表示。(E-R 模型4 分,关系模型6 分)
试题五参考答案与评分细则
一、单项选择题(共10 小题,每小题 2 分,共20 分)
二、填空题(共10 小题,每小题2 分,共20 分)。
1.数据库系统2.实体
3.选择4._数据操纵
5.DISTINCT _ 6._ GRANT _
7._ 删除异常8. 3
9.πA,D(σE='80'(R S)) 10.DROP _DELETE
三、简答题(共5 小题,每小题4 分,共20 分)。
数据库原理选择题总结(5-8章)
数据库原理选择题总结(5-8章)
第五章
1. 在数据库设计中,将ER图转换成关系数据模型的过程属于()(2001年10月全国卷)
A. 需求分析阶段
B. 逻辑设计阶段
C. 概念设计阶段
D. 物理设计阶段
2.在数据库设计中,表示用户业务流程的常用方法是( )(2003年1月全国卷)
A.DFD
B.ER图
C.程序流程图
D.数据结构图
3.把ER模型转换成关系模型的过程,属于数据库的( )(2002年10月全国卷)
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计
4.在ER模型中,如果有6个不同实体集,有9个不同的二元联系,其中3个1∶N联系,3个1∶1联系,3个M∶N联系,根据ER模型转换成关系模型的规则,转换成关系的数目是( )(2002年10月全国卷)
A.6
B.9
C.12
D.15
5.数据库设计属于()。
A、程序设计范畴
B、管理科学范畴
C、系统工程范畴
D、软件工程范畴
6.设计数据流程图(DFD)属于数据库设计的()
A、可行性分析阶段的任务
B、需求分析阶段的任务
C、概念设计阶段的任务
D、逻辑设计阶段的任务
7.在数据库的概念设计中,最常用的模型是()
A、实体联系模型
B、数学模型
C、逻辑模型
D、物理模型
8.数据库设计中,概念模型是()
A、依赖于DBMS和硬件
B、依赖于DBMS独立于硬件
C、独立于DBMS依赖于硬件
D、独立于DBMS和硬件
9.ER图是数据库设计的工具之一,它适用于建立数据库的()。
A、需求模型
B、概念模型
C、逻辑模型
D、物理模型
10.ER方法中用属性描述事物的特征,属性在ER图中表示为()
(完整版)数据库原理第五版习题答案
( 3)数据库系统(DataBas。Sytem,简称DBS ):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。解析数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,可以说数据是某个应用的“私有资源”。所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,只需做很少的改动。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据,便可以满足新的需求。
数据库原理考试题库及答案(5)
数据库原理考试题库及答案(5)
数据库原理考试题库及答案
课程代码:2120
第⼀部分选择题 (共40分)
⼀、单项选择题(本⼤题共20⼩题,每⼩题2分,共40分)在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的。请将其代码填在题后的括号内。错选或未选均⽆分。
1.在数据库系统中,⾯向⽤户、也就是⽤户所涉及的数据库被称为( )
A.外模式
B.概念模式
C.存储模式
D.模式
2.数据模型表⽰的是数据库框架,要构建为数据库,必须在框架的约束下填上( ) A.具体数
据 B.取值范围
C.联系
D.联系⽅式
3.学⽣实体通过"学号"、"姓名"、"年龄"、"性别"和"成绩"等属性来表明学⽣状况,这是( )
A.实体值
B.实体型
C.属性值
D.属性型
4.设⼀个仓库存放多种商品,同⼀种商品只能存放在⼀个仓库中,仓库与商品是( )
A.⼀对⼀的联系
B.⼀对多的联系
C.多对⼀的联系
D.多对多的联系
5.将1NF规范为2NF,应( )
A.消除了⾮主属性对键的部分函数依赖
B.消除了⾮主属性对键的传递函数依赖
C.消除了主属性对键的部分函数依赖和传递函数依赖
D.使每⼀个⾮主属性都完全函数依赖于主键
6.建⽴E-R模型的⼯作属于数据库⽣命周期中的( )
A.分析阶段
B.设计阶段
C.编码阶段
7.针对数据库⽂件的某个关键字段的值,在逻辑上重新排列库⽂件顺序所建⽴的⽂件称为( )
A.⽂本⽂件
B.索引⽂件
C.排序⽂件
D.命令⽂件
8.已知a=″car″,b=″bus″,c=″class″,d=″duck″,e=MIN(a,b,c,d),则e等于( )
A.duck
数据库1-5习题及答案
《数据库原理与应用》习题(1)
一、单项选择题(每小题1分,共10分)
1.要保证数据库逻辑数据独立性,需要修改的是( )
A.模式
B.模式与内模式的映射
C.模式与外模式的映射
D.内模式
2.下列四项中,不属于数据库特点的是( )
A.数据共享
B.数据完整性
C.数据冗余很高
D.数据独立性高
3.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( )
A.多对多
B.一对一
C.多对一
D.一对多
4.反映现实世界中实体及实体间联系的信息模型是( )
A.关系模型
B.层次模型
C.网状模型
D. E-R模型
5.对数据库并发操作有可能带来的问题包括( )
A.读出“脏数据”
B.带来数据的冗余
C.未被授权的用户非法存取数据
D.破坏数据独立性
6.关系数据模型的三个组成部分中,不包括( )
A.完整性规则
B.数据结构
C.数据操作
D.并发控制
7.SQL语言的REVOKE语句实现下列哪一种数据控制功能?
A.可靠性控制
B.并发性控制
C.安全性控制
D.完整性控制
8.事务有多个性质,其中不包括( )
A.一致性
B.唯一性
C.原子性
D.隔离性
9.SQL语言通常称为( )
A.结构化查询语言
B.结构化控制语言
C.结构化定义语言
D.结构化操纵语言
10.如何构造出一个合适的数据逻辑结构是( )主要解决的问题。
A.关系数据库优化
B.数据字典
C.关系数据库规范化理论
D.关系数据库查询
二、填空题(每小题1分,共10分)
1.SQL语言提供数据库定义、________ 、数据控制等功能。
2.数据库保护问题包括:________ 、完整性、故障恢复和并发控制等多方面。
数据库原理及应用课件:第5章 架构与基本表
4.货币类型
货币类型
说明
存储空间
money
存储–922,337,203,685,477.5808到922,337,203,685,477.5807范围的数值,精确到小数点后4位
8字节
smallmoney
存储-214,748.3648 到214,748.3647范围的数值,精确到小数点后4位
【例7】创建一个名为telephone的数据类型,其相应的系统数据类型为:char(8),不允许空 CREATE TYPE telephone FROM CHAR(8) NOT NULL 【例8】exec sp_addtype zipcode, 'char(9)',null
用户定义数据类型
定义一个采用24小时制并带有秒的小数部分的日期和时间,范围为到-,时间范围是00:00:00到23:59:59.997。默认格式为:YYYY-MM-DD hh:mm:ss.nnn,n为数字,表示秒的小数部分(精确到0.00333 秒)
8字节
日期时间 类型
说明
存储空间
smalldatetime
定义一个采用24小时制并且秒始终为零(:00)的日期和时间,范围为到。默认格式为:YYYY-MM-DD hh:mm:00。精确到1分钟
数据库基础与实践技术 (SQL Server 2008)
数据库系统原理自考题-5_真题(含答案与解析)-交互
数据库系统原理自考题-5
(总分100, 做题时间90分钟)
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要求的。
1.
下列哪个选项不属于数据管理技术进入数据库阶段的标志______ A.层次模型的IMS系统的推出
B.具有数百兆字节容量和快速存取的磁盘进入市场
C.网状模型的提出
D.关系模型的提出
SSS_SIMPLE_SIN
A B C D
分值: 2
答案:B
本题主要考查的知识点为数据库管理技术的发展阶段。
具有数百兆字节容量和快速存取的磁盘进入市场,只是为数据库技术的产生提供了良好的物质条件,并不是数据管理技术进入数据库阶段的标志。
2.
在数据库系统中,提供数据与应用程序间物理独立性的是______ A.外模式/逻辑模式映像B.逻辑模式/内模式映像
C.外模式/内模式映像D.子模式/逻辑模式映像
SSS_SIMPLE_SIN
A B C D
分值: 2
答案:B
主要考查的知识点为物理独立性。
逻辑模式/内模式映像定义逻辑模式和内模式之间的对应性,提供的是数据与应用程序之间的物理独立性。
3.
下列描述中正确的是______
A.概念模型独立于硬件,但依赖于软件B.逻辑模型独立于硬件和软件
C.外部模型独立于硬件,但依赖于软件D.内部模型依赖于硬件,但独立于软件
SSS_SIMPLE_SIN
A B C D
分值: 2
答案:C
本题主要考查的知识点为根据数据抽象的级别定义的四种模型。
C选项是正确的,其他选项的正确表述应该为:概念模型独立于硬件和软件,逻辑模型独立于硬件但依赖于软件,内部模型依赖于硬件和软件。
4.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19 24 28 31
289 311 419 430
单元存 储区
5 203 6 211 211 7 223 8 9 10 231 11 237 12 241 229
最单 高元 键存 值储 区
值单 相元 对存 地储 址最 高 键
最 指溢 高 针出 键 链 值 头
13 14 15 16 …
255
259
267 271 …
Student(SNO,SNAME,SEX,BIRTHDATE,DEPT)
散列函数 H(SNO)=Address
900412 李林 … 计算机系
@addr
H(900412)=@addr
900412
李林
…
计算机系
存储空间
直接文件存在的问题:
键所映射的地址范围固定(地址范围设的太大或 太小都不好,为什么?)。 地址重叠问题(处理地址重叠增加了开销)。 直接文件只对散列键的访问有效。 不便于处理变长记录。 对于通用的DBMS很难找到通用的散列函数。 上述原因导致直接文件目前在数据库系统中使用不多。
3.索引文件
索引相当于一个映射机构,把关系中相应记录 的某个(些)属性的键值转换为该记录的存储地 址(或地址集)。
@addr3 900418 @addr2 900412 @addr1 900417
…
…
周力
…
计算机系
SNO 900412
Address @addr2 @addr1 @addr3 …
李林
溢出区
271
16
271
1 2 3 4 5 6 7 8 9 10 11 12
Байду номын сангаас
121 134 167 182 203 211 223 229 231 237 241 13 14 15 16 … 255
索引键
单元存 储区
259
267 271 …
最单 高元 键存 值储 区
值单 相元 对存 地储 址最 高 键
对反复出现的字符串,可以用一个 省略符代替。
例如,串型表如右:
IBM PC/XT
0000
@
#
原始数据 IBM PC/XT 00001 IBM PC/XT 00002
压缩数据
@#1 @#2
3.索引法(indexing) 串行代替法的变种,对重复出现的串行, 单独存储,在用到这些串行的地方,用指针 引用它。
记录8 记录7 记录6 记录5 记录4 记录3 记录2 记录1
记录8 记录7
作删除 标记
记录6 记录5 记录4 记录3 记录2 记录1
集中删除 记录,并 进行记录 重排
记录8 记录7 记录5 记录3 记录1
2.直接文件
直接文件中,将记录的某一属性用散列函数直 接映射成记录的地址,被散列的属性称为散列键。
索引法示例:
原始数据 SHOP# 0001 0002 0003 0004 0005 CITY Nanjing Nanjing Nanjing Shanghai Shanghai 压缩数据 SHOP# 0001 0002 0003 0004 0005 CITY CITY表 Beijing Nanjing
…
计算机系
900417 900418
陈燕
…
计算机系
…
存储空间
学生表的索引文件
索引与散列的区别——索引文件有记录才占用 存储空间,使用散列空文件也占用全部文件空间。 索引本省占用空间,但索引一般较记录小得多
针对非散列键和非索引属性的访问,都不能有效发挥直 接文件或索引文件的优势。散列或索引失效时,两者谁的访 问代价更大?
为了便于检索,索引项总是按索引键排序。
文件中的记录按索引键排序吗?
注意:索引项记录,并不是文件中的记录 按索引键排序 受按门牌号找住户的启示(住户在“物理” 上按门牌号码排序),提出非稠密索引。
非稠密索引与稠密索引
1.不为每个键值设立索引项的索引——非稠密索引 2.可以节省索引的存储空间,代价是文件要按索引 键排序 3.对一个文件,只能为一个索引键(一般为主键) 建立非稠密索引(为什么?)
删除记录较麻烦 假设,要删除右图堆文件中 的第2,4,6条数据记录。 直接删除这三条记录的情况 如右图所示。 带来什么问题? 空间回收问题,后续记录 需搬移,影响对文件的操作效 率。
堆 文 件
记录8 记录7 记录6 记录5 记录4 记录3 记录2 记录1
解决方法
堆 文 件 堆 文 件 堆 文 件
5.2.2 记录在物理块上的分配
磁盘上,记录必须分配到物理块中。
记录跨快存储(spanned) 记录不垮块存储(unspanned)
设B为物理块的有效空间大小,R为固定长记 录的大小,若B>R,则每个物理块可容纳的记录 数为: p=[B/R] p称为块因子(Blocking Factor)。
OS与DBMS都有各自的缓冲区。 不少DBMS采用延迟写与提前读技术,减少 I/O,改善性能。
5.2 记录的存储结构
记录是目前商用数据库的基本数据单元,有定 长和变长之分。 记录的存储结构
1.定位法——每个字段按其最大可能长度分配定长的 位臵
LIbbb MINGbbb MALEbb 1967
文件访问方式按设计文件结构的观点分5类
1.查询文件的全部或相当多的记录(≥15%) 2.查询某一特定记录 3.查询某些记录 4.范围查询 5.记录的更新
5.3.2 数据库对文件的要求
一些DBMS就以OS的的文件管理系统作为 其物理层的基础,更多的DBMS不用OS的文件 管理系统,而是独立设计其存储结构。原因 如下:
记录一般不会刚好填满物理块,会留下不用的零头 空间: B―p×R<R
记录1 记录2 记录3 记录4
为了利用这部分空间,可以利用记录的跨块存储组 织(spanned organization)。
定长记录(跨块)
记录1 记录2 记录3 记录4
块i
块i+1
记录4( 剩余部 分)
记录5
记录6
记录7
相对地址
稠密索引(dense index)
每个键值对应一个索引项——稠密索引。 稠密索引的预查找功能(用记录的地址代替记录参与 集合运算,减少I/O次数)。 索引溢出的问题
稠密索引中,每增加一个键值,就要增加一个索引项。 索引也会有溢出的可能。 解决方法:1.在每个索引块中预留发展的空间 2.建立索引溢出区
5 12 18
2.相对法——每个字段没有固定的长度,而是用特 殊的字符分隔开
LI? MING? MALE? 1967#
问题:字段中也需要用到这些分隔符时,如何进行 表示?
3.计数法——每个字段的开始加上表示该字段长度 的字段
02LI04MING04MALE041967
问题:计数法对字段的实际长度有什么要求?
以物理块为交换单位的优点: 1).减少I/O的次数,从而减少寻道和等待的时间。 2).减少间隙的数目,提高磁盘空间利用率。 物理快的大小由OS决定。
一般,在磁盘和内存之间设立缓冲区以解决 二者的速度不匹配问题。
由于有多个缓冲块可供申请使用,磁盘的读写 操作和读写数据的处理可以重叠进行。
i块缓冲块A 读出: 处理: i+1块缓冲块B i+2块缓冲块A 处理A中i块 处理B中i+1块
4.非稠密索引中,若干个记录组成一个单元存储区,单 元存储区中的记录按索引键排序。 5.单元存储区装满后,可向溢出区溢出(用指针指向溢 出区),但溢出太多时,指针链接次数增加,将导致数 据库性能下降。 6.可以建立多级非稠密索引(通常最高一级索引应尽量 保证可以常驻内存)。
示例
191
182 223 241 271 430 601 289 311 419 430 19 24 28 31 289 311 419 430 4 7 12 201 223 251 249 201 251
Shanghai
问题:索引法对串型的长度有什么要求?
5.3 文件结构和存取路径
5.3.1 访问文件的方式
传统的数据模型都以记录为基础,记录的集合构成 文件。文件须按一定的结构组织和存储记录,按一定 的存取路径访问有关记录。 对数据库的操作最终要落实到对文件的操作。 文件结构及其所提供的存储路径直接影响数据访问 的速度,通常针对不同的数据访问采用不同的文件结 构。
1.主索引——以主键为索引键(primary index)。 2.次索引——以非主键为索引键(secendary index),建立次索引可以提高查询的效率,但增 加了索引维护的开销。 3.倒排文件——主索引+次索引的极端情况(文件 的所有属性上都建立索引),有利于多属性值的 查找,但数据更新时开销很大。
传统文件系统不能提供实现DBMS功能所需的附 加信息。DBMS为了实现其功能,须在文件目录、 文件描述块、物理块等部分附加一些信息。 传统文件系统主要面向批处理,数据库系统要 求即时访问、动态修改。这就要求文件的结构能 适应数据的动态变化,提供快速访问路径。
传统文件系统服务对象特殊,用途单一,共享 度低;数据库中的文件供所有用户共享,有些用 途甚至是不可知的。
最 指溢 高 针出 键 链 值 头
相对地址
查找索引键为211的记录的存储地址
191
182 223 4 7 7 12 201 223 251 249 201 251
211
271 430 601
241
溢出区
271
16
271
1 2 3 4
121 134 167 182
索引键
289 311 419 430
第五章 数据库的存储结构
5.1 数据库存储介质的特点
数据库是大量、持久数据的集合,在现阶段 用内存作为数据库的存储介质是不合适的。
采用多级存储器,用的最多的辅存是磁盘。 光盘由于速度和价格上的原因,近期无法取 代硬盘。 磁带是顺序存取存储器,通常用作后备存储 器。
活动头磁盘的存取时间由三部分组成:寻道 时间、等待时间以及传输时间。 磁盘上的数据划分为大小相等的物理块。磁 盘与内存间的数据交换以物理块为单位。
1.稠密索引中,若键值不唯一,则在最低级索引中, 每个键值对应的可能是一个地址集(对应多个记 录)。如果这些记录分散在不同的物理块内,稠密 索引的优点并不能体现出来(并不一定能减少 I/O)。 例如:某个键值对应100个记录,且这100个记录 分散在100个物理块中,虽然通过稠密索引可以一 次获得这100个地址,但仍然要访问100个物理块。
1、连续分配法(contiguous allocation)
将一个文件的块分配在磁盘的连续空间上, 块的次序就是其存储的次序,有利于顺序存取 多块文件,不利于文件的扩充。 2、链接分配法(linked allocation)
物理块未必分配在磁盘的连续存储空间上, 各物理块用指针链接,有利于文件的扩展,但 效率较差。
变长记录(跨块)
记录1 记录2 记录3
块i
块i+1
记录3(剩 余部分)
记录4
记录5
5.2.3 物理块在磁盘上的分配
早期的DBMS中,通常由操作系统分配数 据库所需的物理块,逻辑上相邻的数据可能 被分散到磁盘的不同区域。使得访问数据时, 性能下降。 现代DBMS中,都改由DBMS初始化时向操 作系统一次性的申请所需的存储空间。
减少DBMS对OS的依赖,提高DBMS的可移植性。
传统文件系统一旦建立以后,数据量比较稳定; 数据库中文件的数据量变化较大。
5.3.3 文件的基本类型
不同类型的访问各有其使用的文件结构和 存取路径。DBMS通常提供多种文件结构,供数 据库设计者选用。
1.堆文件(heap file) 2.直接文件(direct file) 3.索引文件(indexed file)
1.堆文件
堆 文 件 记录6 记录5 记录4 记录3 记录2 记录1 记录6
记录1 记录2 …
最简单、最早使用的文 件结构。记录按其插入 的先后次序存放(所有 记录在物理上不一定相 邻接) 堆文件插入容易、查找 不方便(所提供的唯一 存取路径就是顺序搜索)
适于访问全部或相当多的记录,对于其它类访问效率 较低。(设文件记录数为N,查找某一记录的平均访问 次数为N+1/2) 若堆文件的记录按检索属性排序,可用二分查找法。 (但要以排序为代价)
3、簇集分配法(clustered allocation) 上述两种方法的结合。 4、索引分配法(indexed allocation) 每个文件有一个逻辑块号与其物理块地址对 照的索引。
数据压缩技术
1.消零或空格符法(null suppression) 例如,bbbbb可以用#5表示; 000000可以用@6表示等。 2.串型代替法(pattern substitution)