unique【唯一索引】 clustered【聚集索引】
索引类型:聚集索引,散列索引
【高内聚低耦合】
数据库分析与设计
事务的特性:原子性、一致性、隔离性、持续性。称为ACID特性。
事务规范:包括了 事务名称、事务描述、事务所访问的数据项、事务用户
降低事务隔离级别可以提高事务的吞吐量,提高活锁的可能性,降低发生死锁、发生阻塞的可能性。
数据库应用系统升级工作:改变数据库应用系统体系结构,升级DBMS版本 ,修改程序以适应新需求
数据库应用系统优化内容:创建新的索引,
数据库应用系统的实施工作:包括创建数据库、装载数据、编写与调试应用程序、数据库试运行
数据库逻辑结构设计:关系模式的设计、规范化处理
数据库物理结构设计:关系模式进行去规范化处理
数据库运行维护与优化的工作:数据库性能调优,数据转储 ,系统监控
数据库应用系统日常维护包括:备份与恢复、完整性维护、安全性维护、存储空间管理和并发控制
数据库应用系统实现与部署内容包括:①建立数据库结构;②数据加载;③事务和应用程序的编码及测试;④系统集成、测试与试运行;⑤系统部署
数据持久层负责保存和管理应用数据系统数据,而数据的完整性维护属于数据持久层功能中的数据管理的内容。
需求分析具体包括数据需求分析、功能需求分析、性能需求分析、其他需求分析(数据存储需求分析、安全性需求分析、备份和恢复需求分析)。
系统规划与定义的内容包括:任务陈述、确定任务目标、确定系统范围和边界、确定用户视图
可行性分析阶段的任务包括技术可行性、经济可行性、操作可行性、开发方案选择。
需求分析建模方法:UML,DFD,IDEF0
IDEF1X侧重分析、抽象和概括应用领域中的数据需求,被称为数据建模方法;非确定联系又称为多对多关系
关于数据流图:
- 一个存储必须有流入的数据流和流出的数据流
- 父图中描述过的数据流必须在相应的子图中出现
- 一个数据流至少有一端是处理框
从功能角度数据库应用系统可以划分为四个层次来实现:
①表示层:用于显示数据和接收用户输入的数据。(一般为Windows应用程序或Web应用程序)。
②业务逻辑层:负责根据业务逻辑需要将表示层获取的数据进行组织后,传递给数据访问层,或将数据访问层获取的数据进行相应的加工处理后,传送给表示层用于展示
③数据访问层:负责与DBMS系统进行交互,提取或存入应用系统所需的数据。
④数据持久层:负责保存和管理应用系统数据。
①表示层:用于显示数据和接收用户输入的数据。(一般为Windows应用程序或Web应用程序)。
②业务逻辑层:负责根据业务逻辑需要将表示层获取的数据进行组织后,传递给数据访问层,或将数据访问层获取的数据进行相应的加工处理后,传送给表示层用于展示
③数据访问层:负责与DBMS系统进行交互,提取或存入应用系统所需的数据。
④数据持久层:负责保存和管理应用系统数据。
在进行DBAS设计时,为了避免死锁,可以考虑以下原则:
(1)按同一顺序访问资源。
(2)避免事务中的用户交互。
(3)采用小事务模式,尽量缩短事务的长度,减少占有锁的时间。
(4)尽量使用记录级别的锁(行锁),少用表级别的锁。
(5)使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。
顺序图主要用于描述系统内对象之间的消息发送与接收序列 (1)按同一顺序访问资源。
(2)避免事务中的用户交互。
(3)采用小事务模式,尽量缩短事务的长度,减少占有锁的时间。
(4)尽量使用记录级别的锁(行锁),少用表级别的锁。
(5)使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。
业务逻辑层概要设计【构件设计】
1、一个构件或模块只负责完成一项任务,也就是单一责任原则。
2、各个构件均应具有独立的功能,并最大限度地减少与其他构件功能重叠。
3、构件之间的接口应尽量简单明确。
4、如果两个构件间的关系比较复杂,应考虑进一步进行模块划分。
5、如果构件过于复杂,可以考虑将其细分。
通信图也称为协作图,用于表示对象之间的联系以及对象间发送和接收的消息1、一个构件或模块只负责完成一项任务,也就是单一责任原则。
2、各个构件均应具有独立的功能,并最大限度地减少与其他构件功能重叠。
3、构件之间的接口应尽量简单明确。
4、如果两个构件间的关系比较复杂,应考虑进一步进行模块划分。
5、如果构件过于复杂,可以考虑将其细分。
UML与数据库应用系统
数据库应用系统内部结构一般分为静态结构与动态结构
系统结构图:类图,对象图,顺序图,通信图;
静态结构:类图,对象图;动态结构:顺序图,通信图;
用例模型:用例、系统和角色三部分组成;
顺序图强调的是时间,通信图强调的是空间,都是交互图;
类图主要表达的是问题领域的概念模型,用于表达抽象概念的名称、属性、行为及关系等
顺序图和状态图都是UML的行为视图,用例图是用例视图
时间图:描述状态之间的转换,一张时间图通常会对应至少一张状态图
状态图:只能有一个起始状态,可以有多个结束状态
对象图:可以看成是系统在某一时间点的快照,用于描述特定时间点上所有对象在系统中的结构
元元模型层:组成了UML的最基本的元素"事物",代表要定义的所有事物
元模型层:中的每个概念都是元元模型层"事物"概念的一个实例
用户模型层中的每个概念都是模型层的一个实例
模型层中的每个概念都是元模型层中概念的一个实例
用例用于描述从系统用户的角度来观察,系统应该具有哪些功能,帮助分析人员理解系统的行为。
用例之间包括扩展、使用、组合三种关系。
角色是与系统进行交互的外部实体,可以是系统用户也可以是其他系统或者硬件设备。
系统是在边界线以内的区域(即用例的活动区域)抽象地表示能够实现的所有基本功能。
一个角色可以执行多个用例,反过来,一个用例也可以被多个角色使用。
角色是与系统进行交互的外部实体,可以是系统用户也可以是其他系统或者硬件设备。
系统是在边界线以内的区域(即用例的活动区域)抽象地表示能够实现的所有基本功能。
一个角色可以执行多个用例,反过来,一个用例也可以被多个角色使用。
数据库的完整性约束条件分为三种级别:
对列的约束:对其值的类型、范围、精度、排序等约束。
对元组的约束:对记录中各个属性之间的联系约束。
对关系的约束:对若干记录间(一个关系的各个元组之间)、关系集合上以及关系之间联系的约束。
对列的约束:对其值的类型、范围、精度、排序等约束。
对元组的约束:对记录中各个属性之间的联系约束。
对关系的约束:对若干记录间(一个关系的各个元组之间)、关系集合上以及关系之间联系的约束。