版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.3 E-R3.3 E-R模型向关系模型的转换模型向关系模型的转换 基本方法基本方法 实体实体- -联系模型(联系模型(E-RE-R模型)提供模型)提供不受任何不受任何DBMSDBMS约束的约束的面向用户的表达方法面向用户的表达方法,在数据库设计阶段被广泛用作开,在数据库设计阶段被广泛用作开发人员与客户交流的语义模型。发人员与客户交流的语义模型。绘制绘制E-RE-R图和转换为关系的步骤图和转换为关系的步骤 列出和排列实体列出和排列实体 添加实体间联系添加实体间联系 添加实体和联系的属性(同时确定主键)添加实体和联系的属性(同时确定主键) 检查各部分是否符合范式要求检查各部分是否符合范式要求
2、转化为关系转化为关系1.1. 合并不必要的关系(非规范化)合并不必要的关系(非规范化)规范化的缺点及非规范化规范化的缺点及非规范化 数据库设计需要一定程度的规范化,但规范化却增数据库设计需要一定程度的规范化,但规范化却增加了表的数量和表之间的连接开销,而降低数据库性能。加了表的数量和表之间的连接开销,而降低数据库性能。 所谓所谓“非规范化非规范化”是对经过规范化的数据库做适当是对经过规范化的数据库做适当修改,允许修改,允许有限度有限度冗余,以提高数据库性能。冗余,以提高数据库性能。 注意:注意:非规范化非规范化不同于不同于未经规范化未经规范化。3.3 E-R3.3 E-R模型向关系模型的转换模
3、型向关系模型的转换 分解关系与等价分解关系与等价3.3 E-R3.3 E-R模型向关系模型的转换模型向关系模型的转换 分解关系与等价分解关系与等价关系模式的分解关系模式的分解规范化的方法是进行关系规范化的方法是进行关系模式的分解,即把一个低模式的分解,即把一个低一级范式的关系模式分解一级范式的关系模式分解为多个高一级范式的关系为多个高一级范式的关系模式。这种分解具有不唯模式。这种分解具有不唯一性,所以要求最后产生一性,所以要求最后产生的关系模式应当与原关系的关系模式应当与原关系模式模式等价等价。 消除非主键对主键的部消除非主键对主键的部分函数依赖分函数依赖消除非主键对主键的传消除非主键对主键的
4、传递函数依赖递函数依赖1NF2NF3NF“等价等价”概念的含义:概念的含义: 分解要具有分解要具有“无损连接性无损连接性”:即分解所得的高一级范式:即分解所得的高一级范式的关系模式自然连接后的结果与原关系模式相同。的关系模式自然连接后的结果与原关系模式相同。 分解要分解要“保持函数依赖保持函数依赖”:即分解前所有的函数依赖要:即分解前所有的函数依赖要由分解后的所有关系模式中的函数依赖反映。由分解后的所有关系模式中的函数依赖反映。分解既要分解既要“保持函数依赖性保持函数依赖性”,又要具有,又要具有“无损连接无损连接性性”。S(学号,姓名,性别,出生年月,班号,班长)学号,姓名,性别,出生年月,班
5、号,班长)分解为:分解为:SJ(学号学号,姓名,性别,出生年月,班号,姓名,性别,出生年月,班号) J(班号班号,班长,班长)原函数依赖:原函数依赖:S.学号学号S.班号;班号;S.学号学号S.班长班长变化为:变化为:SJ.学号学号SJ.班号;班号;J.班号班号J.班长班长建立关联:建立关联:建立相关数据表之间的关联,以使这些表在逻建立相关数据表之间的关联,以使这些表在逻辑上成为一个整体,便于数据查询等操作。辑上成为一个整体,便于数据查询等操作。 3.4 3.4 数据表关联数据表关联SQL ServerSQL Server数据表的连接方式:数据表的连接方式: 交叉连接交叉连接 内连接内连接 外
6、连接外连接 自连接自连接3.4 3.4 数据表关联数据表关联 交叉连接交叉连接 CROSS JOIN 交叉连接也称为非限制连接、无条件连接或笛交叉连接也称为非限制连接、无条件连接或笛卡尔连接,就是将两个表不加任何限制地组合在一卡尔连接,就是将两个表不加任何限制地组合在一起,其连接方法是将第一个表中的每行分别与第二起,其连接方法是将第一个表中的每行分别与第二个表中的每行连接成一个新元组;连接结果的行数个表中的每行连接成一个新元组;连接结果的行数等于两表行数的乘积。等于两表行数的乘积。 3.4 3.4 数据表关联数据表关联 交叉连接交叉连接 CROSS JOIN 例例3.1 3.1 将将学生表学生
7、表和和成绩表成绩表进行交叉连接。进行交叉连接。SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROM FROM 学生表学生表 CROSS JOINCROSS JOIN 成绩表成绩表 交叉连接没有实用意义,仅用于讨论某些理论问题。交叉连接没有实用意义,仅用于讨论某些理论问题。3.4 3.4 数据表关联数据表关联 内连接内连接 INNER JOIN 内连接也称为内连接也称为自然连接自然连接,它只连接两个表中,它只连接两个表中满满足指定条件的行足指定条件的行。 内连接是对内连接是对交叉连接的结果按指定条件做筛选交叉连接的结果按指定条件做筛选的结果,是数据表最常用的
8、连接方式。的结果,是数据表最常用的连接方式。3.4 3.4 数据表关联数据表关联 内连接内连接 INNER JOIN例例3.2 3.2 将将学生表学生表和和成绩表成绩表按按“学号学号= =学号学号”进行内连接显示全部字段。进行内连接显示全部字段。SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROMFROM 学生表学生表 INNER JOININNER JOIN 成绩表成绩表 ONON 学生表学生表. .学号学号= =成绩表成绩表. .学号学号3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN 外连接分为:外连接分为: 左外连接左外连接
9、 右外连接右外连接 全外连接全外连接3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (1 1)左外连接)左外连接 LEFT OUTER JOINLEFT OUTER JOIN 左外连接可以得到左表的全部元组及右表相关的元左外连接可以得到左表的全部元组及右表相关的元组。即取左表的全部行与右表中满足指定条件的行连接组。即取左表的全部行与右表中满足指定条件的行连接成新元组。成新元组。 左外连接相当于左表不受连接条件限制的内连接,左外连接相当于左表不受连接条件限制的内连接,即将左表的全部行都包括在结果集中,若右表中没有满即将左表的全部行都包括在结果集中,若右表中没有满足条件的
10、行与之连接,则结果集的相应字段以足条件的行与之连接,则结果集的相应字段以NULLNULL(BitBit类型填类型填0 0)填充,以保持左表的完整性。)填充,以保持左表的完整性。3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (1 1)左外连接)左外连接 LEFT OUTER JOINLEFT OUTER JOIN 例例3.33.3将将学生表学生表和和成绩表成绩表按按“学号学号= =学号学号”进行左外连接显示全部字段。进行左外连接显示全部字段。SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROM FROM 学生表学生表 LEFT O
11、UTER JOINLEFT OUTER JOIN 成绩表成绩表 ON ON 学生表学生表. .学学号号= =成绩表成绩表. .学号学号3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (2 2)右外连接)右外连接 RIGHT OUTER JOINRIGHT OUTER JOIN 右外连接可以得到右表的全部元组及左表相关的元右外连接可以得到右表的全部元组及左表相关的元组。即取右表的全部行按指定的条件与左表中满足条件组。即取右表的全部行按指定的条件与左表中满足条件的行连接成新元组。结果集包括右表的全部行,若左表的行连接成新元组。结果集包括右表的全部行,若左表中没有满足条件的
12、行与之连接,则结果集的相应字段以中没有满足条件的行与之连接,则结果集的相应字段以NULLNULL(BitBit类型填类型填0 0)填充,以保持右表的完整性。)填充,以保持右表的完整性。3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (2 2)右外连接)右外连接 RIGHT OUTER JOINRIGHT OUTER JOIN例例3.43.4将将学生表学生表和和成绩表成绩表按按“学号学号= =学号学号”进行进行右外连接显示全部字段。右外连接显示全部字段。SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROM FROM 学生表学生表 R
13、IGHT OUTER JOINRIGHT OUTER JOIN 成绩表成绩表 ON ON 学生表学生表. .学学号号= =成绩表成绩表. .学号学号3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (3 3)全外连接)全外连接 FULL OUTER JOINFULL OUTER JOIN 全外连接可以得到左表与右表的全部行。相当于先全外连接可以得到左表与右表的全部行。相当于先左外、再右外的综合连接。即取左表的全部记录按指定左外、再右外的综合连接。即取左表的全部记录按指定的条件与右表中满足条件的行连接成新元组;并取右表的条件与右表中满足条件的行连接成新元组;并取右表的全部
14、记录按指定的条件与左表中满足条件的行连接成的全部记录按指定的条件与左表中满足条件的行连接成新元组。在左或右表中,若没有满足条件的行,在各自新元组。在左或右表中,若没有满足条件的行,在各自相应的字段处填入相应的字段处填入NULLNULL,以保持两个表的完整性。,以保持两个表的完整性。3.4 3.4 数据表关联数据表关联 外连接外连接 OUTER JOIN (3 3)全外连接)全外连接 FULL OUTER JOINFULL OUTER JOIN例例3.53.5将将学生表学生表和和成绩表成绩表按按“学号学号= =学号学号”进行进行全外连接显示全部字段。全外连接显示全部字段。SELECT SELEC
15、T 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROM FROM 学生表学生表 FULL OUTER JOINFULL OUTER JOIN 成绩表成绩表 ON ON 学生表学生表. .学学号号= =成绩表成绩表. .学号学号 3.4 3.4 数据表关联数据表关联 自连接自连接 自连接就是一个表看成两个副本,对这两个副本按自连接就是一个表看成两个副本,对这两个副本按指定条件进行内连接。指定条件进行内连接。 使用自连接可以将一张表中满足条件的不同行连接使用自连接可以将一张表中满足条件的不同行连接起来。起来。 3.4 3.4 数据表关联数据表关联说明:说明: 最常用的内最常用的内连接连
16、接可以通过对查询语句的可以通过对查询语句的WHEREWHERE条件设条件设置来实现,并不一定要显式地使用置来实现,并不一定要显式地使用JOINJOIN语句;语句; JOINJOIN所建立的只是两个表之间的逻辑关联,并不改变所建立的只是两个表之间的逻辑关联,并不改变原表的物理存储,也不产生新的物理表。原表的物理存储,也不产生新的物理表。例例3.2 3.2 内连接表达方法:内连接表达方法:SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROMFROM 学生表学生表 INNER JOININNER JOIN 成绩表成绩表 ONON 学生表学生表. .学号学号= =
17、成绩表成绩表. .学号学号WHEREWHERE子句表达方法:子句表达方法:SELECT SELECT 学生表学生表. .学号学号, ,姓名姓名, ,成绩成绩FROMFROM 学生表学生表, , 成绩表成绩表 WHEREWHERE 学生表学生表. .学号学号= =成绩表成绩表. .学号学号 数据的完整性泛指数据的数据的完整性泛指数据的正确正确性、主要数据性、主要数据无缺无缺失失和关联数据的和关联数据的一致一致性,通过设定对关系的某些约束性,通过设定对关系的某些约束条件可以检测和维护这类完整性。条件可以检测和维护这类完整性。关系模型中的四类完整性:关系模型中的四类完整性: 实体完整性实体完整性 参
18、照完整性参照完整性 域完整性域完整性 用户自定义完整性用户自定义完整性3.5 3.5 数据完整性及约束数据完整性及约束 数据完整性数据完整性(1 1)实体完整性实体完整性 实体完整性规则规定了表的主键值唯一且不能为实体完整性规则规定了表的主键值唯一且不能为空。空。例如,在例如,在成绩表成绩表中,学号和课程号组成复合主键,中,学号和课程号组成复合主键,按照实体完整性要求,复合主键不能出现相同值;同按照实体完整性要求,复合主键不能出现相同值;同时主属性学号和课程号都不能为空。时主属性学号和课程号都不能为空。 3.5 3.5 数据完整性及约束数据完整性及约束 数据完整性数据完整性(2 2)参照完整性
19、参照完整性 当甲表中的某列(外键)依赖并参照乙表中的某当甲表中的某列(外键)依赖并参照乙表中的某列(一般在乙表中为主键)时,甲乙两表之间的相关列(一般在乙表中为主键)时,甲乙两表之间的相关数据必须保持一致。数据必须保持一致。 3.5 3.5 数据完整性及约束数据完整性及约束 数据完整性数据完整性 例如例如学生表学生表中的中的“系编号系编号”(外键)的取值必须(外键)的取值必须参照参照院系表院系表中的中的“系编号系编号”(主键)的有效值,始终(主键)的有效值,始终与其保持一致。此时,与其保持一致。此时,学生表学生表称为外键表,称为外键表, 院系院系表表称为主键表。称为主键表。(3 3)域完整性域
20、完整性 域完整性是指表中数据必须在表结构指定数据类型的域完整性是指表中数据必须在表结构指定数据类型的值域里取值。值域里取值。 3.5 3.5 数据完整性及约束数据完整性及约束 数据完整性数据完整性实体完整性和参照完整性是关系模型必须满足的约实体完整性和参照完整性是关系模型必须满足的约束条件,域完整性是数据取值要遵循的约束条件。束条件,域完整性是数据取值要遵循的约束条件。所有完整性可以由开发人员所有完整性可以由开发人员/ /用户直接或间接定义,用户直接或间接定义,由系统自动维护。由系统自动维护。 例如性别只能取例如性别只能取 “男男”、 “女女”或或“M M”、“F F”;进;进货量只能是大于货
21、量只能是大于0 0的正整数等等。的正整数等等。 (4 4)用户自定义完整性(用户自定义完整性(User-defined integrityUser-defined integrity) 实体、参照和域完整性适用于任何关系数据库系实体、参照和域完整性适用于任何关系数据库系统。除此之外,还可以对数据库系统设定一些特殊约束统。除此之外,还可以对数据库系统设定一些特殊约束. .用户自定义的完整性是用户设定的某些约束条件,用户自定义的完整性是用户设定的某些约束条件,是某一应用项目的数据必须满足的语义要求。是某一应用项目的数据必须满足的语义要求。3.5 3.5 数据完整性及约束数据完整性及约束 数据完整性
22、数据完整性 上述数据完整性,可以通过上述数据完整性,可以通过“约束约束”来实现,来实现,SQL SQL ServerServer定义了定义了6 6种约束:种约束: 主键约束主键约束 唯一约束唯一约束 外键约束外键约束 检查约束检查约束 默认值约束默认值约束 NULLNULL约束约束3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (1) (1) 主键约束(主键约束(Primary keyPrimary key) 设置主键约束的字段称为主关键字,主键值是元组的唯设置主键约束的字段称为主关键字,主键值是元组的唯一标识。主键约束用于保证每个元组是唯一可确定的。一标识。主键约束用于保证每个元
23、组是唯一可确定的。 在规范化的数据库中,每个表都必须设置主键约束,主在规范化的数据库中,每个表都必须设置主键约束,主键有以下特点和限制:键有以下特点和限制: 唯一性;唯一性; 不为空;不为空; 一个表只能定义一个主键,可以是单字段或复合字段;一个表只能定义一个主键,可以是单字段或复合字段; TextText、NtextNtext和和ImageImage类型的字段不能做主键;类型的字段不能做主键; 通常系统会按主键值以升序对表进行物理排序。通常系统会按主键值以升序对表进行物理排序。 3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (1) (1) 主键约束(主键约束(Primary k
24、eyPrimary key)语法:语法:PRIMARY KEYPRIMARY KEY 在创建表或修改表的语句中,用于说明某个字段为主键在创建表或修改表的语句中,用于说明某个字段为主键(用法:列名(用法:列名 数据类型数据类型 PRIMARY KEYPRIMARY KEY)。)。 p162p162,例,例6-136-13,在创建表语句中,将班号指定为主键。,在创建表语句中,将班号指定为主键。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (2) (2) 唯一约束(唯一约束(UniqueUnique) 唯一约束用于指定一列(或几列数据的组合值)在表中唯一约束用于指定一列(或几列数据的组
25、合值)在表中的唯一性。的唯一性。 唯一约束的字段通常不是主键,它用于保证主键以外字唯一约束的字段通常不是主键,它用于保证主键以外字段取值的唯一性,它们的区别在于:段取值的唯一性,它们的区别在于: 一个表可定义多个唯一约束,而主键约束只能定义一个;一个表可定义多个唯一约束,而主键约束只能定义一个; 唯一约束的字段允许为空,而主键不允许为空;唯一约束的字段允许为空,而主键不允许为空; 主键值决定了表中元组的物理排序,而唯一约束的字段值主键值决定了表中元组的物理排序,而唯一约束的字段值不改变元组的物理位置。不改变元组的物理位置。 例如例如学生表学生表中指定了中指定了“学号学号”为主键,若还需保证为主
26、键,若还需保证“姓名姓名” 不重复,可以为列不重复,可以为列“姓名姓名”设置唯一约束。设置唯一约束。 3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (2) (2) 唯一约束(唯一约束(UniqueUnique)语法:语法:UNIQUEUNIQUE 在创建表或修改表的语句中,用于说明某个字段取值具有在创建表或修改表的语句中,用于说明某个字段取值具有唯一性限制。唯一性限制。用法:(用法:(1 1) UNIQUE UNIQUE (2 2)CONSTRAINT CONSTRAINT UNIQUE UNIQUE p165 p165 例例6-166-16:在修改表语句中,以关键词:在修改表语
27、句中,以关键词ADDADD添加一个新添加一个新字段字段column_ccolumn_c,并为其添加唯一约束。指定,并为其添加唯一约束。指定约束名约束名可以将约可以将约束作为一个数据库对象保存,便于修改、删除等操作。束作为一个数据库对象保存,便于修改、删除等操作。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (3) (3) 外键约束(外键约束(Foreign keyForeign key) 如果甲表的某列只能参照乙表的某列取值,则如果甲表的某列只能参照乙表的某列取值,则必须必须为甲表的该列设置为甲表的该列设置外键约束。外键约束用于建立一个数据库中多个表之间的关联,通过外键外键约束。
28、外键约束用于建立一个数据库中多个表之间的关联,通过外键约束可以使某主键表与多个外键表建立一对多的逻辑关系。约束可以使某主键表与多个外键表建立一对多的逻辑关系。 外键约束可以保证数据的外键约束可以保证数据的参照完整性参照完整性。 3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (3) (3) 外键约束(外键约束(Foreign keyForeign key)特点和限制:特点和限制: 外键可以是单一字段,也可以是多个字段的组合;外键可以是单一字段,也可以是多个字段的组合; 被外键引用的主键表字段必须是被外键引用的主键表字段必须是主键或加了唯一约束的列主键或加了唯一约束的列; 外键允许为
29、空也可以不唯一;但只能取所引用的主键列中的值;外键允许为空也可以不唯一;但只能取所引用的主键列中的值; 如果要在外键列添加主键列中没有的值,必须先在主键列中添加,再在如果要在外键列添加主键列中没有的值,必须先在主键列中添加,再在外键列中添加。外键列中添加。 如果主键列的某个值被引作外键值,只要该外键值所在元组存在,该主如果主键列的某个值被引作外键值,只要该外键值所在元组存在,该主键值所在元组不能删除。键值所在元组不能删除。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (3) (3) 外键约束(外键约束(Foreign keyForeign key)例例3.63.6有两个关系:学生
30、表(有两个关系:学生表(学号学号,班级号,姓名,性别,出生年,班级号,姓名,性别,出生年月,入学成绩),班级表(月,入学成绩),班级表(班级号班级号,班级名称,所属院系,入学,班级名称,所属院系,入学时间),时间), 班级号是学生表的外键列。按照参照完整性,该列的取值有班级号是学生表的外键列。按照参照完整性,该列的取值有两种可能:两种可能:1 1)取空值,表明该学生尚未分到任何班级;)取空值,表明该学生尚未分到任何班级;2 2)若取非空值,则必须参照班级表中班级号(主键列)的值。)若取非空值,则必须参照班级表中班级号(主键列)的值。 两表更新必须注意:两表更新必须注意:若学生表添加新记录时,班
31、级号必须在班级表中存在;若学生表添加新记录时,班级号必须在班级表中存在;当删除班级表的某行,如果该行的班级号被学生表引用,则该行当删除班级表的某行,如果该行的班级号被学生表引用,则该行不能删除。不能删除。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (3) (3) 外键约束(外键约束(Foreign keyForeign key)语法:语法: (i)在新建或修改表时,为一个新列添加外键约束)在新建或修改表时,为一个新列添加外键约束 CONSTRAINT REFERENCES P165 P165 例例6-18 6-18 在修改表语句中,为新字段在修改表语句中,为新字段column_
32、ccolumn_c添加添加外键约束,约束取名为外键约束,约束取名为column_c_fkcolumn_c_fk,参考的主键表是,参考的主键表是doc_exedoc_exe,参考的主键列为,参考的主键列为column_acolumn_a。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 (3) (3) 外键约束(外键约束(Foreign keyForeign key)语法:语法: (ii)在修改表时,为一个已经存在的列添加外键约束)在修改表时,为一个已经存在的列添加外键约束ADD CONSTRAINT FOREIGN KEY() REFERENCES 3.5 3.5 数据完整性及约束数
33、据完整性及约束 约束约束例:为一个已经存在的列添加外键。例:为一个已经存在的列添加外键。ALTER TABLE doc_exeALTER TABLE doc_exeADD CONSTRAINT columc_fk ADD CONSTRAINT columc_fk FOREIGN KEY(colum_c) FOREIGN KEY(colum_c) -由由FOREIGN KEYFOREIGN KEY子句表达外键列子句表达外键列REFERENCES doc_exe(colum_a)REFERENCES doc_exe(colum_a) -由由REFERENCESREFERENCES子句表达被参考的主
34、键列子句表达被参考的主键列, ,允许主键列在同一表允许主键列在同一表 (4)(4) 检查约束(检查约束(CHECKCHECK) 检查约束是用指定的检查约束是用指定的逻辑表达式逻辑表达式限制输入数据的取值范围,以便用户限制输入数据的取值范围,以便用户在在域完整性域完整性的基础上的基础上进一步限制进一步限制取值。取值。语法:语法:CHECK ()CHECK () 一般在创建表或修改表的语句中,用于限定某个字段的取值。一般在创建表或修改表的语句中,用于限定某个字段的取值。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束p165 p165 例例6-186-18在修改表语句中,为列在修改表语句
35、中,为列column_dcolumn_d加加CHECKCHECK约束,约束取名为约束,约束取名为column_d_chkcolumn_d_chk。 FORMAT FORMAT 函数用于对字段的显示进行格式化函数用于对字段的显示进行格式化, ,函数调用格式:函数调用格式: format(column_name,format) (column_name,format) 。 该该CHECKCHECK约束所约定的格式:可以为空,如果不为空,则必须为约束所约定的格式:可以为空,如果不为空,则必须为7 7位数字位数字(第(第3 3、4 4位之间有连字符);或位之间有连字符);或1010位数字,前三位加括号
36、(区号),后位数字,前三位加括号(区号),后7 7位位同上。同上。 (5)(5) 默认值约束(默认值约束(DEFAULTDEFAULT) 默认值约束是给某个字段绑定一个默认值,输入时若该字段为空,则默认值约束是给某个字段绑定一个默认值,输入时若该字段为空,则填入默认值以保证数据的域完整性。默认值可以是常量、表达式或系统内填入默认值以保证数据的域完整性。默认值可以是常量、表达式或系统内置函数,如日期函数、时间函数、内存测试值等,若有输入数据则以输入置函数,如日期函数、时间函数、内存测试值等,若有输入数据则以输入的数据为准。的数据为准。 对于事先不知道数据、或需要自动计算产生数据、但又不允许为空的
37、对于事先不知道数据、或需要自动计算产生数据、但又不允许为空的字段,使用默认值约束尤其方便并提高效率。字段,使用默认值约束尤其方便并提高效率。语法:语法:DEFAULT3.5 3.5 数据完整性及约束数据完整性及约束 约束约束p165 p165 例例6-186-18在修改表语句中,为新增列在修改表语句中,为新增列column_ecolumn_e加加DEFAULTDEFAULT约束,约束取约束,约束取名为名为column_e_defaultcolumn_e_default,默认值为,默认值为.081.081。 (6)(6) 空值约束(空值约束(NULLNULL) 空值约束就是设置某个字段是否允许为
38、空。空值空值约束就是设置某个字段是否允许为空。空值NULLNULL是不知道或不能确定的特殊数据,不同于是不知道或不能确定的特殊数据,不同于0 0和空格符。和空格符。 语法:语法: NULL|NOT NULLNULL|NOT NULL 在新建或修改表语句中,加在相应的字段定义处(除在新建或修改表语句中,加在相应的字段定义处(除primary keyprimary key,一般默认,一般默认NULLNULL)。)。3.5 3.5 数据完整性及约束数据完整性及约束 约束约束 SQL (Structure Query Language)SQL (Structure Query Language)即即 “结构化结构化查询语言查询语言” ,是目前关系型,是目前关系型DBMSDBMS的核心语言。的核心语言。在在JavaJava、VC+VC+、VBVB、DelphiDelphi等主流开发语言中等主流开发语言中都可嵌入都可嵌入SQLSQL,所以,所以SQLSQL是一种跨平台跨产品的语言。是一种跨平台跨产品的语言。 3.6 SQL3.6 SQL与与 T-SQLT-SQL概述概述 T-SQL T-SQL是是MicrosoftMicrosoft公司在对公司在对SQLSQL的扩展,它具有的扩展,它具有SQLSQL的主要特点,同的主要特点,同时增加了变量、运算符、函数、流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物料提升机安装、使用、拆卸方案
- 互联网借款协议样式
- 旧房拆除补偿政策咨询
- 渣土外运合同书模板
- 环保空心砖采购合同
- 用心沟通保证书
- 采购合同的技术参数要求
- 人员外包服务合同指南详解
- 买卖房屋合同修编要点
- 债务担保合同协议范本
- 感染性休克指南解读
- 老年大学教学工作计划
- 2025届河北省石家庄市普通高中学校毕业年级教学质量摸底检测英语试卷
- 国家开放大学22379丨网络技术基础(统设课)期末终考题库
- 统编版(2024新版)七年级上册道德与法治第四单元综合测试卷(含答案)
- 十四五养老规划政策解读
- 北京市海淀区2023-2024学年四年级上学期语文期末试卷
- 【MOOC】电工电子学-浙江大学 中国大学慕课MOOC答案
- 人教版八年级上册数学期末考试试题有答案
- 陕西省咸阳市2023-2024学年高一上学期期末考试 物理 含解析
- 低空经济产业的市场化运营路径
评论
0/150
提交评论