学习数据库(1)——初始数据库

  • Post author:
  • Post category:其他




一:数据和信息

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

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



二:数据库系统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. 概念数据库设计(信息):描述数据
  3. 逻辑数据库设计(逻辑+物理):把概念设计转换为某个DBMS支持的数据模型,同时对应的DBMS自动映射物理结构
  4. 结构优化
  5. 物理数据库设计:索引、集群、调优
  6. 创建数据库
  7. 安全设计:为用户配置权限



四:数据库的语言



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)

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



版权声明:本文为weixin_36904568原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。