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

数据库---》基础

时间:2015-03-20 18:25:23      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

  SQL Server:只是操作数据库的一个工具(这种工具,只是提供一个界面化的方式让用户方便操作数据库)

  开启服务:点击:我的电脑(计算机)--管理--服务和应用程序--服务--开启SQL Server(MSSQLSERVR)

  工具(sql server)要操作数据库,一定要连接服务器(因为数据是放在服务器中)

  服务器只认识命令(sql语句),sql语句其实就是告诉服务器要做什么。要和服务器交互就得先生成sql语句

 

    表的每一个列名就是我们的类的属性,数据库是非面向对象的语言

    主键:是独一无二的,是非空的,是数据行的唯一标识,一个表可以没有主键,但是没有特殊理由表都要设定主键

主键分为:1,业务主键:是唯一值

 

              2,逻辑主键:就是我们自己加的列

 

数据的完整性:( 四种完整性)

1.实体完整性:实体就是指表的每一行记录,它是保证每一行记录都是唯一的

                        主键:非空,唯一

                         标识列:由系统自动生成,永远 不可能重复,它最适合做主键

                         唯一键:唯一,但是可以为null,只能null一次

2.域完整性:域:就是指字段,也就是这个完整性是为了保证字段的值是合理有效

                    如:Check约束  类型  非空  默认值

3.自定义完整性:按用户自己的需要创建Check约束

                如:Check约束 存储过程 触发器

4.引用完整性:莫一个表的字段值不是独立存在的,它是引用自另外一个已经存在的表的字段值。它的取值范围不能超出主表对应字段的值的范围,被引用的表就是主表,引用的表就是从表,也称为外键表

   1.选择外键表去创建主外键关系

   2.建立主外键关系的字段的类型需要一致

   3.建立主外键关系的字段的意义必须要一样

   4.在添加主外键关系表数据的时候,先添加主表,再添加外键表。

   5.在删除主外键关系表数据的时候,先删除从表,再删除主表的值。

   6.建议主外键关系的字段在主表中必须是 主键或唯一键

 

注意:所有的约束,存储过程都存储在sysObjects类中

 

约束:

主键约束【primary key  PK】、唯一键约束(unique  UQ)、外键约束(foreign key  FK)  、check约束(CK)  、 默认值约束 (default  DF)【从表==外键表】

 

代码创建约束:

语法:

alter table 表名

add constraint 约束名称 约束类型 约束说明

约束名称:如:主键Primary key--PK 唯一键:unique--UQ

约束:Check--CK  默认值:default--DF 

外键表:foreign key--FK

约束类型:如Primary unique Check  default

Foreign 都是类型

约束说明:比如主键 唯一键 外键表 这些后面带Key的就是跟字段 Check约束就是跟表达式 默认值后面就是跟值

设置Person表id 为唯一键的代码如下:

if exists(Select * from sysobjects where name=‘PK_id‘ ) 如果sysobjects表中有

alter table Person drop constraint PK_id                        就从这个表中删除

alter table Person                                                       修改Person

add constraint PK_id Primary Key(id)                            Person表中的id设为主键

 

设置Person表time 的默认值为2015的代码如下:

--设置默认值default for

alter table Person

add constraint DF_time default(‘2015‘) for time

 

设置Person表 age   的约束 Check约束的代码为:

alter table Person

add constraint CK_age Check(age>=0 and age<=100)

 

注意:只有查询可以多表操作,增删改都是单表操作         

 

 

数据库---》基础

标签:

原文地址:http://www.cnblogs.com/ruyudeshui/p/4354183.html

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