mysql数据库规划实例
MySQL数据库规划实例能够依据不同的使用场景和需求来规划。以下是一个简略的实例,假定咱们需求规划一个简略的博客体系,包含用户、文章和谈论三个实体。
1. 用户表(users): user_id(主键):用户仅有标识 username:用户名 password:暗码 email:邮箱地址 created_at:创立时刻
2. 文章表(articles): article_id(主键):文章仅有标识 user_id(外键):相关用户表,表明文章的作者 title:文章标题 content:文章内容 created_at:创立时刻 updated_at:更新时刻
3. 谈论表(comments): comment_id(主键):谈论仅有标识 article_id(外键):相关文章表,表明谈论所属的文章 user_id(外键):相关用户表,表明谈论的作者 content:谈论内容 created_at:创立时刻
下面是相应的MySQL创立表的SQL句子:
```sqlCREATE TABLE users NOT NULL, password VARCHAR NOT NULL, email VARCHAR NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMPqwe2;
CREATE TABLE articles NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY REFERENCES usersqwe2;
CREATE TABLE comments REFERENCES articles, FOREIGN KEY REFERENCES usersqwe2;```
MySQL数据库规划实例:构建一个简略的在线书店
一、需求剖析
用户注册与登录
图书阅读与查找
购物车办理
订单办理
谈论与评分
二、数据库规划准则
在进行数据库规划时,咱们需求遵从以下准则:
榜首范式(1NF):保证表中每个字段都是不可分割的原子值。
第二范式(2NF):保证表中所有非主特点都彻底依靠于主键。
第三范式(3NF):保证表中不存在传递依靠,即非主特点不依靠于其他非主特点。
三、数据库表规划
依据需求剖析,咱们能够规划以下数据库表:
1. 用户表(users)
用户表存储用户的基本信息,包含用户ID、用户名、暗码、邮箱、注册时刻等。
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100),
register_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
2. 图书表(books)
图书表存储图书的基本信息,包含图书ID、书名、作者、出书社、出书时刻、价格、库存等。
CREATE TABLE books (
book_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50),
publisher VARCHAR(50),
publish_time DATE,
price DECIMAL(10, 2),
stock INT
3. 购物车表(carts)
购物车表存储用户在购物车中的图书信息,包含购物车ID、用户ID、图书ID、数量等。
CREATE TABLE carts (
cart_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
book_id INT,
quantity INT,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (book_id) REFERENCES books(book_id)
4. 订单表(orders)
订单表存储用户的订单信息,包含订单ID、用户ID、图书ID、数量、订单时刻、订单状况等。
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
book_id INT,
quantity INT,
order_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20),
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (book_id) REFERENCES books(book_id)
5. 谈论表(comments)
谈论表存储用户对图书的谈论信息,包含谈论ID、用户ID、图书ID、谈论内容、谈论时刻等。
CREATE TABLE comments (
comment_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
book_id INT,
content TEXT,
comment_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (book_id) REFERENCES books(book_id)
本文经过构建一个简略的在线书店实例,展现了MySQL数据库规划的基本准则和过程。在实践项目中,数据库规划需求依据详细需求进行调整和优化。期望本文能对您在数据库规划方面有所协助。