用于描述文件和数据库的概念在相同的结构中有各种各样的实质的区别。
一个数据库可以被定义成一个相互联系数据储存的集合,这个集合有很小的冗余,尽可能地为一个或多个应用程序在最理想的方式下服务。储存数据的目的是使它们与用数据的程序独立,一种相同的控制方法用在数据库内增加新数据、修改和恢复已存在的数据。如果一个系统在结构上完全分离,则它们被称为包含一个数据库集合。
一个数据库可以设计为批处理、实时处理或联机数据处理,一个数据库系统包含应用程序,数据库管理系统和数据库。
大多数数据库的最主要的特点之一是它们需要不断地更新和增加。当新数据类型和应用被增加时,数据库的简单重构必须是可能的,重组织应当不用重新写应用程序,总体上应该尽可能是小的变化,这种不费力的改变数据库在数据处理的速度上产生很大的影响。
数据独立这个术语经常提出作为一个数据库主要属性之一,它是指数据和使用数据的应用程序互相独立,目的是改变一项时不用改变另一项。当一个单一的数据项集合服务于不同的应用时,不同的应用程序感知数据项与记录之间不同的关系。对于一个大的范围,数据库组织与数据项与记录之间的关系说明有联系,也和数据是怎样存贮的和存在哪里有关,被用于许多应用中的数据库在数据之间有多种内在联系。关于我们所存信息的项是一个实体,一个实体可以是一个实在的物或抽象的事物。它有我们希望记录的各种性质,它能描述一个真实世界。数据项代表一个属性,该属性与有关的实体联合。我们将属性设计成值,一个属性有一种特殊意义,据此而定义一个实体。
计算机所用的识别一个记录或一个元组的一个属性或一组属性,叫做关键字。主关键字被定义为能唯一地确定一个记录或一个元组的关键字,一个实体识别符号包括一个或多个属性。主关键字是很重要的,因为它被用在计算机中通过一个索引和寻址算法来找出一个记录或一个元组。
如果数据库的作用仅仅是储存数据,那它的结构将是简单的,大多数复杂性起因于数据库必须储存和各种各样数据项之间的关系。在逻辑上或物理上描述数据是不同的。
逻辑数据库的描述叫做一个模式。
一个模式是一个所用数据类型的图表,它给出实体名称、属性和它们之间的特殊关系,它是一个记录的实例,当我们谈论到它们之间的特殊关系,它是一个合适的保存数据项值的框架。
我们必须区别一个记录类型和一个记录实例,当我们谈论到全体人员的记录时,这是一个真正的记录类型,而不是它相结合的数据值。
一个模型用于描述数据库中的所有储存在数据库中的数据项类型和记录类型的总体图表,子模式项指的是一个应用程序员观点下的数据,许多不同的模式可以从一个模式中得到。
模式和子模式是由数据库管理系统使用的,数据库管理系统的主要作用是由执行数据操作时服务于应用程序。
一个数据库管理系统通常是用于同时处理多个数据调用,它必须组织系统缓冲使不同的数据操作能够一起处理,它提供一种数据定义语言以指定概念模式,很可能还包括用物理模式实现概念模式的一些细节,数据定义语言是一种高级语言,能够让你描述概念模型,术语为数据模型。
数据模型的选择是很困难的,因为它必须有丰富的足够结构以描述真实世界的有意义的各个方面,并且必须通过物理模式有能力去决定概念模式的实现,必须强调,当一个数据库管理系统用于建立一个小数据库时,大多数数据库包含了上万字节,所以无效执行可能是灾难性的。