跳到主要内容

概述

数据库是以电子方式存储的系统数据集合。它可以包含任何类型的数据,包括文字、数字、图像、视频和文件。您可以使用称为数据库管理系统 (DBMS) 的软件来存储、检索和编辑数据。在计算机系统中,“数据库” 一词也可以指任何 DBMS、数据库系统或与数据库关联的应用程序。

数据独立性

应用程序和数据库中的数据不存在依赖关系。

  1. 逻辑独立性:数据库全局逻辑结构发生变化(数据定义的修改,数据之间联系的变更,增加新的数据类型),不影响局部逻辑结构的性质,应用程序不需要修改。

  2. 物理独立性:数据的存储结构和存取方法发生变更时,数据库的全局逻辑结构和应用程序不必修改。

数据库对象

主要的逻辑数据模型

  1. 非关系模型:层次模型(树状),网状(多对多)

  2. 关系模型:表格状:面向对象数据模型,对象关系数据模型,半结构化数据模型。

表是一种结构化的文件,存储在表中的数据是同一种类型的数据或清单。每一个表都有一个唯一的名字。

表具有一些特性,包括数据在表中如何存储、存储什么样的数据、数据如何分解等。模式描述了表或数据库的这些特性信息。

表由列组成,列是表中的一个字段。使用表存储数据时要正确地将数据分解为多个列。每个列都有相应的数据类型,限定了可存储在该列中地数据种类。

数据类型及其名称的不同是 SQL 不兼容的一个主要原因。

行是表中的一个记录,表中的数据是按行存储的。

主键

表中每一行都应该有一列或几列可以唯一地标识自己,这一列或几列就是表的主键。

表中应该总是有一个主键。

作为主键的列需要满足的条件:

  1. 任意两行都不具有相同的主键值

  2. 每一行都必须有一个主键值(主键列不允许有NULL值)

  3. 主键列中的值不允许修改或更新

  4. 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)

当多个列作为主键时,只需要所有的列值的组合是唯一的,单个列的值可以不唯一。

数据库技术

数据管理技术经历了人工管理,文件管理,数据库系统3个阶段。

数据库技术应数据管理任务的需要而产生,数据管理则是对数据进行分类,组织,编码,存储,检索,维护。他是数据处理的中心问题。

文件系统和数据库系统的区别
  1. 数据库系统程序和数据分离,文件系统程序和数据在一起。

  2. 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据。

  3. 文件系统实现以文件为单位的数据共享。数据库系统实现以记录和字段为单位的数据共享

  4. 数据库系统是在文件系统的基础上发展出来的

数据库管理系统DBMS

数据库软件是数据库管理系统(DBMS),数据库是通过 DBMS 创建和操纵的容器。

RDBMS 指关系型数据库管理系统。RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础。

RDBMS 中的数据存储在被称为表tables的数据库对象中。

数据库三级模式结构

概念模式

数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。由数据库管理系统提供的数据模式描述语言来描述、定义的,体现反映了数据库系统的整体观。

外模式:用户模式

对应用户级。某个或某几个用户所看到的数据库的数据视图。是与某一应用有关的数据的逻辑表示。外模式是从概念模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。

内模式:存储模式

对应物理级。

数据冗余

同一数据存储在不同数据文件中的现象。

关系模型

关系模型由关系数据结构,关系操作集合和关系完整性约束三部分组成。

关系

在用户看来关系模型中的数据的逻辑结构是一张扁平的二维表

元组

二维表中具有相同数据类型的一行

二维表中具有相同数据类型的某一列

笛卡尔积

两个集合X,Y的笛卡尔积Cartesian product,又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

例如:X={A,B},Y={C,D}

X • Y={(A,C),(A,D),(B,C),(B,D)}

候选码

一个关系中的某一个属性能够标识一个元组,该属性组叫候选码。多候选码选择一个作为该关系的主键。

关系操作

  1. select

  2. project

  3. join

  4. divide

  5. union

  6. intersection

  7. difference

  8. cartesian product

  9. query

  10. insert

  11. delete

  12. update

数据库中存储过程、函数、触发器的区别

//todo

Loading Comments...