<>一:数据和信息

数据:描述事物的符号记录,是信息的符号表示

信息:现实世界事物的存在方式或状态的反映,是具有特定意义的数据

<>二:数据库系统DBS

<>1. 定义

采用数据库技术、有组织的、动态的存储大量数据,方便多用户访问的计算机系统

<>2. 组成

<>(1)数据库DB

是统一管理的、长期存储在计算机内的、有组织的数据集合

<>(2)硬件

包括存储数据所需的物理设备

<>(3)软件

* 操作系统
* 应用程序
* 数据库管理系统
<>数据库管理系统DBMS:科学高效的存储、维护数据
<>功能:
* 数据定义:用户通过数据定义语言(DDL)描述数据库的结构,将各种定义存储在数据字典中
* 数据的组织、存储、管理:确定数据组织和存储的文件结构
* 数据库的建立和维护
* 数据库操作:用户通过数据操纵语言(DML)操作数据
* 宿主型:将DML语句嵌入语言使用
* 自含型:单独使用DML语句
* 数据库运行管理
* 网络通信功能、数据转换功能等 <>特点:
* 数据结构化且统一管理
* 数据独立:应用程序只需要关注数据的逻辑结构,无需关注物理存储。缩短应用开发时间
* 具有数据控制功能
* 数据库的安全性
* 数据的完整性
* 并发控制
* 故障恢复 <>分类:
* 网状数据库
* 层次数据库
* 关系数据库:建立在关系模型基础的数据库,实体和实体间的联系用关系表示
* Oracle、DB2、SQL-Server、ACCESS
* MySQL、PostgreSQL
* 面向对象数据库系统:建立在对象模型基础的数据库
* 对象关系数据库系统:建立在对象关系模型基础的数据库,数据类型包含了对象
* 面向应用数据库系统
<>(4)人员

* 系统分析员:负责需求分析和规范说明,对数据库系统进行概要设计
* 数据库设计人员:负责确定数据,设计数据库的模式
* 应用程序员:负责编写应用程序
* 用户:利用应用系统的接口访问数据库
* 数据库管理员DBA:对数据库系统进行集中控制的特殊用户
* 拥有数据库管理的最高权限(定义模式、存储结构、存取方法)
* 控制所有用户访问数据库的权限(授权)
* 协调数据库系统的活动(维护)
<>3. 体系结构

<>(1)从用户的角度

* 集中式数据库系统:数据和数据的管理都集中在一台计算机上
* 客户端服务器结构:客户端的请求送到服务器上执行
* 前端(客户端):数据表示
* 后端(服务端):数据库服务
* 并行数据库系统:多个物理上连在一起的CPU
* 共享内存式多处理器:CPU共享一个内存和一个磁盘接口
* 无共享式并行体系结构:每个CPU有自己的内存和磁盘
* 分布式数据库:多个地理上分开的CPU
* 逻辑上集中:把单位的数据模式按数据来源和用途分布在多个结点上
* 逻辑上分开:每个结点包含自己的数据模式和其他结点的共享数据模式
<>(2)从系统的角度

三级模式与两级映像

<>三级模式:数据库的总体设计

* 模式(概念模式):描述数据库中所有数据的逻辑结构和特征,由若干个概念记录类型组成。
* 实例:概念模式的一个具体值,是动态变化的
* 外模式(用户模式/子模式):描述用户使用的数据,由若干个外部记录类型组成。用户通过外部记录操作数据
* 内模式(存储模式):描述数据的物理结构和存储方式,定义所有内部记录类型、索引和文件的组织方式
<>两级映像:模式间的转换

* 模式-内模式映像:模式和内模式的转换
* 外模式-模式映像:外模式和模式的转换 <>作用:保证数据的独立性
通过对模式的分层,保证了数据的物理独立性和逻辑独立性,修改一层的结构不会影响更高层的结构

* 物理数据独立性:修改物理结构,只需修改模式-内模式映像,而不需改变逻辑结构
* 易于实现,应用程序独立于物理结构
* 逻辑数据独立性:修改逻辑结构,只需修改模式-外模式映像,而不影响应用程序
* 难以实现,应用程序依赖于逻辑结构
<>三:数据库的设计

<>1. 数据模型

数据模型主要用于描述数据的结构、关系、语义和约束。

<>分类

* 网状模型
* 层次模型
* 实体-关系模型(概念设计)
* 实体(□)
* 属性 (○)
* 联系 (◇)
* 关系模型(逻辑设计)
* 面向对象模型
<>2. 设计步骤

* 需求分析
* 概念数据库设计(信息):描述数据
* 逻辑数据库设计(逻辑+物理):把概念设计转换为某个DBMS支持的数据模型,同时对应的DBMS自动映射物理结构
* 结构优化
* 物理数据库设计:索引、集群、调优
* 创建数据库
* 安全设计:为用户配置权限
<>四:数据库的语言

<>1. SQL的组成

<>(1)数据定义语言DDL

指定一个数据库模式(也就是创建表)作为一组关系模式的定义,。并指定数据的存储结构,访问方法,一致性约束。

* 创建、删除、修改表
* 创建、删除索引
* 创建、删除视图
* 创建、删除触发器
DDL语句经过编译,得到一组存储在数据字典的表

* 数据库模式
* 数据存储结构
* 访问方法
* 约束
* 统计信息
* 授权
<>(2)数据操作语言DML

从数据库中检索数据并对数据进行修改

* 查询
* 插入
* 更新
* 删除
<>分类

* 过程化:用户指定需要的数据以及获取方法
* 声明化:用户只需指定需要的数据
<>(3)数据控制语言DCL

* 赋予权限
* 收回权限
<>2. SQL的使用方式

* 直接在交互环境使用
* 编程语言通过ODBC、JDBC等开发式数据库连接使用
* 编程语言中使用嵌入式SQL
<>五:数据库的数据类型

* char(n):固定长度字符串
* varchar(n):可变长度字符串
* int:整数类型
* smallint:小整数类型
* numeric(p,d):定点数,有p位数字,d位小数
* real,double precision:双精度浮点数
* float(n)n精度浮点数
* null:空值
* date:日期
* time:时间
* timestamp:时间戳
<>七:数据库的事务

<>定义

在数据库应用中完成单一逻辑功能的操作集合

<>要求ACID

* 原子性:要么执行要么不执行
* 一致性:不会破坏数据库的一致性
* 隔离性:并发运行的事务互不影响
* 持久性:事务操作的结果持久化
<>事务管理组件

确保系统出现异常时,数据库能够保持一致性

<>并发控制管理器

<>八:数据库的体系结构

<>1. 文件(磁盘存储)

* 数据文件
* 索引文件
* 日志文件
* 统计数据文件
* 数据字典
<>2. 存储管理器(DBMS)

在底层数据存储于应用程序之间提供接口,对数据进行高效的存储、检索、更新。

* 事务管理器
* 文件管理器
* 缓存管理器
* 授权和完整性管理器
<>3. 查询管理器(DBMS)

* 接收数据库语言的输入
* 解析
* 优化(预估操作的开销也就是统计信息)
* 执行
* 输出结果

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信