📅  最后修改于: 2023-12-03 15:10:18.300000             🧑  作者: Mango
在数据库中,实体代表着现实世界中的一个事物或对象,它是与数据库进行交互的最基本的单元。一个实体可以是一个物品、一个人、一笔交易等等。
在很多应用中,用户实体经常出现。它通常包含用户名、密码、电子邮件地址等相关信息。用户实体在应用中起到了非常关键的作用,因为很多功能都需要知道当前登录的用户是谁。
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);
商品实体通常存在于电子商务平台中。它包含了商品的名称、价格、描述等信息。
CREATE TABLE product (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
description TEXT,
price DECIMAL(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
订单实体包含了一个用户下的所有商品订单信息。通常它包含了订单号、用户ID、商品ID等信息,以及订单的状态(未支付、已支付、已发货等)。
CREATE TABLE order (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_number VARCHAR(20) NOT NULL,
user_id INT NOT NULL,
product_id INT NOT NULL,
status ENUM('UNPAID', 'PAID', 'SHIPPED') NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(id),
FOREIGN KEY (product_id) REFERENCES product(id)
);
在数据库中,实体之间可以存在多种关系,包括一对一关系、一对多关系、多对多关系等。
例如,一个订单只能属于一个用户,但是一个用户可以有多个订单。这就是一对多的关系。在关系型数据库中,我们可以通过外键来建立实体之间的关联关系。
CREATE TABLE order (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_number VARCHAR(20) NOT NULL,
user_id INT NOT NULL,
product_id INT NOT NULL,
status ENUM('UNPAID', 'PAID', 'SHIPPED') NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(id),
FOREIGN KEY (product_id) REFERENCES product(id)
);
在数据库中,实体是最基本的单元。它代表现实世界中的一个事物或对象,在应用中扮演着非常重要的角色。实体之间可以存在多种关系,建立实体之间的关联关系可以帮助我们在进行数据查询时更加方便。