zoukankan      html  css  js  c++  java
  • Java 自己动手之在线书店(2)

    数据库设计,我这里用的PowerDesigner 15(破解版),需要下载的朋友可以去电驴搜索一下.
    我这里只是简单设计了一下,也没有什么深入考虑,毕竟整个项目就比较简单 也不是什么正规的.
    上图一个:
    BookStore 
    PD设计好了以后,Ctrl+G生成脚本文件:

    drop table if exists tbBookAuthor;
    
    drop table if exists tbBookCategory;
    
    drop table if exists tbBookInfo;
    
    drop table if exists tbBookPublisher;
    
    drop table if exists tbManagerInfo;
    
    drop table if exists tbOrderInfo;
    
    drop table if exists tbOrderItem;
    
    drop table if exists tbStoreInfo;
    
    drop table if exists tbUserAddress;
    
    drop table if exists tbUserInfo;
    
    drop table if exists tbrBookAuthor;
    
    /*==============================================================*/
    /* Table: tbBookAuthor                                          */
    /*==============================================================*/
    create table tbBookAuthor
    (
       author_id            int not null auto_increment,
       author_name          varchar(64) not null,
       author_info          text,
       author_memo          text,
       primary key (author_id)
    );
    
    alter table tbBookAuthor comment '图书作者信息表';
    
    /*==============================================================*/
    /* Table: tbBookCategory                                        */
    /*==============================================================*/
    create table tbBookCategory
    (
       category_id          int not null auto_increment,
       category_name        varchar(32) not null,
       category_description text,
       category_memo        text,
       primary key (category_id)
    );
    
    alter table tbBookCategory comment '图书分类表';
    
    /*==============================================================*/
    /* Table: tbBookInfo                                            */
    /*==============================================================*/
    create table tbBookInfo
    (
       book_id              int not null auto_increment,
       category_id          int,
       publisher_id         int,
       book_name            varchar(64) not null,
       book_price           float,
       book_description     text,
       book_memo            text,
       book_nowprice        float,
       book_storeno         int,
       primary key (book_id)
    );
    
    alter table tbBookInfo comment '图书信息表';
    
    /*==============================================================*/
    /* Table: tbBookPublisher                                       */
    /*==============================================================*/
    create table tbBookPublisher
    (
       publisher_id         int not null auto_increment,
       publisher_name       varchar(32) not null,
       publisher_addr       varchar(64),
       publisher_phone      varchar(18),
       publisher_email      varchar(32),
       publisher_url        varchar(64),
       publisher_description text,
       publisher_memo       text,
       primary key (publisher_id)
    );
    
    alter table tbBookPublisher comment '图书出版商信息表';
    
    /*==============================================================*/
    /* Table: tbManagerInfo                                         */
    /*==============================================================*/
    create table tbManagerInfo
    (
       manager_id           int not null auto_increment,
       manager_name         varchar(32) not null,
       manager_password     varchar(32) not null,
       primary key (manager_id)
    );
    
    alter table tbManagerInfo comment '书店管理员信息表';
    
    /*==============================================================*/
    /* Table: tbOrderInfo                                           */
    /*==============================================================*/
    create table tbOrderInfo
    (
       order_id             int not null auto_increment,
       addr_id              int,
       order_tel            varchar(18) not null,
       order_time           datetime,
       order_memo           text,
       primary key (order_id)
    );
    
    alter table tbOrderInfo comment '订单信息表';
    
    /*==============================================================*/
    /* Table: tbOrderItem                                           */
    /*==============================================================*/
    create table tbOrderItem
    (
       item_id              int not null auto_increment,
       order_id             int,
       book_id              int,
       item_number          int,
       item_memo            text,
       primary key (item_id)
    );
    
    alter table tbOrderItem comment '订单中每一项信息表';
    
    /*==============================================================*/
    /* Table: tbStoreInfo                                           */
    /*==============================================================*/
    create table tbStoreInfo
    (
       store_name           varchar(32) not null,
       store_addr           varchar(64),
       store_phone          varchar(18),
       store_email          varchar(64),
       store_descriptrion   text,
       store_memo           text,
       primary key (store_name)
    );
    
    alter table tbStoreInfo comment '书店基础信息表,包含书店的名字,地址,电话等信息';
    
    /*==============================================================*/
    /* Table: tbUserAddress                                         */
    /*==============================================================*/
    create table tbUserAddress
    (
       addr_id              int not null auto_increment,
       user_id              int,
       addr_addr            varchar(64) not null,
       addr_memo            text,
       primary key (addr_id)
    );
    
    alter table tbUserAddress comment '用户的收货地址';
    
    /*==============================================================*/
    /* Table: tbUserInfo                                            */
    /*==============================================================*/
    create table tbUserInfo
    (
       user_id              int not null auto_increment,
       user_name            varchar(32) not null,
       user_password        varchar(32) not null,
       user_email           varchar(64),
       user_phone           varchar(18),
       user_description     text,
       user_memo            text,
       primary key (user_id)
    );
    
    alter table tbUserInfo comment '用户表';
    
    /*==============================================================*/
    /* Table: tbrBookAuthor                                         */
    /*==============================================================*/
    create table tbrBookAuthor
    (
       rba_ID               int not null auto_increment,
       book_id              int,
       author_id            int,
       primary key (rba_ID)
    );
    
    alter table tbrBookAuthor comment '图书和作者关系表,多对多';
    
    alter table tbBookInfo add constraint FK_BookCategory foreign key (category_id)
          references tbBookCategory (category_id) on delete set null on update cascade;
    
    alter table tbBookInfo add constraint FK_BookPublisher foreign key (publisher_id)
          references tbBookPublisher (publisher_id) on delete set null on update cascade;
    
    alter table tbOrderInfo add constraint FK_OrderAddress foreign key (addr_id)
          references tbUserAddress (addr_id) on update cascade;
    
    alter table tbOrderItem add constraint FK_BookOrder foreign key (book_id)
          references tbBookInfo (book_id) on update cascade;
    
    alter table tbOrderItem add constraint FK_OrderItem foreign key (order_id)
          references tbOrderInfo (order_id) on update cascade;
    
    alter table tbUserAddress add constraint FK_UserAddress foreign key (user_id)
          references tbUserInfo (user_id) on delete cascade on update cascade;
    
    alter table tbrBookAuthor add constraint FK_rAuthor foreign key (author_id)
          references tbBookAuthor (author_id) on delete cascade on update cascade;
    
    alter table tbrBookAuthor add constraint FK_rBook foreign key (book_id)
          references tbBookInfo (book_id) on delete restrict on update cascade;
    

    整个文件的下载地址

  • 相关阅读:
    EasyUI 清空表格
    【21年01月DW打卡】Task02
    【BUG12】排查解决一个锁超时 "MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction" 的SQL问题
    【20年12月DW打卡】joyful-pandas
    【21年01月DW打卡】Task01
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
    【Pandas】resample重采样中的周‘W’按周日开始为一周('W'的频率偏移默认为‘right’、使用label = 'left' 重设)+ 常用freq的别名/注释
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
  • 原文地址:https://www.cnblogs.com/huangjacky/p/1733585.html
Copyright © 2011-2022 走看看