数据库系统应用与开发--实验三

合集下载

数据库系统原理与应用实验报告

数据库系统原理与应用实验报告

《数据库系统原理及应用》实验报告实验一定义表和数据库完整性一、目的和要求1.了解SQL Server 数据库的逻辑结构和物理结构。

2.了解表的结构特点。

3.了解SQL Server 的基本数据类型。

4.学会在企业管理器中创建数据库和表。

5.学会使用T-SQL 语句创建数据库和表。

二、实验准备1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。

2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。

3.确定数据库包含哪些表以及包含的各表的结构,还要了解SQL Server 的常用数据类型,以创建数据库的表。

4.了解常用的创建数据库和表的方法。

三、实验内容1、使用SQL 语句创建表CREATE TABLE Customers(CustomerID int IDENTITY(1,1) PRIMARY KEY,Cname varchar(8) NOT NULL,Address varchar(50),City varchar(10),Tel varchar(20) UNIQUE,Company varchar(50),Birthday datetime,Type tinyint DEFAULT 1);CREATE TABLE Goods(GoodsID int CONSTRAINT C1 PRIMARY KEY,GoodsName varchar(20) NOT NULL,Price money,Description varchar(200),Storage int,Provider varchar(50),Status tinyint DEFAULT(0));CREATE TABLE Orders(OrderID INT IDENTITY(1,1) CONSTRAINT C2 PRIMARY KEY,GoodsID INT NOT NULL REFERENCES Goods(GoodsID) ON DELETE CASCADE,CustomerID int NOT NULL FOREIGN KEY(CustomerID)REFERENCES Customers(CustomerID) ON DELETE NO ACTION, Quantity int NOT NULL CONSTRAINT C3 CHECK(Quantity>0),OrderSum money NOT NULL,OrderDate datetime DEFAULT(getdate()));建表结果如下图所示:实验二表数据的插入、修改和删除一、目的和要求1.学会在企业管理器中对表进行插入、修改和删除数据操作。

《数据库原理与应用》实验报告三及答案

《数据库原理与应用》实验报告三及答案
@screditas'所选学分'
结果:
警告:聚合或其他SET操作消除了Null值。
学生号选课门数平均分所选学分
--------- ----------- ---------------------- -----------
081220101 669 22
(1行受影响)
4、思考题
1)存储过程和触发器的异同点?
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
1、计算机操作系统要求在windows XP以上。
2、并要求SQL Server软件2000以后版本。
三、实验内容及要求
利用实验指导书中的关系数据库完成下面题目:
1、说明下面代码段的功能
LE (SELECT____avg________(NormalMark) FROMstudent_course)<80
BEGIN
if (SELECT MAX(NormalMark) FROMstudent_course)>____95_____
BREAK
ELSE
___UPDATE student_course
case trank
when‘教授’then‘高级职称’
when‘讲师’then‘中级职称’
else
‘初级职称’
end
from teacher
答:在教师表中选取姓名和性别两列,并给每个教师分等级;
2、完成下面代码的书写
计算student_course表的平时分数列的平均值。如果小于80,则分数增加其值的5%;如果分数的最高值超过95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。
SET NormalMark = NormalMark *1.05

数据库实验三

数据库实验三

计算机与信息学院实验报告系:专业:年级:姓名:学号:22 实验室号计算机号22 实验时间:2013年10月29日指导教师签字:成绩:报告退发(订正、重做)实验名称:(三)数据库的定义实验一、实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

二、实验内容和原理1. 基本操作实验用Transact-SQL语句表示下列操作.在学生-课程库中实现其数据查询操作:(1)求数学系学生的学号和姓名。

(2)求选修了高等数学的学生学号、姓名和成绩。

(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)获选修课程C1且成绩在80~90分之间的学生学号、姓名及成绩,并将成绩乘以系数0.8输出。

(5)求数学系或计算机系姓张的学生的信息。

(6)求缺少了成绩的学生的学号和课程号。

(7)求C1课程的成绩高于张三的学生学号和成绩。

(8)求其他系中比计算机系学生年龄都小的学生。

(9)查询选修了全部课程的学生的姓名。

(10)求至少选修了学生“张三”所选修的全部课程的学生学号和姓名。

(11)查询每一门课的间接先行课(即先行课的先行课)。

在图书-图书库中实现其查询操作。

(1)查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍。

(2)求机械工业出版社出版的各类图书的平均定价,用GROUP BY表示。

(3)列出计算机类图书的书号、名称及价格,最后求出册数和总价格。

(4)列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册数和总价格。

(5)查询计算机类和机械工业出版社出版的图书。

(6)在图书-借阅库中实现其查询操作:将计算机类的书存入永久的计算机图书表中,将借书日期在1999年以前的借阅记录存入临时的超期借阅表。

数据库实验三

数据库实验三

数据库实验三《数据查询与操作》实验一、实验目的与要求1、掌握多表查询:嵌套查询的使用。

2、掌握INSERT、UPDATE和DELETE语句的一般格式与使用方法。

3、掌握视图的创建和删除、视图的NSERT、UPDATE和DELETE 的应用二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容实验前,先附加“教务管理系统”,在“教务管理系统”的数据库中进行一下查询:嵌套查询1、在“教务管理系统”数据库中,根据相关表的内容,查询平均成绩大于70的课程信息select课程名称from课程信息where课程编号in(select课程编号from选课表group by课程编号having avg(成绩)>70)2、从“教务管理系统”数据库中,查询人数超过45人所在班级中的学生的学号、姓名和班级名称。

select学号,姓名,b.班级编号,班级名称from学生信息x,班级信息bwhere x.班级编号= b.班级编号and x.班级编号in(select班级编号from班级信息where人数>45)3、在“教务管理系统”数据库中,查询学生姓名为“朱文娟”所在班级的学生信息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息select学号,姓名,性别,x.年级,b.班级编号,班级名称from学生信息x,班级信息bwhere x.班级编号= b.班级编号and x.班级编号=(select班级编号from学生信息where姓名='朱文娟')4、在“教务管理系统”数据库中,查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。

select学生信息.学号,姓名,班级编号,课程编号,成绩from学生信息left join选课表on学生信息.学号=选课表.学号where学生信息.班级编号<>(select班级编号from班级信息where班级名称 LIKE '计算机%')数据更新(一)添加教务信息1、在2003年级中创建一个新班级,编号为20031340000200、班级名称为“环境与科学”、班级人数为60、班主任为“张浩”。

数据库原理 实验三 数据定义

数据库原理 实验三  数据定义

《数据库原理及应用》上机实验实验三数据定义一、学时2学时二、实验类型设计三、实验目的1.巩固数据库的基础知识;2.熟悉SQL Server2012中常用的数据类型;3.熟悉和掌握利用查询分析器进行数据表的建立、修改和删除的方法;4.利用查询分析器用SQL语言定义索引并进行相关操作。

四、实验准备1.熟悉SQL Server 2012的工作环境;2.复习有关表的建立、修改和删除的SQL语言命令和方法;3.复习有关索引的建立、修改和删除的SQL语言命令和方法。

五、实验方法及步骤1.登陆企业管理器/查询分析器;2.创建数据库或连接已建立的数据库;3.在当前数据库上建立新表,并注意定义表的主码,外码;4.修改表的结构;5.在表上建立索引;6.删除表的定义。

六、实验内容使用企业管理器完成以下操作:1.创建学生课程数据库SCDB,并在SCDB中完成以下操作。

CREATE DATABASE SCDB2.创建附录中的学生关系表student:(学号为主码,姓名要求唯一值,各属性数据类型根据实际情况设置);CREATE TABLE student(sno CHAR(11)PRIMARY KEY,sname VARCHAR(12)UNIQUE,ssex VARCHAR(6),sage INT,sdept VARCHAR(50))3.创建附录中的课程关系表course:(课程号为主码,各属性数据类型根据实际情况设置);CREATE TABLE course(cno CHAR(3)PRIMARY KEY,cname VARCHAR(12),cpo VARCHAR(12),credit INT)4.创建附录中的选课关系表sc:(sno和cno共同作为主码,sno和cno分别为外码,各属性数据类型根据实际情况设置);CREATE TABLE sc(sno CHAR(11)FOREIGN KEY REFERENCES student(sno),cno CHAR(3)FOREIGN KEY REFERENCES course(cno),grade int,PRIMARY KEY (sno,cno))5.在表student上增加“出生日期”属性列sbirth,数据类型为日期型。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

数据库实验报告3

数据库实验报告3

数据库实验报告课程:数据库原理及应用正文:一、实验目的1.理解索引和视图的概念。

2.掌握索引的使用方法。

3.掌握视图的定义和使用方法。

4.理解存储过程的概念,掌握存储过程的使用方法。

5.学习触发器的使用,体会触发器执行的时机,加深对触发器功能和作用的理解。

6.理解SQL Server2000验证用户身份的过程,掌握设置身份验证模式的方法。

7.理解登陆账号的概念,掌握混合认证模式下登陆账号的建立与取消方法。

8.掌握混合认证模式下数据库用户的建立与取消。

9.掌握数据库用户权限的设置方法。

10.理解角色的概念,掌握管理角色技术。

11.学会配制ODBC数据源。

了解使用ODBC来进行数据库应用程序设计,通过ODBC接口访问数据库并对数据库进行操作。

学习在Visual Basic中使用ADO控件访问后台的SQL Server数据库。

二、实验内容1.建立索引。

对JWGL数据库的学生选课表SC建立索引,要求按照Cno升序、Grade降序建立一个名为SC_ind的索引。

USE JWGLIF EXISTS(SELECT name FROM sysindexes WHERE name = 'SC_ind')DROP INDEX SC.SC_ind;GOUSE JWGLCREATE INDEX SC_ind ON SC (Cno,Grade DESC);2.视图的定义和操作,(1)在JWGL数据库里,完成第三章例3.54~例3.61例题中视图的定义和视图上的查询、更新操作。

(2)在Market数据库中,完成第三章习题11中(1)中建立视图的操作,然后在视图上完成第三章习题11(2)的查询操作。

3.在数据库JWGL中,完成第四章例1,例3~7中例题的创建存储过程的操作,并使用EXEC语句调用这些存储过程执行,观察他们的执行结果。

4.在Market数据库中,完成第四章习题5中(1)~(4)创建存储过程的操作。

数据库系统实验报告实验三数据控制

数据库系统实验报告实验三数据控制

可得到最后界面如下:3.以sa用户(DBA)登录,运行教材上中的例1~例7对7个新用户授权。

每运行一个例子后,以相应的用户名重新登录,验证新用户是否具有授予的权限。

注:SQL Server中的权限授予与回收命令与教材例题上的细节有所不同,这里只写出中的权限授予与回收命令语句。

在SQL 2000【例1】把查询student表的权限授给用户u1。

GRANT SELECTON studentTO u1;执行完授权语句后,用u1登录,验证其是否已有查询权利。

重新连接数据库,登录界面如下:用u1登录后,执行一条SELECT命令,显示了查询结果如下所示,说明u1已具有了对student表的查询权限。

【例2】把对student表和course表的全部操作权限授予用户u2和u3。

GRANT ALL PRIVILEGESON studentTO u2,u3;GRANT ALL PRIVILEGESON courseTO u2,u3;执行完授权语句后,用u2登录,验证其是否已有所有权利。

用u2登录后,执行两条SELECT命令,显示了查询结果如下所示,说明u2已具有了对student表的查询权限,再执行INSERT命令,DELETE命令,UPDATE 命令,同样可得到结果。

说明u2已具有了对student表和SC表的所有权限。

同u2一样,u3也已具有了对student表和SC表的所有权限。

【例3】把对表SC的查询权限授予所有的用户。

GRANT SELECTON SCTO PUBLIC;【例4】把查询student表和修改学生学号的权限授予用户u4。

GRANT UPDATE(Sno),SELECTON studentTO u4;执行完授权语句后,用u4登录,验证其是否已有相应权利。

用u4登录后,执行一条SELECT命令和一条UPDATE命令,显示了查询结果如下所示,说明u4已具有了对student表的查询权限,和对学生学号的修改权限。

《数据库应用系统开发》课程实验报告三

《数据库应用系统开发》课程实验报告三

《数据库应用系统开发》课程实验报告三实验报告题目:销售合同管理系统设计与开发学号:姓名:胡诣嵩班级:任课教师:陆耀《数据库应用系统开发》课程实验报告3一.不带参数的查询 (2)二.对数据库的修改 (6)三.带参数的查询 (11)一.不带参数单表的查询根据Erwin 软件生成关系模型,并倒入数据库结果为:使用Visual stdio 2005以下是部分表的数据act表nt新建项目,选择windows应用程序,新建项目名为work1230点击菜单项的数据—〉添加新数据源 选择数据库—〉默认连接选择表在解决方案资源管理器的右击点击查看设计器显示各个实体之间的联系拖动数据源成员contract到窗口自动生成一个数据浏览表格和一个导航表同时也添加了一些数据库访问组件修改组件的属性:修改HEADER TEXT;Autosize Mode ;Frozen如图单击数据源窗口中的数据成员contract 右边的下拉按钮选中“详细信息”并把其拖到窗口的空位如下图所示修改其属性改变其位置全部保存并运行结果如图二.对数据库的修改:在窗体from2中加入按钮;分别为添加按钮;删除按钮;保存按钮;退出按钮;插入按钮。

在添加按钮的代码中输入private void button1_Click(object sender, EventArgs e){try{w();}catch (NoNullAllowedException ex){("请将输入的内容输入完整", "错误",, mation);}}在删除按钮的代码中输入private voiddel_Click(object sender, EventArgs e){if (("确实要删除吗?", "确认", cel, mation) == ) eCurrent();}在保存按钮中添加代码private voidsave_Click(object sender, EventArgs e) {try{ate();it();e(ACT);}catch (RankException ex){ }}在退出按钮的代码中输入private voidexit_Click(object sender, EventArgs e) {lEdit();();}修改的代码将From1改成From2namespace work1230{static class Program{///<summary>///应用程序的主入口点。

数据库系统开发实验教程报告

数据库系统开发实验教程报告

数据库应用系统开发实验报告实验一、SQL Server 的基本安全管理实验二、触发器的创建与测试实验三、数据建模实验四、编程实验一、SQL Server 的基本安全管理//STEP1:利用Windows身份验证进入管理员系统模式//STEP2:修改sa登陆口令,该为SQL Server登陆创建一个登录并将创建的数据库设置为该登录的默认数据库:创建新的数据库:Student_Information创建新SQL Server登录Stu,使用下列T-SQL语言将Stu的默认数据库设置为Student_Information设置登录在默认数据库中的用户映射将登录加入到两个不同的数据库服务器角色中对数据库进行操作:①将Stu加入sysadmin服务器角色中对默认数据库进行操作//step1、Stu加入服务器角色sysadmin//step2、创建表Score、查询表StudentInfo//srep3、从sysadmin中删除Stu②使用服务器角色Student对默认数据库进行操作//step1、同上将Stu添加到dbcreator角色//step2、创建表PScore,PStudentInfo//step3、从dbcreator中删除Stu使用两个不同的数据库角色进行相应的授权操作:③将Stu加入到数据库角色db_owner//step1、加入db_owner//step2、创建表PStudentInfo//step3、从db_owner中删除Stu②将Stu加入到数据库角色db_datareader //step1、加入db_datareader//step2、创建表PScoreDb_datareader没有权限去创建一个表//step3、从db_datareader中删除Stu使用特定对象授权,完成相应的操作//step1、对特定对象表StudentInfo进行授权//step2、对Stu赋予表StudentInfo的name列更新权限:①未赋予update权限之前:②赋予update权限实验二、触发器的创建与测试利用RAISEERROR抛出错误信息//Step1、在Adventureworks数据库中的表Sales.SalesOrderDetail上建立update 触发器PriceAFTER触发器,触发条件UPDATE,声明三个变量,listprice表示公开报价,unitprice表示当前产品单价,连接SalesOrderDetail表和Product表。

数据库技术与应用实验三

数据库技术与应用实验三

实验3 SQL Server数据表的管理1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表的方法。

(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。

(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。

(4)了解SQL Server的常用数据类型。

2.实验内容及步骤(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。

(2)在students db数据库中包含有数据表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语句CREATE 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...VALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。

(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

《数据库及其应用》实验报告3

《数据库及其应用》实验报告3
2.上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中作为表对象。命名为“学生成绩表”。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。
写出以上操作的主要过程。
四、回答问题
1.什么是Access的外部数据?
答:凡是不在当前Access数据库中存储,在其他数据库或程序中的数据就称为外部数据。
六、教师评语
1.按时完成实验;
2.实验内容和过程记录完整;
3.回答问题完整、正确;
4.有实验的心得或讨论;
5.实验报告的撰写认真、格式符合要求,没有抄袭行为。
签名:
日期:2009.4
成绩
这个实验主要是有关数据交换的一些理论知识和基本操作。在做此实验时,我在操作方面没有太大的问题,基本都能完成好。但理论知识方面却很难理解到位,因此不知如何表达清楚。这个问题我在第1个实验中也有遇到过。但最后,我还是尽自己的全力将其完成好。而我解决的方法,不是去死板地找寻理论,却是通过自己亲手进行一些操作,来理解其理论,然后再用自己的语言表述出来。因此,通过这个实验,我充分理解了“理论与实践”的关系,即弄清楚一个理论,最好的方法就是进行实践。所以,我通过一系列操作,较好地完成了本实验。
2.将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。文本文件要包括字段名。
3.将“学生成绩单”查询导出到桌面EXCEL文件“学生成绩表”中。
写出以上操作的主要过程。
(二)导入操作
1.将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。并为各字段列指定合适的类型。
2.简述不同软件进行数据导入、导出的意义。
答:不同软件进行数据导入、导出的意义是可以实现多种格式文件的数据资源共享,有利于分析汇总。

实验三--数据库中的数据查询及视图操作实验报告

实验三--数据库中的数据查询及视图操作实验报告
实验内容和步骤针对实验一建立的数据库的表用select语句完成如下查询操作写出select语句并给出操作结果
长春大学计算机学院科学与技术专业
数据库原理实验报告
实验名称:
实验三数据库中的数据查询及视图操作(1)
班 级:
姓 名:
学 号:
实验地点:
日 期:
一、实验目的:
1.继续熟练SQL SERVER 2005/2008系统或KingBase ES V7.0的使用;
2.掌握SELECT语句的使用。
3.掌握单表查询,多表查询以及嵌套查询。
二、实验内容、要求和环境:
【实验要求】
注:将完成的实验报告重命名为:班级+学号+姓名+(实验三),(如:041540538张三(实验三)),提交到SPOC学堂。
1.实验课要携带教材、学习辅导、老师下发的实验报告文档等。
2.课前要对实验内容和步骤部分进行预习。
创新活动
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件的供应商名SNAME;
(4)求供应工程J1零件P1的供应商名SNAME;
(5)求供应工程J1零件为红色的供应商号码SNO;
(6)求没有使用天津供应商生产的红色零件的工程号JNO;
(7)求至少用了供应商S1所供应的全部零件的工程号JNO;
(8)找出使用上海产的零件的工程名称;
2.针对学生-课程数据库中的三个表,用嵌套方法查询实现如下查询:
(1)查询选修了数据库的学生姓名。
(2)查询比计算机系CS所有学生年龄都大的学生信息。

数据库实验3答案

数据库实验3答案

实验三:交互式SQL语句的使用1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3实验容及要求选择如下一个应用背景之一:●学生选课系统●习题3、4、和5中使用的数据库●其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。

(2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的容:3.1数据定义1.基本表的创建、修改及删除2.索引的创建3.视图的创建3.2数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构表2. Course表结构表3. SC表结构1.创建、修改及删除基本表(1)创建Student表CREATETABLE Student(Sno CHAR(8)PRIMARYKEY,Sname CHAR(8),Ssex CHAR(2)NOTNULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATETABLE Course(o CHAR(4)PRIMARYKEY,ame CHAR(40)NOTNULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATETABLE SC(Sno CHAR(8)FOREIGNKEY (Sno)REFERENCES Student(Sno), o CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATETABLE Employee(编号CHAR(8)PRIMARYKEY,VARCHAR(8)notnull部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。

数据库原理与应用课程实验(3-4)

数据库原理与应用课程实验(3-4)
(5)列出教育类图书的书号、名称及价格,最后求出册数和总价格。
(6)查询教育类和清华北京出版社出版的图书。
五、注意事项
(1)注意多表查询时连接方式。
(2)注意GROUP BY中字段用法
六、思考题
嵌套查询中“=”和“In”用法区别。
学生姓名
邱艳
实验日期
2015-5-27
实验名称
视图、索引
实验成绩
一、实验目的
SELECT [ALL|DISTINCT] <目标列组>
[INTO <新表名>]
FROM <表名或视图名>
[WHERE <查询条件>]
[GROUP BY <分列组> [HAVING <组选择条件>]]
[ BY <排序列> [ASC|DESC]]
功能:从指定的基本表或视图中,找出满足条件的记录数据,并对它们进行分组、统计、排序和投
(1)创建一个读者_View.
(2)创建一个借阅_计算机图书视图。
(3)创建一个图书_index,按图书名称升序排列。
(4)删除所有索引和视图。
四、实验步骤及运行结果
(1)创建一个读者_View.
(2)创建一个借阅_计算机图书视图。
(3)创建一个图书_index,按图书名称升序排列。
(4)删除所有索引和视图。
(6)查询计算机类和机械工业出版社出版的图书。
四、实验步骤及运行结果
(1)查询江苏理工学院学生生的借书证号和姓名。
(2)查询江苏理工学院学生的姓名、所借图书的名称以及出版社。
(3)查询图书类别,要求类别中最高图书的定价不低于全部按类别分组的平均定价的2倍。

数据库系统与应用实验报告

数据库系统与应用实验报告

数据库系统与应用实验报告数据库系统与应用实验报告概述:数据库系统是现代信息技术领域中的重要组成部分,它通过存储、管理和操纵数据,为各种应用程序提供数据支持。

本实验报告将介绍数据库系统的基本概念、应用场景以及实验过程和结果。

第一部分:数据库系统的基本概念数据库系统是指由数据、数据库管理系统(DBMS)和应用程序组成的系统。

数据是数据库系统的核心,它以结构化的方式存储在数据库中。

DBMS是管理和操作数据库的软件,它提供了数据的安全性、完整性和一致性。

应用程序则通过DBMS与数据库进行交互,实现各种功能。

第二部分:数据库系统的应用场景数据库系统广泛应用于各个领域,如企业管理、电子商务、金融、医疗等。

在企业管理中,数据库系统可以用于存储和管理员工信息、销售数据、财务数据等。

在电子商务中,数据库系统可以存储和管理商品信息、用户信息、订单信息等。

在金融领域,数据库系统可以用于存储和管理客户账户信息、交易记录等。

在医疗领域,数据库系统可以存储和管理患者信息、病历数据等。

第三部分:实验过程和结果本次实验的目标是设计一个简单的学生信息管理系统。

首先,我们创建了一个名为"student"的数据库,并在其中创建了一个名为"student_info"的表,用于存储学生信息。

表中包含学生的学号、姓名、性别、年龄等字段。

然后,我们使用SQL语句向表中插入了几条学生信息。

接下来,我们编写了一个简单的应用程序,通过DBMS连接到数据库,并实现了查询、插入、删除等功能。

最后,我们对程序进行了测试,并验证了功能的正确性。

实验结果显示,我们成功地创建了数据库和表,并能够通过应用程序对其进行操作。

查询功能可以根据学号或姓名等条件查询学生信息,并将结果返回。

插入功能可以向表中插入新的学生信息。

删除功能可以根据学号删除指定的学生信息。

通过实验,我们深入了解了数据库系统的原理和应用,提高了对数据库的操作能力。

数据库系统设计与开发实验三

数据库系统设计与开发实验三

实验三课时:4课时。

1 实验目标⏹进一步熟悉Delphi集成开发环境(IDE)⏹熟悉Delphi中各种基本控件的使用⏹进一步熟悉Delphi应用程序源代码的编写2 实验内容实验1:完成记事本应用的部分功能。

实验2:学生信息录入程序3 实验1步骤第一步:打开前面实验中的记事本工程。

在窗体中放置一个OpenDialog控件和SaveDialog控件,并设置其Filter属性,使的对话框控件只能选择txt文件,并将SaveDialog 的默认扩展名设置为.txt。

第二步:编写另存为功能。

编写“另存为”菜单项的事件过程,代码功能为启动一个文件保存对话框,用户输入文件名后点击“保存”按钮后将Memo1中的文本存储到对应的文件,如果点击“取消”按钮,则不保存。

第三步:编写打开功能。

编写“打开”菜单项的事件过程,代码功能为启动一个文件打开对话框,用户选择文件名后点击“打开”按钮后将文件中的内容读入到Memo1控件中,如果点击“取消”按钮则不要读入文本内容。

第四步:控制“剪切”、“复制”、“粘贴”菜单项的可用性。

编写“编辑”按钮的onClick 事件过程,如果Memo控件中选中的文本长度不为0,则将“剪切”、“复制”菜单项的enabled 属性设为true,否则设为false;如果当前剪贴板中的文本内容不为空,则“粘贴”菜单项的enabled属性设为true,否则设为false。

注:可用“Clipboard.AsText<>''”表达式获取剪贴板中有无文本,如果有则这个表达式值为true,否则为false。

使用Clipboard对象,必须在单元的uses列表中增加对单元Clipbrd的引用。

第五步:编写剪切、复制、粘贴功能。

编写三个菜单项的事件过程,分别利用Memo 控件的方法实现这些功能。

第六步:实现全选功能。

编写“全选”菜单项的事件过程,利用Memo控件的相关方法实现文字全选功能。

数据库原理与应用实验报告3--练习题学生表和选课表

数据库原理与应用实验报告3--练习题学生表和选课表

11、在学生表Stu 和学生选课表SC 中分别添加如下两表中的记录。

学生表Stu 学生选课表SC学号 (Sno) 姓名 (Sname) 年龄 (Sage) 性别 (Ssex) 所在系 (Sdept) 98010 赵青江 18 男 CS 98011 张丽萍 19 女 CH 98012 陈景欢 20 男 IS 98013 陈婷婷 16 女 PH 98014 李 军 16 女 EH课程表Course课程号 (Cno) 课程名 (Cname) 先修课号(Cpno) 学分 (Ccredit )2、备份Student 表到TS 中,并清空TS 表。

SELECT *INTO ts FROM stu TRUNCATE TABLE ts3、给IS 系的学生开设7号课程,建立所有相应的选课记录,成绩暂定为60分。

INSERT INTO sc(Sno,Cno,Grade)SELECT sno,7,60 FROM stu WHERE Sdept='IS'4、把年龄小于等于16的女生记录保存到表TS 中。

学号 (Sno) 课程号 (Cno) 成绩 (Grade) 98010 1 87 98010 2 98010 3 80 98010 4 87 98010 6 85 98011 1 52 98011 2 47 98011 3 53 98011 5 45 98012 1 84 98012 3 98012 4 67 98012581数据库原理与应用实验指导INSERT INTO ts SELECT Sno,Sname,Sage,Ssex,SdeptFROM stu WHERE Ssex ='女' AND Sage<=165、在表Student中检索每门课均不及格的学生学号、姓名、年龄、性别及所在系等信息,并把检索到的信息存入TS表中。

6、将学号为“98011”的学生姓名改为'刘华',年龄增加1岁。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三JDBC基础(2)
一、相关知识点
1、JDBC基本概念
2、JDBC简单查询、preparedstatement、连接查询、集函数查询等
Odbc:
Jdbc:
二、实验目的:
理解Java连接数据库的基本概念。

理解Statement对象、PreparedStatement对象和ResultSet对象。

三、实验内容:
1、游标滚动模式试验。

第一步:将RsTest类放入对应的工程包中.zucc.booklib.rstest;
第二步:在BeanSystemUser表中增加一些测试数据;
第三步:运行程序,并查看执行结果。

第四步:将游标滚动模式改成TYPE_SCROLL_SENSITIVE,运行程序,并查看结果
【实验结果与分析】
A、第三步、第四步运行结果截图?并说明区别。

第三步:
第四步:修改前
第四步:修改后
B、
2、利用ResultSet对象进行数据修改
第一步:将RsTest2类放入对应的工程包中.zucc.booklib.rstest;
第二步:运行程序,并查看执行结果。

第三步:删除rs.updateRow(); 允许程序,并查看执行结果
【实验结果与分析】
A、请给出第二步、第三步的执行截图。

说明区别,并分析原因。

第二步:
第三步:
3、利用PreparedStatement对象修改实验二的两个对出版社的查询。

第一步:在实验二的基础上,把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。

查看执行结果。

第二步:将原来的查询函数,改成用PreparedStatement。

运行程序,查看执行结果。

通用把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。

查看执行结果。

【实验结果与分析】
A、第一步执行结果截图。

B、第二步执行结果截图。

比较两种方式的区别。

4、连接查询,模仿ReaderManager类中的方法:public List<BeanReader>
searchReader(String keyword,int readerTypeId)throws BaseException。

编写新方法
public List<BeanReader> searchReader(String keyword,String readerTypeName)throws BaseException。

即把条件中的读者类别ID改成读者类别名称。

【实验结果与分析】
A、修改后的sql语句部分是。

public List<BeanReader> searchReader(String keyword,String readerTypeName)throws BaseException{
List<BeanReader> result=new ArrayList<BeanReader>();
Connection conn=null;
try {
conn=DBUtil.getConnection();
String sql="select
readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,crea torUserId,stopDate,stopUserId,rt.readerTypeName" +
" from BeanReader r,BeanReaderType rt where r.readerTypeId=rt.readerTypeId" +
" and removeDate is null ";
//if(readerTypeId>0) sql+=" and
r.readerTypeId="+readerTypeId;
if(keyword!=null && !"".equals(keyword))
sql+=" and (readerid like ? or readerName like ?)";
if(readerTypeName!=null
&& !"".equals(readerTypeName))
sql+=" and r.readerTypeId="+readerTypeName;
sql+=" order by readerid";
java.sql.PreparedStatement
pst=conn.prepareStatement(sql);
if(keyword!=null && !"".equals(keyword)){
pst.setString(1, "%"+keyword+"%");
pst.setString(2, "%"+keyword+"%");
pst.setString(3, "%"+readerTypeName+"%");
}
java.sql.ResultSet rs=pst.executeQuery();
while(rs.next()){
BeanReader r=new BeanReader();
r.setReaderid(rs.getString(1));
r.setReaderName(rs.getString(2));
r.setReaderTypeId(rs.getInt(3));
r.setLendBookLimitted(rs.getInt(4));
r.setCreateDate(rs.getDate(5));
r.setCreatorUserId(rs.getString(6));
r.setStopDate(rs.getDate(7));
r.setStopUserId(rs.getString(8));
r.setReaderTypeName(rs.getString(9));
result.add(r);
}
} catch (SQLException e) {
e.printStackTrace();
throw new DbException(e);
}
finally{
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return result;
}。

相关文档
最新文档