资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
复习提纲第二章:关系模型的基本概念与基本理论2.1数据库的基本概念 数据库是为了某个特殊目的存储在一起的相关数据记录的集合。数据库是表或者说是关系的集合。 数据库管理系统,简称 DBMS。是一种软件产品,它把一个企业的数据以记录的形式在计算机中保存起来(保存在磁盘上) Data Model (数据模型)1.是一组描述如何用计算机化的信息表示现实世界中的数据的定义2.它同时也描述了访问和更新这些信息的操作类型数据模型由数据结构、数据操作和完整性约束三部分组成。2.2 关系模型的基本概念 数据结构:表(关系) ,属性(column/attribute),元组(row/tuple),表头(模式) ,域 (domain) 关系模型的基本数据结构是二维表 表的标题也被称作关系模式,是表的列名的集合 数据独立性:查询和表的内容无关 约束规则(relational rule) Rule 1. 第一范式规则关系模型不允许含有多值属性(有时称为重复字段)和含有内部结构(比如记录类型)的列Thus cant have employees table with column dependents which contains multiple dependents names Rule 2. 只能基于内容存取行规则不可以要求检索表的第三行不允许建立指向行的指针 Rule 3. 行唯一性规则关系中的任何两个元组(表中的行)的值在同一时刻不能是完全相同的。所以关系可以被看作是元组的无序集合。 键(key)与超键(superkey) 键就是候选键 超键is a set of columns that has the uniqueness propertye.g. A superkey for CUSTOMERS:(cid, cname) keyis a minimal superkey: no subset of columns also has uniqueness property.e.g. A key for CUSTOMERS:cid 每个表都至少有一个键 空值(null value) 表 T 中的任意行在主键列的取值都不允许为空值(实体完整性规则)2.3 关系模型的基本理论 关系代数(relational algebra) 表/关系在关系代数中的表示 关系代数中的运算符: 传统的集合运算符 & 关系运算符关系代数的两种运算:集合论:并、交、差、乘积自然关系:投影、选择、连接(等值连接、自然连接)、除法 := 称为赋值运算符。可以简单地称 S 为表 R 的别名,简写为 S := R投影运算删除重复的行 if R = TS, then T = RS,S = RT if T = RS, then TSR The set of basic relational operations:(并, 差, 乘积, 选择, 投影) 基本运算 & 扩充运算 难点:减法、除法和表自身的连接运算 关系代数的应用Theta Join R F S = (RS) where F第三章:关系数据库语言 SQL3.1 数据访问命令的基本结构 数据查询命令的语句成分select statementSELECT * | colname , colname . FROM tablename , tablename . WHERE search_condition GROUP BY colname , colname . HAVING search_condition ORDER BY colname ASC | DESC , colname ASC | DESC . ;table alias in FROM clause 方法 1 table_name as alias_name方法 2 table_name alias_namecolumn alias in SELECT clause:expression as alias_nameUNION 无重复,UNION ALL 可能有重复 数据更新命令的语句成分3.2 基本的数据查询命令 单表查询 多表查询: 联接(join)查询 嵌套查询(subquery ) 表自身的连接查询 扩展的查询谓词: between and is null, is not null like in, not in some, any, all exists3.3 复杂的数据查询命令 统计查询 COUNT SUM AVG MAX MINselect cidfrom customers c1where discnt Y,如果对分解中的某一个表 Ti ,有 XYHead(Ti),则称该函数依赖在 T 的分解中被保持,或者说,T 的分解保持了函数依赖XY 。此时,我们也说函数依赖 XY “在 Ti 被保持” ,或者说“存在于 Ti 中”或者“在 Ti 中” 。 算法:到 3NF 且能够满足无损联结性和依赖保持性的分解算法第七章:数据定义 基表定义命令 基本的建表命令create table orders(ordno integer not null,month char(3),cid char(4) not null,aid char(3) not null,pid char(3) not null,qty integer not null constraint qtyck check( qty = 0 ),dollars float default 0.0 constraint dollarsck check ( dollars = 0.0 ),primary key ( ordno ),constraint cidref foreign key (cid) references customers,constraint aidref foreign key (aid) references agents,constraint pidref foreign key (pid) references products );create table orders (ordno integer not null,month char (3),cid char (4) not null references customers,aid char (3) not null references agents,pid char (3) not null references products,qty integer not null constraint qtyck check ( qty = 0 ),dollars float default 0.0 constraint dollarsck check ( dollars = 0.0 ),primary key (ordno) ); 各种数据完整性约束的含义及其定义方法完整性约束:实体完整性(主关键字不允许为空且具有唯一性) 、参照完整性、用户定义完整性UNIQUE 所有的非空值必须是唯一的,但允许多个空值同时存在 视图(view)定义命令 视图 视图的定义命令创建视图的子查询语句不能有 order byCREATE VIEW agentorders (ordno, month, cid, aid,pid, qty, charge, aname, acity, percent)AS SELECT o.ordno, o.month, o.cid, o.aid, o.pid,o.qty, o.dollars, a.aname, a.city, a.percentFROM orders o, agents aWHERE o.aid = a.aid; 视图的作用 安全性 授权语句 grant 权限回收语句 revoke第十章:事务管理 事务(transaction) 事务及其 ACID 特性 事务是数据库提供的一种手段,通过这一手段,应用程序员将一系列的数据库操作组合在一起作为一个整体以便数据库系统提供一组保证,也就是事务的 ACID 性质 原子性、一致性、隔离性、持久性 事务的控制语句:事务的启动与结束方式Commit or rollback 调度(schedule),串行调度(serial schedule),可串行化调度(Serializability Schedule) 冲突(Conflict),冲突 与 冲突可串行化调度 封锁协议 两阶段封锁(Two-Phase Locking) 申请、释放 死锁(deadlock) 事务的隔离级别:SET TRANSACTION 隔离级别与封锁协议的关系 恢复 日志(log) 检查点(checkpoint) 事务/数据库 恢复(recovery)过程
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号