创建表与约束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、数据的完整性:数据完整性是要求数据库中的数据具有准确性。准确性是通过数据库表的设计和约束来实现的。
A、实体完整性约束
实体完整性约束要求表中的每一行数据都反映不同的实体,不能在表中存在完全相同的数据行。
实现方法:索引、唯一约束、主键约束或标识列属性。
B、域完整性约束
域完整性约束是给定列的输入有效性。
实现方法:限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束。
C、引用完整性
在输入或删除数据行时,引用完整性约束来保持表之间已经定义的关系。
在强制引用完整性时,SQL Server禁止用户进行下列操作:
(1)当主表中没有关联的记录时,将记录添加到相关表中。
(2)更改主表中的值导致相关表中的记录孤立。
(3)从主表中删除记录,但仍存在与该记录匹配的相关记录。
实现方法:通过主键和外键之间的引用关系来实现。
D、自定义完整性约束
用户根据具体应用来定义特定的规则。如定义学生年龄必须在10到30之间。
实现方法:定义规则、存储过程或触发器
2、主键:一个表中只能有一个主键,主键保证了表中行的唯一性。一个表中可以没有主键,但一般会设置一个主键。
外键:外键是子表中对应的主键的列,外键强调了应用完整性。
3、检查约束也叫CHECK约束,用于定义列中可接受的数据或者格式,例如scores表中的score数值应当为0~100,如果不满足要求应当不允许输入。
方法:在设计scores表时,右击选择“CHECK约束”,在出现的对话框中单击“添加”按钮,添加一个新的约束。然后单击“表达式”右侧的小按钮,在弹出的“CHECK约束表达式”对话框中输入:
0<=score and score<=100
sno like ‘2009[1-9][1-9][1-9][1-9][1-9][1-9]’
SEmail LIKE ‘%@%’
Sage>=10 and Sage<=50
4、导入和导出数据:右击数据库,选择“任务”中的“导出数据”选项,在向导中选择数据库,单击“下一步”;输入文件名称并确定文件相关选项;选择是否用一条查询语
句进行复制;选择表名并设置文本文件的格式;确定是否立即运行,是否保存该转换设置,单击“下一步”一直到完成。
总结:
•创建数据库表需要确定表的列名、数据类型、是否允许为空,还需要确定主键、必要的默认值、标识列和检查约束。
•创建表的过程是规定数据列属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)的过程。
•如果建立了主表和子表的关系,则:
✓子表中的相关项目数据,在主表中必须存在
✓主表中相关项的数据更改了,则子表对应的数据项也必须随之更改
✓在删除子表之前,不能够删除主表