一:数据和信息
数据:描述事物的符号记录,是信息的符号表示
信息:现实世界事物的存在方式或状态的反映,是具有特定意义的数据
二:数据库系统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)从系统的角度
三级模式与两级映像
三级模式:数据库的总体设计
-
模式(概念模式):描述数据库中所有数据的逻辑结构和特征,由若干个概念记录类型组成。
- 实例:概念模式的一个具体值,是动态变化的
- 外模式(用户模式/子模式):描述用户使用的数据,由若干个外部记录类型组成。用户通过外部记录操作数据
- 内模式(存储模式):描述数据的物理结构和存储方式,定义所有内部记录类型、索引和文件的组织方式
两级映像:模式间的转换
- 模式-内模式映像:模式和内模式的转换
- 外模式-模式映像:外模式和模式的转换
作用:保证数据的独立性
通过对模式的分层,保证了数据的物理独立性和逻辑独立性,修改一层的结构不会影响更高层的结构
-
物理数据独立性:修改物理结构,只需修改模式-内模式映像,而不需改变逻辑结构
- 易于实现,应用程序独立于物理结构
-
逻辑数据独立性:修改逻辑结构,只需修改模式-外模式映像,而不影响应用程序
- 难以实现,应用程序依赖于逻辑结构
三:数据库的设计
- 需求分析
- 概念数据库设计(信息):描述数据
- 逻辑数据库设计(逻辑+物理):把概念设计转换为某个DBMS支持的数据模型,同时对应的DBMS自动映射物理结构
- 结构优化
- 物理数据库设计:索引、集群、调优
- 创建数据库
- 安全设计:为用户配置权限
四:数据库的语言
1. SQL的组成
(1)数据定义语言DDL
指定一个数据库模式(也就是创建表)作为一组关系模式的定义,。并指定数据的存储结构,访问方法,一致性约束。(表、索引、视图、触发器)
- CREATE 创建
- ALTER 修改
- DROP 删除
- TRUNCATE 移除所有
DDL语句经过编译,得到一组存储在数据字典的表
- 数据库模式
- 数据存储结构
- 访问方法
- 约束
- 统计信息
- 授权
(2)数据操作语言DML
从数据库中检索数据并对数据进行修改
- SELECT 查询
- INSERT 插入
- UPDATE 更新
- DELETE 删除
分类
- 过程化:用户指定需要的数据以及获取方法
- 声明化:用户只需指定需要的数据
(3)数据控制语言DCL
用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等
- COMMIT 提交
- SAVEPOINT 保存点
- ROLLBACK 回滚
- SETTRANSACTION 设置当前事务的特性
- grant 赋予权限
- revoke 收回权限
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:时间戳
六:数据库的体系结构
1. 文件(磁盘存储)
- 数据文件
- 索引文件
- 日志文件
- 统计数据文件
- 数据字典
2. 存储管理器(DBMS)
在底层数据存储于应用程序之间提供接口,对数据进行高效的存储、检索、更新。
- 事务管理器
- 文件管理器
- 缓存管理器
- 授权和完整性管理器
3. 查询管理器(DBMS)
- 接收数据库语言的输入
- 解析
- 优化(预估操作的开销也就是统计信息)
- 执行
- 输出结果
版权声明:本文为weixin_36904568原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。