已阅读5页,还剩110页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用,数据库基本原理,联系方式计算机学院梁琦E-mail:liangqi课程安排32学时上课:24学时(周五上午,3、4、5节,三节,1-5周,10-12周)上机:(8学时)光信4、10、11、12周下午6、7节,测控4、10、11、12周下午8、9节,考试成绩,平时成绩(40%)实验平时(考勤+作业)期末考试(60%)开卷,教材及参考书,教材张泽虹:数据库原理及应用-Access2003电子工业出版社参考书王珊;萨师煊:数据库系统概论(第四版)高等教育出版社何玉洁:数据库原理与应用教程(第2版)机械工业出版社,数据库的地位,数据库技术产生于上世纪六十年代末,是数据管理技术,是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透,数据库的应用,医学监控、医学诊断;计算机辅助设计、计算机辅助制造、计算机辅助工程能源管理图书馆管理航空系统交通预订天气预报,课程内容安排,数据库基本原理Access概述创建数据库数据库表的建立与操作查询的使用窗体的制作,本节课主要内容,一.数据库的基本概念二.数据模型(重点)三.关系数据库的基本设计方法,数据库的基本概念,之,一.数据库的基本概念,1.数据库(Database,简称DB)2.数据库管理系统(DatabaseManagementSystem,简称DBMS)3.数据库系统(DatabaseSystem,简称DBS),1.数据库,在计算机系统中按照一定的数据模型组织、存储和应用的相互联系的数据集合。可以供多种用户共享具有较小的冗余度较高的数据独立性。,多个用户共享,10张票,订8张票:10-8=2,订6张票:10-6=4,4,2,10,10,?,数据独立性,数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。物理独立性改变数据的物理表示方式或访问技术而不影响应用程序逻辑独立性改变某些数据而不影响应用程序,2.数据库管理系统,位于用户与操作系统之间的一层数据管理软件,也可以说,是位于应用程序与存储数据的数据库之间的一层数据管理软件。是数据库系统的重要组成部分对数据库的所有操作和控制都是通过它来进行,用来科学地组织和存储数据、高效地获取和维护数据,DBMS的主要功能(一),数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改),DBMS的主要功能(二),数据库的运行管理保证数据的安全性、完整性多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序)数据库初始数据的输入数据库转储、恢复数据库的重组织性能监视、分析等,3.数据库系统,是指在计算机系统中引入数据库后的系统构成,也就是基于数据库的计算机应用系统。一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户组成在不引起混淆的情况下常常把数据库系统简称为数据库。,数据库系统简图,核心,用户,数据模型,之,二.1数据模型,模型是现实世界感兴趣的内容的抽象特征的模拟和抽象。(是理解系统的思维工具)一张地图、一架飞机模型数据模型是用来抽象、表示和处理现实世界中的数据和信息的。(如:数据库、文件)数据模型应满足三个条件:能比较真实地模拟现实世界;容易被人们理解;便于在计算机上实现。,2.数据模型分类,数据模型是数据库系统的核心和基础。根据应用的目的,分为如下两个层次:第一类是概念层模型(概念模型或信息模型)第二类是组织层模型(组织模型),概念层数据模型,从数据的语义视角来抽取模型,描述信息特性和强调语义,不涉及信息在计算机中的表示,此模型是按用户的观点来对数据和信息进行建模。数据库的设计阶段,与具体的数据库管理系统无关,组织层模型,从数据的组织层次来描述数据,面向数据库中数据的逻辑结构,此模型是从计算机系统的观点对数据进行建模与数据库管理系统的种类有关,主要用于DBMS的实现。主要包括层次模型、网状模型、关系模型以及面向对象模型。,现实世界客观事物的抽象过程,层次模型,用层次结构(即树型结构)表示由若干个基本层次联系组成的一棵倒放的“树”有且仅有一个结点无父结点,称为树的根结点其他结点有且仅有一个父结点无法表示全部联系,系,教研室,班级,教师,学生,网状模型,用网状结构表可以有一个以上的结点无父结点允许结点有多于一个的父结点对软硬件要求高,操作复杂,系,教研室,班级,教师,学生,关系模型,用二维表形式示例:学生基本信息表,面向对象模型,对象和类每个对象有唯一的标识符对象的数据和操作封装在一起共享同一属性集合和方法集合的所有对象组合在一起构成一个类类具有封装性、继承性、多态性模型复杂,系统实现难度大,正在发展中,数据库的分类,根据所使用的数据模型,数据库分为如下几类:层次数据库1969,IBM,IMS系统网状数据库HoneywellIDS/IIHPIMAGE/300关系数据库Access,SQlServer,ORACLE,SYBASE,INFORMIX,DB/2面向对象数据库模型复杂,实现起来比较困难,3.1概念层数据模型,概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。是数据库设计人员和用户之间进行交流的工具。是面向用户、面向现实世界的数据模型,是与DBMS无关。常用的概念模型:实体-联系模型、语义对象模型,实体-联系模型,实体属性联系,实体,具有公共性质的可相互区分的现实世界对象的集合。具体的事物:学生、课程、职工实体中的每一个具体的记录值(一行数据),称为实体的一个实例。学生实体中的每个具体的学生,实体的表示方式,在E-R图中用矩形框表示实体,把实体名写在框内,比如学生实体可以表示为:,学生,属性,实体所具有的特征或性质。,身高年龄性别体重,属性用椭圆或圆角矩形表示,并用连线将属性框与它所描述的实体联系起来。,学生,学号,姓名,性别,联系,联系是数据之间的关联集合,是客观存在的应用语义链。实体内部的联系:一个实体内属性之间的联系。职工实体内部的职工号和此职工的部门经理号实体之间的联系:不同实体之间的联系。课程实体和学生实体之间存在选课联系。,联系的表示方式,实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。,联系名,实体1,实体2,联系也可以有自己的属性,联系的种类,一对一联系(1:1)一对多联系(1:n)多对多联系(m:n),一对一联系(实体内部的联系),如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1:1。,一对一联系(1:1),一对一联系的例子,部门和正经理(假设一个部门只有一个正经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。,管理,经理,部门,1,1,一对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1:n。,有部门和职工两个实体,并且有语义:一个部门可以有多名职工,但是一个职工只在一个部门工作。则部门和职工之间的联系是一对多的,我们把这种联系命名为工作。,一对多联系的例子,一个实体集内的联系,职工实体内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,职工,领导,1,n,多对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为m:n。,多对多联系的例子,有学生和课程两个实体,并且有语义:一个学生可以修多门课程,一门课程可以被多个学生修。那么学生和课程之间的联系就是多对多的,我们把这种联系命名为选课。,学生,课程,选课,m,n,关联多个实体的联系,顾客购买商品:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给多名顾客。,E-R图来表示某工厂物资管理的概念模型,物资管理涉及的实体有:仓库属性有仓库号、面积、电话号码零件属性有零件号、名称、规格、单价、描述供应商属性有供应号、姓名、地址、电话号码、帐号项目属性有项目号、预算、开工日期职工属性有职工号、姓名、年龄、职称,仓库,仓库号,面积,电话号码,实体之间的联系如下:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中仓库和零件具有多对多的联系(库存量来表示某种零件在某个仓库中的数量),一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作仓库和职工之间是一对多的联系,职工之间具有领导-被领导的关系。即仓库主任领导若干保管员职工实体内具有一对多的联系,一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。供应商、项目和零件三者之间具有多对多的联系。,实体之间的联系如下:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中仓库和零件具有多对多的联系(库存量来表示某种零件在某个仓库中的数量)一个仓库有过个职工当仓库保管员,一个职工只能在一个仓库工作仓库和职工之间是一对多的联系职工之间具有领导-被领导的关系。即仓库主任领导若干保管员职工实体内具有一对多的联系一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。供应商、项目和零件三者之间具有多对多的联系。,3.2组织层数据模型,关系模型最重要的一种组织层数据模型。也是目前主要采用的数据模型1970年由美国IBM公司SanJose研究室的研究员E.F.Codd提出20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,关系模型,1关系数据模型的数据结构2关系数据模型的数据操作,1关系数据模型的数据结构,用二维表来组织数据,这个二维表就是关系(把数据看成是二维表中的元素)。关系数据库是表(或者说关系)的集合。表是逻辑结构而不是物理结构示例:学生基本信息表,属性,学生基本信息表,学生基本信息表(学号,姓名,年龄,性别,所在系),属性:表中的一列即为一个属性,列可以命名,称为属性名。,基本术语,关系:关系就是二维表。并满足如下性质:列是同质的每一列中是同一个类型的数据关系表中的每一列都是不可再分的基本属性表中各属性不能重名表中的行、列次序无所谓。交换行、列的次序,不影响其表达的语义。任意两行不能完全相同,包含复合属性的表,上表就不是关系表,因为“出生日期”列不是基本属性,包含了子属性“年”“月”和“日”。,属性不能重名,上表就不是关系表,属性“姓名”重名。,列次序无关,学生基本信息表,任意两行不能完全相同,学生基本信息表,主码,候选码(Candidatekey):关系中的某一属性组的值能唯一地标识一行记录,则称该属性组为候选码。主码(Primarykey):也称为主键或主关键字。若一个关系有多个候选码,则选定其中一个为主码。学生基本信息表:(学号,姓名,年龄,性别,所在系),复合主码,复合主码:多个属性共同组成的主码。当某个表是由多个属性共同作主码时,用圆扩号将这些属性括起来,表示共同作为主码。,学生修课信息表:(学号,课程号,成绩)主码是(学号,课程号),复合主码举例,学生修课信息表:(学号,课程号,成绩),0211101,主码是(学号,课程号),外码,外码(foreignkey):也称外部关键字或外键,实际上是表(子表)中的一个(或多个)属性,它引用某个其他表(主表)的主码(也可是候选码)。码值先在主表中生成,后在子表中引用,外码引用例1,外码引用例2,学生,课程,修课,(学号,姓名,),(课程号,课程名,),(学号,课程号,成绩,),一些基本术语(续),域:属性的取值范围。如性别的域为:(男,女)元组:表中的每一行称作是一个元组,它相当于一个记录值。,关系数据模型,关系是元组的集合,如果表格有n列,则称该关系是n元关系。每一列不可再分,属性不能重名,行、列次序不重要每一行数据不允许完全相同关系数据模型用关系表示实体以及实体之间联系的模型对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,所在系)数据库中有两套标准术语:表、列、行关系、属性、元组,实体及实体间的联系的表示方法,实体:直接用关系(表)表示。属性:用属性名表示。一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。,实体及实体间的联系的表示方法(续),例1学生、系:系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任:系与系主任间的一对一联系系(系号,系名,办公地点,系主任的教师号)其中:系主任的教师号是候选码教师(教师号,系号,教师名,职称),实体及实体间的联系的表示方法(续),例3学生、课程:学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)修课(学号,课程号,成绩),学生,课程,修课,学号,姓名,成绩,课程号,课程名,2关系模型的数据操作,关系模型的操作对象是集合。操作的数据以及操作的结果都是完整的表(包含行集的表),操作对象和操作结果都是关系,即若干元组的集合。只包含一行数据或不包含任何数据行的表是合法的。非关系型数据库系统中典型的操作是一次一行或一次一个记录。集合处理能力是关系系统区别于其他系统的一个重要特征。,关系模型的数据操作(续),关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据。关系数据库中的信息内容在表中的对应的行列位置上有明确的值(逻辑层)。存取路径对用户隐蔽,关系模型的优缺点,优点建立在严格的数学概念的基础上概念单一,数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作,关系模型的优缺点(续),缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度,作业,1.指明下列实体间联系的种类:教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)商店和顾客国家和首都2.指出下列关系表示中的主码:考试情况表(学号,课程号,考试次数,成绩)。假设一个学生可以多次参加同一门课程的考试。,上节回顾,数据库的基本概念数据库数据库管理系统数据库系统数据模型(重点)概念模型组织模型关系数据库的基本设计方法概念结构设计逻辑结构设计,关系数据库的基本设计方法,之,三.关系数据库的基本设计方法,需求分析,收集信息,分析和整理结构设计,包括概念结构设计、逻辑结构设计和物理结构设计行为设计,包括功能设计、事务设计和程序设计数据库实施,包括加载数据库数据和试运行应用程序数据库运行和维护,数据库设计全过程,运行和维护,需求分析,数据分析,功能分析,概念结构设计,逻辑结构设计,物理结构设计,加载数据,功能设计,事务设计,程序设计,试运行,数据库设计各步骤,需求分析:设计的基础,最困难、耗时的阶段;需求分析做不好,会导致整个数据库设计重新返工概念结构设计:设计的关键,对需求分析的结果进行综合、归纳形成一个独立于具体DBMS概念模型逻辑结构设计:将概念结构设计的结果转换为某个具体的DBMS所支持的数据模型,并对其进行优化物理结构设计:为逻辑结构设计的结果选取一个最适合应用环境的数据库物理结构,需求分析的任务,需求分析阶段的主要任务是对现实世界要处理的对象(公司,部门,企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。,用户调查的重点是“数据”和“处理”。信息需求定义未来数据库系统用到的所有信息,明确用户将向数据库中输入什么样的数据,从数据库中要求获得哪些内容,将要输出哪些信息。同时还要描述数据间的联系等。处理需求定义了系统数据处理的操作功能,描述操作的优先次序,包括操作的执行频率和场合,操作与数据间的联系。处理需求还要明确用户要完成哪些处理功能,每种处理的执行频度,用户需求的响应时间以及处理的方式,比如是联机处理还是批处理,等等。安全性与完整性要求安全性描述了系统中不同用户对数据库的使用和操作情况,完整性要求描述了数据之间的关联关系以及数据的取值范围要求。,数据库结构设计包含内容,1.概念结构设计:用概念层模型描述,如ER图。2.逻辑结构设计:用组织层模型描述,如关系。3.物理结构设计:用文件级术语描述。例数据库文件或目录、索引。,1.概念结构设计,1.自底向上。先定义局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。2.自顶向下:先定义全局概念模型,然后再逐步细化。3.由里向外:先定义最重要的核心结构,然后再逐步向外扩展。4.混合策略。将自顶向下和自底向上结合起来使用。,1.自底向上,自底向上策略,2.自顶向下,自顶向下策略,3.由里向外,逐步扩张,采用自底向上的E-R模型概念结构设计,1.设计局部E-R模型E-R模型的设计内容包括确定局部E-R模型的范围、定义实体、联系以及它们的属性。2.设计全局E-R模型将所有局部E-R图集成为一个全局E-R图,即全局E-R模型。3.优化全局E-R模型,冲突,将局部E-R图集成为全局E-R图;需消除各局部E-R图合并时产生的冲突;解决冲突是合并E-R图的主要工作和关键所在。冲突主要有三类:(1)属性冲突(2)命名冲突(3)结构冲突,(1)属性冲突,属性域冲突属性的类型、取值范围和取值集合不同部门编号有的定义为字符型,有的定义为数字型年龄,有的定义为出生日期,有的定义为整数属性取值单位冲突学生的身高,有的用米为单位,有的用厘米为单位,(2)命名冲突,命名冲突包括同名异义和异名同义即不同意义的实体名、联系名或属性名在不同的局部应用中具有相同的名字具有相同意义的实体名、联系名和属性名在不同的局部应用中具有不同的名字。科研项目:在财务部门称为项目,在科研处称为课题,(3)结构冲突,同一对象在不同应用中具有不同的抽象职工在某一局部应用中可作为实体,而在另一局部应用中作为属性解决办法:属性变换为实体或把实体转换为属性同一实体在不同的局部E-R图中所包含的属性个数和属性的排列次序不完全相同。原因:不同的局部E-R模型关心的实体的侧面不同解决方法:让该实体的属性为各局部E-R模型中的属性的并集,然后再适当调整属性的顺序。,局部E-R图,合并示例,优化全局E-R模型,实体个数尽可能少;相关实体合并,把具有相同主码的实体进行合并1:1联系的两个实体合并为一个实体实体所包含的属性尽可能少;实体间联系无冗余。,冗余,冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。设计数据库概念结构时,哪些冗余信息必须消除,哪些冗余信息允许存在,需要根据用户的整体需求来确定。,消除冗余示例,n,m,产品,零件,构成,零件数Q1,消耗,耗用量Q2,材料,存放,存放量Q5,仓库,m,n,n,1,Q3=Q1*Q2Q4=Q5消去Q3,Q4产品与材料间的冗余联系也消去,2.逻辑结构设计,把概念结构设计阶段设计好的E-R模型转换为具体的数据库管理系统支持的数据模型也就是导出特定的DBMS可以处理的数据库逻辑结构,E-R模型向关系模型的转换,一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的码。对于实体间的联系有以下不同的情况:一个1:1联系可以与任意一端所对应的关系模式合并。一个1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。一个m:n联系转换为一个关系模式。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。具有相同码的关系模式可以合并。,一个实体型转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级电工证考试试题设备科
- 2010年健康教育知识试题
- 2025年消防安全知识竞赛试题 答案
- 信管考试试题及答案
- 中国水利工程协会五大员测试试题及答案
- 单招职业技能测试题真题及答案
- 四川省专业技术人员继续教育公需科目考试
- 叉车操作工培训试题
- 学习《园林植物保护》习题集
- 工会普法考试试题及答案
- 光电技术习题及总复习
- GB/T 14152-2001热塑性塑料管材耐外冲击性能试验方法时针旋转法
- FZ/T 51006-2012膜级聚己内酰胺切片
- 中国戏曲史复习资料(考研)教学提纲
- 压力管道基本知识课件
- 河北省中药饮片黄芪炭炮制规范
- 外管廊管道方案
- 合规风险管理清单
- 幼儿园事故案例分析及法律法规课件
- 变频器技术(全套课件)
- 《目标设定与达成》课件
评论
0/150
提交评论