《数据库原理知识点.docx》由会员分享,可在线阅读,更多相关《数据库原理知识点.docx(1页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据(Date):是数据库中存储的基本对象。描述事物的符号 记录称为数据。描述事物的符号可以是数字,也可以是文字、 图形、图像、声音、语言等,数据有多种表现形式,他们都 可以经过数字化后存入计算机。数据库(DB):是存放数据的仓库。数据库是长期储存在计算机 内、有组织的、可共享的大量数据的集合。数据库管理系统(DBMS)是唯一用户与操作系统之间的一 层数据管理软件。数据库管理系统和操作系统一样是见算计 的基础软件,也是一个大型复杂的软件系统它的主要功能包 括:数据定义功能、数据组织、存储和管理、数据操纵功能、 数据库的事物管理和运行管理、数据库的建 、工和维护功能 数据库系统(DBS):是指在
2、计算机系统中引入数据库后的系 统,一般由数据库、数据库管理系统(及其开发工具)、应 用系统、数据库管理员构成。数据管理三个阶段:人工管理阶段、文件系统阶段、数据库 系统阶段数据模型的组成要素:数据结构、数据操作、完整性约束 常用的数据模型:层次、网状、关系模型关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY 定义 关系模型的参照完整性在CREATE TABLE中用 FOREIGN KEY短语定义关系的三类完整性约束:实体完整性、参照完整性、用户定 义的完整性,前两个被称作关系的两个不变性。数据库的三级模式结构:外模式、模式和内模式外模式对应于视图和部分基本表,模式对应于
3、基本表,内模 式对应于存储文件。数据库的二级映像功能:两层映像:外模式/模式映像、模式 /内模式映像这两层映像保证了系统中的数据能够具有较高 的逻辑独立性和物理独立性传统的集合运算:并、差、交、笛卡尔积 专门的关系运算:选择、投影、连接、除 SQL集数据查询、数据操纵、数据定义和数据控制于一体 主要特点:综合统、高度非过程化、面向集合的操作方式、 以同一种语法结构提供多种使用方式、语言简洁,易学易用 候选码:若关系中的某一属性的值能唯一地标识一个元组, 则称该属性组为候选码。主码:若一个关系有多个候选码, 则选定其中一个为主码。主码不能为空。触发器是用户定义在关系表上的一类由事件驱动的特殊过
4、程。作用:一旦定义,任何用户对表的增删改操作均由服务 器自动激活相应的触发器,在DBMS核心层进行集中地完整 性控制。触发器类似于约束,但是比约束更加灵活,可以实 施比FOREIGN KEY约束、CHECK约束更为复杂的检查和操作, 具有更精细和更强大的数据控制能力。查询处理的步骤:查询分析查询检查查询优化查询执行 并发控制保证了事务的什么性质:隔离性和一致性。排他锁(写锁、X锁)若事务T对数据对象A加上X锁,则 只允许T读取和修改A,其他任何事务都不能再对A加任何 类型的锁,直到T释放A上的锁。这就保证了其他事务在T 释放A上的锁之前不能再读取和修改A共享锁(读锁、S锁)若事务T对数据对象A
5、加上S锁,则 事务T可以读A但不能修改A,其他事务只能再对A加S锁, 而不能加X锁,直到T释放A上的S锁。这就保证了事务可 以读A,但在T释放A上的S锁可串行化调度:多个事务的并发执行是正确的,当且仅当其 结果与按某一次序串行的执行这些事务时的结果相同,称这 种调度策略为可串行化的调度。两段锁协议:是指所有事务必须分两个阶段对数据项加锁和 解锁。1在对任何数据进行读、写操作之前,首先要申请并 获得对该数据的封锁2在释放一个封锁之后,事务不再申请 和获得任何其他封锁。故障的种类:事务内部故障、系统故障、介质故障、计算机 病毒 各种故障对数据的影响有两种可能性。一是数据库本 身被破坏:二是数据库没
6、有破坏,但数据不正确。事务通常从BEGIN TRANSACTION开始,以COMMIT或 ROLLBACK结束(OMMIT表示提交,即提交事务的所有操 作,ROLLBACK表示回滚等级日志文件的原则:登记的次序严格按并非事务执行的 时间次序必须先写日志文件,后写数据库E-R模型(也称概念模型)反映现实世界中实体及实体间的 联系军会模型实体以及实体间的联系用关系(即二维表)表示。必须使用游标的SQL语句有:查询结果为多条记录的SELECT 语句、CURRENT形式的UPDATE和DELECT语句。1第一范式(INF)数据库表中的字段都是单一属性的,不 可再分。2第二范式(2NF)数据库表中不存在
7、非关键字段 对任一候选关键字段的部分函数依赖(部分函数依赖指的是 存在组合关键字中的某些字段决定非关键字段的情况),也即 所有非关键字段都完全依赖于任意一组候选关键字。3第三 范式(3NF)满足第三范式(3NF)必须先满足第二范式(2NF) 简而言之第三范式(3NF)要求一个数据库表中不包含已在 其它表中已包含的非主关键字信息。函数依赖:设R(U)是属性集U上的关系模式。X,Y是U的子 集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个 元组在X上的属性值相等,而在丫上的属性值不等,则称X 函数确定丫或丫函数依赖于X,记作X-Yx-y,但是y x,则称x-y是非平凡的函数依赖x-y但
8、是y x则称x-y是平凡的函数依赖多值依赖:设R(U)是属性集U上的一个关系模式。X, Y, Z 是U的子集,并且Z=U-X-Yo关系模式R(U)中多值依赖X- Y成立,当且仅当对R(U)的任一关系r,给定的一对(x, z)值 有一组丫的值,这组值仅仅决定于x值而与z值无关。数据库设计的六个阶段:需求分析:准确了解与分析用 户需求(包括数据与处理)概念结构设计:通过对用户需求 进行综合,归纳与抽象,形成一个独立于具体DBMS的概念 模型。逻辑结构设计:将概念结构转换为某个DBMS所支 持的数据模型,并对其进行优化。物理结构设计:为逻辑 数据模型选择一个最适合应用环境的物理结构(包括存储结 构和
9、存取方法)数据库实施:建立数据库,编制和调试应 用程序,组织数据入库,并进行试运行数据库运行和维护 1简要说明三级模式时数据独立性的作用当模式改变时,有数据库管理员对各个外模式/模式的映像作 相应改变,可以使外模式保持不变。应用程序是依据数据的 外模式编写的,从而应用程序不必修改,保证了数据与程序 的逻辑独立性。当数据库的存储结构改变了,由数据库管理 员对模式/内模式映像作相应改变,可以使模式保持不变,从 而应用程序也不必改变。保证了数据与程序的物理独立性。2什么是数据字典?它包含哪些项?数据字典:是系统中各类数据描述的集合,是进行详细的数 据收集和数据分析所获得的主要成果。包括:数据项,数据
10、 结构,数据流,数据存储和处理过程。3.数据库的完整性和安全性的概念有什么区别和联系? 数据库的完整性是指数据的正确性和相容性数据库的安全 性是指保护数据库以防止不合法的使用所造的数据泄漏、更 改或破坏。数据的完整性是为了防止数据库中存在不符合 语义的数据,也就是防止数据库中存在不正确的数据。数据 的安全性是保护数据库防止恶意的破坏和非法的存取。因此, 完整性检查和控制的防范对象是不合语义的、不正确的数据, 防止它们进入数据库,安全性控制的防范对象是非法用户和 非法操作,防止他们对数据库的非法存取。4.视图和基本表的比较视图是从个或几个基本表导出的 表。它与基本表不同,是一个虚表。数据库中只存
11、放视图的 定义,而不存放视图对应的数据,这些数据仍存放在原来的 基本表中。所以基本表中的数据发生变化,从视图中查询出 的数据也就随之改变了。从这个意义上讲,视图就像一个窗 口,透过它可以看到数据库中自己感兴趣的数据及其变化。 区别:1视图是已经编译好的sql语句,而表不是2视图没有 实际的物理记录,而表有。3表是内容,视图是窗口 4表只用 物理空间而视图不占用物理空间,视图只是逻辑概念的存在, 表可以及时四对它进行修改,但视图只能有创建的语句来修 改5表是内模式,试图是外模式6视图是查看数据表的一种 方法,可以查询数据表中某些字段构成的数据,只是一些SQL 语句的集合。从安全的角度说,视图可以
12、不给用户接触数据 表,从而不知道表结构。7表属于全局模式中的表,是实表; 视图属于局部模式的表,是虚表。8视图的建立和删除只影 响视图本身,不影响对应的基本表。联系:视图(view)是在基本表之上建立的表,它的结构(即 所定义的列)和内容(即所有数据行)都来自基本表,它依 据基本表存在而存在。一个视图可以对应一个基本表,也可 以对应多个基本表。视图是基本表的抽象和在逻辑意义上建 立的新关系5SQL视图机制的优点:(1)视图能够简化用户的操作(2) 视图使用户能以多种角度看待同一数据(3)视图对重构数据 库提供了一定程度的逻辑独立性(4)视图能够对机密数据提 供安全保护(5)适当的利用试图可以清
13、晰的表达查询。6. SQL语言有哪两种使用方式,分别是什么? 交互式和嵌入式。7什么是死锁?在数据库中有哪些解决死锁的方法?死锁:如果事务T1封锁了数据RI, T2封锁了数据R2,然后 T1 乂请求封锁R2,因为已封锁了 R2,于是T1等待t2释放 r2上的锁。接着T2又申请封锁R1,因T1已封锁了 RI, T2 也只能等待T1释放R1上的锁。这样就出现了 T1在等待T2, 而T2又在等待T1的局面,T1和T2两个事务永远不能结束, 形成死锁。死锁的诊断:(1)超时法。(2)等待图法。解决死锁:1要求每个事物一次就要将它所需要的数据全部 加锁2预先规定一个封锁顺序,所有的事物都要按这个顺序 实
14、行封锁。3允许死锁发生,当死锁发生时,选择一个处理 死锁代价最小的事务,将其撤销,释放此事务持有的所有的 锁,将某个事务得以继续运行下去。当然,对撤销的事务所 执行的数据修改操作必须加以回复。8 .简述DBMS中事务的含义和特性事务:是用户定义的个数据库操作序列,这些操作要么全 做要么全不做,是一个不可分解的工作单位。事务的特性: 原子性、一致性、隔离性、持续性。原子性指事物是数据库 的逻辑工作单位事物中的操作要么都做要么都不做 一致性指事物执行的结果必须使数据库从一个一致性状态 变到另一个一致性状态隔离性指数据库一个事物的执行 不能被其他事物干扰。即一个事物内部的操作及使用的数据 对其他事物
15、是隔离的并发执行的各个事物不能相互干扰。 持久性指名物旦提交则其对数据库中数据的改变是永久 的以后的操作或故障不会对事物的操作结果产生任何影响。9 .在数据库中发生什么要有并发控制?在数据库中为什么 要有并发控制?并发操作带来的数据不一致性有:丢失修改、不可重复读和 读脏数据数据库是共享资源,通常有许多个事务同时在运 行。当多个事务并发地存取数据库时就会产生同时读取和/ 或修改同数据的情况。若对并发操作不加控制就可能会存 取和存储不正确的数据,破坏数据库的一致性。所以数据库 管理系统必须提供并发控制机制。SQL语言是结构化查询语言1 GRANT语句(向用户授予权限)creat Role RI;
16、grant select,update,insert on table Student to RI;grant RI to王平,张明,赵玲2 REVOKE Revoke select on table student from RI;3视图语句仓犍视图:create view ls_Student as select Sno,Sname,Sage from Student where Sdept=/ls/;删除视图:删除视图BT_S: drop view BT_S:插入语句:insert intostudent(Sno,Sname,Ssex,Sdept,Sage)values(20121212
17、3:陈东男&修改 update Student set Sage=22 where Sno=200215121;删除:delete from Student where Sno=/200215128,;代数关系:(1)对于否定操作,用差运算。(2)有“全部” 字眼,要用除法操作运算。例:查询选修了全部课程的学生学好和姓名riSno,Cno(SC)-j- nCno(Course)0riSno/Sname(Student)1检索全部学生选修的课程的课程名Select distinct cname from sc,course where o=o;2检查年龄大于N岁的男学生的姓名Select sna
18、me from student where ssex=男and sagen;3向学生表添加,sex,取值只能为,男,和,女,的约束Alter table Student add constraint cl check (Ssex in(男女);4在sc中检索成绩为空值的学生学号和课程号Select sno,cno from sc where grade is null;5检查选修课程,XV的学生成绩最高的学生的学号Select Max(Grade) from SC where Cno=XX;6检查至少选修了课程号为CX和CY的学生学号Select Sno from SC where cno=C
19、X and sno in (select Sno from sc where cno=CY)7检索选修课程包含XX老师所授课的学生学号SELECT DISTINCT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=XX)8检索至少选修XX老师所授课程中一门课程的男学生姓名 Select sname from student where ssex=男and sno= (select distinct sno from sc,course where course.teacher=/xx, and o=o)9求XX老师所授课程的课程号和
20、课程名Select eno,cname from course where teacherXX710向s中插入一个学生元组(517WUI7187女,)Insert into s values (/sl/;WUI7187i,)11求选修课程号为“ex”课程的学生的平均成绩Select avg(grade) from sc where cno=l;12为选课表的sn。列添加名为isno的级联删除的外键约束 Alter table sc add constraint isno freign key (sno) references student (sno) on delete cascade.13
21、在SC基本表中删除尚无成绩的选课元组Delect from sc where grade is null;14在基表s中检索每一门课程成绩都大于等于60分得学生 Insert into stupent (s#,sname,sex) select sno,sname,sex from student where sno not in (select distinct sno from where gradeC, C-DZ D-E ,请回答如下的问题:R最高属于第儿范式?说明理由;(2)如果R不属于第三范式?说明理由,并分解R为符合第三 范式的关系模式集合。问答第11题(1)R最高属于2NF范式。理由:关系模式R(U,F)的主码是 (A,B),非主属性存在对码的传递函数依赖AB-C, C-D, D-Eo(2)R不属于第三范式,理由:关系模式R(U,F)的主码是(A,B), 非主属性存在对码的传递函数依赖AB-C, C-D, D-Eo分解为符合第三范式的关系模式集合如下:R1(A,B,Q R2(C,D) R3(D,E)
限制150内