1、数据库设计就是将数据库中的数据实体及这些数据实体的关系,进行规划和结构化的过程
2、数据库设计过程
需求分析:分析客户需求
概要设计阶段:e-r图
详细设计阶段:建库、建表
3、数据库的系统分析(需求分析)
收集信息
标识实体
标识每个实体需要存储的详细信息
标识实体之间的关系
第一范式:确保每列的原子性
第二范式:确保每列都与主键相关
第三范式:确保每列都与主键直接相关
数据库文件组成
主数据文件:*.mdf
次要数据文件:*.ndf
【日志文件:*.ldf】
on primary --下面设置主数据文件的参数
(
name='mySchool_db',--数据库逻辑名,DBMS使用,不能重名,必选
filename='D:\db\mySchool.mdf',--物理文件名,OS使用,不能重名,必选
size=3mb,--初始大小,单位mb,可以省略mb,
filegrowth=1mb,--自动增长方式,单位mb,也可以写百分比
maxsize=10mb --最大大小,单位mb,不写默认为不限制增长
), --没有逗号,如果写了逗号而后面又没有写log on,则认为下面定义的是ndf文件
(
name='mySchool_db_2',--数据库逻辑名,DBMS使用,不能重名,必选
filename='E:\db\mySchool.ndf'--物理文件名,OS使用,不能重名,必选
)
log on --可以省略,
(
name='mySchool_log',--逻辑名,不能重名
filename='D:\db\myScool_log.ldf',--物理文件名
size=1,
filegrowth=10%,
maxsize=20
)
go
主键(primary key)pk_
非空(not null)
唯一(unique)uq_
检查(check)ck_
默认(default)df_
外键(foreign key references)fk_
添加约束
alter table 表名 add constraint 约束名 约束类型 具体的约束说明
删除约束
alter table 表名
drop constraint 约束名
局部变量
declare @变量名 数据类型
赋值 set(一般用于赋值给变量指定的数据常量【同时多个】【没有返回值时——null】)和select(一般用于从表中查询数据【如果多条则将最后一条赋值给变量】【没有返回值时——不变】)
数据类型转换
cast(变量 as 数据类型)
convert(数据类型 ,变量)
case多分支语句
case
when 条件一 then 结果一
。。。。。
【else 其他结果】
end