一:数据和信息
数据:描述事物的符号记录,是信息的符号表示
信息:现实世界事物的存在方式或状态的反映,是具有特定意义的数据
二:数据库系统DBS
- 定义
采用数据库技术、有组织的、动态的存储大量数据,方便多用户访问的计算机系统
- 组成
(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自动映射物理结构
结构优化
物理数据库设计:索引、集群、调优
创建数据库
安全设计:为用户配置权限
四:数据库的语言
- 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:时间戳
六:数据库的体系结构
- 文件(磁盘存储)
数据文件
索引文件
日志文件
统计数据文件
数据字典
2. 存储管理器(DBMS)
在底层数据存储于应用程序之间提供接口,对数据进行高效的存储、检索、更新。
事务管理器
文件管理器
缓存管理器
授权和完整性管理器
3. 查询管理器(DBMS)
接收数据库语言的输入
解析
优化(预估操作的开销也就是统计信息)
执行
输出结果