38、数据库设计

学习过程:

大家还记得软件开发的流程,需求分许书出来后。这时候程序员可以设计数据库了,美工可以设计界面了。根据需求我们设计以下的数据库。当然不同的程序员可能对同一需求设计出不同的数据库,数据库设计尽量符合三大范式,并且利于系统的开发和升级就可以了,大家可以参考一下我的数据库的设计,往后的系统开发都是基于这个数据库的。希望大家也先设计和我一样的数据库。

表说明如下:

1、管理员表

表名

tb_manager

 

字段名

数据类型

备注

manager_id

int(10)

管理员Id,主键

login_name

varchar(100)

登录名

passwd

varchar(100)

密码

2、用户表

表名

member

 

字段名

数据类型

备注

member_id

int(10)

用户Id,主键

login_name

varchar(100)

用户帐号

passwd

varchar(100)

密码

real_name

varchar(200)

真实姓名

addr

varchar(500)

地址

member_email

varchar(200)

邮箱

phone

varchar(20)

联系电话

postcode

varchar(15)

邮政编码

Head

Varchar(100)

用户头像

3、商品类别表

表名

goods_types

 

字段名

数据类型

备注

type_id

int(10)

商品类别Id,主键

type_name

varchar(100)

类别名称

4、商品信息表

表名

goods

 

字段名

数据类型

备注

goods_id

int(10)

商品Id,主键

type_id

int(10)

商品类别Id

goods_name

varchar(100)

商品名称

cash

decimal(9,2)

商品价格

infos

varchar(500)

商品信息

pic

varchar(100)

商品图片

nums

int

商品数量

5、订单表

表名

orders

 

字段名

数据类型

备注

order_id

int(10)

订单Id,主键

member_id

int(10)

用户Id

order_time

datetime

下单时间

addr

varchar(500)

地址

real_name

varchar(500)

姓名

phone

varchar(100)

联系电话

countcash

decimal(9,2)

订单额

status

int

订单状态 1--为每处理,2--已查看,3--已发送,4--交易成功,5--交易失败

6、订单详情表

表名

order_detail

 

字段名

数据类型

备注

detail_id

int(10)

详情Id,主键

order_id

int(10)

订单Id

goods_id

int(10)

商品Id

cash

decimal(9,2)

商品价格

nums

int(10)

商品数量

表模型如下:

大家可以根据上面的说明,先在powerdesigner设计表的模型,然后生成sql代码,这里我们先使用mysql数据库进行开发。

SET FOREIGN_KEY_CHECKS=0;


-- ----------------------------

-- Table structure `goods`

-- ----------------------------

DROP TABLE IF EXISTS `goods`;

CREATE TABLE `goods` (

  `nums` int(11) DEFAULT NULL,

  `pic` varchar(100) DEFAULT NULL,

  `infos` varchar(500) DEFAULT NULL,

  `cash` decimal(9,2) DEFAULT NULL,

  `goods_name` varchar(100) DEFAULT NULL,

  `type_id` int(10) DEFAULT NULL,

  `goods_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`goods_id`)

) ENGINE=InnoDB AUTO_INCREMENT=196 DEFAULT CHARSET=utf8;




DROP TABLE IF EXISTS `goods_types`;

CREATE TABLE `goods_types` (

  `type_name` varchar(100) DEFAULT NULL,

  `type_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`type_id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;



DROP TABLE IF EXISTS `member`;

CREATE TABLE `member` (

  `head` varchar(100) DEFAULT NULL,

  `postcode` varchar(15) DEFAULT NULL,

  `phone` varchar(20) DEFAULT NULL,

  `member_email` varchar(200) DEFAULT NULL,

  `addr` varchar(500) DEFAULT NULL,

  `real_name` varchar(200) DEFAULT NULL,

  `passwd` varchar(100) DEFAULT NULL,

  `login_name` varchar(100) DEFAULT NULL,

  `member_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`member_id`)

) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;



DROP TABLE IF EXISTS `order_detail`;

CREATE TABLE `order_detail` (

  `nums` int(10) NOT NULL,

  `cash` decimal(9,2) NOT NULL,

  `goods_id` int(10) DEFAULT NULL,

  `order_id` int(10) DEFAULT NULL,

  `detail_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`detail_id`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;




DROP TABLE IF EXISTS `orders`;

CREATE TABLE `orders` (

  `status` int(11) DEFAULT NULL,

  `countcash` decimal(9,2) DEFAULT NULL,

  `phone` varchar(100) DEFAULT NULL,

  `real_name` varchar(500) DEFAULT NULL,

  `addr` varchar(500) DEFAULT NULL,

  `order_time` varchar(100) DEFAULT NULL,

  `member_id` int(10) DEFAULT NULL,

  `order_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`order_id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `tb_manager`;

CREATE TABLE `tb_manager` (

  `passwd` varchar(100) DEFAULT NULL,

  `login_name` varchar(100) DEFAULT NULL,

  `manager_id` int(10) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`manager_id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

猜你喜欢

转载自blog.csdn.net/liubao616311/article/details/84072168