第二章管理信息系统的技术基础优秀课件.ppt
第二章管理信息系统的技术基础2022/10/61第1页,本讲稿共87页o掌握掌握E ER R分析方法分析方法o掌握关系数据模型掌握关系数据模型o掌握三种范式的要求和进行数据规范化掌握三种范式的要求和进行数据规范化o掌握基本的掌握基本的SQLSQL语句语句第2页,本讲稿共87页信息技术概述信息技术概述o数据库技术数据库技术o计算机硬件技术计算机硬件技术o计算机软件技术计算机软件技术o数据通信技术数据通信技术第3页,本讲稿共87页数据处理数据处理n数据处理指把来自科学研究、生产实践和社会经济数据处理指把来自科学研究、生产实践和社会经济活动等领域中的原始数据,用一定的设备和手段,活动等领域中的原始数据,用一定的设备和手段,按一定的使用要求,加工成另一种形式的数据的过按一定的使用要求,加工成另一种形式的数据的过程。程。第4页,本讲稿共87页数据文件数据文件o数据文件是为某个目的而形成的同类记录的集合数据文件是为某个目的而形成的同类记录的集合.o记录是文件中数据组织的基本单位记录是文件中数据组织的基本单位o数据项是数据处理的最小单位数据项是数据处理的最小单位第5页,本讲稿共87页数据库数据库(DataBase)(DataBase)技术技术o数据库系统的构成数据库系统的构成n计算机系统计算机系统n数据库数据库n数据库管理系统数据库管理系统n人员人员o数据库管理员数据库管理员(DBA),(DBA),系统程序员系统程序员,用户用户第6页,本讲稿共87页n数据管理的发展阶段数据管理的发展阶段 1.1.人工管理阶段人工管理阶段(计算机诞生初期)(计算机诞生初期)2.2.文件系统阶段文件系统阶段(50605060年代)年代)3.3.数据库系统阶段数据库系统阶段(6060年代后)年代后)第7页,本讲稿共87页应用程序1应用程序2应用程序n数据集1数据集2数据集n。应用程序1应用程序2应用程序n文件1文件2文件n。文件系统应用程序1应用程序2应用程序n。DBMS数据库数据库管理系统,数据库管理系统,DatabaseManagementSystem第8页,本讲稿共87页n数据库数据库 以一定的组织方式存储在一起的相关数据的集以一定的组织方式存储在一起的相关数据的集合。合。n数据库管理系统数据库管理系统 DBMS DBMS,是一个软件系统,它的目的是帮助,是一个软件系统,它的目的是帮助用户控制、搜索、储存数据。用户控制、搜索、储存数据。第9页,本讲稿共87页Microsoft AccessMicrosoft Accesso作为作为Microsoft OfficeMicrosoft Office组件之一的组件之一的Microsoft AccessMicrosoft Access是在是在WindowsWindows环境下非常流行的桌面型数据库管理系统。使用环境下非常流行的桌面型数据库管理系统。使用Microsoft Microsoft AccessAccess无需编写任何代码,只需通过直观的可视化操作就可以完无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。在成大部分数据管理任务。在Microsoft AccessMicrosoft Access数据库中,包括许数据库中,包括许多组成数据库的基本要素。这些要素是存储信息的表、显示人机多组成数据库的基本要素。这些要素是存储信息的表、显示人机交互界面的窗体、有效检索数据的查询、信息输出载体的报表、交互界面的窗体、有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等。它不仅可以通过提高应用效率的宏、功能强大的模块工具等。它不仅可以通过ODBCODBC与其它数据库相连,实现数据交换和共享,还可以与与其它数据库相连,实现数据交换和共享,还可以与WordWord、ExcelExcel等办公软件进行数据交换和共享,并且通过对象链接与嵌入等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据技术在数据库中嵌入和链接声音、图像等多媒体数据。第10页,本讲稿共87页Microsoft SQL Server Microsoft SQLMicrosoft SQL Server Microsoft SQL Server是一种典型的关系型数据库管理系统,可以在许多操作系统上运行,它使用Transact-SQL语言完成数据操作。由于Microsoft SQL Server是开放式的系统,其它系统可以与它进行完好的交互操作。目前最新版本的产品为Microsoft SQL Server 2000,它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。第11页,本讲稿共87页OracleOracleoOracleOracle是一个最早商品化的关系型数据库管理系统,也是应是一个最早商品化的关系型数据库管理系统,也是应用广泛、功能强大的数据库管理系统。用广泛、功能强大的数据库管理系统。OracleOracle作为一个通用作为一个通用的数据库管理系统,不仅具有完整的数据管理功能,还是一的数据库管理系统,不仅具有完整的数据管理功能,还是一个分布式数据库系统,支持各种分布式功能,特别是支持个分布式数据库系统,支持各种分布式功能,特别是支持InternetInternet应用。作为一个应用开发环境,应用。作为一个应用开发环境,OracleOracle提供了一套提供了一套界面友好、功能齐全的数据库开发工具。界面友好、功能齐全的数据库开发工具。OracleOracle使用使用PL/SQLPL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等语言执行各种操作,具有可开放性、可移植性、可伸缩性等功能。特别是在功能。特别是在Oracle 8iOracle 8i中,支持面向对象的功能,如支中,支持面向对象的功能,如支持类、方法、属性等,使得持类、方法、属性等,使得Oracle Oracle 产品成为一种对象产品成为一种对象/关系关系型数据库管理系统。型数据库管理系统。第12页,本讲稿共87页数据库设计的内容数据库设计的内容o数据需求分析:数据需求分析:数据流程分析数据流程分析o概念结构设计:概念结构设计:建立实体建立实体联系模型,联系模型,E-RE-R模型模型o逻辑结构设计:逻辑结构设计:将概念模型转换为某种将概念模型转换为某种DBMSDBMS支持的数据模型支持的数据模型o物理结构设计:物理结构设计:为数据模型在物理设备上选定合适的存储结构和方为数据模型在物理设备上选定合适的存储结构和方法法现实世界现实世界信息世界信息世界机器世界机器世界E-R E-R 模型模型关系模型关系模型第13页,本讲稿共87页第14页,本讲稿共87页数据需求分析数据需求分析n1)1)理解客户需求,询问用户如何看待未来需求变化。让客户理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。需求仍然在开发的目的之中。2)2)了解企业业务可以在以后的开发阶段节约大量的时间。了解企业业务可以在以后的开发阶段节约大量的时间。3)3)重视输入输出。重视输入输出。在定义数据库表和字段需求(输入)时,首先应检查现有的或在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。些输出哪些是必要的表和字段。举例:假如客户需要一个报表按照邮政编码排序、分段和求和,举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。进地址字段里。第15页,本讲稿共87页概念结构设计(概念结构设计(E-RE-R模型)模型)n基本构成基本构成实体(实体(EntityEntity):):客观世界中描述客观事物的概念。客观世界中描述客观事物的概念。实体类实体类customer实体实例实体实例customer12345第16页,本讲稿共87页 联系(联系(RelationRelation):实体与实体间的联系。实体与实体间的联系。设设A A、B B为两个包含了若干个体的总体,其间建立了某种联系,为两个包含了若干个体的总体,其间建立了某种联系,其联系方式可分为三类:其联系方式可分为三类:一对一联系:一对一联系:如果对于如果对于A A中的一个实体,中的一个实体,B B中至多有一个实中至多有一个实体与其发生联系,反之,体与其发生联系,反之,B B中的每一个实体至多对应中的每一个实体至多对应A A中的中的一个实体,则称一个实体,则称A A与与B B是一对一联系。是一对一联系。1 1:1 1一对多联系一对多联系:1 1:N N多对多联系多对多联系 M M:N N联系的元:联系中实体的数量。联系的元:联系中实体的数量。第17页,本讲稿共87页属性:指实体或联系具有的某种特性属性:指实体或联系具有的某种特性CUSTOMER entity contains:CustNumberCustnameAddressContactnamePhonenumberTwo instances of CUSTOMER:12345 67890Aj Manufacturing J dance club23-10th avenue 11th anvenueP.Schwartz Peter223-5567 210-8896标识实体?标识实体?第18页,本讲稿共87页E-RE-R模型的图解法模型的图解法o实体:用矩形表示,框内写上实体名。实体:用矩形表示,框内写上实体名。o联系:用菱形表示,框内写上联系名。联系:用菱形表示,框内写上联系名。o属性:用椭圆表示,框内写上属性名。属性:用椭圆表示,框内写上属性名。o三种基本图素用无向直线连接。三种基本图素用无向直线连接。第19页,本讲稿共87页仓库仓库产品产品仓库号仓库号地点地点面积面积存放存放编码编码名称名称价格价格数量数量1n学生学生课程课程学号学号姓名姓名班级班级学习学习编号编号名称名称学时学时成绩成绩mn厂长厂长工厂工厂厂长号厂长号姓名姓名年龄年龄管理管理厂号厂号厂名厂名地点地点11(a a)厂长与工厂一对一联系)厂长与工厂一对一联系 (b b)仓库与产品一对多联系)仓库与产品一对多联系 (c c)学生与课程多对多联系)学生与课程多对多联系 第20页,本讲稿共87页E-RE-R图设计图设计用用E-RE-R图表示单位供货的概念模型,涉及的实体有:图表示单位供货的概念模型,涉及的实体有:仓库:仓库号、仓库面积、电话号码仓库:仓库号、仓库面积、电话号码 零件:零件号、名称、规格、单价、描述零件:零件号、名称、规格、单价、描述 供应商:编号、名称、地址、电话号码、帐号供应商:编号、名称、地址、电话号码、帐号 这些实体之间的联系如下:这些实体之间的联系如下:一一个个仓仓库库可可存存放放多多种种零零件件,一一种种零零件件只只能能存存放放在在一一个个仓仓库库中中。一一个个供供应应商商可可以以供供应应多多种种零零件件,一一个个零零件件可可以以由由多个供应商供应。多个供应商供应。第21页,本讲稿共87页仓库仓库零件零件仓库号仓库号电话电话面积面积存放存放零件号零件号名称名称规格规格数量数量1n单价单价描述描述供应商供应商供应商号供应商号电话电话帐号帐号名称名称地址地址供应供应nm数量数量第22页,本讲稿共87页oE-RE-R图设计分为三步:图设计分为三步:1 1分分E-RE-R图,单用户的概念结构;图,单用户的概念结构;2 2初步初步E-RE-R图,总体概念结构;图,总体概念结构;3 3消除冗余的数据和实体间的联系消除冗余的数据和实体间的联系。第23页,本讲稿共87页注意:o实体类(总体)与实体实例(个体)的区分实体类(总体)与实体实例(个体)的区分o个体与属性的区分个体与属性的区分 第24页,本讲稿共87页关系模型关系模型起源起源:关系代数,二维表关系代数,二维表 关系关系SIDACTIVITYFEEDATE100Swimming6006/15100Ping-pang4003/25175Ping-pang4002/01200Tennis10004/16第25页,本讲稿共87页关系:关系:一个关系对应于一张二维表。一个关系对应于一张二维表。元组:元组:表中的一行称为一个元组。表中的一行称为一个元组。属性:属性:表中一列称为一个属性,每列的名称为属性名表中一列称为一个属性,每列的名称为属性名主码:主码:表中的某个属性组,值惟一地标识一个元组。表中的某个属性组,值惟一地标识一个元组。域:域:属性的取值范围。属性的取值范围。分量:分量:元组中的一个属性值。元组中的一个属性值。关系模式:关系模式:对关系的描述,格式:关系名(属性对关系的描述,格式:关系名(属性1 1,属性,属性2 2,。属性,。属性n n)student-activity(SID,ACTIVITY,FEE,DATE)第26页,本讲稿共87页一个表成为一个表成为“关系关系”的基本约束的基本约束o表中任意两行不能相同表中任意两行不能相同o每一列的取值均为同一类型每一列的取值均为同一类型行和列在表中的顺序并不重要行和列在表中的顺序并不重要!第27页,本讲稿共87页销售人员编号姓名年龄年薪S01S01AbelAbel5454120,000120,000S02S02BakerBaker353542,00042,000S03S03JaneJane343436,00036,000S04S04AliceAlice232350,00050,000S05S05HelenHelen202034,00034,000S:S:销售人员信息销售人员信息C:C:客户信息客户信息客户编号客户名称所在城市企业规模C01C01Tri-city builders Tri-city builders WillowWillow大大C02C02Manchester lumberManchester lumberManchester Manchester 中中C03C03AA Construction AA Construction Memphis Memphis 小小第28页,本讲稿共87页订单号顾客编号销售人员编号数量O100C01S01560O200C02S034800O300C03S011800O400C01S04200O500C03S05200O:O:订单信息订单信息第29页,本讲稿共87页如何进行以下数据查询?如何进行以下数据查询?A A所有销售人员的姓名所有销售人员的姓名B B具有订单的销售人员的姓名具有订单的销售人员的姓名C C不具有订单的销售人员的姓名不具有订单的销售人员的姓名D D销售给销售给Tri-city buildersTri-city builders企业的销售人员的名单企业的销售人员的名单E.E.所有和销售人员所有和销售人员AbelAbel有订单的客户有订单的客户 第30页,本讲稿共87页结构化查询语言结构化查询语言SQLSQL1.对单个表进行查询对单个表进行查询(1 1)投影)投影 SELECT Major;FROM STUDENT SELECT Major;FROM STUDENTSIDNameMajorGradeAge100JonesHistoryGR21150ParksAccountingSO19200BakerMathGR17250GlassHistorySN23300BakerAccountingSN23350RussellMathJR22400RyeAccountingJR20450JonesHistorySN25STUDENT第31页,本讲稿共87页MajorHistoryAccountingMathHistoryAccountingMathAccountingHistorySELECT SELECT DISTINCTDISTINCT Major Major FROM STUDENTFROM STUDENT第32页,本讲稿共87页MajorHistoryAccountingMath第33页,本讲稿共87页选择选择SELECT SID,Name,Major,Grade,Age SELECT SID,Name,Major,Grade,Age FROM STUDENTFROM STUDENTWHERE Major=MathWHERE Major=MathSELECT *SELECT *FROM STUDENTFROM STUDENTWHERE Major=MathWHERE Major=Math第34页,本讲稿共87页SIDNameMajorGradeAge200BakerMathGR17350RussellMathJR22第35页,本讲稿共87页投影与选择的合并投影与选择的合并SELECT NameSELECT NameFROM STUDENTFROM STUDENTWHERE Major IN Math,AccountingWHERE Major IN Math,AccountingSIDNameMajorGradeAge100JonesHistoryGR21150ParksAccountingSO19200BakerMathGR17250GlassHistorySN23300BakerAccountingSN23350RussellMathJR22400pyeAccountingJR20450JonesHistorySN25第36页,本讲稿共87页NameParksBakerBakerRussellRye第37页,本讲稿共87页SELECT Name,Major,Age SELECT Name,Major,Age FROM STUDENTFROM STUDENTWHERE Major=AccountingWHERE Major=AccountingORDER BY NameORDER BY NameNameMajorAgeBakerAccounting23ParksAccounting19PyeAccounting20升序:升序:ASC ASC 降序:降序:DESCDESCORDER BY Name ASCORDER BY Name ASC排序排序第38页,本讲稿共87页内置函数内置函数五个内置函数:个内置函数:COUNTCOUNT,SUMSUM,AVGAVG,MAXMAX,MINMINoSELECT COUNT(*)FROM STUDENTSELECT COUNT(*)FROM STUDENToSELECT COUNT(Major)FROM STUDENT SELECT COUNT(Major)FROM STUDENT 统计个数统计个数oSELECT COUNT(DISTINT Major)FROM STUDENTSELECT COUNT(DISTINT Major)FROM STUDENT统计不重复的个数统计不重复的个数第39页,本讲稿共87页分组分组SELECT Major,COUNT(*)SELECT Major,COUNT(*)FROM STUDENTFROM STUDENTGROUP BY MajorGROUP BY MajorMajorCountHistory3Accounting3Math2SELECT Major,COUNT(*)SELECT Major,COUNT(*)FROM STUDENTFROM STUDENTGROUP BY MajorGROUP BY MajorHAVING COUNT(*)2HAVING COUNT(*)2MajorCountHistory3Accounting3第40页,本讲稿共87页对多个表进行查询对多个表进行查询SIDNameMajorGradeAge100JonesHistoryGR21150ParksAccountingSO19200BakerMathGR17250GlassHistorySN23300BakerAccountingSN23350RussellMathJR22400PyeAccountingJR20450JonesHistorySN25STUDENT第41页,本讲稿共87页SIDClassNamePosition Number100BD4451150BA2001200BD4452200CS2501300CS1501400BA2002400BF4101400CS2502450BA2003ENROLLMENTSIDTimeRoom100M-F9SC110150MWF3SC213200MWF7SC213200MWF3EA304300MWF12EB210CLASS第42页,本讲稿共87页(1 1)子查询)子查询SELECT Name SELECT Name FROM STUDENTFROM STUDENTWHERE SID INWHERE SID IN (SELECT SID FROM ENROLLMENT (SELECT SID FROM ENROLLMENT WHERE Classname=BD445)WHERE Classname=BD445)NameJonesBaker第43页,本讲稿共87页联接查询联接查询SELECT STUDENT.SID,STUDENT.Name,ENROLLMENT.ClassnameSELECT STUDENT.SID,STUDENT.Name,ENROLLMENT.ClassnameFROM STUDENT FROM STUDENT A A,ENROLLMENT,ENROLLMENT B BWHERE WHERE A A.SID=.SID=B B.SID.SIDAND Enrollment.PositionNumber=1AND Enrollment.PositionNumber=1SIDNameClassname100JonesBD445150ParksBA200200BakerCS250300BakerCS125400PyeBF410第44页,本讲稿共87页(1 1)添加数据)添加数据 INSERT INTO ENROLLMENT(SID,Classname)INSERT INTO ENROLLMENT(SID,Classname)VALUES(400,BD445)VALUES(400,BD445)(2 2)删除数据)删除数据 DELETE ENROLLMENT DELETE ENROLLMENT WHERE ENROLLMENT.SID IN WHERE ENROLLMENT.SID IN (SELECT STUDENT.SID FROM STUDENT (SELECT STUDENT.SID FROM STUDENT WHERE STUDENT.Major=Accounting)WHERE STUDENT.Major=Accounting)(3 3)修改数据)修改数据 UPDATE ENROLLMENT UPDATE ENROLLMENT SET Classname=BD564 SET Classname=BD564 WHERE Classname=BD445 WHERE Classname=BD445 修改数据修改数据第45页,本讲稿共87页课后练习课后练习NAMEAGESALARYAbel54120,000Baker3542,000Jane3436,000Alice2350,000Helen2034,000SALESPERSONNAMECITYTYPETri-city builders WillowLManchester lumberManchester MAA Construction Memphis SCUSTOMER第46页,本讲稿共87页课后练习课后练习NUMBERCUSTOMNAMESALESPERSONNAMEAMOUNTO100Tri-citybuildersAbel560O200ManchesterlumberJane4800O300AAConstructionAbel1800O400Tri-citybuildersAlice200O500AAConstructionHelen200ORDER第47页,本讲稿共87页写出所要求的写出所要求的写出所要求的写出所要求的SOLSOLSOLSOL语句语句语句语句1.1.显示所有显示所有3030岁以下的岁以下的SALESPERSONSALESPERSON2.2.显示所有和显示所有和Tri-city builders Tri-city builders 没有订单的没有订单的SALESPERSON SALESPERSON,升序排列,升序排列3.3.计算有订单的客户数量计算有订单的客户数量4.4.显示年龄最大的显示年龄最大的SALESPERSONSALESPERSON5.5.计算每一个计算每一个SALESPERSONSALESPERSON的订单数,选择订单数量在的订单数,选择订单数量在20002000以上的以上的6.6.显示在显示在MemphisMemphis的所有公司的类型和公司所有订单的销售员姓名的所有公司的类型和公司所有订单的销售员姓名7.7.写出在写出在CUSTOMERCUSTOMER表中添加一条记录的语句表中添加一条记录的语句8.8.写出将所有销售人员的工资加写出将所有销售人员的工资加10%10%的的SQLSQL语句语句第48页,本讲稿共87页 定义一个关系定义一个关系 R(A R(A1 1,A,A2 2,A,An n),其中属性集,其中属性集U=U=A A1 1,A,A2 2,A,An n ,R R为关系名,则此关系模式可写为为关系名,则此关系模式可写为R(U)R(U)。X,Y X,Y为为U U的子集。在的子集。在R(U)R(U)中,中,X X函数确定函数确定Y Y或或Y Y函数依赖函数依赖于于X X,记作,记作 XY XY 函数依赖与传递函数依赖函数依赖与传递函数依赖第49页,本讲稿共87页 传递函数依赖传递函数依赖在在R(U)R(U)中,如果中,如果XYXY,YZYZ,则称,则称Z Z对对X X有传递函数依赖。有传递函数依赖。即,即,XY YZ=XY YZ=XZXZ 第50页,本讲稿共87页范式的定义范式的定义判断条件:判断条件:C1C1:关系中的所有属性都是单纯域。(无表中表):关系中的所有属性都是单纯域。(无表中表)C2C2:非非主主属属性性完完全全函函数数依依赖赖于于主主码码,不不存存在在对对码码的的部部分分依赖。依赖。C3C3:非非主主属属性性相相互互独独立立,即即非非主主属属性性之之间间不不存存在在函函数数传传递依赖关系。递依赖关系。第51页,本讲稿共87页定义:定义:1)1)一个关系满足一个关系满足C1C1,则称达到第一范式。,则称达到第一范式。2)2)一个关系同时满足一个关系同时满足C1C1、C2C2,则称达到第二范式。,则称达到第二范式。3)3)一个关系同时满足一个关系同时满足C1C1、C2C2、C3C3,则称达到第三范式,则称达到第三范式。第52页,本讲稿共87页1NF1NF(第一范式):属于第一范式的关系应满足的基本条件是元组(第一范式):属于第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。中的每一个分量都必须是不可分割的数据项。教师代码姓名基本工资附加工资1001张力680250教师代码姓名工 资基本工资附加工资1001张力680250第53页,本讲稿共87页教师代码姓名职称研究课题号研究课题名课题性质1001张力张力副教授副教授R01企业项目企业项目1001张力张力副教授副教授R34国家自然科学国家自然科学基金项目基金项目1002引起更新异常和数据冗余引起更新异常和数据冗余1 1)教师关系(教师代码,姓名,职称)教师关系(教师代码,姓名,职称)2 2)课题关系(研究课题号,研究课题名,课题性质)课题关系(研究课题号,研究课题名,课题性质)3 3)研究关系(教师代码,研究课题号)研究关系(教师代码,研究课题号)2NF(第第二二范范式式):关关系系不不仅仅要要满满足足第第一一范范式式,而而且且所所有非主属性完全依赖于其主码。有非主属性完全依赖于其主码。第54页,本讲稿共87页更新异常、数据冗余、修改复杂 3NF3NF(第三范式):(第三范式):关系不仅满足第二范式,而且它的任关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于主属性。何一个非主属性都不传递依赖于主属性。学号姓名宿舍宿舍电话0709044101张三15#10139221010709044102李四15#10239221020709044103王五15#10339221030709044104 赵六15#20239222020709044105黄七15#2023922202第55页,本讲稿共87页练练习习1 1 考虑如下关系定义和样本数据:考虑如下关系定义和样本数据:PROJECTPROJECT(PROJECTIDPROJECTID,EMPLOYEEIDEMPLOYEEID,EMPLOYEESALARYEMPLOYEESALARY),其中,),其中,PROJECTPROJECT为项目代号,为项目代号,EMPLOYEEIDEMPLOYEEID为雇员代码,为雇员代码,EMPLOYEESALARYEMPLOYEESALARY为雇员薪水,假定所有函数依赖和约束都显示在样本数据中,为雇员薪水,假定所有函数依赖和约束都显示在样本数据中,回答以下问题:回答以下问题:1.1.ROJECTROJECT的主属性是什么?的主属性是什么?2.2.PROJECTPROJECT在哪个范式中?在哪个范式中?3.3.描述描述PROJECTPROJECT会遇到的两个更新异常。会遇到的两个更新异常。4.4.这个关系包含传递函数依赖吗?如果包含,是什么?这个关系包含传递函数依赖吗?如果包含,是什么?5.5.重新设计该关系,消除更新异常。重新设计该关系,消除更新异常。PROJECTIDEMPLOYEEIDEMPLOYEESALARY100AJones61k100ASmith58k200BJones61k200CParks48k第56页,本讲稿共87页某某汽汽车车公公司司的的配配件件信信息息一一览览表表如如下下,试试把把它它化化为为符符合合第第三三范式的关系。范式的关系。练练习习2 2配件配件编号编号配件配件名称名称型号型号规格规格供应商供应商名称名称供应商供应商地址地址单价单价库存量库存量配件(配件(配件编号配件编号,配件名称,型号规格),配件名称,型号规格)供应商(供应商(供应商名称供应商名称,地址),地址)供应(供应(配件编号配件编号,供应商名称供应商名称,单价,库存),单价,库存)配件(配件(配件编号配件编号,配件名称,型号规格,配件名称,型号规格,供应商名称供应商名称,供地址,单价,库存),供地址,单价,库存)第57页,本讲稿共87页练练习习3 3某造船厂的产品及部件信息一览表如下,试把它化为符合第某造船厂的产品及部件信息一览表如下,试把它化为符合第三范式的关系。(颜色代表吨位)三范式的关系。(颜色代表吨位)船号船号船名船名颜色颜色吨位吨位所用部件所用部件部件编号部件编号部件名部件名用量用量船(船(船号船号,船名,颜色,吨位,部件(编号,名称,用量),船名,颜色,吨位,部件(编号,名称,用量)1 1)船()船(船号船号,船名,颜色,吨位,部件编号,部件名称,用量),船名,颜色,吨位,部件编号,部件名称,用量)2 2)船()船(船号船号,船名,颜色,吨位),船名,颜色,吨位)部件(部件(部件编号部件编号,名称),名称)组成(组成(船号船号,部件编号部件编号、用量)、用量)3 3)船()船(船号船号,船名,颜色),船名,颜色)部件(部件(部件编号部件编号,名称),名称)组成(组成(船号船号,部件编号部件编号、用量)、用量)CW CW(颜色颜色,吨位),吨位)第58页,本讲稿共87页从从E-RE-R模型导出关系模型模型导出关系模型仓库仓库产品产品仓库号仓库号地点地点面积面积存放存放编码编码名称名称价格价格数量数量1n学生学生课程课程学号学号姓名姓名班级班级学习学习编号编号名称名称学时学时成绩成绩mn厂长厂长工厂工厂厂长号厂长号姓名姓名年龄年龄管理管理厂号厂号厂名厂名地点地点11(a a)厂长与工人一对一联系)厂长与工人一对一联系 (b b)仓库与产品一对多联系)仓库与产品一对多联系 (c c)学生与课程多对多联系)学生与课程多对多联系 第59页,本讲稿共87页一对多一对多第60页,本讲稿共87页学生(学生(学号学号,姓名,班级),姓名,班级)课程(课程(课程号课程号,课程名,学时数),课程名,学时数)学习(学习(学号学号,课程号课程号,成绩),成绩)厂长(厂长(厂长号厂长号,厂号厂号,姓名,年龄),姓名,年龄)工厂(工厂(厂号厂号,厂名,地点),厂名,地点)或或厂长(厂长(厂长号厂长号,姓名,年龄),姓名,年龄)工厂(工厂(厂号厂号,厂长号厂长号,厂名,地点),厂名,地点)第61页,本讲稿共87页方法方法 E-RE-R图中的每个图中的每个实体实体,都相应地转换为一个关系,该,都相应地转换为一个关系,该关系应包括对应实体的全部属性,确定关键字。关系应包括对应实体的全部属性,确定关键字。对于对于E-RE-R图中图中联系联系,要根据联系方式的不同,采取不,要根据联系方式的不同,采取不同手段以使被它联系的实体所对应的关系彼此实现某同手段以使被它联系的实体所对应的关系彼此实现某种联系种联系。第62页,本讲稿共87页如果实体间是如果实体间是1:n1:n联系,就将联系,就将“1”“1”方的关键字纳入方的关键字纳入“n”“n”方实体对应关方实体对应关系中作为外部关键字,同时把联系的属性一并纳入系中作为外部关键字,同时把联系的属性一并纳入“n”“n”方的关系中。方的关系中。(仓库为例)(仓库为例)如果两实体间是如果两实体间是m:nm:n联系,则需要对联系单独建立一个关系,用联系,则需要对联系单独建立一个关系,用来联系双方实体。该关系的属性中至少要包括被它所联系的双方来联系双方实体。该关系的属性中至少要包括被它所联系的双方实体的关键字,如果联系有属性,也要归入这个关系中实体的关键字,如果联系有属性,也要归入这个关系中如果两个实体间是如果两个实体间是1:11:1联系,联系本身无属性,则只需要在一方联系,联系本身无属性,则只需要在一方实体对应的关系中增加另外一实体对应关系中的关键字即可。实体对应的关系中增加另外一实体对应关系中的关键字即可。第63页,本讲稿共87页练习练习仓库仓库零件零件仓库号仓库号电话电话面积面积存放存放零件号零件号名称名称规格规格数量数量1n单价单价描述描述供应商供应商供应商号供应商号电话电话帐号帐号名称名称地址地址供应供应nm数量数量第64页,本讲稿共87页数据库保护数据库保护o安全性安全性:防止不合法的使用造成数据泄露、更防止不合法的使用造成数据泄露、更改和破坏。主要措施:进行标识和鉴定、存取改和破坏。主要措施:进行标识和鉴定、存取控制等。控制等。o完整性完整性n实体完整性实体完整性,参照完整性参照完整性,用户定义完整性用户定义完整性第65页,本讲稿共87页o并发控制:多个用户对数据库进行修改、存取并发控制:多个用户对数据库进行修改、存取时,可能会相互干扰而得到错误的结果,使得时,可能会相互干扰而得到错误的结果,使得数据库的完整性得到破坏。数据库的完整性得到破坏。o数据库恢复:当计算机软、硬件或者通讯网络数据库恢复:当计算机软、硬件或者通讯网络发生故障时,破坏了数据库或者数据库的操作发生故障时,破坏了数据库或者数据库的操作失败使数据出现错误或者丢失等。失败使数据出现错误或者丢失等。第66页,本讲稿共87页硬件基础硬件基础输