资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2017/8/29 Tuesday,#,第,3,章 建,表基础,SQL Server,2012,数,据库技术与应用,目录,3.1,标识符命名,规则,3.2 SQL Server 2012,的,数据类型,3.3,数据完整性,3.4,约束,3.1,标识符命名规则,Transact-SQL,语言常规标识符的格式规则如下。,(,1,)第一个字符必须是,Unicode,标准定义的字母,包括,az,、,AZ,以及其他语言的字母字符)、下画线(,_,)、符号(,)或数字符号(,#,)。不过,需要注意的是以一个符号(,)开头的标识符表示局部变量,以两个符号(,)开头的标识符表示系统内置的函数。以一个数字符号(,#,)开头的标识符标识临时表或临时存储过程,以两个数字符号(,#,)开头的标识符标识全局临时对象。,(,2,)后续字符可以包括,Unicode,标准中定义的字母、基本拉丁字符、十进制数字、下画线(,_,)、符号(,)、数字符号(,#,)或美元符号(,$,),。,3.1,标识符命名规则,(,3,)标识符不能是,Transact-SQL,语言的保留字,包括大写和小写形式。,(,4,)不允许嵌入空格或其他特殊字符。,例如,,companyProduct,、,_com_product,、,comProduct_123,等标识符都是常规标识符,但是诸如,this product info,、,company 123,等则不是常规标识符。,3.1,标识符命名规则,分隔标识符的适用范围,包含在双引号,(“”),或方括号,(),内的标识符被称为分割标识符,默认情况下,只能使用括号标识符,符合标识符格式规则的标识符既可以分割,也可以不分割,不符合格式规则的标识符必须进行分割,以下两种情况需要使用分割标识符,对象名称中为,Microsoft SQL Server 2008,保留字时需要使用分割标识符,例如,,where,分割标识符,对象名称中使用了未列入限定字符的字符,例如,,product1 table,分割标识符,3.2 SQL Server 2012,的数据类型,字符串,数,精确数字数据,类型,近似数字类型,日期时间,数据类型,二进制数据,类型,其他数据类型,3.3,数据完整性,实体完整性,域完整性,参照完整性,用户自定义完整性,3.4,约束,对输入数据取值范围和格式的限制称为约束,约束是用来保证数据完整性的,六种约束,主键约束,(PRIMARY KEY),唯一约束,(UNIQUE),外键约束,(FOREIGN KEY),检查约束,(CHECK),默认值约束,(DEFAULT),空值约束,(NULL),3.4,约束,【,任务,3.1】,对,Manage,数据库中的三个数据表,确定它们各自的主键约束、唯一性约束,以及表之间的外键关联关系,。,3.4,约束,【,任务,3.2】,在,Sales,订货信息表中定义订货数量字段数据有效,客户信息表性别字段取值范围为“男”和“女”。,3.4,约束,【,任务,3.3】,定义订货信息表中订货时间字段默认值为系统当前时间,客户信息表性别字段默认值为“男”,。,3.4,约束,【,任务,3.4】,客户信息表(,Buyer,)中,客户编号字段仅用于区别不同客户信息,可用数值标识,系统自动生成数字序号即可,是客户信息中必须存在的,不允许为空;客户姓名用于存储文字类信息,由于客户姓名字数不能完全确定长度,可确定为变长字符,varchar,型,长度为,20,,是客户信息中必须存在的,不允许为空;性别存储的信息为“男”或“女”,能存储一个汉字信息即可,可定义为,char,型,长度为,2,,是客户信息中必须存在的,不允许为空;联系地址存储文字类信息,长度不能确定,且地址可能比较复杂,可定义为,varchar,型,长度应能存储比较长的地址信息,可定义为,50,,可以允许不填写,所以可允许为空;电话号码可允许存储手机号、座机号等信息,其中座机号还有可能存在分机号码,所以定义为,varchar,型,长度,20,,且允许不填写;出生日期选用能够填写日期时间的格式,所以选用,date,型即可,且允许为空。定义好的表结构如表,3.11,所示。,3.4,约束,【,任务,3.5】,货品信息表(,Wares,)中,货品名称为文字类的数据信息,定义为,varchar,型,长度,20,,且对于货品信息描述来说,货品名称是必须存在的,所以不能为空;库存量存储商品的当前库存数量,可选用数值型,允许为空;提供商存储文字类信息,且不能事先确定文字长度,所以定义为,varchar,型,长度,50,,允许为空;状态记录当前货品是否可正常销售,只是用来做一个标记,为节约存储空间,选用,bit,类型,允许为空;价格选用能记录钱数的专用类型,money,,允许为空。定义好的表结构如表,3.12,所示。,3.4,约束,【,任务,3.6】,订货情况信息表(,Sales,)中,订货编号字段仅用于区别不同订货信息,可用数值标识,系统自动生成数字序号即可,是订货信息中必须存在的,不允许为空;订货数量是订货信息必须描述的信息,不允许为空,记录数字数据,可选用,int,型,且订货数量应为正数;总价格选用能记录钱数的专用类型,money,,允许为空;订货时间选用可记录日期值的,date,类型即可,且为方便使用,可用当前日期默认进行填充,必要时再做补充修改。定义好的表结构如表,3.13,所示。,谢 谢!,
展开阅读全文