数据库实验第三次
数据库实验第三次

南昌航空大学实验报告2016 年月日课程名称:数据库原理及应用实验名称: SQL-更新操作学号:姓名:同组人:指导教师评定:签名:实验目的:利用INSERT、UPDATE和DELETE命令(或语句)实现对表(或试图)数据的添加、修改与删除等更新操作,这里主要介绍对表的操作。
实验内如与要求:建表和数据库的代码:Create database jxglUSE jxglGOCreate Table Student(Sno CHAR(5) not null primary key(Sno),Sname varchar(20),Sage smallint check(Sage>=15 AND Sage<=45),Ssex char(2) default'男'check(Ssex='男' OR Ssex='女' ),Sdept char(2));Create Table Course(Cno char(2)NOT NULL primary key(Cno),Cname VARCHAR(20),Cpno char(2),Ccredit SMALLINT);Create Table SC(Sno char(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno),Cno CHAR(2) NOT NULL,Grade smallint check ((Grade IS NULL)OR(Grade between 0 and 100)), Primary key(Sno,Cno),foreign key(Cno) references Course(Cno));insert into Student values('98001','钱横',18,'男','CS');insert into Student values('98002','王林',19,'女','CS');insert into Student values('98003','李民',20,'男','IS');insert into Student values('98004','赵三',16,'女','MA');insert into Course values('1','数据库系统','5',4);insert into Course values('2','数学分析',null,2);insert into Course values('3','信息系统导论','1',3);insert into Course values('4','操作系统_原理','6',3);insert into Course values('5','数据结构','7',4);insert into Course values('6','数据处理基础',null,4);insert into Course values('7','C语言','6',3);insert into SC values('98001','1',87);insert into SC values('98001','2',67);insert into SC values('98001','3',90);insert into SC values('98002','2',95);insert into SC values('98002','3',88);图:Student表:Course表:SC表:请实践以下命令式更新操作1、在学生表Student和学生选课表SC中分别添加表5-1和表5-2中的记录表5-1:表5-2:代码:Insert Into Student Values('99010','赵青江','18','男','CS'); Insert Into Student Values('99011','张丽萍','19','女','CH'); Insert Into Student Values('99012','陈景欢','20','男','IS'); Insert Into Student Values('99013','陈婷婷','16','女','PH'); Insert Into Student Values('99014','李军','16','女','EH'); Insert Into SC Values('99010','1','87');Insert Into SC Values('99010','2',null);Insert Into SC Values('99010','3','80');Insert Into SC Values('99010','4','87');Insert Into SC Values('99010','6','85');Insert Into SC Values('99011','1','52');Insert Into SC Values('99011','2','47');Insert Into SC Values('99011','3','53'); Insert Into SC Values('99011','5','45'); Insert Into SC Values('99012','1','84'); Insert Into SC Values('99012','3',null); Insert Into SC Values('99012','4','67'); Insert Into SC Values('99012','5','81');插入后:Student表:插入后:SC表:2、备份Student表到TS中并清空TS表。
数据库第三次

第三次实验步骤第2题create database Libraryon primary(name=Library_dat,filename='F:\data\Library_dat.mdf',size=10mb,maxsize=50mb,filegrowth=5mb)log on(name=Library_log,filename='F:\data\library_log.ldf',size=10mb,maxsize=50mb,filegrowth=5mb)第3题create table readers(编号char(10) primary key,姓名char(8),读者类型int,已借书量int)create table books(编号char(15) not null,书名char(42) not null,作者char(8),出版社char(28),出版日期datetime,定价float(8))create table borrowinf(读者编号char(10) not null,图书编号char(15) not null,借期datetime not null,还期datetime)create table readtype(类型编号int not null,类型名称char(8) not null,限借数量int not null,借阅期限int)4.insertinto Readersvalues('2002060328','王立群',1,18);insertinto Booksvalues('F12.245','计算机文化基础','刘凌志','青山',2000-8-12,21.8);5. create database KCGLon primary(name=KCGL_Dat,filename='F:\data\KCGL_Dat.MDF',size=10mb,maxsize=50mb,filegrowth=5mb)log on(name=KCGL_Log,filename='F:\data\KCGL_Log.LDF',size=10mb,maxsize=50mb,filegrowth=5mb)6. create table STUDENT(学号char(9) primary key,姓名char(20),性别char(4) check(性别='男' or 性别='女'), 班级名char(10),系别代号int,地址char(20),出生日期datetime)create table COURSE(课程号int primary key,课程名char(20),教师char(20))create table SC(学号char(9),课程号int,成绩int,primary key(学号,课程号),foreign key (学号) references STUDENT(学号), foreign key (课程号) references COURSE(课程号) )7. insertinto COURSEvalues('05','信息系统',’江玉世’)insertinto COURSEvalues('06','数据结构','张牧')8.update readtypeset 限借数量=30 where 类型名称='教师';9.deletefrom bookswhere 书名='数据结构';10.select *from readers;11.select *from readers,books,borrowinfwhere readers.编号='2002060328' and readers.编号=borrowinf.读者编号and books.编号=borrowinf.图书编号;12.select 书名,作者from bookswhere 出版社='清华大学出版社';13.select *from bookswhere 书名like '*程序设计*';14.15.select count(编号)from books16.select sum(定价)from books17.select 出版社,count(出版社) as 数量from booksgroup by 出版社18.select readers.编号,count(readers.编号) as 数量from readers,books,borrowinfwhere 借期>= 2004/1/1 and 借期<=2004/12/31 and readers.编号=borrowinf.读者编号and books.编号=borrowinf.图书编号group by readers.编号19.select *from readers,books,borrowinfwhere 借期>= 2004/1/1 and 借期<=2004/12/31 and readers.编号=borrowinf.读者编号and books.编号=borrowinf.图书编号and 作者='梁晓峰'20.select *from bookswhere 定价>(select avg(定价)from books);21.select *from bookswhere 出版社='高等教育出版社' and 定价>(select avg(定价)from books);22.select *from STUDENT,COURSE,SCwhere 课程名='数据库' and STUDENT.学号=SC.学号and COURSE.课程号=SC.课程号;23.25.select max(成绩) as 最高,min(成绩) as 最低,avg(成绩) as 平均from SC;26.select 课程号,max(成绩)from SCgroup by 课程号;27.select 学号,count(学号) as 选课数from SCgroup by 学号having count(学号)>=2;28.select *from STUDENTwhere 学号in(select 学号from SC);29.select *from STUDENTwhere 学号not in(select 学号from SC);30.select STUDENT.学号,姓名,COURSE.课程号,成绩from STUDENT,COURSE,SCwhere STUDENT.学号=SC.学号and COURSE.课程号=SC.课程号and 成绩=(select max(成绩) from SC,COURSE where COURSE.课程号=SC.课程号and 课程名='C语言')31.select COURSE.课程号,课程名from COURSE,SCwhere COURSE.课程号=SC.课程号and COURSE.课程号in (select 课程号from SCgroup by 课程号having count( 课程号)>=2)32.(1)select product.型号,屏幕尺寸,报价from product,quotationtwhere 面板类型='MVA' and product.型号=quotationt.型号(2)select 型号from quotationtwhere 经销商='世纪蓝博' or 经销商='华人方创' and 报价is not null(3).select distinct 型号,sum(库存量) as 数量from quotationtgroup by 型号(4).select 型号from quotationtgroup by 型号having count(经销商)='1'(5).select distinct product.型号from product,quotationtwhere product.型号not in(select quotationt.型号from quotationt);(6).select distinct 经销商from quotation as xwhere not exists(select *from quotation as ywhere y.型号like '飞利浦%'and not exists (select * from quotation as z where z.经销商=x.经销商and z.型号=y.型号));(7).insertinto product(型号,屏幕尺寸,面板类型)values ('三星S22B360HW','22','TN')8.insertinto distributor(经销商,联系人) values('捷扬诚信','张青伟')9.update productset 屏幕比例='16:9'where 型号='三星S22B360HW';。
数据库第三次试验

综合性设计性实验报告
学院:经济学院班级:081行管第三学年第一学期
5. 查询使用供应商S1所供应的零件的工程名称(两种方法得到相同结果,如下)
7.查询上海厂商供应的所有零件号码(两种方法得到相同的结果,如下)8.查询使用上海产的零件的工程名称
9.查询没有使用天津产的零件的工程号码
填写说明:
1.实验类型:验证性、设计性或综合性。
2.表格不够填写,可抬高,增加页数。
3.签名、日期必须手写。
实验报告评分参考标准:
1、实验报告内容完整、能独立完成报告(10)
2、实验报告能较好的反映实验过程(20)
3、有原始数据,测试结果与结论准确(40)
4、对实验结论进行分析,思路清晰(20)
5、报告书写工整、认真(10)。
JAVA第三次实验完整版

实验报告
院(系): 计算机科学学院
专业年级 : 电子信息科学与技术1403班姓名 : 卢丽琼
学号 : 21409030312
2016年 12 月 26 日
实验三JDBC编程
一、目的
通过Java数据库访问程序的编写、调试,使学生掌握JDBC编程的基本方法,熟悉常用的JDBC API,促进学生对概念的理解,培养动手能力。
二、基本要求
学生需要按时达到指定实验室上机。
调试教学中使用的程序示例,并加以修改,增加程序的功能;实现数据库访问的优化。
完成实验后,需要按时提交实验报告。
三、实验内容
1)复习数据库SQL语句的编写。
2)编写(JavaODBC-JDBC驱动)公共模块。
3)建立数据库应用模型,对数据库进行操作。
4)调试程序,实现数据库的访问。
四:实验步骤与结果
五:实验心得
通过本次试验,我了解了JDBC的基本概念并且深入了解了其注册方法,我明白了如何调用数据库,怎样建立数据库,以及数据库的基本架构,更深入的了解了JA V A.。
数据库原理实验报告-实验三-数据完整性与安全性控制

《数据库原理》实验报告题目:实验三数据完整性与安全性控制学号班级日期2016.10.18一、实验容、步骤以及结果1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)(1)非空约束:为出生日期添加非空约束。
非空约束:取消表S中sbirth的勾。
可能需要重建表。
(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。
设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存(3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。
唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加-->是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。
设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)删除约束:单击数据库Student-->表-->单击S-->展开键、约束。
第三次试验——ER图

完成之后的CDM模型(参考)
完成之后的PDM模型(参考)
ቤተ መጻሕፍቲ ባይዱ
最终文件清单:
1:一个后缀名为CDM的文件 2:一个后缀名为PDM的文件 3:一个后缀名为CDB的文件(它是CDM的备份 文件,有的同学可能没有) 4:一个后缀名为PDB的文件(它是PDM的备份 文件,有的同学可能没有) 5:CDM的报告文件report1.rtf,PDM的报告文件 report2.rtf 6:crebas.sql
计算机信息管理基础
第三次实验课——ER图
实验背景: school数据库由如下表格组成,如表A1~ A3(见下页)所示,描述一个学校的学生、 教师、课程关系。
实验要求: a) 用s-designer软件画出该数据库ER图; b) 生成Word文档报告;
实验步骤——建立概念数据模型CDM(Concept Data Model):
实验步骤——生成物理数据模型PDM(Physical Data Model):
5:选择Dictionary——Generate Physical Model——在 DataBase Name下拉菜单中选择一种数据库——点击OK, PDM就建立好了; 6:【选做】为Students表与Courses表之间的Relation表 添加Score属性(表示成绩),为Teachers与Courses表 之间的Relation表添加Time属性(表示上课时间); 7:选择Edit——Add Title为PDM添加版本信息; 8:选择File——Create Report——Full PDM Report—— Save RTF为ER图生成报告文档report1.rtf 9:选择Database——Generate Database——在 Directory栏选择文件保存路径——点击Generate Script
《数据库技术》第三次实验内容

数据库技术实验创建库和表1.在'D:\SQL2000\DataBase\路径下创建数据库xscj,要求:主数据文件逻辑名为xscj_Data,物理名为xscj_Data.MDF,初始大小为10MB,最大允许为300MB,文件以5MB递增。
事务日志文件逻辑名为xscj_Log,物理名为xscj_Log.LDF,初始大小为10MB,最大允许为200MB,文件以2MB递增。
2.创建表参见教材附录A的要求:CREATE TABLE xs()CREATE TABLE kc()CREATE TABLE xs_kc()上面的SQL代码调试正确之后,请将xscj数据库整个删除,再进行下面的操作。
带完整数据的XSCJ数据库的还原:先下载我课件中的homework备份。
点击后找到你下载下来的homework 的备份(我课件中XSCJ数据库的备份)所在的位置然后一直“确定”下去,就可以还原XSCJ 数据库了,下面的操作都在这个数据库上进行。
如果报错,把第二幅图中的选项改为计算机上正确的文件路径即可。
学生成绩数据的简单和复杂查询实验步骤以xscj数据库为例,使用查询分析器完成以下的查询语句:(1) 查询xs表中的所有学生的信息以及仅查询学生姓名。
(2) 查询出XS表中的前10个或前面10%的学生信息。
(3) 查询总学分<50的所有学生的学号,姓名,专业名。
(4) 将XS_KC表中的学生学号,课程号及成绩输出,其中成绩按70%的分数显示,并且将成绩列名改为‘考试所占分数’。
(5) 查询XS表中的学生相关信息,并以学生姓名,所学专业,出生时间作为列名。
(6) 查询XS_KC表,显示学生成绩在80到89之间的学生选课信息。
(7) 从KC表中找出学时大于60的课程信息,并按照升序和降序显示。
(8) 找出姓王的所有学生。
(9) 查询总学分大于50的所有学生的姓名,性别,专业和选修课程号和成绩(10)查询计算机专业的学分大于50的学生的姓名及所选课程名和成绩。
SQL数据库实验报告 实验三

实验3 SQL Server数据表的管理1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE TABLE和ALTER TABLE创建和修改表的方法。
(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。
(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。
(4)了解SQL Server的常用数据类型。
2.实验内容及步骤(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。
(2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。
图1-2 学生基本情况表student_info图1-3 课程信息表curriculum图1-4 学生成绩表grade(3)在SQL Server管理平台中创建student_info、curriculum表。
(4)在SQL Server 管理平台中,将student_info 表的学号列设置为主键,非空。
(5)使用Transact-SQL语句CREA TE TABLE在studentsdb数据库中创建grade表。
(6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。
图1-5 student_info的数据图1-6 curriculum的数据图1-7 grade的数据(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。
(8)使用Transact-SQL语句INSERT INTO...V ALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。
(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌航空大学实验报告2016 年月日课程名称:数据库原理及应用实验名称:SQL-更新操作学号:姓名:同组人:指导教师评定:签名:实验目的:利用INSERT、UPDA TE和DELETE命令(或语句)实现对表(或试图)数据的添加、修改与删除等更新操作,这里主要介绍对表的操作。
实验内如与要求:建表和数据库的代码:Create database jxglUSE jxglGOCreate Table Student(Sno CHAR(5) not null primary key(Sno),Sname varchar(20),Sage smallint check(Sage>=15 AND Sage<=45),Ssex char(2) default'男'check(Ssex='男' OR Ssex='女' ),Sdept char(2));Create Table Course(Cno char(2)NOT NULL primary key(Cno),Cname VARCHAR(20),Cpno char(2),Ccredit SMALLINT);Create Table SC(Sno char(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL,Grade smallint check ((Grade IS NULL)OR(Grade between 0 and 100)),Primary key(Sno,Cno),foreign key(Cno) references Course(Cno));insert into Student values('98001','钱横',18,'男','CS');insert into Student values('98002','王林',19,'女','CS');insert into Student values('98003','李民',20,'男','IS');insert into Student values('98004','赵三',16,'女','MA');insert into Course values('1','数据库系统','5',4);insert into Course values('2','数学分析',null,2);insert into Course values('3','信息系统导论','1',3);insert into Course values('4','操作系统_原理','6',3);insert into Course values('5','数据结构','7',4);insert into Course values('6','数据处理基础',null,4);insert into Course values('7','C语言','6',3);insert into SC values('98001','1',87);insert into SC values('98001','2',67);insert into SC values('98001','3',90);insert into SC values('98002','2',95);insert into SC values('98002','3',88);图:Student表:Course表:SC表:请实践以下命令式更新操作1、在学生表Student和学生选课表SC中分别添加表5-1和表5-2中的记录表5-1:表5-2:代码:InsertInto Student Values('99010','赵青江','18','男','CS'); InsertInto Student Values('99011','张丽萍','19','女','CH'); InsertInto Student Values('99012','陈景欢','20','男','IS'); InsertInto Student Values('99013','陈婷婷','16','女','PH'); InsertInto Student Values('99014','李军','16','女','EH'); InsertInto SC Values('99010','1','87');InsertInto SC Values('99010','2',null);InsertInto SC Values('99010','3','80');InsertInto SC Values('99010','4','87');InsertInto SC Values('99010','6','85');InsertInto SC Values('99011','1','52');InsertInto SC Values('99011','2','47');InsertInto SC Values('99011','3','53');InsertInto SC Values('99011','5','45');InsertInto SC Values('99012','1','84');InsertInto SC Values('99012','3',null);InsertInto SC Values('99012','4','67');InsertInto SC Values('99012','5','81');插入后:Student表:插入后:SC表:2、备份Student表到TS中并清空TS表。
代码:未清空前TS表:select*into TSfrom Student;清空后TS表:3、给IS系的学生开设7号课程,建立所相应的选课记录,成绩暂定为60分。
代码:表:insertinto SCselect Sno,Cno,60from Student,Coursewhere Sdept='IS'and Cno='7';4、把年龄小于等于16岁的女生计录保存到表TS中。
代码:图:insertinto TSselect*from Studentwhere Sage<=16 and Ssex='女';5、在表Student中检索每门课均不及格的学生学号、年龄、性别及所在系等信息。
代码:图:select sno,sname,sage,sdeptfrom studentwhere sno in(select Snofrom SCwhere Grade<60groupby Snohaving count(sno)=count(cno));6、将学号“99011”的学生姓名改为刘华,年龄增加一岁。
代码:修改前:update Studentset Sname='李华',Sage=Sage+1where Sno='99011'; 修改后:7、把选修了“数据库系统”课程而成绩不及格的学生成绩全改为空值。
代码:图:update SCset Grade=NULLwhere Sno in(select Snofrom SCwhere Grade<60 and Cno=(select Cnofrom Coursewhere Cname='数据库系统'))8、将Student的前四位学生的年龄均增加1岁。
代码:更改前:更改后:update Studentset Sage=Sage+1where Sno in(selecttop 4 Snofrom student)9、学生王林在3课程中作弊,该课程成绩改为空值。
代码:更改前:更改后:update SCset Grade=NULLwhere Sno=(select Snofrom Studentwhere Sname='王林')and Cno= 3;10、把成绩低于总平均成绩的女同学的成绩提高5%。
代码:更改前:更改后:update SCset Grade=Grade+Grade*0.05where Sno in(select Snofrom SCwhere Grade<(select Avg(Grade)from SC)and Sno in(select Snofrom Studentwhere Ssex='女'))11、在基本表中SC中修改课程号为“2”号课程的成绩,若成绩小于等于80分时降低2%若成绩大于80分时降低1%(用两个UPDATE语句实现)。