数据库实验报告?求SQL数据库实验报告
大家好,关于数据库实验报告很多朋友都还不太明白,今天小编就来为大家分享关于求SQL数据库实验报告的知识,希望对各位有所帮助!
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语言实验报告
数据库大型作业
——药品进销存系统的数据库设计
一、题目背景
随着我国市场经济的蓬勃发展和人们对医药产品的需求的迅速增加,医药行业正处于
一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋
求发展,客观上要求企业必须加强内部管理,提高运营效率。另外,由于医药产品种类繁
多、进销存模式特殊、业务量大,复杂庞大的帐务管理已远远适应不了企业快速发展的需
求。如何尽快建立和完善现代企业的信息化管理机制,已成为医药企业快速发展的关键所
在。可以说,没有信息化的医药管理几乎是不可想象的。因此,尽快建立和完善现代企业
的信息化管理机制问题,是医药企业发展的关键所在。
目前国内外成熟的进销存管理系统软件拥有强大的功能,但是价格却是相对昂贵,仅
仅适用于大中型规模化的生产企业。对于中小型企业,特别是商业企业来说,购买一套软
件,不仅费用昂贵,而且其中很多信息管理模块对自身来说并不适用,浪费较大。企业更
希望针对自己量身定做符合本企业业务特点、且价廉物美的软件产品。
二、医药进销存管理系统划分
系统总体功能设计就是对系统的需求进行分析,采用面向对象的设计方法对系统进行
分解,其基本思想就是自顶向下将整个系统划分为若干个子系统,在必要时子系统再划分
成若干功能模块。子系统的划分应满足如下原则:
(1)子系统之间相对独立,在功能、信息等方面具有较好的凝聚性,便于系统调试和
调用。
(2)子系统间的联结关系尽可能简单,数据依赖性尽量小,以使数据接口简单、明了,
各子系统具有较高的独立性和可修改性。
(3)子系统的划分应便于系统分阶段实现。
根据上述原则,要开发一个成功的系统程序,关键是要紧密联系实际,程序的实用性要强。为此要先分析医药行业现行管理工作的内容、流程,并将其优化,最后程序化实现。根据用户的需求,我们将医药进销存管理信息系统划分为
十个功能模块:
①基础信息管理:包括药品信息、员工信息、供应商信息、客户信息。
②入库信息管理:包括入库登记、入库退货、入库查询、入库退货查询。
③销售信息管理:销售入库、销售退货、销售查询、销售退货查询。
④库存信息管理:库存盘点、库存查询、仓库管理。
⑤调货信息管理:调货登记、调货查询。
⑥结帐信息管理:销售结帐、入库结帐、销售退货结帐、入库退货结帐、日结、月结、
供应商往来帐、客户往来帐。
⑦系统信息管理:修改密码、修改权限设置、修改用户、数据备份。
⑧综合查询信息管理:销售查询、销售退货查询、入库查询、入库退货查询、调货查
询、库存查询。
⑨帮助信息管理:关于系统、帮助主题、在线帮助。
⑩辅助信息管理:娱乐游戏。
具体功能模块如图
三、数据库设计流程
数据库设计流程图如图
四、数据库概念设计
概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽
取人们关心的共同特性,忽略其本质的细节。它独立于机器,独立于特定的DBMS,是
系统中各个用户共同关心的数据结构。概念结构设计一般首先根据系统分析的结果(数据
流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即分E-R图。再将分
E-R图进行合并成总E-R
药品实体E-R图
员工实体E-R图
供应商实体E-R图
客户实体E-R图
销售相关E-R图
采购相关E-R图
库存实体E-R图
仓库实体E-R图
药品、员工、仓库、库存实体关联E-R图
五、数据库逻辑结构设计
逻辑结构设计的任务是将概念结构(即E-R图)转换为与选用的DBMS所支持的数
据模型相符的逻辑数据模型,同时还要进行优化。根据前面分析得到的E-R图,结合SQL
Server 2000的特点进行了修正,得到了如下的主要关系数据库表,如表所示
药品信息:
员工信息:
供应商信息:
客户信息:
仓库信息:
库存信息:
权限信息:
权限指派信息:
入库登记信息:
销售登记信息:
六、SQL语言:
(1)创建药品信息表tabypinfo
CREATE TABLE [dbo].[tabypinfo](
[yp_id] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[yp_name] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL,
[yp_jc] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[jixing] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[huowei] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[chandi] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[guige] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[danwei] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[shangbiao] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[pizhunwenhao] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[jinjia] [float] NULL,
[pifajia] [float] NULL,
[lingshoujia] [float] NULL,
[pihao] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[baozhiqi] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[huoyuan] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[beizhu] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
(2)创建员工信息表tabyginfo
CREATE TABLE [dbo].[tabyginfo](
[yg_id] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[yg_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[sex] [varchar](5) COLLATE Chinese_PRC_CI_AS NULL,
[sort] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[position] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[rq] [datetime] NULL,
[salary] [float] NULL,
[memo] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
17
GO
(3)创建供应商信息表tabgys
CREATE TABLE [dbo].[tabgys](
[gys_id] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[gys_name] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL,
[jc] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[address] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[area] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[mail] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[phone] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[fax] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[linkman] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[lm_phone] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[bank] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[accounts] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[taxpayer] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[email] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
(4)创建客户信息表tabkh
CREATE TABLE [dbo].[tabkh](
[kh_id] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[kh_name] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL,
[jc] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[address] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[area] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[mail] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[phone] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[fax] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[linkman] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[lm_phone] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[bank] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[accounts] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[taxpayer] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[email] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
18
GO
(5)创建权限信息表tabpurview
CREATE TABLE [dbo].[tabpurview](
[admi_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[admi_password] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[admi_purview] [bigint] NOT NULL
) ON [PRIMARY]
GO
(6)创建权限信息表tabpurviewctrl
CREATE TABLE [dbo].[tabpurviewctrl](
[admi_purview] [bigint] NOT NULL,
[b_xiaoshou] [bit] NOT NULL,
[b_ruku] [bit] NOT NULL,
[b_kucun] [bit] NOT NULL,
[b_diaohuo] [bit] NOT NULL,
[b_caiwu] [bit] NOT NULL,
[b_zhangmu] [bit] NOT NULL,
[b_jichuxinxi] [bit] NOT NULL,
[b_xitong] [bit] NOT NULL
) ON [PRIMARY]
GO
数据库的连接方法
在开发基于数据库的MIS之前,首先要解决与数据库连接问题。不同的数据库开发
环境提供不同的数据库接口。本论文所开发的应用系统采用Visual C++ 6.0开发工具,使
用SQL Server 2000建立数据库,采用与数据库建立的接口为ADO。这里对数据库的连接
方法作一下简要说明。
为了方便数据库连接的统一控制和方便对异常的捕捉,需要将ADO封装到类中,于
是在头文件stdafx.h中加入下列代码引入ADO对象。
#import"c:\program files\common files\system\ado\msado15.dll" no_namespace
rename("EOF","adoEOF")。
关于数据库实验报告的内容到此结束,希望对大家有所帮助。