前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网上书店管理系统数据库 sql sever

网上书店管理系统数据库 sql sever

作者头像
week
发布2018-08-27 12:55:31
2.2K0
发布2018-08-27 12:55:31
举报
文章被收录于专栏:用户画像用户画像

大作业1: 题目:仿当当网购物系统数据库设计与实现(2人一组)。

要求:

1.数据库各数据对象的设计与实现:表、约束、完整性体现、查询、视图,要求用合理的数据体现。

 2.文档:二人的完成过程,包括各自思考的内容,二人的讨论记录,最终的结论,要分条列出,不要写成流水账,要用书面语,不能口语化。

表结构设计

数据库设计过程中,主要有5张表,依次是用户表,图书表,图书类别表,订单表,订单明细表。

字段名

字段类型

默认

可为空

字段定义

备注

Userid

int

用户编号

主键,自增长

userName

varchar(255)

用户名

passeord

varchar(255)

用户密码

sex

Varchar(4)

age

int

表1-1用户表

字段名

字段类型

默认

可为空

字段定义

备注

categoryId

int

管理员编号

主键

categoryName

varchar(255)

用户名

唯一

       表1-2图书类别表

字段名

字段类型

默认

可为空

字段定义

备注

bookId

int

图书编号

主键

BookName

varchar(255)

书名

Price

float

价格

Picture

varchar(255)

图书照片称

CategoryId

Int

图书类别编号

外键

     表1-3图书表

字段名

字段类型

默认

可为空

字段定义

备注

orderId

int

图书编号

外键

userid

varchar(255)

书名

外键

orderdate

varchar(255)

时间

表1-4订单表

字段名

字段类型

默认

可为空

字段定义

备注

Orderitemid

int

订单明细编号

主键

bookid

int

图书编号

外键

orderid

int

订单编号

外键

Quantity

Int

数量

表1-5订单明细表

代码语言:javascript
复制
use [master]
go

if exists(select * from sysdatabases where name='bookStore')
drop database bookStore;
go

create database bookStore

ON PRIMARY
(
name='bookStore_data', 
 -- 主数据文件的物理名称	
filename='D:\bookStore_data.mdf',
--主数据文件的初始大小
size=5mb,
-- 主数据文件增长的最大值
maxsize=100mb, 
--主数据文件的增长率
filegrowth=20%
)
LOG ON
(
--日志文件的具体描述
--日志文件的逻辑名称
name='bookStore_log',
--日志文件的物理名称
filename='D:\bookStore_log.ldf',
--日志文件的初始大小
size=3mb,
--日志文件的大小
filegrowth=1mb
)
go

use bookStore;

create table catalog(
	catalogid int identity(1,1) not null,
	catalogname varchar(20) not null,
	primary key(catalogid)
);

create table book(
	bookid int identity(1,1) primary key not null,
	catalogid int not null,
	bookname varchar(20) not null,
	price int not null,
	picture varchar(30) not null,
	foreign key(catalogid) references catalog(catalogid) on delete no action on update cascade
);

create table users(
	userid int identity(1,1) primary key not null,
	username varchar(20) not null,
	password varchar(20) not null,
	sex varchar(4),
	age int,
);

create table orders(
	orderid int identity(1,1) primary key not null,
	userid int not null,
	orderdate datetime not null,
	foreign key (userid) references users(userid) on delete no action on update cascade
);

create table orderitem(
	orderitemid int identity(1,1) primary key not null,
	bookid int not null,
	orderid int not null,
	quantity int not null,
	foreign key (bookid)references book(bookid) on delete no action on update cascade,
	foreign key (orderid)references orders(orderid) on delete no action on update cascade,);

1、订单明细视图

代码语言:javascript
复制
create view ordersItemPrice
as
select users.username as 用户名,bookname as 图书名称,price as 单价,orderitem.quantity as 数量,(book.price*orderitem.quantity) as 合计, orders.orderdate as 时间
from users,orders,orderitem,book
where users.userid=orders.userid and orderitem.orderid=orders.orderid and orderitem.bookid=book.bookid;

2、订单总价视图

代码语言:javascript
复制
create view ordersTotalPrice
as
select users.username as 用户名 ,orders.orderid as 订单编号 ,sum(book.price*orderitem.quantity) as 应付金额, orders.orderdate as 时间
from users,orders,orderitem,book
where users.userid=orders.userid and orderitem.orderid=orders.orderid and orderitem.bookid=book.bookid
group by users.username,users.userId,orders.orderid,orders.orderdate;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年04月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 表结构设计
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档