数据库中的一些概念
数据:数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。比如:声音、图像、文字、符号。
数据库:广义上来讲,数据库就是“数据的仓库”,计算机系统经常用来处理各种各样大量的数据,比如使用计算机系统收集一个地区的人口信息、检索符合某些条件的当地人口信息、当一个人去世后还要从系统中删除此人的相关信息。我们可以自定义一个文件格式,然后把人口数据按照这个格式保存到文件中,当需要对已经存入的数据进行检索或者修改的时候就重 新读取这个文件然后进行相关操作。
数据库管理系统:数据库管理系统是一种操纵和管理数据库的系统软件,是用于建立、使用和维护数据库。 它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过 DBMS 访问数据库中的数据,数据库管理员也通过 DBMS 进行数据库的维护工作。它提供多种功能, 可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使 用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制 和恢复数据库。通俗的说,DBMS 就是数据库的大管家,需要维护什么数据、查找什么数据的话找它告诉他了,它会帮你办的干净利落。
数据库系统:由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
实体:客观存在并可相互区别的事物。可以是具体的事物,也可以是抽象的概念与联系。比如:一个人、一台计算机、一个学生(具体的事物),部门的一次订货、人与人之间的关系(抽象的概念或联系)。
实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如:学生(实体){学号,姓名、性别、年龄}(属性集合) 这就是一个实体型。
实体集:同一类型实体的集合。例如:全体学生就是一个实体集。
实体内部的联系:通常指的是组成实体的各属性之间的联系。
实体之间的联系:通常指的是不同实体集之间的联系。实体之间的联系由一对一,一对多、多对多等多种联系。例如:我们有三个实体集,学生、老师、课程,对于每一个学生,老师中至多有一个实体与之联系(可简化为老师与学生一对一),这样学生实体集与老师实体集之间就是一对一的关系,假如,对于老师集中的每一个老师,学生集中有多个学生与之有联系(一个老师教多名学生),这样老师实体集与学生实体集间是一对多的联系,课程集与学生集之间,一个学生选多个课程,一个课程被多个学生选,两集之间是多对多的联系。
关系:一个关系对应通常说的一张表。如下表:
属性:表中一列即为一个属性,给每一个属性起一个名称即属性名。如图中的:商品名、价格、生产厂家等。
元组:表中一行即为一个元组。
域:就是一组具有相同数据类型的值的集合。可理解为范围,例如:人的年龄一般是1~120之间,那人的年龄属性的域就是1-120。
码(key):也称码键。表中的某个属性组,它可以唯一确定一个元组。如图中的厂家电话可以唯一确定一个生产厂家,也就成为本关系的码。
分量:元组中的一个属性值。
关系模式:对关系的描述,一般表示为:
关系名(属性1,属性2,属性3…属性n)
把关系和现实生活中的表格所使用的术语做一个粗略的对比。如下图:
数据库系统的三级模式结构:人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。用户级对应外模式,概念级对应概念模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中”的反映,很显然,不同层次(级别)用户所“看到”的数据库是不相同的。
优点:数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
模式:模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式就是数据库数据在逻辑上的视图,且一个数据库只有一个模式。实际工作中,模式就等同于程序员创建一个具体的数据库的全部操作,如:这是一个MSSql Server数据库,有一张表,每个表的名字,属性的名字、类型、取值范围,主键,外键,索引,其他完整性约束等等。
外模式:外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式,同一个外模式可以为某一用户的多个应用系统所使用,但一个应用系统只能使用一个外模式,外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据不可见。
内模式:内模式也称为存储模式,一个数据库只能有一个内模式。它是数据库物理结构和存储方式的描述,是数据在数据库内部的表现方式。如记录的存储方式是堆存储还是按照某个属性值升(降)序存储,或按照属性值聚簇存储;索引按什么方式存储,是B+树索引还是hash索引。
数据定义语言:数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。
数据操纵语言:数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作(增删改查排序)。
数据与程序的物理独立性:当数据库的存储结构改变时(例如选用另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变。保证了数据与程序的物理独立性。
数据与程序的逻辑独立性:逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。
因为有了数据库,应用程序对数据的访问是要通过DBMS进行的,程序不能直接操作数据本身。而且DBMS提供了两层映像机制:外模式/模式映像和模式/内模式映像。这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。