02E-R图、列约束

1.数据表的设计及E-R图
如模拟QQ游戏大厅项目
1.需求分析:分析系统要记录哪些信息。
2.数据表:游戏表、玩家表、分数表
3.每个表的字段
2.E-R(Entity-Relationship)实体关系图
 
3.完整性
实体完整性:
实体:即表中的一行(一条记录)代表一个实体(entity)
实体完整性的作用:标识每一行数据不重复。
主键缺失,即为失去实体完整性
数据完整性:主键不唯一
域完整性:
域代表当前单元格
域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较。
4.主键约束
主键:一列、或一组列,其值能够唯一标识表中的每一行。
作用:保证实体完整性
    1. 主键不允许为NULL
    2. 主键不允许修改或者更新
    3. 主键值不重复(如果某行从表中删除,它的主键不可以赋给以后的新行。)

create table users
(
user_qq varchar(20) not null primary key,
user_name varchar(50) not null ,
user_sex char(2) not null,
user_birthday datetime not null,
user_mobile char(11) not null
)
5.外键约束
作用:保证引用完整性

create table scores
(
user_qq varchar(20) not null
references users(user_qq),
GNO int not null
references games(GNO),
score int not null
)
6.检查约束
作用:保证域完整性

create table games
(
GNO int not null check(GNO>0) ,
Gname varchar(50) not null,
gtype varchar (20) not null
)
7.默认约束
作用:保证域完整性

create table users
(
user_qq varchar(20) not null,
user_name varchar(50) not null,
user_sex char(2) not null default "男",
user_birthday datetime not null,
user_mobile char(11) not null
)
8.自增列
作用:保证域完整性

create table games
(
GNO int not null auto_increment ,
gname varchar (50) not null ,
gtype varchar(20) not null
)
原文地址:https://www.cnblogs.com/yimengtianya1/p/8947631.html