一,数据库设计基本阶段:1,需求分析阶段:分析客户的业务和数据处理需求
2,概要设计阶段:设计数据库的E-R图,确认信息的正确和完整
3,详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计三大范式进行审核
4,代码编写阶段:选择具体数据库进行物理实现,并编写代码实现前端应用。
E-R图: 使用长方形来表示一个实体,使用椭圆行来表示属性,使用菱形来表示关系。
范式(越高的范式数据库冗余越小):第一范式(1NF):如果每一个列都是不可分的最小数据单元(要求每一个列都具有原 子性),则满足第一范式。第二范式(2NF):如果一个关系满足1NF,并且除主键外的其他列都完全依赖于该主键,则满 足 第二范式(第二范式要求没一个表只描述一件事情)。第三范式(3NF):一个表中不存在冗余字段。
二, 从命令行创建数据表:1,登录mysql ,使用use命令切换到指定数据库。
2,使用create table语句创建数据表:
create table table_name(
col_name1 col_type [not null],
col_name1 col_type [not null],
......
)
3,演示: 首先进入命令行输入 use name; ,然后输入create table 表名称(字段名称 字段类型 是否为空值,下一个字段...);
三,为列添加约束
1,主键约束 保证实体的完整性。 关键字:PRIMARY KEY
create table users(
user_qq varchar(20) not null PRIMARY KEY,
user_name varchar(50) not null,
......
)
2,外键约束 保证引用的完整性。 关键字:REFERENCES
create table scores(
user_qq varchar(20) not null REFERENCES users(user_qq),
gno int not null REFERENCES games(guo),
score int not null
)
3,检查约束 保证域的完整性 关键字:CHECK
create table games(
gno int not null CHECK(gno>0),
gname varchar(50) not null,
gtype varchar(20) not null
)
4,默认约束 保证域的完整性 关键字:DEFAULT'男'
5,自增列 保证域的完整性 关键字:AUTO_INCREMENT