首页数据库数据库原理课程设计报告,数据库原理实训报告

数据库原理课程设计报告,数据库原理实训报告

编程之家2026-05-191193次浏览

大家好,数据库原理课程设计报告相信很多的网友都不是很明白,包括数据库原理实训报告也是一样,不过没有关系,接下来就来为大家分享关于数据库原理课程设计报告和数据库原理实训报告的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

数据库原理课程设计报告,数据库原理实训报告

100分求一份数据库原理课程设计的实验报告

(图放不上去呀我自己做的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 3.1%。目前我国上网购物的群体中,绝大多数是年轻人,他们大多数是收入稳定、文化水平较高的中青年,网上消费已经日益成为他们生活中的一种重要的消费方式,他们成为了最有潜力的未来网上消费者。

三、网上购书设计思想

首先网上购书系统听起来是个很杂的程序,因为有很多很多书,也有很多很多人来买,但是其实我们简单的可以把它分为两个模块,这样我们就能很好的理解了,网上书店主要由前台会员管理模块和后台管理员模块两部分组成。

前台功能模块主要用于实现会员注册,登录,修改个人信息,分类查看书目信息、购书、管理购物车、结帐、查看各种服务条款等功能。

后台管理模块主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能。

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 java.util.Vector;

public class Cart{

Vector v= new Vector();

String act= null;

String item= null;

private void addItem(String id){

v.addElement(id);

}

private void removeItem(String id){

v.removeElement(id);

}

public void setItem(String id){

item= id;

}

public void setAct(String s){

act= s;

}

public String[] getItems(){

String[] s= new String[v.size()];

v.copyInto(s);

return s;

}

public void processRequest(){

if(act.equals("add"))

addItem(item);

else if(act.equals("remove"))

removeItem(item);

// reset at the end of the request

reset();

}

// reset

private void reset(){

act= null;

item= null;

}

public void clearAll(){

v.removeAllElements();

}

}

现实页面信息,提示等操作的设计:

package spage;

import java.sql.*;

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++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= printRow(rs,iPage,p);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(user)

public String printRow( ResultSet rs,int i,int p)

{

String temp="";

try{

int id=rs.getInt("userid");

temp+="<tr align='center' bgcolor='#FFFAF7'>";

temp+="<td><a href='javaScript:seeUser("+id+")'>"+rs.getString("name")+"</a></td>";

temp+="<td>"+rs.getString("sex")+"</td>";

temp+="<td>"+rs.getString("phone")+"</td>";

temp+="<td>"+rs.getString("address")+"</td>";

temp+="<td><a href='updateuser.jsp?updateid="+id+"'>修改</a></td>";

temp+="<td><a href='dealdeleteuser.jsp?delid="+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++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= bookRow(rs,iPage,p,f);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(book)

public String bookRow( ResultSet rs,int i,int p,boolean f)

{

String temp="";

try{

int id=rs.getInt("bookid");

temp+="<tr align='center'>";

temp+="<td><a href='detail.jsp?detailid="+id+"'>"+rs.getString("bookname")+"</a></td>";

temp+="<td>"+rs.getString("author")+"</td>";

temp+="<td>"+rs.getString("pubhouse")+"</td>";

temp+="<td>"+rs.getString("price")+"</td>";

if(f)

{

temp+="<td>"+rs.getString("salenum")+"</td>";

temp+="<td><a href='updatebook.jsp?updateid="+id+"'>修改</a></td>";

temp+="<td><a href='dealdeletebook.jsp?delid="+id+"'>删除</a></td>";

}

else

temp+="<td><a href='dealcart.jsp?dealid="+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++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= orderRow(rs,iPage,p,f);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(order)

public String orderRow( ResultSet rs,int i,int p,boolean f)

{

String temp="";

try{

String orderid=rs.getString("orderid");

temp+="<tr align='center'>";

temp+="<td><a href='detailorder.jsp?detailid="+orderid+"'>"+orderid+"</a></td>";

temp+="<td>"+(rs.getString("orderdate")).substring(0,10)+"</td>";

temp+="<td>"+rs.getString("orderstate")+"</td>";

if(f)

{

temp+="<td><a href='javaScript:seeUser("+rs.getString("userid")+")'>"+rs.getString("username")+"</a></td>";

temp+="<td><a href='dealdeleteorder.jsp?delid="+orderid+"'>删除</a></td>";

}

temp+="</tr>";

}

catch(SQLException e){}

return temp;

}

}

七、系统评价及心得体会

1、了解很多关于网上购书程序上的知识,要写这个课程设计,我把有关网上购书的概论也看了下,发现不知道是这个设计太简单还是怎么回事,网上出现很多此样的版本,很有有更新,可能我们对数据库设计的程序还不是很了解吧。

2,要写数据库E-R图,发现很难画啊,还要把线段连来连去,觉得在画图上面花了很多时间

3,一定要先了解数据情况,要先熟悉了网上购书的基本操作,在开始研究,最好自己去试一下网上购书,我就自己亲自去点击了下网上购书网,然后才下手写的课程设计。

急!求个数据库课程的设计!!

《数据库原理及应用》课程设计

数据库原理课程设计任务书

一、目的

1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。

2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。

3.培养把所学知识运用到具体对象,并能求出解决方案的能力。

二、任务(任选其一)

A.运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下:

—图书、资料的登记、注销和查询。

—借书证管理,包括申请、注销借书证,查询借书证持有人等。

—借还图书、资料的登记、超期处理,超期拒借等。

—图书、资料查询,借、还图书和资料情况查询。

—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。(本项不作为基本要求)

B.运用关系型数据库管理系统,实现服务电话管理系统

向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。

要求:

数据库要存储以下信息:

—客户信息

—客户工需单信息

—完成工需单所需人工

—完成工需单所需部件

—部件信息

—付款信息

—雇员信息

完成的功能:

—输入/查看客户工需单信息

—输入/查看部件、雇员等其它信息

—付款

—打印发票等

三、结果形式

1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。

2.上机实现。

四、考核

1.课程设计态度(20分)。

2.递交的书面材料(40分)。

3.上机运行情况(40分)

目录

1.问题描述 2

1.1背景 2

1.2数据需求 2

1.3事物需求 3

1.4关系模式 3

2.方案图表设计 3

2.1 E-R图 3

2.2数据流程图 8

2.3数据字典 9

2.4关系图: 11

3.数据库源代码 12

3.1数据库建立 12

3.2数据初始化 14

4.结果数据处理 17

4.1单表查询 17

4.2超期处理 19

4.3还书操作 20

4.4借书操作 22

4.5书籍状态 24

4.6读者状态 24

5.结束语 26

5.1课程设计心得 26

1.问题描述

1.1背景

随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

1.2数据需求

图书馆管理信息系统需要完成功能主要有:

1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。

2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

4.书籍类别信息的查询、修改,包括类别编号、类别名称。

5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

9.还书信息的输入,包括借书证编号、书籍编号、还书日期。

10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等

1.3事物需求

(1)在读者信息管理部分,要求:

a.可以查询读者信息。

b.可以对读者信息进行添加及删除的操作。

(2)在书籍信息管理部分,要求:

a.可以浏览书籍信息,要求:

b.可以对书籍信息进行维护,包括添加及删除的操作。

(3)在借阅信息管理部分,要求:。

a.可以浏览借阅信息。

b.可以对借阅信息进行维护操作。

(4)在归还信息管理部分,要求:

a.可以浏览归还信息

b.对归还信息可修改维护操作

(5)在管理者信息管理部分,要求:

a.显示当前数据库中管理者情况。

b.对管理者信息维护操作。

(6)在罚款信息管理部分,要求:

a.可以浏览罚款信息

b.对罚款信息可以更新

1.4关系模式

(一)书籍类别(种类编号,种类名称)

(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)

(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)

(四)借阅(借书证编号,书籍编号,读者借书时间)

(五)还书(借书证编号,书籍编号,读者还书时间)

(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)

以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。

2.方案图表设计

2.1 E-R图

根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。

2.1.1类别实体E-R图:

图2-1类别实体E-R图

2.1.2读者信息实体E-R图:

图2-2读者信息实体E-R图

2.1.3信息实体E-R图:

图2-3信息实体E-R图

2.1.4.记录信息实体E-R图:

图2-4记录信息实体E-R图

2.1.5记录信息实体E-R图:

图2-5记录信息实体E-R图

2.1.6罚款信息实体E-R图:

图2-6罚款信息实体E-R图

2.1.6总的信息实体E-R图:

图2-7总的信息实体E-R图

2.2数据流程图

D5

归还信息录入基本信息录入

D2

D1

基本信息录入基本信息录入

D3

D4

借阅信息录入

读者信息返回书籍信息返回

图2-7系统的数据流程图

2.3数据字典

表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借阅时间

2.4关系图:

图2-8数据库存表关系图

3.数据库源代码

3.1数据库建立

3.1.1创建数据库

USE master

GO

CREATE DATABASE librarysystem

ON

( NAME= librarysystem,

FILENAME='d:\librarysystem.mdf',

SIZE= 10,

MAXSIZE= 50,

FILEGROWTH= 5)

LOG ON

( NAME='library',

FILENAME='d:\librarysystem.ldf',

SIZE= 5MB,

MAXSIZE= 25MB,

FILEGROWTH= 5MB)

GO

3.1.2书本类别表建立

create table book_style

(

bookstyleno varchar(30) primary key,

bookstyle varchar(30)

)

3.1.3创建书库表

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),

)

3.1.4借书证表建立

create table system_readers

( readerid varchar(9)primary key,

readername varchar(9)not null,

readersex varchar(2) not null,

readertype varchar(10),

regdate datetime

)

3.1.5借书记录表建立

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),

)

3.1.6还书记录表建立

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)

)

3.1.7罚款单表建立*/

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)

)

3.2数据初始化

3.2.1将书籍类别加入表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','语言技能类')

3.2.2将已有的图书加入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');

3.2.3将已有图书证的读者加入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:54.623')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620204','赵铭静','女','学生','2005-09-27 11:24:54.123')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620202','潘虹','女','学生','2005-09-30 13:24:54.473')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('008415','蒋伟','男','教师','2004-04-30 09:24:54.478')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('001456','李叶风','女','教师','2004-04-30 09:24:54.478')

3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/

insert into borrow_record(bookid,readerid,borrowdate)

values('00125415152','X05620202','2007-09-27 11:24:54.123')

update system_books

set isborrowed=0

where bookid='00125415152'

insert into borrow_record(bookid,readerid,borrowdate)

values('00125415153','X05620206','2007-12-27 08:26:51.452')

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:51.452')

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:51.452')

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:51.312')

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:31.512')

update system_books

set isborrowed=0

where bookid='565800020' and isborrowed='1'

4.结果数据处理

4.1单表查询

4.1.1表book_style中查询演示:

图4-1表book_style中内容

4.1.2表system_books中查询演示:

图4-2表system_books中内容

4.1.3将已有图书证的读者加入system_readers表中结果查询:

图4-3表system_readers中内容

4.1.4借书纪录表borrow_record结果查询:

图4-4表borrow_record中内容

4.2超期处理

4.2.1现在对已有借书证的读者进行查询借书是否超期(这里归定30天):

说明:当前的getdate()以日期为2008年1月6日计算

图4-4选出借出超过30天的读者

4.2.2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算:

SQL语言:

insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)

select system_readers.readerid读者借书证编号,readername读者姓名,

system_books.bookid书籍编号,bookname书名,

0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30)超过时间天数,

borrowdate借书时间

from borrow_record,system_readers,system_books

where system_readers.readerid=borrow_record.readerid

and system_books.bookid=borrow_record.bookid

and Datediff(day,convert(smalldatetime,borrowdate),getdate())>=30

(所影响的行数为 3行)

select readerid书读者借书证编号,readername读者姓名,

bookid书籍编号,bookfee超期罚款

from reader_fee

形成各本书对应的罚款金额,按0.3元每天算

图4-5查看罚款单

4.3还书操作

4.3.1现在对某一读者进行还书操作:

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中更新。

4.4借书操作

4.4.1查询未被借出的书本:

图4-9

4.4.2查询已被借出的书本:

图4-10

4.4.3申请借书证:

SQL语言:

Insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620211','小华','男','学生',getdate())

图4-11

说明:查询相应的纪录增加了小华这样一个读者的借书证纪录:

4.4.4注销借书证:

说明:

1.在注销之前执行所有的还书过程,就是上面写到的所述SQL语句,然后执行

delete from system_readers where readerid=' X05620211',

2.小华借书证纪录就被删除了,同时要删除和小华归还纪录的内容

delete from return_record where readerid=' X05620211',

4.4.5查询所有书所对应的类别:

图4-12

4.5书籍状态

4.5.1查询所有工技术类的书:

图4-13

4.5.2查询清华大学出版社出版的书:

图4-14

4.6读者状态

4.6.1查询什么人借了什么书:

SQL语言:

select readername读者姓名,bookname书籍名称

from borrow_record,system_books,system_readers

where system_readers.readerid=borrow_record.readerid

and system_books.bookid=borrow_record.bookid

图4-15

4.6.2指定潘虹借了什么书:

SQL语言:

select readername读者姓名,bookname书籍名称

from borrow_record,system_books,system_readers

where system_readers.readerid=borrow_record.readerid

and system_books.bookid=borrow_record.bookid

and readername='潘虹'

图4-16

5.结束语

5.1课程设计心得

通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。

数据库课程工作总结

学习了数据库,有没有什么感想。下面是由我为大家整理的“数据库课程工作总结”,欢迎大家阅读,仅供大家参考,希望对您有所帮助。

数据库课程工作总结(一)对实验过程中用到的软件、实现技术的评价以及对于实验过程遇到的一些问题做的总结:

本次实验我们是在windows操作系统平台下完成的,应用了数据库建表,触发,删除插入;powerdesigner实现数据库的概念模型、物理模型的转化;java语言中的的GUI图形用户界面、与数据库连接(jdbc)等技术。较好的在规定时间内完成了老师安排给我们的任务,实验过程中尽管遇到了不少问题,但最后经过与同伴互相探讨,借阅资料,请教老师等都使问题得到了解决。总的来说感觉数据库、powerdesigner、java语言面向对象等编程技术应用起来灵活,容易理解。短短的两周课程设计让我对java语言等编程技术产生了浓厚的兴趣,更重要的是增强了我学习的自信心。

对两周的课程设计过程中老师引导的对软件开发的分配时间的分析评价

在第一阶段:20xx.1.2--20xx.1.6

我们做的题目是《小型餐饮管理系统》按照老师的安排,我们先进行系统需求和系统功能设计,在确定了我们要做的小型餐饮管理系统应具有哪些功能后利用powerdesigner汇出了数据库的物理模型(ER图),并且进一步利用powerdesigner的强大功能由ER图继而生成了物理模型图以及数据库,完成了数据库设计阶段。在剩下来的几天里我们主要把精力集中在应用程序的调试及课程设计报告的书写上。

个人负责的工作部分

1.与组员一起探讨分析所做项目(小型餐饮管理系统)的需求分析部分,共同完成需求部分的设计。

2.通过网络、书籍等查找所需的资料。

3.数据库部分的书写(包括数据库、表、触发器、索引、存储过程等的创建)以及完成ER图,物理模型图的设计转换部分。

经验与教训

在实验验演示给老师看的时候,自我感觉做的挺好,能得到老师的好评和赞许,没想到的是老师看完我们的演示后提出的一系列问题让我们一时目瞪口呆。听了老师的讲解后才发现我们做的系统根本就是个废品,没有任何一家厂商愿意用我们的东西,即使免费相赠。和现实中的《餐饮管理系统》相比,我们的系统最大的不足体现在安全性方面,主要表现为以下两个方面:

1.顾客点菜时由于没有考虑到库户绑定问题,及设置相关的口令,从而导致点菜时乱套,无章法的问题,不方便饭店管理,严重的会出现店家亏损问题。

2.缺少工作人员的业绩考核环节的设计。

通过这次教训,我相信在以后的学习实践当中,我一定会更加认真的对待实验中的每一个环节,尤其是开始时的基础阶段。学习,成长的过程就像建造一栋高楼大厦一样,打好地基很重要,因为这关系整个楼层的稳固安全问题。我坚信在以后长远的学习的过程中我会更注重培养严谨的思维,重视细节,凡事努力打造个好的开头,脚踏实地,一步一个脚印,做到不骄不躁。

心得与体会:

第一次接触像这样比较大的项目,通过本次课程设计我深切的体会到合作与实践的重要性。

第一、在实验的过程中我一边学习一边上机动手操作,才发现自己不懂的太多太多,以前的自己太渺小,我需要不断的在学习中成长。同时也深刻体会到自己需要在动手操作方面努力改进提高。

第二、记得老师和学长们总是教导我们要学会与他人协作,告诉我们合作的能在走出社会以后更是显得尤为重要,之前我还有点不以为然,过分的相信自己。通过本次为期两周的课程设计我对老师和学长的话坚信不移,这次实验如果没有同伴的帮助仅在两周内仅凭我个人是无法完成的,实验过程中我们一起努力,互相督促,探讨。最后较好的完成了任务,也从中学到了不少东西。我笃信在以后的学习和成长过程中我会更加注重与他人协作,互助。

数据库课程工作总结(二)跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,再有新的体会,也全部补充到这里。

1.尽量使用数据冗余

随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。

本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐又使程序运行速度减慢。

2.尽量不要使用varchar(max)类型

这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。

现在感觉用个varchar(1000)就够了。

3.使用预留字段

数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。

之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。

个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。

在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。

当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。

我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。

知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。

我精心推荐

关于数据库原理课程设计报告的内容到此结束,希望对大家有所帮助。

java虚拟机安卓版下载(JAVA虚拟机下载)杭州ai人工智能培训,杭州十大ai培训机构