上一讲,我们聊了数据的概念,通过布置的作业让大家去了解身边数据库应用的场景,熟悉各种数据表现形式及类型,在此基础上,我们来学习数据库的概念。
数据库的定义
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合,通俗的说,就是数据的仓库。
数据库的基本特征包括:数据按一定的数据模型组织、描述和储存、冗余度较小、数据独立性较高、易扩展、可为各种用户共享。
要理解数据的基本特征,首先要了解什么是数据模型呢,数据模型是数据库的基础,数据是对客观事物的符号表示,模型是现实世界的抽象。数据模型是对数据特征的抽象。比如说要想把一个学生变成数据存放在计算机中,首先需要把学生符号化,教务系统中一个学生会按照(学号、姓名、性别、出生年月、年龄、专业、照片等)格式来组织、符号化描述和存储,这样的格式就是对学生特征的抽象,就可以理解为学生数据模型。按照这样的模型实体的学生就可以变成虚拟世界里的数据了。需要大家关注的是,模型化的数据不再仅仅针对某一个具体应用程序,而是面向整个组织。例如学生数据建立后不只教务系统可以访问,后勤、学生管理、就业管理都可以按照自己权限去访问。不仅数据内容遵循一定的结构,而且整个组织都是结构化的,数据之间是具有联系的,理解这一点非常重要。
*拓展:将客观事物抽象为数据模型需要经历现实世界、信息世界和计算机世界这三个不同的世界,需要两级抽象和转换,如下图所示:相关的知识后续我们还会详细讲解。

冗余度小的特征,数据库从管理的整体角度组织和描述数据,数据不再面向某个应用,数据可以被多个用户和应用共享使用。这样就可以避免有些数据的重复收集、存储,可以大大减少数据的冗余,节约存储空间,还可以避免数据之间的不相容性和不一致性。
数据独立性高的特征
数据的独立性包括物理与逻辑独立性两个方面,物理的独立性体现在程序与数据都是独立存储的,逻辑独立性指程序开发过程中无需定义数据,考虑数据存储等问题。数据独立性通俗的讲就是把数据的定义从程序中分离出去,存取数据交由数据库管理系统负责,简化了应用程序的编制,减少了应用程序维护和修改。

易扩展:数据独立性为数据自身的扩展和功能应用的扩展提供了更大的方便和可能。可以适应各种用户的要求,选取整体不同的子集来开发相应的应用系统,当应用需求改变或者增加时,只要重新选取子集或者修改应用系统就可以了。
*扩展:需要重视的是,对于数据库而言,数据的共享会带来安全和并发控制问题,多个用户同时存取数据,如何保证互补干扰和数据的正确与一致,必须还要提供数据控制功能。
如:数据的安全性保护,完整性检查、并发访问控制、数据库恢复。
综上所述:数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据时进行并发控制,在发生故障时对数据库进行恢复。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。




