第二章:数据库的实现
1.相关回顾:
(1)第一范式(1NF)的目标:确保每列的原子性。
(2) 第二范式(2NF)的目标:确保表中的每列,都和主键相关 。
(3) 第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关 。
2.在需求分析阶段,设计数据库的一般步骤为:
(1 收集对象
(2)标识对象
(3)标识每个对象的属性
(4)标识对象之间的关系
3.建库的语法
IF EXISTS(SELECT * FROM SYSDATABASES或SYS.DATABASES WHERE name='stuDB')
DROP DATABASE stuDB
4.建表的语法
IF EXISTS(SELECT * FROM SYSOBJECTS或SYS.OBJECTS WHERE name='stuDB')
DROP TABLE stuInfo
5.创建数据库的语法
create database 数据库名称
on[primary]
(
<数据文件参数> [,…n] [<文件组参数>]
)
[LOG ON]
(
<日志文件参数> [,…n]
)
6.删除数据库
语法:
drop database 数据库名称;
删除多个数据库:
drop database 数据库名称1,数据库名称2,...数据库名称n;
7.创建数据库数据文件和日志文件的语法:
CREATE DATABASE 数据库名
on
{
NAME=逻辑名称,
FILENAME=物理文件名称,
SIZE=文件大小,
MAXSIZE=文件可长的最大大小,
FILEGROWTH=自动增长量
}
log on
{
………………………
}
8.创建表语法:
create table 表名
(
字段1 数据类型 字段特征,
字段2 数据类型 字段特征,
... ...
字段n 数据类型 字段特征,
)
9.修改表语法
添加列:
alter table 表名
add { 字段 数据类型 字段特征} [,...n]
删除列:
alter table 表名
drop column {字段} [,...n]
10.删除表:
DROP TABLE 表名
11.SQL Server的约束
常用的约束类型:
主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。
检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束
默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”
外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列
12。添加约束
添加约束语法:
alter table 表名
add constraint 约束名称 约束类型 约束内容
约束名的取名规则推荐采用:约束类型_约束字段
主键(Primary Key)约束:如 PK_stuNo
唯一(Unique Key)约束:如 UQ_stuID
默认(Default Key)约束:如 DF_stuAddress
检查(Check Key)约束:如 CK_stuAge
外键(Foreign Key)约束:如 FK_stuNo
13.删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名
例如:删除ReaderInfo表中性别默认约束
ALTER TABLE ReaderInfo
DROP CONSTRAINT DF_ReaderInfo_Sex