数据库实验(实验六 视图)实验报告 答案
数据库作业实验六
数据库作业实验六实验六实验名称:连接查询⼀、实验⽬的掌握使⽤连接的⽅法从多个表中查询数据。
理解内连接、外连接(包括左外连接、右外连接和全外连接)、⾃⾝连接的概念和使⽤。
要求学⽣熟练掌握在FROM⼦句和在WHERE⼦句中指定连接条件的这两种⽅法。
⼆、实验原理在查询语句的FROM⼦句中⽤以下形式实现各种连接操作:●FROM 表1 [INNER] JOIN 表2 ON 表1.列名=表2.列名(实现内连接)●FROM 表1 LEFT [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现左外连接)●FROM 表1 RIGHT [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现右外连接)●FROM 表1 FULL [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现全外连接)●FROM 表1 AS 别名1 JOIN 表1 AS 别名2 ON 别名1.列名=别名2.列名(实现⾃⾝连接)在查询语句的WHERE⼦句中⽤以下形式实现各种连接操作:●FROM 表1,表2 WHERE 表1.列名=表2.列名(实现内连接)●FROM 表1,表2 WHERE 表1.列名*=表2.列名(实现左外连接)●FROM 表1,表2 WHERE 表1.列名=*表2.列名(实现右外连接)●FROM 表1 AS 别名1 ,表1 AS 别名2 WHERE 别名1.列名=别名2.列名(实现⾃⾝连接)三、实验设备安装有SQL SERVER 2005的计算机。
四、实验⽰例1、检索product 表和sale_item表中数量⼤于2的相同产品的产品编号、产品名称、数量、单价。
select a.prod_id,a.qty,a.unit_price,b.prod_namefrom sale_item as a inner join product as b /*如果改成left join/right join 试分析结果*/on (a.prod_id=b.pro_id) and a.qty>2order by a.prod_id2、查找出employee表中住址相同的员⼯的姓名、性别、职称、薪⽔、住址。
实验六 视图的创建和使用
实验六视图的创建和使用开课实验室:指导老师:学院:专业(班级):姓名:学号:一、实验目的与要求1)理解视图的概念2)掌握利用企业管理器和CREATE VIEW命令创建视图方法。
3)熟悉修改视图、查看视图和删除视图的方法。
4)掌握通过视图修改数据表的方法二、实验过程设计及实验步骤创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。
1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。
2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码:3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS4)删除视图:将视图VIEW2删除.三、SQL调试及结果创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。
1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。
2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码:CREATE VIEW VIEW2ASSELECT STUDENT.SNAME,OFROM STUDENT,SCORE3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 执行代码;SP_HELPTEXT VIEW2执行代码:SP_HELP VIEW2执行代码:SP_DEPENDS VIEW24)删除视图:将视图VIEW2删除. 执行语句:USE XSGLDROP VIEW VIEW2四、实验体会通过此次学习我理解视图的概念,掌握利用企业管理器和CREATE VIEW命令创建视图方法。
数据库实验报告及答案
实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求:1.列出所有的SQL语句和源代码;2.程序要求有适当的注释;3.对数据完整性约束实施要求给出相应的测试用例。
4.实验报告提交电子档。
实验内容:一:创建表、更新表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。
2.了解表的结构,建立所有表的关系图。
3.利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。
4.查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)5.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。
SELECT*INTO PremiumToysFROM ToysWHERE Toys.mToyRate>20;6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。
ALTER TABLE ToysADD CONSTRAINT C1CHECK (siToyQoh BETWEEN 0 AND 200);ALTER TABLE ToysADD CONSTRAINT C2default(1)for siLowerAge;7.给id为‘000001’玩具的价格增加$1。
update Toys set mToyRate=mToyRate+1 where cToyId='000001';8. 列出表PickofMonth中的所有记录,并显示中文列标题。
SELECT cToyId[玩具编号],siMonth[生产月份],iYear[生产年份],iTotalSold [销售总量]FROM PickofMonth;二:查询数据库1.显示属于California和Illinoi州的顾客的名、姓和emailID。
数据库技术实验报告的答案
数据库技术实验报告的答案实验目的:本次实验旨在加深对数据库管理系统(DBMS)的理解,掌握数据库设计、实现和查询的基本技能,并通过实际操作来熟悉SQL语言的运用。
实验环境:1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 开发工具:Visual Studio Code实验内容:1. 数据库的创建与设计2. 数据表的创建与数据类型选择3. 数据的插入、更新与删除4. SQL查询语句的编写与执行5. 数据库的备份与恢复实验步骤与结果:1. 数据库的创建与设计:- 使用MySQL命令行工具创建名为“StudentsDB”的数据库。
- 设计了三个表:Students(学生信息),Courses(课程信息),Enrollments(选课信息)。
2. 数据表的创建与数据类型选择:- 为Students表创建字段:StudentID(INT,主键),Name (VARCHAR(50)),Age(INT),Gender(CHAR(1))。
- 为Courses表创建字段:CourseID(INT,主键),CourseName (VARCHAR(100)),Credits(INT)。
- 为Enrollments表创建字段:EnrollmentID(INT,主键),StudentID(INT),CourseID(INT),Grade(CHAR(2)),并设置StudentID和CourseID为外键。
3. 数据的插入、更新与删除:- 向Students表插入了10条学生记录。
- 向Courses表插入了5门课程记录。
- 通过Enrollments表记录了学生的选课情况,包括成绩。
- 使用UPDATE语句更新了学生的选课成绩。
- 使用DELETE语句删除了某些学生的选课记录。
4. SQL查询语句的编写与执行:- 编写了多条SELECT语句,查询了学生信息、课程信息以及学生的选课情况。
- 使用了JOIN操作查询了学生与其选修课程的关联信息。
实验六答案数据库综合查询[精品文档]
1、查询以‘DB_’开头,且倒数第三个字符为‘s’的课程的详细情况select*from coursewhere cname like'DB\_%s__'2、查询名字中第二个字为“阳”的学生姓名和学号及选修的课程号、课程名select student.sno,student.sname,o,cnamefrom student,course,scwhere sname like'_阳%'and student.sno=sc.sno and o=o 3、列出选修了‘数学’或‘大学英语’的学生学号、姓名、select student.sno,sname,sdept,o,cname,gradefrom student,sc,coursewhere student.sno=sc.sno and o=o andsc.sno in(select sc.sno from sc,course where (cname='大学英语'or cname='数学')and o=ogroup by sc.sno)select student.sno,sname,sdept,cno,gradefrom student,scwhere Cno in(select Cno from coursewhere cname='数学'or cname='大学英语')and sc.sno=student.sno4、查询缺少成绩的所有学生的详细情况;select*from student,scwhere Grade is null and student.sno=sc.sno5、查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;select*from studentwhere sage<>(select sagefrom studentwhere sname='张力')6、查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩select student.sno,sname,平均成绩=AVG(grade)from student,scwhere student.sno=sc.snogroup by student.sno,snamehaving AVG(Grade)>(select AVG(Grade)from sc,student where sname='张力'and student.sno=sc.sno)7、按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。
数据库原理实验六 ODBC和JDBC数据库编程
《数据库原理》实验报告题目:实验六ODBC/JDBC数据库编程学号姓名班级日期2016.10.27一、实验内容、步骤以及结果1.ODBC配置以及程序调试:(50分)(1)配置一个ODBC数据源,要求数据源名称:student,其中包含s(学生信息)表。
打开运行-〉输入odbcad32.exe,确定-〉在ODBC数据源管理器,点击“添加”(2)阅读并运行实验给出的例子程序,理解ODBC编程,要求简单写出自己对这段程序的理解或者流程图,并且请给出程序运行结果示例图。
因为该MFC项目是一个窗口项目,窗口加载时调用的是ODBC_TESTDlg.cpp中的OnInitDialog给窗口中各个输入框赋初值。
在在点击执行按钮时运行函数OnButtonExcute。
在这个函数中完成数据库连接,执行SQL语句的一系列过程。
1.新建变量并初始化。
分配语句句柄。
2.连接数据库3.执行SQL语句4.结果集处理:循环显示select的结果。
5.断开数据源,释放相关的句柄。
2.参考给出的ODBC编程示例,使用ODBC技术,编写一个简单的程序,包含对数据库SPJ的连接,查询,插入,修改和删除。
(50分)打开运行-〉输入odbcad32.exe,确定-〉在ODBC数据源管理器,点击“添加”修改程序,使其支持对SPJ表的查询:将语句文本框改为可写的,以支持其他语句。
查询:插入:修改:删除:3.用JDBC实现对数据库student的连接,查询,插入,修改和删除。
(选做实验) 添加sqljdbc的库:依次插入,修改,删除数据,并查询修改的结果:二、实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。
问题:MFC项目是从哪里启动的?解答:开始时一直想在项目里找main函数,一直没有找到,然后才知道这个窗口项目的代码应该从窗口构造函数处开始看,与数据库有关的的代码都在点击BUTTON后执行的那个函数里。
数据库实验示例带答案
示例1实验一实验名称:SQL语句的应用(6课时)一、实验目的通过使用SQL SERVER企业管理器建立表。
模式为人事表、客户表、销售表、销售明细表、产品表。
理解数据库模式的概念,理解主键约束、外键约束、UNIQUE约束和CHECK 约束。
通过SQL SERVER企业管理器建立表间的约束。
将得到的表生成脚本,保存。
二、实验环境是MS SQL SERVER 2000的中文客户端。
三、实验示例create table employee1(emp_no char(5) not null,constraint emp_nochk check(emp_no like '[E-F][0-9][0-9][0-9][0-9]'),emp_name char(10) not null,emp_sex char(1) not null,constraint emp_sexchk check(emp_sex in ('m','f')),emp_phone char (13) not null,constraint emp_phonechk check(emp_phone like '([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'), emp_add varchar(60) not null,emp_salary char(5) not null,constraint emp_salarychk check (emp_salary between 60000 and 80000))go四、实验内容与步骤1、建立五张表,每张表至少需要20条记录。
(1)/*员工人事表employee */(3)/*销售主表sales */(4)/*销货明细表sale_item */2、建立表的同时创建表的约束。
(1)为每张表建立主键约束。
实验六 视图和索引 实验指导
实验六视图和索引实验指导一、视图视图是SQL Server中重要的数据库对象。
视图常用于集中、简化和定制显示数据库的数据信息,为用户从多种角度观察数据库中的数据提方便。
为了屏蔽数据的复杂性、简化用户对数据的操作、控制用户访问数据的权限、保护数据安全,常为不同的用户创建不同的视图。
1. 视图的基本概念视图是从一个或多个表或视图导出的表;其结构和数据是建立在对表的查询基础上的。
和表一样,视图也是包括几个被定义的数据列和多个数据行。
但就本质而言,这些数据列和数据行来源于其所引用的表。
所以,视图不是真实存在的基础表,而是一张虚表。
视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份。
通过视图看到的数据,只是存放在基本表中的数据。
对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
可以将任何符合视图创建规定的SELCT语句命名和存储为视图。
在视图中北查询的表称为基表。
视图的常见实例如下。
●一个基表的行或列的于集。
●两个或多个表的合并。
●两个或多个表的联接。
●一个基表的统计总汇。
●另外一个视图的子集。
●视图和基表的混合。
2. 创建视图在SQL Server2008中创建视图,创建者必须拥有创建视图的权限,并且对视图中引用的基表或视图有许可权。
此外,创建视图前还应该注意以下几点:●只能在当前数据库中创建视图。
如果使用分布式查询,视图所引用的基表和视图可以存在于其他数据库或其他服务器中。
●在一个视图中最多引用1024列,视图中记录的行数限制由基表中的记录数目决定。
●视图的名称必须遵循标识符的命名规则,且对每个架构都必须唯一,并且该名称不得与该架构包含的任何表的名称相同。
数据库实用技术-实验六
实验报告单院(系)计算机学院专业计算机科学与技术班级姓名学号同组人实验室S4305 组号日期课程数据库实用技术指导教师成绩实验项目编号8103203006 实验项目名称索引和数据的完整性一、实验目的(1)掌握索引的使用方法;(2)掌握数据完整性的实现方法;二、实验环境WIN7操作系统SQL Server2008三、实验原理(或要求)(1)了解索引的作用与分类;(2)掌握索引的创建方法;(3)理解数据的完整性的概念与分类;(4)掌握各种数据完整性的实现方法。
四、实验步骤(1)建立索引①使用CREATE INDEX语句创建索引。
●对YGGL数据库的Employees表中的DepartmentID列建立索引。
在查询分析器中输入如下程序并执行:USE YGGLGOCREATE INDEX depart_indON Employees(DepartmentID)GO●在Employees表的Name列和Address列上建立复合索引。
CREATE INDEX Ad_indON Employees(Name,Address)●对Departments表上的DepartmentName列建立唯一非聚集索引。
CREATE UNIQUE INDEX Dep_indON Departments(DepartName)②使用界面方式创建索引。
使用界面方式在Employees表的PhoneNumber列上创建索引。
启动SQL Server Management Studio,在对象资源管理器中展开数据库YGGL,展开表Employees,右击“索引,选择“新建索引”选项。
在新建索引的窗口中填写索引的名称和类型,单击“添加”按钮,在列表框中选择要创建的索引的列,选择完单击“确定”按钮即完成创建工作。
(2)重建索引。
重建表Employees中的所有索引。
USE YGGLGOALTER INDEX ALLON Employees REBUILD(3)删除索引。
《数据库实验》实验报告
《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
⼆、实验内容1、创建数据库和查看数据库属性。
2、创建表。
3、查看和修改表结构。
4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。
(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。
数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。
详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。
(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。
创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。
数据库实验6 -数据完整性约束(表约束)
实验六数据完整性约束姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:2022.5【实验目的与要求】1.熟练掌握实体完整性的实现。
2.熟练掌握参照完整性的实现。
3.熟练掌握域完整性的实现。
【实验内容与步骤】实验准备:(1)对于SalesDB数据库,若在产品表、销售表和客户表上已有约束,请先删除之;(2)删除掉表中重复的行。
6.1.实体完整性的实现(1) 对产品表,定义主键约束(用企业管理器实现)。
写出相应过程:(1)在对象资源管理器中的数据库节点下找到数据库SalesDB,找到表Product。
右击-修改(2)按住Ctrl键选中Price和Stocks,右键-设置主键-保存测试:试着对产品表插入一条与原表中数据行具有相同主键值的数据。
给出测试结果:(2)客户表(CUSTOMER),定义名为PK_Cstm的主键约束,设定客户号(Cno)为主键。
(用SQL语句实现,写出相应语句)。
给出相应的SQL语句:alter table Customeraddconstraint PK_Cstm primary key(Cno)给出测试结果:(3)对销售表,定义名为PK_Sales的主键约束,设定主键为(Pno,Cno)的组合(用SQL语句实现,写出相应语句)。
给出相应的SQL语句:alter table Salesaddconstraint PK_Sales primary key(Pno,Cno)给出测试结果:(1)利用企业管理器建立产品表(Product)与销售表(Sales)之间的参照关系,当对主表产品表进行更新和删除操作时,从表Sales采用NO ACTION方式,写出其过程。
给出相应的过程:测试:试着删除主表中与从表有关联的一条记录,而后分别查看主表和从表中数据记录,给出测试结果。
(2)利用SQL语句建立销售表(SALES)与客户表(CUSTOMER)之间的参照关系,设定外键约束名为FK_SC,使得当对主表客户表(CUSTOMER)进行更新和删除操作时,从表销售表(SALES)采用CASCADE(级联)方式处理,给出相应的SQL语句和测试结果。
实验六 视图的定义及使用实验 实验报告
实验六视图的定义及使用实验实验报告实验任务(一)建立视图(运行并观察结果)1.建立信息系学生的视图IS_student。
CREATE VIEW IS_StudentASSELECT Sno,Sname,SageFROM StudentWHERE Sdept='IS'2.建立信息系选修了1号课程的学生的视图IS_S1。
CREATE VIEW IS_S1(Sno,Sname,Grade)ASSELECT Student.Sno,Sname,GradeFROM Student,SCWHERE Sdept='IS'ANDStudent.Sno=SC.Sno ANDo='1';3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。
CREATE VIEW IS_S2ASSELECT Sno,Sname,GradeFROM IS_S1WHERE Grade>=904.建立一个反映学生出生年份的视图BT_S。
CREATE VIEW BT_S(Sno,Sname,Sbirth)ASSELECT Sno,Sname,2004-SageFROM Student5.将学生的学号及他的平均成绩定义为一个视图S_G。
CREATE VIEW S_G(Sno,Gavg)ASSELECT Sno,AVG(Grade)FROM SCGROUP BY Sno6.将课程的课号及选修人数定义为一个视图C_XIU。
CREATE VIEW C_XIU(Cno,Scount)ASSELECT Cno,COUNT(*)FROM SCGROUP BY Cno(二)查询视图(运行并观察结果)1.在信息系学生的视图中找出年龄小于20岁的学生。
SELECT Sno,SageFROM IS_StudentWHERE Sage<202.查询信息系选修了1号课程的学生。
SELECT IS_Student.Sno,SnameFROM IS_Student,SCWHERE IS_Student.Sno=SC.Sno ANDo='1'3.在S_G中查询平均成绩在90分以上的学生的学号和平均成绩。
数据库原理实验报告
计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:*****姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。
2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。
3、熟练掌握备份和还原数据库。
二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。
SQL数据库实验报告实验六
第1部分实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE PROCEDURE 创建存储过程的方法和步骤。
(2)掌握使用Transact-SQL 语句EXECUTE 执行存储过程的方法。
(3)掌握通过SQL Server 管理平台和Transact-SQL 语句ALTER PROCEDURE 修改存储过程的方法。
(4)掌握通过SQL Server 管理平台和Transact-SQL 语句DROP PROCEDURE 删除存储过程的方法。
(5)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE TRIGGER 创建触发器的方法和步骤。
(6)掌握引发触发器的方法。
(7)掌握使用SQL Server 管理平台或Transact-SQL 语句修改和删除触发器。
2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print ,该存储过程能够显示26个小写字母。
CREATE PROCEDURE letters_print ASDECLARE @count int SET @count=0 WHILE @count<26 BEGINPRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END单击查询分析器的“执行查询”按钮,查看studentsdb 数据库的存储过程是否有letters_print 。
使用EXECUTE 命令执行letters_print 存储过程。
(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。
CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。
数据库数据查询实验报告和答案
韶关学院
学生实验报告册
实验课程名称:数据库技术与应用
实验项目名称:数据库的数据查询
实验类型(打√):(基础☑
设计
院系:专业班级:姓名学号:
指导老师:
韶关学院教务处编制
一、实验预习报告内容
二、实验原始(数据)记录
实验时间:2013年10月22日(星期二第七八节)
三、实验报告内容
图图
图7
图16
图18
图20
图22
图37
注:1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。
2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。
21。
数据库原理实验报告(6)(含答案)
南京晓庄学院《数据库原理与应用》课程实验报告实验六分组统计查询和集合查询设计所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)熟练掌握数据查询中分组条件表达、选择组条件的表达方法。
(2)熟练使用统计函数和分组函数。
(3)熟练各类计算和分组计算的查询操作方法。
(4)掌握集合查询的实现方法。
2.实验要求(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
b)查询各系各门课程的平均成绩。
c)查询每个院系各种职称的教师人数,输出院系、职称、人数。
d)查询数学与信息技术学院学生的平均年龄。
e)查询07294003课程的最高分和最低分。
f)查询选修人数超过30人,且课程号以07开头的课程号、课程名称和选修人数。
按选修人数降序排列。
g)查询选修了5门以上课程的学生学号。
h)查询年龄大于女同学平均年龄的男同学姓名和年龄。
i)查询SC表中最高分与最低分之差大于20分的课程号。
j)查询平均成绩大于75分的课程的课程号、课程名、平均分。
k)查询期末考试平均分排名前10%的学生,输出学号和平均分。
l)查询教师人数最多的前3个院系,输出院系和教师人数。
m)查询全校老师和学生的姓名,输出姓名和类别两列(类别中显示教师或学生),结果按类别排序。
n)用集合查询实现同时讲授过07294003和07295007两门课的老师的工号。
o)用集合查询实现教师表中职称不是教授的老师的详情。
(2)按要求完成实验报告。
3.实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)。
a)查询各个院系学生的总人数,并按人数进行降序排列。
select DEPT_ID, COUNT(*) 总人数 from dbo.Studentgroup by DEPT_IDorder by DEPT_ID descb)查询各系各门课程的平均成绩。
数据库实验答案_实验六.docx
实验六视图、索引文件的应用(2学时)一、实验目的1.掌握SQL Server中的视图创建及删除的方法,。
2.加深对视图和SQL Server图表作用的理解3.掌握创建主键(PRIMARY KEY)约束的基本操作4.掌握创建唯一(UNIQUE)约束的操作5.掌握创建表间的参照关系的操作6.掌握创建和管理索引的基本操作7.掌握索引文件的使用方法二、实验仪器计算机、SQLServer2000软件,U盘(学生自备)。
三、实验原理1.视图(D启动数据库服务软件SQL Server 2000的查询分析器,用CREATE VIEW语句建立视图(2)用DROP VIEW语句删除视图(3)用SELECT命令对视图建立查询.语法格式同基本表的查询.(4)利用UPDATE INSERT DELETE等命令更新视图数据.语法格式同基本表的数据更新.2.索引(1)使用T-SQL语句中的CREATE INDEX,既可以创建聚集索引或非聚集索引。
(2)使用T-SQL语句中的DROP INDEX,可以从当前数据库中删除一个或多个索引。
(3)用企业管理器创建查看索引、器重命名索引、删除索引四、实验内容与步骤1.视图具体操作任务:(D 利用企业管理器和查询分析器使用SQL语言建立视图(运行并观察结果)1)建立计算机系学生的视图IS_XS文的.LKW) *MKH)O iH* 声!n=Wl叵回2. 鲂i* 夔_]»33 £Z 21 鼠2)建立计算机系选修了 98432号课程的学生的视图IS S1$ SQL Server Enterpry Manage* - '.9 'u.sl'中SIS握~,(local/'g 3t«t(F) «D(W) »»(H)3)将学生的学号及他的平均成绩定义为一个视图S_G.也SQL Server Enterpns« Manager - *»_g"(2)使用SQL语言在查询分析器中查询视图(运行并观察结果)2)在S_G中查询平均成绩在80分以上的学生的学号和平均成绩(3)使用SQL语言在查询分析器中更新视图(运行并观察结果)■fi •□(**) E9至口豆卢!'■r--- @1 2)删除计算机系学生视图IS_S中学号为30531的记录.■□(W) »WH)(4)使用SQL语言在查询分析器中删除视图(运行并观察结果)1)通过企业管理器删除IS_S1视图2)通过SQL命令删除IS S1视图2.索引与数据完整性操作任务(1)利用企业管理器创建和删除主键(PRIMARY KEY)约束1)对xs表中的学号设置主键SQL S«»ver Enterpn*e Manage* - ?St+S «i" fuAS 'xiq" 111 '(local),t) «D(W) WRBIH)列公式2)删除xs表中的学号主键在'sno,前方三角按右键,选择取消'主键’即可(2)通过企业管理器创建索引1)对xs表按照学号建立主键索引,索引组织方式为非聚集索引;2)对xs表按姓名建立唯一索引,索引组织方式为聚集索引;3)对xs kc表按照学号+课程号建立唯一索引,索引组织方式为聚集索引。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 视图
【实验内容】
1、交互式创建视图View_S,其数据来源于一个基本表S,包含的数据有SNO、SN、SEX、DEPT。
2、交互式创建成绩表视图View_SCORETABLE,其数据来源于两个基本表C和CS,以及一个已有的视
图View_S,包含的数据有来自视图View_S的字段SN、来自表C的字段CN、来自表SC的字段SCORE。
3、使用SQL创建课程表视图View_CTABLE,其数据来源于两个基本表T和C,包含的数据有来自表
T的字段TN、表C的字段CN。
4、交互式删除视图View_S中的字段SNO。
5、用SQL给视图View_CTABLE增加一个课时字段CT。
6、交互式修改视图View_S中的数据来实现对其基本表S中数据的修改。
7、对视图View_S执行INSERT语句,查看此视图的基本表S中数据的变化。
8、修改View_S的定义,使其包含基本表S的主键字段SNO,再对View_S执行插入操作。
9、用SQL对视图View_S执行DELETE操作,查看此视图的基本表S中数据的变化。
表中数据未发生变化
10、用SQL删除视图View_S和View_CTABLE。