2022年网上图书销售系统的数据库设计 .pdf
网上图书销售系统的数据库设计班级: 2012 级电气与自动化工程学院自动化4班组成员及所完成的工作: XX 所完成的工作:系统需求,E-R 图,关系模式XX 所完成的工作:物理设计,系统实现系统名称:网上图书销售系统一系统需求(系统简介及功能需求)A.该“网上图书销售系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到E-R 图的绘制,再到数据库关系模式的建立,然后是物理模型的建立,最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。B. 系统结构简述:本系统包括:订购人信息管理模块,书籍信息管理模块,供应商信息管理模块,管理者信息管理模块和付款接收银行管理模块 5 个部分根据网上图书销售系统分析和设计,确定数据库的实体主要有管理员、书、供应商、订单、客户、银行。实体之间的关系转换为其他三个表:管理(多对多),供应(多对多),付款 (多对多) ,订单生成(一对多)注:各个基本表中关键字已在关系模式中说明C 系统功能简述:该系统开发设计的总目标是实现网上图书销售包括图书的购进、管理、购买、付款过程的系统化、 自动化。系统主要实现的功能有书籍出入库,书目检索,统计供应商信息,订单功能和管理者信息等。系统数据库可对以下信息作出处理:订购人信息管理:浏览订购人的信息,对订购人信息进行维护。书籍信息管理:浏览书籍的信息,对书籍信息进行维护。供应商信息管理:显示当前数据库中供应商的供应情况。管理者信息管理:显示数据库中管理者的情况,对管理者信息进行维护。付款接收银行管理:根据不同的付款银行建立管理表。二E-R 图(1) 客户与图书 E-R图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - (2)管理员和银行的E-R图(2) 供应商和订单的 E-R图图 2 网上图书销售系统E-R图客户客户名邮箱密码客户号地址电话身份证号书名单价书籍书号书籍类型出版日期作者出版社管理员姓名登陆密码管理员 ID 银行电话名称银行编码地址负责人供应商厂号厂名联系人电话地址订单订单号订单状态数量订单日期总价订单客户名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 三、关系模式实体主要有:管理员、书、供应商、订单、客户、银行。关系模式如下:客户(客户号 , 客户名 , 密码, 邮箱, 地址, 电话, 身份证号)书籍( 书号, 书名, 定价, 作者, 出版社,出版日期,书籍类型,管理员ID) 供应商 (厂名,厂号,联系人,电话,地址)银行(地址,负责人,名称,银行编号,电话)订单(付款数,订单号,总价,订单状态,订单日期,订单客户ID,银行编号)管理员 (姓名,登录密码,管理员ID)系统中的联系有:管理 (管理员 ID,管理书号,管理厂号,管理编号) 供应 (供应书号,供应厂号,单价,供应总数, 供应 ID)付款 (付款日期,订单客户,截止日期,供应厂号,银行编号,付款数, 订单号)订单生成(订购日期,订单总价,订单状态,订单客户,订单号,订单书名)总价订购日期付款日期付款总数订单号订单状态截止日期订单编号客户订单客户银行编号银行供应厂号付款订单管理书号管理厂号管理编号管理员订单生成总数供应商书号单价供应厂名管理员 ID 供应 ID 管理书籍供应销售供应名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 表 1 管理员字段名称数据类型长度备注管理员ID char 10 主键姓名varchar 8 not null 登录密码char 12 not null 表 2 书籍字段名称数据类型长度备注书号char 8 主键作者varchar 20 not null 书名varchar 20 not null 出版社char 20 not null 书籍类型char 8 not null 出版日期datetime 默认定价int 10 not null 管理员ID char 10 外键表 3 供应商字段名数据类型长度备注厂号char 4 主键厂名varchar 20 not null 联系人varchar 6 not null 电话char 11 not null 地址char 20 not null 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 表 4 客户字段名数据类型长度备注客户号char 10 主键客户名varchar 6 not null 密码char 10 not null 电话char 11 not null 联系地址char 20 not null 身份证号char 20 Not null 表 5 订单字段名数据类型长度备注订单号char 4 主键订单状态char 3 not null 订购日期datetime 默认not null 付款数int 4 not null 客户号char 10 外键银行编号char 10 外键表 6 银行字段名数据类型长度备注银行编号char 10 主键名称varchar 20 not null 负责人varchar 6 not null 电话char 11 not null 地址char 20 not null 表 7 付款字段名类型长度备注订单号int 8 主键,标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 识订单客户varchar 8 外键截止日期datetime 默认not null 银行编号int 8 外键供应厂号int 8 外键付款总数int 4 not null 付款日期datetime 默认 not null 表 8 供应字段名类型长度备注供应 ID int 4 主键,标识供应书号int 8 外键供应厂号int 4 外键供应总数int 4 not null 表 9 订单生成字段名类型长度备注订单号char 4 主键,标识订单客户varchar 8 外键订单状态char 4 订购日期datetime 默认not null 订购总价int 4 not null 订单书名char 20 Not null 表 10 管理字段名类型长度备注管理编号int 4 主键,标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 识管理员 ID int 8 外键管理书号int 8 外键管理厂号int 8 not null 五. 系统实现数据库的建立用企业管理器,基本表的建立用TSQL语言:数据库名称:网上图书销售系统1. 建立数据库createdatabase网上图书销售系统on(name= 网上图书销售系统dat, filename=数据库作业网上图书销售系统的数据库设计.mdf, size= 15 , maxsize= 120 , filegrowth= 3 ) logon(name= 网上图书销售系统log, filename=数据库作业网上图书销售系统的数据库设计.ldf, size= 8 MB, maxsize= 60 MB, filegrowth= 3 MB ) 2. 建立基本表use网上图书销售系统createtable管理员( 管理员 ID char( 10 )primarykey , 登录密码 char( 12 )notnull, 姓名 varchar( 8)notnull) createtable书籍( 书号 char( 8)primarykey , 管理员 ID char( 10 )references管理员 ( 管理员 ID ), 书名 varchar( 20 )notnull, 作者 varchar( 20 )notnull, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 出版社 char( 20 )notnull, 书籍种类 char( 8)notnull, 出版日期 datetime, 定价 char( 10 )notnull ) createtable供应商( 厂号 char ( 4)primarykey , 厂名 varchar( 20 )notnull, 联系人 varchar( 6)notnull, 电话 char( 11 )notnull, 地址 char( 20 )notnull) createtable客户( 客户号 char ( 10 )primarykey , 客户名 varchar( 6)notnull, 密码 char( 10 )notnull, 电话 char( 11 )notnull, 联系地址 char ( 20 )notnull, 身份证号 char ( 20 )notnull) createtable银行( 银行编号 char ( 10 )primarykey ,名称varchar( 20 )notnull, 负责人 varchar( 10 )notnull, 电话 char( 11 )notnull, 地址 char( 20 )notnull) createtable订单( 订单号 char( 4)primarykey , 客户号 char( 10 )references客户 ( 客户号 ), 银行编号 char( 10 )references银行 ( 银行编号 ), 订单状态 char( 3)notnull, 订购日期 datetimenotnull, 付款数 intnotnull, 付款日期 datetimenotnull) createtable订单生成( 订单号 char( 4)references订单 ( 订单号 ), primarykey ( 订单号 ), 订单客户 char( 10 ) references客户 ( 客户号 ), 订单状态 char( 4)notnull, 订购日期 datetimenotnull, 订购总价 intnotnull, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - 订单书名 char( 20 )notnull) createtable供应( 供应 ID intprimarykey , 供应书号char( 8)references书籍 ( 书号 ), 供应厂号char( 4)references供应商 ( 厂号 ), 供应总数intnotnull)createtable付款( 订单号intprimarykey , 订单客户char( 10 )references客户 ( 客户号 ), 截止日期datetimenotnull, 银行编号char( 10 )references银行 ( 银行编号 ), 供应厂号char( 4)references供应商 ( 厂号 ), 付款总数intnotnull, 付款日期datetimenotnull) createtable管理( 管理编号 intprimarykey , 管理员 ID char( 10 )references管理员 ( 管理员 ID ), 管理书号 intreferences书籍 ( 书号 ), 管理厂号 intnotnull) 3. 输入数据以管理员表输入为例:Insert into 管理员Values ( 3012203096 111111 管岱 ) 其他表格输入数据略4. 创建索引createnonclustered index查询作者on书籍 ( 作者 ) createnonclustered index查询出版社on书籍 ( 出版社 ) 4. 创建视图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - createview客户的订单as select订单号 , 付款日期 , 客户名 , 电话from客户 join订单 on客户 . 客户号 =订单 . 客户号go createview客户银行as select客户名 , 负责人from客户 join订单 on客户 . 客户号 =订单 . 客户号join银行 on订单 . 银行编号 = 银行 . 银行编号6. 创建存储过程以执行查询和插入功能、修改功能 输入书名,从书籍表中返回书号、出版社、定价的信息。createprocedure书籍信息CID varchar( 20 )as select书号 , 书名 , 出版社 , 定价from书籍where书名 =CID go插入客户信息。createprocedure插入客户信息 客户号 char( 10 ), 客户名 varchar( 6), 密码 char ( 10 ), 电话 char ( 11 ), 地址 char ( 20 ), 身份证号 cahr ( 20 ) asinsertinto客户values( 客户号 , 客户名 , 密码 , 电话 , 地址 , 身份证号 )查询客户的信息createprocedure客户信息 name varchar( 6)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - as beginselect客户号 , 密码 , 电话 , 联系地址 , 身份证号from客户where客户名 =name end 修改客户电话号码Createprocedure修改客户电话 客户号 char ( 10 ), 电话 char( 11 ), 电话 char( 11 )as Update客户Set 电话 = 电话Where客户号 = 客户号 and电话 = 电话名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -