《数据库管理系统1.docx》由会员分享,可在线阅读,更多相关《数据库管理系统1.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库管理系统1导论1关系数据库2SQL3数据库安全性5数据库完整性6触发器7关系数据理论7数据库设计8数据库管理系统导论L数序定义功能DDL2 .数据组织,存储,管理3 .数据操纵DML4 .数据库的事务管理和运行管理5 .数据库的建立和维护功能6 .其他功能数据管理三个阶段:人工管理,文件系统,数据库系统数据库模型:1 .概念模型(数据库设计)2 .逻辑模型(DBMS的实现)3 .物理模型(DBMS具体实现数据模型组成要素:1 .数据结构2 .数据操作3 .数据的完整性约束概念模型概念:L实体2属性3 .码4.域5.实体型6.实体集7.联系概念模型的一种表示方法:实体-联系方法E-RER模
2、型:矩形表示实体形;椭圆表示属性;菱形表示联系。常用数据模型:1.层次模型2.网状模型3.关系模型4.面向对象模型5.对象关系模型三级模式结构:内模式,外模式,模式二级映像功能:1.外模式/模式映像(逻辑独立性)2.模式/内模式映像(物理独立性)常用数据模型:层次模型,网状模型,关系模型,面向对象模型,对象关系模型。层次模型和网状模型统称为非关系模型。层次模型:有且只有一个节点没有父母节点:根节点。根以外节点有且只有一个关系数据库1域2 .笛卡尔积(元组,分量)3 .关系(目)候选码,主吗,主属性,非主属性一个关系模式应当是一个五元组:R(UQ,DOM,F)关系操作关系代数(用关系运算来表达查
3、询要求)和关系演算(用位于表达查询要求,包括域关系演算 和元组关系演算)SQL介于关系代数和关系演算之间关系完整性:1.实体完整性(主属性不能为空)2.参照完整性(外码,是其他关系的码)3.用户 定义完整性关系代数1 .传统集合运算(并,交,差,笛卡尔积).专门关系运算1 .选择2 .投影3 .连接(R关系在A属性组上的值与S关系在B属性组上值满足比较关系的元组)4 .除运算(元组在x上分量值X的象集yx包含S在y上投影的集合)关系演算ALPHA操作语句工作空间名表达式:操作条件1 .检索操作GET元组关系演算是以元组变量作为谓词变元的基本对象1.6.6.6. 用存在量词的检索7带有多个关系的
4、表达式的检索8.用全称量词的检索9.用两种量 词的检索10.用蕴涵的检索11聚集函数元组变量的两个用途:1.简化关系名2.操作条件中使用量词时必须用元组变量2 .更新操作1 .修改操作(1.用HOLD语句将要修改的元组从数据库中读到工作空间中2.用宿主语言修 改工作空间中的元组属性值3.用UPDATE语句将修改后的元组送回数据库中)2 .插入操作(1.用宿主语言在工作空间中建立新元组2.用PUT语句把该元组存入指定关系 中)域关系演算QBESQLSQL集数据查询,数据操纵,数据定义和数据控制功能于一体1 .综合统一(DDL数据库模式定义语言,DML数据操控语言,DCL数据控制语句于一 体).高
5、度非过程化2 .面向集合的操作方式(非关系数据模型采用面向记录).以同一种语法结构提供多种功能使用方式(独立语言&嵌入式语言)3 .语言简洁,易学易用SQL的RDBMS ,外模式对应视图和部分基本表,模式对应于基本表,内模式对应于存储文件 视图是从一个或几个基本表导出的表,本身不独立存储在数据库中,即数据库中只存放视图的 定义而不存放视图对应的数据。L模式定义与删除L定义模式(定义模式实际上定义了一个命名空间)CREATE SCHEMA模式名 AUTHORIZATION用户名2.删除模式DROP SCHEMA模式名 CASCADERESTRICT.基本表的定义,删除与修改1 .定义基本表CRE
6、ATE TABLE表名列名数据类型【列级完整性约束条件】。 模式与表,1.显式给出模式名2.创建模式同时创建表3.设置所属的模式2 .修改基本表 ALTER TABLE表名ADD/DROP/ALTER COLUMN。3,删除基本表 DROP TABLE表名RESTRICT|CASCAbE.索引建立与删除(加快查询速度)1 .CREATE UNIQUE|CLUSTER INDEX索引名ON表名(歹U名【次 序】)2 .DROP INDEX索引名.数据查询SELECTL2.3.查询经过计算的值5. ( ALL ) 6.查询满足条件的元组ORDER BY子句,定义排列顺序,缺省升序ORDER BY
7、Sdept, Sage DESC 聚集函数:COUNT z SUM , AVG , MAX , MIN DISTINCT| ALL (缺省) GROUP By , GROUP BY Cno ; HAV工NG 短语用来筛选 连接查询嵌套查询(工N,比较运算符,ANY或ALL , EXISTS ) 集合查询(UNION , INTERSECT , EXCEPT )数据更新L插入元组工NSERTINTO表名【属性列1】VALUES (常量2.插入子查询结果工NSERT INTO表名【属性列1。】子查询;修改数据UPDATE表名SET列名二表达式【WHERE条件】 123 .带子查询的修改语句删除数据
8、DELETE FROM表名【WHERE条件】(123。带子查询的删除语句)视图(L简化用户操作2.以多种角度看待同一数据3提供一定程度的逻辑独立性4.视图能够对 机密数据提供安全保护5.更清晰表达查询).建立视图CREATE VIEW视图名【列名。】AS子查询【WITH CHECK OPTION】如果一个试图是从单个基本表导出的,且只是去掉了基本表的某些行某些列,保留主码,为行 列子集视图定义视图时可以设置派生属性列,不实际存在,为虚拟列,带虚拟列的视图成为带表达式的视 图。1 .删除视图DROP VIEW视图名CASCADE.查询视图,与基本表相同4更新视图,与基本表相同,注意:L行列子集视
9、图是可更新的2 .如果视图有两个以上基本表导出,不允许更新数据库安全性三类安全性问题:技术安全,管理安全,政策法律TCSEC/TDI (安全色率,责彳壬,保证,文档)(D , Cl ( DAC ), C2 , Bl ( MAC ), B2 , B3 ,Al)CC第一部分(简介和一般模型)第二部分(安全功能要求)第三部分(安全保证要求)数据库安全控制L用户标示与鉴别2,存取控制(DAC , MAC)自主存取控制DAC授权1 .GRANT权限。ON对象类型对象名。TO用户。WITH GRANT OPTION不允许循环授权2 .REVOKE权限。ON对象类型 对象名FROM用户。 CASCADEIR
10、ESTRICT3 .CREATE USERusername WITH DBA|RESOURCE|CONNECT数据库角色1创建CREATE ROLE角色名2 .GRANT权限ON对象类型,对象名TO角色3 .授予其他角色或用户,GRANT角色1TO角色3.。 WITH ADMIN OPTION4角色权限的收回REVOKE权限ON对象类型对象名FROM角色 强制存取控制MAC 主体,客体(敏感度标记).仅当主题许可证级别大于客体密级,才能读取1 .主题许可证级别等于客体密级,才能写3视图4 .审计,把用户对数据库的所有操作自动记录下来放入审计日记1 .用户级审计,任何用户可以设置的审计,针对自己
11、创建的数据库表或视图2 .系统级审计,只能由DBA设置,用以检测成用或失败登陆要求AUDIT ALTER , UPDATE ON SC ; NOAUDIT ALTER , UPDATE ON SC ;5 .数据加密1.替换方式,密钥2.置换方式,顺序重新排列.统计数据库安全性1.允许用户查询集聚类型信息2.查询至少涉及n个以上记录3.任意两个查 询相交数据项不超过m个数据库完整性.提供定义完整性约束条件的机制2 .提供完整性检查方法3.违约处理1 .实体完整性RDBMS核心都在主码建立索引2 .参照完整性 NO ACTION(默认)|CASCADE|SET-NULLFOREIGN KEY (
12、Sno ) REFERENCES Student ( Sno ) ON DELETE CASCADENO ACTION! SET-NULL3 ,用户定义的完整性KNOT NULL2 .UNIUE.CHECK , CHECK ( Ssex IN (男,女)条件检查和违约处理:如果不满足则拒绝执行元组上约束条件检查,CHECK条件检查和违约处理,不满足操作拒绝执行完整性约束子句CONSTRAINT完整性约束条件名【PRIMARY KEY短语|FORE工GN KEY短语|CHECK 短语】2 .修改表中完整性限制ALTER TABLE Student DROP CONSTRAINT C4触发器创建触
13、发器CREATE TRIGGER触发器名BEFORE!AFTER|触发事件 TINSERTI UPDATE| DELETE | ON表名FOR EACHROW I STATEMENTWHEN触发事件】触发动作体注意:这里for each row与for each statement不同在于,for each row针对每条记录, 而for each statement针对语句。一个删除多条记录的statement会触发多次for each row 但只触发一次 for each statement.删除触发器DROP TRIGGER触发器名ON表名关系数据理论一个关系模式应当是一个五元组:R(
14、U,D,DOM,F)R关系名,符号化的远足语义 一组属性U 属性组U中属性所来自的域 属性到域的映射DOM 属性组U上的一组数据依赖 范式:第一范式INF每一个分量必须是不可分的数据项。数据依赖:函数依赖+多值依赖函数依赖x函数决定y或y函数依赖于x, x-y :平凡函数依赖+非平凡函数依赖完全函数依赖,X的任意真子集都不存在X函数确定y ;部分函数依赖传递函数依赖,x-y, y不-x, y-z,则z对x传递函数依赖,x传递-z码候选码,主码在候选码中的属性为主属性,不包含在任何码中的属性为非主属性,或非码属性,整个属性组 是码叫做全码。X属性或属性组非R码,但是是另一个关系模式的码,X为R的
15、外部码第二范式2NF (码不够明确,无法函数确定所有非主属性)属于1NF ,且每个非主属性完全函数依赖于码不属于2NF问题:1.插入异常2.删除异常3.修改复杂第三范式3NF (码不够明确,函数依赖关系重复)不存在码x,属性组y及非主属性z,是的x-y, y-z, y不-x; 传递函数依赖不彻底性体现在可能存在的主属性对码部分依赖和传递依赖修正第三范式BCNF (每一个决定因素都包含码)x-y且y不属于x时,x必含有码多值依赖平凡多值依赖:Xy,且z为空多值依赖性质:1.对称性2.传递性3.4NF对于R的每一个非平凡多值依赖Xy , X都含有码,则符合4NF数据库设计数据库设计:信息管理要求,数据操作要求 数据库设计特点.三分技术,七分管理,十二分基础数据1 .结构设计和行为设计相结合数据库设计方法1.新奥尔良方法2.基于E-R模型的数据库设计方法3.3NF设计方法4.0DL方法基本步骤1.需求分析2.概念结构设计3.逻辑结构设计4.物理设计4.数据库实施5.数据库运行和维护 需求分析,综合用户应用需求概念结构设计,概念模型,E-R图逻辑结构设计,外模式物理设计,内模式
限制150内