数据库系统基础知识.ppt_第1页
数据库系统基础知识.ppt_第2页
数据库系统基础知识.ppt_第3页
数据库系统基础知识.ppt_第4页
数据库系统基础知识.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/9/9,第1章关系数据库管理系统基础知识,1,第1章关系数据库管理系统 基础知识,2020/9/9,第1章关系数据库管理系统基础知识,2,学习目的与要求 数据库系统的基本概念 数据模型的基本概念 实体联系模型 关系模型的概念和性质 数据库系统的规范化理论等内容,2020/9/9,第1章关系数据库管理系统基础知识,3,1.1 数据库系统1.1.1 数据、信息和数据库,1.数据(Data) 数据是对客观事物特征进行的一种抽象化、符号化表示。 2.信息(information) 信息是指有一定含义的、经过加工(数据处理)的,对决策有价值的数据。 3.数据是数据处理的原料,信息是数据处理的产

2、物。,2020/9/9,第1章关系数据库管理系统基础知识,4,数据与信息是一种相对关系,对于一组经过数据处理的信息,可能是另一种需求的数据。 4.数据库(Database,DB) 数据库是按一定的组织方式存储在存储介质上的相互有关的数据集合。这些数据彼此相关并且可动态变化。 数据库中的数据可以是文字、数字、图像、音频和视频等。,2020/9/9,第1章关系数据库管理系统基础知识,5,例: 学生数据表 学号 姓名 性别 出生日期 入学时间 系别 99201 王海 男 07/01/82 09/01/99 计算机 99203 李娜 女 08/23/80 09/01/99 计算机 00205 李宵 女

3、 08/20/82 09/01/00 管理 课程数据表 课程编码 课程名 课时 01 高等数学 200 02 计算机应用基础 120 03 英语 200 04 程序设计语言 120,2020/9/9,第1章关系数据库管理系统基础知识,6,选课数据表 学号 课程编码 成绩 选课时间 99201 01 89 09/01/99 99201 02 98 09/01/99 99203 01 85 09/01/99 99203 03 85 09/01/99 99205 01 78 09/01/99 00205 01 82 09/01/00 1.1.2 数据库系统 1.数据库系统的构成:,2020/9/9,

4、第1章关系数据库管理系统基础知识,7,1).硬件平台 2).数据库 3).软件 数据库管理系统(DBMS)、支持DBMS运行的操作系统、具有数据库接口的高级语言及其编译系统、以DBMS为核心的应用开发工具。 4).为特定应用环境开发的数据库应用系统。 5).相关人员 数据库管理员(DBA)、系统分析员、数据库设计员、应用程序员、用户。,2020/9/9,第1章关系数据库管理系统基础知识,8,2020/9/9,第1章关系数据库管理系统基础知识,9,2.数据库系统的特点 采用复杂的数据模型表示数据结构。数据模型不仅描述数据本身,而且还描述数据之间的联系。 一个数据库中可以有多个数据文件,这些文件之

5、间存在一定的关系,因此在整体上服从一定的结构。 数据不再面向一个或多个应用,而是面向整个应用系统。 具有良好的数据共享性。 具有较高的数据独立性。 可控冗余度出现。,2020/9/9,第1章关系数据库管理系统基础知识,10,数据的存取粒度小. 由数据库管理系统对数据进行统一管理。 数据库为用户提供了方便的用户接口,2020/9/9,第1章关系数据库管理系统基础知识,11,1.1.3 数据库系统的三级模式 1.数据库的三级模式 从应用的角度看,数据库只向用户提供用户所需要的数据,用户看到的数据通常只是局部数据。在数据库系统中,用户看到的数据与计算机中存放的数据是不同的,但两者之间是有联系的。实际

6、上它们之间已经过了两次变换。一次是系统为了减少冗余,实现数据共享,把所有用户的数据进行综合,抽象成一个统一的数据视图;第二次是为了提高存取效率,改善性能,把全局视图的数据按照物理组织的最优形式存放。 减少冗余实现共享,第一级影射对所有用户所需的数据进行综合,抽象为统一的数据视图;,2020/9/9,第1章关系数据库管理系统基础知识,12,第二级是为了提高存取效率,改善性能,将若干用户视图集合为全局视图,并将其数据按照物理组织的最优形式存放. 除此以外的一个极为重要的目的是将数据的物理结构与数据的逻辑结构分离,以实现数据的结构变换与程序的无关性. 外(子)模式用户使用的视图,提供所需的数据,表示

7、用户所理解的实体、实体属性和实体联系。是单个用户能看到的数据特性。 概念模式:涉及到所有用户的数据定义,是全局的数据视图 内模式:数据存储模式。,2020/9/9,第1章关系数据库管理系统基础知识,13,数据库系统分为3层:外层外模式,可以有多个,每个针对一个用户;概念层概念模式,内层内模式。 数据库系统的模式概念 数据模型的型数据的结构与属性;值是型的具体数据。 模式:数据库全体数据的逻辑结构和特征的描述,只涉及到型的概念。 实例:模式的一个具体值,一个模式可以涉及多个实例。 模式是相对稳定的,反映数据的结构和关系。实例反映了数据库某个时刻的状态。,2020/9/9,第1章关系数据库管理系统

8、基础知识,14,模式认识,2020/9/9,第1章关系数据库管理系统基础知识,15,数据表及其关系,2020/9/9,第1章关系数据库管理系统基础知识,16,视图,2020/9/9,第1章关系数据库管理系统基础知识,17,第二级是为了提高存取效率,改善性能,将若干用户视图集合为全局视图,并将其数据按照物理组织的最优形式存放.,2020/9/9,第1章关系数据库管理系统基础知识,18,2.数据库的两级映射技术 为了实现数据库的三个抽象层次的联系与转换,数据库管理系统在这三级模式之间提供了两层映像。 外模式/模式映像:一个模式可以有多个外模式,每个外模式与模式之间都存在映像,它定义了外模式与模式之

9、间的对应关系。当模式变化时,可以通过修改外模式/模式映像来维持外模式不变。因为应用程序是根据外模式来编写的,所以外模式不变,则应用程序也不必修改。从而保证了数据和程序的逻辑独立性。,2020/9/9,第1章关系数据库管理系统基础知识,19,模式/内模式映像:数据库只有一个模式和一个内模式。因此模式/内模式映像是唯一的,它定义了数据库的全局逻辑结构和存储结构之间的关系。当数据库的存储结构发生变化时,可以通过修改模式/内模式映像来保持模式的不变,当然应用程序也不必修改,从而保证了数据与程序的物理独立性。 三级模式结构中心与关键,是反映全局逻辑结构的模式。因此涉及数据库模式结构时,首先应确定数据库的

10、逻辑结构-模式。,2020/9/9,第1章关系数据库管理系统基础知识,20,1.1.4 数据库管理系统 数据库管理系统(DBMS)是一组软件,用于对数据库进行操作和管理,包括定义、建立、操纵、管理和维护。其任务是在保证数据安全可靠的同时提高数据库应用时的简明性和方便性。 DBMS总是基于某种数据模型的,因此可以把DBMS看作某种数据模型在计算机系统上的具体实现。但由于计算机系统的差异,即使是同一种数据模型的DBMS,它们在用户接口、系统功能等方面仍然存在差异。,2020/9/9,第1章关系数据库管理系统基础知识,21,1.2 数据库设计 1.2.1关系型数据库 1.关系型数据库的含义: 关系型

11、数据库是一组相关的存储信息的表和数据库对象的集合。 1)信息存放在二维表中,表由记录组成,每个记录有相应的属性,一个数据库通常由多个二维表组成。 2)数据库中的表之间常常存在联系和制约关系,这种关系在具体实现时是通过主键与外键来实现。 3)数据库除了包含表以外还包括其他数据对象。,2020/9/9,第1章关系数据库管理系统基础知识,22,2.关系型数据库与表 数据库中的表因为某些属性的相关性而存在关联。 在关系数据库中,不管是从客观事物中抽象得到的实体还是实体间的联系都是用关系来表达。 在关系型数据库中,各种操作对象是关系,而操作的结果还是关系。 简单的说,操作总是面对的是二维表,而操作得到的

12、仍然是二维表。这样在关系模式中,我们面对的是同一种结构的数据组成,因此关系模式有简单清晰,概念单一,操作简单,容易理解的特点。,2020/9/9,第1章关系数据库管理系统基础知识,23,关系模型是用关键码而不是用指针导航数据,结构简单,易于理解,编程时不涉及存储结构、访问技术等具体细节。关系模型是数学化模型,SQL语言是关系数据库的标准化语言,得到了广泛的应用。 转换模型表示客观世界的方法 1)使用二维表表示实体及其属性 下表反映了两个实体集学生和课程。表中的每一行代表一个实体(一个学生、一门课程),每一列代表一个属性,可以反映一个实体的某个方面的信息。如性别、学分等。,2020/9/9,第1

13、章关系数据库管理系统基础知识,24,2)使用二维表表示实体间的联系 用二维表表示实体间的联系是关系模型的关键。若不同的实体间存在着某种自然联系那么可以通过在相应的二维表中设置某些(个)相同的属性使不同的二维表发生联系。,2020/9/9,第1章关系数据库管理系统基础知识,25,M:N,2020/9/9,第1章关系数据库管理系统基础知识,26,1:N,2020/9/9,第1章关系数据库管理系统基础知识,27,学生与课程的关系,由于表与表之间的关联,可以进行关于学生的 包含学号、姓名、课程名、成绩的信息的查询。,2020/9/9,第1章关系数据库管理系统基础知识,28,这种二维表在数学中实际上是个

14、关系,故这种模式被称为关系模式,具有如下特点: 1)关系模型的基本结构是二维表,结构简单,易于理解和易于实现。 2)二维表不仅可以表示实体,也能表示联系。 3)很容易使用二维表来表达E-R图。 4)二维表的数学基础是关系理论。对二维表进行的数据操作想但与相当于在关系理论中对关系的运算。,2020/9/9,第1章关系数据库管理系统基础知识,29,数据库数据管理方式的特点: 1)采用复杂的数据模型表示数据结构。数据模型不仅描述数据本身,而且还描述数据之间的联系。数据面向整个应用系统,数据冗余明显减少。实现数据共享; 2)数据库为用户提供了方便的用户接口,用户可以使用查询语句、终端操作数据库或程序方

15、式操作数据库。,2020/9/9,第1章关系数据库管理系统基础知识,30,3)具有较高的数据独立性,用户以数据的逻辑结构操作数据,而不必考虑数据的物理结构。数据库的结构分成用户的逻辑结构、整体逻辑结构和物理结构三级.用户数据和外存中数据之间的转换由数据库管理系统实现。当数据的存储结构发生变化时,尽量不影响数据的整体逻辑结构,这就是物理数据的独立性,当数据的整体逻辑结构发生变化时,尽量不影响用户数据的逻辑结构和应用程序,这就是逻辑数据的独立性。,2020/9/9,第1章关系数据库管理系统基础知识,31,2020/9/9,第1章关系数据库管理系统基础知识,32,3.表的关联分类 1)1:1关系(1

16、对1) 2)1:N关系(1对多) 3)M:N关系(多对多) 4.表的主键与外键 1) 键 键是能惟一标识每个记录的字段或字段集。 2)主键 主键是恰好能惟一标识每个记录的字段或字段集。主键实施实体完整性,所以要求每个表必须有一个且仅有一个主键。,2020/9/9,第1章关系数据库管理系统基础知识,33,3)外键 若表A的主键出现在表B字段中,则该主键在表B中被称为外键,例如选课表中的学号和课程号都是外键。 使用外键可以实现表与表之间的关联,建立制约关系。 5 数据完整性 数据完整性用于保证数据库的数据正确性和可靠性。 1)实体完整性 实体完整性是为了保证表中的数据惟一(不存在重复数据),实体完

17、整性由主键实现。,2020/9/9,第1章关系数据库管理系统基础知识,34,2)域完整性 域完整性可以保证数据的取值在有效的范围内。 3)参照完整性 参照完整性可以保证相关联的表间的数据保持一致,一般通过主键与外键来实现。具体的两种方式: 级联:更改主键值时,所有外键值也随之改变,在主键所在的表中删除记录时,外键所在的表中的相应记录被删除。 限制:若外键所在的表中有相关的记录,则不允许更改相关的主键,也不允许删除主键所在的记录。若主键没有相应的值,则不能在外键所在表中不能添加相应的记录。,2020/9/9,第1章关系数据库管理系统基础知识,35,1.2.2概念结构设计 为逻辑数据模型选取一个最

18、适合应用环境的物理结构,包括:数据库的存储结构(主要包括数据库文件和索引文件的记录格式和物理结构);存取路径的选择和调整;确定系统配置;外存储器的分配策略,实现完整性和安全性以及程序设计等. 1.E-R方法 E-R图的4个基本成分,实体,实体间的联系,实体与实体间联系的属性,实体与属性之间,联系与属性之间的连接、联 系与相关的实体之间的连接,用于表示他们 之间的联系,并在直线上标注联系的类型。,2020/9/9,第1章关系数据库管理系统基础知识,36,图书借阅系统中实体集和实体集属性的描述,2020/9/9,第1章关系数据库管理系统基础知识,37,两个实体之间的3种联系,2020/9/9,第1

19、章关系数据库管理系统基础知识,38,图书借阅系统中实体集和实体集之间的联系,m,n,2020/9/9,第1章关系数据库管理系统基础知识,39,例如:以下数据表的E-R图,2020/9/9,第1章关系数据库管理系统基础知识,40,学生选课系统中实体集之间的关系,2020/9/9,第1章关系数据库管理系统基础知识,41,1:1联系的E-R图到关系模式的转换,2020/9/9,第1章关系数据库管理系统基础知识,42,1:n联系的E-R图到关系模式的转换,2020/9/9,第1章关系数据库管理系统基础知识,43,1.2.3逻辑结构设计 1.1:1联系的E-R图到关系模式的转换 关于1:1的联系可以单独

20、对应一个模式,也可以将其归属到1:1中的某个模式 1)单独对应一个模式 对上述1:1的E-R图:班级BJB;班长-BZB;属于SYB,则有如下关系模式: BJB(班级编号,院系,专业,人数); BZB(学号,姓名,性别,年龄) SYB(学号,班级编号),2020/9/9,第1章关系数据库管理系统基础知识,44,2)归属到1:1中的某个模式 BJB(班级编号,院系,专业,人数,学号); BZB(学号,姓名,性别,年龄) 或者 BJB(班级编号,院系,专业,人数); BZB(学号,姓名,性别,年龄,班级编号) 2.1:n联系的E-R图到关系模式的转换 关于1:n的联系可以单独对应一个模式,也可以将

21、其归属到1:n中n所在的模式 1)单独对应一个模式,2020/9/9,第1章关系数据库管理系统基础知识,45,学生-XSB BJB(班级编号,院系,专业,人数); XSB(学号,姓名,性别,年龄) SYB(学号,班级编号) 2) 归属到1:n中n所在的模式 BJB(班级编号,院系,专业,人数); XSB(学号,姓名,性别,年龄,班级编号) 3. m:n联系的E-R图到关系模式的转换 m:n联系只能单独对应一个模式 学生XSB,课程KCB,选课-CJB XSB(学号,姓名,性别,出生日期,入学日期),2020/9/9,第1章关系数据库管理系统基础知识,46,KCB(课程号,课程名,学时,学分)

22、CJB(选课日期,课程号,学号,成绩) 1.2.3数据库物理设计 即确定数据的存储结构,如文件的组织方式,文件的存取路径、内存管理等。物理模型对用户不可见,与数据库管理系统、操作系统和硬件有关。 数据库的基本设计步骤; 数据库与应用程序、数据库管理系统的关系见下图。,2020/9/9,第1章关系数据库管理系统基础知识,47,2020/9/9,第1章关系数据库管理系统基础知识,48,2020/9/9,第1章关系数据库管理系统基础知识,49,2020/9/9,第1章关系数据库管理系统基础知识,50,1.3关系数据库的规范化 所谓关系规范化就是按照统一标准读关系进行优化,以提高关系的质量,其目的是构

23、造一个合理的、具有实用价值的数据库。 例:对于以下关系模式 R(TNAME,ADDRESS,C#,CNAME) 其中关系模式中的属性依次为表示为教师姓名,教师地址,课程编号和课程名。,2020/9/9,第1章关系数据库管理系统基础知识,51,TNAME ADDRESS C# CNAME 李明 望海路18号 01 高等数学 李明 望海路18号 02 经济数学 李明 望海路18号 03 线性代数 王海 适宜路3号 04 程序设计语言 王海 适宜路3号 05 数据结构 刘悦 武威路12号 06 计算机组成 有现实世界的事实可知: 一个教师只有一个地址; 一个教师可以教几门课; 若每门课程由一个教师任

24、教。,2020/9/9,第1章关系数据库管理系统基础知识,52,这个模式存在的问题: 1)数据冗余,如果一个教师教几门课程,则教师的地址要出现多次。 2)更新异常,假定一个教师教三门课,那么在关系就有三个元组(三行数据),如果教师的地址改变了,就要修改三个元组的地址数据,如果有一个被遗漏,就会造成地址的不一致。 3)删除异常,如果一个教师没有教学任务,那么就要把该教师的所有元组删除,有关教师的姓名、地址都要删除,这显然是不合理的。,2020/9/9,第1章关系数据库管理系统基础知识,53,4)插入异常,关系中的元组是通过键值区分不同元组的,当增加一名新教师但尚未安排课程时,会出现C#、CNAM

25、E为空的现象,称为占位空值,而空值的语义是一个复杂的问题,对空值的检索和操作也很麻烦,如果空值所在的属性如果是键的一部分的话就违反了实体完整性规则。因此一般不允许空值出现,至少不允许键或键的组成部分出现空值。 而这些不足之处直接有损于数据库的维护和影响,由此可见这个数据库模式是一个不合理的模式,一个合理的模式不应该会发生插入一场异常和删除异常,而且应尽可能减少数据冗余。,2020/9/9,第1章关系数据库管理系统基础知识,54,如何建立一个合理的具有实用价值的数据库模型,对于关系模式来说可以通过属性间的函数依赖的研究来解决这个问题。根据属性之间的函数依赖关系,可采用分解方法,将上述数据库模式分

26、解为两个模式: R1(TNAME,ADDRESS) R2(TNAME,C#,CNAME) 其关系实例:,2020/9/9,第1章关系数据库管理系统基础知识,55,2020/9/9,第1章关系数据库管理系统基础知识,56,通过分解,上述的四个问题基本得到了解决,但是否是最佳的模式呢?我们可以看到,如果要查询教某一门课程的教师,需要对两个关系作联接操作,而这种操作的代价是很大的。但在原来的模式中却可以直接找到,那么评价一个模式好坏的标准到底是什么呢? 如何判断一个模式的质量?如何将一个存在不良函数依赖的模式分解成具有良好函数依赖等问题是关系规范化理论讨论的内容。,2020/9/9,第1章关系数据库

27、管理系统基础知识,57,规范化理论认为:关系中的各个属性是相互关联的,它们互相依赖、互相制约,构成一个具有严谨结构的整体。因此构造数据库必须遵守一定的规则,这个规则就是范式。 目前的关系数据库有7种范式:1NF(第一范式)、2NF、3NF、BCNF、4NF、5NF、6NF。 函数依赖:从最简单的观点来看,对于一个学生,可以根据学号来惟一的确定一个学生,即根据学号可以确定姓名、性别、出生日期,这样可以认为姓名依赖于学号,性别依赖于学号,。函数依赖,是数据依赖类型中最为常见和重要的类型。,2020/9/9,第1章关系数据库管理系统基础知识,58,数据依赖是通过一个关系中属性间的值的相等与否来体现数

28、据间的相互关系,是现实世界属性间相互联系的抽象,使数据内在的性质及语义的体现。 函数依赖在现象上看就是:假定根据某个或某些列(表现为X1,X2,Xn)的数据能判定另一个列(Y)的数据,则称Y函数依赖X1,X2,Xn,或者称X1,X2,Xn决定Y。表现为: X1,X2,Xn-Y 例如:因为根据学号(Sid)可以确定一个学生,因此有: Sid-Sname(姓名) Sid-birthday(生日),2020/9/9,第1章关系数据库管理系统基础知识,59,又如:存在数据关系(Sid,Cid,Score),分别为学号、课程号和成绩,表示某个同学选修某一门课得到一个成绩。由此可得: Sid,Cid-Sc

29、ore 又如:存在数据关系(Did,Dname,Daddr,Dmng),分别为系号、系名、系地址、系主任。由于系号可唯一标识一个系,所以有: Did-Dname Did-Daddr Did-Dmng 由于学校的系不可能重复,因此同样可得到: Dname-did Dname-Daddr Dname-Dmng,2020/9/9,第1章关系数据库管理系统基础知识,60,第一范式(1NF) 定义:设R是一个关系模式,R属于第一范式当且仅当R中每一个属性A的值域只包含原子项。 第一范式不能排除数据冗余和更新异常问题,因为其中可能存在部分函数依赖。 例 关系study=学号,课程,给出学生选修课程的记录

30、学号 课程 9901 数据库,操作系统 9902 数据结构,C语言 显然这是非规范的关系模式,这种非1NF的关系模式将给更新操作带来麻烦。,2020/9/9,第1章关系数据库管理系统基础知识,61,对应Study的1NF形式 学号 课程 9901 数据库 9901 操作系统 9902 数据结构 9902 C语言,2020/9/9,第1章关系数据库管理系统基础知识,62,2)第二范式(2NF) 定义:设R是一个关系模式,R属于第二范式当且仅当R是1NF,且每个非主属性都完全函数依赖于P的某个候选码。 对于函数依赖WA,如果存在XW,且XA,则称WA是局部依赖,即A局部依赖于W,否则称WA是完全依

31、赖。 如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性。 第二范式也可能存在数据冗余和更新等问题,因为其中可能存在传递函数依赖。,2020/9/9,第1章关系数据库管理系统基础知识,63,例如:存在关系SM SM SD:学生所在的系,SL:所在的楼。 分解为:SSS#,SD,SL,S#SD,SDSL,S#SL)和 SGS#,C#,PG,(S#,C#)PG) SS关系仍然存在数据冗余和删除异常。将关系SS进一步分解为: SS-D(S#,SD,S#SD),SS-LSD,SL,SDSL) SM:,2020/9/9,第1章关系数据库管理系统基础知识,64,SG,SS,将

32、SS再分解为SS-D和SS-L,SS-D,SS-L,2020/9/9,第1章关系数据库管理系统基础知识,65,例: 商品供应关系模式SUPPLY=SNO,PNO,SCITY,STATUS,PRICE,QTY 其中:SNO 供应商号 PNO 零件号 SCITY 供应商所在城市 STATUS 供应商状态 PRICE 零件价格 QTY 零件数量 满足函数依赖集F为: SNOSCITY,SCITYSTATUS,PNOPRICE (SNO,PNO)QTY,2020/9/9,第1章关系数据库管理系统基础知识,66,SUPPLY是1NF,但是否为2NF?根据实际工作经验可以判断: (SNO,PNO)SNO,

33、SCITY,STATUS,PRICE,QTY 所以SNO,PNO为键, 关于F的有向图:,2020/9/9,第1章关系数据库管理系统基础知识,67,在SUPPLY关系模式中,其中SNO,PNO为主属性,其余属性为非主属性。其中QTY满足(SNO,PNO)QTY,是完全函数依赖,其余非主属性的函数依赖都是部分函数依赖。因此SUPPLY关系模式不是2NF。这种范式在执行数据库操作时,会出现插入、删除异常以及数据冗余等问题,这主要由非主属性对主属性的部分函数依赖所造成的。使用分解将模式中的不完全函数依赖的属性去掉,将部分依赖的属性单独组成新的模式,可将此模式转换为2NF 将SUPPLY关系模式分解为

34、: SUPPLY1=SNO,PNO,QTY,(SNO,PNO) QUT,2020/9/9,第1章关系数据库管理系统基础知识,68,SUPPLIER=SNO,SCITY,STATUS,SNO SCITY,SCITY STATUS PART=PNO,PRICE,PNO PRICE 这三个关系的键分别为(SNO,PNO)、SNO和PNO,所有非主属性实现了对主属性的完全函数依赖,所以分解后的三个关系模式均为2NF。 3 第三范式(3NF) 定义:设R是一个关系模式,R属于第三范式当且仅当R是2NF,且每个非主属性都非传递函数依赖与候选码。 在上例的SUPPLY1和PART的非主属性之间不存在任何的函

35、数依赖,满足3NF,而模式SUPPLIER中则存在,2020/9/9,第1章关系数据库管理系统基础知识,69,SNOSCITY,SCITYSTATUS 所以STATUS传递依赖于SNO,因此SUPPLIER不是3NF。可以通过将关系SUPPLIER分解的方法使之实现3NF SUPPLIER1=SNO,SCITY SUPPLIER2=SCITY,STATUS 其中SNO和SCITY分别为关系SUPPLIER1和SUPPLIER2的主键。 对于任何一个属于第二范式的关系模式,总可以通过投影化为一组等价的属于3NF的关系模式,并且这一过程可逆. 事实上一个具有使用价值的关系模式至少应该满足3NF.,

36、2020/9/9,第1章关系数据库管理系统基础知识,70,1.4数据库应用系统 1.4.1数据库的连接方式 客户端应用程序或应用服务器向数据库服务器请求服务时,首先需要与数据库建立连接。 1.ODBC数据库接口 ODBC开放式数据库互连,是微软公司推出的一种应用程度和关系数据库之间通讯的接口标准,符合标准的数据库都可以使用SQL语言编写的命令对数据库进行操作,但只针对关系数据库。 ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,其核心是SQL语句。,2020/9/9,第1章关系数据库管理系统基础知识,71,操作见P8,2020/9/9,第1章关系数据库管理系统基础

37、知识,72,2.OLE DB数据库接口 OLE DB即数据库链接和嵌入对象,是微软提出的基于COM思想且面向对象的一种技术标准,目的是提供一种统一的数据访问接口访问各种数据源。 OLE DB标准的核心内容是提供一种相同的访问接口。使得应用程序可以使用同样的方法访问各种数据,而不必考虑数据的存储地点、格式和类型,,2020/9/9,第1章关系数据库管理系统基础知识,73,3.ADO数据库接口 ADO是微软开发的基于COM的数据库应用程序接口,通过ADO连接数据库可以方便地操作数据库中的数据。 通过ADO接口访问SQL Server数据库,可以通过ODBC驱动程序访问,也可以通过SQL Server专用的OLE DB Provider访问。而后者的访问效率更高。 ADO对象模型发展成了ADO.NET.,2020/9/9,第1章关系数据库管理系统基础知识,74,2020/9/9,第1章关系数据库管理系统基础知识,75,4.ADO.NET数据库接口 ASP.NET使用ADO.NET数据模型。ADO.NET不仅仅是对ADO的改进,而是采用了一种全新的技术,主要表现在: 1)ADO.NET是与.NET框架紧密结合的产物; 2)ADO.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论