文章目录
- Company:
- User:
- user_pwd:
- obs_log(操作日志)
- 文件表
Company:
列名 |
数据类型 |
约束 |
备注 |
Company_name |
varchar(100) |
主键 |
|
Address |
Varchar(100) |
非空 |
|
Phone |
Varchar(30) |
非空 |
|
Contact_person |
Varchar(20) |
无 |
|
Date |
Datetime |
无 |
|
State |
bool |
无 |
True可用,false不可用 |
|
|
|
|
建表:
create table company(
company_name varchar(100) primary key,
address varchar(100),
phone varchar(30),
contact_person varchar(20),
date datetime,
state bool,
);
插入数据:
insert into company values('
company of XXX','shanghai,china','010-124542','张先生','2020-07-11 16:05:30',true
);
User:
列名 |
数据类型 |
约束 |
备注 |
name |
Varchar(20) |
唯一、非空 |
|
email |
Varchar(30) |
非空 |
修改密码用 |
phone |
Varchar(30) |
非空 |
|
is_admin_ |
bool |
非空 |
判断是否是管理 |
state |
bool |
非空 |
账号是否可用 |
company_name |
varchar(100) |
外键 |
来自公司表 |
|
|
|
|
创建表:
create table user(
name varchar(20) primary key,
email varchar(30),
phone varchar(30),
is_admin bool,
state bool,
company_name varchar(100),
FOREIGN KEY(company_name) REFERENCES company(company_name)
);
插入数据:
insert into user values(
'张三','[email protected]','152******70',true,true,'company of XXX'
);
尝试删表发现失败:
drop table company;
因为 company表对user表有外键约束
FOREIGN KEY(company_name) REFERENCES company(company_name)
这一句的意思是外键约束,当前company_name的值来自于company表中的company_name属性。
- 如果当前表插入 的company_name值,它在user的name属性中没有,则不允许插入。
- 在当前表没有删除的时候,如果有对company表的删除操作,那么它将会被拒绝。
user_pwd:
列名 |
数据类型 |
约束 |
备注 |
name |
Varchar(20) |
主键、外键 |
|
pwd_md5 |
Varchar(32) |
非空 |
|
创建表:
create table user_pwd(
name varchar(20) primary key,
pwd_md5 varchar(32),
FOREIGN KEY(name) REFERENCES user(name)
);
添加数据:
insert into user_pwd values(
'张三',
'123456'
);
查询:
当用户输入账号和密码的时候,进行表的查询
select pwd_md5 from user_pwd where name = '张三';
obs_log(操作日志)
列名 |
数据类型 |
约束 |
备注 |
name |
Varchar(20) |
主键、外键 |
主键、来自用户类 |
oper_time |
datetime |
非空 |
|
action |
Varchar(20) |
非空 |
|
创建日志表
create table obs_log(
name varchar(20) primary key,
oper_time datetime,
action varchar(20),
FOREIGN KEY(name) REFERENCES user(name)
);
文件表
列名 |
数据类型 |
约束 |
备注 |
File_path |
Varchar(100) |
联合主键 |
文件路径 |
File_name |
Varchar(50) |
|
文件名 |
File_md5 |
Varchar(32) |
|
暂时允许不填 |
Create_time |
datetime |
|
创建时间 |
Owner |
Varchar(32) |
外键 |
所属人,来自用户表 |
create table file(
file_path varchar(100),
file_name varchar(50),
file_md5 varchar(32),
PRIMARY KEY(file_path, file_name)
)