SSH网上商城1_数据库设计

2024-03-23 03:48

本文主要是介绍SSH网上商城1_数据库设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接下来,将要进行我学习一个SSH网上商城的笔记,前面的需求分析已经忽略,直接开始数据库设计的学习

基本上一个模块就对应一个表:①用户模块②一级分类③二级分类④商品表⑤订单表⑥订单项表⑦后台登录用户表

创建数据库shop:CREATE DATABASE shop;

删除数据库:DROP DATABASE database_name;

①用户表

用户序号用户名密码真实姓名邮箱地址电话用户状态激活码(0为未激活,1为已激活) 
         
主码        

②一级分类

一级分类序号一级分类名称
  
主码 

③二级分类

二级分类序号二级分类名称一级分类序号
  外码
主码  


④商品表

商品序号商品名称商品商城价格商品市场价格商品描述商品图片(路径)二级分类序号
      外码
主码      


⑤订单表

订单序号订单金额订单状态订单地址订单电话订单收货人用户序号
      外码
主码      

⑥订单项表
订单项序号商品序号订单序号数量小计
 外码外码  
主码    


⑦后台登录用户表

用户名密码
  
主码 

mysql 语句实现

DROP TABLE IF EXISTS `adminuser`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `adminuser` (`uid` INT(11) NOT NULL AUTO_INCREMENT,`username` VARCHAR(255) DEFAULT NULL,`password` VARCHAR(255) DEFAULT NULL,PRIMARY KEY (`uid`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (`cid` INT(11) NOT NULL AUTO_INCREMENT,`cname` VARCHAR(255) DEFAULT NULL,PRIMARY KEY (`cid`)
) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `categorysecond`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `categorysecond` (`csid` INT(11) NOT NULL AUTO_INCREMENT,`csname` VARCHAR(255) DEFAULT NULL,`cid` INT(11) DEFAULT NULL,PRIMARY KEY (`csid`),KEY `FK936FCAF21DB1FD15` (`cid`),CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)
) ENGINE=INNODB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `orderitem`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `orderitem` (`itemid` INT(11) NOT NULL AUTO_INCREMENT,`count` INT(11) DEFAULT NULL,`subtotal` DOUBLE DEFAULT NULL,`pid` INT(11) DEFAULT NULL,`oid` INT(11) DEFAULT NULL,PRIMARY KEY (`itemid`),KEY `FKE8B2AB6166C01961` (`oid`),KEY `FKE8B2AB6171DB7AE4` (`pid`),KEY `FKE8B2AB6140ACF87A` (`oid`),CONSTRAINT `FKE8B2AB6140ACF87A` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`),CONSTRAINT `FKE8B2AB6171DB7AE4` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`)
) ENGINE=INNODB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `orders`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `orders` (`oid` INT(11) NOT NULL AUTO_INCREMENT,`total` DOUBLE DEFAULT NULL,`ordertime` DATETIME DEFAULT NULL,`state` INT(11) DEFAULT NULL,`name` VARCHAR(20) DEFAULT NULL,`phone` VARCHAR(20) DEFAULT NULL,`addr` VARCHAR(50) DEFAULT NULL,`uid` INT(11) DEFAULT NULL,PRIMARY KEY (`oid`),KEY `FKC3DF62E5AA3D9C7` (`uid`),CONSTRAINT `FKC3DF62E5AA3D9C7` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`)
) ENGINE=INNODB AUTO_INCREMENT=9004 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `product`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `product` (`pid` INT(11) NOT NULL AUTO_INCREMENT,`pname` VARCHAR(255) DEFAULT NULL,`market_price` DOUBLE DEFAULT NULL,`shop_price` DOUBLE DEFAULT NULL,`image` VARCHAR(255) DEFAULT NULL,`pdesc` VARCHAR(255) DEFAULT NULL,`is_hot` INT(11) DEFAULT NULL,`pdate` DATETIME DEFAULT NULL,`csid` INT(11) DEFAULT NULL,PRIMARY KEY (`pid`),KEY `FKED8DCCEFB9B74E02` (`csid`),CONSTRAINT `FKED8DCCEFB9B74E02` FOREIGN KEY (`csid`) REFERENCES `categorysecond` (`csid`)
) ENGINE=INNODB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user` (`uid` INT(11) NOT NULL AUTO_INCREMENT,`username` VARCHAR(255) DEFAULT NULL,`password` VARCHAR(255) DEFAULT NULL,`name` VARCHAR(255) DEFAULT NULL,`email` VARCHAR(255) DEFAULT NULL,`phone` VARCHAR(255) DEFAULT NULL,`addr` VARCHAR(255) DEFAULT NULL,`state` INT(11) DEFAULT NULL,`code` VARCHAR(64) DEFAULT NULL,PRIMARY KEY (`uid`)
) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;


这篇关于SSH网上商城1_数据库设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837043

相关文章

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S