数据库原理及其应用.ppt
- 文档编号:1725980
- 上传时间:2022-10-23
- 格式:PPT
- 页数:55
- 大小:223KB
数据库原理及其应用.ppt
《数据库原理及其应用.ppt》由会员分享,可在线阅读,更多相关《数据库原理及其应用.ppt(55页珍藏版)》请在冰豆网上搜索。
数据库原理及其应用,四川大学CAD/CAM研究所,基本概念,数据:
数字、文字、图形、图像、声音数据库:
数据+库表+规则+视图+事务+数据库管理系统:
DBMS,定义、建立、维护查询数据库系统:
数据库应用系统,数据库技术的发展,人工管理文件系统管理(txt、Excle、Access、DBASE、Foxpro、)数据库系统sqlserver、oracle、sybase、informix、DB2、PostgreSQL、MYSQL,VFP,FoxPro2.5:
是Fox公司和Microsoft公司合并后,于1992年在FoxPro2.0的基础上开发成功的。
它兼容了dBase、FoxBase,VisualFoxPro:
Microsoft公司在FoxPro2.5的基础上,引入面向对象编程技术和可视化编程方法,于1995年9月推出新一代的FoxPro也即VisualFoxPro3.0。
兼具以下一些新特性:
快速创建数据库及应用程序的能力支持面向对象编程支持客户/服务器应用,Sybase,1984年,MarkB.Hiffman和RobertEpstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。
Sybase主要有三种版本:
一是UNIX操作系统下运行的版本;二是NovellNetware环境下运行的版本;三是WindowsNT环境下运行的版本。
对UNIX操作系统,目前应用最广泛的是SYBASE10及SYABSE11forSCOUNIX。
Sybase数据库的特点:
(1)它是基于客户/服务器体系结构的数据库。
(2)它是真正开放的数据库。
(3)它是一种高性能的数据库。
MSSQLServer,MSSQLServer的前身是PC平台中最早的关系数据库SybaseSQLServer,1993年起,Microsoft致力于NT平台的SQLServer的开发。
具有以下特点:
与WindowsNT集成;允许集中管理服务器;提供企业级的数据复制;提供平行的体系结构;支持超大型数据库;与OLE对象的紧密集成。
ORACLE,ORACLE是最早提出基于标准SQL数据库语言的关系数据库产品支持客户/服务器和协同服务器,具有以下特点:
名符其实的大型数据库:
最大数据量可达几百GB;共享SQL和多线索服务器体系结构:
这两个特性的结合,减少ORACLE的资源占用,增强处理能力,能支持成百甚至上千个用户。
跨平台能力:
ORACLE数据库管理系统可以运行在100多个硬件和软件平台上,这一点为其它PC平台上的数据库产品所不及。
分布式数据库:
可以使物理分布不同的多个数据库上的数据,被看成是一个完整的逻辑数据库,尽管数据操纵的单个事务可能要运行于多处地点,但这对应用程序却是透明的,应用程序开发人员的感觉就好象所有的数据都是物理地存储在本地数据库中。
卓越的安全机制:
包括对数据库的存取控制,决定可以执行的命令,限制单一进程可用的资源数量以及定义数据库中数据的访问级别等。
支持客户机/服务器方式,支持多种网络协议。
DB2,DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。
它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。
因此它具有速度快、可靠性好的优点。
但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。
DB2能在所有主流平台上运行(包括Windows),最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5%。
Informix,Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。
公司的名称Informix便是取自Information和Unix的结合。
Informix第一个真正支持SQL语言的关系数据库产品是InformixSE(StandardEngine)。
InformixSE是在当时的微机Unix环境下主要的数据库产品。
它也是第一个被移植到Linux上的商业数据库产品。
PostgreSQL,PostgreSQL是一种特性非常齐全的自由软件的对象关系性数据库管理系统,它的很多特性是当今许多商业数据库的前身。
PostgreSQL最早开始于BSD的Ingres项目。
PostgreSQL的特性覆盖了SQL-2/SQL-92和SQL-3。
首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.,mySQL,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
对于Mysql的前途,没有任何人抱乐观的态度。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
常用开发平台,DelphiVBVCPBVisualstudio(VS),数据库操作系统,WindowsNTWindowsserver2003LinuxUnix,数据库硬件平台,数据库服务器磁盘阵列电源冗余硬件冗余主机双工磁盘双工,数据库系统的常用访问结构,File/ServerClient/ServerBrowser/ServerRich-ClientN-tierCloudServer,为什么需要数据库系统,数据的网络共享数据安全性数据完整性数据并发控制数据库恢复事务管理海量数据管理,网络共享,各个部门数据的一致性信息共享的实时性大量减少数据冗余数据易于维护系统容易扩展,数据存储安全性,自动备份远程备份双机热备份磁盘阵列(RAD0,1,2,3,4,5),数据访问安全性,用户标示和鉴定存取控制视图审计数据加密,数据的完整性,完整性约束确保当授权用户对数据库作修改时不会破坏数据的一致性防止数据的意外破坏几种常见的完整性约束:
码联系的基数(基数约束)域约束参照完整性函数依赖,完整性约束码约束,概念上各个实体和联系是互异的,从数据库的观点看,它们的区别必须用属性来表明,码的概念使得我们可以进行这样的区分。
合法的插入、更新操作必须保证不会创建在两个候选码上有相同的值的实体概念提示超码:
是实体集的属性集,它的取值可唯一标识每一个实体。
候选码:
实体集的最小超码作用范围:
实体集内,怎样定义码约束,在MSSQLServer中定义码约束createtableCUSTOMER(fstrIDchar(17)notnull,fstrNamechar(30)null,fdtmBirthdaydatetimenull,fstrAddresschar(30)null,constraintPK_CUSTOMERprimarykey(fstrID),完整性约束基数约束,联系的基数基数约束联系的基数:
通过一个联系能同另一个实体相联系的实体数目。
存在依赖:
实体a的存在依赖于实体b的存在,操作上如果b被删除,则a也应删除。
域,属性可取的值的集合例如一个人的年龄在0150之间中国机动车的车牌号是,完整性约束域约束,最基本的完整性约束何时进行进行域约束验证?
在数据库中插入新值时避免诸如10岁被录入数据库在查询比较时,确保比较是有意义的一个人的姓名和年龄之间能进行逻辑比较、算术运算吗?
可在已有类型的基础上创建新的域,概念层的域与物理层的域,客户的姓名与地址具有可比性吗?
从概念上讲,不具有有可比性但从物理实现上讲,则具有可比性它们都是最大长度为30字符串类似的还有一个人的体重与他的身高都是一个正实数,怎样定义域约束,createtableCUSTOMER(FSTRIDchar(17)notnull,FSTRNAMEchar(30)null,FDTMBIRTHDAYdatetimenull,FSTRTYPEchar(10)nullConstraintCKC1check(FSTRTYPEin(合同工,正式工),constraintPK_CUSTOMERprimarykey(FSTRID),引例关于存在性的客观要求,如果“Perryridge”是出现在account关系的某个元组中的分支机构名称,那么在branch关系中也应该存在一个元组与“Perryridge”分支机构对应。
如果“生产部”出现在“员工信息”关系的某个元组中,则在“企业部门结构”关系中,应该存在一个元组与“生产部”这一部门对应。
这种客观要求可表示为参照完整性。
外码,一个关系模式的外码是该模式中的一个属性集,同时是另一个模式的主码。
例如属性“分支机构名称”是关系模式贷款(贷款号,分支机构名称,金额,贷款人)的外码,是关系模式Branch(分支机构名称,资产总额,地址)的主码。
完整性约束参照完整性,一个关系中给定属性集上的取值也在另一关系的某一属性集的取值中出现形式化定义设K1和K2分别是关系r1(R1)和r2(R2)的主码,称R2的子集为参照关系r1中K1的外码,是要求对r2中任意元组t2,均存在r1中的元组t1,与之对应,即t1K1=t2。
这种要求称为参照完整性约束。
因为(r2)K1(r1),故又称为子集依赖。
参照完整性的来源,从E-R模型导出关系模型时,由联系集得到的每个关系都有参照完整性约束弱实体集必须包含它所依赖的实体集的主码,因此每个弱实体集关系模式包含一个导致参照完整性约束的外码。
何时验证参照完整性?
对数据库的修改可能破坏参照完整性插入在Loan关系中新增一笔贷款时,系统必须保证在Branch关系中,有一个元组与之对应删除在Branch中删除一个分支机构的记录时,如果在Loan中存在贷款与之对应,应报错或执行层级删除更新如果修改了Loan中一个元组的的“分支机构名称”,则应在Branch中执行类似插入情况的测试;如果修改了Branch中一个元组的的“分支机构名称”,则应在Branch中执行类似插入情况的测试;,用SQL定义参照完整性约束,createtablecustomer(customer_namechar(20),customer_streetchar(30),customer_citychar(30),primarykey(customer_name);createtableaccount(account_numberchar(10),branch_namechar(15),balanceinteger,primarykey(account-number),foreignkey(branch_name)referencesbranch),用SQL定义层级操作,createtableaccount(.foreignkey(branch-name)referencesbranchondeletecascadeonupdatecascade,.)如果删除了Branch的一个分支机构记录,则在Account中与该分支机构对应的帐户记录将自动被系统删除;如果Branch中一个元组的“分支机构名称”被修改,会出现什么情况?
完整性约束断言,一个断言就是一个谓词,表达了我们希望数据库总能满足的一个条件。
域约束、参照完整性是断言的特殊形式只有不破坏断言的数据库修改才被允许系统对复杂断言的检测开销很大很多断言不能用上述特殊形式表达,断言范例,每个支行的贷款总和必须少于该支行帐户余额的总和createassertionsum_constraintcheck(notexists(select*frombranchwhere(selectsum(amount)fromloanwhereloan.bra
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 及其 应用