数据库技术基本应用介绍课件.ppt





《数据库技术基本应用介绍课件.ppt》由会员分享,可在线阅读,更多相关《数据库技术基本应用介绍课件.ppt(399页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据库及其应用1第一章 数据库基础知识21.1数据库的基本概念3人工管理文件系统数据库系统一、人工管理阶段(50年代)1.数据不能保存;2.没有专门的软件对数据进行管理;3.只有程序的概念,没有文件的概念;4.数据面向程序。1.1.1数据管理技术的发展4二、文件系统阶段(60年代)1.数据以文件的形式可以长期保存;2.数据的逻辑结构和物理结构有了区别,但比较简单;3.文件组织已多样化,但缺乏联系;4.数据可以共享;5.数据操作以记录为单位。文件是操作系统管理数据的基本单位其问题:文件面向特定应用、数据冗余、数据不一致、文件之间缺乏联系。1.1.1数据管理技术的发展5三、数据库系统阶段(60年
2、代后期)数据库系统的主要特点:1.数据结构化;2.数据共享;3.数据冗余小;4.较高的数据独立性;5.使用方便的用户接口;6.增加了系统的灵活性。1.1.1数据管理技术的发展61.1.2 数据库的基本术语1.数据库(Database,简记为DB)数据是存储在某种媒体上能够识别物理符号数据库是长期存储在计算机内的、有组织的、统一管理的相关数据的集合。实现数据间的联系是数据库的重要特点。71.1.2 数据库的基本术语2.数据库管理系统(Database Management System,简记为DBMS)是数据库系统中专门用来管理数据的软件,位于用户与操作系统之间的数据管理软件,是用户使用数据库的
3、接口,DBMS为用户提供了访问DB的方法,包括DB的建立、查询、更新和各种数据控制。81.1.2 数据库的基本术语3.数据库系统(Database System,简记为DBS)是指在计算机系统中采用了数据库技术后的系统,包含DB、DBMS、应用程序、DBA和用户。91.2 数据描述包括:概念设计:数据库所表达的概念的数据描述。逻辑设计:数据库逻辑数据的描述。物理设计:物理存储 介质的数据描述。10概念设计是指根据用户的需求设计数据库所表达的概念1.实体(Entity)实体是客观存在并可相互区别的任何事件2.实体集(Entity Set)性质相同的同类型实体的集合3.属性(Attribute)实
4、体所具有的特性4.实体标识符(Identifer)能唯一标识实体的一个属性或多个属性的组合 1.2.1 概念设计中的数据描述11逻辑设计是指从概念设计得到的数据库概念出发来设计数据库的逻辑结构,即实现数据存取的表达方式和方法。逻辑数据描述用来向程序员或用户提供操作数据时使用的逻辑数据形式,是一种用户下的数据描述。1.2.2 逻辑设计中的数据描述121.字段:标识实体属性的命名单位,或叫数据项2.记录:字段的有序集合用一个记录描述一个实体3.文件:同类记录的集合文件用来描述实体集的4.关键码:能唯一标识文件中每个记录的一个字段或多个字段的组合,简称键。1.2.2 逻辑设计中的数据描述13联系是指
5、实体之间的联系。与一个联系有关的实体集的个数,称为联系的元数。联系有一元联系、二元联系和三元联系我们只要求二元联系,二元联系有三种类型:一对一联系(简记为1:1)设A,B为两个实体集,若A中的每个实体至多和B中的一个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,称A对B或B对A是1:1联系,例如学校和校长之间就是1:1联系。1.2.3 数据联系的描述14一对多联系(简记为1:n)如果A中的每个实体可以和B中的几个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,那么A对B是1:n联系,例如学校和教师之间就是1:n联系。多对多联系(简记为m:n)若A中的每个实体可以和
6、B中的多个实体有联系,反过来,B中的每个实体也可以和A中的多个实体有联系,称A对B或B对A是M:n联系,例如学生和课程之间就是m:n联系。1.2.3 数据联系的描述15数据模型是客观事物及其联系的数据描述。1.3 数据模型161.数据库系统的三级组织结构概念模式用来表达用户需求观点的数据库全局逻辑结构的模式。逻辑模式用来表达计算机实现观点的数据库全局逻辑结构的模式。外模式用来表达使用观点的数据库局部逻辑结构的模式内部模式用来表达数据库物理结构的模式这4中模式之间的关系可参考P8图1-10171.数据库系统的三级组织结构各个模式之间的关系是:逻辑模式是内模式的逻辑表示内模式是逻辑模式的物理实现外
7、模式是逻辑模式的部分提取181.3.2数据抽象的过程数据抽象的过程就是数据库设计的过程,分为以下步骤:1.概念设计根据用户的需求,设计数据库的概念模型2.逻辑设计u把概念模型转换为数据库的逻辑模型u根据用户的业务特点,设计不同的外部模型给程序员使用3.物理设计根据逻辑模型设计其内部模型内部模型与外部模型之间的对应关系称为“映射”。191.3.3概念模型的特点及设计1.概念模型的特点概念模型表达的是数据库的整体逻辑结构。概念模型是从用户需求的观点出发对数据建模。概念模型与硬件和软件无关。概念模型是数据库设计人员与用户之间进行交流的工具。201.3.3概念模型的特点及设计2.概念模型的设计普遍采用
8、实体联系模型(E-R模型)来表达概念模型E-R模型:用图形的方法,描述实体及实体间的联系实体:用矩形表示属性:用与实体相连的椭圆表示联系(Relationship):用与相应的实体相连的菱形表示在联系的两端标出联系的类型,标出联系的属性21课程 学生选修学时课程号课程名学号姓 名专业成绩年龄M N性别221.3.4逻辑模型的特点及设计1.逻辑模型的特点逻辑模型表达的是数据库的整体逻辑结构。逻辑模型是从数据库实现的观点出发建模的。逻辑模型独立于硬件,但依赖于软件,特别是DBMS。逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。232.逻辑模型的设计在选定DBMS后,把概念模型转换为数据库
9、的逻辑模型常见的数据模型:层次、网状、关系和对象模型关系模型是当今主要的数据模型关系模型是一种由若干个关系模式组成的集合,关系模式的实例称为关系,关系实际上是一张二维表格。1.3.4 逻辑模型的特点及设计24例如:把下面的E-R概念模型转换为关系模型1.3.4逻辑模型的特点及设计学生(学号,姓名,性别,年龄,专业)课程(课程号,课程名,学时)选修(学号,课程号,成绩)课程 学生选修学时课程号课程名学号姓 名专业成绩年龄M N性别251.3.5 外部模型外部模型是一种用户观点下的DB局部逻辑结构模型,用于满足特定的用户数据要求。外部模型中模式称为视图。外部模型的特点:反映了用户使用数据库的观点,
10、是针对用户需求的数据而设计的是逻辑模型的一个子集硬件独立,软件依赖261.3.6 内部模型内部模型有称物理模型,是数据库最低层的抽象,它描述数据在磁盘上的存储形式、存取设备和存取方法。内部模型与硬件紧密相连,因此从事这个级别设计的人员必须具备全面的软、硬件知识。27 1.4 数据库系统数据库系统是指采用数据库技术后的整个计算机系统。281.4.1 数据库系统的组成1.数据库2.硬件包括:CPU、内存、外存和I/O设备3.软件包括:DBMS、OS、应用程序主语言和应用开发的支撑软件4.数据库管理员DBA291.4.1 数据库系统的组成数据库管理员DBA的主要职责:1.定义模式、内部模式和与用户交
11、流,定义外模式2.提供技术培训3.定义安全性规则,对用户访问数据库授权4.定义完整性规则,监督数据库运行5.数据库的转储与恢复工作30 1.4.2 DBMS的工作模式 DBMS是数据库系统的核心。在DBS中,任何数据操作,都是在DBMS管理下进行的。DBMS是用户与数据库的接口,应用程序只有通过DBMS才能和数据库打交道。DBMS的工作模式可以参考P13图1-13311.数据定义功能(DDL)用来定义数据库的三级结构和两级映射映射功能:实现外模式/模式、模式/内模式两级映射ACCESS是一种通过交互式对话方式定义数据库2.数据库操纵功能(DML)查询、插入、删除和修改数据等操作是数据库的主要应
12、用3.数据库管理功能1.4.3 DBMS的主要功能324.数据库控制功能数据库安全性控制、数据库完整性控制、故障恢复、并发控制。5.数据库维护功能数据装入、转换、转储、数据库重组及性能监控等1.4.3 DBMS的主要功能331.5 关系模型的基本概念341.5.1关系模型及其术语1.关系模型元组:关系中的行(除标题栏所在行)属性:关系的标题栏中各列的名字域:属性的取值范围关系模式的表示形式:关系名(属性名1,属性名2,属性名n)关系中属性的个数称为元数,元组的个数称为基数351.5.1关系模型及其术语2.关系码候选键:关系中凡能唯一标识一个元组的属性或属性集主键:用户从候选键中选择一个用来标识
13、元组的属性或属性集外键:如果关系模式R中的一个属性K是另一个关系模式的主键,属性K在R中称为外键。361.5.2 理解关系模型为了表示关系之间的联系在关系模式中约定:有下划线的为主键属性,外键属性有波浪线学生(学号,姓名,性别,年龄,专业)课程(课程号,课程名,学时)选修(学号,课程号,成绩)在ACCESS中用图形表示关系之间的联系,键属性用粗体表示,1:n联系的1端用“1”表示,n端用“”表示371.5.3 关系的性质1.关系中的每个属性值都是不可分割2.同关系中不允许出现相同的属性名3.关系中的任意两行(任意两个元组)不能完全相同4.行的顺序任意5.列的顺序任意381.实体完整性规则关系中
14、的元组在组成主键的属性上不允许取空值。1.5.4 关系模式的三类完整性规则39参照完整性规则是指“不允许参照引用与当前关系相联系的另一关系中不存在的元组,即在关系模型A中,外部键或者取空值或者等于B中某个元组的的主码值。例如:有两个关系(表):学生(学号,姓名,系号)系(系号,系名,系主任)学生表的主键为学号,系表的主键为系号。在学生表中,系号是它的外部键,则该属性在学生表中的取值有两种可能:取空值,表明该学生尚未分配到任何系;若取非空值,则它必须是系表中某个元组中的系号值,因为该学生不能属于一个不存在的系。1.5.4 关系模式的三类完整性规则40 3.用户定义完整性规则在建立关系模式时,允许
15、用户定义属性的类型、大小和取值范围,采用统一的方法进行检验实施,不再由程序员承担这部分工作。如性别只能是“男”或“女”两种可能,年龄的取值只能限制在0200之间才合乎情理等。1.5.4 关系模式的三类完整性规则411.关系模型的形式定义关系模型由数据结构、数据操纵和数据完整性规则三部分组成。数据结构:关系数据操纵:关系代数、关系演算、关系逻辑数据完整性规则:实体完整性、参照完整性、用户定义的完整性1.5.5 关系模式的形式定义和优点422.关系模型的优点关系模型用关系表示实体及联系,具有较高的简明性和精确性关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性关系模型建立在
16、比较坚实的数学基础上。关系运算的完备性和设计规范化理论为数据库技术奠定了基础。1.5.5 关系模式的形式定义和优点431.6 E-R模型的设计1.6.1设计局部E-R模型1.根据局部需求分析的结果产生局部实体集 注意哪些抽象为实体,哪些抽象为属性,哪些抽象为实体间的联系,注意哪些属性是单值属性,哪些是多值属性,哪些是复合属性,2.确定局部实体集间的联系及其约束,形成局部E/R图441.6 E-R模型的设计1.6.2设计全局E-R模型1.确认对应关系和冲突 命名冲突:同名异义和异名同义 概念冲突 属性冲突 约束冲突2.进行修改,解决冲突3.把局部E-R图进行合并451.6 E-R模型的设计1.6
17、.3对全局E-R模型进行优化1.合并相关实体类型,减少实体个数,一个只实体出现一次 2.消除冗余的属性 3.消除冗余的联系46开课拥有学 生单位选修课程单位号学号姓名 性别年龄编号 课程名教师号图(a)学生选课局部E-R图 47教师号图(b)教师任课局部E-R图属于讲授教 师姓名 性别职称课程编号单位单位号 电话48单 位 教 师学 生 课 程属于拥有选修开课讲授图(c)合并后的全局的E-R图491.7 E-R模型转换为关系模式实体的转换的方法:一个实体转换一个关系,实体的属性为关系的属性,实体的主键为关系的主键。50E/R模型联系的转换方法:1.两个实体间1:1联系可以省略,即不转换为关系2
18、.两个实体间1:N联系将N方转换为一个关系,把1方实体的主键纳入N方实体对应的关系中作为外部键。3.两个实体间M:N联系此联系必须用一个关系来表示。该关系的属性中至少要包含被他所联系的双方实体的主键及联系的属性。511.8关系代数1.传统的集合运算并、差、交、笛卡儿积、除法2.专门的关系运算选择、投影、连接、自然连接52v从关系R中选择若干属性组成新的关系vA1,A2,An(R),表示从R中选择属性集A1,A2,An组成新的关系v列的运算v投影运算的结果中,也要去除可能的重复元组投影Projection()53v从关系R中选择符合条件的元组构成新的关系vC(R),表示从R中选择满足条件(使逻辑
19、表达式C为真)的元组v行的运算选择Selection()54v关系R、S的笛卡儿积是两个关系的元组对的集合所组成的新关系vRS:属性是R和S的组合(有重复)元组是R和S所有元组的可能组合是R、S的无条件连接,使任意两个关系的信息能组合在一起笛卡儿积()55A B Ca1a1a2b1b2b2c1c2c1A B Ca1a1a2b2b3b2c2c2c1例如:R S 笛卡儿积()56R S=A B C A B Ca1a1a1a1a1a1a2a2a2b1 b1 b1b2b2b2b2b2b2c1c1c1c2c2c2c1c1c1a1a1a2a1a1a2a1a1a2b2b3b2b2b3b2b2B3b2c2c2
20、c1c2c2c1c2c2c1笛卡儿积()57 用RCS表示 先作R和S的笛卡儿积,再从RS的结果集中,选取满足条件C的元组,组成新的关系 C是一个关于属性集的逻辑表达式连接()58例如:RSRBDSA B C147258369A B C D E114225336366122D E3612连接()59从RS的结果集中,选取在某些公共属性上具有相同值的元组,组成新的关系 R、S的公共属性属性集的交集(名称及类型相同)公共属性在结果中只出现一次等值连接自然连接()60例1:RSRSA B Ca1a1a2a2b1b2b3b456812B Eb1b2b3b3b5371022A B C Ea1a1a2a2
21、b1b2b3b3568837102自然连接()61连接()与自然连接()例2:TQTQA B C147258369B D5872A B C D47586972A T.B C Q.B D1425363577T CD Q621.9 关系规范化631.数据冗余同一个数据多次重复出现2.修改异常修改复杂,产生不一致现象3.插入异常由于完整性约束,有些数据不能插入4.删除异常删除数据时,会引起删除了不该删除的数据1.9.1 关系模式的冗余和异常问题641.函数依赖(FD)关系中属性之间取值的依赖情况属性之间的联系假设给定X属性的值,就知道Y的值,那么X函数决定Y简记为:XY1.9.2 函数依赖65 完全
22、函数依赖 如果XY,并且对于X的任何真子集Z,ZY都不成立,则称XY是一个完全函数依赖。部分函数依赖 如果XY,但不是完全函数依赖,则称XY是一个部分函数依赖。传递函数依赖 设R(U)是一个关系模式,X,Y,Z U,如果XY,YZ且YX,则称Z传递函数依赖于X。1.9.2 函数依赖66范式(NormalForms):衡量关系模式好与坏的标准规范化:把一个给定关系模式转化为某种范式的过程。一个关系满足某个范式所规定的一系列条件时,它就属于该范式可以用规范化要求来设计数据库也可以用来验证设计结果的合理性,用其指导优化过程1NF2NF3NF1.9.3 范式与规范化67第一范式(1NF)如果一个关系模
23、式R的所有属性都是不可分的基本数据项,则该关系属于第一范式。第一范式要求属性是原子的1.9.3 范式与规范化68考察下面的学生选修课程的表格SC1:学号课程 3721 程序设计,人工智能,数据结构3843 编译原理,操作系统由于在上述模式中,课程属性的值是可分解的,故SC1不属于第一范式(1NF)t1t21.9.3 范式与规范化69存在的问题这种非1NF关系模式的缺点是更新操作的困难,如过3721同学想把选修的课程改为(编译原理,操作系统),则系统在处理上将面临一种二义性:是修改元组t1中的课程属性呢,还是把t2元组中的学号属性值扩充为3721,3843?另一方面,如果我们想在关系SC1中加入
24、属性成绩,那么随之而来的约束条件(学号,课程)成绩在这种非1NF中也难以表示。1.9.3 范式与规范化70解决的办法:将课程属性的属性值拆开,形成如下的关系SC2:学号课程3721程序设计3721人工智能3721数据结构3843编译原理3843操作系统显然,SC2属于1NF。1.9.3 范式与规范化71 第二范式(2NF)若关系模式R 1NF,且每一个非主属性都完全函数依赖于R的键码,则R 2NF。即非主属性不能部分依赖于键码sc(sno,sname,cno,score)sno,cno scoresnosnamesnocnoscoresname完全依赖非完全依赖1.9.3 范式与规范化72考察
25、下面的学生选修课关系模式:SDC(学号,姓名,系,系负责人,课程,成绩)在该模式中存在以下函数依赖:(学号,课程)成绩学号姓名,(学号,课程)姓名学号系,(学号,课程)系学号系负责人(学号,课程)系负责人系系负责人通过分析可知SDC的码为(学号,课程),因此,姓名、系、系负责人和成绩均是非主属性,而这些非主属性中只有成绩属性是完全函数依赖于码,其它属性只依赖于学号属性,故全是部分函数依赖,由于定义可知SDC不符合2NF定义,因此SDC不属于2NF。1.9.3 范式与规范化73存在的问题插入异常:假如我们要插入一个还未选课的学生,由于该学生无课号属性,其相应的码值一部分为空,故该学生的固有信息无
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 基本 应用 介绍 课件

限制150内