数据库课程设计——网上书店

时间:2025-07-12

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

《数据库原理与应用》

2011 / 2012 学年 第 1 学期

实验八 数据库设计

姓 名:_ _ 学 号:_ _ 班 级:_ _ 指导教师:_ _

计算机科学与工程学院

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

一、系统需求分析

1.1 系统要求

(1)提供了全面,详细的图书购物入口,轻松实现快捷购买。

(2)可以通过不同分类进行导航,用最方便,最快捷的方式找到你需要的图书。 (3)提供了图书购物所需的各种工具与网站,满足你的图书购买需求。

(4)公正性很强 (大站.专站.小站)排列顺序分明.公平公正的图书网址TOP排行

1.2 需求分析(主要完成功能分析,建立功能模块图) 网上书店和现实书店区别比较:

网上书店 优势:涉及范围广,经营成本低。 劣势:信用度如果低,影响生意; 现实书店 优势:直观,信用度高。 劣势:涉及范围有限,经营成本高; 现在有部分现实书店已经开始从网上书店进货了。本系统开发的目的是为了学习这样去做一个交互式的网页以及了解这种强大的网络编程工具,方便客户端和浏览器端之间的交流。

数据库采用实用,易学的SQL Sever 2000,以Tomcat作为JSP的WEB服务器,XP作为系统运行平台。

功能模块图:

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

二、概念结构设计

根据需求分析,作出概念结构设计的E-R图如下:

管理员信息的E-R图:

客户信息的E-R图:

图书信息的E-R图:

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

实体之间关系的E-R图:

三、逻辑结构设计

3.1 E-R图转换为关系模型

Books(图书信息):该表记录了图书的相关信息,包括(bookid, bookname, author, pubdate, pubhouse, type, cover, price, salenum)。

Order(订单信息):该表记录了订单的相关信息,包括(adminid, orderid, userid, username, bookid, orderdate, orderstate)。

User (客户信息):该表记录了客户的相关信息:包括(userid, username, password, sex, age, phone, email, address, post)。

订单信息视图(View_Order)包括(userid, adminid, bookid, orderdate, orderstate, price, salenum, username, phone, email, address, post)。

3.2 数据库表的基本结构(用表格方式表示,参照实验2中给出的表的基本结构说明)

根据逻辑结构设计,设计相应的表结构如下所示:

①图书表(Books),结构如下所示:

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

②订单表(Order),结构如下所示: ③客户表(User),结构如下所示:

根据以上分析,建立视图把相关隐秘信息保护起来,设置一定的权限,让管理员便于管理客户,订单和图书,客户之间没有权限访问,避免数据的冲突,保持数据的完整性和一致性。

四、SQL编程(主要包括创建表和创建必要的视图、触发器、存储过程等)

建立图书表(Books):

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

CREATE TABLE Books( Bookid char(6) PRIMARY KEY, Bookname varchar(50) not null, Author varchar(50) not null, Pubdate datetime not null, Pubhouse varchar(50) not null, Type varchar(50) not null, Cover varchar(50) not null, Price smallint check(price>0), Salenum smallint default 100, )

建立订单表(Order): CREATE TABLE Order( Adminid char(6) not null, Orderid char(6) not null, Userid char(6) , Username varchar(50) not null, Bookid char(6) , Orderdate datetime not null, Orderstate varchar(50) not null, PRIMARY KEY (Userid,Bookid),

FOREIGN KEY (Userid) REFERENCES User(Userid), FOREIGN KEY (Bookid) REFERENCES Books(Bookid) )

建立客户表(User): CREATE TABLE User( Userid char(6) PRIMARY KEY, Username varchar(50) not null, Password smallint check(password>0), Sex char(2) check(Sex='男' or Sex='女'), Age smallint check(age>0), Phone smallint check(phone>0), Email varchar(50) not null, Address varchar(50) not null, Post smallint check(post>0), )

建立订单信息视图(View_Order): CREATE VIEW View_Order AS

SELECT *

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

FROM User,Books,Order

WHERE Books.bookid=Order.bookid http://www.77cn.com.cnerid=http://www.77cn.com.cnerid

http://www.77cn.com.cnername=http://www.77cn.com.cnername ORDER BY http://www.77cn.com.cnerid ASC

GRANT ALL PRIVILIGES ON User,Books,Order TO Adminid

WITH GRANT OPTION

AND GRANT ALL PRIVILIGES ON Order,User TO Userid;

建立触发器:

CREATE TRIGGER Update_Userid AFTER UPDATE ON User FOR EACH ROW AS BEGIN

IF(http://www.77cn.com.cnerid<>http://www.77cn.com.cnerid) THEN INSERT INTO User VALUES(

http://www.77cn.com.cnerid,newUsername,new.Password,CURRENT_USER,CURRENT_TIMESTAMP); END IF; END;

建立一个名为“check_user”的存储过程: create procedure check_user @ Orderid char(6), @ Usertype char(6), @ Userid varchar(50), @ Adminid varchar(50), @ Price smallint output, @ Salenum smallint output, @ Orderid c …… 此处隐藏:2370字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据库课程设计——网上书店.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219