当前位置:首页 > 数据库基本原理及学习笔记[1]
软件开发课程
论文
这一些是我在学习数据库基本原理时的一些见解和所作的笔记,都是一些简单和基础的有关数据库的知识,现描述如下:
一、数据库的基本概念:
1.1数据库(DataBase)是组织、存储、管理、加工数据的仓库,简称为DB,指长期存储在计算机内有组织、可共享的数据集合。数据库的三要素:数据、存储器、数据库管理系统
数据(描述事物的符号记录,数据库的存储内容),是数据库中存储的基本对象,除了最基本的数据形式-数字外,还有文字、图像、图形、声音等。
存储器(外存,一般是硬盘,数据库的载体)是计算机系统中的记忆设备,用来存放程序和数据。
数据库管理系统(DBMS,数据库的管理软件)。DBMS提供一个可以方便的存取数据信息的环境(软件系统),应用程序通过数据库管理系统访问数据库中的数据。常用的数据库管理系统有Oracle、DB2、SQL Server、SysBase、Access、Informix、FoxBase、Foxpro... 1.2数据库管理员(DataBase Administrator)简称为DBA。
1.3数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成,就是以数据库应用为基础的计算机系统(结构图如下图1所示),所以,数据库系统不仅包括必须存储的数据,还包括相应的硬件,软件和各类员工,在不引起混淆的情况下常把数据库系统简称数据库。
图1. 数据库系统
DBS
硬件 软件 人员
(CPU、内存、(操作系统、(用户、DBA、
二、数据模型:
2.1数据库中的数据是高度结构化的,它不仅反映数据本身,而且反映数据之间的关系。数据模型就是描述这种关系的数据结构形式,在数据库中使用数据模型对现实世界进行抽象。数据模型是数据库系统的核心和基础。
2.2根据模型应用的不同目的,可以将模型划分为两类:
第一类模型是概念模型,是现实世界到信息世界的抽象,又称为信息模型。 第二类模型是数据模型,数据模型时信息世界到数据世界的抽象,在数据库领域最常见
的数据模型有4种:层次模型,网状模型,关系模型和面向对象模型。层次模型是树型结构,网状模型是网状结构(有向图结构)。关系模型是用二维表表示实体以及实体与实体间的联系的。面向对象数据模型中,对象是实体的模型化。其中层次模型和网状模型统称为非关系模型。
2.3关系模型:
目前,关系模型是最常用的数据模型。以关系模型为基础的数据库管理系统称为关系数据库管理系统(Relational Data Base Management System),即RDBMS。 2.4关系模型的主要特点:
关系中每一数据项不可再分,是最基本的数据单位; 二维表的属性决定了表的结构,同一列的数据类型及长度是相同的,且各列的顺序是任意的;
每一横行由一个体事物的诸多属性构成,不允许出现完全相同的两行,且各行的顺序可以是任意的;
一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。 2.5关系数据库:
关系数据库是若干个关系的集合,由若干二维表组成的。在关系数据库中,将一个关系视为是一张二维表。一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。 2.6数据模型理论和关系数据库中的相关术语的比照: 在关系模型理论中 关系 元组 属性 在关系数据库中 表 记录 字段 2.7关系数据库具有以下特点:
数据结构化;数据独立性;数据共享,减少冗余。 2.8关系运算:
关系运算是以关系为运算对象的运算,在关系运算中,变量是关系,运算结果仍然是关系。在关系型数据库管理系统中,基本的关系运算有选择、投影和联接三种操作。
三、数据库设计:
3.1数据库设计中的三个要点:需求分析,数据库的规范化设计,数据库的逻辑设计。 3.2数据库的规范化设计:
数据以什么结构存入到关系数据库中,这是最重要的操作之一,它是数据库应用系统开发的关键。一个组织良好的数据结构,不仅可以方便地解决应用问题,还可以为解决一些不可预测的问题带来便利,同时可以大大加快编程的速度。
关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型的理论,它是围绕范式而建立的。
关系规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以化分为六个等级,分别称为:
第一范式(1NF);第二范式(2NF);第三范式(3NF);修正的第三范式(BCNF);第四范式(4NF);第五范式(5NF)。其中,NF是(Normal Form)的缩写。
通常在解决一般性问题时,只要把数据表依次规范到第一范式、第二范式及第三个范式
标准就可以满足需要。
特别指出的是,在实际操作中,不是关系规范化的等级越高就越好,具体问题还要具体分析。
3.2.1关系规范化的三个范式原则如下:
第一范式:在一个关系中消除重复字段,且各字段都是不可分的基本项;
第二范式:若关系模型属于第一范式,且所有非主属性都完全依赖关键字段;
第三范式:若关系模型属于第二范式,且关系中所有非主属性都直接依赖关键字段。 3.2.2关系规范化的三个范式原则如下:
第一范式:在一个关系中消除重复字段,且各字段都是不可分的基本项;
第二范式:若关系模型属于第一范式,且所有非主属性都完全依赖关键字段;
第三范式:若关系模型属于第二范式,且关系中所有非主属性都直接依赖关键字段。 两个表之间的关联关系类型有:一对一;一对多;多对一;多对多。 3.3数据库的逻辑设计:
数据库的逻辑设计通常是指设计关系的完整性。关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。关系的完整性主要包括域完整性、实体完整性和参照完整性三种。
域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。
实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。
参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是Null。
四、数据库系统结构:
从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。
4.1数据库系统模式的概念:
数据模型中\型\和\值\的概念;
模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例 (Instance).模式反映的是数据的结构及其联系,是相对稳定的;而实例反映的是数据库某一时刻的状态,是相对变动的。4.2数据库系统的三级模式结构:
模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发工具及高级程序设计语言(如C,Cobol,Fortran)无关。DBMS提供模式描述语言(模式DDL)来严格地定义模式。
4.2.1外模式(External Schema)是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式(也称为子模式)通常是模式的子集。一个数据库可以有多个外模式。如果不同的用户在应用需求,看待数据的方式,数据保密的要求等方面存在差异,则其外模式描述就是不同的。即使对模式中同一数据,在外模式中的结构、类型、长度和保密级别等都可以不同。
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式
中的数据,数据库中的其余数据是不可见的。
DBMS提供外模式描述语言(外模式DDL)来严格地定义外模式。
4.2.2内模式(Internal Schema)也称存储模式(Storage Schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储,按照B 树结构存储,还是按Hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。
DBMS提供内模式描述语言(内模式DDL,或存储模式DDL)来严格地定义内模式。 4.3数据库的二级映象功能与数据独立性:
数据库管理系统在三级模式间提供了两级映象:外模式 / 模式映象和模式 / 内模式映象(如图2所示)。正是这两级映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
例1:用户要查看学生的信息,以前的学生信息只包含了学生姓名、年龄、性别、籍贯、家庭地址、联系方式,后来DBA又添加了身份证号码、Email这两个信息,用户再次使用同样的外模式,可以查看到添加后的所有信息。在这里,外模式没有改变,变的只是模式,所以通过外模式/模式映象可以实现数据的逻辑独立性。
例2:当数据库的存储结构改变时(例如,采用了更先进的存储结构),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。
图2.
应用A 应用B 应用C 应用D 应用E 外模式1 外模式2 外模式3 外模式/模式映象 模 式 模式/内模式映象 内模式 数据
共分享92篇相关文档