您的位置:首页 > 数据库

newstyles项目实战(三)之 数据库创建

2018-03-08 10:38 337 查看
     按照我们的计划,在完成项目的主体框架的搭建之后,对于一个后台系统,建立数据库是一个重要的步骤,首先,需要根据需要对数据库进行设计:

     数据库中所记录的数据大致与商品以及客户的信息,以及客户和商品之间的关系而生成的一些表格。说到这里,对于数据库的建设,对于不同的应用目的其对应的建立数据库的策略也不相同,对于电商项目而言,其最大的需求在于数据的查询,查询数据量较大,最直观的理解即我们在浏览商品时,不想在此时等待很长时间吧。所以,其对数据库的压力主要来源于查询,所以一种策略为将数据库的表格建立为单表,尽可能多的使用单表查询,可能会有跟多的疑问,这样不就会造成大量的数据冗余嘛。是的,我们可以牺牲一部分空间来换取查询的时间的减少,空间和时间的问题一直以来就是一个悖论,所以在这里尽可能的在查询页面上减少等待,减少表之间的关联查询等。

    对此设计了以下几个表格:

+---------------------+
| Tables_in_newstyles |
+---------------------+
| tb_content          |
| tb_content_category |
| tb_item             |
| tb_item_cat         |
| tb_item_desc        |
| tb_item_param       |
| tb_item_param_item  |
| tb_order            |
| tb_order_item       |
| tb_order_shipping   |
| tb_user             |
+---------------------+


    其实对于一些开发项目,数据库应该是在前期进行需求分析等过程进行时就应该着手建立数据库的相关工作,因为数据库设计属于靠底层的设计,具体的每个表格中包含什么内容等,应该都设计好,除此之外,还有应该改进行数据的导入操作,完成后并测试检查数据库的结构和内容的组织情况。

   数据库的创建过程图下:

    利用create database + name命令在命令窗口中创建;

   如create database newstyles;

创建好数据库之后可以进行数据的导入操作,可以在MySQL的MySQL Workbench中创建DML和DDL语句,同样的也可在Navcat等相关的软件中进行管理和编写数据库命令,本次所使用的是从别人那里拷贝过来的数据库,所以,在命令窗口中 使用 source F:/ ·····/newstyles.sql即可完成数据库中表格,以及数据的导入,注意,一定要执行use newstyles;

命令之后进行导入,这里指定了使用的数据库为newstyles。

部分示例:

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for tb_content
-- ----------------------------
DROP TABLE IF EXISTS `tb_content`;
CREATE TABLE `tb_content` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`category_id` bigint(20) NOT NULL COMMENT '内容类目ID',
`title` varchar(200) DEFAULT NULL COMMENT '内容标题',
`sub_title` varchar(100) DEFAULT NULL COMMENT '子标题',
`title_desc` varchar(500) DEFAULT NULL COMMENT '标题描述',
`url` varchar(500) DEFAULT NULL COMMENT '链接',
`pic` varchar(300) DEFAULT NULL COMMENT '图片绝对路径',
`pic2` varchar(300) DEFAULT NULL COMMENT '图片2',
`content` text COMMENT '内容',
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `category_id` (`category_id`),
KEY `updated` (`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_content
-- ----------------------------
INSERT INTO `tb_content` VALUES ('28', '89', '标题1', '标题1', '标题1', 'http://www.jd.com', 'http://localhost:9000/images/2015/07/27/1437979301511057.jpg', null, '标题1', '2015-07-27 14:41:57', '2015-07-27 14:41:57');
INSERT INTO `tb_content` VALUES ('29', '89', 'ad2', 'ad2', 'ad2', 'http://www.baidu.com', 'http://localhost:9000/images/2015/07/27/1437979349040954.jpg', null, 'ad2', '2015-07-27 14:42:36', '2015-07-27 14:42:36');
INSERT INTO `tb_content` VALUES ('30', '89', 'ad3', 'ad3', 'ad3', 'http://www.sina.com.cn', 'http://localhost:9000/images/2015/07/27/1437979377450366.jpg', null, '', '2015-07-27 14:42:58', '2015-07-27 14:42:58');
INSERT INTO `tb_content` VALUES ('31', '89', 'ad4', 'ad4', 'ad4', 'ad4', 'http://localhost:9000/images/2015/07/27/1437979392186756.jpg', null, 'ad4', '2015-07-27 14:43:15', '2015-07-27 14:43:15');

-- ----------------------------
-- Table structure for tb_content_category
-- ----------------------------
DROP TABLE IF EXISTS `tb_content_category`;
CREATE TABLE `tb_content_category` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时,代表的是一级的类目',
`name` varchar(50) DEFAULT NULL COMMENT '分类名称',
`status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)',
`sort_order` int(4) DEFAULT NULL COMMENT '排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数',
`is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目,1为true,0为false',
`created` datetime DEFAULT NULL COMMENT '创建时间',
`updated` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `parent_id` (`parent_id`,`status`) USING BTREE,
KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 COMMENT='内容分类';

-- ----------------------------
-- Records of tb_content_category
-- ----------------------------
INSERT INTO `tb_content_category` VALUES ('30', '0', 'newstyles商城', '1', '1', '1', '2015-04-03 16:51:38', '2015-04-03 16:51:40');
INSERT INTO `tb_content_category` VALUES ('86', '30', '首页', '1', '1', '1', '2015-06-07 15:36:07', '2015-06-07 15:36:07');
INSERT INTO `tb_content_category` VALUES ('87', '30', '列表页面', '1', '1', '1', '2015-06-07 15:36:16', '2015-06-07 15:36:16');
INSERT INTO `t
4000
b_content_category` VALUES ('88', '30', '详细页面', '1', '1', '1', '2015-06-07 15:36:27', '2015-06-07 15:36:27');
INSERT INTO `tb_content_category` VALUES ('89', '86', '大广告', '1', '1', '0', '2015-06-07 15:36:38', '2015-06-07 15:36:38');
INSERT INTO `tb_content_category` VALUES ('90', '86', '小广告', '1', '1', '0', '2015-06-07 15:36:45', '2015-06-07 15:36:45');
INSERT INTO `tb_content_category` VALUES ('91', '86', '淘淘快报', '1', '1', '0', '2015-06-07 15:36:55', '2015-06-07 15:36:55');
INSERT INTO `tb_content_category` VALUES ('92', '87', '边栏广告', '1', '1', '0', '2015-06-07 15:37:07', '2015-06-07 15:37:07');
INSERT INTO `tb_content_category` VALUES ('93', '87', '页头广告', '1', '1', '0', '2015-06-07 15:37:17', '2015-06-07 15:37:17');
INSERT INTO `tb_content_category` VALUES ('94', '87', '页脚广告', '1', '1', '0', '2015-06-07 15:37:31', '2015-06-07 15:37:31');
INSERT INTO `tb_content_category` VALUES ('95', '88', '边栏广告', '1', '1', '0', '2015-06-07 15:37:56', '2015-06-07 15:37:56');
INSERT INTO `tb_content_category` VALUES ('96', '86', '中广告', '1', '1', '1', '2015-07-25 18:58:52', '2015-07-25 18:58:52');
INSERT INTO `tb_content_category` VALUES ('97', '96', '中广告1', '1', '1', '0', '2015-07-25 18:59:43', '2015-07-25 18:59:43');

-- ----------------------------
-- Table structure for tb_item
-- ----------------------------
DROP TABLE IF EXISTS `tb_item`;
CREATE TABLE `tb_item` (
`id` bigint(20) NOT NULL COMMENT '商品id,同时也是商品编号',
`title` varchar(100) NOT NULL COMMENT '商品标题',
`sell_point` varchar(500) DEFAULT NULL COMMENT '商品卖点',
`price` bigint(20) NOT NULL COMMENT '商品价格,单位为:分',
`num` int(10) NOT NULL COMMENT '库存数量',
`barcode` varchar(30) DEFAULT NULL COMMENT '商品条形码',
`image` varchar(500) DEFAULT NULL COMMENT '商品图片',
`cid` bigint(10) NOT NULL COMMENT '所属类目,叶子类目',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商品状态,1-正常,2-下架,3-删除',
`created` datetime NOT NULL COMMENT '创建时间',
`updated` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `cid` (`cid`),
KEY `status` (`status`),
KEY `updated` (`updated`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐