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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有