请根据一下需求创建一套逻辑恰当的mysql数据库以及对应的造表执行语句sql纪录每个用户的食品&药品信息以及过期提醒救生知识阅览收藏和备注;对这些知识分类并且推荐用户感兴趣的相关知识对设置有时间的事件提醒包括食品和药品即将过期时反馈一个信息给用户智能问答用户可以进行提问人工客服回答or管理员回答有区域图可以快速锁定最近的医护点并且获取医院信息;通知紧急联系人
数据库设计如下:
- 用户表
CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(50) NOT NULL,
email varchar(50) NOT NULL,
PRIMARY KEY (id)
);
- 食品表
CREATE TABLE food (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
user_id int(11) NOT NULL,
expire_date date NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
- 药品表
CREATE TABLE medicine (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
user_id int(11) NOT NULL,
expire_date date NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
- 救生知识表
CREATE TABLE knowledge (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL,
content text NOT NULL,
category varchar(50) NOT NULL,
PRIMARY KEY (id)
);
- 收藏表
CREATE TABLE favorite (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
knowledge_id int(11) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id),
FOREIGN KEY (knowledge_id) REFERENCES knowledge(id)
);
- 提醒表
CREATE TABLE reminder (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
type varchar(50) NOT NULL,
name varchar(50) NOT NULL,
expire_date date NOT NULL,
remind_date date NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
- 提问表
CREATE TABLE question (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
content text NOT NULL,
answer text,
status varchar(50) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
- 医院表
CREATE TABLE hospital (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) NOT NULL,
address varchar(200) NOT NULL,
phone varchar(50) NOT NULL,
lat double NOT NULL,
lng double NOT NULL,
PRIMARY KEY (id)
);
- 医护点表
CREATE TABLE medical_point (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) NOT NULL,
address varchar(200) NOT NULL,
phone varchar(50) NOT NULL,
lat double NOT NULL,
lng double NOT NULL,
PRIMARY KEY (id)
);
- 医护点-医院关联表
CREATE TABLE point_hospital (
id int(11) NOT NULL AUTO_INCREMENT,
point_id int(11) NOT NULL,
hospital_id int(11) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (point_id) REFERENCES medical_point(id),
FOREIGN KEY (hospital_id) REFERENCES hospital(id)
);
- 联系人表
CREATE TABLE contact (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
name varchar(50) NOT NULL,
phone varchar(50) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
注:以上表格只是一个大致设计,具体实现还需要根据实际需求进行调整。
原文地址: https://www.cveoy.top/t/topic/Fw7 著作权归作者所有。请勿转载和采集!