MySQL食堂数据库:Mysql数据库
背景介绍
随着信息化时代的到来,高校食堂管理也逐渐向数字化和智能化方向发展,通过使用MySQL数据库,可以有效地管理食堂的各种数据,包括菜品信息、订单记录、库存管理等,本文将详细介绍如何使用MySQL创建一个简易的食堂管理系统数据库。
数据库设计
在设计食堂管理系统数据库时,需要考虑以下几个关键实体及其关系:
1、顾客(Customer):存储顾客的基本信息。
2、菜品(Dish):存储菜品的详细信息。
3、订单(Order):存储顾客的订单信息。
4、库存(Inventory):存储食材的库存信息。
5、供应商(Supplier):存储供应商的基本信息。
数据库实现
创建数据库和表
我们需要创建一个名为canteen
的数据库,并在其中创建上述提到的各个表。
CREATE DATABASE canteen;
USE canteen;
-创建顾客表
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY,
Name VARCHAR(50),
Gender ENUM('Male', 'Female'),
Phone VARCHAR(20)
);
-创建菜品表
CREATE TABLE Dish (
DishID INT PRIMARY KEY,
DishName VARCHAR(50),
Price DECIMAL(10, 2),
Description TEXT
);
-创建订单表
CREATE TABLEOrder
(
OrderID INT PRIMARY KEY,
CustomerID INT,
DishID INT,
Quantity INT,
OrderDate DATETIME,
FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
FOREIGN KEY (DishID) REFERENCES Dish(DishID)
);
-创建库存表
CREATE TABLE Inventory (
InventoryID INT PRIMARY KEY,
DishID INT,
Quantity INT,
FOREIGN KEY (DishID) REFERENCES Dish(DishID)
);
-创建供应商表
CREATE TABLE Supplier (
SupplierID INT PRIMARY KEY,
Name VARCHAR(50),
ContactInfo VARCHAR(50)
);
插入数据
我们可以向这些表中插入一些示例数据。
-插入顾客数据
INSERT INTO Customer (CustomerID, Name, Gender, Phone) VALUES
(1, '张三', 'Male', '1234567890'),
(2, '李四', 'Female', '0987654321');
-插入菜品数据
INSERT INTO Dish (DishID, DishName, Price, Description) VALUES
(1, '红烧肉', 15.00, '经典的中式菜肴'),
(2, '炒青菜', 5.00, '新鲜的绿色蔬菜');
-插入订单数据
INSERT INTOOrder
(OrderID, CustomerID, DishID, Quantity, OrderDate) VALUES
(1, 1, 1, 2, NOW()),
(2, 2, 2, 1, NOW());
-插入库存数据
INSERT INTO Inventory (InventoryID, DishID, Quantity) VALUES
(1, 1, 100),
(2, 2, 200);
-插入供应商数据
INSERT INTO Supplier (SupplierID, Name, ContactInfo) VALUES
(1, '农夫山泉有限公司', 'contact@example.com');
数据操作与查询
查询特定记录
查询所有顾客的信息:
SELECT * FROM Customer;
更新数据
更新某个菜品的价格:
UPDATE Dish SET Price = 18.00 WHERE DishID = 1;
删除数据
删除一个顾客:
DELETE FROM Customer WHERE CustomerID = 1;
高级应用
视图(View)
为了简化复杂查询,可以创建视图,创建一个视图来显示所有未完成的订单:
CREATE VIEW PendingOrders AS
SELECT * FROMOrder
WHERE OrderDate > NOW();
存储过程(Stored Procedure)
为了提高代码复用性,可以编写存储过程,创建一个存储过程来添加新菜品:
DELIMITER // CREATE PROCEDURE AddNewDish(IN dishName VARCHAR(50), IN price DECIMAL(10, 2), IN description TEXT) BEGIN INSERT INTO Dish (DishName, Price, Description) VALUES (dishName, price, description); END // DELIMITER ;
调用存储过程:
CALL AddNewDish('糖醋里脊', 20.00, '酸甜可口的经典菜肴');
归纳与展望
通过上述步骤,我们已经成功搭建了一个基本的食堂管理系统数据库,未来可以根据实际需求进一步优化和完善,例如增加用户权限管理、在线支付功能等,希望本文能为你提供有价值的参考,并帮助你更好地理解和应用MySQL数据库技术。
以上就是关于“mysql食堂数据库_Mysql数据库”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1324086.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复