mysql数据库规划实例
时间:2024-12-20阅读数:11
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数据库规划实例:构建一个简略的在线书店
![](https://ps.ssl.qhimg.com/t0239fd32d855b47628.jpg)
一、需求剖析
![](https://ps.ssl.qhimg.com/t02cb2b69c7fe07416d.jpg)
用户注册与登录
图书阅读与查找
购物车办理
订单办理
谈论与评分
二、数据库规划准则
![](https://ps.ssl.qhimg.com/t021cc3056e439bd3fb.jpg)
在进行数据库规划时,咱们需求遵从以下准则:
榜首范式(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)
![](https://ps.ssl.qhimg.com/t02635c7193d8d83a5e.jpg)
谈论表存储用户对图书的谈论信息,包含谈论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数据库规划的基本准则和过程。在实践项目中,数据库规划需求依据详细需求进行调整和优化。期望本文能对您在数据库规划方面有所协助。
本站所有图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:[email protected]
猜你喜欢
-
银行大数据是什么意思,什么是银行大数据?
银行大数据一般指的是银行在日常运营过程中堆集的巨大而杂乱的数据调集。这些数据包含但不限于客户的个人信息、买卖记载、账户信息、信誉前史、商场趋势等。银行使用这些数据,经过大数据剖析技能,能够更深化地了解客户需求、优化服务流程、前进危险控制才能、增强商场竞赛力等。大数据剖析在银行中的使用十分广泛,例如:...。
2025-01-29数据库 -
玩脱了手游数据库,玩脱了手游数据库,我的游戏体会大打扣头!
1.玩脱了数据库的根本介绍:玩脱了手游数据库是一个专门为《FIFA足球国际》推出的球员数据库体系,玩家可以经过该体系查询和比照球员数据,进行阵型模仿和数据查看。2.数据更新与反应:数据库会定时更新,例如TOTS活动期间的数据更新,玩家可以前往相关中文数据库进行查看和比照。...。
2025-01-29数据库 -
装备办理数据库,深化解析装备办理数据库(CMDB)在IT运维中的重要性
装备办理数据库(ConfigurationManagementDatabase,简称CMDB)是一个存储和办理企业IT财物信息的数据库,它记载了IT基础设施...
2025-01-29数据库 -
数据库查询重复数据,办法与技巧
为了查询数据库中的重复数据,咱们需求先确认以下几点:1.数据库类型:你运用的是哪种数据库(如MySQL、PostgreSQL、SQLite、Oracle等)。2.表结构:需求查询的表结构,特别是哪些列或许会包括重复数据。3.查询条件:你需求依据哪些列来辨认重复数据。因为你并未供给具体的信息,我...。
2025-01-29数据库 -
linux检查mysql日志,Linux体系下检查MySQL日志的具体攻略
在Linux体系中,检查MySQL日志文件一般能够经过以下过程进行:1.确认日志文件的方位:MySQL的日志文件一般坐落MySQL的数据目录下。这个目录的方位或许会依据你的MySQL装置办法而有所不同。默许状况下,这个目录或许是`/var/lib/mysql/`。日志文件的称号一般...。
2025-01-29数据库