数据库重点Word下载.docx
《数据库重点Word下载.docx》由会员分享,可在线阅读,更多相关《数据库重点Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
![数据库重点Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/d27ea912-7934-4d60-af5e-3e4c31c69b1a/d27ea912-7934-4d60-af5e-3e4c31c69b1a1.gif)
WHEREP.PNO=SPJ.PNOANDSPJ.JNO='
J2'
(5)找出上海厂商供应的所有零件号码。
SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='
上海'
(6)出使用上海产的零件的工程名称。
SELECTJNAMEFROMSPJ,S,J
WHERES.SNO=SPJ.SNOANDS.CITY='
ANDJ.JNO=SPJ.JNO
(7)找出没有使用天津产的零件的工程号码。
注意:
SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='
天津'
)适用于JNO是唯一或不唯一的情况.
注意:
SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY<
>
'
适用于JNO是唯一的情况
(8)把全部红色零件的颜色改成蓝色。
UPDATEPSETCOLOR='
蓝'
WHERECOLOR='
红'
(9)由S5供给J4的零件P6改为由S3供应。
UPDATESPJSETSNO='
S3'
WHERESNO='
S5'
ANDJNO='
J4'
ANDPNO='
P6'
(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETEFROMSWHERESNO=’S2’
B、DELETEFROMSPJWHERESNO=‘S2’
(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200)
第四章数据安全性(识记概念)
4.2数据库安全性控制
计算机系统的三类安全性问题:
技术安全、管理安全、政策法律
安全标准 P131
4.2数据库安全性控制
用户标识与鉴别存取控制自助存取控制
a定义用户权限,并将用户权限登记到数据字典中b合法权限查询
授权与回收
授权:
GRANT<
权限>
[,<
]
ON<
对象类型>
<
对象名>
TO<
角色>
]...
回收:
REVOKE<
]...
FROM<
角色[,<
第五章数据库的完整性(识记概念)
数据完整性是指数据的正确性和相容性
5.1实体完整性
在CreateTable中用PRIMARY KEY 定义
RDBMS查询主码是否唯一,不唯一则拒绝插入和修改;
检查各主码属性是否为空只要有一个为空则拒绝插入和修改。
从而保证实体完整性。
5.2参照完整性
参照完整性检查和违约处理
拒绝执行联机操作设置为空
5.3用户定义的完整性
列值非空(NOLNULL短语)
列值唯一(UNIQUE)检查列值是否是一个布尔表达式(check短语)
5.4完整性约束的命名子句
CONSTRAINT<
完整性约束条件名>
[PRIMARYKEY短语|FOREIGNKEY短语|CHECK短语]
*第六章关系数据库理论
6.1数据库存在的问题
数据库存在的问题
数据冗余太大更新异常插入异常删除异常
6.2规范化
函数依赖
非平凡的函数依赖平凡函数依赖完全函数依赖部分函数依赖传递函数依赖直接函数依赖
多值依赖
码
范式
2NF
3NF
BCNF
第七章数据库设计
数据库设计概论
数据库设计的基本方法
计算机的基础知识
软件工程的原理和方法数据库的基本知识数据库设计技术
应用领域的知识
数据库设计的基本步骤
需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、
数据库运行维护。
需求分析的任务:
通过详细设调查现实世界要处理的对象(组织、部门、企业),充分了解原系统工作概况,明确用户的各种需要,然后再此基础上确定新的功能
获得用户对数据库如下要求信息要求处理要求安全性和完整性要求
需求分析的方法
调查组织机构情况调查各部门的业务活动情况
再熟悉了业务活动的基础上,协助用户对新业务的各种要求
确定新的系统边界
调查方法有跟班作业开调查会询问设计调查表请用户填写查阅记录
*数据流图表达了数据和处理的关系
处理过程用判定树和判定表描述
数据结构设计的方法与步骤
自顶向下自底向下逐步扩张混合策略
数据抽象与局部视图设计
分类聚集概括一个重要性知识继承
*E-R图它之间的冲突有三类属性冲突命名冲突结构冲突
第八章数据库编程识记概念
嵌入式SQL是将SQL语句插入程序设计的语言被嵌入的程序设计语言
嵌入式SQL语言与主语言之间的通信
SQL通信区
主变量
游标
存储过程的优点:
由于存储过程不想解释执行的SQL语句那样在提除操作请求时才进行语言分析和优化工作,因而运行效率高,存储过程降低了客户机和服务器之间的通信量。
方便实施企业规划。
ODBC编程
第九章 关系查询处理和查询优化(基本概念)
第十章
事物的基本概念:
使用户定义的一个数据库操作序列,这些操作要么全做要么全部做,是一个部分可分割的单位。
事物和程序的不同概念,一个事物可以包含多个事物。
事物的特性:
原子性
一致性(事物执行的结果必须是使数据库从一个状态到变到另一个状态,因此当数据库只包含成功事务提交的结果,就说数据库处于一致性状态)隔离性持续性(又成永久性,指一个事物一旦提交,它对数据库中数据改变就应该实用就性的)
故障的种类:
事物内部的故障系统故障介质故障计算机病毒
恢复的实现技术
数据转储:
静态转储和动态转储
恢复策略
事务故障的恢:
是指事物在运行至正常终止点前被终止,这是恢复子系统应用利用日志文件撤销
统故障的恢复:
一是未完成事务的对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来的急写入数据库。
介质的故障恢复:
磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,恢复的方法是重装数据库
第十一章并发控制
保证事务的隔离和一致性DBMS需要对并发操作进行正确调度。
过程中产生的原因:
丢失修改不可重复读读“脏”数据
封锁:
是并发控制的一个非常重要的技术。
是事务T在对对某个数据对象例如表记录操作之前,现象系统发出请求,对其枷锁。
基本的封锁类型有两种:
排它锁(写锁)和共享锁(读锁)活锁和死锁
死锁的预防:
一次死锁法和顺序封锁法
死锁的诊断与解锁超时发等待图法
第一章
数据:
数据是数据库中存储的基本对象。
描述事物的符号记录称为数据
数据库
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据
按一定的数据模型组织、描述和存储。
具有较小的冗余度、较高的独立性和易扩展性,
并可为各种用户共享。
数据库数据具有永久存储、有组织、可共享三个基本特点。
数据库管理系统:
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
主要功能有:
1,数据定义功能2,数据组织、存储和管理3,数据操纵功能4,数据库的事务管理和运行管理5,数据库的建立和维护功能6,其他功能
数据库系统:
数据库系统简称数据库,一般由数据库、数据管理系统(及其开发工具)、应用系统和数据库管理员构成。
特点:
数据结构化;
数据的共享性高,冗余度低,易扩充;
数据独立性高;
数据一般由DBMS统一管理和控制。
人员组成:
数据库管理员,系统分析员和数据库设计人员,应用程序员和用户
数据库管理技术:
经历了人工管理阶段、文件系统阶段、数据库系统阶段
数据模型:
数据模型是用来描述数据、组织数据和对数据进行操作的,是数据库系统的核心和
基础。
通常由数据结构、数据操作和数据的完整性约束条件三部分组成。
可分为概念模
型、逻辑模型和物理模型两类
概念模型:
概念有:
实体、属性、码、域、实体型、实体集、联系
两个实体之间的联系有:
一对一,一对多,多对多。
一种表示方法:
实体—联系方法
逻辑数据模型:
1>
层次模型(概念)2>
网状模型(概念)3>
关系模型(概念)4>
面向对象模型5>
对象关系模型
数据库的三级模式和两级映像。
第二章
关系操作:
查询,插入,删除,修改
查询操作可分为:
选择,投影,连接,除,并,差,交
关系的完整性:
三类:
实体完整性,参照完整性,用户定义的完整性
关系数据语言:
关系代数语言
元组关系演算语言ALPHA
域关系演算语言QBE
第三章
1、模式
CREATESCHEMA<
模式名>
AUTHORIZATION<
用户名>
若没有指定<
隐含为<
DROPSCHEMA<
CASCADE|RESTRICT>
选择CASCADE表示在删除该模式的同时把该模式中所有的数据库对象全部一起删除;
选择RESTRICT表除非示该模式已经定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行该模式没有任何下属的对象。
2、基本表
定义表:
CREATETABLE<
表名>
(<
列名>
数据类型>
[列级完整性约束条件]
[,<
[列级完整性约束条件]]
......
表级完整性约束条件>
]);
修改表:
ALTERTABLE<
[ADD<
新列名>
[完整性约束条件]]
[DROP<
完整性约束条件>
[ALTERCOLUMN<
];
删除表:
DROPTABLE<
[CASCADE|RESTRICT]
建立索引:
CREATE[UNIQUE][CLUSTER]INDEX<
索引名>
[<
次序>
][,<
]]...);
删除索引:
DROPINDEX<
;
3、数据查询
格式:
SELECT[ALL|DISTINCT]<
目标列表达式>
表名或视图名>
[WHERE<
表达式>
[GROUPBY<
列名1>
[HAVING<
条件表达式>
]]
[ORDERBY<
列名2>
[ASC|DESC]];
常用的查询条件:
比较:
=,>
<
>
=,<
=,!
!
NOT+上述比较运算符
确定范围:
BETWEENAND,NOTBETWEENAND
确定集合:
IN,NOTIN
字符匹配:
LIKE,NOTLIKE
空值:
ISNULL,ISNOTNULL
多重条件(逻辑运算)AND,OR,NOT
ORDERBY:
缺省值为升序,对于空值,若按升序排,含空值的元组将最后显示。
若按降序排,空值
的元组将最先显示。
聚集函数:
COUNT([DISTINCT|ALL]*)统计元组个数
COUNT([DISTINCT|ALL]<
)统计一列中值的个数
SUM([DISTINCT|ALL]<
)计算一列值的总和(此列必须为数值型)
AVG([DISTINCT|ALL]<
)计算一列值的平均值(此列必须为数值型)
MAX([DISTINCT|ALL]<
)求一列值中的最大值
MIN([DISTINCT|ALL]<
)求一列值中的最小值
GROUPBY:
将查询结果按某一列或多列的值分组,值相等的为一组
如果分组后还要求按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,则
可以使用HAVING短语进行筛选条件。
自身连接:
SELECTFIRST.Cno,SECOND.Cpno
FROMCourseFIRST,CourseSECOND
WHEREFIRST.Cpno=SECOND.Cno
外连接:
SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROMStudentLEFTOUTJOINSCON(Student.Sno=SC.Sno);
/*或FROMStudentLEFTOUTJOINSCUDING(Sno)*/
嵌套查询:
SQL允许多层嵌套查询。
即一个子查询中还可以嵌套其他子查询。
需要特别指出的是,
子查询的SELECT语句中不能使用ORDERBY子句,ORDERBY子句只能对最终结
果排序。
ANY(SOME)或ALL谓词:
=<
或!
=<
<
=>
>
=
ANYIN——<
MAX<
=MAX>
MIN>
=MIN
ALL——NOTIN<
MIN<
=MIN>
MAX>
=MAX
EXISTS谓词:
代表存在量词,子查询中不返回任何数据,只产生逻辑真"
true"
或逻辑假值"
false"
由EXISTS引出的子查询,其目标列表达式通常都用*,因为带EXISTS的子查询只返
回真或假值,给出列名无实际意义。
集合查询:
UNION(并)INTERSECT(交)EXCEPT(差)
4、数据更新
插入元组:
INSERT
INTO<
[(<
属性列1>
属性列2>
...)]
VALUES(<
常量1>
常量2>
]...);
插入子查询结果:
子查询;
修改数据:
UPDATE<
SET<
=<
[WHERE<
条件>
删除数据:
DELETE
FROM<
5、视图
建立视图:
CREATEVIEW<
视图名>
]...)]
AS<
子查询>
[WITHCHECKOPTION]
其中子查询可以是任何复杂的SQL语句,但通常不允许含有ORDERBY子句和DISTINCT
语句。
组成视图的属性列名或全写或全省略,但在下列三种情况下必须指定所有列:
1>
某个目标列不是单纯的属性名,而是聚集函数或列表达式
2>
多表连接时选出了几个同名列作为视图的字段
3>
需要在视图中为某个列启用新的更合适的名字
删除视图:
DROPVIEW<
[CASCADE];
在关系数据库中,并不是所有的视图都是可更新的,因为有些视图的更新不能唯一有意义
的转换成相应基本表的更新。
下列7种情况均不允许更新
视图是由两个以上基本表导出的
视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,
但允许执行DELETE操作
视图的字段来自聚集函数
4>
视图定义中含有GROUPBY子句
5>
视图定义中含有DISTINCT短语
6>
视图定义中有嵌套查询,并且内部查询的FROM子句中涉及的表也是导出该视图的基
本表
7>
一个不允许更新的视图上定义的视图也不允许更新
第四章
数据库的安全性:
保护数据库以防止不合法的使用所造成的数泄露更改或破坏
计算机系统安全性:
为计算机系统建立和采取的各项安全保护措施以保护计算机中的硬件、软件及数据,
防止其因偶然或恶意的原因是系统遭到破坏,数据遭到更改或泄漏。
计算机系统安全性问题分类:
技术安全类、管理安全类、政策法律类
数据库安全性控制:
用户标志和鉴别是系统提供的最外层安全保护措施
方法有用户标识,口令
存取控制机制主要包括两部分:
1,定义用户权限,并将用户权限登记到数据字典中
(用户对某一数据对象的操作权力称为权限)
2,合法权限检查
(1)强制存取控制(MAC)方法
(2)自主存取控制(DAC)方法
用户权限由数据库对象和操作类型组成
用户>
[WITHGRANTOPTION]
REVOKE<
]...[CASCAE|RESTRICT]
数据库角色:
被命名的一组与数据库操作相关的权限,角色是权限的集合
一、角色的创建CREATEROLE<
角色名>
二、给角色授权
]ON<
]..
三、将一个角色授予其他的角色或用户
角色1>
角色2>
]...TO<
角色3>
用户1>
]...[WITHGRANTOPTION]
四、角色权限收回
]...ON<
审计:
把用户对数据库的所有操作自动记录下来放入审计日志中
第五章
数据库的完整性是指数据的正确性和相容性
数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据数据的安全性是保护数据库防止恶意的破坏和非法的存取
关系模型的实体完整性在CREATETABLE中用PRIMARYKEY定义,参照完整性用FOREIGNKEY外码,用REFERENCES短语指明外码
属性上的约束条件:
1、列值非空(NOTNULL)2、列值唯一(UNIQUE短语)3、检查列值是否满足一个布尔表达式(CHECK)
完整性约束命名字句
CONSTRAINT<
[PRIMARYKEY短语|FOREIGNKEY短语|CHECK短语]
第六章
问题的提出:
第一范式存在的问题:
数据冗余太大,更新异常,插入异常,删除异常
函数依赖:
非平凡的函数依赖平凡函数依赖完全函数依赖部分函数依赖传递函数依赖直接函数依赖
码:
候选码主属性非主属性全码外码
范式:
1NF
消除非主属性对码的部分函数依赖
2NF
消除非主属性对码的传递函数依赖
3NF
消除主属性对码的部分和传递函数依赖
BCNF
消除非平凡且非函数依赖的多值依赖
4NF
公理系统:
推导规则(概念)闭包(概念)
第七章:
数据库设计
数据库设计的基本步骤:
需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行维护。
理解需求分析的任务和方法及结果(数据流图、数据字典)。
任务
通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需要,然后在此基础上确定新系统的功能。
调查获得用户对数据库的要求信息:
•信息要求
•处理要求
•安全性与完整性要求
方法
调查清楚用户的实际要求。
具体步骤:
1.调查组织机构情况
2.调查各部门的业务活动情况
3.在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求
4.确定新系统的边界
结果
提交给用户,征得用户的认可。
1.熟练掌握概念结构设计的方法(集成局部E-R图的步骤:
合并、修改和重构),并能画出E-R图。
四类方法:
•自顶向下:
定义全局概念结构的框架,然后逐步细化为完整的全局概念结构
•自底向上:
定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构的设计方法
•逐步扩张:
定义最重要的核心概念结构,然后向外扩充,生成其他概念结构,直至完成总体概念结构
•混合策略:
采用自顶向下与自底向上相结合的方法
最常采用的策略是自底向上,即自顶向下的进行需求分析,然后再自底向上的设计概念结构。
概念结构设计的步骤
按照上图,自顶向下的进行需求分析与自底向上的设计概念结构方法,概念结构的设计可分为两步:
第一步抽象数据并设计局部视图;
第二步是集成局部视图,得到全局的概念结构。
2.熟练掌握逻辑结构设计的方法(将E-R图转换为关系模型的原则)和优化方法(关系模式的合并与分解)。
第八章:
数据库编程
使用SQl编程来访问和管理