当前位置: 首页 > news >正文

30天网站建设全程实录php网站开发技术前景

30天网站建设全程实录,php网站开发技术前景,网站后台有哪些,怒江北京网站建设数据库系统概论考试需知 一、分值分布 1、判断题#xff08;10分#xff09; 1分一个 2、填空题#xff08;20分#xff09; 2分一个 3、选择题#xff08;20分#xff09; 2分一个 4、分析题#xff08;30分#xff09; 第一题10分#xff0c;第二题… 数据库系统概论考试需知 一、分值分布 1、判断题10分     1分一个 2、填空题20分     2分一个 3、选择题20分     2分一个 4、分析题30分     第一题10分第二题20分 5、综合题20分 二、考试范围 1、计科1-4班 1、2、3、4、5、6、7、10、11章出题 其中6.2.7多值依赖、6.2.8 4NF不考、第6章不考证明题、标※不考 2、计科5-8班 添加重点2.4关系代数、6.2.3范式、7数据库设计、11.2封锁 3、信安专业 1、4、5、6、10、11章考选择题填空题判断题 2、3、7章考大题关系代数、SQL、概念和逻辑设计 4、大数据专业 判断题1、2、4、5、6、7、10、11章 填空题1、4、5、7、10、11章 选择题1、2、4、5、6、7、10、11章 分析题2.4关系代数、3SQL语句 综合题7数据库设计 第一章 绪论 一、数据库系统概述 1、数据库的4个基本概念 1数据Data 数据是数据库中存储的基本对象描述事物的符号记录称为数据数据的定义称为数据的语义数据与其语义是不可分的。 2数据库DataBase 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库中的数据按一定的数据模型组织、描述和储存具有较小的冗余度、较高的数据独立性和易扩展性并可为各种用户共享。 3数据库管理系统DataBase Management System 数据库管理系统是计算机的基础软件数据库的主要功能 数据定义功能数据组织、存储和管理数据操纵功能数据库的事务管理和运行管理数据库的建立和维护功能其他功能如DBMS与网络中其它软件系统的通信功能等。 4数据库系统DataBase System 数据库系统是由数据库、数据库管理系统及其应用开发工具、应用程序和数据库管理员组成的存储、管理、处理和维护数据的功能。 2、数据管理技术的产生和发展 人工管理阶段文件系统阶段数据库系统阶段从文件系统到数据库系统标志着数据管理技术的飞跃。 3、数据库系统的特点 1数据结构化 数据库系统实现整体数据的结构化是数据的主要特征之一也是数据库系统与文件系统的本质区别整体结构化是指数据库中的数据不再仅针对某一个应用而是面向整个组织或企业不仅数据内部是结构化的而且整体是结构化的数据之间是具有联系的。 2数据的共享性高、冗余度低且易扩充 数据共享可以大大减少数据冗余节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性数据面向整个系统是具有结构的数据可被多个应用共享使用也容易增加新的应用。这使得数据库系统弹性大易于扩充。 3数据独立性高 物理独立性用户的应用程序与数据库中数据的物理存储相互独立逻辑独立性用户的应用程序与数据库的逻辑结构相互独立。 4数据由数据库管理系统来统一管理和控制 数据的安全性保护保护数据以防止不合法使用造成的数据泄密和破坏数据的完整性检查数据的正确性有效性和相容性并发控制数据库恢复 # 总结 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。它可以供各种用户共享具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护是对数据库进行统一控制以保证数据的完整性和安全性并在多用户同时使用数据库时进行并发控制在发生故障后对数据库进行恢复。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。 二、数据模型 1、概念 数据模型是对现实世界数据特征的抽象是数据库系统的核心和基础。 2、两类数据模型 1概念模型 2逻辑模型和物理模型 3、概念模型 1信息实际中的基本概念 实体客观存在并可相互区别的事物称为实体。 属性实体所具有的某一特性称为属性。 码唯一标识实体的属性集称为码。 实体型用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 实体集同一类型实体的集合称为实体集。 联系实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型。 2概念模型的一种表示方法 实体-联系方法(Entity-Relationship approach)。该方法用E-R图(E-R diagram)来描述现实世界的概念模型E-R方法也称为E-R模型。 4、数据模型的组成要素 1数据结构 数据结构描述数据库的组成对象以及对象之间的联系。 2数据操作 数据操作是指对数据库中各种对象型的实例值允许执行的操作的集合包括操作及有关的操作规则。 3数据的完整性约束条件 数据的完整性约束条件是一组完整性规则。 5、常用的数据模型 层次模型(hierarchical model)网状模型(network model)关系模型(relational model)面向对象数据模型(object oriented data model).对象关系数据模型(object relational data model)半结构化数据模型(semi structure data model) #层次模型和网状模型统称为格式化模型。 #所谓基本层次联系是指两个记录以及它们之间的一对多包括一对一的联系 ​ 图中R位于联系L的始点称为双亲结点R位于联系L,的终点称为子女结点。 6、层次模型 1定义 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型 有且只有一个结点没有双亲结点这个结点称为根结点 根以外的其他结点有且只有一个双亲结点。 在层次模型中每个结点表示一个记录类型记录类型之间的联系用结点之间的线有向边表示这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系。 ​ 层次模型像一棵倒立的树结点的双亲是唯一的。 2优点 层次模型的数据结构比较简单清晰。层次数据库的查询效率高。层次数据模型提供了良好的完整性支持。 3缺点 现实世界中很多联系是非层次性的如多对多联系不适合用层次模型表示。如果一个结点具有多个双亲结点等用层次模型表示这类联系就很笨拙只能通过引入冗余数据易产生不一致性或创建非自然的数据结构引入虚拟结点来解决。对插入和删除操作的限制比较多因此应用程序的编写比较复杂。查询子女结点必须通过双亲结点。由于结构严密层次命令趋于程序化。 7、网状模型 1典型代表系统DBTG系统亦称CODASYL系统。 2定义在数据库中把满足以下两个条件的基本层次联系集合称为网状模型 允许一个以上的结点无双亲一个结点可以有多于一个的双亲。 从定义可以看出层次模型中子女结点与双亲结点的联系是唯一的而在网状模型中这种联系可以不唯一下图为网状模型的例子。 ​ 3优点 能够更为直接地描述现实世界如一个结点可以有多个双亲结点之间可以有多种联系。具有良好的性能存取效率较高。 4缺点 结构比较复杂而且随着应用环境的扩大数据库的结构就变得越来越复杂不利于最终用户掌握。网状模型的DDL、DML复杂并且要嵌入某一种高级语言(如COBOL、C)中。用户不容易掌握不容易使用。由于记录之间的联系是通过存取路径实现的应用程序在访问数据时必须选择适当的存取路径因此用户必须了解系统结构的细节加重了编写应用程序的负担。 8、关系模型 1关系模型的数据结构 关系一个关系对应通常说的一张表。 元组表中的一行即为一个元组。 属性表中的一列即为一个属性给每一个属性起一个名称即属性名 码也称为码键。表中的某个属性组可以唯一确定一个元组也就成为本关系的码。 域域是一组具有相同数据类型的值的集合属性的取值范围来自某个域。 分量元组中的一个属性值。 关系模式对关系的描述一般表示为关系名属性1属性2……属性n。 # 关系模型要求关系必须是规范化的关系的每一个分量必须是不可分的数据项。 ​ 2关系模型的数据操纵与完整性约束 关系模型的数据操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类实体完整性、参照完整性和用户定义的完整性。 # 操作对象和操作结果都是关系关系模型把存取路径向用户隐蔽起来用户只要指出“干什么”或“找什么”不必详细说明“怎么干”或“怎么找”。 3优点 关系模型与格式化模型不同它是建立在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系即表。所以其数据结构简单、清晰用户易懂易用。关系模型的存取路径对用户透明从而具有更高的数据独立性、更好的安全保密性也简化了程序员的工作和数据库开发建立的工作。 4缺点 由于存取路径对用户是隐蔽的查询效率往往不如格式化数据模型。为了提高性能数据库管理系统必须对用户的查询请求进行优化因此增加了开发数据库管理系统的难度。 三、数据库系统的结构 1、数据库系统模式的概念 在数据模型中有“型”type和“值”value的概念。型是指对某一类数据的结构和属性的说明值是型的一个具体赋值。 模式schema是数据库中全体数据的逻辑结构和特征的描述它仅仅涉及型的描述不涉及具体的值。模式的一个具体值称为模式的一个实例instance。模式是相对稳定的而实例是相对变动的。 2、数据库系统的三级模式结构 ​ 模式schema模式也称逻辑模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图。外模式external schema也称子模式subschema或用户模式它是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。内模式internal schema也称存储模式storage schema,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述是数据在数据库内部的组织方式。 # 数据库系统的三级结构的优点 数据库系统的三级模式是对数据的三个抽象级别它把数据的具体组织留给DBMS管理使用户能逻辑抽象地处理数据而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换数据库系统在这三级模式之间提供了两层映像外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 3、数据库的二级映像功能和数据独立性 外模式/模式映像当模式改变时例如增加新的关系、新的属性、改变属性的数据类型等由数据库管理员对各个外模式/模式的映像作相应改变可以使外模式保持不变。应用程序是依据数据的外模式编写的从而应用程序不必修改保证了数据与程序的逻辑独立性简称数据的逻辑独立性。模式/内模式映像当数据库的存储结构改变时例如选用了另一种存储结构由数据库管理员对模式/内模式映像作相应改变可以使模式保持不变从而应用程序也不必改变。保证了数据与程序的物理独立性简称数据的物理独立性。 # 数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。另外由于数据的存取由数据库管理系统管理从而简化了应用程序的编制大大减少了应用程序的维护和修改。 四、数据库系统的组成 数据库系统一般由数据库、数据库管理系统及其应用开发工具、应用程序和数据库管理员构成。 # 数据库管理员的职责 决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行数据库的改进和重组、重构。 第二章 关系数据库 一、关系数据结构及形式化定义 1、关系 关系模型是建立在集合代数的基础上的这里从集合论角度给出关系数据结构的形式化定义。 域域是一组具有相同数据类型的值的集合。笛卡尔积给定一组域D1、D2、…、Dn允许其中某些域是相同的D1、D2、…、Dn的笛卡儿积为D1×D2×…×Dn{(d1、d2、 …、dn)|d,∈Dii1、2、…、n}其中每一个元素(d1、d2、…、dn)叫作一个n元组或简称元组。元素中的每个值di叫做一个分量。一个域允许的不同取值个数称为这个域的基数。若Di(i1,2,…,n)为有限集其基数为mi(i1、2、…、n)则D1×D2×…×Dn的基数M为​ 笛卡儿积可表示为一张二维表。表中的每行对应一个元组表中的每一列的值来自一个域。关系D1×D2×…×Dn的子集叫做在域D1、D2、…、Dn上的关系表示为RD1、D2、…、DnR表示关系的名字n是关系的目或度n元关系。若关系中的某一属性组的值能唯一地标识一个元组而其子集不能则称该属性组为候选码。若一个关系有多个候选码则选定其中一个为主码、候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。在最简单的情况下候选码只包含一个属性。在最极端的情况下关系模式的所有属性是这个关系模式的候选码称为全码。关系可以有三种类型基本关系通常又称为基本表或基表、查询表和视图表。# 基本关系的性质列是同质的不同的列可出自同一个域列的次序可以任意交换任意两个元组的候选码不能取相同的值行的次序可以任意交换分量必须取原子值即每一个分量都必须是不可分的数据项。# 规范化的关系简称为范式(Normal FormNF)。 2、关系模式 关系的描述称为关系模式。它可以形式化地表示为RUDDOMF其中R为关系名U为组成该关系的属性名集合D为U中属性所来自的域DOM为属性向域的映像集合F为属性间数据的依赖关系集合。 关系模式通常可以简记为RU或RA1A2…An其中R为关系名A1A2…An为属性名而域名及属性向域的映像常常直接说明为属性的类型、长度。 3、关系数据库 关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式是对关系数据库的描述。关系数据库模式包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合通常就称为关系数据库。 二、基本的关系操作 常用的关系操作包括查询操作和插入、删除、修改操作两大部分。 # 查询操作包括选择、投影、连接、除、并、差、交、笛卡尔积等标“_”的为基本操作。 三、关系数据语言的分类 # 关系数据语言的特点 语言具有完备的表达能力是非过程化的集合操作语言功能强能够嵌入高级语言中使用。 四、关系的完整性 1、实体完整性 若属性指一个或一组属性A是基本关系R的主属性则A不能取空值。所谓空值就是“不知道”或“不存在”或“无意义”的值。 2、参照完整性 1参照关系 设F是基本关系R的一个或一组属性但不是关系R的码K是基本关系S的主码。如果F与K,相对应则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和S不一定是不同的关系。 2定义 若属性或属性组F是基本关系R的外码它与基本关系S的主码K,相对应基本关系R和S不一定是不同的关系则对于R中每个元组在F上的值必须取空值F的每个属性值均为空值或者等于S中某个元组的主码值。 3用户定义的完整性 针对某一具体关系数据库的约束条件它反映某一具体应用所涉及的数据必须满足的语义要求。 五、关系代数 1、运算符 2、传统的集合运算 3、专门的关系运算 1选择 2投影 3连接 4除运算 4、练习 第三章 关系数据库标准语言SQL 一、SQL的特点SQL→结构化查询语言 综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体高度非过程化。用SQL语言进行数据操作只要提出“做什么”而无需指明“怎么做”因此无需了解存取路径存取路径的选择以及SQL语句的操作过程由系统自动完成面向集合的操作方式。SQL语言采用集合操作方式不仅操作对象、查找结果可以是元组的集合而且一次插入、删除、更新操作的对象也可以是元组的集合以同一种语法结构提供两种使用方式。SQL语言既是自含式语言又是嵌入式语言。作为自含式语言它能够独立地用于联机交互的使用方式作为嵌入式语言它能够嵌入到高级语言程序中供程序员设计程序时使用语言简捷易学易用。 二、数据定义 三、数据查询 1、一般格式 SELECT[ALL | DISTINCT]目标列表达式[,目标列表达式]… FROM表名或视图名[,表名或视图名…]I(SELECT语句)[AS]别名 [WHERE条件表达式] [GROUP BY列名1[HAVING条件表达式]] [ORDER BY列名2[ASC|DESC]]; 2、常用的查询条件 # 字符匹配 1%百分号代表任意长度长度可以为0的字符串。例如a%b表示以a开头以b结尾的任意长度的字符串。如acb、addgb、ab等都满足该匹配串。 2_下横线代表任意单个字符。例如ab表示以a开头以b结尾的长度为3的任意字符串。如acb、afb等都满足该匹配串。 3、聚集函数 # 当聚集函数遇到空值时除COUNT(*)外都跳过空值而只处理非空值。 # WHERE子句中是不能用聚集函数作为条件表达式的。聚集函数只能用于SELECT子句和GROUP BY中的HAVING子句。 4、连接查询 1等值与非等值连接查询 ​ # 关系数据库管理系统执行连接操作的示意图 ​ ​ 2自身连接 ​ ​ 3外连接 ​ 4多表连接 ​ 5、嵌套查询 ​ # 带有EXISTS谓词的子查询 使用存在量词EXISTS后若内层查询结果非空则外层的WHERE子句返回真值否则返回假值。使用存在量词NOT EXISTS后若内层查询结果为空则外层的WHERE子句返回真值否则返回假值。 6、集合查询 SELECT语句的查询结果是元组的集合所以多个SELECT语句的结果可进行集合操作。集合操作主要包括并操作UNION、交操作INTERSECT和差操作EXCEPT。 # 参加集合操作的各查询结果的列数必须相同对应项的数据类型也必须相同。 7、基于派生表的查询 子查询不仅可以出现在WHERE子句中还可以出现在FROM子句中这时子查询生成的临时派生表成为主查询的查询对象。 8、SELECT语句总结 ​ ​ 四、数据更新 1、插入数据 1插入元组 ​ 2插入子查询结果 INSERT INTO表名[(属性列1[,,属性列2…]) 子查询; 2、修改数据 ​ ​ 3、删除数据 ​ ​ 五、空值的处理 1、产生 插入数据设为”null”外连接空值的关系运算 2、判断 判断一个属性的值是否为空值用IS NULL或IS NOT NULL来表示。 3、约束条件 属性定义或者域定义中有NOT NULL约束条件的不能取空值加了UNIQUE限制的属性不能取空值码属性不能取空值。 4、算术、比较和逻辑运算 空值与另一个值包括另一个空值的算术运算的结果为空值空值与另一个值包括另一个空值的比较运算的结果为UNKNOWN。有了UNKNOWN后传统的逻辑运算中二值TRUEFALSE逻辑就扩展成了三值逻辑。 在查询语句中只有使WHERE和HAVING子句中的选择条件为TRUE的元组才被选出作为输出结果。 六、视图 1、定义视图 SQL语言用CREATE VIEW命令建立视图其一般格式为 CREATE VIEW视图名[(列名[,列名])]AS子查询[WITH CHECK OPTION]: WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件即子查询中的条件表达式。 # 执行CREATE VIEW语句后只是把视图的定义存入数据字典不执行其中的SELECT语句。 2、删除视图 该语句的格式为 DROP VIEW视图名[CASCADE]; 视图删除后视图的定义将从数据字典中删除。如果该视图上还导出了其他视图则使用CASCADE级联删除语句把该视图和由它导出的所有视图一起删除。 基本表删除后由该基本表导出的所有视图均无法使用了但是视图的定义没有从字典中清除。删除这些视图定义需要显式地使用DROP VIEW语句。 3、查询视图 视图定义后用户就可以像对基本表一样对视图进行查询了。 4、更新视图 更新视图是指通过视图来插入、删除和修改数据。 由于视图是不实际存储数据的虚表因此对视图的更新最终要转换为对基本表的更新。像查询视图那样对视图的更新操作也是通过视图消解转换为对基本表的更新操作。 为防止用户通过视图对数据进行增加、删除、修改时有意无意地对不属于视图范围内的基本表数据进行操作可在定义视图时加上WITH CHECK OPTION子句。这样在视图上增、删、改数据时关系数据库管理系统会检查视图定义中的条件若不满足条件则拒绝执行该操作。 5、视图的作用 视图能够简化用户的操作视图使用户能以多种角度看待同一数据视图对重构数据库提供了一定程度的逻辑独立性视图能够对机密数据提供安全保护适当利用视图可以更清晰地表达查询。 第四章 数据库安全性 一、数据库安全性概述 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。 二、数据库安全性控制 1、常用方法和技术 用户标识和鉴别该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时由系统进行核对通过鉴定后才提供系统的使用权。存取控制通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库所有未被授权的人员无法存取数据。例如CZ级中的自主存取控制(DAC)BI级中的强制存取控制(MAC).视图机制为不同的用户定义视图通过视图机制把要保密的数据对无权存取的用户隐藏起来从而自动地对数据提供一定程度的安全保护。审计建立审计日志把用户对数据库的所有操作自动记录下来放入审计日志中DBA可以利用审计跟踪的信总重现导致数据库现有状况的一系列事件找出非法存取数据的人、时间和内容等。数据加密对存储和传输的数据进行加密处理从而使得不知道解密算法的人无法获知数据的内容。 # 数据库中的自主存取控制方法和强制存取控制方法 自主存取控制方法定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法每一个数据对象被强制地标以一定的密级每一个用户也被强制地授予某个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 2、授权授予与收回 1GRANT GRANT语句的一般格式为 GRANT权限[,权限]… ON对象类型对象名[,对象类型对象名]… TO用户[,用户]… [WITH GRANT OPTION]; 如果指定了WITH GRANT OPTION子句则获得某种权限的用户还可以把这种权限再授予其他的用户。如果没有指定WITH GRANT OPTION子句则获得某种权限的用户只能使用该权限不能传播该权限。 SQL标准允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户但不允许循环授权即被授权者不能把权限再授回给授权者或其祖先。 2REVOKE REVOKE语句的一般格式为 REVOKE权限[权限]… ON对象类型对象名[,对象类型对象名]… FROM用户[用户]…[CASCADE|RESTRICT]; 3、创建数据库模式的权限 CREATE USER语句一般格式如下 CREATE USER username[WITH][DBA|RESOURCE|CONNECT]; # 权限与可执行的操作对照表 ​ 4、数据库角色 1角色的创建 创建角色的SQL语句格式是 CREATE ROLE角色名 2角色授权 GRANT权限[,权限]·ON对象类型对象名T0角色[,角色]… 数据库管理员和用户可以利用GRANT语句将权限授予某一个或几个角色。 3将一个角色授予其他的角色或用户 GRANT角色1[,角色2]...T0角色3[,用户1]…[WITH ADMIN OPTION] 该语句把角色授予某用户或授予另一个角色。这样一个角色(例如角色3)所拥有的权限就是授予它的全部角色(例如角色1和角色2)所包含的权限的总和。 授予者或者是角色的创建者或者拥有在这个角色上的ADMIN OPTION. 如果指定了WITH ADMIN OPTION子句则获得某种权限的角色或用户还可以把这种权限再授予其他的角色。 一个角色包含的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限。 4角色权限的收回 REVOKE权限[,权限]…ON对象类型对象名FROM角色[角色]… 用户可以收回角色的权限从而修改角色拥有的权限。 REVOKE动作的执行者或者是角色的创建者或者拥有在这个些角色上的ADMNOPTION。 5、审计什么是数据库的审计功能/为什么要提供审计功能 审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。任何系统的安全保护措施都不是完美无缺的蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能DBA可以根据审计跟踪的信息重现导致数据库现有状况的一系列事件找出非法存取数据的人、时间和内容等。 第五章 数据库完整性 一、定义 数据库的完整性是指数据的正确性和相容性。 二、实体完整性 1、定义实体完整性 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。 2、实体完整性检查和违约处理 检查主码值是否唯一如果不唯一则拒绝插入或修改。检查主码的各个属性是否为空只要有一个为空就拒绝插入或修改。 三、参照完整性 1、定义参照完整性 关系模型的参照完整性在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码。 2、参照完整性检查和违约处理 ​ 四、用户定义的完整性 1、属性上的约束条件 在CREATE TABLE中定义属性的同时可以根据应用要求定义属性上的约束条件即属性值限制包括 列值非空(NOT NULL)列值唯一(UNIQUE)检查列值是否满足一个条件表达式(CHECK短语)。 2、属性上约束条件的检查和违约处理 当往表中插入元组或修改属性的值时关系数据库管理系统将检查属性上的约束条件是否被满足如果不满足则操作被拒绝执行。 3、元组上的约束条件 与属性上约束条件的定义类似在CREATE TABLE语句中可以用CHECK短语定义元组上的约束条件即元组级的限制。同属性值限制相比元组级的限制可以设置不同属性之间的取值的相互约束条件。 4、元组上约束条件的检查和违约处理 当往表中插入元组或修改属性的值时关系数据库管理系统将检查元组上的约束条件是否被满足如果不满足则操作被拒绝执行。 五、完整性约束命名子句 1、完整性约束命名子句 CONSTRAINT完整性约束条件名完整性约束条件 完整性约束条件包括NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK短语等。 2、修改表中的完整性限制 可以使用ALTER TABLE语句修改表中的完整性限制。 六、断言 1、创建断言的语句格式 CREATE ASSERTION断言名CHECK子句 每个断言都被赋予一个名字CHECK子句中的约束条件与WHERE子句的条件表达式类似。断言创建以后任何对断言中所涉及关系的操作都会触发关系数据库管理系统对断言的检查任何使断言不为真值的操作都会被拒绝执行。 2、删除断言的语句格式 DROP ASSERTION断言名 七、触发器 触发器是用户定义在关系表上的一类由事件驱动的特殊过程。 1、定义触发器 触发器又叫做事件-条件-动作(event-condition-.action)规则。当特定的系统事件如对一个表的增、删、改操作事务的结束等发生时对规则的条件进行检查如果条件成立则执行规则中的动作否则不执行该动作。规则中的动作体可以很复杂可以涉及其他表和其他数据库对象通常是一段SQL存储过程。 CREATE TRIGGER触发器名/*每当触发事件发生时该触发器被激活*/(BEFORE|AFTER}触发事件ON表名/*指明触发器激活的时间是在执行触发事件前或后*/REFERENCING NEWJOLD ROW AS变量/*REFERENCING指出引用的变量*/FOR EACH(ROW STATEMENT)/*体定义触发器的类型指明动作体执行的频率*/WHEN触发条件]触发动作体/*仅当触发条件为真时才执行触发动作体*/ # 详细说明 只有表的拥有者即创建表的用户才可以在表上创建触发器并且一个表上只能创建一定数量的触发器。触发器的具体数量由具体的关系数据库管理系统在设计时确定。触发器名可以包含模式名也可以不包含模式名。同一模式下触发器名必须是唯的并且触发器名和表名必须在同一模式下。触发器只能定义在基本表上不能定义在视图上。当基本表的数据发生变化时将激活定义在该表上相应触发事件的触发器因此该表也称为触发器的目标表。触发事件可以是NSERT、DELETE或UPDATE,也可以是这几个事件的组合如INSERT OR DELETE等还可以是UPDATE OF触发列即进一步指明修改哪些列时激活触发器。AFTER/BEFORE是触发的时机。AFTER表示在触发事件的操作执行之后激活触发器BEFORE表示在触发事件的操作执行之前激活触发器。触发器按照所触发动作的间隔尺寸可以分为行级触发器(FOR EACH ROW)和语句级触发器(FOR EACH STATEMENT)。触发器被激活时只有当触发条件为真时触发动作体才执行否则触发动作体不执行。如果省略WHEN触发条件则触发动作体在触发器激活后立即执行。触发动作体既可以是一个匿名PL/SQL过程块也可以是对已创建存储过程的调用。如果是行级触发器用户可以在过程体中使用NEW和OLD引用UPDATE/NSERT事件之后的新值和UPDATE/DELETE事件之前的旧值如果是语句级触发器则不能在触发动作体中使用NEW或OLD进行引用。如果触发动作体执行失败激活触发器的事件(即对数据库的增、删、改操作)就会终止执行触发器的目标表或触发器可能影响的其他对象不发生任何变化。 2、激活触发器 触发器的执行是由触发事件激活并由数据库服务器自动执行的。一个数据表上可能定义了多个触发器如多个BEFORE触发器、多个AFTER触发器等同一个表上的多个触发器激活时遵循如下的执行顺序 执行该表上的BEFORE触发器激活触发器的SQL语句。执行该表上的AFTER触发器。 对于同一个表上的多个BEFORE(AFTER)触发器遵循“谁先创建谁先执行”的原则即按照触发器创建的时间先后顺序执行。有些关系数据库管理系统是按照触发器名称的字母排序顺序执行触发器。 3、删除触发器 删除触发器的SQL语法如下 DROP TRIGGER触发器名ON表名 触发器必须是一个已经创建的触发器并且只能由具有相应权限的用户删除。 第六章 关系数据理论——规范化 一、函数依赖 设R(U)是属性集U上的关系模式X、Y是U的子集。若对于R(U)的任意一个可能的关系rr中不可能存在两个元组在X上的属性值相等而在Y上的属性值不等则称X函数确定Y或Y函数依赖于X记作X→Y。其中若有X→Y但Y不包含于X则称非平凡的函数依赖若有X→Y但Y包含于X则称平凡的函数依赖若有X→YY→X,则记作X← →Y。 # 完全函数依赖与部分函数依赖 ​ 二、码 ​ 三、范式 ​ 1NF所有字段值都是不可分解的原子值。2NF不包含非主属性对码的部分函数依赖一个表中只能保存一种数据不可以把多种数据保存在同一张数据库表中。3NF不包含非主属性对码的传递函数依赖确保数据表中的每一列数据都和主键直接相关而不能间接相关。BCNF消除每一属性对候选键的传递依赖BCNF是修正的第三范式。 ​ 四、候选码 1、概念 如果关系中的某一属性组的值能唯一标识一个元组而其子集不能则成为该属性组为候选码可以推出所有属性。 2、候选码的筛选步骤 只出现在左边的一定是候选码只出现在右边的一定不是候选码左右都出现的不一定是候选码左右都不出现的一定是候选码再求确定的候选码的闭包如果可以推出全部那么当前确定的就是候选码否则要把每一个可能的值放进当前确定的候选码里面进行求闭包 3、示例 RUFUABCDEGF { AB→CCD→EE→AA→G )求候选码 B和D一定是候选码G一定不是候选码A、C和E不一定是候选码BD推不出任何内容因此所以要把每一个可能的求闭包 (BDA) 可推出CEG所以可以推出ABCDEG(BDC) 可推出EAG所以可以推出ABCDEG(BDE) 可推出AGC所以可以推出ABCDEG则候选码最终是{BDABDCBDE} # 补充 超码能表示出所有属性的集合候选码最小的超码主码从候选码里面任意挑出一个作为主码主属性包含在所有候选码的属性如ABCDE非主属性不包含在候选码中的属性如G全码所有的属性都是主码 五、最小依赖集 ​ # 如何求最小依赖集 拆开右边为多个元素的。比如A→BC拆为A→B和A→C除去当前元素求它的闭包把集合里面所有元素都弄完左边最小化通过遮住元素来看能不能推出其他元素比如BCD遮住B能否推出CD遮住C能否推出BD遮住D能否推出BC。 第七章 数据库设计 一、数据库设计的基本步骤 1、需求分析 进行数据库设计首先必须准确了解与分析用户需求包括数据与处理。 2、概念结构设计 概念结构设计是整个数据库设计的关键它通过对用户需求进行综合、归纳与抽象形成一个独立于具体数据库管理系统的概念模型。 3、逻辑结构设计 逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型并对其进行优化。 4、物理结构设计 物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法。 5、数据库实施 在数据库实施阶段设计人员运用数据库管理系统提供的数据库语言及其宿主语言根据逻辑设计和物理设计的结果建立数据库编写与调试应用程序组织数据入库并进行试运行。 6、数据库运行和维护 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评估、调整与修改。 ​ 二、数据库设计过程中的各级模式 ​ 三、E-R模型 1、三类联系 ​ # E-R图向关系模型的转换 111联系把关系合并到任意一个表并且把其他表里面的主键放到另一个里面 21n联系把A的主码放到B里面然后把关系的属性放到B里面 3mn联系需要两边实体的主键和自身的属性单独作为一个关系模式。 2、E-R图 E-R图提供了表示实体型、属性和联系的方法。 实体型用矩形表示矩形框内写明实体名。属性用椭圆形表示并用无向边将其与相应的实体型连接起来。联系用菱形表示菱形框内写明联系名并用无向边分别与有关实体型连接起来同时在无向边旁标上联系的类型(11、1n或mn). # 如果一个联系具有属性则这些属性也要用无向边与该联系连接起来。 3、示例 ​ ​ 解 ​           ​​​​​​​​ 系系编号系名学校名                         产品产品号产品名工厂名 班级班级号班级人数系编号              零件零件号零件名供应厂商 教研室教研室号教研室人数系编号    原材料原材料号原材料名类别供应商 学生学号姓名班级号教员编号       仓库仓库号仓库名仓库位置 教员教员编号姓名职位教研室号    产品组成产品号零件号零件用量 课程课程号课程名学分                     零件组成零件号原材料号原材料用量 研究生研究生号姓名教员编号           零件储存零件号仓库号储存量 选修学号课程号成绩                         原材料存放原材料类别仓库号存放量 第十章 数据库恢复技术 一、事务的基本概念 1、事务 所谓事务是用户定义的一个数据库操作序列这些操作要么全做要么全不做是一个不可分割的工作单位。 COMMIT表示提交事务的所有操作ROLLBACK表示回滚撤销事务对数据库的所有已完成的操作。 2、事务的ACID特性 原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)。 二、故障的种类 事务内部的故障系统故障介质故障计算机病毒 三、恢复的实现技术 恢复的基本原理冗余。 数据转储登记日志文件 四、恢复策略 1、事务故障恢复 反向扫描日志文件即从最后向前扫描日志文件查找该事务的更新操作对该事务的更新操作执行逆操作即将日志记录中“更新前的值”写入数据库。这样如果记录中是插入操作则相当于做删除操作(因此时“更新前的值”为空)若记录中是删除操作则做插入操作若是修改操作则相当于用修改前值代替修改后值继续反向扫描日志文件查找该事务的其他更新操作并做同样处理如此处理下去直至读到此事务的开始标记事务故障恢复就完成了。 2、系统故障恢复 正向扫描日志文件即从头扫描日志文件找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录也有COMMIT记录)将其事务标识记入重做队列(REDO-LIST)。同时找出故障发生时尚未完成的事务这些事务只有BEGN TRANSACTION记录无相应的COMMIT记录将其事务标识记入撤销队列(UNDO-LIST).对撤销队列中的各个事务进行撤销(UNDO)处理。进行撤销处理的方法是反向扫描日志文件对每个撒销事务的更新操作执行逆操作即将日志记录中“更新前的值”写入数据库。对重做队列中的各个事务进行重做处理。进行重做处理的方法是正向扫描日志文件对每个重做事务重新执行日志文件登记的操作即将日志记录中“更新后的值”写入数据库。 3、介质故障的恢复 装入最新的数据库后备副本离故障发生时刻最近的转储副本使数据库恢复到最近一次转储时的一致性状态。对于动态转储的数据库副本还需同时装入转储开始时刻的日志文件副本利用恢复系统故障的方法(即REDOUNDO),才能将数据库恢复到一致性状态。装入相应的目志文件副本转储结束时刻的日志文件副本重做已完成的事务。即首先扫描日志文件找出故障发生时已提交的事务的标识将其记入重做队列然后正向扫描日志文件对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。 五、具有检查点的恢复技术 ​ ​ 第十一章 并发技术 一、并发控制 1、事务是并发控制的基本单位。2、并发操作带来的数据不一致性问题 ​ 二、封锁解决并发操作带来的数据不一致性问题 排他锁又称为写锁。若事务T对数据对象A加上X锁则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁直到T释放A上的锁为止。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。共享锁又称为读锁。若事务T对数据对象A加上S锁则事务T可以读A但不能修改A,其他事务只能再对A加S锁而不能加X锁直到T释放A上的S锁为止。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 ​ 三、封锁协议 ​ ​ 四、活锁封锁技术带来的新问题 ​ 避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时封锁子系统按请求封锁的先后次序对事务排队数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。 五、死锁封锁技术带来的新问题 T1在等待T2,而T2又在等待T的局面T1和T2两个事务永远不能结束形成死锁。 1、死锁的预防 一次封锁法顺序封锁法 2、死锁的诊断与解除 超时法等待图法 六、并发调度的可串行性 1、可串行化调度 多个事务的并发执行是正确的当且仅当其结果与按某一次序串行地执行这些事务时的结果相同称这种调度策略为可串行化调度 可串行性是并发事务正确调度的准则。按这个准则规定一个给定的并发调度当且仅当它是可串行化的才认为是正确调度。 2、冲突可串行化调度 冲突操作是指不同的事务对同一个数据的读写操作和写写操作。 一个调度Sc在保证冲突操作的次序不变的情况下通过交换两个事务不冲突操作的次序得到另一个调度Sc,如果Sc是串行的称调度Sc为冲突可串行化的调度。若一个调度是冲突可串行化则一定是可串行化的调度。因此可以用这种方法来判断一个调度是否是冲突可串行化的。 冲突可串行化调度是可串行化调度的充分条件不是必要条件。 七、封锁的粒度 封锁对象的大小称为封锁粒度。 封锁粒度与系统的并发度和并发控制的开销密切相关。直观地看封锁的粒度越大数据库所能够封锁的数据单元就越少并发度就越小系统开销也越小反之封锁的粒度越小并发度较高但系统开销也就越大。
http://www.yutouwan.com/news/177100/

相关文章:

  • 聊城网站建设电话网站开发实验结论
  • 免费的舆情网站入口在哪wordpress数据库表管理
  • 遇到钓鱼网站怎么做做营销型网站
  • 久久建筑网怎么不好用seo营销的策略有哪些
  • 一般产地证去哪个网站做网页升级访问升级自动跳
  • Python用数据库做网站wordpress腾讯视频插件
  • 全球设计网站有哪些网站对接qq群 虚拟主机
  • 宁波建设商城网站wordpress插件补丁
  • 网站运营与维护是什么意思企业宣传册一般分几个模块
  • 莱芜做网站优化网站怎么做动效
  • 网站资料库建设的功能需求网站添加谷歌地图
  • 视频网站公共关系怎么做企业建设网站网站建设公司
  • 池州网站建设费用wordpress迁移hexo
  • 手机应用商店app下载官方网站下载阿里云如何上传网站
  • 上海高端模板建站企业网站cms模板
  • 大学生网站设计作品成品代码新品发布会是什么意思
  • 网站后台登陆代码poiplayer wordpress
  • 设计在线设计网站北京建设工程网站
  • 做谷歌网站使用什么统计代码吗erp企业管理软件
  • 做一个高端网站多少钱网站建设 logo
  • 上海教育网站官网手机网站建设 豆丁
  • 做网站导航条怎么弄淘宝定向推广
  • 青岛制作网站的潍坊网站建设 世纪环球16楼
  • 湛江网站制作建设做游戏交易网站有哪些内容
  • 怎么看一个网站是用模板什么做的wordpress内核文件夹
  • 苏州做网站公司选苏州聚尚网络2016优秀网站设计
  • wordpress中文版源码下载电子商务seo招聘
  • 海东高端网站建设价格新丝路网站建设
  • 深圳拼团网站建设开发app和微网站有哪些功能
  • qq上如何做文学网站做ppt模板网站有哪些内容