第一篇:实验三 SQL语言的DDL
实验三 视图、存储过程的定义和使用
一、实验目的SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
本次实验了解DDL语言的CREATE、DROP、ALTER对视图和存储过程的操作,学会SQL Server 2000的查询分析器中实现视图的创建、查看、修改和删除;实现对存储过程的创建、修改、撤消和运行。
本实验需2学时。
二、实验内容
1. 启动数据库服务软件SQL Server 2000的查询分析器,用如下语句对视图进行操作,详
细的语法格式参看课本相应章节:
Create view 创建视图
Drop view删除视图
Select * from 视图名查询视图
2. 如下语句对存储过程进行操作,详细的语法格式参看课本相应章节:
Create proc 过程名
Dropproc 过程名
三、实验任务
1.打开数据库SQL Server 2000的查询分析器,用Create Table建表student。
2.向表中填入教材P82数据
3.根据student表创建视图V_stud.4.使用视图v_stud,向原student表中插入一行记录。
5.根据P82,创建SC表,创建视图,通过视图查看学生的姓名和选课情况。
6. 删除视图v_stud.7.根据student,sc,c三个表,创建存储过程proc1,查看学生的姓名,选课的课程名和相应的成绩。
8. 执行proc1
9.修改该存储过程为p_proc,并删除proc1.运行以上语句,并观察结果.10.将以上的SQL语言以报告的形式写出来,以备老师检查。
第二篇:重庆理工大学 实验二 SQL语言的DDL
实验二SQL语言的DDL
一.实习目的及要求:
本次实验了解SQL的数据定义语句:
(1)创建数据库、表、索引
(2)增加、删除表结构
(3)修改表结构
二 实习内容:用SQL语句建立SPJ数据库(见书P74,5),数据库名取自己的名字,如:张
三。
2在建好了的SPJ数据库中建立S、P、J、SPJ共4个表的表结构。
要求:(1)为属性选择合适的数据类型;
(2)为SPJ表增加一供应日期列,列名为SUPDATE,日期型;
(3)定义每个表的主码;
(4)定义上述4个表的表级约束:定义SPJ、S、P、J表之间的FOREIGN
KEY(外码)约束。
(5)为S、P、J表的SNAME、PNAME、JNAME列定义UNIQUE约
束;约束名分别命名为UQ_SNAME, UQ_PNAME,UQ_JNAME;
(6)实现DATE属性的Check(检查)约束: SUPDATE (7)删除P表PNAME列的唯一性约束 (8)将P表中PNAME列的数据类型改为可变字符串型;用SQL语言在SPJ表上建立一个唯一性索引。 要求:按属性QTY的降序建立索引。使用企业管理器(Enterpriser Manager),在数据库SPJ上建立一个关系图。 检查SPJ、S、P、J四表的关系是否正确。 5.将以上的SQL语言保存,提交实验报告。 实验三 SQL语言查询功能—单表查询 实验目的: 1)理解查询的原理 2)熟练投影查询、带条件的查询、多条件查询、分组查询 实验内容: 1、查询全部的学生信息 select * from 学生 2、查询与张佳吟的信息,列出其学号,姓名 select 学号,姓名 from 学生 where 姓名='张佳吟' 3、查询选修了课程的学生信息,列出其学号 select distinct 学号from 成绩 4、查询所有入学成绩在500分以上的男生信息 select * from 学生 where 性别='男'and 入学成绩>=5005、查询年龄为20岁和21岁的学生,列出学号,姓名,年龄 select 学号,姓名,2012-YEAR(出生日期)as 年龄 from 学生 where 2012-YEAR(出生日期)=20 or2012-YEAR(出生日期)=216、查询年龄在20-23岁之间的学生信息 select * from 学生 where 2012-YEAR(出生日期)between 20 and 237、分别统计男生和女生的人数 select COUNT(性别)as 人数,性别 from 学生 group by 性别 8、统计选过课程的学生人数 select COUNT(distinct(学号))as 人数 from 成绩 9、统计每门选课成绩的平均分 select 课程号,AVG(成绩)as平均分 from 成绩 group by 课程号 10、统计选课成绩在80分以上的每门课程的学生人数 select 课程号, count(*)as 人数 from 成绩 where 成绩>=80 group by 课程号 11、统计每个学生所有课程的总分,平均分,按照平均分降序排列 select 学号,SUM(成绩)as 总分,AVG(成绩)as平均分 from 成绩 group by 学号 order by平均分 SQL语言之DDL语言-表的管理实验 【周序】:第五周3-4节课 【课题】:数据库管理(sql语句) 知识目标:熟悉用sql语言对数据表进行管理; 思想目标:让学生对数据表的管理语句有初步的了解; 能力目标:熟练使用查询分析器进行脚本的编写和编译运行; 【教学重点】: 数据表的基本管理(用sql语言);; 【教学难点】: 数据表的基本管理(用sql语言);; 【课时】: 2课时 【教学环境】: 机房 【教学方法】: 实验法、演示法、辅导法 【教学内容】: 实验内容: 1、上周实验未完成者继续操作以前实验; 2、创建一个名称为factory的数据库 3、在所建立的数据库factory中,完成如下各题操作: a.建立职工表worker,其结构为职工号:int,姓名:char(8),性别:char(2),出生日期:datetime,党员否:bit,参加工作:datetime,部门号:int。其中“职工号”为主键。在worker表中输入记录; b.建立部门表depart,其结构为:部门号:int,部门名:char(10)。其中“部门号”为主键。在表中输入记录; c.建立职工工资表salary,其结构为:职工号:int,姓名:char(8),日期:datetime,工资:decimal(6)。其中“职工号”和“日期”为“主键”。在表中输入记录; d.建立worker、depart和salary3个表之间的关系(不需要用sql语言实现); 4、利用修改表关键字(alter)来完成下面的约束完整性定义: a.实施worker表的“性别”字段默认值为“男”的约束,并进行验证; b.实施salary表的“工资”字段值限定在0---9999的约束,并进行验证; c.为worker表建立外键“部门号”,参考表depart的“部门号”列,并进行验证; 验证完之后分别删除abc所建立的约束; 5、建立数据表delete,并用sql语言进行删除。 先上机演示,接着让学生自己动手操作。在操作期间,进行走动以辅导学生! 做完实验者请举手以便检查打分。 【课堂小结】: 今天我们利用上节课所学内容进行了数据表的管理实验,希望同学们能理解透彻。 【作业布置】: 做完实验,大家填写实验报告册!。 【教学后记】: 利用sql语句对数据表进行管理,学生都觉得不可思议,并且也很好学,但很多学生由于英语过差,实验完成情况不太理想。 实验四 SQL语言——数据更新操作 2007-06-16 01:12:44|分类: 课程作业 |标签:数据更新操作sql语言|字号大中小 订阅 实验四 SQL语言——数据更新操作 三、实验条件与环境 1.通用PC机 2.PC机必须安装Windows 2000系列、Windows XP系列或Windows NT操作系统平台 3.PC机还须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版) 4.最好有一台公用的SQL Server 2000 服务器 四、实验目的1.通过上机实验进一步加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌 握 2.通过上机实验掌握单个元组插入操作的实现过程 3.通过上机实验掌握多个元组插入操作的实现过程 4.通过上机实验掌握单个元组修改操作的实现过程 5.通过上机实验掌握多个元组修改操作的实现过程 6.通过上机实验掌握单个元组删除操作的实现过程 7.通过上机实验掌握多个元组删除操作的实现过程 8.通过上机实验加深对更新操作时数据库中数据一致性问题的了解 9.通过上机实验加深对约束条件在数据更新操作执行中的作用问题的了解 五、实验要求 1.本实验所有实验内容要求在规定时间(2课时)内完成2.实验内容中涉及到的各更新操作均通过SQL语言来实现 3.本实验中各操作内容的执行均会更新当前数据库,为便于下一实验内容的顺利执行,请在每成功完成一个实验内容后重新导入初始状态下的实验数据库 4.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交 六、实验内容: 1.在S表中插入元组“s6,华誉,40,广州,02085268888” 2.在J表中插入元组“j8,传感器厂” 3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库 4.将P表中PNO值为p6的元组的color属性值改为绿,weight属性值改为60 5.将SPJ表中前4个元组的qty属性值统一修改为300 6.将S表中city属性名含有“京”或“津”的相应status属性值增加100 7.将供应商s2为“一汽”工程项目所供应的零件数量修改为2000 8.将全部红色零件的颜色修改为浅红色 9.由s5供给j4的零件p6改为由s3供应,请在数据库中作必要的数据修改 10.在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列 上填上实验当时的日期和时间 11.删除所在城市为“广州”的供应商记录 12.删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除相应的记录 13.删除s3和s4两供应商为“三建”工程供应“螺母”或“螺丝刀”零件的相应供应情况数 据信息 七、实验总结: 数据更新操作(插入操作[INSERT]、修改操作[UPDATE]、删除操作[DELETE])是关系数据库系统中一种极为重要、数据更新能力强、使用灵活的数据操纵方式,此数据操作的使用不是完全独立的,而是和数据定义操作、数据查询操作有着紧密联系的。实验完成后,请同学们总结一下SQL语言在实现各种数据更新操作时与数据定义操作和数据查询操作两类操作之间的相互联系,通过深入总结,从而学会利用SQL语言实现较为复杂的数据更新任务。 实验四 SQL语言——数据更新操作 实验内容参考答案 六、实验内容 1.在S表中插入元组“s6,华誉,40,广州,02085268888” use shiyan go insert into s values('s6','华誉',40,'广州','02085268888') 2.在J表中插入元组“j8,传感器厂” use shiyan go insert into j(jno,jname) values('j8','传感器厂') 3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库 use shiyan go create table TotalQTYofS(SNO char(4)not null unique,TotalQTY int); insert into TotalQTYofS select sno,sum(qty) from spj group by sno; 4.将P表中PNO值为p6的元组的color属性值改为绿,weight属性值改为60 use shiyan go update p set color='绿',weight=60 where pno='p6' 5.将SPJ表中前4个元组的qty属性值统一修改为300 use shiyan go update spj set qty=300 from(select top 4 * from spj order by sno)as table1 where spj.sno=table1.sno 6.将S表中city属性名含有“京”或“津”的相应status属性值增加100 use shiyan go update s set status=status+100 where city like '%京%' or city like '%津% 7.将供应商s2为“一汽”工程项目所供应的零件数量修改为2000 use shiyan go update spj set qty=2000 where sno='s2' and jno=(select jno from j where jname='一汽') 8.将全部红色零件的颜色修改为浅红色 use shiyan go update p set color='浅红' where color='红' 9.由s5供给j4的零件p6改为由s3供应,请在数据库中作必要的数据修改 use shiyan go update spj set sno='s3' where sno='s5' and jno='j4' and pno='p6' 10.在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列 上填上实验当时的日期和时间 use shiyan go alter table spj add SDATE datetime update spj set SDATE=getdate() 11.删除所在城市为“广州”的供应商记录 use shiyan go delete from s where city='广州' 12.删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除相应的记录 use shiyan go delete from p where pname like '螺%' delete from spj where pno in(select pno from p where pname like '螺%') 13.删除s3和s4两供应商为“三建”工程供应“螺母”或“螺丝刀”零件的相应供应情况数据信息 use shiyan go delete from spj where(sno='s3' or sno='s4')and jno in(select jno from j where jname='三建')and pno in(select pno from p where pname='螺母' or pname='螺丝刀')第三篇:实验三 SQL语言查询功能—单表查询
第四篇:52-sql语言之ddl语言-表的管理实验
第五篇:实验四SQL语言