数据库设计报告(sql数据库课程设计报告)
大家好,今天小编来为大家解答以下的问题,关于数据库设计报告,sql数据库课程设计报告这个很多人还不知道,现在让我们一起来看看吧!
求一份SQL server数据库课程设计报告
http://www.winu.cn/1/34248.html
类似的
一.可行性研究:
随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000网络数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
二.需求分析:
1.任务概述:
1.1目标:
对图书信息进行图书入库、借阅登记、借阅查询、过期提示、办理借书卡这些日常业务的需要。高效性通过系统的实用,能够改变旧的图书管理模式,使对图书的管理、借阅、查询更加方便有效。
1.2运行环境:
Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。
2.数据需求:
2.1数据流条目:
权限=权限+姓名登录用户=帐号+姓名+密码+权限
用户=用户帐号+姓名+性别+组号+证件号码图书类别=类别+类名
图书=图书编号+类别+书名+作者+出版日期+出版社+定价+总数量+剩下数量+备注
借阅=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
借阅信息=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
2.2数据字典(DD):
2.3数据库
使用SQL SERVER2000作为后台数据库,就可以行使基于网络连接的用户认证。从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。
2.4数据采集:
通过Internet从网站上收集一些图书的相关信息,录入数据库,从而建立数据库,并在编码调试阶段测试各个功能模块的实现。
3.功能需求:
3.1功能划分:
图书管理系统主要实现以下七方面的功能:
a.查询 b.图书借还 c.图书入库 d.图书维护
e.图书超期提示 f.环境管理 g.备份还原
3.2功能
图书管理包括查询、借还、入库、维护、超期提示、环境管理和备份还原七方面功能。
图书入库,主要实现入库登记。
图书借阅,进行借书登记(此操作由管理员完成);当用户要查询自己的借阅情况时,可进行借阅查询。
图书超期提示,当借阅者在已到借书期限时未归还图书,提示其尽快办理归还手续。
3.3数据流图(DFD):
新书入库DFD:
D1库存清单
D1库存清单
图书借阅的DFD:
过期提示的DFD:
借阅查询的DFD:
D1借阅查询清单
还书处理的DFD:
D1库存清单
4.安全性需求:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。每位用户根据自己的身份不同,进入不同的用户界面。管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
5.一致性需求:
在图书管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
6.完整性需求:
根据图书管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
三.概要设计说明书:
1.总体设计:
1.1系统结构示意图:
图书管理系统结构示意图
1.2总体结构和模块外部设计:
2.接口设计:
2.1外部接口:
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现图书管理系统。
2.2内部接口:
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效,方便。
3.E-R图
E-R图清楚地描述了系统中各个实体之间的联系,以及各个实体所具有的属性,可以使读者很清楚地了解整个系统的总体处理。在建立E-R图的过程中,主要经历以下几个步骤:1.选择局部应用;2.逐一设计分E-R图;3.合并分E-R图,生成初步E-R图;4.消除不必要的冗余,设计基本的E-R图。
4.运行设计:
4.1运行模块的组合:
运行模块分成基本的三个模块,即是:输入模块,输出模块,处理模块等。这使得整个系统的维护容易,简单;系统的结构层次简单,易懂。
4.2运行控制:
本系统采用的控制方式主要有三种:顺序,选择,循环。
5.安全保密设计:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。当用户登录进操作界面之前,我们设置了用户名和密码,当用户名和密码相匹配时才能进入该用户所允许做的权限操作界面,否则就只能看到登录界面管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
四.详细设计:
1.数据库表
权限:(权限,姓名)
登录用户:(帐号,姓名,密码,权限)
用户:(用户帐号,姓名,性别,组号,证件号码)
图书类别:(类别,类名)
图书:(图书编号,类别,书名,作者,出版日期,出版社,定价,总数量,剩下数量,备注)
借阅:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
借阅信息:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
2.计算机的软件配置
Windows 98/Windows xp/Windows 2000/Windows 2003;
五.编码与实现:
六.测试
sql数据库课程设计报告
网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与设计系统的前期,为了保证系统的功能的完善多次寻求周围同学和老师的意见,了解他们的要求,依照功能完善,界面美观,操作简单的原则进行设计。
严格按阶段进行
系统的开发设计是一项较大的工程,所以应该将整个系统的开发设计过程划分为若干阶段,相应的阶段又要分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种有序的组织安排,条例清楚、层次分明,便于计划的制定和控制,并且为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
采用系统的观点处理
在系统分析阶段,在对原系统进行全面调查和分析的基础上,构造系统的最佳逻辑模型,使用户对将来完整系统的轮廓有个初步的了解和认识,以便及时和用户进行交流和探讨,不断提高系统的完善性。在此基础上进行系统的物理实现和设计,切实完成逻辑模型的具体功能。逻辑设计和物理实现二者是相辅相成、密不可分的,这样使系统的设计更加稳妥合理。
整个系统的设计主要采用快速原形法
快速原形法是信息系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理信息系统。该方法的主要优点。
1.脉络清楚,所有问题都围绕一个模型展开,使彼此之间联系紧密。
2.有助于发现用户需求,通过对原形和用户接触,能够启发开发人员去挖掘问题,从而不断的修正、完善,最终得到一个理想的系统。
3.系统开发效率高,此方法的开发周期短、使用灵活、容易修改,这对于管理体制不够稳定的系统更加适合。
4.系统的可扩展性好,由于此方法是在原型应用中不断发展完善和修改的,所以有较强的扩展性。
在进行代码设计时,遵循了以下原则。
唯一性:在本系统中,每一个代码都和系统中的每一个对象唯一确定。
标准性:主要体现在对程序文件名命名和对数据文件命名的标准化上,遵循简单扼要,方便适用的原则。一目了然,无重复现象。为了系统维护人员便于进行系统维护,使用了统一的标准。
合理性:系统中代码设计与编码对象的分类相适应,以使代码对编码对象的分类据有标志作用。
简单性:在设计过程中采用Code-Behind代码分离,使数据库操作代码和前端调用代码分离,页面修改容易。
适应性:在代码设计过程中,代码反映了编码对象的特点,便于识别和记忆,使系统维护人员容易了解和掌握,便于进行维护工作。
系统总体功能结构
网络通信系统包含以下主要功能。
用户注册;用户登录;
查找好友;查看好友资料;
添加好友;
删除好友;
发送消息;
发送文件.
数据库表主要用来存放用户的注册信息和用户的好友资料,可利用两张数据库表来存放用户信息和用户好友的资料。包括用户的号码,昵称,密码,在线与否,ip地址,资料,头像号,性别,E-mail和籍贯等信息。其中,用户昵称和密码是必需的字段;在线与否是由系统自动设置的;其余的信息是可选的字段。
课题整体以JAVA为平台,采用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发而成的基于Socket的集中式网络通信系统,系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端,从而降低了系统的通信开销。
客户层。
客户层是应用程序的用户接口部分,它担负着用户与应用间的对话功能,用于检查用户的输入数据,显示应用的输出数据,为了直观的进行操作,客户层需要使用图形用户接口,若聊天用户变更,系统只需改写显示控制和数据检查程序即可,而不会影响其他两层。
服务层。(功能层)
服务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。在应用设计中,必须避免在表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理达到优化整体设计的目的。
数据层
数据层是DBMS,本系统使用了Microsoft公司的SQL Ssever2000数据库服务器来管理数据。SQL Ssever2000能迅速的执行大量数据的更新和检索,因此,从功能层传送到数
据层的要求一般都使用SQL语言。
求SQL数据库实验报告
*****系实验(上机)报告
课程名称数据库系统基础
实验名称数据查询与存储过程
学号 33
学生姓名嘻习喜戏
成绩
年月日
序号 5实验名称 SQL数据查询
实验目的:
熟练掌握SQL SELECT语句,能够运用该语句完成各种查询。
实验内容:
用SQL SELECT语句完成下列查询:
1.查询客户表中的所有记录。
2.从订购单表中查询客户号信息(哪些客户有订购单)。
3.查询单价在20元以上(含)的产品信息。
4.查询单价在20元以上(不含)的产品名称为牛奶的产品信息。
5.查询单价在20元以上(不含)的产品名称为牛奶或德国奶酪的产品信息。
6.查询有2003年7月订购单的客户名称、联系人、电话号码和订单号信息。
7.查询有德国奶酪订货的客户的名称、联系人和电话号码信息。
8.查询有德国奶酪订购需求的订单名细记录。
9.查询所有订购数量(即订单名细中每个订购项目的数量)都在10个以上的订购单的信息。
10.找出和德国奶酪同等价位的所有产品信息。
11.查询单价范围在10元到30元范围内的产品信息(使用BETWEEN…AND)。
12.从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)。
13.从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。
14.按产品的单价升序列出全部产品信息。
15.先按产品名称排序,再按单价排序列出全部产品信息。
16.从产品表中查询共有几种产品。
17.从订购名细表中查询德国奶酪的订购总数。
18.计算德国奶酪所有订购的总金额。
19.求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。
20.求每个订购单订购的项目数和总金额。
21.求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额。
22.求至少有两个订购项目的订购单的平均金额。
23.找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息(客户的名称、联系人和电话号码)和订单号。
24.找出在2000年1月1日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。
25.列出每类产品(相同名称)具有最高单价的产品信息(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)。
26.确定哪些客户目前没有订购单(使用谓词NOT EXISTS)。
27.查询目前有订购单的客户的信息(使用谓词EXISTS)。
28.查询符合条件的产品信息,要求该产品的单价达到了任意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)。
29.查询符合条件的产品信息,要求该产品的单价大于任何一款产品名称为牛奶的单价(使用ALL量词)。
30.设计如下的连接操作,并分析各自的特点:
•广义笛卡儿积
•内连接
•外连接
•左连接
•右连接
•全连接
掌握存储过程的创建命令,按照题目要求创建存储过程,理解存储过程的作用。
(1)建立存储过程。查询单价范围在x元到y元范围内的产品信息。
(2)建立存储过程。查询在某年某月某日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。
(3)建立存储过程。将某产品的订购日期统一修改为一个指定日期。
(4)建立存储过程。删除没有签订单的客户信息。
实验要求:
用SELECT语句完成本次实验,并提交上机报告。
(1)掌握存储过程的创建命令,按照实验内容的要求创建存储过程,理解存储过程的作用。
(2)用CREATE PROCEDURE和EXECUTE语句完成本次实验,并提交上机报告。
实验准备(本实验预备知识和为完成本实验所做的准备):
仔细阅读课本第五章关于SQL的数据查询功能的内容
实验过程(实验的操作过程、遇到的问题及其解决办法或未能解决的问题):
用SQL SELECT语句完成以上30题查询
实验总结(总结本次实验的收获、未解决的问题以及体会和建议等):
熟练掌握SQL SELECT语句,能够运用该语句完成各种查询
附录(SQL语句):
--1.查询客户表中的所有记录。
select* from客户
--2.从订购单表中查询客户号信息(哪些客户有订购单)
select客户号from订单where订单号!=null
--3.查询单价在元以上(含)的产品信息。
select*from产品where单价> 20 or单价=20
--4.查询单价在元以上(不含)的产品名称为牛奶的产品信息。
select*from产品where单价>20 and产品名称='牛奶'
--.查询单价在元以上(不含)的产品名称为牛奶或德国奶酪的产品信息
select*from产品where单价>20 and(产品名称='牛奶'or产品名称='德国奶酪')
--6.查询有年月订购单的客户名称、联系人、电话号码和订单号信息
select客户名称,联系人,电话,订单号from客户,订单where(year(订购日期)=2003 and month(订购日期)=7)and(订单.客户号=客户.客户号)
--7.查询有德国奶酪订货的客户的名称、联系人和电话号码信息。
select客户名称,联系人,电话from客户
where
(客户号=(select客户号from订单where(订单号=(select订单号from订单明细
where产品号=( select产品号from产品where产品名称='德国奶酪')))))
--8.查询有德国奶酪订购需求的订单名细记录。
select* from订单明细where(数量!=null and产品号=(select产品号from产品where产品名称='德国奶酪'))
--9.查询所有订购数量(即订单名细中每个订购项目的数量)都在个以上的订购单的信息。
select* from订单where(订单号in(select订单号from订单明细where(数量>10)))
--10.找出和德国奶酪同等价位的所有产品信息。
select* from产品where(
--11.查询单价范围在元到元范围内的产品信息(使用BETWEEN…AND)。
select* from产品where(单价between 10 and 30)
--12.从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)
select* from客户where客户名称like'%公司%'
--13.从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。
select* from客户where客户名称not like'%公司%'
--14.按产品的单价升序列出全部产品信息。
select*from产品order by单价
--15.先按产品名称排序,再按单价排序列出全部产品信息。
select* from产品order by产品名称,单价
--16.从产品表中查询共有几种产品。
select count( distinct产品名称) as产品总数from产品
--17.从订购名细表中查询德国奶酪的订购总数
select sum(数量) as'订购奶酪数量'
from订单明细
where产品号in(select产品号from产品where产品名称='德国奶酪')
--18.计算德国奶酪所有订购的总金额
declare@a money
select@a=(select单价from产品where产品名称='德国奶酪')
declare@b int
select@b=(select sum(数量) as'订购奶酪数量'
from订单明细
where产品号in(select产品号from产品where产品名称='德国奶酪'))
declare@c int
select@c=@a*@b
select@c as总金额
--19.求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。
select订单均值= avg(单价*数量),订单个数=count(订单号)
from订单明细,产品
where产品.产品号=订单明细.产品号
--20.求每个订购单订购的项目数和总金额。
select订单号, count(产品.产品号) as项目数,sum(数量*单价) as总金额
from产品,订单明细
where(产品.产品号=订单明细.产品号)
group by订单号
--21.求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额
select客户.客户号,产品.产品号,数量*单价as总金额
from客户,订单,订单明细,产品
where客户.客户号=订单.客户号and订单.订单号=订单明细.订单号and订单明细.产品号=产品.产品号and
产品名称='德国奶酪'
order by客户号
compute max(数量*单价),min(数量*单价) by客户号
--22.求至少有两个订购项目的订购单的平均金额
select订单号,avg(数量*单价),count(产品.产品号)
from订单明细,产品
where订单明细.产品号=产品.产品号
group by订单号
having count(产品.产品号)>=2
--23.找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息
--(客户的名称、联系人和电话号码)和订单号
select客户名称,联系人,电话,订单明细.订单号
from客户,订单明细,订单
where(客户.客户号=订单.客户号) and订购日期=null
--24.找出在年月日之后签订的订购单的客户信息
--(客户的名称、联系人和电话号码)、订单号和订购日期
select客户名称,联系人,电话,订单号,订购日期
from客户,订单
where客户.客户号=订单.客户号
and year(订购日期)>1996 and month(订购日期)>4 and day(订购日期)>2
--25.列出每类产品(相同名称)具有最高单价的产品信息
--(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)
select A.产品号, A.产品名称, A.规格说明, A.单价
from产品A
where单价=(SELECT MAX(单价)
FROM产品B
WHERE A.规格说明= B.规格说明)
--26.确定哪些客户目前没有订购单(使用谓词NOT EXISTS)
select*
from客户
where not exists(select* from订单where客户号=订单.客户号)
--27.查询目前有订购单的客户的信息(使用谓词EXISTS)
select*
from客户
where exists(select* from订单where客户号=订单.客户号)
--28.查询符合条件的产品信息,要求该产品的单价达到了任
--意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)
select*
from产品a
where(单价>any(select单价/2 from产品b where b.产品名称='牛奶'))
--29.查询符合条件的产品信息,要求该产品的单价大于任何
--一款产品名称为牛奶的单价(使用ALL量词)
select*
from产品a
where(单价>all(select单价from产品b where b.产品名称='牛奶'))
--30.设计如下的连接操作,并分析各自的特点:
--•广义笛卡儿积
SELECT*
FROM客户CROSS JOIN订购单
WHERE客户.客户号=订购单.客户号
--•内连接
SELECT*
FROM客户INNER JOIN订购单
ON客户.客户号=订购单.客户号
--•外连接
--•左连接
SELECT*
FROM客户LEFT JOIN订购单
ON客户.客户号=订购单.客户号
--•右连接
SELECT*
FROM客户RIGHT JOIN订购单
ON客户.客户号=订购单.客户号
--•全连接
SELECT*
FROM客户FULL JOIN订购单
ON客户.客户号=订购单.客户号
说明:
1.上机报告上传到211.68.36.251的数据库文件夹中的上传目录
2.文件名的命名规则为:学号+姓名+实验+序号。如:9724101汪伟的第二次上机报告名为:9724101汪伟实验2
3.封面由学生填写;
4.正文的实验名称、实验目的、实验内容、实验要求已经由教师指定;
5.实验准备由学生在实验或上机之前填写;
6.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
7.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;
8.将相关的语句粘贴到附录中。
你自己改改吧。想要word原版的话再说一声。
文章分享结束,数据库设计报告和sql数据库课程设计报告的答案你都知道了吗?欢迎再次光临本站哦!