基本名词

  • DB:DataBase,数据库。长期存储在计算机内的、有组织、可共享的数据集合。其中的数据按一定数据模型组织描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为各种用户共享
  • DBMS:DataBase Management System,数据库管理系统。位于用户与操作系统间的数据管理软件,负责对数据库进行统一管理和控制,为用户和应用程序提供访问数据库的方法,是数据库系统的核心组成部分
  • DBS:DataBase System,数据库系统,是计算机系统、DB、DBMS、应用软件、DBA和用户的集合。(包括硬件)
  • DBA:DataBase Administrator,数据库管理员。负责维护管理数据库系统。

数据库系统与文件系统的区别:数据库系统的特点

文件系统的特点是:

  • 数据可以长期保存
  • 文件的多样化和结构化
  • 文件系统管理数据

文件系统的缺点是:

  • 数据冗余度大
  • 数据独立性较差
  • 数据练习弱

相对而言,数据库系统的特点是:

  • 数据的整体结构化
  • 数据独立性高
  • 数据共享性高,冗余度低,易扩充
  • 提供了完整的控制功能(安全性、完整性、并发控制、数据库恢复)

数据模型

数据库模型的构成

  • 数据结构:网状结构、层次结构、关系结构
  • 数据操作:增删改查
  • 完整性约束:实体完整性(主键唯一且非空)、参照完整性(外键要么为空要么对应另一个表的主键)、自定义完整性(取值范围)

数据库管理系统的功能

  • DDL(数据库定义语言):CREATE、ALTER、DROP
    模式的定义和删除,包括定义数据库、表、视图、索引、完整性约束条件等,也包括定义对象(RowType行对象、Type列对象)
  • DML(数据库操纵语言):INSERT、DELETE、UPDATE、SELECT
    各种方式的更新与检索、各种复杂条件的检索、各种聚集操作(求和、求平均等)、分组聚集、分组过滤
  • DCL(数据库控制语言):GRANT、REVOKE
    安全性控制:授权和撤销授权

    模型分类

  • 概念数据模型:对现实的抽象,与DBMS无关且易理解,用于数据库设计者与用户之间进行交流。

  • 结构数据模型:也称逻辑数据模型,是具体的DBMS支持的数据模型,如网状模型、层次模型、关系模型和面向对象模型等。该模型既面向用户也面向系统,可由概念数据模型转换得到。
    • 层次模型:树结构。简单且方便使用、性能优秀且具有良好的完整性支持、描述直观且容易理解。但实现方法复杂难以掌握,数据查询、更新复杂,程序编写困难。
    • 网状模型:图结构。能直观的描述现实世界,具有良好的性能。但随着规模增加,结构较复杂;且DDL和DML复杂,不利于使用;实现时必须与底层打交道,程序难以编写。
    • 关系模型:建立在严格的数学理论基础上;概念单一;存储路径对用户透明而具有较高的数据独立性、更好的安全性,也降低了实现难度;集合操作。但由于存储路径对用户透明,查询效率较低,必须为此对查询进行优化,加大了开发难度。
  • 物理数据模型:描述数据在存储介质上组织结构的数据模型,与具体的DBMS、操作系统和硬件相关,由结构数据模型经DBMS转换得到。

    实体-联系(E-R)模型

    矩形代表实体、椭圆代表属性、菱形代表联系(联系也可以具有属性)。
    联系:两个实体之间的存在的关联,存在一对一、一对多、多对多联系。联系通常用多条线段表示,在线段上需要标出哪一方是是1,哪一方是多。