第1章 数据库技术基础课件.ppt

上传人:春哥&#****71; 文档编号:12723718 上传时间:2022-04-25 格式:PPT 页数:62 大小:1.91MB
返回 下载 相关 举报
第1章 数据库技术基础课件.ppt_第1页
第1页 / 共62页
第1章 数据库技术基础课件.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《第1章 数据库技术基础课件.ppt》由会员分享,可在线阅读,更多相关《第1章 数据库技术基础课件.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SQL SERVER应应 用用 与与 开开 发发计算机工程技术学院(软件学院) 任淑美二00七年九月(一)(一)本课主要内容本课主要内容 数据与数据处理数据库技术发展数据模型和数据的完整性约束关系数据库及其规范本课核心知识点本课核心知识点三种数据模型的表示与不同关系数据库特点如何建立规范的关系数据库本课重点难点本课重点难点关系数据库定义数据的完整性约束3NF范式关系数据库本课教学目的本课教学目的了解数据库技术的发展掌握关系数据库的基本概念熟悉三种数据模型及其主要特点熟悉建立规范关系数据库的原则第第1章章 数据库技术基础数据库技术基础 数据库数据库是相关数据的集合,其中的数据必须是可以被记录的、

2、且具有一定意义的事实。对数据库的管理和维护既可以使用数据库管理系统来组织和处理,也可以编写自己的程序,按照文件方式来组织与处理。文件处理只能处理特定的数据库,而数据库管理系统软件则可以通过引用数据字典来存取各种数据库。1.1 概述概述 信息技术是知识经济的重要支柱,数据库技术和网络技术又是信息技术最重要的技术核心。以Internet为标志的计算机网络技术席卷全球IT业界,信息传播速度越来越快。以Microsoft SQL Server为代表的成熟数据库技术的应用越来越广泛,超大容量的数据存储、高效率的数据查询技术、方便易用的向导和工具、友好亲切的用户界面,促进了电子商务、信息技术和数据管理的发

3、展。1.1.1 任务一任务一 理解数据与数据处理理解数据与数据处理 【问题1-1】 表1-1是学校04计应1班某学期开课表,在这个表中,如班级、课程、教师等数据,这些数据用什么类型表示呢?表1-1 班级开课表从这份表不难知道:课程、班级、教师都可以用字符串表示。1数据数据数据是客观事物的反映和记录,是用以载荷信息的物理符号。数据不等于数字,数据包括两大类,即数值型数据和非数值型数据。在计算机系统中,凡是能被计算机存储并处理的数字、字符、图形和声音等统称为数据。数据也不等同于信息,信息是经过加工后的数据。数据和信息是两个相互联系、但又相互区别的概念;数据是信息的具体表现形式,信息是数据有意义的表

4、现。2数据处理数据处理数据处理是将数据转换为信息的过程。数据处理的内容主要包括:数据的收集、整理、存储、加工、分类、维护、排序、检索和传输等。数据处理的目的是从大量的数据中,根据数据自身的规律和及其相互联系,通过分析、归纳、推理等科学方法,利用计算机技术、数据库技术等手段,提取有效的信息资源,为进一步分析、管理和决策提供依据。数据处理也称信息处理。例如,上面所提到的统计教师工作量,或经过计算求出人均工作量的过程就是数据处理。1.1.2 任务二任务二 了解数据处理技术发展了解数据处理技术发展 数据处理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。 20世纪50年代前,计算机主要

5、用于数值计算,没有操作系统及管理数据的软件。这种处理方式涉及数据量小,数据无结构,而且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。50年代后期到60年代中期,由于磁鼓、磁盘等存储设备和操作系统的出现,数据管理进入了文件系统阶段。这种数据处理系统把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问。它实现了文件内数据的结构化,但文件之间没有联系。这种数据处理方式面向特定的应用程序,因此数据共享性、独立性差,且冗余度大。60年代后期,为解决海量数据管理、多用户及多应用程序共享数据的需求,出现了统一管理数据的专门软件系统数据库管理系统(DBMS),从而使数据处理

6、迈上了新的阶段,数据安全及维护也得到了很大提高。1.2 数据库技术概述数据库技术概述 数据库技术是研究如何科学组织和存储数据,如何高效地获取和处理数据,以及如何保障数据安全,实现数据共享的一门计算机技术。数据库技术作为信息技术的一个重要支撑部分,它的产生来源于社会的实际需要,并对现代信息管理产生了深刻影响。现在数据库技术是计算机软件领域的一个重要方面,已经发展成为以数据管理系统为核心,内容丰富、领域宽广的一门学科。1.2.1 任务一任务一 掌握数据库的基本概念掌握数据库的基本概念 1数据库数据库数据库(DataBase)即存放数据的仓库,我们把它定义为存放在计算机存储设备上的相关数据的集合。数

7、据库最终以文件的形式存储,与不同于普通文件的是,它是相互关联的数据的集合,如一个班级数据库,就包含有学生基本信息表、课程表、成绩表等。而一般文件仅是相关信息的集合,其存放形式可以是杂乱无章的,如班级数据,用一般文件存储,就可能需要多个文件分别保存学生基本信息、开课表及成绩表等。2数据库管理系统数据库管理系统数据库管理系统(DataBase Manage System)负责对数据库进行管理和维护,它是实现数据库系统的主要软件。数据库管理系统与计算机硬件及其他软件的层次关系如图1-1所示,外层应用依赖于内层资源的支持。 数据库管理系统(数据库管理系统(DBMSDBMS)的几个功能:)的几个功能:数

8、据定义语言(DDL):用来描述和定义数据库中的各种数据的及数据之间的联系。如在上述教材表中规定页数用整数表示,定价用实数表示都属于这一功能体现。(CREATE,DROP)数据管理语言(DML):用来对数据库中的数据进行插入、查找、修改和删除等操作。如修改教材表中某本教材的定价或删除某教材信息。(SELECT,INSERT,UPDATE,DELETE)数据控制语言(DCL):用来完成系统控制、数据完整性控制及并发控制等操作。如课程名、教材名不能超过20个汉字的约定等都属于数据完整性控制。(CRANT,REVOKE)目前,典型数据库管理系统系统有:SQL Server、FOXPRO、SYBASE、

9、INFORMIX、ORACLE等。3数据库系统数据库系统数据库系统实际上是一个应用系统,它除了有数据库数据库、数据库管理系数据库管理系统统外,还包括使用系统的用户用户和支持数据库管理系统的计算机系统计算机系统本身。用户是指使用数据库的人员,包括终端用户、应用程序员和数据库管理员三类用户。终端用户是指数据库系统的最终使用人员,他们通过数据库系统提供的界面友好的交互式对话手段使用数据库中的数据。应用程序员是为终端用户编写应用程序的软件人员,他们设计的应用程序主要目的是使用和维护数据库。数据库管理员(DBA)全面负责数据库系统正常运转的高级人员,他们负责对数据库系统的深入研究。例如:一个电子商务网站

10、中,通过浏览器进行信息查询和购物的用户即为最终用户;编写网页程序和相关管理程序的人员即为应用程序员;负责后台网络数据库的维护人员即为数据库管理员(DBA)。计算机系统是指存储数据库及运行DBMS的软、硬件资源。如计算机本身、操作系统、外部设备等等。1.2.2 任务二任务二 熟悉数据库系统模型熟悉数据库系统模型 数据库系统中数据库对数据的存储和管理是按照同一结构进行的,不同的应用程序都可以直接操作这些数据,也就是说应用程序具有高度的独立性。数据库系统有如下几个特点:数据结构化数据结构化:数据库系统中包含的多个单独的文件之间是相互联系的,在整体上有一个统一的结构形式。数据共享数据共享:数据库系统中

11、的数据可以为不同的用户使用。数据独立性数据独立性:应用程序和数据库间的依赖性较小。最小冗余度最小冗余度:数据库系统中的数据集中存储,共同使用,避免了大量重复。1.3 数据模型数据模型 数据模型是对现实世界进行抽象的工具,它的主要用途是对客观事物表现的数据及数据关系、数据约束进行数学描述。由于客观世界事物之间的联系多样,因此数据之间的联系也表现多样,因此可以用不同的数据结构来表示数据之间的联系,即不同的数据模型。如一个单位组织结构是层次关系,一个班级学生则可以用一张表表示,一个地区的交通图则需要用图来表示。目前,比较流行的数据模型有三种,即层次结构模型层次结构模型和网状结网状结构模型构模型以及按

12、关系理论建立的关系结构模型关系结构模型,应用最广泛的为关系结构模型。1.3.1 任务一任务一 了解层次模型了解层次模型 层次模型是指用树型结构来表示数据及数据间联系的模型。在层次模型中,树的结点表示各个数据,连线表示数据之间的关系。层次模型的特点:层次模型中有且仅有一个最高层的结点,称为根结点。其它的结点有且仅有一个直接的上层结点,称为父结点。上层结点和下层结点的联系是1:N的联系。层次模型中,必须从根结点开始查询记录的内容。层次模型中一个层次表示一组相关的记录。其中一个最明显的特点是任何一个给定的记录值只有按其路径查找时,才能显示出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在

13、。其存储结构常用的方法是邻接法和链接法。N1N3N2N4N6N51.3.2 任务二任务二 了解网状模型了解网状模型 网状模型是指用网络结构来表示数据及数据间联系的模型。如城市之间交通路径图就是网状数据结构。网状模型是层次模型的拓展,网状模型和层次模型一样,记录的存取路径是由模型的结构定义好的,数据必须按照定义好的存取路径才能进行存取操作。按照网状数据结构建立的数据库系统称为网状数据库系统。网状数据模型是用记录类型和表示记录类型间的1:N联系的系结构来描述数据库的。其存储结构依系统而异,常用的方法是链接法,能够更为直接地描述现实世界的实体以及实体间的联系。1.3.3 任务三任务三 熟悉关系模型熟

14、悉关系模型 关系模型指的是用二维表格来表示数据间联系的模型。如表1-2所示的教材使用信息表就是这样的关系模型。每个表有行和列,每一列的数据为同一类数据,称为字段字段;每行中的数据称为记录记录;行和列的数据存在一定的关系,这样形成的表称为关系表,由关系表组成的数据库为关系数据库。1字段(属性)二维表格的每一列称为一个字段(属性),其中字段名相当于标题栏中的标题。表的每一列数据都属于同一类型。 一般来说,为便于计算机处理,每一个字段都有字段名、字段类型和字段长度(占字节数)等规定 。 2记录(元组)二维表格中的每一行称为一条记录(元组),记录由若干个相关属性值组成。 3表的主键和外键键(Key)是

15、关系型数据库模型中的一个非常重要概念,它对维护表的完整性及管理表都相当重要。主键是指表中的某一列,该列的值能标识一行。 外键是指一个表中的某个字段是另外一个表的主键。如果还有一个出版社表,则该表中的出版社字段“press”就是出版社表的外键。关系模型的特点:每一列必须是基本数据项,即不可再分解。表中每一列必须具有相同的数据类型(例如字符型、数值型等)。表中每一列的名字必须是的。表中不应有内容完全相同的行。行的顺序与列的顺序不影响表格中所表示的信息的含义。对于关系数据库的几个名词在不同的领域中有不同的称谓:列、行、二维表属于日常用语;属性、元组、关系是数学领域中的名词;字段、记录、数据库是数据库

16、领域中的名词。关系数据模型是由一组表来描述数据库,这里的每个表可以做为一个独立的文件存储。大多数关系数据库都有高级查询语言,且支持有限的用户视图。关系数据模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干个元组的集合,数据结构简单、清晰,数据的独立性高。补充: 关系模型关系模型(relational model)关系模型是用“表”来表示实体及其联系的。网状模型和层次模型是用“图”来表示实体及其联系的。关系关系的直观解释就是一张二维表,而关系模型就是用若干个二维表来表示实体及其联系的,这就是关系的本质。补充:例:设有例:设有“教师教师”、“学生学生”、“课程课程”三个实体,其联系情况

17、如图所示:三个实体,其联系情况如图所示: 补充:用三个关系表示三个实体集合用三个关系表示三个实体集合 补充:补充:归纳归纳关系模型有着一体化的特点,即不论实体还是联系统一用关系来表示,并且能直观反映各种联系方式;其数据表现力强,而且符合人们的习惯;对关系的任何操作都可以直观地从二维表去理解,又有数学理论为基础,所以获得了广泛的应用。 所有的关系框架构成关系数据模型。 教师(工号,姓名,职称,课程号) 课程(课程号,课程名,学时数) 学生(学号,姓名,性别,年龄) 学习(学号,课程号,分数) 所有的关系集合构成了关系数据库。补充:1.3.4 数据的完整性约束数据的完整性约束 数据的完整性约束是指

18、在给定的数据模型中,数据及数据关联等各种对象所遵守的一组通用的完整性规则。它能保证数据库中数据的正确性、一致性。简单的完整性约束主要有:(1)数据类型:对每个数据项规定了特定的类型。(2)值域约束:对每个数据项规定了其值域,即其取值的范围。(3)唯一性约束:表中的记录不能相同。例如,使用教材的编号必须唯一,且不能为空;书的页数、价格不能为负数或零等。1.4 关系数据库关系数据库 关系数据库以关系模型为基础,它是表的集合。对于关系数据库,它也有运算、完整性等规定。1.4.1 任务一任务一 关系运算关系运算 1选择选择运算是在关系(表)中选择满足某些条件的记录(或元组)组成的新关系(子表)。其实际

19、上是从表中选择符合给定条件的行,如表1-2中所有定价大于或等于25元的书有前3条记录,结果如表1-3所示。2投影投影运算是在关系中选择某些属性列。例如,在教材表中,若要编号、课程、书名三列,那么就可以用投影运算来实现,结果如表1-4所示。3连接连接运算是从两个或以上关系中选择符合一定条件的记录。如,班级上课除了需要教材以外,还需要教师,设该班各课程上课教师如表1-5所示。我们可能需要将表1-4和表1-5根据课程编号合成一个表格,结果如表1-6 所示。设表1-4为R,表1-5为S,则这个连接的条件就是 R.NO=S.NO,即两个表依据课程号进行连接运算。 1.4.2 任务二任务二 关系完整性关系

20、完整性 【问题1-3】在表1-2中,为什么要设置课程号?课程号一般应如何构成?由于各专业课程名存在相同情况,因此,学校需要使用课程号来唯一标识所开课程。课程号是标识班级所开课程的编号,一般应由班号、学期、序号构成。如04011501表示 04011班第5学期所开的第1门课,这样做的目的,是为了使各学期所开课程具有唯一标识。如果不这样做,当将多个班所开课程放入一个表时,就会造成数据的重复。如上所述的开课表,对课程号构成就需要有一个约定,如唯一性要求,且不能为空等。由于开设课程名及教材都可能存在同名情况,因此通过课程号唯一决定所开课程,这时我们称这一字段为关键字段或主键。这些对定义表的约束,反映了

21、关系的完整性, 关系完整性表现在以下三个方面。(1)实体完整性实体完整性是指表中关键字段不能为空。如表1-4中的课程号字段就不能为空。(2)参照完整性我们来观察表1-4和表1-5,在表1-5中,有课程号这一信息,这一字段中的各个数据必须和表1-4中的课程号所对应,如果在表1-5中出现了一个表1-4中没有的课程号,则这个表就出现了表示错误。这种一个关系表的数据需要参照另一个表的数据而定的要求就称为参照完整性。(3)用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件。它反映了某一具体应用所涉及的数据必须满足的某些语义要求。例如:在学生基本信息表中,学生性别只能有男、女两种数据,入学

22、日期必须在毕业日期之前等。完整性是指保证数据库数据的正确性和有效性。为了维护数据库数据的完整性,DBMS必须提供一种机制,用来检查数据库中的数据是否满足规定的条件,这个条件在数据库系统中称为完整性约束条件。完整性控制是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,称为关系完整性关系完整性。补充:1、实体完整性实体完整性是指关系的主关键字不能取空值。分析下例是否满足实体完整性。教工号教师姓名课程号100700370321刘文辉王城芳任利恒8307课程号课程名学时数178303哲学数学英语688680 完整性约束完整性约束

23、(a) 教师 (b) 课程补充:2、参照完整性在关系数据库中,关系与关系之间的联系是通过公共属性实现的。公共属性是这样一个属性组,该属性组在一个关系中是主关键字,同时又是另一个关系的外部关键字。外部关键字的取值必须是相关表中主关键字的有效值,或者是一个空值,这就是参照完整性。在前例中,“课程号”是“课程”的主关键字,也是“教师”的外部关键字。观察发现,其中教工号为0037的教师对应的课程号为空值,表明还没有给该教师分配课程。而教工号为0321的教师对应的课程号为07,课程号07没有出现在“课程”关系中,所以这个值是非法的。补充:完整性约束不单纯是对关系主关键字和外部关键字的取值必须有效的约束。

24、应该做到尽可能全方位、准确描述操作对象的实际意义以及该操作对象与其他操作对象的联系。完整性的实现包括两个方面:一是系统提供定义完整性约束条件的功能。如在关系模式中定义属性名、类型、长度、主关键字和侯选关键字属性名并标明其值是惟一的和非空的、外部关键字以及其相关表等等,还有一些约束条件需要用户在程序中加以定义。二是系统还要提供检查完整性约束条件的功能。补充:1.4.3 任务三任务三 数据库的规范化数据库的规范化 规范化理论是研究如何将一个不好的关系模式转化为好的关系模式的理论,规范化理论是围绕范式而建立的。规范化理论认为,一个关系数据库中所有的关系,都应满足一定的规范(约束条件)。规范化的目的是

25、消除关系模式中的数据冗余,消除数据定义中不合理的部分,以解决数据插入、删除时发生异常的现象。我们把关系数据库的规范过程中为规范化程度要求设立的不同标准称为范式。到目前为止,有第一范式、第二范式、第三范式、第四范式、第五范式等。标准越高,对关系数据库的规范程度就越高。一般的应用满足第三范式即可。规范的每一级别都依赖于它的前一级别,例如若一个关系模式满足2NF,则一定满足1NF。下面我们只介绍1NF,2NF,3NF范式。 11NF 1NF是关系模型的最低要求,它的规则是: 每个字段不可再分,不能有重复行,这是建表的最低要求。满足这一规范,要求表中有主键,主键不能为空。例:如果要求一个学生一行,一个

26、学生可选多门课,则下面的“学生”表就不满足1NF: student(sno,sname,classno)其中:sno为学号,sname为学生姓名,classno为课程号。因为一个学生可选多门课,所以列classno有多个值,所以它不符合1NF。规范化就是把它分成如下两个表:“学生”表和“选课”表,则这两个表就都满足1NF了。 student(sno,sname)stuclass(sno,classno) 22NF 对于满足2NF的表,除满足1NF外,其他非主键字段都必须完全依赖于主键。例:下面的“选课”表,不符合2NF。 stuclass(sno,classno,classname)其中:cl

27、assname为课程名称。该表的主键列是:(sno,classno),非主键字段classname只依赖于主键的一部分classno,所以它不符合2NF。对该表规范化也是把它分解成两个表:“选课”表和“课程”表,则它们就都满足2NF了。 stuclass(sno,classno)class(classno,classname)33NF 3NF的规则是除满足2NF外,且任何非主键字段不传递依赖于主键。传递依赖的含义是指经由其他字段而依赖于主键的字段。3NF的实际含义是要求非主键字段之间不应该有从属关系。例:下面的“课程”表,不符合3NF。class(classno,classname,teach

28、erno,teachername)其中:teacherno为任课教师号,teachername为任课教师姓名。因为非主键字段teachername依赖于另一非主主键字段teacherno,所以它不符合3NF。其解决办法也是把它分解成两个表“课程”表和“教师”表,则它们就都满足3NF了。class(classno,classname,teacherno)teacher(teacherno,teachername)1.4.4 综合实例综合实例 班级开课表的规范班级开课表的规范 【问题1-4】表1-1是某班某个学期的开课信息表,若将该班在大学所有学期开课情况都放入这张表中会存在什么问题?应如何改进?

29、1第一范式2第二范式3第三范式当一个表是规范的,则其非主键列依赖于主键。在表满足3NF标准后,这样的设计容易维护。一个完全规范化的设计并不总能生成最优的性能,因此通常是先按照3NF设计。 数据库中的数据规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度,但是对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询的速度。因此,有时为了提高某些查询或应用的性能也可以考虑降低某些表的规范等级。本章小结本章小结本章介绍了数据库系统的特点、数据库的3种模型、数据库系统的用户和数据库管理系统,并着重介绍了关系型数据库的概念和有关知识。关系数据库以关系模型为基础,它是表的集合。对于关系数据库,它也有运算、完整性等规定。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com