- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概念----高级SQL 提纲 4.1数据类型与模式 4.2完整性约束 8.6触发器 4.3授权 4.4嵌入式SQL 4.5动态SQL 4.1.1:内建数据类型 域类型(SQL-92) char(n):固定长度的字符串 varchar(n):可变长字符串 int:整数 smallint:小整数类型 numeric(p,d):定点数,小数点左边p-d位,右边d位 float:浮点数 double precision:双精度浮点数 date:日期(年、月、日) time:时间(小时、分、秒) interval:两个date或time类型数据之间的差 4.1.1:内建数据类型 日期类型的运算 cast ‘2001-01-31 10:29:30.52’ as timestamp extract ( year from Vdatetime) date1 - date2 = 两日期之间间隔的天数 兼容(compatible)类型之间运算 强制类型转换type coercion 4.1.2用户定义类型 类型定义 格式 create type 类型名 数据类型 示例 create type person-name char(20) 类似C语言中: typedef ADDRESS_LIST{ char name[10]; char telephone[20]; char location[20] char email[20]}; ADDRESS_LIST tom; 4.1.2用户定义类型 Create table a (a1 char(10), a2 person-name ) 4.1.2用户定义类型 用户定义类型: 独特类型distinct type create type Dollars as numeric(12,2) 结构化structured create type person (pid char(18), name varchar(8)); 用户自定义类型,本质是对RDB的面向对象扩展 用户定义域 create domain Dollar as numeric(12,2) 自定义域不支持结构 Type vs Domain Type:进行强类型检查; Domain不进行进行强类型检查,支持强制类型转换 Type有严格的OO理论基础,Domain是纯RDB的概念 4.1.3大数据对象 Clob(字符数据的大对象数据类型)/Blob(二进制数据的大对象数据类型) 大数据类型通常对应于外部应用,把整个大对象放入内存是非常低效和不现实的,一个应用通常用一个SQL查询来检索一个大对象的“定位器”,通过定位器进行处理 4.1.3 LOB LOB Large OBject 用于存储大空间的值 LOB存储实现 指针 + 文件 LOB访问 一般使用专用语句访问 Oracle: SelectBlob doc into … from book where cno=‘c1’; 4.1.4模式、目录、环境 模式、目录、环境 一个dbms可以管理多个catalog(instance) 一个instance可以含多个schema(userschema) 一个schema可以含多个关系(table/view) 连接 访问数据库必须使用连接 每个连接有自己的环境,包括默认的instance.schema 关系的标识 完整标识:instance.schema.rname 在连接默认实例中:schema.rname 在连接的默认schema中:rname 4.2完整性控制 完整性 数据的正确性和相容性 完整性检查 DBMS必须提供一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据是正确的,避免非法的不合语义的错误数据的输入和输出,即所谓的“垃圾进垃圾出”(Garbage In Garbage Out)所造成的无效操作和错误结果 4.2完整性控制 完整性子系统 数据库的非法更新 数据本身是错误的 数据原来是正确的,由于操作或程序错误,导致输入数据错误 由于系统故障,导致数据错误 事务的并发执行产生不正确结果 人为故意破坏 完整性子系统功能 监督事务执行,检查是否违反完整性规则 如有违反,采取相应措施(拒绝、报告、改正) 4.2完整性控制 完整性规则 完整性规则集 由DBA或程序员事先提供的有关数据约束的一组规则 规则的构成 约束条件:要检查什么样的错误(性别为男女) 触发条件:什么时候使用规则进行检查(插入元组) ELSE子句:若检查出错误,该怎样进行处理(显示错误) 规则的分类 域完整性规则:属性取值范
文档评论(0)