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;

整个文件的下载地址

posted @ 2010-05-12 13:00  HuangJacky  阅读(337)  评论(0编辑  收藏  举报
AdminLogin