2.1.4数据库程序设计
考点:数据模型,关系代数运算,数据库设计
-
基本概念
①数据:描述事物的符号②数据库:长期存储,有组织的,可共享的数据集合 集成,共享
③数据库管理系统:系统软件,负责组织、操纵、维护、控制及保护和服务 数据库系统的核心
功能:数据模式定义,数据存取的物理构建,数据操纵,数据完整性、安全性的定义与检查,数据库的并发控制与故障修复,数据的服务
数据语言:
数据定义语言—数据的模式定义与数据的物理存取构建
数据操纵语言—数据的操纵,包括查询、增删改
数据控制语言—数据完整性、安全性的定义与检查以及并发控制,故障修复等功能④数据库管理员
主要工作:设计、维护、改善、提高效率⑤数据库系统
数据库,数据库管理系统,数据库管理员,系统平台之一——硬件平台,系统平台之二——软件平台⑥数据库应用系统
在数据库系统的基础上,使用数据库管理系统软件和数据库开发工具书写出应用程序,开发出应用界面。
+应用软件+应用界面 -
发展
与人工管理和文件系统相比,数据库系统阶段具有数据的集成性,数据的高共享性与低冗余性,数据独立性,数据统一管理与控制
三级模式结构- 概念模式:DDL语言定义,逻辑结构的描述中层
- 外模式:子模式,用户模式,与某一应用有关的数据的逻辑表示,概念模式的子集最外层
- 内模式:数据我i里结构和存储方式的描述最底层
只有一个概念模式和一个内模式,多个外模式
两级映像,三级模式之间,保证数据具有较高的逻辑独立性和物理独立性
2.数据模型
概念:对数据特征的抽象
三要素:数据结构,数据操作,数据约束
类型:概念模型,数据模型,物理模型
-
E-R模型
概念:
实体,客观存在并可区分
属性,实体的特性
联系,实体之间的对应关系【一对一,一对多,多对多】三个概念之间的连接关系:
实体与联系,e.g.教师与学生–教与学的关系
属性与联系,构成联系的完整描述 -
E-R图
3. 关系模型
-
常见术语:
关系,表
属性,表中的列
值域
元组:一行
候选码:唯一标识的最小属性集
主键:多个候选码,择一为主键
外键 -
关系的性质:
元组的个数有限性,唯一性,次序无关性,原子性,
属性名唯一性,属性的次序无关性,
分量值域的同一性 -
关系模型的完整性约束
实体完整性约束,参照完整性约束,用户定义的完整性约束
3. 关系代数
- 差,表间做差
- 交,表间做交
- 并,表间做并
- 笛卡尔积,m+n , p*q
- 投影运算,无重复 Π
- 选择,σ
- 除运算,取R中的S
- 连接,在笛卡尔积的运算下,寻找符合条件的元组
自然连接 比较相同属性值,进行等值连接
4. 数据库设计
- 方法:面向数据的方法和面向对象的方法
步骤:需求分析,概念设计,逻辑设计,物理设计,编码,测试,运行,进一步修改 - 需求分析:结构化分析方法(自顶而下,逐层分解)和面向对象的方法。
主要工作:绘制数据流程图,数据分析,功能分析,确定功能处理模块和数据间关系
数据字典:数据项、数据结构、数据流、数据存储和处理过程,是对系统中数据的详尽描述 - 数据库的设计:
①概念设计:数据间的内在的语义关系
②逻辑设计:从E-R向关系模式转化
③物理设计:调整并选择合理的存储路径,以提高速度,扩大存储空间 - 范式
第一范式:原子性
第二范式:消除非主属性对主键的部分依赖
第三范式:消除非主属性对主键的传递依赖
目的:使关系结构更加合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新操作。