ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3)数据表的创建和管理

2021-04-13 20:30:16  阅读:112  来源: 互联网

标签:name 管理 创建 绑定 默认 数据表 完整性 TABLE NULL


表结构和数据类型

数据类型

  1. char(n) 固定长非Unicode字符类型,n取值1~8000
  2. varchar(n) 可变长非Unicode字符类型,n为最大长度,储存大小为实际长度+2B
  3. text 长度可变的非Unicode字符数据类型,最大(2^31-1)B
  4. nchar(n) 固定长度Unicode字符数据类型,n定义字符串数据长度1~4000大小为nB的两倍。双字节字符仍为nB
  5. nvarchar(n) 可变长度Unicode字符数据类型,n表最大长度1~4000,单位B
  6. ntext 可变长度Unicode字符数据类型,最大长度(2^30-1)字节

表的创建和管理

创建表

CREATE TABLE <table_name>
(
{<column_name> datatype [NOT NULL|NULL] }
)

修改表

ALTER TABLE <table_name>
ADD <column_name> datatype [NOT NULL|NULL] [,…n]
|ALTER COLUMN <column_name> datatype [NOT NULL|NULL]
|DROP COLUMN <column_name> [,…n]

删除表

DROP TABLE <table_name>

数据完整性

指数据的正确性(合法性)、有效性(有效范围)、相容性(描述同一实体数据相一致)
**三类:**实体完整性、参照完整性、域完整性

实体完整性

1)PRIMARY KEY

1、唯一标识表中某一条记录
2、主键所在行上必须取值唯一且不能为空
3、一个表只能有一个主键

2)UNIQUE(重复约束)

和PRIMARY KEY区别:

  1. 一个表可多个UNIQUE约束
  2. 定义的列可以有空但只能取一次
  3. PRIMARY KEY 自动产生聚集索引而UNIQUE自动产生非聚集索引

参照完整性(对外键取值做出限制)

FOREIGN KEY
是指数据库内表与表之间的数据一致性。
被参照表中,某一记录被参照表中外键引用,则该记录不能删除;如需要更改键值,那么在整个数据库中对该键值的所有引用都要进行一致的更改,以保证数据的参照完整性
!!注意:主属性(包含在任何关键字中的属性)不能取空
CREATE TABLE <table_name>
(
<column_name> datatype NOT NULL|NULL
CONSTRAINT <cnostraint_name>
FOREIGN KEY (<column_name>)
REFERENCES <references_table_name> (<column_name>)
)

域完整性

列数据的完整性和有效性,即要求对指定列有效的一组值并决定是否允许为空。通过check default rule方法实现

1)CHECK约束

创建表时
CREATE TABLE <table_name>
(
<column_name> datatype NOT NULL|NULL
CONSTRAINT <constraint_name>
CHECK(logical_expression)
)
修改表时
ALTER TABLE <table_name>
ADD CONSTRAINT <constraint_name> CHECK (logical_expression)

2)DEFAULT约束

创建表时
CREATE TABLE <table_name>
(
<column_name> datatype NOT NULL|NULL
CONSTRAINT <constraint_name>
DEFAULT(logical_expression)
)
修改表时
ALTER TABLE <table_name>
ADD CONSTRAINT <constraint_name> DEFAULT (logical_expression)

3)默认值对象

数据库对象的一种,为列设置一个默认值,可以被一个数据库中的多个表中的多个列绑定使用。
创建默认->绑定到列
解除绑定->删除默认

  1. 创建默认
    CREATE DEFAULT <defaul_name>
    AS constant_expression
  2. 绑定默认
    EXEC sp_bindefault ‘default_subsidy’,‘table_name.column_name’
  3. 解除默认绑定
    EXEC sp_unbindefault ‘table_name.column_name’
  4. 删除默认
    DROP DEFAULT <default_name>

4)规则

对列的数据进行约束,不满足条件的数值不能输入到相应的列中

类似于CHECK,CHECK在创建表或修改表时作为表的一部分进行指定,但规则需要单独创建,然后绑定到列上

  1. 创建规则
    CREATE RULE <rule_name> AS logical_expression
  2. 绑定默认
    EXEC sp_bindefault ‘rule_name’,‘table_name.column_name’
  3. 解除默认绑定
    EXEC sp_unbindefault ‘table_name.column_name’
  4. 删除默认
    DROP RULE <rule_name>

标签:name,管理,创建,绑定,默认,数据表,完整性,TABLE,NULL
来源: https://blog.csdn.net/qq_45742250/article/details/115639777

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有