预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4讲:(第4章、第8章)数据库的完整性与安全性重庆大学计算机学院第4讲:数据库的完整性与安全性特殊数据类型及用途定义新类型(SQL99):createtypeconstructinSQLcreatesuser-definedtype createtypeDollarsasnumeric(12,2)final-并非有意义可忽略 createtypePoundsasnumeric(12,2)final 特点:强制类型!把Dollars类型的值赋予Pounds类型的变量时导致编译出错 定义新的域类型(SQL92):createdomainconstructinSQL-92createsuser-defineddomaintypes createdomainperson_namechar(20)notnull 特点:非强制类型!允许把一个域类型的值赋予另一个域类型 可以指定完整性约束! Typesanddomainsaresimilar.不同的是Domainscanhaveconstraints,suchasnotnull,specifiedonthem.Largeobjects(photos,videos,CADfiles,etc.)arestoredasalargeobject: 二进制数据blob:binarylargeobject--objectisalargecollectionof不加解释的uninterpretedbinarydata(whoseinterpretationislefttoanapplicationoutsideofthedatabasesystem) 字符数据clob:characterlargeobject--objectisalargecollectionofcharacterdata Whenaqueryreturnsalargeobject,apointerisreturnedratherthanthelargeobjectitself.高水平的小技巧!有效减少网络流量!二数据正确性的控制方法-完整性约束SQL支持的完整性约束类型2-3什么是域完整性约束?ConstraintsonaSingleRelationNotNullConstraintTheUniqueConstraintThecheckclauseinSQL-92permitsdomainstoberestricted: Usecheckclausetoensurethatanhourly_wagedomainallowsonlyvaluesgreaterthanaspecifiedvalue. createdomainhourly_wagenumeric(5,2) constraintvalue_testcheck(value>=4.00)ReferentialIntegrityReferentialIntegrityinSQL–ExampleAssertionsAssertionExample三数据访问安全的控制方法(安全性)AuthorizationandViews用View隐藏数据的例子AuthorizationonViewsGrantingofPrivilegesAuthorizationGrantGraphAuthorizationSpecificationinSQLPrivilegesinSQLPrivilegeToGrantPrivilegesRolesRevokingAuthorizationLimitationsofSQLAuthorizationAuditTrails项目驱动目标: 如何在应用编程中实现对数据库的访问! 一、SQL嵌入高级语言的方法 二、SQL过程编程的方法 主要讨论问题: 什么是嵌入式SQL 实现嵌入式SQL存在哪些难题 实现嵌入式SQL的关键技术 什么是SQL过程,有何用途 SQL函数与过程有何不同 SQL过程的编写有哪些关键技术