数据库的数据类型、约束、索引、视图
一、数据类型
(一)数值型数据
整数
int,bigint,smallint
小数
float,real,decimal(长度,精度),numeric(长度,精度)
常用的:float(相当于C#中的double),decimal
(二)字符数据
char(n)
最大存储量:8000英文字符,4000汉字;数量一定的字符用char(n)如身份证、学号,用n限制字符数量输入;
varchar(n)
最大存储量:8000英文字符,4000汉字; 数量变化的字符用varchar(n),用n限制最大字符输入数量;
text
上万的大量字符用,存储大文本,如新闻内容,最大长度2^31-1个字符
(三)逻辑
bit 0,1/true/false
(四)二进制类型
binary 8000
image
(五)日期时间数据
datetime(1753-1-1~9999,12,31)
smalldatetime(1900.1.1--2079.6.6)
数据类型的作用:建表,SQL编程
二、约束——保证数据的完整性。
知识准备:主键(Primary Key)和外键(Foreign Key)的概念
1、主键
表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列的组合叫做表的主键。
如:学号可以作为学生表的主键,课程号可以作为课程表的主键,(学号,课程号)作为成绩表的主键(组合键)
说明:(1)一个表只能有一个主键,主键约束确保了表中的行是唯一的。
(2)表中可以没有主键,但是通常情况下应当为表设置一个主键。
2、外键
简单地说,就是“子表”中对应于“主表”的列,在子表中成为外键或者引用键。它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。例如在成绩表中,学号为外键。一个表可以有多个外键。
(一)
主键约束——实体
1.不重。2.不空。3.排序。4.唯一(不能出现两个主键)5.组合主键。
建主键:
1.可视化建主键。
表的设计视图中
2.代码建主键。 primary key
(二)外键约束——引用
两个表,主表和从表。主表――用主键来约束对方的。从表――被约束的表,被约束的列称为外键列。
外键总是建在从表上。
从表外键上填写的内容必须是主表主键里面的已经有的内容。
建外键:
1.可视化:表的设计视图中--关系――外建窗口;使用数据库关系图。
2.代码:references 主表名(主键列)
(三)非空约束 ——不能为空
1.可视化:表的设计界面,每一列后都有一个“允许为null”的复选框。
2.代码:not null
(四)自增长
它有“种子”(起始值)和"步长"(每次增长的数量)。
注意:
1.每个自增长的值,一旦被用过了,就废了,不会再重复使用。
2.任何向自增长列添加值的行为都不正确。
3.对列有类型要求:int decimal
1.可视化:在列的属性中,标识规范――是。
2.代码:identity
(五)Check约束
主要是对列里面的值做进一步的规范化。
1.可视化:在列上右击――check约束――在弹出的对话框中添加check约束。
2.代码:check(表达式)
(六)默认值
1.可视化:在列的属性――默认值或绑定
2.代码:default 值
(七)唯一约束
可以空,但不能重。
1.可视化:在列上右击选择“索引/键”在这个界面中既可以建索引又可以建唯一约束。
2.代码:unique
三、索引
提高查询的效率。一个表可以对不同的列建立多个索引。
簇索引(排序,主键),非簇索引(普通索引)。
索引的劣势:对增、删、改的效率会降低。
1.可视化:跟唯一约束的建法相似。
2.代码:create index 索引名 on 表名(列名)
四、视图
把查询给包装起来,使用起来就像用一个表一样。
视图本身不存储数据。
视图可以从一个表、多个表、多个表和视图上建立起来。
视图的优势:查看方便。劣势:增、删、改不方便。
1.可视化:对象资源管理器中,数据库--视图右击--新建视图。
2.代码:create view 视图名