版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DatabasesystemandDesign
(summary)
Jin-MinYang(杨金民)
2016.05课程教学内容关系数据模型(Relationaldatamodel);数据库系统的体系结构(Architecture);数据库管理系统中要解决的问题技术:数据正确性问题:无故障,有故障数据库设计(业务需求获取,ER建模,范式验证);事务处理和故障恢复;数据处理性能(Performance)问题;数据操作的简单性(simplicity)问题;数据完整性(integrity)问题数据安全性(Security)问题;SQLdata操作DML;添加,删除,修改,查询,统计(5种)SchemaDDL:创建,删除,修改;完整性DDL:主键,外键,域,业务规则;(触发器,存储过程);操作简单性DDL:view,Storedprocedure(存储过程)安全性DDL:view,user/role,object,privilege事物DDL:transactionmit;数据库备份性能DDL:创建索引index,表数据的磁盘空间分配;Browser数据库系统架构DBMSWebHTTPHTMLODBC,JDBCSQLServlet
SELECTename,salaryFROMEmployeeHost,Port,Server,DatabaseDatabaseDriver,Connection,Statement,ResultSet,schemaCorrectness,performance,simplicity,share,securityInterfaceandLanguage数据库及其管理系统DBMS软件五大问题的处理数据库中的实体对象:数据类型,表完整性约束规则:触发器视图,存储过程索引,
安全控制:用户,角色,权限SQLresult1234Thecollectionofrelations关系的模式:
关系名;
属性集(名字,域);
约束;关系数据模型(重点内容)数据模型的定义:描述有关一个组织机构的数据,数据之间的关系,以及对数据的限定,的概念集。数据模型有三大组成部分:数据结构:二维表;数据库,关系,模式,元组,基,度;数据运算:关系代数:
σ,Π,∪,-,×,⋈,∩,÷;数据完整性:主键约束,外键约束,域约束,业务规则约束;.建立数据模型的目的:精准地表达数据,在理解和把握数据方面好相互交流;为实现数据的运算和保证数据的准确性建立基础;关系型数据库模式(schema):
存储在系统目录\数据字典数\据目录(systemcatalog/datadictionary/datadirectory)中.数据(data):存储在数据库中;SQL:DDL,DML(重点内容)数据操作:add(添加);delete(删除);modify(修改);query(查询);statistics(统计);Schema的定义;子查询(嵌套查询)级联子查询;关联子查询表的定义有很好的知识覆盖性:对关系数据模型的领悟;
DDL;完整性约束;DDLCREATETABLEBooking(hotelNoVARCHAR(4),guestIdVARCHAR(12)NOTNULL,dateFromDATE,dateToDATE
NOTNULL,roomNoCHAR(4),
PRIMARYKEY(hotelNo,roomNo,dateFrom)
FOREIGNKEYhotelNo,roomNoREFERENCESroom(hotelNo,roomNo)
FOREIGNKEYguestIdREFERENCESguest(guestId)
CHECK(dateTo>=dateFrom))业务规则:1)某个房间的预订时间段不能出现重叠;2)一个学生在一个学期选修的课程不能超过25学分;SQLReferentialIntegrityStudentNamestudentNosexbirthdateMike2008043101male1990/12/14Tom2008043214female1992/02/21Mary2008043332female1988/07/09EnrollstudentNocourseNosemestergrade20080433324308032010/019020080431014303172009/015620080431014303172008/025620080433324300072004/027720080433324306012000/018720080431014303172002/0256在Student表中的某一行记录:1)修改的其主关键字studentNo;2)删除某一行记录;3)插入一行新记录;1)CASCADE2)SETNULL3)NOACTION数据库设计方法学单个用户1识别归纳提炼单个用户nER建模关系模型合理的关系模型用户视图1用户视图n变换规范化在DBMS中创建数据库需求分析文档需求发现技巧视图存储过程数据库设计过程需求说明ERmodellingRelationmodelTargetdatabase概念数据库设计;逻辑数据库设计;物理数据库设计;ER建模(重点内容)概念:实体(Entity):强实体,弱实体;关系(Relationship);属性(Attribute);约束(Constraints):对实体的约束:实体实例的标识:主键;对关系的约束:度:二元关系,多元关系;1对1关系,1对多关系,多对多关系(参与..基);符号;IdentifyentityStudentCollegeCourseTeacherIdentifyrelationshipStudentCollegeCourseTeacherOfferTeachEnrollHasHasIdentifyrelationshipStudentCollegeCourseTeacherOfferTeachEnrollHasHasRoute1Route2Route3Teach⋈Enroll=route1;ButHas⋈Hasroute2;Has⋈OfferTeach;IdentifyattributeStudentsNamesIdsexbirthDateaddressCollegeCourseTeacherOfferTeachcollegeNamelocationcNamecIdhourstextbooktNametIdsexrankemails[1..2]EnrollHassemestergradesemesterclassroomHasIdentifyentityprimarykeyStudentsNamesId{PK}sexbirthDateaddressCollegeCourseTeacherOfferTeachcollegeName{PK}
locationcNamecId{PK}hourstextbooktNametId{PK}sexrankemails[1..3]EnrollHassemestergradesemesterclassroomHasIdentifyrelationshipparticipationandcardinalityStudentsNamesId{PK}sexbirthDateaddressCollegeCourseTeacherOfferTeachcollegeName{PK}locationcNamecId{PK}hourstextbooktNametId{PK}sexrankemails[1..3]EnrollHassemestergradesemesterclassroom0..*Has0..*1..*0..*1..11..*1..*1..10..*1..1数据库设计合理性验证(重点内容)
问题:数据冗余和更新异常;把一个关系分解成2个或者多个关系时:无损联接性:对分解后的关系做联接运算,以重构分解前的关系时,重构出的元组数不能多,也不能少,要刚好相同;依赖保留性:分解前的关系中的属性间的函数依赖关系,在分解后的关系中依然保留;函数依赖理论及其应用(重点内容)
已知:对于一个关系R,它的属性集合A=(A1,A2,…,An),有函数依赖集F={X1→Y1,…,Xj→Yj},其中Xk
A,Yk
A,1ki;基本要求:求属性集合X的闭包X+F;求函数依赖集合F的闭包F+;判断属性集X是否是R的候选键;求属性集合X的闭包X+F算法:LetX+=XRepeat
检查F中的每一个FD,如果它的左边是X+的子集,那么就把该FD的右边中的属性添加到X+.Until(X+
不改变,或者X+
包含了R的所有属性)例子:R(A,B,C,D,E,G)F={A→B,C,C→D,D→G}计算{A}+F:{A}+={A}(初始步){A}+={A,B,C}(运用函数依赖:A→B,C){A}+={A,B,C,D}(运用函数依赖:C→D){A}+={A,B,C,D,G}(运用函数依赖:D→G)求属性集合X的闭包X+F{C}+F={C,D,G}{E,G}+F={E,G}计算F+已知:R(A,B,C,D)F={A→B,C,C→D}计算F+:须要分别计算:{A}+F,{B}+F,{C}+F,{D}+F{A,B}+F,{A,C}+F,{A,D}+F,{B,C}+F,{B,D}+F,{C,D}+F{A,B,C}+F,{A,B,D}+F,{A,C,D}+F,{B,C,D}+F
并不须要计算{A,B,C,D}+F
首先计算只包含一个属性的属性集的闭包:{A}+={A,B,C,D};{B}+={B};{C}+={C,D};{D}+={D}
得出新的函数依赖FD:A→D计算F+
接下来计算包含两个属性的属性集的闭包:
并不需要计算{A,B}+,{A,C}+,{A,D}+
因为{A}+
包含了R的所有属性.
得到新的函数依赖:A,B→C;A,B→D;A,C→B;A,C→D;A,D→B;A,D→C
计算:{B,C}+={B,C,D},{B,D}+={B,D},{C,D}+={C,D}得到新的FD:B,C→D
再计算包含三个属性的属性集的闭包:并不需要计算{A,B,C}+,{A,B,D}+,{A,C,D}+.得到新的FDs:A,B,C→D;A,B,D→C;A,C,D→B计算:{B,C,D}+={B,C,D}.无新的FDs.计算F+于是得到所有的FDs:F+={A→B,C;C→D;A→D;B,C→D;A,B→C;A,B→D;A,C→B;A,C→D;A,D→B;A,D→C;A,B,C→D;A,B,D→C;A,C,D→B}判断属性集Xk是否是R的候选键的方法对于关系R,它的属性集合A,函数依赖集F,对于属性集合Xk,Xk
A:
如果Xk+=A;然后计算Xk的所有真子集的闭包,如果它们都不等于A;那么Xk是R的候选键,否则不是;范式(重点内容)
1NF到3NF都具有依赖保留性,而BCNF则不能保证依赖保留性满足3NF而不满足BCNF的基本条件是:至少有两个或以上的组合性候选键;候选键之间存在交集,即它们之间有公共属性。满足3NF而不满足BCNF的情况非常少见;4NF和5NF分别对应FanTrap,和ChasmTrap。分解时,将一个关系分解成两个关系时,没有实现无损联接性。还不够,要分解成三个关系。PhysicalDatabaseDesignImplementlogicaldatamodelbycreatingtables;用户操作简单性设计:为每类用户的
view,storedprocedure;安全性设计:Designrole/user,privilege,object;完整性设计:Designenterpriseconstraints;故障恢复设计:Determinelogdisk
anddatabasedisk
andfile;Checkpointinterval;Database
dumpscheme;性能提升设计:determineindexes;每个表的初始磁盘空间,增量磁盘空间Considertheintroductionofcontrolledredundancy;SecuritySELECT-theusercanretrievedatafromtableINSERT-theusercaninsertdataintotableUPDATE-theusercanmodifydatainthetableDELETE-theusercandeletedata(rows)fromthetableREFERENCES-theabilitytoreferencecolumnsofanamedtableinintegrityconstraintsUSAGE-theabilitytousedomains,charactersets,andtranslations(i.e.otherdatabaseobjectsbesidestables)Notes: INSERT,UPDATEandREFERENCEScanberestrictedtocertaincolumns. Whenausercreatesatable,theyetheownerandhavefullprivilegesonthetable.数据库性能度量指标:- 事务吞吐量(Transactionthroughput):
单位时间中能够处理的交易(事务)数量.- 响应时间(Responsetime):
完成单个交易所用的时间.
提高数据库性能的方法方法1:排序;方法2:索引(哈希索引);方法3:连续的磁盘存储;方法4:分类、聚簇;方法5:减少联接;方法6:内存缓冲;方法7:并发执行;方法8:查询优化;方法9:日志和数据分盘存储;系统故障事务故障(Transactionfailure):逻辑故障(Logicalerrors),例如:dividedby0.余额不允许为负;系统崩溃故障(Systemcrash):停电、硬件故障;磁盘故障(Diskfailure)灾难故障:地震,恐怖袭击,火灾事务的五个状态Active活动PartiallyCommitted部分提交Failed不成功Committed提交Aborted放弃事务的ACID属性原子性(Atomicity):一个事务中的操作要求要么全部执行,要么全部不执行.一致性(Consistency):在外部看来,数据库中的数据总是正确的.隔离性(Isolation):尽管多个事务在并发执行,但从外部看来,具有多个事务串行执行的效果;持久性(Durability):一个事务一旦提交了,即使随后发生故障,其结果在数据库中不会丢失;FaultrecoveryindatabaseDatabaseDiskDatabaseBufferPrivateBuffermemoryWriteReadCPULogDiskLogBufferArchivalDiskANSI/SPARC数据库体系结构逻辑和概念数据库设计物理数据库设计用户A应用A用户B应用B用户C应用C用户D应用D用户E应用E外模式1外模式2外模式3模式内模式数据库ExternalViewLogicalViewInternalView数据处理的层次架构4layers(层):DiskFilesystemdatabasesystemBytestream不连续的数据块tableFormattedvisualizationformdatapresentation层次结构应用程序存储过程视图表数据库管理系统数据库专业知识简单了解数据库常识编程人员,普通用户数学、软件天才少多倒立金字塔Dataaccessmanager体系结构DBMS2Database2SQL应用程序DBMS1Databa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械制图课件清华
- 2024年度保险合同的保险责任与除外责任3篇
- 现代技术服务费合同5
- 2024年度医疗事故处理服务合同2篇
- 周大生百面钻石课件
- 物品买卖委托合同书
- 2024年度市场调研与竞争分析报告订购合同3篇
- 2024版技术转让合同的技术内容和转让价格3篇
- 2024年度建筑项目工程设计变更合同3篇
- 律师合作协议书
- Unit 2 Great People 教学设计2024-2025学年冀教版英语九年级上册
- 统编版(2024新版)七年级上册历史期末复习课件
- 沪教版三年级上册用一位数除除法竖式计算题练习100道及答案
- 2024-2030年中国注塑磁铁行业市场发展趋势与前景展望战略分析报告
- 工厂品质考试试题及答案
- 2024中智集团招聘重要岗位(高频重点提升专题训练)共500题附带答案详解
- 知道智慧网课《科技伦理》章节测试答案
- 2023年印刷油墨行业分析报告及未来五至十年行业发展报告
- 智力残疾送教上门教案
- 租赁合同英文版
- 教育博士学习和研究计划
评论
0/150
提交评论