第一章:IntExplain why databases are important to business.(解释为什么数据库对商业很重要)1.数据库系统方便地实现了数据的集中管理。
2.使用数据库系统可以保持数据的独立性。
3..数据库系统是企业实现信息化的核心。
Information内容代表信息,信息来源于物质和能量,可以被感知、存储、加工、传递和再生。
信息是一个社会属性,是人类维持正常活动不可缺少的资源。
Data数据是可以被用符号或者其他形式记录下来的信息,是可以被识别的信息。
被赋予特定语义的符号,可以记载和传递信息。
ACID properties of a TransactionA:原子性(Atomicity)事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
B:一致性(Consistency) 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
一致性与原子性是密切相关的。
C:隔离性(Isolation)一个事务的执行不能被其他事务干扰。
D:持续性/永久性(Durability) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
第二章:database system development lifecycle-信息收集阶段:必须了解企业中数据的组成,确定所需的数据是已经存在还是需要新建。
-分析和设计过程:需要根据基本的数据需求从概念和逻辑上建立数据模型;然后在开始部署之前,将逻辑的数据库转换可以使用的物理数据库设计。
-部署和试运行阶段:数据库专家需要预估数据库系统的工作量,确定系统的安全性,预期系统的存储和内存需求;然后将新的数据库从测试环境迁移到生产环境中试运行。
-维持可用性阶段:系统开始运行之后,仍需要保证系统的可用性和安全性,对数据进行使用权限管理,性能监控管理、性能调优管理、数据备份和恢复管理。
-系统维护阶段:当数据库环境变化时,需要对数库系统进行升级或者维护,数据库专家需要根据收集到的信息再次重复整个生命周期的流程。
Mission statement (任务陈述) for the database project defines major aims of database system. 数据库项目定义了数据库系统的主要目标用户需求规约数据需求事务需求数据库系统的系统规约初始数据库大小数据库增长速度记录查找的类型和平均数量网络和数据共享需求性能安全性备份和恢复用户界面合法问题如何在众多的数据库管理系统中选出合适项目本身的DBMS ?1、成本问题2、功能性问题3、系统平台问题4、开发平台的问题第三章:Identify the symbols used in an ER diagram.Define and select a primary key.Explain the role of foreign keys.Identify and apply integrity rules.Explain the advantages of relational database.Relation Algebra(1)Union 并(2)Intersection 交(3)Difference 差 (4)The Product Operation 笛卡尔积(5)The Projection Operation 投影)R (C 、A π(6) TheSelection Operation 选择)(''R b B =δ(7)The Join Operation 连接S R ji θ∞ (8)除法(division )Entities, Relationships and Attributes 实体、关系和属性entity relationship diagram 实体的模型和它们之间的关系称为实体关系图第四章Primary KeysUnique Minimal Not Null NonupdateableForeign KeysAssociative Entity关联实体Data IntegrityEntity integrity:基本关系的所有主关键字对应的主属性都不能取空值Referential integrity:关系中不允许引用不存在的实体First Normal Form (1NF)不允许有多值属性画er图步骤:1.将实体表示为表 2.确定关系 3.列出字段 4.识别主键 5.确定数据类型第五章Data Redundancy 数据冗余:2NF - Second Normal Form:主键的一部分不能确定非键字段3NF - Third Normal Form:非键字段不能确定另一个非键字段BCNF - Boyce–Codd Normal Form:非键字段确定主键的一部分4NF - Fourth Normal Form:全键表中,键的一部分可以决定其他多个值5NF - Fifth Normal Form6NF - Sixth Normal FormDKNF - Domain/Key NorDerived attribute由单个属性派生而出;2、由多个属性派生而出;3、由其他属性的多个值派生而出;4、由其他表的多个属性的多个值派生而出;数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用时再从基属性中计算出来Recursive Relationships:递归关系一对多的递归关系:计算机和组件之间的关系:Supertype/Subtype Hierarchies(超类和子类)Partial Specialization(局部特殊化):(超类的某些实例不属于任何子类类型)Total Specialization(全局特殊化):(超类的所有实例都必须至少属于一个子类类别)Disjoint rule(分离规则):(超类的一个实例至多属于一个子类类别)Overlap rule(交叠规则):(一个超类实例可能属于超过一个子类类别)connection traps. (连接陷阱) 1.fan traps(扇形陷阱) and chasm traps.(深坑陷阱)扇形陷阱:哪名学生学习了课程CS101?用当前的结构是不可能给出一个明确的答案的。
深坑陷阱由于student可以没有textbook, textbook就不知道是属于哪个course的了第七章logical database designStep1: create and check ER modelStep2: map ER model to tables步骤1.1 标识实体步骤 1.2 标识关系步骤 1.3 标识实体或关系实体的相关属性步骤 1.4 确定属性域步骤 1.5 确定候选键、主键步骤 1.6 特化和泛化实体标识超类和子类步骤 1.7 检查模型的冗余性步骤 1.8 检查模型是否支持用户事务步骤 1.9 和用户一起检查模型步骤 2.1 创建表步骤 2.2 使用规范化方法检查表结构步骤 2.3 检查表是否支持用户所需的事务步骤 2.4 检查业务规则需要的数据属性域约束实体完整性多样性参照完整性步骤 2.5 与用户一起讨论逻辑数据库设计第八章Physical Database Design Summary步骤3将逻辑数据库设计转换为目标DBMS步骤3.1设计基表步骤3.2导出数据的设计表示步骤3.3设计剩余的业务规则步骤4:选择文件组织和索引替代键(alternate key)可以是数据表内不作为主键的其他任何列,只要该键对该数据表唯一即可。
换句话说,在唯一列内不允许出现数据重复的现象。
File organizations:文件存储在磁盘上时,记录在文件中的排列方式。
Indexes:一种数据结构,DBMS利用索引在文件中更快的定位某些记录,提高对用户查询的响应。
步骤 4.1 Analyze transactions事务对于更新事务,要注意被更新的列,这些列不适合作为索引列。
(b) Columns used in any search conditions.在where子句中的列,可能是索引的候选。
(c) For query, columns involved in joins.联接列,也可能是索引的候选。
(d) Expected frequency of transaction.(e) Performance goals of transaction.对常用和关键事务中的查询条件使用的列,需要重点考虑。
步骤4.2选择文件组织步骤4.3选择索引一种方法是记录无序,创造尽可能多的二级索引也可以通过指定一个主或集群索引来在表中管理记录每个表只能有一个主索引或一个集群索引在插入记录时将索引记录添加到每个辅助索引;更新相应记录时的辅助索引;增加存储二级索引的磁盘空间;在查询优化期间可能的性能降低,以考虑所有的辅助索引。
建议:(1)小表不建索引。
(2)一个表的索引PK,如果它不是文件组织的键。
(3)将辅助索引添加到被大量用作辅助键的列。
(4)如果频繁访问,则将辅助索引添加到FK(5)需要添加二级索引:选择或连接标准;按顺序排列;以及其他涉及排序的操作(6)内置函数中使用的列上添加辅助索引(7)避免索引频繁更新的列或表。
(8)避免索引需要查询检索表中大量的记录(9)避免索引包含长字符串的列。
如果查询条件包含多个条件,并且条件中包括一个or子句,而该条件没有索引,那么为其他列添加索引将不会改善查询速度。
SQL Server中常用的索引是B树索引索引使用条件:至少要在有效查找参数或连接子句中包括索引的第一列,选择复合索引的列顺序时,更要注意这一点。
➢复合索引:把选择性最高的列放在第一位。
➢保证在连接中使用索引列。
如果连接中指定的列不进行索引,则效率低。
主键自动生成索引。
➢对关键查询和事务调整索引。
➢避免选择性差的列生成索引。
➢小心选择簇索引与非簇索引。
步骤5 用户视图DBMS通常提供两种类型的数据库安全:系统安全:系统级访问和使用数据库(如用户名/口令)数据安全:访问和使用数据库对象(如表和视图)Denormalization Normalization规范化结果在逻辑数据库设计中,结构上是一致的,并且具有最小的冗余。
反规范化设计是使用空间(冗余)换取时间(效率)方规范化:优点:减少关联表的数量。
提高读取数据的效率。
缺点:1.使实现更复杂;2.常常牺牲灵活性;3.可以加快检索速度,但会减慢更新速度。
Partitioning tables(拆分表):水平拆分垂直拆分优点:1.改进的负载平衡2.改进的性能3.增加可用性4.改进的复苏5.安全。