《数据库原理及应用》课程设计
数据库原理课程设计任务书
一、目的
1 掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。
2 关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
3 培养把所学知识运用到具体对象,并能求出解决方案的能力。
二、任务(任选其一)
A运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下:
—图书、资料的登记、注销和查询。
—借书证管理,包括申请、注销借书证,查询借书证持有人等。
—借还图书、资料的登记、超期处理,超期拒借等。
—图书、资料查询,借、还图书和资料情况查询。
—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。(本项不作为基本要求)
B 运用关系型数据库管理系统,实现服务电话管理系统
向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。
要求:
数据库要存储以下信息:
—客户信息
—客户工需单信息
—完成工需单所需人工
—完成工需单所需部件
—部件信息
—付款信息
—雇员信息
完成的功能:
—输入/查看 客户工需单信息
—输入/查看部件、雇员等其它信息
—付款
—打印发票等
三、结果形式
1. 设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。
2. 上机实现。
四、考核
1. 课程设计态度(20分)。
2. 递交的书面材料(40分)。
3. 上机运行情况(40分)
目录
1问题描述 2
11背景 2
12数据需求 2
13事物需求 3
14关系模式 3
2方案图表设计 3
21 E-R图 3
22数据流程图 8
23数据字典 9
24关系图: 11
3数据库源代码 12
31数据库建立 12
32数据初始化 14
4结果数据处理 17
41单表查询 17
42超期处理 19
43还书 *** 作 20
44借书 *** 作 22
45书籍状态 24
46读者状态 24
5结束语 26
51课程设计心得 26
1问题描述
11背景
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
12数据需求
图书馆管理信息系统需要完成功能主要有:
1 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
13事物需求
(1)在读者信息管理部分,要求:
a可以查询读者信息。
b可以对读者信息进行添加及删除的 *** 作。
(2 )在书籍信息管理部分,要求:
a可以浏览书籍信息,要求:
b可以对书籍信息进行维护,包括添加及删除的 *** 作。
(3)在借阅信息管理部分,要求:。
a可以浏览借阅信息。
b可以对借阅信息进行维护 *** 作。
(4)在归还信息管理部分,要求:
a可以浏览归还信息
b对归还信息可修改维护 *** 作
(5)在管理者信息管理部分,要求:
a显示当前数据库中管理者情况。
b对管理者信息维护 *** 作。
(6)在罚款信息管理部分,要求:
a可以浏览罚款信息
b对罚款信息可以更新
14关系模式
(一) 书籍类别(种类编号,种类名称)
(二) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(三) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)
(四) 借阅(借书证编号,书籍编号,读者借书时间)
(五) 还书(借书证编号,书籍编号,读者还书时间)
(六) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。
2方案图表设计
21 E-R图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。
211类别实体E-R图:
图2-1类别实体E-R图
212读者信息实体E-R图:
图2-2 读者信息实体E-R图
213信息实体E-R图:
图2-3信息实体E-R图
214记录信息实体E-R图:
图2-4 记录信息实体E-R图
215记录信息实体E-R图:
图2-5记录信息实体E-R图
216罚款信息实体E-R图:
图2-6罚款信息实体E-R图
216总的信息实体E-R图:
图2-7总的信息实体E-R图
22数据流程图
D5
归还信息录入 基本信息录入
D2
D1
基本信息录入 基本信息录入
D3
D4
借阅信息录入
读者信息返回 书籍信息返回
图2-7系统的数据流程图
23数据字典
表2-1 book_sytle 书籍类别信息表
表中列名 数据类型 可否为空 说明
bookstyleno varchar not null(主键) 种类编号
bookstyle Varchar not null 种类名称
表2-2 system_readers读者信息表格
表中列名 数据类型 可否为空 说明
readerid varchar not null(主键) 读者借书证号
readername varchar not null 读者姓名
readersex varchar not null 读者性别
readertype varchar null 读者种类
regdate datetime null 登记日期
表2-3 system_book书籍信息表
表中列名 数据类型 可否为空 说明
bookid Varchar Not null(主键) 书籍编号
bookname Varchar Not null 书籍名称
bookstyle Varchar Not null 书籍类别
bookauthor Varchar Not null 书籍作者
bookpub Varchar Null 出版社名称
bookpubdate Datetime Null 出版日期
bookindate Datetime Null 登记日期
isborrowed Varchar Not Null 是否被借出
表2-4 borrow_record 借阅记录信息表
表中列名 数据类型 可否为空 说明
readerid Varchar Not null(外主键) 读者借阅证编号
bookid Varchar Not null(外主键) 书籍编号
borrowdate Varchar Not null 读者借书时间
表2-5 return_record 借阅记录信息表
表中列名 数据类型 可否为空 说明
readername Varchar Not null(外主键) 读者借阅证编号
readerid Varchar Not null(外主键) 书籍编号
returndate datetime Not null 读者还书时间
表2-6 reader_fee 罚款记录信息表
readerid varchar Not null 读者借书证编号
readername varchar Not null 读者姓名
bookid varchar Not null(外主键) 书籍编号
bookname varchar Not null 书籍名称
bookfee varchar Not Null 罚款金额
borrowdate datetime Not Null 借阅时间
24关系图:
图2-8数据库存表关系图
3数据库源代码
31数据库建立
311创建数据库
USE master
GO
CREATE DATABASE librarysystem
ON
( NAME = librarysystem,
FILENAME = 'd:\librarysystemmdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = 'library',
FILENAME = 'd:\librarysystemldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
312书本类别表建立
create table book_style
(
bookstyleno varchar(30) primary key,
bookstyle varchar(30)
)
313创建书库表
create table system_books
(
bookid varchar(20) primary key,
bookname varchar(30) Not null,
bookstyleno varchar(30) Not null,
bookauthor varchar(30),
bookpub varchar(30) ,
bookpubdate datetime,
bookindate datetime ,
isborrowed varchar (2) ,
foreign key (bookstyleno) references book_style (bookstyleno),
)
314借书证表建立
create table system_readers
( readerid varchar(9)primary key,
readername varchar(9)not null ,
readersex varchar(2) not null,
readertype varchar(10),
regdate datetime
)
315借书记录表建立
create table borrow_record
( bookid varchar(20) primary key,
readerid varchar(9),
borrowdate datetime,
foreign key (bookid) references system_books(bookid),
foreign key (readerid) references system_readers(readerid),
)
316还书记录表建立
create table return_record
( bookid varchar(20) primary key,
readerid varchar(9),
returndate datetime,
foreign key (bookid) references system_books(bookid),
foreign key (readerid) references system_readers(readerid)
)
317罚款单表建立/
create table reader_fee
( readerid varchar(9)not null,
readername varchar(9)not null ,
bookid varchar(20) primary key,
bookname varchar(30) Not null,
bookfee varchar(30) ,
borrowdate datetime,
foreign key (bookid) references system_books(bookid),
foreign key (readerid) references system_readers(readerid)
)
32数据初始化
321将书籍类别加入表book_style中
insert into book_style(bookstyleno,bookstyle)values('1','人文艺术类')
insert into book_style(bookstyleno,bookstyle)values('2','自然科学类')
insert into book_style(bookstyleno,bookstyle)values('3','社会科学类')
insert into book_style(bookstyleno,bookstyle)values('4','艺术类')
insert into book_style(bookstyleno,bookstyle)values('5','政治经济类')
insert into book_style(bookstyleno,bookstyle)values('6','工程技术类')
insert into book_style(bookstyleno,bookstyle)values('7','语言技能类')
322将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');
insert into
system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');
323将已有图书证的读者加入system_readers表中/
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('X05620207','陈远鹏','男','学生','2005-9-23 14:23:56')
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('X05620206','陈特','男','学生','2005-09-30 13:24:54623')
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('X05620204','赵铭静','女','学生','2005-09-27 11:24:54123')
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('X05620202','潘虹','女','学生','2005-09-30 13:24:54473')
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('008415','蒋伟','男','教师','2004-04-30 09:24:54478')
insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('001456','李叶风','女','教师','2004-04-30 09:24:54478')
324添加已借书读者的记录,同时将在已借出的借阅标记置0/
insert into borrow_record(bookid,readerid,borrowdate)
values('00125415152','X05620202','2007-09-27 11:24:54123')
update system_books
set isborrowed=0
where bookid='00125415152'
insert into borrow_record(bookid,readerid,borrowdate)
values('00125415153','X05620206','2007-12-27 08:26:51452')
update system_books
set isborrowed=0
where bookid='00125415153' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate)
values('5455515','X05620207','2007-12-27 08:26:51452')
update system_books
set isborrowed=0
where bookid='5455515' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate)
values('015115','X05620204','2007-10-21 12:11:51452')
update system_books
set isborrowed=0
where bookid='015115' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate)
values('15154656','001456','2007-12-28 14:11:51312')
update system_books
set isborrowed=0
where bookid='15154656' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate)
values('565800020','008415','2007-08-28 15:11:31512')
update system_books
set isborrowed=0
where bookid='565800020' and isborrowed='1'
4结果数据处理
41单表查询
411表book_style中查询演示:
图4-1 表book_style中内容
412表system_books中查询演示:
图4-2 表system_books中内容
413将已有图书证的读者加入system_readers表中结果查询:
图4-3 表system_readers中内容
414借书纪录表borrow_record结果查询:
图4-4 表borrow_record中内容
42超期处理
421现在对已有借书证的读者进行查询借书是否超期(这里归定30天):
说明:当前的getdate()以日期为2008年1月6日计算
图4-4 选出借出超过30天的读者
422同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以03元扣除计算:
SQL语言:
insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)
select system_readersreaderid 读者借书证编号 ,readername 读者姓名,
system_booksbookid 书籍编号,bookname 书名,
03(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30) 超过时间天数,
borrowdate 借书时间
from borrow_record ,system_readers ,system_books
where system_readersreaderid=borrow_recordreaderid
and system_booksbookid=borrow_recordbookid
and Datediff(day,convert(smalldatetime,borrowdate),getdate())>=30
(所影响的行数为 3 行)
select readerid 书读者借书证编号,readername 读者姓名,
bookid 书籍编号,bookfee 超期罚款
from reader_fee
形成各本书对应的罚款金额,按03元每天算
图4-5查看罚款单
43还书 *** 作
431现在对某一读者进行还书 *** 作:
1.首先还书要在还书纪录中添加一条还书纪录
2.其次删除相应书本的借阅纪录
3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅
说明:学号为X05620207 姓名为陈远鹏 借阅的565800020书籍编号进行归还。
SQL语言:
insert into return_record(bookid,readerid,returndate)
select bookid,readerid,getdate()
from borrow_record
where bookid='565800020'
(所影响的行数为 1 行)
delete
from borrow_record
where bookid='565800020'
(所影响的行数为 1 行)
update system_books
set isborrowed=1
where bookid='565800020'
(所影响的行数为 1 行)
三个表的结果如图:
图4-6 增加了565800020纪录
图4-7 565800020这本书在借书纪录里没有了
图4-8 标记设为了‘1’
说明:这本书重新回到未被借出标记为1(注,相同的书其编号是不同的)
其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。
44借书 *** 作
441查询未被借出的书本:
图4-9
442查询已被借出的书本:
图4-10
443申请借书证:
SQL语言:
Insert into system_readers(readerid,readername,readersex,readertype,regdate)
values('X05620211','小华','男','学生',getdate())
图4-11
说明:查询相应的纪录增加了小华这样一个读者的借书证纪录:
444注销借书证:
说明:
1.在注销之前执行所有的还书过程,就是上面写到的所述SQL语句,然后执行
delete from system_readers where readerid=' X05620211',
2.小华借书证纪录就被删除了,同时要删除和小华归还纪录的内容
delete from return_record where readerid=' X05620211',
445查询所有书所对应的类别:
图4-12
45书籍状态
451查询所有工技术类的书:
图4-13
452查询清华大学出版社出版的书:
图4-14
46读者状态
461查询什么人借了什么书:
SQL语言:
select readername 读者姓名,bookname 书籍名称
from borrow_record,system_books,system_readers
where system_readersreaderid=borrow_recordreaderid
and system_booksbookid=borrow_recordbookid
图4-15
462指定潘虹借了什么书:
SQL语言:
select readername 读者姓名,bookname 书籍名称
from borrow_record,system_books,system_readers
where system_readersreaderid=borrow_recordreaderid
and system_booksbookid=borrow_recordbookid
and readername='潘虹'
图4-16
5结束语
51课程设计心得
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。
(图放不上去呀 我自己做的E-R图)
计算机科学与信息学院
课程设计报告
课程名称: 数据库概论课程设计
专 业: 网络方向
班 级: ====
学 号: ===
姓 名: 闫娟
题 目: 网上购书系统
指导教师: 肖淑芬
2011年6月
目录
一、课程设计的背景来源 3
二、网上购书系统调查及前景 4
三、网上购书设计思想 4
1、前台系统工作流程 5
2、后台系统工作流程 6
四、网上书店工作过程的内容 6
五、数据库设计 7
1、数据项 7
2、 数据结构 8
3、关系模式的设计 8
4、视图的设计 9
六、网上购书E-R图 10
六、系统的源程序 15
七、系统评价及心得体会 20
一、课程设计的背景来源
1,其实写这个课程设计写得比较匆忙,马上其他可就要考试了,本想找个男的题目来挑战下自己,后来还是因为时间需要,所以选了个相对来说我们生活比较容易接近的
2,随着现在社会的发展,网络已经成为一个市场很大的交易平台,很多人由于时间需要或者各方面原因都把网上购物作为一种消费方式,有时我们在书店要花很长时间去找一本书,有时还找不到,记得有次在孝感学院图书馆找一本概率论辅导书,花了很长很长时间呀,所以我深有体会,还是感觉在网上购书比较简单,方便。
3,班上有很多同学都从事网上购物,我刚好想利用自己的专业知识来学习下这方面的知识,自己查查资料,把这个课程设计做好。
二、网上购书系统调查及前景
人们喜欢通过阅览书籍拓展自己的知识视野,可在实际生活的购书过程中人们却遇到了不少麻烦,比如购书人多,挑书难,搬书重等,因此既方便又快捷的网络购书便成为了一种很有潜力的购书消费方式。信息时代,电子商务已经成为我们现实生活中不可缺少的一个重要组成部分,同时它以一种特殊的方式改变着我们的生活。根据调查结果显示,网民上网以获取信息为主要目的占5 31%。目前我国上网购物的群体中,绝大多数是年轻人, 他们大多数是收入稳定、文化水平较高的中青年,网上消费已经日益成为他们生活中的一种重要的消费方式,他们成为了最有潜力的未来网上消费者。
三、网上购书设计思想
首先网上购书系统听起来是个很杂的程序,因为有很多很多书,也有很多很多人来买,但是其实我们简单的可以把它分为两个模块,这样我们就能很好的理解了,网上书店主要由前台会员管理模块和后台管理员模块两部分组成。
前台功能模块主要用于实现会员注册,登录,修改个人信息,分类查看书目信息、购书、管理购物车、结帐、查看各种服务条款等功能。
后台管理模块主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能。
1、前台系统工作流程
首先当我们用户登陆这个网站时,一开始就会出现让你登陆,如果是你会员,你可以直接登录,如果你不是会员,你要注册个账号。
1、 当你是会员时,你可以查看你的各项服务,比如说上次你收藏了什么书籍,以及你喜欢的书的种类,在可以看下前几次你购买书的情况,在可以修改个人信息,修改密码等,你也可以查看自己网上交易情况,看下自己买的书的情况,以及看上什么书了,可以把它放回购物车,方便自己购买。
2、 当你是非会员时,你要先进行注册,填写自己的基本信息,当你填好后,你也是其中一员了,你也同样可以向会员那样找自己的书了,相对来说比较方便。
3、 还有人不注册,只是进来逛下网站,看看自己是否有必要买一些书。
2、后台系统工作流程
后台系统工作流程主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能,他要对会员的登记进行统计,以及购物等方面的内容管理
四、网上书店工作过程的内容
1、管理员信息,包括数据项有:管理员编号、管理员账号、管理员密码。
2、会员信息,包括数据项有:会员账号、会员密码、会员昵称、会员E-mail、会员级别(管理员设定)。
3、图书信息,包括数据项有:图书编号、图书名称、作者、出版社编号、出版日期、图书类别编号、图书简介。
(⑴出版社信息,包括数据项有:出版社编号、出版社名称。
⑵图书类别信息,包括数据项有:图书类别编号、图书类别名称。)
4、图书订单,包括数据项有:会员账号、下定单日期、收货地址、收货地址邮编、收货人姓名、收货人****、送货方式编号、总费用、图书名称、现已售出量情况。
5、购物车,包括数据项有:会员账号、每种图书名称、每种图书市场价格、每种图书网站价格、每种图书数量、每种图书的价格、图书总价。
五、数据库设计
1、数据项
数据项
数据项名 数据类型 长度 别名 取值范围
会员编号 字符型 15 会员的编号
姓名 文本型 20 会员的姓名
密码 文本型 20 会员的密码
电话 字符型 12 会员的电话
地址 文本型 50 会员的地址
商品编号 字符型 15 商品的编号
类型 文本型 10 商品的类型
名称 文本型 20 商品的名称
价格 整型 6 商品的价格
简介 文本型 500 商品的简介
型 商品的
购物车编号 字符型 10 购物车的编号
商品数量 整型 10 购买商品的数量
订单编号 字符型 15 购物时生成的订单
订单日期 时间型 10 购买商品的时间
2、 数据结构
系统需求数据结构
数据结构名 含义说明 组成
会员 记录会员的基本信息 会员编号、姓名、密码、电话、地址
商品 记录销售商提供的商品信息 商品编号、类型、名称、价格、简介、
订购 记录会员的购物信息 会员编号、商品编号、订单编号、订单日期
购物车 存储会员需要购买的商品 会员编号、商品编号、购物车编号、商品数量
3、关系模式的设计
会员
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 主键
姓名 文本型 20 姓名 否
密码 文本型 20 密码 否
电话 字符型 12 电话 否
地址 文本型 50 地址 否
商品
数据项名 数据类型 长度 别名 是否为空 主外键
商品编号 字符型 15 商品编号 否 主键
类型 字符型 15 类型 否
名称 字符型 20 名称 否
价格 整型 10 价格 否
简介 文本型 500 简介
image型 100
订购
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 外键 主键
商品编号 字符型 10 商品编号 否 外键
订单编号 字符型 10 订单编号 否
订单日期 日期型 10 订单日期 否
购物车
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 主键
商品编号 字符型 15 商品编号 否
购物车编号 字符型 15 购物车编号 否
商品数量 整型 6 商品数量 否
4、视图的设计
搜索商品视图
数据项名 数据类型 长度 别名 是否为空
名称 字符型 10 名称 否
类型 字符型 10 类型 否
价格 整型 10 价格 否
简介 文本型 4 简介 否
六、网上购书E-R图
否 是
网上书店系统业务流程:
网上书店前台管理功能结构图:
六、系统的源程序
ackage cart;
import javautilVector;
public class Cart {
Vector v = new Vector();
String act = null;
String item = null;
private void addItem(String id) {
vaddElement(id);
}
private void removeItem(String id) {
vremoveElement(id);
}
public void setItem(String id) {
item = id;
}
public void setAct(String s) {
act = s;
}
public String[] getItems() {
String[] s = new String[vsize()];
vcopyInto(s);
return s;
}
public void processRequest() {
if (actequals("add"))
addItem(item);
else if (actequals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset() {
act = null;
item = null;
}
public void clearAll(){
vremoveAllElements();
}
}
现实页面信息,提示等 *** 作的设计:
package spage;
import javasql;
public class ShowPage
{
private String str = "";
//显示页号为p的一页(user)
public String printPage(ResultSet rs, int p, int size)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)size;k++)
rsnext();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += printRow(rs,iPage,p);
try {
if(!rsnext()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(user)
public String printRow( ResultSet rs ,int i,int p)
{
String temp = "";
try {
int id=rsgetInt("userid");
temp+="<tr align='center' bgcolor='#FFFAF7'>";
temp+="<td><a href='javaScript:seeUser("+id+")'>"+rsgetString("name")+"</a></td>";
temp+="<td>"+rsgetString("sex")+"</td>";
temp+="<td>"+rsgetString("phone")+"</td>";
temp+="<td>"+rsgetString("address")+"</td>";
temp += "<td><a href='updateuserjspupdateid="+id+"'>修改</a></td>";
temp += "<td><a href='dealdeleteuserjspdelid="+id+"'>删除</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//显示页号为p的一页(book)
public String bookPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)size;k++)
rsnext();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += bookRow(rs,iPage,p,f);
try {
if(!rsnext()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(book)
public String bookRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
int id=rsgetInt("bookid");
temp+="<tr align='center'>";
temp+="<td><a href='detailjspdetailid="+id+"'>"+rsgetString("bookname")+"</a></td>";
temp+="<td>"+rsgetString("author")+"</td>";
temp+="<td>"+rsgetString("pubhouse")+"</td>";
temp+="<td>"+rsgetString("price")+"</td>";
if(f)
{
temp+="<td>"+rsgetString("salenum")+"</td>";
temp+="<td><a href='updatebookjspupdateid="+id+"'>修改</a></td>";
temp+="<td><a href='dealdeletebookjspdelid="+id+"'>删除</a></td>";
}
else
temp+="<td><a href='dealcartjspdealid="+id+"&act=add'>加入购物车</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//显示页号为p的一页(order)
public String orderPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)size;k++)
rsnext();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += orderRow(rs,iPage,p,f);
try {
if(!rsnext()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(order)
public String orderRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
String orderid=rsgetString("orderid");
temp+="<tr align='center'>";
temp+="<td><a href='detailorderjspdetailid="+orderid+"'>"+orderid+"</a></td>";
temp+="<td>"+(rsgetString("orderdate"))substring(0,10)+"</td>";
temp+="<td>"+rsgetString("orderstate")+"</td>";
if(f)
{
temp += "<td><a href='javaScript:seeUser("+rsgetString("userid")+")'>"+rsgetString("username")+"</a></td>";
temp += "<td><a href='dealdeleteorderjspdelid="+orderid+"'>删除</a></td>";
}
temp+="</tr>";
}
catch(SQLException e) { }
return temp;
}
}
七、系统评价及心得体会
1、了解很多关于网上购书程序上的知识,要写这个课程设计,我把有关网上购书的概论也看了下,发现不知道是这个设计太简单还是怎么回事,网上出现很多此样的版本,很有有更新,可能我们对数据库设计的程序还不是很了解吧。
2,要写数据库E-R图,发现很难画啊,还要把线段连来连去,觉得在画图上面花了很多时间
3,一定要先了解数据情况,要先熟悉了网上购书的基本 *** 作,在开始研究,最好自己去试一下网上购书,我就自己亲自去点击了下网上购书网,然后才下手写的课程设计。
当我们遇到难题的时候,可以尝试把它写出来然后思考解决,然后就是心得了。下面是由我为大家整理的“大学生实验心得体会100字左右”,仅供参考,欢迎大家阅读本文。
大学生实验心得体会100字左右(一)一个长学期的电路原理,让我学到了很多东西,从最开始的什么都不懂,到此刻的略懂一二。
在学习知识上方,开始的时候完全是老师讲什么就做什么,感觉速度还是比较快的,跟理论也没什么差距。但是之后就觉得越来越麻烦了。从最开始的误差分析,实验报告写了很多,但是真正掌握的确不多,到最后的回转器,负阻,感觉都是理论没有很好的跟上实践,很多状况下是在实验出现象以后在去想理论。在实验这门课中给我最大的感受就是,必须要先弄清楚原理,在做实验,这样又快又好。
在养成习惯方面,最开始的时候我做实验都是没有什么条理,想到哪里就做到哪里。比如说测量三相电,有很多种状况,有中线,无中线,三角形接线法还是Y形接线法,在这个实验中,如果选取恰当的顺序就能够减少很多接线,做实验就应要有良好的习惯,就应在做实验之前想好这个实验要求什么,有几个步骤,就应怎样安排才最合理,其实这也映射到做事情,不管做什么事情,就应都要想想目的和过程,这样才能高效的完成。电原实验开始的几周上课时光不是很固定,实验报告也累计了很多,第一次感觉有那么多实验报告要写,在交实验报告的前一天很多同学都通宵了的,这说明我们都没有合理的安排好自我的时光,我就应从这件事情中吸取教训,合理安排自我的时光,完成就应完成的学习任务。这学期做的一些实验都需要严谨的态度。在负阻的实验中,我和同组的同学连了两三次才把负阻链接好,又浪费时光,又没有效果,在这个实验中,有很多线,很容易插错,所以要个性仔细。
在最后的综合实验中,我更是受益匪浅。完整的做出了一个红外测量角度的仪器,虽然不是个性准确。我和我组员分工合作,各自完成自我的模块。我负责的是单片机,和数码显示电路。这两块都是比较简单的,但是数码显示个性需要细致,由于我自我是一个粗心的人,所以数码管我检查了很多遍,做了很多无用功。
总结:电路原理实验最后给我留下的是:严谨的学习态度。做什么事情都要认真,争取一次性做好,人生没有太多时光去浪费。
大学生实验心得体会100字左右(二)在教学中我经常用课件中的、音乐、视频导入,达到良好的教学效果。作为一种新型的教育形式和现代化教学手段的多媒体技术给传统教育带来巨大影响,借助多媒题教学教学容量大,内容多,如果面面俱到很容易造成课堂上像**院一样的效果;如果内容少,会显得课程设计单薄,不充实。利用多媒体教学,加大了课堂教学的密度,唤起了学生的学习兴趣,激发了他们的智能;运用动静结合的教学图象,通过视、听、触、想等方式,可以轻松地解决教学中的重点和难点问题,能创设逼真的教学环境,营造生动活泼的教学气氛,充分调动学生的学习积极性。多媒体教学的优点很多,利用好这些现代化教学设备和先进教学形式,会优化课堂教学,提高效率,提高教学质量。但教学中如果不了解现代化电教手段的使用规律,使用不当,违背了教学规律,就会事倍功半,减少了学生动手、动口、动脑的时间,不利于提高学生的能力。因而只有合理运用,做好各种教学媒体的有机结合,才能更好的发挥它们的优势,更好的为教学服务。
大学生实验心得体会100字左右(三)计算机实训在不知不觉中就结束了,我感觉自己还有好多东西要学,还有好多的东西不懂呢!这是我大学以来第三次实训,每次实训我都感觉学到了好多东西!因为是一天到晚的不间断训练,所以记的会非常牢固。不像平时上课,每上两次的理论课却只有x分钟的实际 *** 作。在课上,有老师在前面演示我们都还能跟着做,可轮到我们独立完成的时候,因为实际 *** 作的少,早就忘光了!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对我们计算机水平的提高发挥着重要作用!还要感谢我们的窦老师,窦老师很温柔,也很有耐心,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指导,还给我们讲一些学习计算机的方法,让我们知道自己在哪方面不足,需要加强,也让我们了解到哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好!
经过这次的实训,我真真确确的感受到了计算机在我们生活中工作中的运用,这些软件、程序能让我们提高工作的效率,更直观更便捷的切入主题。这次我们学习的是数据路的原理及应用的各方面知识,由老师带着我们不断 *** 作。能有效的组织、管理和共享数据库信息,能把数据库信息与wep结合在一起,实现数据库信息的共享。同实,access概念清晰,简单易学、实用是适合企业管理人员、数据库管理员使用的首选。我觉得学习了这个,对我参加工作后制表、创建查询、数据分析和材料演示都有很大的作用,这样,我们能更清楚的了解信息并进行分析。当然,在学习的过程中并不是一帆风顺的,在这之中,因为要 *** 作的东西很多,有时错一步,后面的结果就无法显示,而自己的计算机又太差,根本检查不出来是哪里出了错!这时候,老师都会耐心的过来帮助我,我很感谢窦老师也很感谢学校能安排这么优秀的窦老师来教我们!只是,我们太顽皮,有很多东西老师讲了我们也没能记住,我想在此说一句:老师,您辛苦了,下学期我们一定认认真真的好好学!
一个星期的实训课很快结束了,我发现我对计算机有了新的认识,以前只知道玩游戏、娱乐和简单的应用。通过这次的实训,我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带个我们的将是无穷的便捷与科技,我喜欢高端便捷的生活。我希望我能做计算机这个万能机器人的主人而不是奴隶,我会努力加油的!感谢学校,感谢老师给我的帮助,让我的思想、技能又上了一个台阶!感谢!加油!
大学生实验心得体会100字左右(四)时间真的流逝很快。我们也走过了大二的时光。在学习的我们,体会到了酸与甜,苦与辣。生活,不经历一翻风雨,我们也不懂的生活。
大二的我们。经过将近一个学期的模拟实训课程,让我个人认为会计对与我而言真的有种不能言语的情感。首先,我们根据教材资料中的经济业务,分析题型,到编制凭证。再过账目中,然后是结账,对帐,最后根据总账及其他有关资料编制资产负债表、利润表。一步一个流程过来。从一开始的模拟的出纳岗外实训,到存货业务的发生,直至到此刻综合的模拟业务。所有账目都弄好后,最后一步的装订等一系列的会计人员必做的程序工作,现由我一人来完成,其中的酸甜苦辣之味,只有亲身体验,才真真正正了解到什么是会计。其实,现实中会计的工作并没有大人们所说的只是在办公室喝喝茶水这么清闲。
虽说自我在高中时期所学的也是会计专业,当时老师讲的题,分析的题也很详细。和大学中老师讲的题,分析的题目总是有所来源点的。可不管怎样,终是让我受益匪浅。可让我自我对会计多一度的深爱。
“只有经历过,才明白其中的味道”对于我而言,喜欢体验生活,能够说透过这次实训,真切的让我了解了我自我以后从业岗位的工作流程是怎样的形式。让我对会计最初的观念也有了本质性的发生!会计不仅仅仅是一份职业,更是一份细心和一份耐心还包括一份职责心。
不经历过,我们永远都不会长大。人生不是一条平坦的道路,只有走过崎岖、遇过困境,以前跌倒、以前失去,经历过挫败、跨越难关。而仍然能够昂首阔步迈向人生,才能锻炼出一颗坚毅不屈的心。做一个坚强的人很难;需要的是一份坚持同一份信念。我们做账也是如此,发现错误,要不断的修改,不断的矫正。尤其是最后在编制资产负债表的时候,那叫一个崩溃啊,当你发现编制到最后,借贷方不平衡的时候,我们就要反反复复去翻阅前面的账目是查账,找账。这样的工作,只有一个字能够形容——累!参杂着繁琐!
透过本次模拟实验,培养了我们的实际动手潜力,缩短了课本知识与实际工作的距离。且理解到会计人员最重要的一点就是细心。对于每一天和一大堆数字打交道,绝不能出一点点错,要明白失之毫厘,差之千里,零点零几的差别,有可能造成与实际很大的距离。
虽说到本学期末,做的很累,但是真的期望学校能够给我们这样的机会,所谓的,我们只有多做账,多熟悉,才能游刃有余!
大学生实验心得体会100字左右(五)作为一名大学生,我对教学媒体和资源总是充满了兴趣。在上课的时候,我更喜欢利用多媒体,来引导学生学习新知识。但有的时候上课的效果却不尽如人意。这次暑期全员培训中我学到制作演示文稿的时候,清新的ppt演示,实用的制作技巧,让我眼前一亮,制作攻略更是让我热血沸腾,我终于认识到了我以前为什么很用心的制作PPT,但是效果却不好的原因了,那就是没有人会对着密密麻麻的知识点感兴趣的,不由得想到了初中时候的自己,和他们不是一样的吗?
在本次培训中制作演示文档的部分,我对它进行了简单的总结;
攻略一:少即是多:每页一个主题;巧用备注栏;字少图大;提炼关键词句。呆板无趣的知识点会让学生们昏昏欲睡,如果将知识点精炼再加上会提升学生学习的兴趣,而且也减轻了学生的负担,让他们在快乐中获取知识。甚至在PPT中我可以恰当使用高桥法,醒目的字眼跃然眼帘,再不用老师来反复强调这是重点啊重点啊!
攻略二:换位思考:文字不小于24号;及时回顾总结;文字和背景反差鲜明;从学生的角度来思考一堂课的教授方法,没有那么多过目不忘的学生,怎么讲课才能使学生印象深刻呢?看来我要在这方面多下功夫了。
攻略三:逻辑清晰:顺序播放;逻辑主线简明;格式一致;思想要点图表化。
攻略四:形象表达:适当运用全图型PPT;图表图形化;精心设计封面和目录;用声音烘托气氛。一幅好图胜过一千句话,无关的美景干扰主题;过多的插图分散注意;过于复杂的画面增加认知负荷;插图与背景混杂。
攻略五:动静结合:控制长度;加快速度;明确目的;聚焦内容
在本次学习中,有一句话令我印象深刻,一堂课是否精彩,关键是教师而不是工具!是啊,无论ppt做得多么华丽,内容是多么深刻。但是一堂课的精彩与否,还是得靠教师来把握,路漫漫其修远兮,吾将上下而求索!
以上就是关于急!求个数据库课程的设计!!全部的内容,包括:急!求个数据库课程的设计!!、100分求一份数据库原理课程设计的实验报告、大学生实验心得体会100字左右等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)