数据库系统部分笔记

来源:互联网 发布:联发科x20性能优化器 编辑:程序博客网 时间:2024/05/22 10:24

 数据库的基本概念

    1.信息(Information)是现实世界事物的存在方式或运动状态的反映。

    2. 数据(Data)是用于描述现实世界事物的符号记录,包括数字、文字、图形和声音等。数据有多种表现形式,是信自、表达方式的一种。

    3.信息与数据的关联:数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释。信息与数据是密切相关联的,因此,在某些不需要严格区分的场合,也可以把两者不加区别地使用,例如信息处理也可以说成数据处理。

    4.数据库:(DataBase,简称DB)是长期存储在计算机内的有组织的、可共享的数据集合。其数据是按一定的数据模型组织、描述和存储的,具有较小的冗余度、较高的数据独立性和易扩展性,并可为一定范围内的各种用户共享

    5.数据库管理系统:(DataBase Management System,简称DBMS)是指负责数据库存取、维护和管理的系统软件。它的基本功能有:数据定义功能、数据操作功能、数据库的运行管理和数据库的建立、维护功能。   

    6.数据库系统(DataBase System,简称DBS )是指在计算机系统中引人数据库后的系统构成。一般由数据库、操作系统、数据库管理系统(及其工具)、应用系统、数据库管理人员和用户构成。

   数据管理技术发展的3个阶段

    1.人工管理阶段  (1)数据不保存。 (2)由应用程序管理数据。(3)数据不共享。(4)数据不具有独立性。

    2.文件系统阶段 (1)数据可以长期保存。 (2)由文件系统管理数据。(3)数据共享性差,冗余度大。(4)数据独立性差。

    3.多数据库系统阶段 (1)数据结构化。(2)数据的共享性高,冗余度低,易扩充。(3)数据独立性高。 (4)数据由DBMS统一管理和控制。

    3数据库技术的研究领域    (1)数据库管理系统软件的研制。 (2)数据库设计。数据库设计的主要任务是在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据库及其应用系统。(3)数据库理。论数据库理论的研究主要集中于关系规范化理论和关系数据理论等。

   数据模型

 模型是指现实世界的模拟和抽象数据模型是数据库系统的数学形式框架,是数据库系统的核心和基础。根据模型应用的不同,可以将模型分为两类:第一类模型是概念模型,也称信息模型。另一类模型是结构模型,主要包括网状模型、层次模型和关系模型等。 数据模型通常由数据结构、数据操作和完整性约束3部分组成。

    1.数据结构:是所研究的对象类型的集合,用于描述系统的静态特征。数据的静态特征是指对数据结构和数据间联系的描述。数据结构是刻画一个数据模型性质最重要的方面。

    2.数据操作:是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及相关的操作规则。

    3.数据完整性约束:是一组完整性规则的集合完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效和相容。

    概念模型E-R模型

    为了将现实世界中的具体事物抽象组织为某一DBMS支持的数据模型,一般先将现实世界抽象为信息世界,然后将信息世界转换成机器世界。概念模型实际上是现实世界到机器世界的一个中间层次。

    1.信息世界中的基本概念

    (1)实体(Entity):客观存在并可相互区别的事物称为实体,它可以是具体的人、事、物,也可以是抽象的概念或联系。

    (2)属性(Attribute):实体所具有的某一特性称为属性。

    (3)主码(Primary Key):唯一标识实体的属性集称为主码。

    (4)域(Domain):属性的取值范围称为该属性的域。

    (5)实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。

    (6)实体集(Entity Set):同型实体的集合称为实体集。

    (7)联系(Relationship):在现实世界中,事物内部及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。两个实体之间的联系可以分为3类:一对一联系(1:1)、一对多联系(1:n),以及多对多联系(m: n)。

    2.概念模型的表示方法

    概念模型的表示方法很多,其中最为著名的是1976年P. P. S. Chen提出的实体一联系方法(Entity - Re-tionship Approach) o该方法用E-R图来描述现实世界的概念模型,称为实体一联系模型,简称E-R模型。

    E-R图提供了表示实体型、属性和联系的方法。

     (1)实体型:用矩形表示,矩形框内写明实体名。

     (2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。

     (3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。

    常用的数据结构模型

    目前,数据库领域中最常用的数据模型有4种,它们是:层次模型、网状模型、关系模型及面向对象模型。其中层次模型和网状模型统称为非关系模型。

    1.层次模型(Hierarchical Model)

    层次模型是数据库系统中最早出现的数据模型,用树型结构来表示各类实体及实体间的联系。层次模型的查询效率很高,曾得到广泛应用,但它只能表不I:N联系,对数据进行查询和更新操作时则很复杂,所以编写应用程序也很复杂。

    2.网状模型(Network Model)

    用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。网状数据模型的特点是记录之间的联系通过指针来实现,M: N联系容易实现,查询效率较高,但是编写应用程序较复杂,程序员必须熟悉数据库的逻辑结构,而月_其DDI,和DMI,语言复杂,用户不容易使用。

    3.关系模型(Relational Model )

    关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据库的组织方式。它是由美国IBM公司San Jose研究室的研究员E. F. Codd首次提出的用表格形式结构表示实体类型及实体间联系的模型称为关系模型关系模型中数据的逻辑结构是一张二维表,它由行和列组成。关系模型的数据结构简单,容易被初学者接受它是一个成熟的、有前途的模型,已得到广泛应用。

    4.面向对象模型(Object一Oriented Model)

    现实世界中存在着许多含有更复杂数据结构的实际应用领域,如CAD数据、图形数据等,加上人工智能研究的需要,就导致了面向对象的数据模型。在面向对象的数据模型中,最基本的概念为对象和类。面向对象的数据模型可完整地描述现实世界的数据结构,比层次、网状、关系数据模型具有更加丰富的表达能力,能表达嵌套、递归的数据结构。

    数据库系统的模式结构

    数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成的。

    1.模式(Schema) 也称概念模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际是数据库数据在逻辑级上的视图。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。一个数据库只有一个模式。

    2.外模式(External Schema) 也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。

    3.内模式(Internal Schema)也称存储模式或物理模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

   数据库的二层映像与数据独立性

    数据库管理系统为了能够在内部实现数据库三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。这两层映像保证r数据库系统中的数据能够具有较高的逻辑独立性和物理独立性

    1.外模式/模式映像

    外模式描述的是数据的局部逻辑结构,模式描述的是数据库数据的全局逻辑结构。对应于同一个模式可以有任意多个外模式对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。外模式/模式映像保证了数据与程序的逻辑独立性。

    2.模式/内模式映像

    数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系模式/内模式映像保证了数据与程序的物理独立性。   

关系数据库系统

    关系数据库系统是支持关系数据模型的数据库系统。关系数据库应用数学方法来处理数据库中的数据最早提出将这类方法用于数据处理的是1962年CODASYL发表的“信息代数”一文,但系统而严格地提出关系模型的是美国IBM公司的E. F. Codd。

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

    1.关系数据结构  实体及实体间的联系都用关系表示,一个关系就是一张二维表,是关系模型中数据的逻辑结构。

    2.关系操作集合  关系操作的理论依据为关系代数和关系演算。

    关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)交(intersection)和差(difference)等,以及查询(query)操作和增(insert)、删(delete)、改(update)操作两大部分。查询的表达能力是其中最主要的部分。

    关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的语言。

    3.关系的完整性约束

    数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个方面:与现实世界中应用需求的数据的相容性和正确性数据库内数据之间的相容性和正确性。关系模型中有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。   

    关系模型的数据结构

    (1)关系( Relation) ;关系是个元素个数为K(K,1 )的元组集合。一个关系对应一个二维表,二维表名就是关系名。

    (2)属性(Attribute)和值域(Domain):二维表中的列(字段),称为属性,属性的个数称为关系的元数,列的值称为属性值.属性值的取值范围称为值域

    (3)关系模式(Relation Schema):关系的描述称为关系模式。

    (4)元组(Tuple):二维表中的行(记录的值)称为一个元组。关系模式和元组的集合通称为关系。

    (5)候选码(Candidate Key)或候选键:如果在一个关系中,存在多个属性(或属性集合)都能用来唯一标识该关系的元组,这些属性(或属性集合)都称为该关系的候选码或候选键。而包含在任何一个候选码中的属性称为主属性或码属性,相反,不包含的为非主属性或非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。

    (6)主码(Primary Key)或主键:在一个关系的若十个候选码中指定一个用来唯一标识该关系的元组,这个唯一的码称为该关系的主码或主键。

    (7)外码(Foreign Key)或外键:当关系中的某个属性(或属性组)不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。

    (8)参照关系(Referencing Relation)与被参照关系( Referenced Relation):它们是指与外码相关联的两个关系。以外码作为主码的关系称为参照关系;外码所在的关系称为被参照关系或目标关系。

    (9)分量(Component):元组中的一个属性值。

    (10)主属性(Primary Attribute)和非主属性(Nonprimary Attribute):关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。

    关系的形式定义和关系数据库对关系的限定

    1.关系的形式定义

    关系从数学的观点来定义有以下两种解释。

    (1)集合论观点:即前面所述,关系是一个元素个数为K(K,1)的元组集合。

    (2)值域的观点:关系是属性值域笛卡儿积的一个子集。

    2.关系数据犀对关系的限定

    当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。

    (1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。

    (2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

    (3)列的顺序无关紧要,即列的次序可以任意交换。

    (4)任意两个元组不能完全相同。

    (5)行的顺序无关紧要,即行的次序可以任意交换。

    (6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。

    关系模型的完整性约束

    1.实体完整性规则

    实体完整性规则:若属性“是基本关系“的主属性,则属性A不能取空。实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。说明实体完整性规则应包括如下几个方面:

     (1)实体完整性规则是针对基本关系而言的。一个关系(基本表)通常对应现实世界的一个实体集。

     (2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。

     (3)相应地,关系模型中以主码作为唯一标识。

     (4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值。

    2参照完整性规则

    若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K.s相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。

    3用户有定义的完整性

    用户定义的完整性通常是定义对关系中除外码与主码属性之外的其他属性取值的约束,即对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。

    关系代数

    传统集合运算:包括并、交、差和广义笛卡儿积4种运算。

    1.并(union)

    设关系R和关系S具有相同的目n(即都有n个属性),且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的,结果仍为n目关系,记做:

      RUS={t/t∈R∨t∈S},t是元组变量。

    2.差(difference)

    设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:

     R-S={t/t∈R∧t¢S},t是元组变量。

    3.交(intersection)

    设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:

       R∩S={t|t∈R∧t∈S}t ER八:ES},t是元组变量。

    显然R自s=R一(R一s)。

    4.广义笛卡儿积(Extended Cartesian Product)

    设关系R和s的元数分别是厂和,,定义R和s的笛卡儿积是一个(r+s)元元组的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n个元组,则关系R 和S的广义笛卡儿积有m ×n个元组,记做:

         R×S={t|t=<t¬¬¬¬r  ,ts>∧t¬¬¬¬r ∈ts∈S   

    专门的关系运算

    专门的关系运算包括:对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系进行结合(连接操作)等。

    1.选择(selection)

    选择又称为限制,是在关系R中选择满足给定条件的各元组,记做:

       (R)={t|t∈R∧F(t=′真′)},其中F表示选择条件,是一个逻辑表达式。

    选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。

    2.投影(projection)

    关系R上的投影是从R中选择出若干属性列组成新的关系,记做:

         二1(R、={t[A〕I t ER{,A为R的属性列。

    投影操作实际上是从关系中选取某些列,即从列的角度进行的运算。

    3.连接(join )

    连接是从两个关联的笛卡儿积中选取属性间满足一定条件的元组。

    连接运算中有两种最为重要也是常用的连接,一种是等值连接( equi - join),一种是自然连接(naturaljoin)自然连接是构造新关系的有效方法。一般,自然连接使用在两个关系有公共属性的情况中。

    4.除(di%-ision)

    给定关系R(X,州和别Y, Z),其中X,Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集R与S的除运算得到一个新的关系尸(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X分量值的对象Yx包含S在Y上投影的集合。记做:

         R÷S=t,[X]t,ER八二,(S) C-玖}

    除操作是同时从行和列的角度进行运算。

 

    结构化查询语言SQL

    SQL (Structured Query Language)称为结构化查询语言,是于1974年由Boyce和Chamberlin提出的,1975年IBM公司研制的关系数据库管理系统的原型系统System R实现了SQL语言。SQL是一个通用的、功能极强的关系数据库语言。我国制定了SQL的国家标准为GB12911, SQL已经成为关系数据库领域中的一种主流语言。

    SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括以下几个方面:

    (1)综合统一。

    (2)高度非过程化。

    (3)面向集合的操作方式。

    (4)以同一种语法结构提供两种使用方式。

    (5)语言简洁,易学易用。

    SQL数据库体系结构

    SQL语言支持关系数据库三级模式结构:其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件:

    基本表是本身独立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。

    视图是从一个或几个基本表导出的表二视图是一个虚表视图在概念上与基本表等同,用户可以在视上再定义视图。

    基本表

    1.定义基本表CREATE TABLE语句

    2.修改基本表ALTER TABLE语句

    3.删除基本表DROP TABLE语句

 索引

    建立索引是加快查询速度的有效手段。可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询效率。

    1.建立索引CREATE INDEX语句

    2.删除索引DROP INDEx语句;

    SQL语言的数据操纵包括INSERT(插人)、DELETE(删除)、UPDATE(更新)和SELETE(检索,又称查询)4个语句.

    数据库查询是数据库的核心操作SQL语言提供了SELECT语句进行数据库的查询

       SELECT[ALLI DISTINCT]<目标列表达式>〔,<目标列表达式>=…

               FROM<基本表或视图>[,<基本表或视图>=…

               [WHERE<条件表达式>=

               [GROUP BY<列名l>[HAVING<条件表达式>==

               [ORDER BY<列名2>[ASC 1 DESC]=;

    1.简单查询

    简单查询涉及数据库中的一个表,包括以下几种:

    (1)查询表中的若干列。

    (2)查询经过计算的值。

    (3)消除取值重复的行。

    (4)查询满足条件的元组。

    (5)利用LIKE的查询。

    (6)涉及空值NULL的查询。

    (7)对查询结果排序。

    (8)使用集函数。

    (9)对查询结果分组。

    2.连接查询

    若一个查询同时涉及两个以上的表,则称之为连接查询。连接查询是关系数据库中最主要的查询,也是查询中最难的一部分,包括等值连接、自然连接、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询。

    3.嵌套查询

    在SQL语言中,一个SELECT一FROM一WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询或子查询。嵌套查询是由里向外处理的,这样外层查询可以利用内层查询的结果。

    (I)由谓词IN引导的子查询:IN是最常用的谓词。

    (2)谓词是比较运算符的子查询。

    (3)由[NOT]EXISITS谓词引导的子查询。

    (4)集合查询。

    SQL的修改语句包括更新、删除和插人3类语句

    视图

    视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图是一个定制的虚拟表可以是本地的、远程的或带参数的;其数据可以来源于一个或多个表,或者其他视图;它是可更新的,可以引用远程表,它可以更新数据源。

    1.创建视图

    SQL语言用CREATE VIEW命令建立视图,其一般格式为:

                   CREATE VIEW<视图名>〔(<列名>〔,<列名>…〕

                               AS<子查询>

                            〔 LWITH CHECK OPTION〕:

    其中子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句和DISTINCT短语。WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证更新、插人或删除的行满足视图定义中的谓司条件(即子查询中的条件表达式)。

    2.删除视图

    视图创建好以后,如果导出的此视图的基本表被删除了,则该视图也将失效,但一般不会被自动删除。删除视图通常需要显式地使用DROP VIEW语句进行。该语句格式为:

          DROP VIEW<视图名>:

    查询视图

    DBMS执行对视图的查询时,首先进行有效性检查。检查查询涉及的表、视图等是否在数据库中存在,如果存在,则从数据字典中取出查询涉及的视图的定义,把定义中的子查询和用户对视图的查询结合起来,转换成对基本表的查询,然后冉执行这个经过修正的查询。将对视图的查询转换为对基本表的查询的过程称为视图的消解(View Resolution)。

    修改视图

    修改视图包括插入(INSERT)、删除(DELETE)和更新(UPDATE) 3类操作。

    为防止用户通过视图对数据进行增、删、改操作时,无意或有意操作不属于视图范围内的基本表数据可在定义视图时加仁WITH CHECK OPTION子句,这样在视图上增、删、改数据时,DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。

    应该指出的是,不可更新的视图与不允许更新的视图是两个不同的概念。

    视图的作用

    合理使用视图能够给用户带来许多好处,其优点包括以下儿个方面:

    (1)能够简化用户的操作。

    (2)使用户能以多种角度看待同一数据。

    (3)对重构数据库提供了一定程度的逻辑独立性。

    (4)能够对机密数据提供安全保护。

    数据控制语句

    授予权限

    SQL,语言用GRANT语句向用户授予操作权限,GRANT语句的一般格式为:

     GRANT<权限>仁,<权限>=…

    [ ON<对象类型><对象名>=

               TO<用户>,<用户>=…

               〔WITH GRANT OPTION〕;

    其语义为:将对指定操作对象的指定操作权限授予指定的用户。接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。

    如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予别的用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

    收回权限

    授予的权限可以由DBA或其他授权者用REVOKE语句收回,REVOKE语句的一般格式如下:

       REVOKE<权限>[,<权限>=…

       [ON<对象类型><对象名>=

       FROM<用户>〔,<用户>=…;

    嵌入式SQL

    SQL语言提供了两种不同的使用方式一种是在终端交互方式下将SQL语言嵌入到某种高级语言中使用。利用高级语言的过程性结构来弥补SQL语言在实现复杂应用方面的不足,这种方式下使用的SQL语言称为嵌入式SQL(Embedded SQL),而嵌人SQL的高级语言称为主语言或宿主语言。

    对宿主型数据库语言SQL, DBMS可采用两种方法处理,一种是预编译,另一种是修改和扩充主语言,使之能处理SQL语句。目前采用较多的是预编译的方法。  

    “不好”的关系模式

    “不好”的关系模式有以下4个“毛病”:

    (1)插人异常如果某供应者没有供应任何货物,则我们无法记录他的名称和地址。

    (2)删除异常。如果一个供应者供应的所有货物都被删除,则我们会丢失该供应者的名称和地址。

    (3)冗余太大。一个供应者每供应一种货物,他的地址就要重复一次。

    (4)更新异常(不一致性的危险)。由于数据冗余,有可能使我们在一个元组中更改了某供应者的地址,而没有更改另一个元组片同一供应者的地址,于是同一供应者有了两个不同地址,与实际情况不符。

函数依赖

    1.函数依赖的定义

    设R(必是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称_X函数确定Y或Y函数依赖于X,记作X- Y,

    函数依赖包括非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖及传递函数依赖。

    2.函数依赖的逻辑蕴含

    设R<U, F>是一个关系模式,X,Y是U中的属性组,若在R<U, F>中的任何一个满足F函数依赖的关系:r上,都有函数依赖X→Y成立,则称F逻辑蕴含X→Y。

     在关系模式R<U, F>中,F所逻辑蕴含的函数依赖的全体称做F闭包,记做F+。

    3.码

    设K为R ji.,科中的属性或属性组合,若K- U在F十中,而找不到K的任何一个真子集K′,能使K′→U在F+中,则K为R的候选码。当候选码多于一个时,则选定其中的一个为主码。包含在任何一个候选码中的属性,叫做主属性,不包含在任何码中的属性称为非主属性或非码属性。最简单的情况,单个属性是码。最极端的情况,整个属性组是码,称为全码。

    4.函数依赖的公理系统

    1974年Armstrong首先提出了Armstrong公理系统,包括3条推理规则:

    设F是属性组U上的一组函数依赖,于是有如下推理规则。

    (1)自反律(Reflexivity ),若YCXC U,lnl X-" Y为F所逻辑蕴含。

    (2)增广律(Augmentation),若X-Y为F所逻辑蕴含,且ZCU,则XZ-YZ为F所逻辑蕴含。

    (3)传递律(Tran sitiv讲),若X- Y及Y-"Z为F所逻辑蕴含,则X-Z为F所逻辑蕴含。

    范式

    1.第一范式(1NF)及进一步规范化

    关系模式需要满足一定的条件,不同程度的条件称做不同的范式,最低要求的条件是元组的每个分量必须是不可分的数据项,这叫第一范式,简称1NF,是最基本的范式。对于各种范式之间的联系有5NF C4NF仁BCNFC3NF仁2NFCINF成立。

    一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程就叫规范化。

    2.第二范式(2NF)

    若R EINF,且每一个非主属性完全函数依赖于码,则R∈2NFo

    2NF就是不允许关系模式的属性之间有这样的函数依赖X-. Y。其中X是码的真子集,Y是非主属性,也就是说,不允许有非主属性对码的部分函数依赖。

    3.第三范式(3NF)

    关系模式R,<U,F>中若不存在这样的码X,属性组Y及非主属性Z(Z不包含于均使得X→Y,(Y函数依赖于X)Y→Z成立,则称R<U, F>∈3NF

    4.Boyce一Codd范式(BCNF)

    若关系模式REINF,且对于每个非平凡的函数依赖X-} Y都有X包含码,则R EBCNF。在函数依赖的范围内,BCNF达到了最高的规范化程度。

    多值依赖和4NF

    1.多值依赖

    设R(U)是属性集U上的一个关系模式X、Y,Z是U的子集,并且Z=U一X一Y}关系模式R (U)中多值依赖X→→Y成立,当且仅当对R(U)功的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。

    4.第四范式(4NF )

    关系模式R<U,F>司NF,如果对于R的每个非平凡多值依赖X→→Y(Y不包含于X),X都含有码,则称R<U,F>∈4NF。

    如果一个关系模式是4NF,则必为BCNF。

 

    模式分解的等价标准

    常用的等价标准要求分解是具有无损连接性的,并且是保持函数依赖的。

   关于模式分解的几个事实

    (1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。

    (2)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF)。

    (3)若要求分解保持函数依赖,刀厂么模式分解可以达到3NF,但不一定能达到BCNF。

    (4)若要求分解既具有无损连接性,又保持PA数依赖,则模式分解可以达到3NF,但不一定能达到BCNF。

 

    关于数据库设计的概述

    数据库设计是指对于一个给定的应用环境,包括硬件环境、操作系统和数据库管理系统(DBMS)等软件环境,如何使用这个环境来表达用户的要求,构造最优的数据库模式,建立数据库及围绕数据库展开的应用系统,使之能够有效地收集、存储、操作和管理数据,满足企业组织中各类用户的应用需求。

    数据库设计方法中比较著名的有新奥尔良(New Orleans)方法。它将数据库设计过程分为4个阶段:需求分析、概念结构设计一、逻辑结构设计和物理设计。     

    需求分析

    需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的下作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。

    需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。需求分析的阶段成果是产生系统需求说明书。  

    需求分析的基本步骤

    需求分析的步骤有以下几个方面:

    (1)需求的收集:数据,发生时间、频率,发生的规则、约束条件、相关联系、计划控制及决策过程。

    (2)需求的分析整理二包括数据流程分析、数据分析结果描述、数据分析统计及分析围绕数据的各种业务处理功能,并以带说明的系统功能结构图形式给出。

    概念结构设计

    概念结构设计的目标和策略

    概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。

    设计概念结构通常有4类方法:自顶向下、自底向上、由里向外和混合策略。无论采用哪种设计方法,一般都以E-R模型为工具来描述概念结构。最常用的设计策略是自底向上设计策略。

    采用E-R方法的数据概念模型设计

    1数据抽象与局部视图设计

     以自底向上设计概念结构的方法为例,它通常分为两步:

    (1)根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即E-R图。

    (2)集成局部视图。

    设计E-R图的步骤如下:

    (1)选择局部应用

    (2)逐一没计E-R图二

    2视图的集成

    集成局部E-R图时需要两步。

    (1)合并E-R图,生成初步E7R图。

    各E-R图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突:

    (2)修改与重构,生成基本E-R图。

    修改、重构初步E-R图以消除冗余,主要采用分析方法。除分析方法外,还可以用规范化理论来消除冗余。

    逻辑结构设计

     E-R模型向关系数据模型的转换

    将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换的规则包括以下几点:

    (1)一个实体型转换为一个关系模式。

    (2)一个m: n联系转换为一个关系模式。

    (3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

    (4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

    (5)3个或3个以上实体间的一个多元联系转换为一个关系模式。

    (6)同一实体集的实体间的联系,即自联系,也可按上述1: 1,1: n和m: n三种情况分别处理。

    (7)具有相同码的关系模式可以合并。

    关系数据库的逻辑结构设计过程

    关系数据库的逻辑结构设计过程如下:

     (1)从E-R图导出初始关系模式。

     (2)规范化处理。

     (3)模式评价。

     (4)优化模式。

     (5)形成逻辑结构设计说明书。

    物理结构设计

    物理设计的内容

    (1)存储记录的格式设计。对数据项类型特征进行分析,并对存储记录进行格式化

    决定如何进行数据压缩或代码优化。

    (2)存储方法的设计。物理设计中最重要的一个考虑是把存储记录在全范围内进行物理安排,包括顺序存放、散列存放和聚列存放。物理设计的结果是物理设计说明书。

    (3)存取方法设计。存取方法设计为存储在物理上的数据提供数据访问的路径。

    DBMS产品一般都提供了一些存储分配参数,供数据人员和DBA对数据库进行物理优化。
46物理设计的评价

    数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。

    在数据库应用系统生存期中,总的开销包括:规划开销、设计开销、实施和测试开销、操作开销、运行维护开销。评价物理数据库的方法完全依赖于所选用的DBMS。

    实现和维护

    数据库的实现

     数据库实现的主要工作有以下几个方面:

    (1)定义数据库结构。

    (2)编制与调试应用程序。

    (3)数据装载。

    (4)数据库试运行。

    其他设计

    其他设计工作包括加强数据库的安全性、完整性控制,以及保证一致性、可恢复性等,总是以牺牲效率为代价的。设计人员的任务就是要在实现代价和尽可能多的功能之间进行合理平衡。其他设计包括数据库的再组织设计、故障恢复方案设计、安全性考虑和事务控制等。

    数据库的运行和维护

    在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括以下几个方面:

    (1)数据库的转储和恢复。

    (2)数据库的安全性、完整性控制。

    (3)数据库性能的监督、分析和改进。

    (4)数据库的重组织和重构造。

 数据库管理系统概述

    DBMS的系统目标

    数据库管理系统(DBMS)是操作和管理数据库的软件系统,它由一组计算机程序构成,管理并控制数据资源的使用。数据库管理系统是数据库系统的核心DBMS的目标是用户界面友好、结构清晰和开放性。

    DBMS的基本功能

    DBMS主要是实现对共享数据有效的组织、管理和存取。因此,DBMS具有如下几个方面的基本功能。

    (1)数据库定义功能。

    (2)数据存取功能。

    (3)数据组织、存储和管理。

    (4)数据库运行管理。

    (5)数据库的建立和维护。

    (6)通信功能和数据转换功能等。

    DBMS程序模块的组成

    大致来说,DBMS的程序模块可按功能划分为以下5个模块:

    (1)数据定义方面的程序模块。

    (2)数据操纵方面的程序模块

    (3)数据库运行管理方面的程序模块

    (4)数据库组织、存储和管理方面的程序模块。

    (5)数据库建立、维护和其他方面的程序模块。

   DBMS的层次结构

    可以将DBMS划分成若干层次,这样可以帮助我们更清晰地认识DBMS,更重要的是有助于DBMS的设计和维护。

    (1)最上层是应用层位于DBMS核心之外。

    (2)第二层是语言翻译处理层它处理的对象是数据库语言}A SQL,

    (3)第三层是数据存取层:该层处理的对象是单个元组。

    (4)第四层是数据存储层。该层处理的对象是数据页和系统缓冲区。

    (5)操作系统是DBMS的基础。它处理的对象是数据文件的物理块。   

    新的应用需求对DBMS的挑战

    由于现在以关系型数据库管理系统(RDBMS )为主流。这些新应用需求要求数据库管理系统应该具有支持分布式操作、联机事务处理能力、决策支持能力、支持多媒体、大容量、复杂数据应用、兼容性和集成能力、异种数据库之间的互访能力、系统可靠性、安全性、大型系统等方面的管理能力。

    在我国,当前流行的数据库管理系统绝大多数是关系型数据库管理系统,一般可分为如下3类:

    (1)以PC机、微型机系统为运行环境的数据库管理系统。

    (2)以Oracle为代表的数据库管理系统,这类系统还有IBM DB2,Sybase等,也被称为主流数据库管理系统。

    (3)以Microsoft SQI. Server为代表的介于以上两类之间的数据库管理系统。

    Oracle数据库系统

    Oracle关系型数据库管理系统是美国Oracle公司的优秀软件产品,它采用SQL语言作为数据库语言。该公司于1979年推出了世界上第一个商业化的关系型数据库系统。

    Oracle数据库的特点包括兼容性、可移植性、可连接性及高的生产率。

    Oracle的主要产品及其功能

    1Oracle数据库服务霖功能及其特色

    Oracle数据库服务器包括标准服务器和许多可选的服务器选件,选件用于扩展标准服务器的功能,以适应特殊的应用需求。

    (1)标准服务器主要具有下列特色:多进程多线索的体系结构、高性能核心技术、高可用性和SQL的实现。

    (2)并行服务器选件(paralle server option)和并行查询选件(paralle query option)。

    (3)分布式选件(distributed)。

    (4)过程化选件(procedural option)。

    2Oracle的工具产品及其功能

    为方便用户开发数据库应用程序,Oracle提供了众多工具供用户选择使用,主要包括以下几个方面:

    (1)Developer/2000。它是Oracle的一个较新的应用开发工具集,包括Oracle Forms, Oracle Reports,Oracle Graphics和Oracle Books等多种工具,用来实现高生产率、大型事务处理及客户/服务器结构的应用系统。

    (2)Designer/2000 。它是Oracle提供的CASE工具,能够帮助用户对复杂系统进行建模、分析和设计,由BPR、Modellers、Generators等组成。

    (3 ) Discoverer/2000。它是一个OLAP工具,主要用于支持数据仓库应用。

    (4)Oracle Office。它是用于办公自动化的,能完成企业范围内的消息接收与发送。

    (5)SQL DBA 。SQL DBN 是一个易于使用的。菜单驱动的DNA实用工具,可供用户进行动态性能监视、远程DB管理等。   

    IBM DB2数据库系统

    IBM DB2数据库系统是美国IBM公司的产品1973年位于美国加州圣荷西市的IBM研究中心开始了一个大的关系型数据库系统研究项目jvstem R,探讨并验证在多用户与大量数据下关系型数据库的实际可行性。

    DB2通用数据库的功能和特色

    DB2家族除r包含在各种平台土运行的数据库管理系统内核之外,产品包中还包括了数据复制、数据库系统管理、Internet网关支持、在线分析处理、多媒体支持和各种并行处理能力,并为所有平台上的异构数据库访问提供‘中间件”解决方案。

    DB2通用数据库(LDB)V7. 1的特色包括支持Internet应用、支持面向对象和多媒体应用、支持联机分析处理和了干行处理能力。

   IBM的商务智能解决方案

    商务智能解决方案的基本结构往往包含以下3个部分:

    (1)数据仓库,用于抽取、整和、分布、存储有用的信息。

    (2)多维分析模型,全方位了解现状。

    (3)前台分析工具,提供简单易用的图形化界面给管理人员。

    IBM内容管理解决方案

    (1) IBM Content Manager On Demand.它可以完成电子存储、回取、分发、打印和传真,在极短的时间内就可以在显示器上获得与原来提供给客户的一模一样的报表/账单及其他计算机的输出信息。

    (2)Digital Library IBM数字图书馆技术使人们快速而廉价地管理、访问、保护及传递大量多种多样的资料成为可能。这种数字化工作流程包含了一系列最新信息技术。

    Sybase数据库系统   

    Sybase是美国Sybase公司的产品。1986年正式推出Sybase数据库系统。 Sybase在新兴的EP发展策略中充分利用了已有的核心产品和战略优势,提供了满足电子商务需求的解决方案。

    Sybase数据库系统的功能及其特色

    目前,Sybase数据库系统定位在4个方向,分别在企业解决方案,Internet应用、商务智能和移动与嵌人计算领域为客户提供先进的技术:

    企业解决方案包括企业级数据库、数据复制和数据访问。主要产品有:Sybase EP,Adaptive Server Enter-prise、Adaptive Server Replication、Adaptive Server Connect及异构数据库互联选件。

     MS-SQL Server数据库系统

    MS-SQL Server数据库系统是美国Microsoft公司的产品。MS-SQL Server数据库系统是在Svbase SQL erver 4的版本基础上发展起来的。目前Microsoft SQL Server 7. 0和Microsoft SQL Server 2000广泛使用于我国的各行各业,包括许多政府部门。

     Microsoft SQL Server系统主要功能及其特性

    1数据库服备器MS-SQI, Server

    MS-SQL决rver数据库系统的核心是Microsoft SQL Server,简称MS-SQL Server或SQL Server,它有7.0、2000和2005三个主要版本。

    2MS-SQL Server 2000的主要功能及其特色

    MS-SQL Server 2000的主要功能有充分的Web支持、高度可伸缩性和可靠性、最快投放市场、充分的数据仓库功能和广泛的支持电子商务功能。

    SQL Server 2000多版本支持

    SQL Server 2000提供了各种不同的版本,包括SQL Server 2000企业版、SQL Server 2000标准版、SQLServer 2000个人版、SQL Server 2000开发人员版,SQL Server 2000企业评估版,SQL Server 2000桌面引擎和SQL Server 2000 Windows CE版。 

原创粉丝点击