标签:
数据库设计范式
1范式:列的原子性,列不可再拆分
2范式:表中不能描述多个信息,不能有数据沉余
3范式:引用其它表的主键信息
约束
创建数据库
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)
标签:
原文地址:http://www.cnblogs.com/yuruolt/p/4649384.html