欢迎来到天天文库
浏览记录
ID:39962579
大小:1.14 MB
页数:70页
时间:2019-07-16
《ch22关系代数和关系约束》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章数据模型2.1数据模型概述2.2关系模型基础2.3在SQL中定义关系模式2.4代数查询语言2.5关系上的约束AnIntroductiontoDatabaseSystems2.3在SQL中定义关系模式流行的描述和操作关系数据库的语言SQL(读作“sequel”),最新的标准为SQL-99。提供两方面的内容:数据定义语言DDL----定义数据库模式数据操作语言DML----查询和更新数据库本节介绍SQL的数据定义部分,第6章介绍数据操作,第7章介绍SQL的数据约束问题。AnIntroductiontoDatabaseSystems2.3.1
2、SQL中的关系SQL中的三类关系表(Table)存储在数据库中的关系,用户可以对其中的元组进行查询和更新。视图(View)通过计算定义的关系,并不在数据库中存储,只在需要的时候被完整或部分地构造。临时表执行数据查询和更新时由SQL处理程序临时构造,处理结束后被删除。AnIntroductiontoDatabaseSystems2.3.2SQL的基本数据类型可变长度或固定长度字符串固定或可变长度的位串布尔类型整型浮点类型日期和时间类型AnIntroductiontoDatabaseSystems固定长度和可变长度字符串类型CHAR(n)最大为n
3、个字符的固定长度字符串。当字符数量小于定义的长度时,后面补上某个短字符(例如,空格)。例如,将字符串’foo’赋给CHAR(5)类型的字段时,存储的实际值是’foo’。VARCHAR(n)表示最多可有n个字符的字符串。当字符数量小于n时,使用一个结束符或字符长度值来标识字符串的结束,未满的空间不会被填充。AnIntroductiontoDatabaseSystems固定或可变长度的位串BIT(n)固定长度为n的位串。BITVARYING(n)最大长度为n的位串。其区别类似于上述的固定或可变长字符串,区别在于取值为比特位取值。AnIntrodu
4、ctiontoDatabaseSystems布尔类型和整型数据BOOLEAN表示具有逻辑类型的值。该类属性的可能取值为TRUE、FALSE和UNKNOWN。INT(等价于INTEGER)表示具有准确数字的整数数据类型。一般分为:shortint、int、bigint等,位数不同使其取值范围不同。AnIntroductiontoDatabaseSystems近似数字类型FLOAT(和REAL)用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。float(n):n为用于存储科学记数法float数
5、尾数的位数,同时指示其精度和存储大小。decimal(和numeric)带定点精度和小数位数的浮点类型。Decimal(n,d):n位有效数字的十进制数,小数点是在从右往左第d位的位置。AnIntroductiontoDatabaseSystems日期和时间类型DATE日期类型日期值由关键字DATE后面接一个用单引号括起来的特定形式的字符串来定义。例如,DATE‘1948-05-14’,注意数字0的填充。TIME时间类型时间值由关键字TIME和一个特定形式的字符串组成。例如,TIME’15:00:02.5’AnIntroductiontoDa
6、tabaseSystems2.3.3简单的表定义简单表的定义形式CREATETABLE关系名(属性名1,属性名2,……,属性名n);P17例2.2关系MOVIES的SQL定义P17例2.3关系MovieStar的SQL定义AnIntroductiontoDatabaseSystems2.3.4修改关系模式删除关系模式DROPTABLE关系名;修改关系模式添加属性:添加的字段值为空值—NULLALTERTABLE关系名ADD属性名属性类型例如,ALTERTABLEMovieStarADDphoneCHAR(16);删除属性ALTERTABLE关
7、系名DROP属性名例如,ALTERTABLEMovieStarDROPbirthdate;AnIntroductiontoDatabaseSystems2.3.5默认值在任何声明属性及其数据类型的地方,使用DEFAULT关键字为属性设置默认值。DEFAULT常量或NULL例如,genderCHAR(1)DEFAULT‘?’birthdateDATEDEFAULTDATE‘0000-00-00’ALTERTABLEMovieStarADDphoneCHAR(16)DEFALUT‘unlisted’;AnIntroductiontoDatabas
8、eSystems2.3.6键的声明在CREATTABLE语句中声明键的两种方法当属性被列入关系模式时,声明其为键;在模式声明的项目表中增加表项,声明一个或者一组属性
此文档下载收益归作者所有