《数据库理论基础》PPT课件.ppt

上传人:za****8 文档编号:3168123 上传时间:2019-12-06 格式:PPT 页数:91 大小:1.16MB
返回 下载 相关 举报
《数据库理论基础》PPT课件.ppt_第1页
第1页 / 共91页
《数据库理论基础》PPT课件.ppt_第2页
第2页 / 共91页
《数据库理论基础》PPT课件.ppt_第3页
第3页 / 共91页
点击查看更多>>
资源描述
网络数据库原理及应用,网络工程系,韩桂华教师课件密码:01234567alenhan,教学目的,了解数据库技术的发展方向。深入理解数据库系统的基本概念。掌握数据库设计的一般方法,能够使用MSSQLServer进行数据库设计。初步具备进行数据库应用系统设计开发的能力。,教学计划,第1章数据库理论基础10学时第2章SQLServer2000安装和常用工具1学时第3章Transact-SQL语言基础3学时第4章数据库基本对象操作和管理4学时第5章数据的查询和修改12学时第6章实施数据完整性2学时第7章数据库高级对象操作和管理8学时第8章数据库系统的安全性管理2学时,参考书目,数据库系统概论萨师煊、王珊高等教育出版社数据库原理及应用教程陈志泊、李冬梅、王春玲人民邮电出版社,参考书目,学习要求,课前预习认真听课,理解教学内容广泛阅读,开阔视野独立完成课外作业按质按量完成课堂练习、上机实习等作业考核方法:本门课程成绩平时成绩30卷面成绩70,第1章数据库理论基础,教学内容:数据库发展简史数据库、数据库管理系统、数据库系统数据库系统的结构数据库设计过程关系数据库设计的规范化和非规范化数据库应用结构,一、数据库发展简史,数据库系统的萌芽出现于60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需求了,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。,主要应用:科学计算、数据处理。数据处理:是对数据的收集、记载、存贮(组织、编码)、分类、排序、检索和维护。例如:学生成绩的管理、图书情报管理等。数据处理的发展:手工处理机械处理电子(计算机)数据处理。计算机对数据的处理经过了如下三个发展阶段:人工管理阶段、文件系统阶段、数据库系统阶段。,二、计算机数据管理技术的发展,(1)人工管理阶段,本阶段特点:数据不保存;没有软件系统对数据进行管理;这一时期没有文件的概念,数据的组织必需由程序员自行设计;一组数据对应一个程序,不同程序之间不能相互利用数据。,人工管理阶段的数据管理模型,一组数据,程序,(2)文件系统阶段,前提:OS具有了文件管理功能。本阶段特点:数据与程序文件脱离,数据作为独立的文件,可供多个程序使用,但多个文件之间缺乏联系,从而造成数据冗余,占用存贮空间大。,文件系统阶段的数据管理模型,程序1,程序2,程序3,文件3,文件2,文件1,文件管理系统,例如:,文件管理系统,购物者购买玩具,先查找文件File2,判断此用户是否合法;如果合法则访问File1,判断有无此玩具;如果有,则将订单信息写到文件File3中,优点:,1、数据能够长期保存在磁盘上。2、有了提供文件与程序之间进行存取方法转换的软件。程序员不必关心数据的物理位置,可以集中精力考虑算法,并且节省了维护程序的工作量。3、文件形式的多样化。由于有了直接存取设备,也就有了索引文件、链接文件、直接存取文件。4、数据存取以记录为单位。,缺点:,1、数据冗余度大。文件系统中的数据还是面向应用的,因此可能有相同的数据在多个应用程序的文件中重复存储。2、不一致性。由于数据有冗余,在进行修改时,同样的数据可能在不同的文件中产生不一致性。3、数据联系弱。4、数据和程序缺乏独立性。数据逻辑结构改变,则必须修改应用程序。,(3)数据库系统阶段,数据库管理技术实质上是一个存储在计算机内的所有相关数据构成的集合(对所有数据实行统一的、集中的、独立的管理,数据独立于程序而存在,并可供给不同的用户而实现共享)。,数据库阶段的数据管理模型,应用1,应用2,应用n,数据库管理系统(DBMS),数据库(DB),特点:,数据库中的数据是结构化的。不仅考虑数据项之间的联系,而且考虑记录之间的联系。数据冗余小,易扩充。较高的数据和程序独立性。为用户提供了方便的接口。可以用数据库系统提供的查询语言和交互式命令操纵数据库。最小存取单位是数据项。,三、信息描述与数据模型,模型是现实世界特征的模拟和抽象。根据模型应用的不同目的,可以将模型分为两类或者说两个层次:一是概念模型(也称信息模型),另一个是数据模型。(1)概念模型:也称为概念模型或信息模型,它是从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。这类模型主要用在数据库的设计阶段,它与具体的数据库管理系统无关。(2)数据模型:按计算机系统的观点对数据建模。是数据库系统的核心和基础。分为以下几个模型:层次模型(用树型结构组织数据)。网状模型(用图形结构组织数据)。关系模型(用简单二维表结构组织数据)。对象关系模型(用复杂的表格以及其他结构组织数据)。,(一)概念层数据模型(概念模型),概念模型是对现实世界的抽象反映,它不依赖于具体的计算机系统,是现实世界到机器世界的一个中间层次。用于信息世界的建模,是面向用户、面向现实世界的数据模型,它与具体的DBMS无关。,现实世界中的客观事物的抽象过程,常用的概念模型是实体关系(Entity-Relationship,简称E-R)模型。主要涉及三个概念:实体、属性和关系。,(一)概念层数据模型(概念模型),(一)概念层数据模型,1.实体(Entity)实体是具有相同性质并且彼此之间可以相互区分的现实世界对象的集合。在关系数据库中,一般一个实体被映射成一个关系表,表中的一行对应一个可区分的现实世界对象(这些对象组成了实体),称为实体实例(entityinstance)。在E-R图中用矩形框表示具体的实体,把实体名写在框内。,(一)概念层数据模型,2属性(Attribute)实体所具有的特征称为它的属性。是描述实体或者关系(在下面说明)的性质的数据项。每个实体都有一个标识符(或叫实体的键),标识符是实体中的一个属性或者几个属性的组合,每个实体实例在标识符上具有不同的值。在E-R图中用椭圆表示属性,椭圆内写上属性名。,(一)概念层数据模型,3关系(Relationship)实体内部的关系组成实体的各属性之间的关系。如“职工”实体中,假设有“职工号”和“部门经理号”。不同实体之间的关系例。“玩具”实体(设有属性:ID号、名称、价格、重量、商标ID)和“商标”实体(设有属性:商标ID、商标名称、商标说明)之间的“商标ID”关系用菱形框表示,框内写上关系名,并用连线将有关的实体连接起来。,(一)概念层数据模型,关系有三种类型:一对一(1:1)一对多(1:n)多对多(m:n),(一)概念层数据模型,(一)概念层数据模型,用矩形表示实体,矩形框内写上实体名。实体的属性用椭圆表示,椭圆内写上属性名,并用无向边与其实体相连。,学生,学号,姓名,性别,系,入学时间,(一)概念层数据模型,关系(实体间的联系)用菱形表示,关系以适当的含义命名,名字写在菱形框中;用无向连线将参加相应联系的实体矩形框分别与菱形相连;并在连线上标明联系的类型,即1:1,1:N或N:M如联系具有属性,也要用无向边与该联系连接起来,教学,教师,学生,姓名,工号,姓名,学号,1,N,(一)概念层数据模型,E-R图的画法确定系统中的实体确定每个实体的属性确定实体间的关系,E-R图的画法,确定每个实体的属性,学生,学号,姓名,性别,系,入学时间,课程,课程号,课程名称,E-R图的画法,确定实体间的关系,学生,课程,学习,M,N,成绩,E-R图的画法,学生,课程,学习,M,N,成绩,学号,姓名,性别,系,入学时间,课程号,课程名称,练习,用E-R图描述图书信息管理的数据模型每个借书人有姓名、借书证号和单位属性,每个借书人可以借5本书,每本图书有总编号、分类号、书号、作者、定价和位置属性,同一本书可以相继被几个人借阅。,(二)数据模型,数据模型的三要素是:数据结构。对系统静态特性的描述。存储在数据库中的对象类型的集合。一类是与数据类型、内容、性质有关的对象,比如关系模型中的域、属性和关系等;另一类是与数据之间关系有关的对象,它从数据组织层表达数据记录与字段的结构。,数据模型的三要素:,数据操作。对数据库中各种对象的实例允许执行的操作集合。数据检索:在数据集合中提取用户感兴趣的内容,不改变数据结构与数据值。数据更新:包括插入、删除和修改数据,此类操作改变数据的值。数据完整性约束。是一组完整性规则的集合。用以限定符合数据模型的数据库状态以及状态的变化,保证数据的正确、有效和相容。,实际数据库系统支持的主要数据模型:,层次模型网状模型关系模型,1、层次模型,用树结构表示实体之间联系的模型叫层次模型。树由节点和连线组成,节点代表实体型,连线表示两实体型间的一对多联系。树有以下特性:每棵树有且仅有一个节点无父节点,此节点称为树的根(Root)。树中的其它节点都有且仅有一个父节点,层次模型示意图,一个数据模型可以有多个模型实例,比如某某大学、某某院系,2、网状模型,是一个满足下列条件的有向图可以有一个以上的节点无父节点。至少有一个节点有多于一个的父节点(排除树结构)。,网状模型示意图,网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但数据的独立性和抽象有很大缺陷。用户在对这两种数据库进行存取数据时,仍然需要明确数据的存储结构,指出存取路径。关系数据库能较好地解决了这些问题。1969年E.F.Codd发明了关系数据库。1976年霍尼韦尔(Honeywell)公司开发了第一个商用关系数据库系统MulticsRelationalDataStore。,3、关系模型,表示实体以及实体之间关系的模型称为关系数据模型用二维表来表示实体及其相互联系,字段,记录,关系模型中的基本术语关系(表)关系就是二维表,每一列不可再分,属性不能重名,可交换列的前后顺序。元组(行,记录)表中的每一行数据称作是一个元组属性(列,字段)表中的每一列是一个属性值集,列可以命名,称为属性名。,关系模型中的基本术语主键(PK,关键字,码)用于惟一的确定表中的一个元组。外键(FK,外码)当一个表的主键在另一个表中作为一个属性存在时,它就在另外一个表中被称作是外键,外键是可以重复的。域属性的取值范围就称为域。,四、数据库系统,由数据库(DB)、数据库管理系统(DBMS)、应用系统(Application)、数据管理员(DBA)和用户(USER)组成DB:是集成的、结构化的Data的集合,是DBMS的管理对象DBMS:是DBS的核心软件,负责对DB的使用、控制和管理USER:管理和使用DB的人员DBA:设计、管理和使用DB的人员Application:是应用DB中的Data的一些软件,1、数据库系统组成,数据库(Database),应用程序Application,数据库管理系统(DBMS),用户(user),数据库管理员(DBA),用户(user),图1-3数据库系统组成,(1)数据库,数据库(DB)数据库是存放数据的“仓库”,是相关数据(计算机中表达信息的符号)的集合数据库是以一定的数据结构形式存储在一起的相互有关的具有冗余数据少、共享性、独立性、完整性等特点的数据集合,(2)数据库管理系统(DBMS),用户与操作系统之间的一组数据管理软件,它们能组织、存储、维护、获取数据等。,一个数据库管理系统应该具备如下功能:数据定义功能:定义数据的结构、数据与数据之间的关联关系、数据的完整性约束等;数据操纵功能:实现对数据库中数据的操纵,包括插入、删除和修改数据;数据查询功能:实现灵活的数据查询功能,使用户可以方便地使用数据库中的数据;数据控制功能:实现对数据库数据的安全性控制、完整性控制等各方面的控制功能;数据管理功能:实现数据库的备份和恢复;数据通信功能:在分布式数据库或提供网络操作功能的数据库中还必须提供数据的通信功能。还有性能优化、并发控制等,2、数据库系统软硬件层次,3、数据库系统的结构,三级模式结构内模式(存储模式)是最接近物理存储的,也就是数据的物理存储方式;描述数据库的物理存储结构由DBMS提供的工具或语言完成模式(逻辑模式、概念模式)是介于内模式和外模式之间的中间层次。描述的是数据的全局逻辑结构.现实世界中数据库用户的数据抽象描述整个数据库的结构着重描述实体、属性、关系和约束外模式(子模式、用户模式)是最接近用户的,也就是用户所看到的数据视图;描述的是数据的局部逻辑结构。描述特定用户组感兴趣的那部分的数据库,三级模式结构的优点保证数据的独立性简化了用户接口有利于数据共享利于数据的安全保密,数据库的二级模式映像功能,数据库管理系统在三个模式之间提供了两层映像:外模式/模式映像定义了该外模式与模式之间的对应关系。通常包含在各自的外模式描述中。模式/内模式映像数据库的逻辑结构与存储结构之间的对应关系,该映像通常包含在模式描述中。,五、关系数据库系统模型,、关系模型的数据操作关系模型的操作对象是集合,而不是行,也就是操作的对象以及操作的结果都是完整的表(行的集合,而不只是单行,当然,只包含一行数据的表是合法的,空表或不包含任何数据行的表也是合法的)。查询、插入、删除和修改四种操作。,五、关系数据库系统模型,、关系模型的数据完整性约束实体完整性引用完整性域完整性用户自定义完整性,五、关系数据库系统模型,(1)实体完整性指的是关系数据库中所有的表都必须有主键,而且表中不允许存在如下的记录。无主键值的记录主键值相同的记录关系模型中使用主键作为记录的惟一标识。在关系数据库中主属性不能取空值。关系数据库中的空值是特殊的标量常数,它既不是“0”,也不是没有值,它代表未定义的或者有意义但目前还处于未知状态的值。数据库中的空值用“NULL”表示。,五、关系数据库系统模型,(2)引用完整性(参照完整性)引用完整性一般是指多个实体或关系表之间的关联关系。一个表中某列的取值受另一个表的某列的取值范围约束的特点就称为引用完整性。在关系数据库中用外键(Fk)来实现引用完整性。例1-1“玩具”表和“种类”表所包含的属性如下,其中主键用下划线标识。玩具(玩具ID,名称,种类ID,价格,重量,产地)种类(种类ID,种类,描述),五、关系数据库系统模型,(3)域完整性域完整性或语义完整性。确保了只有在某一合法范围内的值才能存储到一列中。可以通过限制数据类型、值的范围和数据格式来实施域完整性。(4)用户自定义完整性是针对某一具体应用领域定义的数据约束条件,它反映某一具体应用所涉及的数据必须要满足应用语义的要求。,六、数据库设计步骤,分为六个阶段:需求分析概念设计逻辑结构设计数据库物理实施数据库运行维护,六、数据库设计步骤,(一)需求分析:任务是调查应用领域,对应用领域中各应用的信息要求和操作要求进行详细分析,形成需求说明书。,六、数据库设计步骤,(二)概念结构设计根据需求分析阶段形成的新系统需求说明书。把用户的信息需求抽象为概念模型。常用方法:方法。用-R图来描述现实世界的概念模型。,六、数据库设计步骤,(三)逻辑结构设计把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。分为两步:、将概念结构转换为关系模型。、对关系模型进行优化。,1、E-R模型转化为关系模型,三个世界术语对应,1、E-R模型转化为关系模型,将实体转换表信息世界机器世界实体表属性表的列(字段)实例表的行(记录)码表的某列(键)注意表的命名规范,1、E-R模型转化为关系模型,将关系映射成一个表一个1:1关系可以转换为一个独立的关系表,也可以与任意一端所对应的关表合并。例1-2。一个1:n关系可以转换为一个独立的表,也可以与n端所对应的表合并。例1-3。一个m:n关系转换为一个表。与该关系相连的各实体的关键字以及关系本身的属性均转换为该表的属性,新表的关键字包含各实体的关键字,同时新表中各实体的关键字为引用各自实体的外关键字。例1-4。3个或3个以上实体间的一个多元关系可以转换为一个表。与该多元关系相连的各实体的关键字以及关系本身的属性均转换为此表的属性,而此表的关键字包含各实体的关键字,同时新表中的各实体的关键字为引用各自实体的外关键字。具有相同码的表可以合并。,E-R模型转换关系模型示例1-2,部门表(部门号(PK),部门名,经理号(FK)。经理表(经理号(PK),经理名)。,部门表(部门号(PK),部门名)。经理表(经理号(PK),部门号(FK),经理名)。,部门表(部门号(PK),部门名)。经理表(经理号(PK),经理名)。部门经理表(经理号(FK),部门号(FK)。,E-R模型转换关系模型示例1-3,商标表(商标ID(PK),商标名)。玩具表(玩具ID(PK),玩具名,商标ID(FK)。,商标表(商标ID(PK),商标名)。玩具表(玩具ID(PK),玩具名,单价,产地)。商标玩具表(商标ID(FK),玩具ID(FK)),E-R模型转换关系模型示例1-4,购物者表(购物者ID(PK),购物者名)。玩具表(玩具ID(PK),玩具名,单价)。购物者玩具表(购物者ID,玩具ID,数量)其中(购物者ID,玩具ID)为组合主键,同时也为引用购物者表和玩具表的外键。,(四)数据库的物理设计,设计内容:、为关系选择存取方法,建立存取路径。、确定数据库存储结构,即确定关系、索引、聚簇、日志和备份等数据的存储安排和存储结构,确定系统配置。,(五)数据库的实施,两项重要的工作,一项是数据的载入,另一项是应用程序的编码和调试。,七.关系数据库设计的规范化和非规范化,如果修改一个学生的地址,就需要修改和那个学生相关的多行内容,否则将引起数据的不一致。,更新异常插入、修改、删除数据可能导致不一致性。不一致性数据重复时,更容易引发错误。无谓地占用额外的磁盘空间。,七.关系数据库设计的规范化和非规范化,要设计出一个好的数据库,应该遵循下列规则:每张表中都应有一个标识列。每张表中只能存放一种实体的数据。应避免接收带有NULL值的列。应避免值或列的重复。,(一)规范化设计,规范化将导致满足某些特定规则并代表某些范式的表的形成。范式用于确保数据库中不存在各种类型的异常和不一致。表结构总是属于某个特定的范式。,1第一范式(1NF),当表中的每个单元含且仅含一个值时,这个表叫做第一范式(1NF)。,(一)规范化设计,函数依赖给定一个关系(你可以称其为表,也可以称其为关系)R,如果R中A的每个值都与B的某个确定值相对应,则属性A函数依赖于B。换句话说,当且仅当对于B的每个值都能够在A中找到一个确定的值时,属性A函数依赖于B。属性B称为决定因子。,定义:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系实例r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X-Y例:姓名年龄这个函数依赖只有在没有同名人的条件下成立。,2第二范式(2NF),当一个表是1NF且一行中的每个非主属性都依赖于整个关键字(不仅仅是关键字的一部分)时,该表就可以称作第二范式。,定义:若关系模式R1NF,并且每一个非主属性都完全依赖于R的码,则为2NF。定义:若依赖于X,并且对于的任何一个真子集X,都有Y不依赖于X,则称Y完全依赖于,否则称部分依赖于。例:成绩表(学号,课程号,成绩)住所(学号,系别,住址),2第二范式(2NF),考查下表,主键是(ecodeprojcode),Dept依赖于Ecode,所以dept不完全依赖于码(Ecodeprojcode)。不属于第二范式。,2第二范式(2NF),把有部分依赖关系的列放入另一张表,这样就成了第二范式。,3第三范式(3NF),当一个关系是2NF,且其中的每个非关键字属性仅函数依赖于主关键字时,这样的关系称为3NF。,考查下表,主关键字是:(ecode),Dept,depthead都完全依赖于主关键字ecode。所以是第二范式。但是depthead也依赖于非主属性dept,所以不是第三范式。,3第三范式(3NF),此两表是第三范式,(一)规范化设计,一般:如果是关系型数据库,都满足第一范式,如果表的主关键字只有一列,则满足第二范式。,(二)非规范化设计,规范化的最终产物是一系列相关的表,这些表构成了数据库。但有的时候,为了得到简单的输出,你得连接多个表。这影响了查询的性能。在这种情况下,更明智的做法是引入一定程度的冗余,包括引入额外的列或额外的表。为了提高性能,在表中故意引入冗余的做法称为非规范化在下列情况下可以考虑进行非规范化处理:大量频繁的查询过程所涉及的表都需要进行连接。主要的应用程序在执行时要将表连接起来进行查询。对数据的计算需要临时表或进行复杂的查询。,八、数据库应用结构,1、客户机/服务器结构,、客户机/服务器结构,Client/Server体系结构由多个用户共享的信息和功能,称为服务器。执行后台服务,如管理共享外设、控制对共享数据库的操纵、接受并应答客户机的请求等。每个用户所专有,称为客户。负责执行前台功能,如管理用户接口、数据处理和报告请求等。优点将一个应用系统分成两大部分,由多台计算机分别执行,使它们有机的结合在一起,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。,2、互联网应用结构,小结,数据库发展简史数据库管理系统和数据库系统文件管理系统数据库管理系统数据库系统数据库系统的结构三级模式结构数据库的二级模式映像功能数据库设计过程数据和数据模型概念层数据模型组织层数据模型E-R模型转化为关系模型关系数据库设计的规范化和非规范化数据库应用结构,思考题,设计并规范一些表,来记录和完成一下功能:现在有一家网上玩具商店,通过网络销售玩具,购物者通过注册自己的信息成为合法用户,才能购买玩具。商店有各种不同厂商,适合不同年龄层次人的玩具。购物者购买玩具可以给自己或送给别人(暂且都叫接受者)投递时需要填写接受者的详细信息。购买完成后,玩具经过包装通过各种不同的投递方式出货。要求详细记录每个购物者的每笔交易和发生的费用,包括玩具的价格,包装的价格,投递的价格等等。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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