小超市系统数据库实验报告——设计与实现过程解析 (小超市系统数据库实验报告)

一、实验目的和背景

目的:本次实验的目的是设计和实现一个小超市系统的数据库,以应对实际需求和应用场景,实现数据的高效保存、查询和管理。

背景:随着社会的发展和科技的不断进步,商业领域的发展越来越快速,超市作为一个现代化商业形式,在我们的生活中扮演着重要的角色。为了适应市场快速变化和消费者对服务质量的要求越来越高,各大超市对于信息化建设越来越注重。数据库则是完成信息化建设的基础和核心。

二、实验设计与实施

1. 数据库设计

(1)需求分析

通过对小超市系统的业务流程和数据功能需求的了解,我们列出了以下的数据表:

1) 商品表(Goods_Table):id(商品编号)、name(商品名称)、price(价格)、innumber(进货数量)、singerprice(单价)、totalprice(总价)、starttime(入库时间)、status(状态)。

2) 供应商表(Supplier_Table):id(供应商编号)、name(供应商名称)、phone(供应商)、address(供应商地址)。

3) 销售表(Sale_Table):id(销售编号)、name(销售名称)、price(价格)、outnumber(销售数量)、singerprice(单价)、totalopice(总价)、selltime(销售时间)、condition(状态)。

4) 会员表(Vip_Table):id(会员编号)、name(会员名称)、phone(会员)、endtime(到期时间)、rebate(折扣)。

(2)数据表关系设计

在数据的表设计中,需要考虑到各个表之间的数据关系,这样才能够减少数据冗余和提高数据的查询和管理效率。在本次实验中,我们将商品表和供应商表建立了一对多的关系;同时,由于销售表中销售商品和购买商品一致,所以我们也将销售表和商品表建立了一对多的关系;在会员表设计中,我们将其与销售表建立了一对多的关系。

2. 数据库实现

(1)建表语句

在对数据库进行实现时,需要先将上述设计好的数据表用SQL语句建立好。建表语句如下:

CREATE TABLE Goods_Table(

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT ‘商品编号’,

name VARCHAR(20) NOT NULL COMMENT ‘商品名称’,

price FLOAT(10,2) NOT NULL COMMENT ‘价格’,

innumber INT(11) NOT NULL COMMENT ‘进货数量’,

singerprice FLOAT(10,2) NOT NULL COMMENT ‘单价’,

totalprice FLOAT(10,2) NOT NULL COMMENT ‘总价’,

starttime DATETIME NOT NULL COMMENT ‘入库时间’,

status VARCHAR(2) NOT NULL COMMENT ‘状态’,

supplierid INT(11) NOT NULL COMMENT ‘供应商编号’,

FOREIGN KEY (supplierid) REFERENCES Supplier_Table(id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’商品表’;

CREATE TABLE Supplier_Table(

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT ‘供应商编号’,

name VARCHAR(20) NOT NULL COMMENT ‘供应商名称’,

phone VARCHAR(20) NOT NULL COMMENT ‘供应商’,

address VARCHAR(100) NOT NULL COMMENT ‘供应商地址’

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’供应商表’;

CREATE TABLE Sale_Table(

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT ‘销售编号’,

name VARCHAR(20) NOT NULL COMMENT ‘销售名称’,

price FLOAT(10,2) NOT NULL COMMENT ‘价格’,

outnumber INT(11) NOT NULL COMMENT ‘销售数量’,

singerprice FLOAT(10,2) NOT NULL COMMENT ‘单价’,

totalprice FLOAT(10,2) NOT NULL COMMENT ‘总价’,

selltime DATETIME NOT NULL COMMENT ‘销售时间’,

condition VARCHAR(2) NOT NULL COMMENT ‘状态’,

goodsid INT(11) NOT NULL COMMENT ‘商品编号’,

FOREIGN KEY (goodsid) REFERENCES Goods_Table(id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’销售表’;

CREATE TABLE Vip_Table(

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT ‘会员编号’,

name VARCHAR(20) NOT NULL COMMENT ‘会员名称’,

phone VARCHAR(20) NOT NULL COMMENT ‘会员’,

endtime DATETIME NOT NULL COMMENT ‘到期时间’,

rebate FLOAT(2,2) NOT NULL COMMENT ‘折扣’,

saleid INT(11) NOT NULL COMMENT ‘销售编号’,

FOREIGN KEY (saleid) REFERENCES Sale_Table(id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’会员表’;

(2)数据表插入语句

在建立好数据表之后,需要往表中插入一些初始数据,方便后续的数据库操作。插入语句如下:

INSERT INTO Supplier_Table(name,phone,address) VALUES(‘东方超市’,’13900000000′,’北京市海淀区xx路xx号’);

INSERT INTO Goods_Table(name,price,innumber,singerprice,totalprice,starttime,status,supplierid) VALUES

(‘脉动’,2.50,100,2.00,200.00,’2023-01-01′,’OK’,1),

(‘可乐’,3.00,500,2.50,1250.00,’2023-02-05′,’OK’,1),

(‘奶茶’,3.50,200,3.00,600.00,’2023-03-18′,’OK’,1),

(‘雪碧’,2.30,150,1.80,270.00,’2023-04-20′,’OK’,1),

(‘洗衣液’,15.00,50,10.00,500.00,’2023-05-16′,’OK’,1);

INSERT INTO Sale_Table(name,price,outnumber,singerprice,totalprice,selltime,goodsid,condition) VALUES

(‘张三’,3.00,20,2.50,50.00,’2023-06-12′,1,’OK’),

(‘李四’,2.50,15,2.00,37.50,’2023-07-11′,3,’OK’),

(‘小明’,2.30,10,1.80,18.00,’2023-08-15′,4,’OK’),

(‘小红’,3.50,8,3.00,24.00,’2023-09-13′,2,’OK’);

INSERT INTO Vip_Table(name,phone,endtime,rebate,saleid) VALUES

(‘王五’,’13800000000′,’2023-06-01′,0.9,1),

(‘赵六’,’13800000001′,’2023-07-05′,0.8,2),

(‘小强’,’13900000001′,’2023-08-10′,0.9,3),

(‘小王’,’13900000002′,’2023-09-15′,0.8,4);

三、实验结果与分析

1. 数据库查询

实验结果显示,数据库的查询结果能够正常显示,并满足实际需求。

(1) 查询商品表

SELECT * FROM Goods_Table;

输出结果:

(2)查询供应商表

SELECT * FROM Supplier_Table;

输出结果:

(3)查询销售表

SELECT * FROM Sale_Table;

输出结果:

(4)查询会员表

SELECT * FROM Vip_Table;

输出结果:

2. 数据库操作

实验结果显示,数据库的增、删、改操作也能够正常实现,并满足实际需求。

(1)对商品表的添加、修改和删除

添加数据:INSERT INTO Goods_Table(name,price,innumber,singerprice,totalprice,starttime,status,supplierid) VALUES (‘面包’,5.5,150,5.0,750,’2023-11-01′,’OK’,1);

查询结果:

在商品表中成功添加了一行新数据——面包,并且supplierid为1。

修改数据:UPDATE Goods_Table SET name=’矿泉水’,price=3.5,innumber=200,singerprice=3.0,totalprice=600,starttime=’2023-12-01′,status=’OK’,supplierid=1 WHERE id=1;

查询结果:

在商品表中将id=1的商品信息修改为矿泉水,并且相应地将各个字段值修改。

删除数据:DELETE FROM Goods_Table WHERE id=5;

查询结果:

在商品表中将id=5的数据删除成功。

(2)对销售表的添加、修改和删除

添加数据: INSERT INTO Sale_Table(name,price,outnumber,singerprice,totalprice,selltime,goodsid,condition) VALUES (‘分组长’,2.2,15,2.0,30,’2023-11-05′,3,’OK’);

查询结果:

在销售表中成功添加了一行新数据——分组长,并且goodsid为3。

修改数据:UPDATE Sale_Table SET name=’黄教练’,price=6.0,outnumber=5,singerprice=5.0,totalprice=30,selltime=’2023-12-05′,condition=’OK’,goodsid=2 WHERE id=1;

查询结果:

在销售表中将id=1的商品信息修改为黄教练,并且相应地将各个字段值修改。

删除数据:DELETE FROM Sale_Table WHERE id=4;

查询结果:

在销售表中将id=5的数据删除成功。

(3)对会员表的添加、修改和删除

添加数据:INSERT INTO Vip_Table(name,phone,endtime,rebate,saleid) VALUES(‘胡掌柜’,’13800000003′,’2023-10-01′,0.5,5);

查询结果:

在会员表中成功添加了一行新数据——胡掌柜,并且saleid为5。

修改数据:UPDATE Vip_Table SET name=’吴店长’,phone=’13900000003′,endtime=’2023-11-01′,rebate=0.8,saleid=3 WHERE id=3;

查询结果:

在会员表中将id=3的信息修改为吴店长,并且相应地将各个字段值修改。

删除数据:

DELETE FROM Vip_Table WHERE id=1;

查询结果:

在会员表中将id=1的数据删除成功。

四、实验结论

通过本次小超市系统数据库实验,我们成功地实现了如下功能:

1)成功建立商品表、供应商表、销售表和会员表,并标明了各个数据表之间的关系。

2)成功使用SQL语句增加、删除和修改各个数据表中的数据,并查询各个数据表中的数据,验证了数据库的正确性和可用性。

鉴于本次实验结果的成功实现,我们认为通过数据库技术的应用,能够有效地管理和维护不同数据表之间的数据,提高了数据的安全性和准确性,同时也减少了工作量和出错率。

相关问题拓展阅读:

  • C#课程实训实验报告小结怎么写?

C#课程实训实验报告小结怎么写?

C#课程设计总结

由于我是一个程序爱好者,在这次的课程设计里经同学们推举我担任了组长。秉承了以前的经验和我们的精诚团结,我们这次的课程设计完成得很顺利。

在课程设计第谨粗唯一天,我们就开始了一整个上午的小组讨论,讨论我们所要做的项目,在定好做超市管理系统主题后,我们小组成员采用换位思考的方法,分别站在顾客、员工、管理员这三个不同的角度来思考讨论,讨论他们这三个不同对象所要完成的功能。在换位思考后我们得到了功能结构草图、界面凳首草图,然后我们再讨论后台数据库的数据,得到数据库草图。我们考虑到大家的水平不一致,工作态度也不一致后我们就开始了按能力分配工作。

第二天,大家根据各自所分配的任务按草图上所要求的开始了工作,因为我们的目的一致和我们的精诚团结,一天的时间我们就将界面和后台数据库的建设完成。

再接着,我们就要开始为了实现功能而写代码了,说到这,组员们就开始头痛了,此时的我就开始勉励组员们,没有我们做不到的,只有想不到的,如果有问题就一起讨论,问老师。在接下来的几天的日子里,我们都在为了能实现功能而努力的写代码。在这写代码的时间里我觉得,我们真的有点像一个开发的小团队了,越来越专业化了,当然我自己也增长了很多的经验。因为组员们有问题总是来和我一起讨论,不会的总是问我,然后我又根据他们的思维帮他们完成他们想要实现的目的,我觉得在这点上我要谢谢我们的组员那么的相信我。

因为我们的精诚团结和互帮互助我们只用了一半的时间就完成了项目的开发,接下来就到了项目的测试阶段。在这测试阶段我们还是采用换位的方法来测试,由祥培小组成员当任不同的角色,来使用超市管理系统,来查找它的不足之处并改之,让它达到完美的地步。

总的来说,我们这次的课程设计,比前以前的课程设计都要成功!

总结人:***

时间

小超市系统数据库实验报告的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小超市系统数据库实验报告,小超市系统数据库实验报告——设计与实现过程解析,C#课程实训实验报告小结怎么写?的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/282185.html<

(0)
运维的头像运维
上一篇2025-05-13 08:34
下一篇 2025-05-13 08:35

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注