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(
'张三','XXX@163.com','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)
)