码迷,mamicode.com
首页 > 数据库 > 详细

数据库的数据类型、约束、索引、视图

时间:2015-01-13 00:00:34      阅读:459      评论:0      收藏:0      [点我收藏+]

标签:

数据库的数据类型、约束、索引、视图

一、数据类型

(一)数值型数据

整数
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 视图名

数据库的数据类型、约束、索引、视图

标签:

原文地址:http://www.cnblogs.com/wllhq/p/4220071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!