首页数据库数据库实验报告?求SQL数据库实验报告

数据库实验报告?求SQL数据库实验报告

编程之家2023-10-22139次浏览

大家好,关于数据库实验报告很多朋友都还不太明白,今天小编就来为大家分享关于求SQL数据库实验报告的知识,希望对各位有所帮助!

数据库实验报告?求SQL数据库实验报告

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")。

关于数据库实验报告的内容到此结束,希望对大家有所帮助。

服务器运维工具(IT管理员常用的运维工具哪些比较好)嵌入式数据库,什么是嵌入式数据库