数据库实验六
数据库应用实验报告6
《数据库及其应用(yìngyòng)》(课程(kèchéng)编号:B0901000)实验报告(2013-2014学年(xuénián)第2学期)实验成绩:学号: 1303100117姓名:曹冬玲专业(zhuānyè)班级:房产(fángchǎn)1301 课堂号: B0901000任课教师:刘勘完成日期: 2014年5月29日星期四(2)查询“工商管理”专业所有女生的信息。
SELECT 专业名称,学生.*FROM 专业 INNER JOIN 学生 ON 专业.专业编号=学生.专业编号WHERE 专业.专业名称=“工商管理”AND 学生.性别=“女”;(3)查询作为“项目负责人”的学生的学号、姓名、性别。
保存为“负责人”查询。
SELECT 学生.学号,姓名,性别FROM 学生 INNER JOIN 项目分工 ON 学生.学号=项目分工.学号WHERE 分工=“负责人”;(4)查询没有参与项目的学生学号、姓名、专业名称。
SELECT 学号,姓名,专业名称FROM 学生 INNER JOIN 专业 ON 学生.专业编号=专业.专业编号 WHERE 学号 NOT IN (SELECT 学号 FROM 项目分工);(5)查询参与项目超过1项的学生学号、姓名和参与项目数。
SELECT 学生.学号,姓名,COUNT(*)FROM 学生 INNER JOIN 项目分工 ON 学生.学号=项目分工.学号 GROUP BY 学生.学号,姓名HAVING COUNT(*)>1;(6)查询参与项目最多的学生学号、姓名和参与项目数。
SELECT TOP 1 学生.学号,姓名,COUNT(*)AS 参与项目数FROM 学生 INNER JOIN 项目分工 ON 学生.学号=项目分工.学号GROUP BY 学生.学号,姓名ORDER BY COUNT(*) DESC;(7)查询与农村或农业有关的项目及负责人姓名。
数据库理论与技术实验报告六
数据库理论与技术课程实验报告学院:电子与信息工程学院专业:计算机科学与技术年级:计科实验时间: 2012年4月26日组长:学号:组_______姓名:学号:组_______姓名:学号:组_______姓名:学号:组_______指导教师签字:成绩:实验六、视图、存储过程和触发器实验一、实验目的和要求1、实验目的:理解视图的概念和相关命令,并掌握视图相关的SQL语句;理解存储过程的概念和相关命令,并掌握存储过程相关的SQL语句;理解触发器的概念和相关命令,并掌握触发器相关的SQL语句2、实验要求:掌握视图存储过程和触发器的使用二、实验内容与步骤1、利用数据库jxgl完成实现下列查询的视图。
(在SQL SERVER2005上附加数据库jxgl),并运行该视图。
安装好的SQL Server2005没有用户数据库,如果磁盘上有数据库文件,可以将其附加到数据库服务器中。
(1)创建视图,实现查询03物流1班学生的详细信息(2)创建视图,实现查询“入学成绩”在350到400分之间的学生的姓名和班级(3)创建视图,实现查询students表中现有的班级(4)创建视图,实现查询具有“教授”或“副教授”职称的教师的教师编号和姓名(5)创建视图,实现查询姓“陈”,且籍贯是“宁波”的学生的姓名,出生日期,入学成绩。
(6)创建视图,实现查询课程名称中包含“DB_”的课程的信息(7)创建视图,实现查询教师上课情况表中还没有安排好上课教师的班级和对应的课程号(8)创建视图,实现查询全体学生情况,查询结果按所在班级名升序排列,同一班级中的学生按出生日期降序排列(9)创建存储过程,实现统计03物流1班学生“入学成绩”的平均分、最高分、最低分(10)创建存储过程,实现统计各个班级的学生人数,按统计结果做降序排列(11)创建存储过程,实现统计各部门教师的人数,筛选出教师人数在指定人数(参数)以上的部门(12)创建储存过程,实现查询平均分在指定分数(参数)以上的课程编号2、将上述查询以存储过程实现,并在后面写出运行该存储过程的语句。
数据库实验六报告
实验项目SQL Server 2000中数据库完整性约束触发器设置所属课程数据库原理实验目的1)熟悉通过SQL对数据进行完整性约束触发器控制。
2)完成作业的上机练习。
实验环境SQL Server 2000 window XP实验内容要求:在SQLSERVER2000中利用SQL语句完成以下操作。
1)通过SQL对表建立完整性约束。
2)通过SQL创建插入触发器。
3)通过SQL创建删除触发器。
4)通过SQL创建更新触发器实验过程1)复制生成xscj数据库的代码并运行。
2)为student表的年龄字段增加名为Checkage约束条件,限制年龄介于15到25之间。
3)为student表建立触发器Sinsert,如果student表中插入一条记录,则取消插入并提示错误。
4)为student表建立触发器Smodi,如果student表中某一学生年龄加1,则SC表中该学生的各门成绩都加15)为student表建立触发器Sdel,如果student表中某一学生删除,则SC表中该学生记录也删除。
实验结果及分析1.首先打开SQL查询分析器,复制生成xscj数据库的代码并运行实验操作步骤通过SQL Server 2000软件运行后所得截图如下:2:新建约束条件checkage:3:测试sinsert触发器:4.建立触发器Smodi:运行smodi触发器,当学好为2002151121的学生的年龄加一,sc表中,该同学的成绩加1.5:创建触发器sdel:运行sdel触发器,如图,删除学号为2002151121的在student表中的学生记录,相应的SC表中的记录也删除了。
实验心得总结通过这次的实验,我熟悉掌握了通过SQL对表建立完整性约束,了解了创建插入触发器,更加深入地学习了数据库的一些知识,充分地运用SQL软件的功能。
在为student表建立触发器Sdel,如果student表中某一学生删除,则SC表中该学生记录也删除的过程中存在着很多困难,多次运行失败,我通过查询资料以及翻阅课本知识,深入了解触发器的一些知识,对问题有了一些头绪,能够运行成功,基本解决的这个问题。
数据库 实验报告(实验六)
沈阳工程学院学生实验报告(课程名称:数据库原理及应用)实验题目:数据库设计班级软件本111 学号2011417104姓名吴月芬日期2012-11-27地点F606 指导教师孙宪丽祝世东一、实验目的利用PowerDesigner,熟练掌握数据库设计的步骤和方法。
二、实验环境安装能进行PowerDesigner操作的微机。
三、实验内容与要求工厂物资管理系统数据库中涉及到仓库、零件、供应商、项目和职工信息存储。
具体如下:(1)仓库包含属性仓库号、面积、电话号码,本实验涉及的属性数据类型和长度自己确定。
(2)零件包含属性零件号、名称、规格、单价、描述。
(3)供应商包含属性供应商号、姓名、地址、电话号码、帐号。
(4)项目包含属性项目号、预算、开工日期。
(5)职工包含属性职工号、姓名、年龄、职称。
在工厂物资管理系统中一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,用库存量来表示某种零件在某个仓库中的数量;一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作;职工之间具有领导-被领导关系,即仓库主任领导若干保管员;一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,同时记录某个供应商供给某个项目的零件数量。
进行此工厂物资管理系统的数据库设计。
具体要求:(1)在CDM工作区中设计出给定的概念模型,检查合理性。
(2)自动产生物理模型,检查是否正确。
(3)自动产生数据库中的表。
四、实验过程及结果分析1.进入PowerDesigner2.选择“Welcome to PowerDesigner”窗口中的“Create Model”选项或选择“File”/“New”,或单击,打开“New Model”窗口,点击“Model types”,选择“Conceptual Data Model”。
3.单击“OK”,进入CDM工作区。
4.添加实体,设置属性.同样的方法完成其他的实体的建立。
数据库原理综合实验报告
实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。
以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。
(2)对前面章节所学的知识加以综合应用。
2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。
(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。
完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。
-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。
(3)设计数据库概念模型,画出E-R图。
2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。
-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。
2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。
2.4 装载数据(1)收集真实数据或者生成模拟数据。
(2)批量加载数据到数据库中。
(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。
3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
(3)要设计良好的数据库完整性约束。
(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。
学生需要有学号、姓名、性别、年龄、专业等信息。
选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。
数据库实验报告(6)
数据库实验报告(6)一实验题目1.存储过程的定义和使用2。
触发器的创建和使用二实验目的1.掌握存储过程的定义、执行和调用方法。
2.掌握触发器的创建和使用。
三实验内容1.存储过程的定义和使用(1)创建存储过程查找姓李的学生的选修课成绩信息。
(2)创建一个存储过程,计算每个学生选修课的总分,并显示得分最高的三名学生的分数。
(3)创建一个存储过程以查找课程的最高分数(带有输入参数的存储过程)。
(4)创建一个存储过程来计算同学的平均分数并返回统计结果。
(带输入和输出参数的存储过程)(5)创建一个存储过程,计算选修课的数量,然后返回数字。
(6)用存储过程统计选修课,用存储值最多的学生。
(存储过程的嵌套)2.触发器的创建与使用(1)如果学分大于5,在为表格C插入新课程信息时,定义行前级别的触发学分uu触发器分,自动修改为5分。
(2)定义行后级别触发器。
当SC表的等级发生变化时,它将自动出现在等级变化表SC_uu增加日志中加一条新的纪录,该新纪录包括:操作者名称、操作日期、操作类型。
(3)建立一个delete触发器,针对于sc表,每次只能删除一条信息。
(4)创建不允许用户更改学号的更新触发器。
如果学生号被更改,将给出提示信息:学生号不允许更改。
(5)执行相应的SQL语句来触发上面定义的触发器。
(6)删除触发信用触发四实验步骤1.存储过程的定义和格式:createproc[edure]procedure_name[;number][{@parameterdata_type}[变化][=默认值][输出][with[用于复制]assql_statement[...n]创建存储过程以查找姓李的学生的选修课分数信息。
(1)创建存储过程,统计每个学生的选修课的总成绩,显示成绩最好的前3名学生成绩。
SC表的基本信息如图1所示:图表1代码:createprocp_sumscoreas从SCGroupByNo中选择Top 3Sum(成绩)作为总分execp_sumscore运行结果:命令已成功完成。
大学生数据库实验课实验六报告
《数据库技术及应用》实验六、SQL数据查询语言 DQL学生姓名学生班级学生学号指导老师一.实验内容本次实验用于了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
实验步骤:执行以下内容1. 启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。
用Create Table建立Student表、Course表和Choose表:(建表语句并非本次重点略)2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:1中的截图就是已经运行这些语句后截图的结果。
3. 用SELECT语句,查询计算机学院学生的学号和姓名。
4.用between…and…表示查询条件,查询年龄在20~23岁的学生信息。
5. 用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。
6.用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose 表中C1课程的最高分、最低分、总分、平均分。
7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
8. 查询学生的学号、姓名、选修的课程名及成绩。
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号12. 用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。
二.遇到的问题&解决在步骤10的嵌套查询中因为多个表中存在同名列,而我的语句指代不明一直错误,在老师的帮助下发现了这个问题并解决。
实验六答案数据库综合查询[精品文档]
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、按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。
实验六 数据库的查询数据库的查询 实验报告
实验6 数据库的查询(三)一.实验名称:数据库的查询(三)二.目的和要求:(1)掌握数据汇总的方法。
(2)掌握SELECT语句的GROUP BY子句的作用和使用方法。
(3)掌握SELECT语句的ORDER BY子句的作用和使用方法。
三.实验准备(1)了解数据汇总的方法。
(2)了解SELECT语句的GROUP BY子句的作用和使用方法。
(3)了解SELECT语句的ORDER BY子句的作用和使用方法。
四.实验时间:2011年4月28日五.实验设备和实验环境:(1) PC机。
(2) SQL Server 2000。
六.实验内容:1.数据汇总(1)求数学系学生的平均年龄。
在查询分析器的编辑窗口输人如下语句并执行。
SELECT A VG(Sage) AS ‘数学系平均年龄’FROM StudentWHERE Sdept=’CS’思考与练习:查询数学系学生的最高年龄和最低年龄。
select max(sage) as '最高年龄',min(sage) as '最低年龄'from studentwhere sdept='math'(2)求选修数据库系统学生的平均成绩。
在查询分析器的编辑窗口输入如下的语句并执行:SELECT A VG(Grade) AS ‘数据库系统平均成绩’FROM ScWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=’数据库系统’)思考与练习:求选修数据库系统学生的最高成绩和最低成绩。
select max(grade) as '最高成绩',min(grade) as '最低成绩'from scwhere cno=(select cnofrom coursewhere cname='数据库')(3)求数学系学生的总人数。
在查询分析器的编辑窗口输入如下的语句并执行:SELECT COUNT(Sno)FROM StudentW HERE Sdept=‘数学系’思考与练习:统计选修数据库系统课程成绩大于等于90分的人数。
实验六 数据库的完整性定义与检查 (2)
实验六数据库的完整性定义与检查实验目的:1.充分理解关系数据库中关于数据库完整性的概念。
2.掌握实体完整性的定义和检查方法。
3.掌握参照完整性的定义和检查方法。
4.掌握用户自定义完整性的定义和检查方法。
实验内容:一、在企业管理器中定义以下数据表中各字段的完整性约束(包括实体完整性、参照完整性和用户定义完整性)。
1.Student表。
记录学生基本信息。
表1-1 Student 表结构[Sno] [char](9)PRIMARY KEY,[Sname] [char](8)NOT NULL,[Ssex] [char](2)CHECK(Ssex IN('女','男')),[Sage] SMALLINT CHECK(Sage>=15 AND Sage<=45),[Sdept] [char](20)default('计算机'))2.Course表。
记录课程信息。
表1-2 Course 表结构[Cno] [char](10)PRIMARY KEY,[Cname] [char](20)NOT NULL,[Ccredit] SMALLINT CHECK(Ccredit>0),[Semester] SMALLINT CHECK(Semester>0),[Period] SMALLINT CHECK(Period>0),)3.Sc表。
记录学生选修课程的信息。
表1-3 Sc 表结构[Sno] [char](9)NOT NULL,[Cno] [char](10)NOT NULL,[Grade]SMALLINT CHECK(Grade>=0 and Grade<=100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno))二、在查询编辑器中,写出创建表的语句同时写出设置实体完整性、参照完整性和用户自定义完整性的语句。
数据库6实验报告
数据库实验报告实验六:储存过程的建立与调用指导老师:杜献峰专业班级:计科122班学号:201200814211姓名:温阳阳实验六存储过程建立与调用一.实验目的:对于Oracle11g,掌握Oracle11g的存储过程的建立。
使用SQL PLUS和SQL Developer进行存储过程的建立。
对于SQL Server,理解并掌握利用SQL Server 数据库库服务器的存储过程的建立与调用,并理解概念。
能够熟悉用数据库一种开发平台进行存储过程的调用。
二.实验属性:设计性。
三.实验仪器设备及器材:1.安装有windows操作系统计算机。
2.安装有Oracle11g和SQL Server的计算机。
3.安装有Visual Studio .net和Java编译器(eclipse、Netbean等)的编译器。
4.计算机具备网络环境。
四.实验要求1、利用存储过程,向student表添加一条学生信息。
creat procedure Insert_Student(s_sno in student.sno%type,s_sname in student.sname%type,s_ssex in student.ssex%type,s_sage in student.sage%type,s_sdept in student.sdept%type) asbegininsert into system.student(sno,sname,ssex,sage,sdept)values(s_sno,s_sname,s_ssex,s_sage,s_sdept);commit;end Insert_Student;2、利用存储过程从student、course、sc表的连接中返回所有学生的学号、姓名、所选课程及成绩。
creat procedure Show_All_Record(myCursor out mytype)asbeginopen Cursor forselect student.sno as 学号,sname as 姓名,cname as 课程名,grade as 成绩from student,course,scwhere student.sno = sc.sno and o = o;end Show_All_Record;3、用存储过程查找“刘刚”的学号、所选课程、成绩。
数据库原理实验报告(6)
南京晓庄学院《数据库原理与应用》课程实验报告实验六分组统计查询和集合查询设计所在院(系):数学与信息技术学院班级: 11软工转本2学号: 11130708 11130710姓名:马琦乔凌杰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语句写在下方(标明题号)。
(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
select DEPT_ID, COUNT(*) 总人数from dbo.Studentgroup by DEPT_IDorder by DEPT_ID descb)查询各系各门课程的平均成绩。
数据库实验六_使用PLSQL编写存储过程访问数据库
数据库原理实验报告
实验名称
使用PL/SQL编写存储过程访问数据库
实验环境
硬件平台:Intel Core i5-3210M
操作系统:Windows 8.1
数据库管理系统(DBMS):MySQL Server 5.5
实验内容及步骤
1.由于我们实验所用的MySQL不支持PL/SQL,但提供了存储过程的功能。
因此我们通过
在MySQL中建立存储过程来完成本实验。
2.建立一个存储过程,用来向student表添加一条学生记录,如图:
在存储过程中,我们将学号,姓名,性别,年龄以及系别作为存储过程的输入参数。
3.在调用存储过程前,我们先查看一下student表:
4.下面,我们调用存储过程,向表中插入一条数据,如下:
5.调用完成后,我们再次查看student表中的内容:
可以看到,刚才调用存储过程向student表中插入的数据已在表中,说明插入成功。
实验六 数据库的创建与操作第三稿
实验六数据库的创建与操作【实验目的】1.熟练掌握创建数据库、使用数据库、修改数据库的方法。
2.掌握创建、删除表间关系及如何建立参照完整性。
3.掌握使用数据库设计器的方法。
【实验内容】创建一个关于某公司员工的数据库,具体操作要求如下:(1)数据库名为“职工库”。
(2)在库中建立如下数据表:a)职工情况表(编号,姓名,性别,职称,出生日期,参加工作时间)b)职工工资表(编号,姓名,基本工资,奖金,房租,水电,实发工资)c)考核表(编号,姓名,完成工作否,优秀否)(3)建立“职工情况表”与“职工工资表”之间的永久性关系。
(4)定义“职工情况表”与“职工工资表”之间的参照完整性规则,定义删除规则为“级联”,更新规则和插入规则为“限制”。
(5)将“考核表”从该库中移出,成为自由表。
操作步骤:一、创建数据库方法一:先创建数据库,再添加至已有的项目中去。
(不推荐)1、单击“文件”菜单下的“新建”命令。
2、在“新建”对话框中的文件类型单选框中选中“数据库”选项,再单击“新建文件“按钮。
3、在创建对话框数据库名一栏中输入数据库名称“职工库”,单击“保存”按钮。
4、单击“文件”菜单下的“打开”命令。
5、选中“职工管理.pjx”文件,再单击“确定”按钮。
6、弹出项目管理器-职工管理,此时的“添加”等按钮均为灰色不可选。
点击数据左侧的加号,再单击数据库,“添加”按钮显现为可选,此时单击“添加”按钮.7、弹出打开对话框,选中“职工库.dbc”,再单击“确定”按钮8、“职工管理“项目成功添加了“职工库”数据库。
如图所示:方法二:先创建项目或打开已有项目,通过项目管理器新建数据库。
(推荐)1、单击“文件”菜单下的“新建”命令。
2、在“新建”对话框中的文件类型单选框中选中“项目”选项,再单击“新建文件“按钮。
3、在弹出的创建对话框中,在项目文件一栏输入“职工管理”,再单击“保存”按钮。
4、弹出项目管理器-职工管理,此时的“新建”等按钮均为灰色不可选。
数据库实验六实验报告
实验报告
实验课程:数据库原理 学 院:信息与电子工程学院
梧州学院实验报告
SQL server 2014
1、掌握T-SQL 流控制语句; 2、掌握创建存储过程得方法; 3、掌握存储过程得执行方法; 4、掌握存储过程得管理与维护;
实验原理: 存储过程就是一种数据库对象,将执行计划存储在数据库得服务器中。它得运行速度比
Exec course_average cname,avg out
begin
if avg <60
print cast(cname as varchar)+ '课程得平均成绩为'+cast
else
print '不存在,可创建!’
go
create procedure student_sc sno1 nchar(8),sno2 nchar(8) as select student、sno,sname,sum(grade)总成绩 from student,sc,course where student、sno=sc、sno
select student、sno ,sname,DATEDIFF (year,birth,getdate())as age, cname,grade
from student ,sc ,course where student 、sno=sc、sno and sco =course o
and sdept like depart ﻩand sname like name
x“。
执行语句为:
批处理语句:
declare
avg int
declare cname nvarchar(20)
Exec course_average cname,avg out
数据库实验报告范本(3篇)
第1篇实验名称:数据库设计与实现实验日期:2023年4月15日实验班级:计算机科学与技术专业1班实验学号:12345678一、实验目的1. 理解数据库设计的基本原理和方法。
2. 掌握数据库概念结构、逻辑结构和物理结构的设计。
3. 学会使用数据库设计工具进行数据库设计。
4. 能够使用SQL语句进行数据库的创建、查询、更新和删除等操作。
二、实验内容1. 数据库概念结构设计- 分析需求,确定实体和实体间的关系。
- 设计E-R图,表示实体、属性和关系。
2. 数据库逻辑结构设计- 将E-R图转换为关系模式。
- 设计关系模式,确定主键、外键等约束。
3. 数据库物理结构设计- 选择合适的数据库管理系统(DBMS)。
- 设计数据库表结构,包括字段类型、长度、索引等。
- 设计存储策略,如数据文件、索引文件等。
4. 数据库实现- 使用DBMS创建数据库。
- 创建表,输入数据。
- 使用SQL语句进行查询、更新和删除等操作。
三、实验步骤1. 数据库概念结构设计- 分析需求,确定实体和实体间的关系。
- 设计E-R图,表示实体、属性和关系。
2. 数据库逻辑结构设计- 将E-R图转换为关系模式。
- 设计关系模式,确定主键、外键等约束。
3. 数据库物理结构设计- 选择合适的数据库管理系统(DBMS)。
- 设计数据库表结构,包括字段类型、长度、索引等。
- 设计存储策略,如数据文件、索引文件等。
4. 数据库实现- 使用DBMS创建数据库。
- 创建表,输入数据。
- 使用SQL语句进行查询、更新和删除等操作。
四、实验结果与分析1. 数据库概念结构设计- 实体:学生、课程、教师、成绩。
- 关系:学生与课程之间有选课关系,教师与课程之间有授课关系。
2. 数据库逻辑结构设计- 学生表(学号,姓名,性别,年龄,班级号)。
- 课程表(课程号,课程名,学分,教师号)。
- 教师表(教师号,姓名,性别,年龄,职称)。
- 成绩表(学号,课程号,成绩)。
数据库实用技术-实验六
实验报告单院(系)计算机学院专业计算机科学与技术班级姓名学号同组人实验室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)删除索引。
数据库实验报告(7个实验完整附截图)
数据库实验报告(7个实验完整附截图)福建农林大学计算机与信息学院实验报告课程名称:数据库原理及应用姓名:系:计算机科学与技术专业:计算机科学与技术年级:2012 级学号:指导教师:陈长江2014 年5月18 日实验项目列表序号实验项目名称成绩指导教师1 实验一数据库的定义实验(验证性)2 实验二数据库的建立和维护实验(验证性)3 实验三数据库的查询实验(验证性)4 实验四数据库的视图操作实验(验证性)5 实验五触发器、存储过程操作实验(综合性)实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL 语句和进行结果分析。
二、实验环境:硬件:PC机软件:Windows操作系统、MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。
2) 选择合适的数据类型。
3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI 界面;2、利用图形界面建立基础表:student 表的信息:字段名类型长度约束条件Sno varchar9非空、主键Sname varchar20Ssex varchar2Sage smallint 6Sdept varchar20course表的信息:字段名类型长度约束条件Cno varchar4非空、主键Cname varchar40Cpno varchar4与 course 表中 Cno 关联Ccredit smallint 6sc表的信息:字段名类型长度约束条件Sno varchar9非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4Grade smallint6非空、主键、与course表中Cno外键关联(1)连接数据库,在 localhost 中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。
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,其参数值为“马东”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六数据库编程
一、实验目的
1.掌握触发器的概念,了解触发器的类型
2.掌握存储过程的创建与执行方法
二、实验内容
1.创建触发器trigger_delete,实现以下功能:当订单表的数据被删除
时,显示提示信息“订单表记录被修改了”。
2.对Sell_Order表创建名为reminder的触发器,当用户向Sell_Order
表中插入或修改记录时,自动显示Sell_Order表中的记
3.对Employee表中创建名为emp_updtri的触发器,实现如下功能:
当修改姓名时,自动检查订单表,确定是否有该员工的订单,如果存在该员工,则撤销操作。
4.创建一个INSERT触发器,当在Employee表中插入一条新员工记
录时,如果是“人事部”的员工,则撤销该插入操作,并返回出错消息。
5.创建一个product_order_delete的触发器,其功能是:当删除商品
表中的商品记录时,同时删除订单表中相应的订单,并显示提示信息“有关商品已被删除”。
(备注:约束?)
6.创建一个名为employee_deleted的触发器,其功能是:当对
Employee表进行删除操作时,首先检查订单表,如果删除的员工没有接收订单,可以删除该员工的消息,否则撤销删除,显示无法修改的信息。
(备注:约束?)。