• 一、 概述 本网上商城是一个综合性的B2C平台,可以在商城浏览商品、下订单、以及参加各种活动 管理员、运营可以在平台后台... 设计一个网购商城的数据库,以实现网购商城网站系统 2.12数据库选择 系统采用MyS...

    一、 概述
    本网上商城是一个综合性的B2C平台,可以在商城浏览商品、下订单、以及参加各种活动
    管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。
    客服可以在后台管理系统中处理用户的询问以及投诉。
    不过,暂时可能技术还不够硬……
    二、需求分析
    2.1 数据库设计目的
    设计一个网购商城的数据库,以实现网购商城网站系统

    2.12数据库选择
    系统采用MySQL作为数据库
    2.13数据库编码
    数据库采用UTF-8编码格式

    2.2需要完成的功能

    功能描述:

    1. 后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
    2. 前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。
    3. 会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。
    4. 订单系统:提供下单、查询订单、修改订单状态、定时处理订单。
    5. 搜索系统:提供商品的搜索功能。
    6. 单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。

    2.3数据表设计

    2.30 E-R图的模型设计
    (1)实体集
    用户 商品 商品类目 订单
    (2)实体间联系
    用户与商品多对多关系
    商品与商品类目一对多关系(分类)
    用户与购物车一对一关系(用户只能拥有一购物车)
    用户与订单细节一对多关系
    购物车与商品一对多关系(一购物车可以存放多个商品)
    购物车与订单细节一对多关系

    (3)E-R图
    实体间联系E-R图
    这里写图片描述

    2.31商品表:

    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='商品表';
    

    2.32商品描述表:

    CREATE TABLE `tb_item_desc` (
      `item_id` bigint(20) NOT NULL COMMENT '商品ID',
      `item_desc` text COMMENT '商品描述',
      `created` datetime DEFAULT NULL COMMENT '创建时间',
      `updated` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`item_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品描述表';
    

    2.33商品类目表:

    CREATE TABLE `tb_item_cat` (
      `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=1183 DEFAULT CHARSET=utf8 COMMENT='商品类目';
    
    

    2.34用户表:

    CREATE TABLE `tb_user` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `username` varchar(50) NOT NULL COMMENT '用户名',
      `password` varchar(32) NOT NULL COMMENT '密码,加密存储',
      `phone` varchar(20) DEFAULT NULL COMMENT '注册手机号',
      `email` varchar(50) DEFAULT NULL COMMENT '注册邮箱',
      `created` datetime NOT NULL,
      `updated` datetime NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`username`) USING BTREE,
      UNIQUE KEY `phone` (`phone`) USING BTREE,
      UNIQUE KEY `email` (`email`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='用户表';
    

    2.35内容表:

    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;
    

    2.36内容分类表:

    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='内容分类';
    

    2.37订单表:

    CREATE TABLE `tb_order` (
      `order_id` varchar(50) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '订单id',
      `payment` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '实付金额。精确到2位小数;单位:元。如:200.07,表示:200元7分',
      `payment_type` int(2) DEFAULT NULL COMMENT '支付类型,1、在线支付,2、货到付款',
      `post_fee` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '邮费。精确到2位小数;单位:元。如:200.07,表示:200元7分',
      `status` int(10) DEFAULT NULL COMMENT '状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭',
      `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',
      `update_time` datetime DEFAULT NULL COMMENT '订单更新时间',
      `payment_time` datetime DEFAULT NULL COMMENT '付款时间',
      `consign_time` datetime DEFAULT NULL COMMENT '发货时间',
      `end_time` datetime DEFAULT NULL COMMENT '交易完成时间',
      `close_time` datetime DEFAULT NULL COMMENT '交易关闭时间',
      `shipping_name` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流名称',
      `shipping_code` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流单号',
      `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
      `buyer_message` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '买家留言',
      `buyer_nick` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '买家昵称',
      `buyer_rate` int(2) DEFAULT NULL COMMENT '买家是否已经评价',
      PRIMARY KEY (`order_id`),
      KEY `create_time` (`create_time`),
      KEY `buyer_nick` (`buyer_nick`),
      KEY `status` (`status`),
      KEY `payment_type` (`payment_type`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    

    2.38订单项表:

    CREATE TABLE `tb_order_item` (
      `id` varchar(20) COLLATE utf8_bin NOT NULL,
      `item_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '商品id',
      `order_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '订单id',
      `num` int(10) DEFAULT NULL COMMENT '商品购买数量',
      `title` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品标题',
      `price` bigint(50) DEFAULT NULL COMMENT '商品单价',
      `total_fee` bigint(50) DEFAULT NULL COMMENT '商品总金额',
      `pic_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品图片地址',
      PRIMARY KEY (`id`),
      KEY `item_id` (`item_id`),
      KEY `order_id` (`order_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    展开全文
  • 数据库课程设计

    2019-07-12 20:13:23
    图书管理系统 1.概述 项目背景 2.需求分析 2.1 系统需求 2.2 数据需求 2.3 数据字典 2.3.1 书籍信息表 2.3.2 库存信息表 2.3.4 顾客信息表 2.3.5 管理员信息表 ...3.数据库设计 3.1 ...

                                                 图书管理系统

    1.概述

    项目背景

    2.需求分析

    2.1 系统需求

    2.2 数据需求

    2.3  数据字典

    2.3.1 书籍信息表

    2.3.2 库存信息表

    2.3.4 顾客信息表

    2.3.5 管理员信息表

    2.3.6 图书类型信息表

    2.3.7 订单详细信息表

    3.数据库设计

    3.1 概念结构设计

    3.2 逻辑结构设计

    3.2.1 关系模型

    3.2.2 细化表结构

    3.3 数据库实施

    3.3.1 建表


    1.概述

    1. 项目背景

           目前社会上信息管理系统发展飞速,越来越多的企业事业单位引入信息管理软件来管理自己日益增长的各种信息。各种网店也采用了不同的管理系统来管理商品信息,取得了很大的成效。网上书店管理系统也在功能上不但完善和加强,为了使书店管理更加规范化,程序化,科学化,我们研发了网上书店管理系统。

    在电子商务网站中,网上书店是目前应用最广,最成功的典范之一。通过它用户可以在网络上通过Internet,突破时间和空间的限制而实现网上购书。网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通大发行环节,将广大读者、图书、出版者、发行者紧密结合在一起,大大提高了图书流通率。

    1. 1系统说明

            本系统的功能是为管理者提供方便的管理、为顾客提供快捷的购买。系统的主要子模块有图书管理、用户管理等,可实现日常图书进货、发货业务。顾客可以进入图书查询界面通过图书类别、图书名称、图书编号等查询图书。管理者可以通过登录管理界面实现对图书的添加、修改、删除操作以及发货和查看顾客信息,管理员可以维护顾客的注册信息。用到的软件是SQL Server。

    2.需求分析

    2.1 系统需求

            书店管理系统要满足一下需求:第一,书店人员通过计算机管理各类图书,进行图书分类编号,调整图书结构,增加图书库存,适应读者需求。第二,管理员对读者的需求情况能做好全面的掌握,及时得到历史销售记录。第三,对图书的销售管理。

    2.2 数据需求

    基于系统需求分析,该系统需要实现以下基本功能:

    1、顾客信息的输入、查询、修改,包括注册名,真实姓名,家庭住址,联系方式,订单号。

    2、书籍类别制定、信息输入、查询、修改,包括类别编号,类别名称。

    3、书籍信息的输入、查询、修改,包括数据的编号、名称、类别、作者姓名、出版社名称、出版日期。

    4、订单信息的查询、修改,包括订单号,订购人,订购日期,订购书籍的编号、书籍数量、发货日期。

    5、库存信息的输入、查询、修改,包括书籍的编号、库存量、价格。

    6、管理员信息的输入、查询、修改,包括管理员编号、具体身份。

    2.3  数据字典

    2.3.1 书籍信息表

              含义说明:书店关系体统的核心信息,提供了书籍的具体信息。

         组成:ISBN号,书籍名称,书籍作者,书籍出版年份,书籍价格

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    ISBN号

    区别每本书的唯一标识

    varchar

    80

    任意合法字符且在长度范围内

    书籍名称

    书籍名称

    Varchar

    80

    合法字符

    书籍作者

    书籍作者

    varchar

    10

    合法字符

    书籍出版年份

    书籍出版日期

    Datetime

    日期型的长度

    符合日期的规则

    成交量

    书籍的成交量

    BIGINT

    大整数

    图书的成交量

    出版社

    书籍的出版社

    Char

    30

    合法字符

    图书定价

    书籍价格

    Int

    长整数

    图书的价格

    折扣

    图书售卖时的折扣

    Int

    长整数

    图书的折扣

    2.3.2 库存信息表

         含义说明:书店关系系统的核心信息,提供了库存的信息。

         组成:ISBN号,库存量,价格,折扣,库存下限(如果低于下限则提示进货)

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    ISBN号

    区别每本书的唯一标识

    varchar

    80

    合法字符

    库存量

    书籍的存货量

    int

    10

    1-9999999999

    库存下限

    书籍在仓库中的最少数量

    int

    10

    1-9999999999

     

     

    2.3.3 订单信息表

          含义说明:书店关系系统的核心信息,提供了订单的具体信息。

          组成:订单号,订购人,订购日期,订单书籍,书籍数量,发货日期。

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    订单号

    区别每个不同订单的唯一标识

    Varchar

    20

    合法的字符

    订购人

    订购人的注册网名

    Varchar

    10

    合法的字符

    订购日期

    用户生成订单的时间

    Datetime

    日期型的长度

    满足特定的日期格式

    订单书籍

    订单书籍的ISBN号

    Varchar

    80

    合法的字符

    书籍数量

    每份订单书籍的数量

    Int

    1

    1-9999999999

    发货日期

    管理员确定发货时间

    Datetime

    日期长度

    满足日期格式

    2.3.4 顾客信息表

           含义说明:书店关系系统的核心信息,提供了顾客的具体信息。

           组成:注册名,真实姓名,家庭住址,联系方式,购书卡号。

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    注册名

    唯一区分用户的表示

    Varchar

    20

    合法的字符

    真实姓名

    顾客的真实姓名

    Varchar

    20

    合法的字符

    家庭住址

    顾客收货地址

    Varchar

    100

    合法的字符

    联系方式

    顾客的电话号码

    Varchar

    20

    合法的字符

    购书卡号

    顾客的购书卡号

    Varchar

    30

    合法的字符

    2.3.5 管理员信息表

           含义说明:书店关系系统的核心信息,提供了雇员的基本信息,管理权限等。

           组成:管理员编号,名字,密码,具体身份(超级管理员,书籍管理员,用户管理员,订单管理员),管理员邮箱。

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    管理员编号

    唯一区分管理员的表识

    varchar

    20

    合法的字符

    管理员名字

    管理员的姓名

    varchar

    20

    合法的字符

    密码

    管理员进入系统的密码

    varchar

    10

    合法的字符

    具体身份

    管理员管理范围

    Varchar

    20

     

    邮箱

    管理员与用户交流方式

    Varchar

    30

    合法的邮箱地址

    2.3.6 图书类型信息表

    含义说明:提供了书籍的类别信息。

           组成:图书类型编号,类别名称。

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    数据类型号

    区别图书类型的唯一标识

    Varchar

    20

    任意合法字符且在长度范围内

    类别名称

    类别名称

    Varchar

    80

    合法字符

    2.3.7 订单详细信息表

          含义说明:提供订单的详细信息。

           组成:详细订单编号,订单号,图书编号,订购数量,发货状态,收货状态,卖出总价。

    数据项

    含义说明

    数据类型

    数据长度

    取值范围

    详细订单号

    区别每个详细订单的唯一标识

    Varchar

    80

    任意合法字符且在长度范围内

    订单号

    区别每个不同订单的唯一标识

    Varchar

    80

    合法字符

    订购数量

    每份订单的图书数量

    Varchar

    10

    合法字符

    发货状态

    卖家的发货状态信息

    Datetime

    日期型的长度

    符合日期的规则

    收货状态

    顾客收货状态信息

    Varchar

    20

    合法字符

    卖出总价

    订单的总额

    Varchar

    20

    合法字符

    3.数据库设计

    3.1 概念结构设计

    根据对网上书店的需求分析,画出如下E-R图。

     

                                                                               图1.书籍信息ER图

     

                                                                                      图2.库存信息ER图

          

     

                                                                                     图3.订单信息ER图

     

                                                                                          图4.顾客信息ER图

     

                                                                                            图5.管理员信息

     

                                                                                       图6.图书类型信息ER图

     

                                                                                   图7.订单详细信息ER图

     

                                                                                         图8.网上购书系统ER图

     

    3.2 逻辑结构设计

    3.2.1 关系模型

    根据E-R图转换成如下关系模型:

    书籍(ISBN、订单详情、书籍类型、管理员名称、书籍名称、作者、出版年份、成交量、出版社名称、折扣)。

    库存(ISBN库存量、库存下限,书籍名称)。

    订单(订单号顾客昵称、订购人、订购日期、订单书籍、书籍数量、发货日期)。

    顾客(注册名、管理员名称、真实姓名、家庭住址、联系方式、购书卡号)。

    管理员(管理员编号、管理员名字、密码、具体身份、邮箱)。

    图书类型(数据类型、类别名称)。

    订单详细(详细订单号、订单号、订购数量、发货状态、收货状态、卖出总价)

    3.2.2 细化表结构

        为方便,根据上述文字描述,用英文简写表和列。

    书籍信息表

    说明

    列名

    数据类型

    约束

    ISBN号

    BookISBNId

    Char

    主码

    订单详情

    BookOrder

    Char

    not null

    书籍类型

    BookType

    Char

    not null

    管理员名称

    BookAdminName

    Char

    not null

    书籍名称

    BookName

    Char

    not null

    作者

    BookWriter

    Char

    not null

    出版年份

    BookPrintYear

    Datetime

    not null

    成交量

    BookVOL

    BIGINT

    not null

    出版社名称

    BookPrintName

    Char

    not null

    折扣

    BookDiscount

    int

    not null

    库存表

    说明

    列名

    数据类型

    约束

    ISBN号

    EntreBookISBNId

    Char

    主码

    库存量

    EntreStock

    Int

    主码

    书籍名称

    EntreBookName

    char

    not null

    库存下限

    EntreFloorNum

    int

    not null

    订单表

    说明

    列名

    数据类型

    约束

    订单号

    OrderID

    Char

    主码

    顾客昵称

    OrderCusNickname

    Char

    主码

    订购人

    OrderCusName

    Char

    not null

    订购日期

    OrderData

    Datetime

    not null

    订单书籍

    OrderBook

    Char

    not null

    书籍数量

    OrderCount

    int

    not null

    发货日期

    OrderSendData

    Datetime

    not null

    顾客信息表

    说明

    列名

    数据类型

    约束

    注册名

    CusResNikeName

    char

    主码

    真实姓名

    CusName

    char

    not null

    家庭住址

    CusAddress

    char

    not null

    联系方式

    CusPhone

    char

    not null

    购书卡号

    CusBoughtCardId

    char

    not null

    管理员信息表

    说明

    列名

    数据类型

    约束

    管理员编号

    ManaID

    Char

    主码

    管理员名字

    ManaName

    Char

    not null

    密码

    ManaPasswd

    Char

    not null

    具体身份

    ManaIden

    Char

    not null

    邮箱

    ManaMail

    Char

    not null

    图书类型表

    说明

    列名

    数据类型

    约束

    数据类型

    BookClass

    Char

    主码

    类别名称

    BookClassName

    Char

    not null

    3.3 数据库实施

    3.3.1 建表

    书籍信息表:

    CREATE TABLE bookinfo (
    
    `BookISBNId`  char(80) NOT NULL ,
    
    `BookOrder`  char(80) NOT NULL ,
    
    `BookType`  char(50) NOT NULL ,
    
    `BookAdminName`  char(20) NOT NULL ,
    
    `BookName`  char(30) NOT NULL ,
    
    `BookWriter`  char(30) NOT NULL ,
    
    `BookPrintYear`  datetime NOT NULL ,
    
    `BookVOL`  bigint NOT NULL ,
    
    `BookPrintName`  char(30) NOT NULL ,
    
    `BookDiscount`  int NOT NULL ,
    
    PRIMARY KEY (`BookISBNId`)
    
    )
    
    ;

     

    库存信息表:

    CREATE TABLE  repertoryinfo(
    
    `EntreBookISBNId`  char(80) NOT NULL ,
    
    `EntreStock`  int NOT NULL ,
    
    `EntreBookName`  char(30) NOT NULL ,
    
    `EntreFloorNum`  int NOT NULL ,
    
    PRIMARY KEY (`EntreBookISBNId`, `EntreStock`)
    
    )
    
    ;

    订单表:

    CREATE TABLE orderinfo (
    
    `OrderID`  char(80) NOT NULL ,
    
    `OrderCusNickname`  char(20) NOT NULL ,
    
    `OrderCusName`  char(20) NOT NULL ,
    
    `OrderData`  datetime NOT NULL ,
    
    `OrderBook`  char(30) NOT NULL ,
    
    `OrderCount`  int NOT NULL ,
    
    `OrderSendData`  datetime NOT NULL ,
    
    PRIMARY KEY (`OrderID`, `OrderCusNickname`)
    
    )
    
    ;

    顾客信息表:

    CREATE TABLE cusinfo (
    
    `CusResNikeName`  char(20) NOT NULL ,
    
    `CusName`  char(20) NOT NULL ,
    
    `CusAddress`  char(50) NOT NULL ,
    
    `CusPhone`  char(15) NOT NULL ,
    
    `CusBoughtCardId`  char(30) NOT NULL ,
    
    PRIMARY KEY (`CusResNikeName`)
    
    )
    
    ;

    管理员信息表:

    CREATE TABLE managerinfo (
    
    `ManaID`  char(30) NOT NULL ,
    
    `ManaName`  char(20) NOT NULL ,
    
    `ManaPasswd`  char(30) NOT NULL ,
    
    `ManaIden`  char(20) NOT NULL ,
    
    `ManaMail`  char(20) NOT NULL ,
    
    PRIMARY KEY (`ManaID`)
    
    )
    
    ;

    图书类型表:

    CREATE TABLE booktypeinfo (
    
    `BookClass`  char(20) NOT NULL ,
    
    `BookClassName`  char(20) NOT NULL ,
    
    PRIMARY KEY (`BookClass`)
    
    )
    
    ;

     

    附操作bookinfo表的代码,仅仅实现功能,没有错误检查,什么都没有。(纯属应付,和数据库交互不能拼接SQL语句,防止SQL注入。)

    import pymysql
    
    # 参数一:mysql服务所在主机的ip
    # 参数二:用户名
    # 三:密码
    # 四:数据库名
    db = pymysql.connect('127.0.0.1', "root", "tian", "managebook")
    # 创建一个cursor对象
    flag=True
    while flag==True:
        cursor = db.cursor()
        print('1:增加')
        print('2:删除')
        print('3:修改')
        print('4:查找')
        print('5:退出')
        print('6:显示')
        work=input('请输入想要执行的功能\n')
        if work=='1':
            print("请输入书籍信息\n")
            s0=input('ISBN号:')
            s1 = input('订单详情:')
            s2 = input('书籍类型:')
            s3 = input('管理员名称:')
            s4 = input('书籍名称:')
            s5 = input('作者:')
            s6 = input('出版年份:')
            s7 = input('成交量:')
            s8 = input('出版社名称:')
            s9 = input('折扣:')
            sql="insert into bookinfo VALUES('%s','%s','%s','%s','%s','%s','%s',%d,'%s',%d );"%(s0,s1,s2,s3,s4,s5,s6,int(s7),s8,int(s9))
            try:
                # 执行sql语句
                cursor.execute(sql)
                # 提交到数据库执行
                db.commit()
                print("增加成功\n")
                # cursor.execute("select * from bookinfo;")
                # data = cursor.fetchall()
                # print(data)
            except:
                # 如果发生错误则回滚
                db.rollback()
                print('ERROR,AGAIN')
        # 执行sql语句
        elif work=='2':
            a=input('请输入要删除的书籍ISBN号\n')
            sql ="delete from bookinfo where BookISBNId='%s'"%a
            try:
                # 执行sql语句
                cursor.execute(sql)
                # 提交到数据库执行
                db.commit()
                print('删除成功\n')
                # cursor.execute("select * from bookinfo;")
                # data = cursor.fetchall()
                # print(data)
            except:
                # 如果发生错误则回滚
                db.rollback()
                print('ERROR,AGAIN')
        elif work=='3':
            cursor.execute("select BookISBNId from bookinfo;")
            data = cursor.fetchall()
            print("ISBN号如下:",data)
            a = input('请输入要修改的书籍ISBN号\n')
            b=input('请输入想要修改的属性和信息\n').split()
            print(b[0],b[1])
            sql = "update bookinfo set %s=%s where BookISBNId='%s'"%(b[0],b[1],a)
            try:
                # 执行sql语句
                cursor.execute(sql)
                # 提交到数据库执行
                db.commit()
                print('修改成功\n')
                # cursor.execute("select * from bookinfo;")
                # data = cursor.fetchall()
                # print(data)
            except:
                # 如果发生错误则回滚
                db.rollback()
                print('ERROR,AGAIN')
        # 获取返回信息
        # data = cursor.fetchall()
        # print(data)
        elif work=='4':
            print('有以下表:bookinfo、booktypeinfo、cusinfo、managerinfo、orderinfo、repertoryinfo')
            a=input('请输入想要查找的信息\n')
    
            sql="select * from %s"%a
            cursor.execute(sql)
    
            # 获取返回信息
            data = cursor.fetchall()
            print('************************结果如下\n',data)
        # 断开连接
        elif work=='5':
            flag=False
        else:
            cursor.execute("select * from bookinfo;")
            data = cursor.fetchall()
            print(data)
    cursor.close()
    db.close()

     

    展开全文
  • 数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 分布式结构 ...

    数据库系统结构

    从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构

    从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为:
    单用户结构
    分布式结构
    客户/服务器
    浏览器/应用服务器/数据库服务器多层结构等

    数据库系统模式的概念

    “型” 和“值” 的概念
    型(Type)
    对某一类数据的结构和属性的说明
    值(Value)
    是型的一个具体赋值
    例如
    学生记录型:
    (学号,姓名,性别,系别,年龄,籍贯)
    一个记录值:
    (900201,李明,男,计算机,22,江苏)
    模式(Schema)
    数据库逻辑结构和特征的描述
    是型的描述
    反映的是数据的结构及其联系
    模式是相对稳定的
    实例(Instance)
    模式的一个具体值
    反映数据库某一时刻的状态
    同一个模式可以有很多实例
    实例随数据库中的数据的更新而变动

    模式

    模式(也称逻辑模式)
    数据库中全体数据的逻辑结构和特征的描述
    所有用户的公共数据视图,综合了所有用户的需求
    一个数据库只有一个模式
    模式的地位:是数据库系统模式结构的中间层
    与数据的物理存储细节和硬件环境无关
    与具体的应用程序、开发工具及高级程序设计语言无关
    模式的定义
    数据的逻辑结构(数据项的名字、类型、取值范围等)
    数据之间的联系
    数据有关的安全性、完整性要求

    模式实例

    教学数据库模式(前面的第二个实例)
    教师(教师号,姓名,职称)
    主键:教师号
    课程(课程号,课程名称,教师号,教材)
    主键:课程号 外键:教师号
    学生(学号,姓名,性别,教师号)
    主键:学号 外键:教师号
    选课(学号,课程号, 成绩)
    主键:(学号,课程号)
    外键1:学号,外键2:课程号

    [例]  创建学生Student表
    
                  CREATE TABLE Student
                    (Sno  CHAR(9)  PRIMARY KEY,
                     Sname  CHAR(20) NOT NULL,     
                     Ssex  CHAR(2) ,
                     Sage  NUMBER,
                     Sdept  CHAR(20))
                     TABLESPACE USERS;
    
    [例]  创建课程Course表
    
                  CREATE TABLE Course
                    (Cno  CHAR(4)  PRIMARY KEY,
                     Cname  CHAR(40) NOT NULL,     
                     Cpno  CHAR(4) ,
                     Ccredit  NUMBERFOREIGN KEY Cpno REFERENCES Course(              Cno))
                     TABLESPACE USERS;
    
    [例]  创建选修课程SC表
    
                  CREATE TABLE SC
                    (Sno  CHAR(9)  NOT NULL,
                     Cno  CHAR(4) NOT NULL,     
                     Grade Grade,
                     PRIMARY KEY (Sno,Cno),
                     FOREIGN KEY (Sno) REFERENCES Student(Sno),
                     FOREIGN KEY (Cno) REFERENCES Course(Cno))
                     TABLESPACE USERS;
    

    外模式

    外模式(也称子模式或用户模式)
    数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
    数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    外模式的地位:介于模式与应用之间
    模式与外模式的关系:一对多
    外模式通常是模式的子集
    一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
    对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
    外模式与应用的关系:一对多
    同一外模式也可以为某一用户的多个应用系统所使用
    但一个应用程序只能使用一个外模式
    外模式的用途
    保证数据库安全性的一个有力措施
    每个用户只能看见和访问所对应的外模式中的数据

    建立计算机系学生的视图 CS_Student
                  CREATE VIEW CS_Student
        AS 
        SELECT  *
        FROM   Student
        WHERE  Sdept='CS'

    内模式

    内模式(也称存储模式)
    是数据物理结构和存储方式的描述
    是数据在数据库内部的表示方式
    记录的存储方式(顺序存储,按照B树结构存储,
    按hash方法存储)
    索引的组织方式
    数据是否压缩存储
    数据是否加密
    数据存储记录结构的规定
    一个数据库只有一个内模式

    模式/内模式映象

    模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
    数据库中模式/内模式映象是唯一的。
    该映象定义通常包含在模式描述中。
    保证数据的物理独立性
    当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变
    应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
    数据库模式
    即全局逻辑结构是数据库的中心与关键
    独立于数据库的其他层次
    设计数据库模式结构时应首先确定数据库的逻辑模式
    数据库的内模式
    依赖于它的全局逻辑结构
    独立于数据库的用户视图,即外模式
    独立于具体的存储设备
    将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率

    数据库的外模式
    面向具体的应用程序
    定义在逻辑模式之上
    独立于存储模式和存储设备
    当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
    特定的应用程序
    在外模式描述的数据结构上编制的
    依赖于特定的外模式
    与数据库的模式和存储结构独立
    不同的应用程序有时可以共用同一个外模式
    数据库的二级映像
    保证了数据库外模式的稳定性
    从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

    数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去

    数据的存取由DBMS管理
    用户不必考虑存取路径等细节
    简化了应用程序的编制
    大大减少了应用程序的维护和修改

    数据库管理员(DBA)

    具体职责:
    1.决定数据库中的信息内容和结构
    2.决定数据库的存储结构和存取策略
    3.定义数据的安全性要求和完整性约束条件
    4.监控数据库的使用和运行
    周期性转储数据库
    数据文件
    日志文件
    系统故障恢复
    介质故障恢复
    监视审计文件
    5. 数据库的改进和重组
    性能监控和调优
    定期对数据库进行重组织,以提高系统的性能
    需求增加和改变时,数据库须需要重构造

    展开全文
  • (1)模式 模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的...

    1、一对一的关系,两个实体要建到一张表中

    然后利用视图去面向不同的应用程序

    2、对数据库系统的三级模式结构的重新认识

    数据库系统的三级模式结构是指数据库系统是由模式、外模式和内模式三级构成的。

    (1)模式 模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

    模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

    (2)外模式 外模式也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集。一个数据库可以有多个外模式。应用程序都是和外模式打交道的。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们是不可见的。

    (3)内模式 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序结构存储还是B树结构存储;索引按什么方式组织;数据是否压缩,是否加密;数据的存储记录结构有何规定等。

    2. 数据库的二级映像功能与数据独立性 为了能够在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像。

    (1)外模式/模式映像 对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。 当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性。

    (2)模式/内模式映像 数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是惟一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必修改。保证了数据与程序的物理独立性。
     
    在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。因此,涉及数据库模式结构时应首先确定数据库的逻辑结构。
    3、Sql Server2005关系约束中实现级联删除

    SQL SERVER 2005之引用完整性的新特性登场:

    选择从表--> 右键“修改”--> 右键“关系”--> 选择一个关系名,就可以看到如下图所示:

     

    INSERT 和 UPDATE 规范

    删除规则和更新规则:

          指定当数据库的最终用户尝试删除或更新某一行,而该行包含外键关系所涉及的数据时所发生的情况。

    相关设置说明:

    无操作:当在删除或更新主键表的数据时,将显示一条错误信息,告知用户不允许执行该删除或更新操作,删除或更新操作将会被回滚。

    层叠:删除或更新包含外键关系中所涉及的数据的所有行。

    说明:“层叠”在SQL Server 2000中又叫“级联”。

    设置空:这是SQL Server 2005新增的功能。如果表的所有外键列都可以接受空值,则将该值设置为空。

    说明:要将外键的删除规则和更新规则设为“设置空”,则该外键必须是可以为空的字段。

    设置默认值:这是SQL Server 2005新增的功能。如果表的所有外键列都已定义了默认值,则将该值设置为该列定义的默认值。

    说明:要将外键的删除规则和更新规则设置为“设置默认值”,该外键必须是有默认值的字段。

    附加说明:

    特地查看了一下SQL Server 2000,在它的“关系”中也包括了如下功能:

    至于SQL Server 2005中的这些功能,在SQL Server 2000中用触发器应该可以实现,没有研究就不多言了。

    展开全文
  • 数据库应用课程设计

    2020-05-25 21:45:57
    武汉纺织大学 数学与计算机学院 ...

     

                                                                                              武汉纺织大学

                                                                                          数学与计算机学院

                                                                                    数据库应用课程设计报告

     

     

     

                                                                                   学生姓名:      xxxxxx               

                                                                                   学号:          xxxxxxxxxx           

                                                                                   班级:          xxxxxxxxxxxx         

                                                                                   指导老师:      xxxx老师             

                                                                                   评定成绩:                                    

                                                                                   填写时间:      2019-06-29           

     

    更多学习资源,请关注本人个人微信公众号:

                                               个人公众号:

                                                我的微信号:

                                                        

    目录

    一、.... 课程设计目的.. 1

    二、.... 课程设计题目.. 1

    三、.... 课程设计背景和主要内容.. 1

    四、.... 可行性分析.. 1

    4.1 技术可行性.... 1

    4.2 经济可行性.... 1

    4.2 法律可行性.... 1

    4.2操作可行性.... 1

    五、.... 业务需求分析.. 1

    5.1 网上商城主要业务流程的活动图描述... 2

    5.2 网上商城用例图描述.... 4

    六、.... 系统总体设计.. 5

    6.1 系统架构设计.... 5

    6.2 功能模块设计.... 6

    6.3 网上商城完整功能图:.... 7

    6.4 系统数据流程分析:.... 8

    6.5 系统E-R图:.... 10

    七、.... 数据库表的详细设计.. 11

    7.1 adminuser(管理员). 11

    7.2 category(一级分类). 11

    7.3 categorySecond(二级分类). 11

    7.4 orderItem(订单列表). 11

    7.5 orders(订单信息表). 11

    7.6 product(产品信息表). 12

    7.7 user(用户信息表). 12

    八、.... 商城数据库shop建立.. 12

    8.1 数据库建立.... 12

    九、.... 商城系统实现.. 15

    9.1 功能页面模块的实现.... 15

    十、.... 课程设计的心得和体会.. 19

     

     

       (1)掌握进行数据库应用系统开发的基本思路、方法和步骤,通过整个数据库系统的设计流程,使学生进一步掌握数据库的操作、管理和维护、开发等数据库核心内容。

        (2)将之前所学的需求分析、java代码编写、数据库设计、软件测试技术结合起来完成此次课程设计。

        (3)培养学生在项目开发中团队合作精神、创新意识及能力。

     

       JavaWeb-网上商城系统

     

       随着人们生活水平的提高,对物质要求也越来越高。人们网购的消费也逐年增长,所以电子商务发展十分迅速,网上商城应运而生,为人们的网上购物提供了好的平台。电子商城,跟在线购物有关。它是一个JavaWeb项目,涉及到商品展示浏览,数据爬取,下单模拟支付,用户评论,加入购物车,搜索商品,购买商品等等,以及后台管理。并且为了增加用户体验,优化了前台页面,首页较为美观。

     

    4.1 技术可行性

    利用javaweb知识可以实现

        采用各种最新框架和技术

    4.2 经济可行性

       该网上商城项目部署在了阿里云的云服务器上面, 9.9元/月

    4.2 法律可行性

       可行,自己写的网站

    4.2操作可行性

       操作较为简单,有网购经历的用户都可以快速适应商城操作

     

    5.1 网上商城主要业务流程的活动图描述

        主要的业务流程有三个:商品信息浏览、商品订购信息删除或更新、订单信息处理。

                                         

                                                                 图1:顾客进行商品浏览查询操作

        商品浏览:顾客可以浏览商城上商品的所有信息,如果需要查询,则需要登录后才能进行,在选购到自己所需的物品后,即可提交订单

                                      

                                                               图2:顾客进行商品订购删除或更新操作

     

        商品订购信息删除或更新:用户登录后,可在“我的订单”模块查找到待删除或更新的订购信息,并对该信息进行相应的操作。

                                         

                                                                  图3:管理员进行订单处理操作

     

        订单信息处理:管理员登录后台系统后,即可进行客户订单的状态以及库存的更新。

     

    5.2 网上商城用例图描述

    游客:

                                                      

                                                                                                        图4:游客请求服务用例图

     

    用户:

                           

    图5:用户请求服务用例图

     

    管理员:

                                      

                                                                         图6:管理员请求服务用例图

     

     

    6.1 系统架构设计

                                                  

                                                                            图7:系统架构设计

     

     

    6.2 功能模块设计

     

                                                 

                                                                                     图8:功能模块结构图

     

     

    基本功能详细描述:

    (1)初始显示首页,有导航栏,和二级菜单,用户可以浏览商品信息;

    (2)用户登录成功后,在首页会显示用户信息,新用户可以选择注册账号,然后再登录;

    (3)可以在首页搜索框里面搜索想要的相关商品,然后跳转到搜索结果页面显示所有相关商品信息;

    (4)用户浏览商品时可以点击商品链接,进一步了解商品详细信息;

    (5)在商品详情页面,用户可以将喜欢的商品加入购物车;

    (6)在商品详情页面,用户可以发表对商品的评论,上传图片和点赞;

    (7)用户可以在购物车里面看到自己所有收藏商品的信息,也可以删除商品,还可以将商品加入订单列表;

    (8)用户在订单列表里面可以看到自己所有的订单详情,可以点击购买,从而进行支付。

    (9)模拟支付,调用支付宝接口,相关数据会在支付页面显示,支付方式多种可选。

    (10)在后台,管理员拥有所有权限,可以对用户,商品分类和商品还有订单等信息进行管理,比如CRUD。

     

    扩展功能详细描述:

    (1)商品推荐功能,根据用户这段时间搜索过的商品,推荐给用户类似的可能感兴趣的商品,并展示在首页。

    (2)模拟支付

    (3)二级菜单的展示

    (4)商品分类展示,包含一二级分类。

        (5)数据库存储图片

        (6)分布式多线程爬虫,爬取大量数据,效率和安全性高。

     

     

    6.3 网上商城完整功能图:

                                  

                                                                               图9:完整功能结构图

     

     

    6.4 系统数据流程分析:

                                                    

                                                                                     图10:第一层流程图

     

                                             

                                                                            图11:第二层流程图(管理员)

     

     

                                           

                                                                           图12:第二层流程图(商品)

     

     

        

                                                                              图13:第二层流程图(订单)

     

    6.5 系统E-R图:

     

                                                                                          图14:网上商城系统E-R图

     

    7.1 adminuser(管理员)

    描述:管理员信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    id

    管理员ID

    int

    10,0

     

    2

    password

    密码

    varchar

    255

     

     

    3

    username

    用户名

    varchar

    255

     

     

     

    7.2 category(一级分类)

    描述:一级分类信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    cid

    一级分类ID

    int

    10,0

     

    2

    cname

    一级分类名称

    varchar

    255

     

     

     

    7.3 categorySecond(二级分类)

    描述:二级分类信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    csid

    二级分类ID

    int

    10,0

     

    2

    csname

    二级分类名称

    varchar

    255

     

     

    3

    cid

    一级分类ID

    int

    10,0

     

     

    7.4 orderItem(订单列表)

    描述:订单列表信息

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    itemid

    订单列表ID

    int

    10,0

     

    2

    count

    订单数量

    int

    11

     

     

    3

    subtotal

    订单总价

    double

    11

     

     

    4

    pid

    商品ID

    int

    10,0

     

    5

    oid

    订单详情ID

    int

    10,0

     

    6

    uid

    用户ID

    int

    10,0

     

     

    7.5 orders(订单信息表)

    描述:订单信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    oid

    订单编号ID

    int

    10,0

     

    2

    total

    订单总价

    double

    11

     

     

    3

    ordertime

    订单时间

    datetime

     

     

     

    4

    state

    订单状态

    int

    11

     

     

    5

    name

    客户姓名

    varchar

    255

     

     

    6

    phone

    联系电话

    varchar

    11

     

     

    7

    uid

    客户id

    int

    10,0

     

     

    7.6 product(产品信息表)

    描述:产品信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    pid

    产品ID

    int

    10,0

     

    2

    pname

    产品名称

    varchar

    255

     

     

    3

    market_price

    交易价格

    double

     

     

     

    4

    shop_price

    售价

    double

     

     

     

    5

    image

    图片地址

    varchar

    255

     

     

    6

    pdesc

    产品描述

    varchar

    255

     

     

    7

    is_hot

    是否热卖

    int

    11

     

     

    8

    pdate

    生产日期

    datetime

     

     

     

    9

    csid

    二级分类ID

    int

    10,0

     

     

    7.7 user(用户信息表)

    描述:用户信息表

    序号

    字段名称

    字段描述

    字段类型

    长度

    允许空

    缺省值

    1

    uid

    用户ID

    int

    10,0

     

    2

    username

    用户姓名

    varchar

    255

     

     

    3

    password

    用户密码

    varchar

    255

     

     

    4

    name

    用户真实姓名

    varchar

    255

     

     

    5

    email

    电子邮箱

    varchar

    255

     

     

    6

    phone

    电话

    varchar

    255

     

     

    7

    addr

    地址

    varchar

    255

     

     

    8

    state

    是否激活

    int

    11

     

     

    9

    code

    激活码

    varchar

    255

     

     

     

    8.1 数据库建立

     

    adminUser表:

    DROP TABLE IF EXISTS `adminuser`;
    
    CREATE TABLE `adminuser` (
    
      `uid` int(11) NOT NULL AUTO_INCREMENT,
    
      `username` varchar(255) DEFAULT NULL COMMENT '管理员姓名',
    
      `password` varchar(255) DEFAULT NULL COMMENT '密码',
    
      PRIMARY KEY (`uid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    
    

    category表:

    DROP TABLE IF EXISTS `category`;
    
    CREATE TABLE `category` (
    
      `cid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
    
      `cname` varchar(255) DEFAULT NULL COMMENT '类型名称',
    
      PRIMARY KEY (`cid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

     

    categorySecond表:

    DROP TABLE IF EXISTS `categorysecond`;
    
    CREATE TABLE `categorysecond` (
    
      `csid` int(11) NOT NULL AUTO_INCREMENT COMMENT '第二类型id',
    
      `csname` varchar(255) DEFAULT NULL COMMENT '第二类型名称',
    
      `cid` int(11) DEFAULT NULL COMMENT '第一类型id',
    
      PRIMARY KEY (`csid`),
    
      KEY `FK936FCAF21DB1FD15` (`cid`),
    
      CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

     

    orderItem表:

    DROP TABLE IF EXISTS `orderitem`;
    
    CREATE TABLE `orderitem` (
    
      `itemid` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单条id',
    
      `count` int(11) DEFAULT NULL COMMENT '数量',
    
      `subtotal` double DEFAULT NULL COMMENT '售价',
    
      `pid` int(11) DEFAULT NULL COMMENT '产品id',
    
      `oid` int(11) DEFAULT NULL COMMENT '订单id',
    
      `uid` int(11) DEFAULT NULL,
    
      PRIMARY KEY (`itemid`),
    
      KEY `FKE8B2AB6166C01961` (`oid`),
    
      KEY `FKE8B2AB6171DB7AE4` (`pid`),
    
      KEY `FKE8B2AB6140ACF87A` (`oid`),
    
      KEY `FKE8A41F815ECEA8B2` (`uid`),
    
      CONSTRAINT `FKE8A41F815ECEA8B2` FOREIGN KEY (`uid`) REFERENCES `orders` (`oid`),
    
      CONSTRAINT `FKE8B2AB6140ACF87A` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`),
    
      CONSTRAINT `FKE8B2AB6171DB7AE4` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
    
    

     

    orders表:

    DROP TABLE IF EXISTS `orders`;
    
    CREATE TABLE `orders` (
    
      `oid` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单编号',
    
      `total` double DEFAULT NULL COMMENT '售价',
    
      `ordertime` datetime DEFAULT NULL COMMENT '订单时间',
    
      `state` int(11) DEFAULT NULL,
    
      `name` varchar(20) DEFAULT NULL COMMENT '客户姓名',
    
      `phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
    
      `addr` varchar(50) DEFAULT NULL COMMENT '地址',
    
      `uid` int(11) DEFAULT NULL COMMENT '客户id',
    
      PRIMARY KEY (`oid`),
    
      KEY `FKC3DF62E5AA3D9C7` (`uid`),
    
      CONSTRAINT `FKC3DF62E5AA3D9C7` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=9031 DEFAULT CHARSET=utf8;
    
    

    product表:

    DROP TABLE IF EXISTS `product`;
    
    CREATE TABLE `product` (
    
      `pid` int(11) NOT NULL AUTO_INCREMENT COMMENT '产品id',
    
      `pname` varchar(255) DEFAULT NULL COMMENT '名称',
    
      `market_price` double DEFAULT NULL COMMENT '交易价格',
    
      `shop_price` double DEFAULT NULL COMMENT '售价',
    
      `image` varchar(255) DEFAULT NULL COMMENT '图片',
    
      `pdesc` varchar(255) DEFAULT NULL COMMENT '产品描述',
    
      `is_hot` int(11) DEFAULT NULL COMMENT '是否热卖',
    
      `pdate` datetime DEFAULT NULL COMMENT '日期',
    
      `csid` int(11) DEFAULT NULL COMMENT '第二类型id',
    
      PRIMARY KEY (`pid`),
    
      KEY `FKED8DCCEFB9B74E02` (`csid`),
    
      CONSTRAINT `FKED8DCCEFB9B74E02` FOREIGN KEY (`csid`) REFERENCES `categorysecond` (`csid`)
    
    ) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8;

     

    user表:

    DROP TABLE IF EXISTS `user`;
    
    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=31 DEFAULT CHARSET=utf8;

     

    9.1 功能页面模块的实现

        (1)初始显示首页,有导航栏和二级菜单,用户可以浏览商品信息,可以进行登录和注册以及查看购物车。

                          

                                                                        图15:商城系统首页

     

    (2)用户登录成功后,在首页会显示用户信息,新用户可以选择注册账号,然后再登录;

                                                                               图16:商城系统登录页面

     

                                                                     图17:商城系统注册页面

     

    (3)用户浏览商品时可以点击商品链接,进一步了解商品详细信息

                          

                                                             图18:商城系统商品详情页面

     

    (4)在商品详情页面,用户可以将喜欢的商品加入购物车;

     

                                                                       图19:商城系统商品购物车页面

     

    (5)用户可以在购物车里面看到自己所有收藏商品的信息,也可以删除商品,还可以将商品加入订单列表;

                                          

                                                                     图20:商城系统商品我的订单页面

     

    (6)模拟支付,调用易宝支付接口,相关数据会在支付页面显示,支付方式多种可选。

     

                                                                  图21:商城系统商品支付页面

     

    (7)后台登录页面,管理员登录后,对后台数据进行操作

     

                                                                         图22:商城系统后台登录页面

     

    (8)后台管理页面,可以对用户、一级分类、二级分类、商品、订单进行系统的管理。

                                                                          图23:商城系统后台管理页面

     

     

    经过此次课程设计,将数据库、前后端完整的过了一遍,自己对于上学期学习的java知识更加的熟悉,用到了经典的mvc设计思想且对于StartUML等工具的使用更加的熟悉。虽然系统的基本功能已经实现,但还是存在系统不稳定、数据解析太慢,查询响应时间太长等一些缺点。这些问题虽然对于目前这种小型的系统影响并不是很大,但是当访问量和查询过大的时候,这些问题所带来的影响可能会被无限的放大。这也是作为一个程序设计者必须要考虑到的因素。

    开发一套系统,最重要的就是细心,需要充分考虑到该系统的现实意义,也让我感受到网站的制作并不是很难,但是也不太容易做好。

    总之,对于本系统的实现,也感觉到了很多的不足,对于原生的js代码比较陌生,对于接口的调用程序的介绍不习惯于去查看官方的API文档等等。但是总体来说,进一步提高了自己的编码规范和水平,不管是在以后的学习还是工作中都应该不断的学习,将课本知识与实践结合起来,才能更好的理解。

     

    展开全文
  • 数据库课程设计 有数据流图数据字典 有程序代码
  • 数据库课程设计-JAVA实现学生信息管理系统源代码,是自己进行课程设计的时候做的,运行没有问题!可以做参考!
  • Oracel 甲骨文公司 SQLSever 微软公司 DB2 IBM公司 ...数据库:长期存储在计算机内的有组织的、可共享的相关数据的集合。 数据库管理系统:维护管理数据集合的软件系统。 数据管理技术:对数据的收集、整理、组织、存储
  • 由于时间关系,里面许多图片都已经变形或错位  ...课程设计(学年论文)      题目:学生选课管理系统的设计与实现    系 院 计算机科学技术系 专 业 计算机科学与技术  班 级  姓 名  学 号
  • 数据库课程设计——学生宿舍信息管理系统 目录  1.设计目的... 2 2、任务与要求... 2 3、学生宿舍管理系统课程设计... 2 3.1 引言... 2 3.2需求分析... 2 3.2.1....
  • 数据库课程导入
  • 一个月前做的一次关于数据库课程设计,时间不够(三天半的时间)且实力有限,所以没有完全完成,而且存在bug(下文会有说明),在这里记录下,提供大家一些思路。 一、课程设计目的及要求 《数据库原理》课程...
  • 这学期学习了数据库之后,到结尾写个数据库课程设计,下面这个课程设计可是我花了好长时间才写完,先供大家参考 目 录 1需求分析 …………………………………………………………4      &...
  • 课程表主要用于存储课程的信息,包括课程的名称,课程描述,学分等信息 关联表,用于关联学生表和课程表,课程的分数等 表创建/数据准备 – 查看MySQL服务器所有数据库 show databases...
  • 基于sql sever2008开发的这个毕业设计子系统,数据库课程设计项目,供参考!如有问题可与我联系,qq:1207787189 一、系统需求描述(功能结构图) 流程图太大了,就不展示了!! 二、概念结构设计(ER图) 三、逻辑...
  • 1.需求分析 系统需求分析: 随着互联网的发展,计算机的软硬件不断的更新迭代,这时计算机已经可以管理超大规模...随着高校学生人数越来越多,课程越来越丰富,学生多老师少,迫切需要一个数据库管理系统来管理、...
  • date 是日期 datetime 是日期 时间 sql server 2000 2005中没有date ...数据库:数据的存储仓库; 文件可以作为数据库; ATM 硬盘: 常见的数据库: MS SQLServer DB2 MySQL infomix Oracle Access
  • 我们都有许多的好友,要把他们的各项信息都记录清楚可不是一件简单的事情,所以我决定设计一个个人简单通讯录数据库,用来存储好友各类信息。 实际中,各模块包涵的数据结构如下: 主程序,在可视化的界面对各个...
  • 本文主要是记录我个人学习数据库的心路历程,我之前也几乎没有接触过数据库,由于接触的都是移动端开发,虽然有轻量级的数据库,但是说来惭愧,我还没来得及学,但是在项目开发的过程中,我深深意识到数据库在如今的...
  • 数据库课程设计 mysql图书管理系统 链接 https://pan.baidu.com/s/1SfetHRyqU4SlVj4njHe3lA 提取码4t8f
1 2 3 4 5 ... 20
收藏数 39,529
精华内容 15,811