罗斯文数据库查询-实验
数据库查询实验报告
数据库查询实验报告数据库查询实验报告一、引言数据库查询是数据库管理系统中的重要功能之一,通过查询可以从数据库中获取所需的信息。
本实验旨在通过实际操作,掌握数据库查询的基本方法和技巧,并对查询结果进行分析和解读。
二、实验环境本次实验使用的是MySQL数据库管理系统,该系统具有广泛的应用和较好的稳定性。
实验所需的数据表包括学生表(student)、课程表(course)和成绩表(score)。
三、实验步骤1. 创建数据库和数据表首先,在MySQL中创建一个名为"学生成绩管理系统"的数据库,并创建三个数据表:student、course和score。
其中,student表包含学生的学号、姓名、性别等信息;course表包含课程的编号、名称、学分等信息;score表包含学生的学号、课程编号和成绩等信息。
2. 插入测试数据为了进行查询实验,需要向数据表中插入一些测试数据。
通过INSERT语句,向student表中插入若干学生信息;向course表中插入若干课程信息;向score表中插入若干学生成绩信息。
3. 执行查询语句根据实验要求,设计不同的查询语句,包括简单查询、条件查询、多表连接查询等。
通过执行这些查询语句,可以从数据库中获取所需的信息。
4. 分析查询结果根据查询结果,对数据进行分析和解读。
可以通过统计、排序、分组等方式,对数据进行进一步处理和展示。
例如,可以统计每个学生的平均成绩,对学生成绩进行排名等。
四、实验结果与分析通过实验,我们得到了一些有关学生成绩的查询结果。
根据这些结果,我们可以得出以下结论:1. 学生A的平均成绩为80分,居于全班第一名;2. 课程B的平均成绩最高,为85分;3. 学生C在课程A和课程B中都取得了优异的成绩。
五、实验总结本次实验通过数据库查询的实际操作,使我们对数据库查询的基本方法和技巧有了更深入的了解。
同时,通过对查询结果的分析和解读,我们也对数据有了更全面的认识。
罗斯文数据库案例
•
“上级”字段记录的是某个雇员的上级主管是谁。由于上级主管
本身也是公司雇员,因此上级主管的信息也会记录在“雇员”表中。
为了避免录入时的重复输入,在此字段也设置了“查阅”属性,并且
字段的数据类型是“数字”,说明在这一字段保存的是“雇员ID”的信
息,查看“上级”字段的“查阅”选项卡,显示控件为组合框,在录
所以应该细分为客户表专门维护客户的信息; 订单表记录订单的日期,运费;订单名细表记录 具体的产品数量及价格;另外还需要产品表、供 应商表、雇员表、运货商表及类别表。
3. 数据类型及字段属性 罗斯文案例
• 文本 • 数字 • 日期 • 备注 • 货币 等数据类型(数据类型相关知识见教材-P30、
P134)
• “照片”字段采用的是“文本”类型,查看一下记录会发现,记录的 只是照片的文件名字而已,这和“类别”中的“图片”字段是有区别 的,这也是一种记录图片信息的方法,将来图片在窗体中的显示可以 通过加载文件路径的方式来处理。这样处理要求存放图片的路径与图 片名称不能发生改变,一旦改变在窗体中就会无法显示出照片,这是 与OLE类型的对象不同的地方。
商”,这样在数据表视图中,看到的字段标题就 会是“供应商”,而不是默认的“供应商ID ”。另
外这两个字段都是查阅列,这是一个很有用的属 性,我们对“供应商ID”作一下详细的讲解,“类 别ID”与“供应商ID”的设置方法相同。
4.具体表的设计
罗斯文案例
•
4.具体表的设计
罗斯文案例
• 在表中输入数据时,经常会遇到需要重 复输入的内容,比如人员的性别为“男”或 “女”,这是单表中的重复录入;比如产品 表中需要输入“供应商”,而“供应商”字 段在“供应商”表中已经录入过了,这属于 跨表的重复录入。这些内容如果直接录入不 仅花费了用户较多的时间,而且极容易出错。 为了方便用户录入重复性的数据,可以借助 ACCESS提供的查阅列的功能。
数据库查询的实验报告
数据库查询的实验报告数据库查询的实验报告引言:数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。
本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。
实验目的:1. 理解数据库查询的基本概念和原理;2. 掌握使用SQL语句进行数据库查询的方法;3. 分析不同查询语句的执行效率和优化策略。
实验步骤:1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。
2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。
3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。
4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。
5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。
6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效性。
实验结果与讨论:通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率有重要影响。
以下是我们的实验结果和讨论。
1. 基本查询:基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。
我们发现,基本查询的执行效率较高,查询结果准确。
然而,在处理大量数据时,查询时间可能会增加。
为了提高效率,我们可以使用LIMIT子句限制返回的记录数。
2. 条件查询:条件查询是根据特定条件筛选数据的查询方式。
我们使用WHERE子句来指定查询条件,并发现查询结果的准确性和效率与查询条件的选择有关。
使用索引字段作为查询条件可以大大提高查询效率。
3. 排序查询:排序查询是根据指定字段的顺序对查询结果进行排序的方式。
我们使用ORDER BY子句来指定排序字段,并观察到排序查询的执行效率较高。
然而,对于大规模数据集,排序操作可能会导致性能下降。
数据库查询实验报告doc
4. 查询分析器及利用方式。
查询分析器是在开发数据库应用
系统时利用最多的工具。查询分析器的
要紧作用是编辑Transact-SQL,将其发
送到效劳器,并将执行结果及分析显示
出来(或进行存储)。查询分析功能主
要通过测试查询本钱,判定该查询是不是
from 学生表,班级表
where 学生表.班级编号=班级表.班级编号
and 学号 in(
select 学号
from 选课表
where 课程编号 in (
select 课程编号
from 课程表
where 课程名='数据库'
)
);
/*查询学生XX15121选修课程的总学分。*/
SELECT SUM(学分) 总学分
)=(select count(*) from course)
--法三
select Sname
from student
where Sno in
(
selhaving count(*) = (select count(*) from course)
)
--(11)求选修了学生“”所选修的全数课程的学生学号和姓名。
where cno not in
(
select cno from student s,sc
where s.sno=sc.sno and sname like '王%' and co=sco
)
--(10)查询选修了全数课程的学生的姓名。(请至少写出两种查询语句)
--法一
select Sname
from student s
Access实验(新)
• 属性的设计要求:数据模式为“只读”;
35
定义条件宏
• 建立条件宏“浏览”,实现 对右图的选择控制
1、窗体:A班学生信息 2、窗体:学生选课情况 3、窗体:教师信息表 提示:在“条件”中使用“生成器”
如果学习感到困难, 也可以使用宏组实现。
③ 将“身高”设置为“标准”,小数点2位 。
7
6)查阅字段设置
① 将表“健康状况”中的字段“姓名”用查阅
向导建立查阅字段,数据来源为“A班学生信 息”中的“姓名”(包含学号); ② 将表“健康状况” 中“血型”用查阅向导建 立查阅字段,行来源类型为“值列表”,自 行输入。内容为:A、B、O、AB四种类型。
17
教师信息表参考样式
18
建立“健康状况”窗体
• 要求以自选图片“长城” 做背景 • 查阅帮助信息完成
19
在处理图片后, 特别注意压缩数据库
20
建立“A班学生信息”窗体
• 在“A班学生信息”表中插入照片 • 建立如下式样的窗体
21
建立多页窗体
• 使用控件“选项卡”对A
班学生信息,分三页显
示,具体要求如下:
Access实验题
1
实验一
初识Access数据库
1.启动、退出Access2002(或Access2000)。 2.打开示例数据库“罗斯文数据库”。 3.漫游“罗斯文数据库”,查看Access的7 个基本对象,打开和关闭它们。
2
实验2-3
2、表的建立
数据库和表的建立
1、建立新数据库MYDB
1)利用“设计视图”按以下结构建立表“健康状 况”
罗斯文商贸数据库分析
罗斯文商贸数据库分析罗斯文商贸数据库分析第16章数据库实例分析初学者面对一个应用课题,常不知如何着手。
有的人将开发数据库视为编程,其结果常常事倍功半,数据库质量也难以保证。
现实的数据库应用系统的开发是复杂的,必须按照一定的规范有步骤地进行。
本章将整合以前各章介绍的思想与方法,通过microsoft office自带的“罗斯文商贸数据库”来说明Access应用系统的整个开发过程,达到进一步学习Access的目的。
16.1罗斯文商贸数据库简介罗斯文商贸数据库是微软公司为用户提供的一个实例,安装office 同时用户在“自定义”安装时选择。
如果当初没有选择该项,任何时候都可以将OFFICE 2003光盘插入到光驱中,然后通过windows系统的“控制面板”?“添加或删除程序” ?“添加新程序”?选择从CD-ROM安装。
安装好的数据库文件存放在系统盘的“program file /Microsoftoffice/office/sample”目录下。
该数据库文件的英文名称为“northwind.mdb”。
打开Microsoft Office Access时,在已有数据库列表中选择“罗斯文商贸数据库”或者northwind.mdb即可。
本光盘中复制了northwind.mdb,读者可以直接将其复制到您的系统硬盘中,用鼠标双击该文件名,启动它运行。
本文中有时把该数据库名简称为“罗斯文”。
“罗斯文”示例数据库提供了用户可以试用的数据以及数据库对象(表、查询、窗体、报表、数据访问页、宏及模块),这些数据库对象展示了可以在用户自己的数据库中运用的 Microsoft Access 功能。
通过使用“罗斯文”数据库,用户能熟悉如何构造关系数据库,以及如何将数据库对象组合在一起来帮助输入、存储、处理、分发与打印数据。
数据库开发步骤:16.1.1需求分析系统需求包括数据分析和功能分析两个方面。
数据分析的任务是归纳出系统所包含的数据,功能分析的任务在于为应用程序设计提供依据,以实现应用要求的功能。
数据库查询实验报告步骤
一、实验目的1. 熟悉数据库查询的基本概念和操作方法。
2. 掌握SQL语言中SELECT语句的使用,包括基本查询、条件查询、排序查询、分组查询和子查询等。
3. 提高数据库查询的实际操作能力,为后续课程学习和实践打下基础。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:实验数据库(包含学生信息、课程信息、成绩信息等)三、实验步骤1. 登录数据库管理系统打开MySQL命令行客户端,输入用户名和密码登录数据库管理系统。
2. 创建实验数据库在MySQL命令行客户端中,创建一个名为“实验数据库”的数据库。
```sqlCREATE DATABASE 实验数据库;```3. 创建数据表在“实验数据库”中,创建以下数据表:(1)学生信息表(student)```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10),class_id INT);```(2)课程信息表(course)```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),credit INT);```(3)成绩信息表(score)```sqlCREATE TABLE score (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT,course_id INT,score INT,FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );```4. 插入数据向数据表中插入一些数据,以供查询使用。
数据库上机作业(学生学籍管理)
上机实验-1Access2003基本操作一、实验目的1.掌握Access2003数据库的构成;2.熟悉Access2003的用户界面。
二、实验内容在Access2003中打开罗斯文示例数据库,结合该数据库来了解Access 数据库的构成,并熟悉Access2003的用户界面。
1.单击“开始”按钮,指向“程序”,然后单击“Microsoft Access”,启动Access2003。
2.在启动对话框中,单击“打开已有文件”下的“罗斯文示例数据库”。
罗斯文示例数据库通常位于“Program Files\Microsoft Office\Office\Samples”文件夹中,文件名为“Northwind.mdb”。
3.在“数据库”窗口中,单击“对象”栏下的“表”,单击“产品”表对象,然后单击“数据库”窗口的工具栏上的“打开”按钮,在“数据表”视图中查看表中的数据记录。
4.从“视图”菜单中选择“设计视图”命令,以切换到设计视图下,查看表中各个字段的定义,例如字段名、数据类型、字段大小等,然后关闭设计视图窗口。
5.在“数据库”窗口中单击“对象”栏下的“查询”,单击“各类产品”查询对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在“数据表”视图下查看运行查询所返回的记录集合。
6.从“视图”菜单中选择“设计视图”命令,以查看创建和修改查询时的用户界面。
7.从“视图”菜单中选择“SQL视图”命令,以查看创建查询时所生成的SQL语句,然后关闭SQL视图窗口。
8.在“数据库”窗口中单击“对象”栏下的“窗体”,单击“产品”窗体对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在窗体视图下查看窗体的运行结果,并单击窗体下方的箭头按钮,在不同记录之间移动。
9.从“视图”菜单中选择“设计视图”命令,以查看设计窗体时的用户界面。
10.从“视图”菜单中选择“数据表视图”命令,以查看存储在基础表中的数据记录,然后关闭数据表视图窗口。
实验六:数据库综合查询-答案
实验六:数据库综合查询1.查询以‘DB_’开头,且倒数第个字符为‘s’的课程的详细情况; use studentselect*from coursewhere cname like'DB_%S__'2.查询名字中第个字为‘阳’的学生姓名和学号及选修的课程号、课程名;use studentselect sname,student.sno,o,cnamefrom course,student,scwhere sname like'_阳%'and student.sno=sc.sno and o=o3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;use studentselect student.sno学号,sname姓名,sdept所在院系,o 选修课程号,grade成绩from course,student,scwhere (cname='数学'or cname='大学英语')and student.sno=sc.sno and o=o4.查询缺少成绩的所有学生的详细情况;use studentselect student.*from student,scwhere grade is null and student.sno=sc.sno注意:若成绩存在,则改为grade=数字5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息use studentselect*from studentwhere sage!=(select sagefrom studentwhere sname='张力')6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;use studentselect x.sno学号,sname姓名,平均成绩=AVG(grade)from student x,sc ygroup by sname,x.snohaving avg(grade)>(select AVG(grade)from sc,studentwhere sname='张力' andsc.sno=student.sno )注意:没有成功7.按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。
罗斯文ACCESS数据库(必读)
一、罗斯文数据库简介二、罗斯文库是A ccess自带的示例数据库,也是一个很好学习教程。
让我们一起来学习一下吧。
通过罗斯文数据库的学习,能对数据库的表、关系、查询、报表、窗体、切换面板等内容有个全面的了解。
我们做数据库开发,应该来讲是现实生活中一种管理思路的体现与高度概括。
那么要构思之前肯定要对整个流程有个清晰的了解。
那我们就先来了解一下这个罗斯文公司的业务流程吧。
罗斯文公司是一个虚构的商贸公司,该公司进行世界范围的食品的采购与销售,就是通常所讲的买进来再卖出去,赚取中间的差价。
罗斯文公司销售的食品分为几大类,每类食品又细分出各类具体的食品。
这些食品由多个供应商提供,然后再由销售人员售给客户。
销售时需要填写订单,并由货运公司将产品运送给客户。
要打开“罗斯文数据库”,先启动Acc ess,从“帮助”菜单选择“示例数据库”->“罗斯文数据库”即可。
如你所安装的是精简版不带有示例数据库,那就从网上下载一个吧。
本帖隐藏的内容需要回复才可以浏览下载 (10.28 KB)2008-4-15 00:39图一注:本教程着重在实例讲解,不含最基本的一些概念及操作说明,如需学习基础的参见此教程或自己看书。
二、表设计思路及表的数据类型、字段属性正文:首先要做的事是设计表,表的设计思路就是将数据分类,同一类的数据放在一个表中,并且有一个字段与其他表之间建立联系。
而且要尽可能的细分,以最大限度的保证每个表中不存在重复的数据资料。
比如说销售订单吧,肯定要记录客户的具体资料如名称、地址、电话等方便联系;还要记录订单的日期,运费等;以及每张订单中都有哪些具体的产品、数量、价格等信息。
如果我们把这么多信息记录在一张表里的话,那就要录入许多重复的信息,比如客户的资料,不仅很麻烦还很容易出错。
罗斯文数据库查询-实验
罗斯文数据库查询-实验1.展示供应商姓名、联系人、国家和电话号码2.展示产品ID、产品名称、供应商ID 和库存数量3.展示客户姓名、地址、和电话4.展示雇员的姓名地址、电话、和出生日期5.展示‘北京、天津、华北’地区供应商姓名、联系人、国家和电话号码6.展示雇员的姓名地址、电话、和出生日期7.有无‘湖北’地区供应商姓名、联系人、国家和电话号码8.‘普三’公司的联系人是谁、国家和电话号码怎样?9.查找联系人‘林小姐’的供应商姓名、和电话号码10.查找电话号码第6位为4的供应商姓名、和地址。
11.查找电话号码最后一位为6的供应商姓名、和地址。
12.展示产品ID、产品名称、供应商ID 和库存数量13.展示客户姓名、地址、和电话14.展示雇员的姓名地址、电话、和出生日期15.查找‘调味品’类的所有商品ID、名称、价格、库存数及总金额。
16.查找单价在19元以上商品的所有信息。
17.查找库存量在5元以下商品的所有信息。
18.查找没有买货的客户姓名、地址、电话。
19.查找客户姓名、所定货物名称、订单号20.展示1996年7月份订单汇总,展示客户号、所定货物总额并且总额按降序排列21.雇员‘郑建杰’的服务客户号和客户姓名。
22.查找客户邮编第三位为8的客户全部信息。
23.试排出到目前为止购货金额最多的客户排榜记电话号码。
24.展示‘上海’供应商姓名、联系人、地址和电话号码25.展示10-30号产品ID、产品名称、供应商ID 和库存数量26.展示位于‘华北‘地区客户姓名、地址、和电话27.展示雇员的姓名地址、电话、和出生日期28.展示‘北京、天津、成都’地区供应商姓名、联系人、国家和电话号码29.展示雇员在1993年参加工作的姓名地址、电话、和出生日期30.有无‘南京’地区供应商姓名、联系人、国家和电话号码31.‘福满多’公司的联系人是谁、国家和电话号码怎样?32.查找联系人‘林小姐或黄小姐’的供应商姓名、和电话号码33.查找电话号码第4位为6的供应商姓名、和地址。
数据库的简单查询和连接查询实验总结
数据库的简单查询和连接查询实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!数据库的简单查询和连接查询实验总结数据库的查询是使用SQL语言进行数据检索和操作的基础技能。
管理信息系统实验报告 企业的数据存储与管理
信息管理学院专业课实验报告
上机日期:2020 年10 月 5 日上机地点与机号:XXX 指导教师:XXX 班级: XXX 学号: XXX 上机人:XXX
2.实验三中创建查询补货信息
单击“创建”-“查询设计”,在弹出的窗口中选择“产品信息表”和“供应商信息表”,单击“添加”,点击关闭。
双击“产品名称”、“产品类别”、“规格描述”、“库存量”、“再订货点”、“公司名称”、“公司地址”、“联系电话”添加字段。
在“库存数量”下的“条件”中输入“<=[再订货点]”,在“再订货点”下的“条件”中输入“>[库存数量]”,保存查询,单击“运行”按钮,重命名为“补货信息表”,查看执行结果。
五、实验结果分析、实验中遇到的问题与解决的方法及实验体会。
1.问题及解决方法。
问题1:如何将最贵的5种计算机选出来?
解决方法:在“销售价格”下的“排序”中选择“降序”,并将“查询设计”选项卡中的“返回”值设置为“5”。
问题2:如何将需要补货的计算机选出来?
解决方法:在“库存数量”下的“条件”中输入“<=[再订货点]”,在“再订货点”下的“条件”中输入“>[库存数量]”。
注:一定要将再订货点和库存数量的字段属性设置为“数字”,否则不能比较大小。
2.实验体会
(1)数据库作为信息处理最先进的技术和最有效的工具,是整个社会信息资源开发利用的基础,各行各业均需要应用信息系统,而数据库是信息系统的核心。
因此,了解企业进行数据存储和管理的基本概念和技术方法,培养对现实世界中各种数据及开发价值的意识对于我们来说是很有必要的。
(2)数据库是指经过组织的数据集,通过对数据的集中管理来控制数据冗余,可以有效支持多个程序。
数据库查询实验报告
实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年12 月10 日教务处制:在 INTO 子句中指出了表名 student,并指出了新增长旳元组在哪些属性上要赋值,属性旳次序可以与 CREATE TABLE 中旳次序不一样样。
INSERT INTO "S-C"."STUDENT"VALUES('','张成民','男','18','CS' );select* from "S-C"."STUDENT":值与属性要一一对应。
INSERT INTO "S-C".sc (sno,cno)VALUES('','1');SELECT*from "S-C".sc;:在新插入旳记录中 GRADE 列自动地赋空值。
或者: INSERT INTO "S-C".scVALUES('','1',null);SELECT*from "S-C".sc;:若直接在 SC 中直接插入选课记录,由于没有指出 SC 旳属性名,在 GRADE 列上要明确给出空值NULL。
创立新表CREATE TABLE dept_age(sdept CHAR (15),avg_age smallint);把系名和平均年龄存入新表insertinto dept_age(Sdept,avg_age) select sdept,avg(sage)from "S-C".studentgroup by sdept;UPDATE "S-C"."STUDENT"SET Sage=22WHERE sno=;select*from "S-C".student;UPDATE "S-C"."STUDENT"SET Sage=sage+1;select*from "S-C".student;UPDATE "S-C"."SC"SET Grade=0where sno in(select snofrom "S-C".studentwhere sdept='cs');SELECT*FROM "S-C".SC;DELETEfrom "S-C".studentWHERE sno='';select*from "S-C".student;DELETEFROM "S-C".SC;SELECT*FROM "S-C".SC;:这条 DELETE 语句将使 SC 成为空表,它删除了 SC 旳所有元组。
数据库的查询实验实验报告
因为班级号g99404在class表中不存在,由于class_id的外键约束,插入不成功,结果截屏如下:
图六
4、删除教师表中的所有数据,验证参照完整性约束;
使用Transact-SQL代码删除如下:
delete
from[dbo].[teacher]
使用sa用户访问操作,在student表中新增一条条目的实验截图如下:
图十五
如上图,新增条目的操作成功。
然后使用Transcat-SQL语句更改数据代码如下:
update[dbo].[student]
setstudent_name='彦巧'
wherestudent_name='孙彦巧'
实验截图如下:
执行结果如下:
图二
原因是student_course表中有如下的数据,表中的course_id在course表中不存在。
图三
从表中删除这两组数据之后,设置外键则可以成功。
2、向学生表插入具有相同学号的数据,验证其实体完整性约束;
Student表中原有数据如下:
图四
使用Transact-SQL语句插入如下:
grantselectonstudenttoshihexp
grantselectonstudent_coursetoshihexp
grantselectonteachertoshihexp
grantselectonteacher_course_classtoshihexp
使用企业管理器操作的实验截图如下:
数据库的查询实验
——实验报告
实验二数据库的查询
实验⼆数据库的查询实验⼆数据库的查询⼀、实验内容与步骤1、SELECT语句的基本使⽤(1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。
USE YGGLSEIECT *FROM EmployeesGO(2)查询每个雇员的地址和电话。
USE YGGLSELECT Address,PhoneNumberFROM EmployeesGO(3)查询EmployeeID为000001的雇员的地址和电话。
USE YGGLSELECT Address,PhoneNumber 7FROM EmployeesWHERE EmployeelD=’000001’GO(4)查询Employees表中⼥雇员的地址和电话,使⽤AS⼦句将结果中各列的标题分别指定为地址、电话。
USE YGGLSELECT Address AS地址.PhoneNumber AS电话FROM EmployeesWHERE sex=0Go(使⽤AS⼦句可指定⽬标列的标题。
)2、SELECT语句的条件查询(1)计算每个雇员的实际收⼊。
USE YGGLSELECT EmployeelD,实际收⼊=InCome—OutComeFROM SalaryG0(2)找出所有姓王的雇员的部门号。
USE YGGLSELECT DepartmentIDFROM EmployeesWHERE name LIKE’王%’Go(3)找出所有收⼊在2000~3000元之间的雇员号码。
USE YGGLSELECT EmployeelDFROM SalaryWHERE InCome BETWEEN 2000 AND 3000GO3、⼦查询的使⽤(1)查找在财务部⼯作的雇员的情况。
(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。
(3)查找⽐所有财务部的雇员收⼊都⾼的雇员的姓名。
4、连接查询的使⽤(1)查询每个雇员的情况以及其薪⽔的情况。
USE YGGLSELECT Emploees.*,Salary.*FROM Employees,SalaryWHERE Elmployees.EmployeelD=Salary.EmployeelDGO(2)查找财务部收⼊在2200元以上的雇员姓名及其薪⽔详情。
罗斯文数据库学习连载(22)
罗斯文数据库学习连载(22)
7.扩展订单明细
扩展订单明细为窗体“客户订单子窗体2”提供数据源,查询中带有计算字段,查询出每个订单每种产品的一些明细信息。
进入设计视图:
查询的数据来自于“产品”表和“订单明细”表,查询结果按订单ID升序排列。
查询中的字段总价是个计算字段,总价为该字段的名称,计算表示用“订单明细”表中的“单价”乘以“数量”后再乘以(1-[折扣]),相当于算出了打过折后的总价。
字段中用到一个CCur()转换函数,它的作用是将数据转换为货币类型,另外表达式中用了先除以100,再乘以100,相当把数据还原,同时小数点后面保留两位小数。
不过我试了直接用CCur([订单明细].[单价]*[数量]*(1-[折扣])),得到的结果也是两位的?欢迎共同讨论。
罗斯文数据库的查询设计
罗斯文数据库的查询设计一般的在表设计完成阶段以后就可以进行窗体的设计,然后再根据需要完善报表功能。
在窗体与报表设计过程中会较多的使用到查询,一般的可以要据需要随时建立。
不过为了先让大家都查询有个系统的了解,所以我们把罗斯文数据库中的查询放到前面来看。
查询一般可以分为五种基本类型:选择查询,参数查询,交叉表查询,操作查询和SQL查询。
用得最多的应是选择查询。
可以结合罗斯文中的实例一起来学习一下。
罗斯文数据库中共有21个查询,这些查询分别为窗体和报表提供了数据源,我们挑选其中的一些来学习。
1.订单查询:订单查询是为“订单”窗体提供数据的,包含订单表中的全部字段和客户表中的部分字段。
一般我们在设计查询时用的最多的是用设计视图创建查询。
由于订单查询是一个比较简单的查询,所以我们通过该查询来学习一下怎样通过简单查询向导来创建最简单的查询,然后再利用设计视图来查看和修改。
在数据库的查询对象窗口,双击“使用向导创建查询”或者单击“新建”按钮,在跳出的“新建查询”的窗口中选择“简单查询向导”在“表/查询”中选择“表:订单”,选中该表中的所有字段加入到“选定的字段”中再从“表:客户”中选择字段公司名称,地址,城市,地区,邮政编码,国家单击“下一步”,选择“明细”;如果要在查询中实现将记录进行分组,计数、求和、求平均值等计算,则要在这一步选择“汇总”进入“汇总选项”进行相应的设置。
选择“下一步”,给查询起名“订单查询”,单击“完成”,自动打开查询,显示查询结果。
如果要对查询进行查看或修改可以进入设计视图中,从菜单“视图”中选择“设计视图”,即可进入设计视图界面。
当然工具栏也有“视图”按钮设计视图分为上下两上窗口,在上面显示查询中要用到的数据源来自于哪些表或查询,在下面列出的是查询结果中需要用到的字段,该字段来自哪个表,哪个字段需要设置排序方式,是否需要显示该字段,以及查询条件等。
很多查询只需查询出满足条件的记录,并不需要全部的记录,这样就需要在“条件”中输入条件,一般用表达式来表示,只有满中表达式的记录才被显示出来。
实验四数据库的查询实验
实验四数据库的查询实验(两次内容)一、实验要求1.简单查询:(1)查询班号为g00401班的学生的学号和姓名;(2) 查询“数据库开发技术”课程的学分;(3) 查询选修了课程编号为“dep04_s003”的学生的学号和成绩,并将成绩按降序输出;(4) 查询学号为“g9940205”的学生选修的课程编号和成绩;(5) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。
2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作:(1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩;(2)查询所有学生的学号、姓名、选修的课程名称和成绩;(3)查询计算机科学系林红同学选修的课程名称、学分和成绩。
(考试成绩>=60有学分,否则无学分。
)3.在复杂查询实验中,用Transact SQL语句完成以下查询操作:(1)查询至少选修了三门课程的学生的学号和姓名;(2)查询选修课程号为“dep04_b001”的学生的平均成绩;(3)查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
(4)查询严为老师2001/2002学年教的软件开发技术课程的最高成绩及此学生的学号、姓名、班级。
(5)查询数据库开发技术课程用过的教材名称,作者和出版社。
(6)查询计算机科学系讲授过数据库开发技术的老师姓名和职称。
4.在嵌套查询实验中,用Transact SQL语句完成以下查询操作,要求写嵌套查询语句:(1)查询选修了电磁波工程的学生的学号和姓名;(2)查询没有选修电磁波工程的学生的学号和姓名;(3)查询至少选修了学号为“g9940201”的学生所选修的所有课程的学生的学号和姓名。
5.建立如下视图:学生选修课程信息视图,包括以下内容:1)学生学号、姓名、所在系、授课老师姓名、课程名称、课程教材名称、出版社、学分、选课成绩2)修改以上视图,增加学生所在班级信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.展示供应商姓名、联系人、国家和电话号码
2.展示产品ID、产品名称、供应商ID 和库存数量
3.展示客户姓名、地址、和电话
4.展示雇员的姓名地址、电话、和出生日期
5.展示‘北京、天津、华北’地区供应商姓名、联系人、国家和电话号码
6.展示雇员的姓名地址、电话、和出生日期
7.有无‘湖北’地区供应商姓名、联系人、国家和电话号码
8.‘普三’公司的联系人是谁、国家和电话号码怎样?
9.查找联系人‘林小姐’的供应商姓名、和电话号码
10.查找电话号码第6位为4的供应商姓名、和地址。
11.查找电话号码最后一位为6的供应商姓名、和地址。
12.展示产品ID、产品名称、供应商ID 和库存数量
13.展示客户姓名、地址、和电话
14.展示雇员的姓名地址、电话、和出生日期
15.查找‘调味品’类的所有商品ID、名称、价格、库存数及总金额。
16.查找单价在19元以上商品的所有信息。
17.查找库存量在5元以下商品的所有信息。
18.查找没有买货的客户姓名、地址、电话。
19.查找客户姓名、所定货物名称、订单号
20.展示1996年7月份订单汇总,展示客户号、所定货物总额并且总额按降序排列
21.雇员‘郑建杰’的服务客户号和客户姓名。
22.查找客户邮编第三位为8的客户全部信息。
23.试排出到目前为止购货金额最多的客户排榜记电话号码。
24.展示‘上海’供应商姓名、联系人、地址和电话号码
25.展示10-30号产品ID、产品名称、供应商ID 和库存数量
26.展示位于‘华北‘地区客户姓名、地址、和电话
27.展示雇员的姓名地址、电话、和出生日期
28.展示‘北京、天津、成都’地区供应商姓名、联系人、国家和电话号码
29.展示雇员在1993年参加工作的姓名地址、电话、和出生日期
30.有无‘南京’地区供应商姓名、联系人、国家和电话号码
31.‘福满多’公司的联系人是谁、国家和电话号码怎样?
32.查找联系人‘林小姐或黄小姐’的供应商姓名、和电话号码
33.查找电话号码第4位为6的供应商姓名、和地址。
34.查找电话号码最后一位为8的供应商姓名、和地址。
35.展示产品ID、产品名称、供应商ID 和库存数量
36.展示大连客户姓名、地址、和电话
37.展示雇员的姓名地址、电话、和出生日期
38.查找‘调味品’类的所有商品ID、名称、价格、库存数及总金额。
39.查找单价在35元以下商品的所有信息。
40.查找库存量在9元以下商品的所有信息。
41.查找没有买货的客户姓名、地址、电话。
42.查找客户姓名、所定货物名称、订单号
43.展示1996年8月份订单汇总,展示客户号、所定货物总额并且总额按降序排列
44.雇员‘郑建杰’的服务客户号和客户姓名。
45.查找客户邮编第三位为8的客户全部信息。
46.试排出到目前为止购货金额最多的客户排榜记电话号码。
PA数据库查询内容
1.查询1:查找所有客户的姓名和居住地址
2.查询2:展示1991年4月1日之后参加工作的销售员的姓名、参加工作日期和佣金率
3.查询3:展示佣金率大于11%并且在1990 年以后参加工作的销售员的所有信息。
4.查询4:展示佣金率大于11%或者在1990 年以后参加工作的销售员的所有信息。
5.查询5:展示销售员的姓名、电话和佣金率,要求佣金率以百分数的形式出现。
6.查询6:展示在1991年2月14日到1990 年4月23日参加工作的销售员姓名、参加工作日期、佣金率。
7.展示客户电话号码以‘5’开头的客户姓名及电话。
8.展示销售员表,要求佣金率为升序排列。
9.计算1991年4月份的售车的销售收入。
10.数出所有用户的个数。
11.展示客户“Peter Todd’.所购车辆的CUST_NAME, INVOICE#,SALES_ID, and MARGIN 12.展示四月份INVOICE#, DATE OF SALES, SALESP_name, commission rate, margin, (销售收入-进价)
13.展示四月份INVOCE#, customername, salespersname, vehicle details (SERIAL#, MODEL, and YEAR), 和SALES_PRICE
14.展示销售员ID、名字、售车数量和商业毛利润
15.展示没有买车的客户名字。
16.计算政府采购的客户列表
17.展示购买‘FORD’车客户姓名、地址、发货票号及售货员姓名。
18.寻找没有修车的客户名单
19.展示1991年销售排行榜。
销售员ID、名字、售车数量和商业毛利润
20.展示客户购买的排行榜。
客户姓名、购买车辆数、购车总额。