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

【SQL Server】学习笔记1

时间:2015-07-15 20:57:19      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

数据库设计范式

1范式:列的原子性,列不可再拆分

2范式:表中不能描述多个信息,不能有数据沉余

3范式:引用其它表的主键信息

 

 

约束

  1. 非空约束not null。不能出现空值
  2. 主键约束(PK)primary key constraint。唯一并且不为空
  3. 唯一约束(UQ)unique constraint。允许为空,但不能重复
  4. 默认约束(DF)default constraint。默认填入什么个值,比如默认填入男
  5. 检查约束(CK)check constraint。检查你填入的信息是否满足需求。
  6. 外键约束(FK)foreign key constraint。可以做也可以不做,做的时候保证你的数据更加有效。

 

 

创建数据库

MS SQLServer每个数据库包含

         1个主数据库文件(.mdf)必须

         1个事物日志文件(.ldf)必须

可以包含:

         任意多个次要数据文件(.ndf)

         多个事物日志文件

文件组:可将多个数据文件逻辑分到一组,方便日后管理维护(备份、将表建在指定的文件组上)

关于列类型

         文本类型:区分var、n

                            对于不带var的情况,表示不可变长度,如果赋值不够指定位数,用空格补齐

                            对于带var的情况,表示可变长度,如果赋值不够指定位数,以实际赋值为准

                   对于Unicode这种编码格式

                            如果带n,则每个字符占2个字节

                            如果不带n,则英文占1个字节,中文占两个字节

 

 

 

 

外键

         对应关系:1对1、1对多、多对多

         1对1的关系,这种数据存储到双方任意表里就可以

         1对多的关系,将关系的数据存储到多的一方表里

         多对多的关系,单独建立一个表,用于存储关系

         根据关系创建出来的列所存储的信息,需要满足第3NF

                   示例:部门-员工的关系是 1:n

只要在员工表中建立eDid(部门ID)这个列,就已经存储了部门与员工的关系外键只是一个约束,保证数据的有效性,外键需要建立在关系列上。

 

 

脚本

脚本执行快捷键Ctrl+E

SQL主要分为DDL(数据库定义语言 建表、建库等语句)、DML(数据库操作语言)和DCL(数据库控制语言)。CreateTable、AlterTable等属于DDL,Select、Insert、Update、Delete属于DML,GRANT授权、REVOKE取消授权属于DCL。

1.创建数据库

CREATE DATABASE name

2.删除数据库

drop database name

3.创建表

Create table name(

         列名 类型….

         cName nvarchar(10) not null,

         列表名为:cName

         类型为:nvarchar(10)

         不允许空:not null

)

4.删除表

Drop  table  name

5.增加约束

Alter  table  name

Add  constraint  CK_cname check (len(cName)>2)

技术分享

【SQL Server】学习笔记1

标签:

原文地址:http://www.cnblogs.com/yuruolt/p/4649384.html

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