大学生数据库实验课实验六报告
数据库原理与技术实验报告
数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
1.熟悉数据库系统的基本概念;
2.理解数据库管理系统(DBMS)的核心功能;
3.掌握数据库系统的创建,维护和应用技术;
4.掌握基于SQL查询语言(SQL)的SQL语句的使用;
5.学习SQL语言的基本知识;
6.学习和应用数据库的实用技术;
7.掌握数据库的安全保护技术;
8.熟悉数据的事务处理;
9.掌握数据的并发控制等。
二、实验环境
本次实验所使用的系统环境为Oracle Database,版本为11g。
三、实验内容
1.概念部分:
(1)数据库概念:数据库概念主要是指数据库的概念、特点、应用领域、数据库结构与模式等;
(2)数据库管理系统:数据库管理系统(DBMS)是一种综合的数据管理软件,它有助于保护组织内的数据,并帮助实现全面的数据管理;
(3)数据库应用:数据库应用是一种以数据库管理系统为基础的应用程序,它主要是用来收集、组织、存储、操作和检索数据,以满足组织内的信息需要;
(4)SQL查询语言:SQL查询语言(SQL)是一种关系型数据库管理系统的标准化数据库查询语言。
数据库完整性实验总结(必备6篇)
数据库完整性实验总结第1篇时间流水,短短的两周就流逝了,回想在这两周的实训生活,我从单一,片面的学习进入了全面,系统的学习,学好它更是一项大任务。
而对于如何学好它,光靠理论知识是远远不够的,_同志曾经就说过“实践是检验真理的唯一标准”!正如大师傅炒菜,知道炒菜的程序,主料、调料一清二楚,不真正掌勺,永远也成不了“大厨”。
而学校给我们提供了这样一个机会,让我们自己_掌勺_,使我们从实践中,加深了对数据库的理解。
经过这次的实训,我们对数据库有了更深的了解,从书面的明白到实践的理解,接触到了自己以前没有接触到的东西,并让我加深了数据库知识的学习和理解,也使我进一步了解数据库,这次实训可以为我们以后真正的实际数据库系统设计提供很好的借鉴。
更使我明白遇到什么挫折,不气馁,不放弃,勇于探索,才会让自己离成功越来越近!俗话说:知之为知之,不知为不知!不要不懂装懂,有什么不懂的要敢于向_知之者_请教!知识是慢慢积累而成的,我们学习不仅要学习理论知识,而实践也是非常重要的,只有当两者结合,才会获得收获!我们这次实习对我们的认识起到了很大的启发作用,使我们以后在接触数据库的过程中少走点弯路。
也使我们对人生和社会有了更清楚的认识,任何的成功都有艰辛和汗水铺出来的,没有那么多的意外收获。
我们要学的还有很多,要接触的还不知道有多少,以后的路还很漫长,我相信我会更加努力的,把握现在,为自己的未来而奋斗,展开双翅飞向美好的未来!在这里很感谢xxx老师给我们传授了这么多的知识和经验,让我们在毕业之际更好的填补自己的不足。
数据库完整性实验总结第2篇在学习《数据库原理及应用》这门课之前,就和课本上提到的一个观点一样,认为它只是存放数据的仓库而已,但是现在我深深体会到这个观点是多么的片面。
数据库是长期存储在计算机内,有组织、可共享的大量的数据集合,前者只能表达它的一方面而已。
数据库技术发展到今天已经是一门非常成熟的技术,它的技术水平、应用水平多比初始时都有了很大的改变,但是它的最基本的特征却没有变,概括起来有以下几个方面:第一点:数据库是相互关联的的数据集合;即在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的关系。
实验六111070003艾福荣·艾尼瓦尔
实验五111070003艾福荣(一)基于SPJ数据库完成下列查询1.单表查询1)找出所有供应商的姓名和所在城市2)找出所有零件的名称、颜色、重量3)查询供应工程J1零件的供应商号码SNO4)查询供应工程J1零件P1的供应商号码SNO2.连接查询1)查询供应工程J1零件为红色的供应商号码SNO2)查询供应工程J2使用的各种零件的名称及其数量3)查询使用上海产的零件的工程名称3.嵌套查询1)查询供应工程J1零件为红色的供应商号码SNO2)查询没有使用天津供应商生产的红色零件的工程号JNO3)查询至少用了供应商S1所提供的全部零件工程号JNO4)查询上海厂商供应的所有零件号码5)查询使用上海产的零件的工程名称6)查询没有使用天津产的零件的工程号码(二)基于“学生—课程”数据库完成下列查询。
(该数据库包括5个表:学生表Student、课程表Course、学生选课表SC、教师表Teacher、授课表,假设在该数据库中,存在的关系为:学生可以选择课程,一门课程对应一位教师。
)1)查询年级为2006的所有学生的姓名并按编号升序排列因为数据中学生都不是2006级的,所以查询结果为无。
2)查询学分是3或4的课程的名称3)查询所有已选课学生的编号4) 查询学分>3的课程的编号5) 请找出总分超过400分的学生解决方法:修改grade数据类型为int 可以实现。
6) 查询课程的总数7) 查询所有课程和选修该课程的学生总数8)查询选修成绩合格的课程超过两门的学生编号9)统计各个学生的选修课程数目和平均成绩选修课程数平均成绩10)分别使用等值连接和谓词IN两种方式查询姓名为李勇的学生所选的课程编号和成绩11)查询选修课程database的学生集合与选修课程“数学”的学生集合的并集12)找出讲授课程数学的教师讲授的所有课程名称13)查询未被学生选修的课程的名称14)找出选修课程数据库成绩最高的学生编号15)查询工资最高的教师的编号和开设的课程号16)查询学分比课程C++多的课程的名称17)查询选修了编号200102901的教师开设的所有课程的学生编号18)查询既选修课程database又选修课程UML的学生的编号采用嵌套式则可以完成查询。
数据库实验6
云南大学软件学院实验报告实验6 数据库完整性实验6-1 完整性约束1、创建规则(用图形或者语句方法创建)(1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。
要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期(2)创建学生年龄规则“Age_rule”。
要求:学生年龄必须在15~30岁之间(3)创建学生性别规则“Sex_rule”。
要求:性别只能为“男”或“女”(4)创建学生成绩规则“Score_rule”。
要求:学生成绩只能在0~100之间(5)用图形方法查看学生成绩规则“Score_rule”,截图为:(6)用语句方法查看学生成绩规则“Score_rule”,语句为:2、删除规则Enter_University_date_rule3、创建默认(用图形或者语句方法创建)(1)创建默认时间“Time_default”为当前系统时间(2)创建默认入学年龄“Age_default”为18岁(3)用图形方法查看默认入学年龄“Age_default”,截图为:(4)用语句方法查看默认入学年龄“Age_default”,语句为:4、删除默认入学年龄“Age_default”5、创建声明式默认:在创建表的过程中创建声明式默认(1)创建表“default_example”,表中包含字段pid、name、sex、age。
要求设定sex的默认值为“男”、age的默认值为18。
(2)在表中增加新的默认,将编号默认为100。
插入一条记录,执行结果为:6、在“学生管理数据库”各个数据表中建立相应的主键、外键、惟一值、以及check约束,要求:学生的年龄必须是两位数,其中第一位是1或2:删除check 约束:7、完成教科书456页如下习题:[7.1]a:实验6-2 触发器1、使用触发器(1)创建一个触发器trig_update,返回对“学生表”进行更新操作后,被更新的记录条数(2)执行触发器(3)修改触发器trig_update,除返回被更新的记录条数外,再返回学生的所有基本信息2、使用触发器的两个特殊表:插入表(inserted)和删除表(deleted)。
数据库原理综合实验报告
实验六数据库原理综合实验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运行结果:命令已成功完成。
数据库实用技术-实验六
实验报告单院(系)计算机学院专业计算机科学与技术班级姓名学号同组人实验室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)删除索引。
数据库实验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语句和测试结果。
数据库实验六_使用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、弹出项目管理器-职工管理,此时的“新建”等按钮均为灰色不可选。
数据库上机实验报告
数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。
首先,我们学习了数据库的设计原理和方法。
在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。
在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。
其次,实验中我们学习了数据库的创建和管理。
通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。
在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。
最后,我们进行了数据库的查询操作。
通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。
在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。
通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。
数据库实验6 视图创建与使用
实验六视图的创建与使用学号 __ 姓名_ _ 班级__ _专业_ _一、实验目的1)理解视图的概念。
2)掌握创建视图的方法。
3)掌握更改视图的方法。
4)掌握用视图管理数据的方法。
二、实验内容创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL 语言创建、管理视图。
1、用创建视图向导创建视图使用视图向导创建一个名为studview1的视图,该视图从student表中查询出班级号为“052”班的所有学生的学号,姓名,性别,班级,家庭住址,入学时间,生日等我还资料。
(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。
)2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表student上创建一个能查询“051”班学生学号、姓名、家庭住址信息的=‘051’视图,视图名为studentview2。
(提示:依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”)。
B、使用企业管理器在表student、course、sc表上创建一个能检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。
视图名自取。
(2)修改视图stuview1将视图stuview1的定义修改为查询“051”班男生学号、姓名、家庭住址信息的投影视图。
(提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改)(3)管理视图中的数据查看视图stuview1中的数据。
用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。
3、用T-SQL语言创建、管理视图(1)创建视图1)创建一个名为stuview2的视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资料。
T-SQL语句为:create view stuview2asselect *from studentwhere sex='男'2)创建一个名为stuview3的视图,能检索出选课学生的学号、姓名、课程名、成绩。
实验六 数据库备份与恢复
《数据库原理》实验报告一. 实验目的:●了解备份还原的概念●掌握SQL Server的备份方法●会选择适合的备份策略●掌握常见故障的还原方法一、实验使用环境:SQL server 2012二、实验内容与完成情况:1. 用系统内置的存储过程sp_addumpdevice创建一个备份设备SalesDatabase_Bak,保存在D盘根目录下,查看系统中有哪些备份设备。
--题目1--在E:\Sale_bak创建本地磁盘备份文件exec sp_addumpdevice'disk','SalesDatabase_Bak','E:\Sale_bak'--查看系统有哪些备份设备exec sp_helpdevice运行截图:也可手动创建:实验小结:通过代码可以看到,添加一个名为SalesDatabase_Bak的磁盘备份设备,物理名为E:\Sale_bak,且在数据库目录中:/服务器对象/备份设备/,目录下可以看到名为SalesDatabase_Bak的备份设备。
2. 为销售管理数据库设置一个备份计划,名为SaleBackPlan,要求每天在上午12:00:00 和下午12:00:00 之间每2小时执行数据库日志备份。
操作过程:连接数据库,在管理列表中找到维护计划,右键点击维护计划选择维护计划向导,名称为:SaleBackPlan.点击更改:进行以下设置:选择SaleBackPlan执行计划,计划类型为:重复执行。
频率为:每天执行,每天执行的频率为:开始时间为12点,结束时间为0点,间隔为2小时,最下方说明中有详细的介绍。
点击下一步,选择备份数据库(事务日志)选择特定数据库且为销售管理数据库:操作完成:实验小结:本题操作过程并不复杂,但是需要提前知道操作流程,注意细节问题即可3. 新建一个数据库Sa1es1,使用DTS向导将前面已建的Sales数据库中的所有表导入到Sales1数据库中。
数据库实验多表查询实验报告
附页实验内容:针对实验数据库shiyan,完成以下单表查询操作:1.查询为工程J1供应红色零件的供应商号码SNO。
2.查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。
3.查询至少选用了供应商S1所供应的全部零件的工程号JNO。
4.找出工程项目J2使用的各种零件的名称及其重量。
5.找出上海厂商供应的所有零件号码。
6.找出使用上海产的零件的工程名称。
7.找出没有使用天津产的零件的工程号码。
8.找出重量最轻的红色零件的零件编号PNO。
9.找出供应商与工程所在城市相同的供应商提供的零件号码。
10.找出所有这样的一些<CITY,CITY,PNAME>三元组,使得第一个城市的供应商为第二个城市的工程供应零件的名称为PNAME。
11.重复第15题,但不检索两个CITY值相同的三元组。
12.找出供应商S1为工程名中含有“厂”字的工程供应的零件数量总和。
实验方法、步骤以及实验结果:操作1(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:use ShiYangoselect snofrom spjwhere jno='j1'and pno in(select pnofrom pwhere color='红')操作结果:操作2(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:use shiyangoselect jnofrom spjwhere sno in (select snofrom swhere city<>'天津')andpno in (select pnofrom pwhere color='红')操作结果:操作3(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:select distinct jnofrom spj as xwhere not exists ( select *from spj as ywhere sno='s1'and not exists (select *from spj as zwhere z.pno=y.pno and z.jno=x.jno))操作结果:操作4(1)打开SQL Server查询分析器。
数据库实验报告
(2)建立存储过程,其功能是查询出给定出生年份信息(已知出生日期的前四位信息)的学生信息。
3.建立一组触发器,并设计一组必要的数据操作验证触发器的功能。
(1)自定义一个触发器,完成选课表SC属性snum的参照完整性控制。
(2)自定义一个触ຫໍສະໝຸດ 器,完成教课表sections的数据完整性控制。即当用户在教课表中删除一门课程的记录时,在相关的表SC中查看,如果没有相关班号,则直接删除sections表中的记录,SC表维持不变;否则在删除sections表中的记录的同时将删除SC表中对应班号的记录。
实验环境:
操作系统:Windows7 32、数据库:Sql Server2012
实验主要步骤:(数据库名必须为DB学号,如:DB20080605B012)
createview学生成绩
as
select[dbo].[Sc].[snum],[dbo].[Section].[cnum],[dbo].[Course].[cname],[dbo].[Sc].[score]
3.学会触发器的建立和使用方法,通过实验数据的操作过程了解触发器对数据库系统完整性约束的功能。
实验内容:
1.定义视图并在视图上完成数据查询功能。
(1)建立“查询有选课记录的学生学号、课程号、课程名称、成绩信息”操作的视图。
(2)在上述视图的基础上完成查询:查询所有学生都及格的课程名称。
2.存储过程的建立和执行。
实验结果/实验体会:
了解视图,存储过程的建立和使用方法及触发器的建立和使用方法。
go
createtrigger学号约束onsc
forinsert,update
数据库实验报告心得
在实验中,我首先学习了数据库的基本概念,包括数据库、数据表以及字段等概念。接着,我学习了如何使用SQL语句创建数据表、插入数据、更新数据以及删除数据。在掌握了这些基本操作之后,我进行了一些实际的练习操作,加深了对数据库的理解和掌握程度。
三、实验收获
通过这次实验,我对数据库的理解更加深入了。我不仅学会了如何使用SQL语句进行基本的数据库操作,而且在实际操作中发现了一些问题,并通过查阅资料和请教老师解决了这些问题。这让我对数据库的应用有了更为全面的认识,也提高了我的问题解决能力。
六、实验总结
通过这次实验,我不仅增加了对数据库的了解,也提高了自己的实际操作能力。我学会了如何利用数据库管理软件进行数据表的创建和操作,并且在实际操作中积累了一定的经验。我相信,通过不断地学习和练习,我能够更好地掌握数据库的知识,将其运用到实际工作中。
综上所述,这次数据库实验让我收获颇丰。我在实践中学到了很多东西,也积累了一些丰富的经验。我相信这些知识和经验对我的今后学习和工作都将有所帮助。我会继续努力,加强对数据库知识的学习和应用,让自己变得更加优秀。
数据库实验报告心得
在进行数据库实验的过程中,我学到了很多知识,也积累了一些心得体会。以下是我对数据库实验的一些感悟和总结:
一、实验背景
这次数据库实验的主要内容包括数据表的创建、增删改查等操作。实验中,我使用了MySQL数据库,并利用Navicat软件进行操作。实验内容涉及到了数据库的基本知识和SQL语句的运用。
四、实验困难
在实验过程中,我遇到了一些困难,比如在使用SQL语句进行数据查询时出现了错误,导致无法得到想要的结果。但通过和同学的讨论和查阅资料,我逐渐找到了解决方。这些困难虽然让我感到不舒服,但在解决问题之后,我收获的知识和经验也更加丰富。
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.进一步掌握调试程序的基本步骤和方法。
二.实验内容1.使学生、教师和课程表具有增加、修改、删除和查询数据的功能。
2.学生根据开设的课程进行选课.3.教师根据学生所选课程进行成绩登录。
4.各类统计分析,比如平均成绩。
系统说明:学生:可以进行选课、退课、查分、查看学生自己的信息、修改自己的密码。
教师:可以查询已选学生、登分、查看教师自己的信息、修改自己的密码。
管理员:可以增加和删除课程、学生、教师等信息,可以查看和修改学生、教师密码,可以注册和注消学生、教师,有所有学生的功能,能够查询教师信息。
部分窗口如下:部分代码如下:如查分代码如下:通过datawindow中通过学号可以查看自己成绩。
dw_1.reset()dw_1.settransobject(SQLCA)dw_1.retrieve(user)dw_1.object.datawindow.readonly="yes"三.上机体会。
进一步掌握了开发管理系统的基本方法;掌握了使用PowerBuilder开发环境提供的工具建立应用程序的步骤和方法;掌握应用PowerBuilder提供的调试程序进行应用程序的调试。
实验六SQL Server 2000高级技术的使用一.目的与要求1.练习存储过程的建立和使用。
2.学会触发器的使用。
二.实验内容1.存储过程的建立和使用。
(1)创建存储过程,使其具有如下功能:根据所提供的学号参数,返回该学生的学习情况信息。
(2)查看和修改存储过程;(3)使用存储过程;(4)删除存储过程。
2.触发器的建立和使用(1)创建两个触发器,分别具有如下功能:a.将删除的学生选课信息转移到存档学生选课表中;b.在修改学生成绩时,要求修改后的成绩一定要比原来的成绩高;(2)查看和修改触发器;(3)使用触发器;(4)删除触发器;3.为实验五设计存储过程和触发器,通过调试验证其正确性。
数据库安全管理---实验报告6
以Windows身份验证登录后,收回查询“教师档案表”的权限
revoke select on教师档案表from MyUser2
用户“MyUser2”不能再查询“教师档案表”,因为该权限被收回
select * from教师档案表
四、出现的问题及解决方案
1、创建新用户“MyUser2”以及对用户授予权限管理均只能在Windows身份认证下超级用户才可以完成。
该用户创建表成功,因为被授予该权限
create table aaa(aa varchar(8)not null primary key,bb varchar(8))
运行结果如图所示:
该用户可以查询“教师档案表”,因为被授予该权限
select * from教师档案表
运行结果如图所示:
该用户查询“学生档案”被拒绝,因为没被授予该权限
数据库原理与应用实验报告
课程名称:数据库原理与应用
年级:06
实验日期:08-10-21
姓名:
学号:03
班级:2班
实验名称:数据库安全管理
实验序号:实验六
成员人数:1
一、实验目的及要求
实验目的:
掌握用的创建和授权方法。
实验要求:
1、理解和体会数据库安全性的内容,加强对DBMS功能的认识;
2、学会创建登陆用户并向其授予数据库访问权限;
以“MyUser”账号登陆
查询“学生档案”中的记录
select * from学生档案
运行结果如图所示:
查询“学生成绩表”中的记录被拒绝,因为没被授予该权限
select * from教师档案表
删除“学生成绩表”中的记录被拒绝,因为没被授予该权限
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库技术及应用》实验六、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的嵌套查询中因为多个表中存在同名列,而我的语句指代不明一直错误,在老师的帮助下发现了这个问题并解决。
三.心得体会
查询语句是本课程最重要的项目,完成了课上的实验后我还得自行多加练习才行。
因为这次相比前面几次,难度明显增大了(容易犯很多错误)。