引言

数据库

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合

分类

  • 关系型
  • 非关系型

数据库系统的应用

企业信息、银行和金融、大学、航空业、电信业。

数据库的4个基本概念

  • 数据:描述事物的符号记录
  • 数据库
  • 数据库管理系统
  • 数据库系统

    数据系统的特点

  • 数据结构化
  • 数据共享性高、冗余度低且易于扩充
  • 数据独立性高
  • 数据由数据库管理系统统一管理和控制

    数据库系统的目标

    文件处理系统的弊端

    1.数据冗余和不一致 2.数据访问困难 3.数据孤立 4.完整性问题 5.原子性问题 6.并发访问异常 7.安全性问题 数据库的出现就是为解决这些问题

    数据视图

    数据抽象

    物理层->逻辑层->视图层

    实例和模式

    实例:特定时刻存储在数据库中的信息集合 模式:数据库的整体设计 因此,数据库系统通常可以分为几种不同的模式:
  • 物理模式:描述数据库在物理上的设计
  • 逻辑模式:描述在逻辑层数据库的设计
  • 用户模式:数据库用户的视图,是与某一用户有关的数据的逻辑表示

数据模型

定义:数据库结构的基础

  • 关系模型:用表的集合来表示数据和数据间的联系
  • 实体-联系模型:基于对现实世界这样的一种认识,现实世界由一组称为实体的基本对象间的联系构成
  • 基于对象的数据模型:类似JAVA等OOP语言的面向对象特性
  • 半结构化数据模型:如XML

    数据库语言

    数据操纵语言(DML)

  • 过程化DML
  • 声明式DML

    数据定义语言(DDL)

    定义:通过DDL来说明数据库所使用的存储结构和访问方式

    一致性约束

  • 域约束:属性的约束
  • 参照完整性
  • 断言
  • 授权

    关系数据库

    数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系

    数据操纵语言

    特点:非过程化(告诉它做说明,而不必告诉它怎么做)
    SELECT * FROM user where age = 15 # 从user表取出age = 15 的用户所有列
    

    数据定义语言

    CREATE TABLE user(id INT,name VARCHAR(255)) 
    # 创建一张user表,这种表有id、name两个字段
    

    应用程序访问数据库

  • 通过提供应用程序接口:如ODBC与JDBC
  • 扩展宿主语言:提供一个预处理,将DML语言转换成宿主的语言调用

    数据库设计

    设计过程

  • 概念设计:进行建模,决定数据库应该要有哪些实体,实体要有哪些属性。比如使用ER模型进行设计。
  • 逻辑设计:将概念设计得到的模型映射到数据所使用的模型上。
  • 物理设计:包括文件组织的形式以及内部的存储结构。

    实体联系模型

    即ER模型
  • 实体
  • 属性
  • 联系
  • 实体集
  • 联系集

    映射基数

    即1:N 1:1 M:N

    规范化

    不好的设计

  • 信息重复
  • 缺乏表达某些信息的能力

    数据存储和查询

    存储管理器

  • 权限及完整性管理器
  • 事务管理器
  • 文件管理器
  • 缓冲区管理器

  • 数据文件
  • 数据字典
  • 索引

    查询处理器

  • DDL解释器
  • DML编译器
  • 查询执行引擎

    事务管理

    特性:A(原子性)C(一致性)I(隔离性)D(持久性)

    事务

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

    数据库体系结构

  • 两层体系结构:客户端直接与数据进行交互
  • 三层体系结构:客户端通过一个服务端与数据进行交互

    数据挖掘与信息检索

    数据挖掘定义:从数据库中发现知识

    特种数据库

  • 面向对象数据库
  • 半结构化数据库

    数据库系统的历史

  • 1950s-1960s:磁带存储
  • 1960s-1970s:硬盘
  • 1980s:关系数据库取代网状数据库
  • 1990s:互联网与数据库
  • 2000s:数据分析与数据库

results matching " "

No results matching " "

results matching " "

No results matching " "