文档库 最新最全的文档下载
当前位置:文档库 › 数据库原理实验九

数据库原理实验九

数据库原理实验九
数据库原理实验九

东华理工大学长江学院实验报告

2018 至2019 学年第二学期实验九存储过程和触发器

《数据库原理与应用》实验题目及答案

《数据库原理与应用》实验作业布置 实验1 数据库的建立修改与删除 完成以下实验报告: 《数据库原理与应用》实验报告 实验1 数据库的建立修改与删除 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000 或MS SQL Server 2008。 三、实验目的 1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MS SQL Server 2008上机环境,学会SQL Server Management Studio的启动与退出。 2.掌握建立数据库的两种方法。 3.掌握查看和修改数据库的两种方法。 4.掌握删除数据库的两种方法。 四、实验内容 (一) 规定内容 1. 在用户方便的存储空间上建立存放用户数据库的文件夹。本实验在D盘根目录下建立文件夹:D:\SQL2000DB,再建立存放T_SQL源代码的文件夹:D:\SQL2000DB\T_SQL 2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。 3.利用企业管理器查看ST数据库的属性。 4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。 5.使用T-SQL 语句建立数据库JXDB,参数如表1.2所示。

6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。参数由用户自己设定。 7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:文件初始大小改为5M,增长方式改为每次按20%增长。删除日志文件JXDB_log1。 8.使用T-SQL语句删除数据库JXDB。 (二) 自定内容 五、出现的问题及解决方法 实验2 表结构的建立修改删除及完整性约束条件定义 完成以下实验报告: 《数据库原理与应用》实验报告 一、实验题目 实验2 表结构的建立修改删除及完整性约束条件定义 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000或MS SQL Server 2008。 三、实验目的 1.掌握建立、修改与删除表结构的两种方法。 2.掌握定义完整性约束条件的方法。 3.掌握利用企业管理器和使用T-SQL语句向表中插入记录的方法。 四、实验内容 (一) 规定内容 1.对学生课程数据库ST进行完整性约束条件规划设计。 设计结果如表2.1所示。

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

数据库原理实验5

福建农林大学资源与环境学院实验报告 系:国土资源专业:空间信息与数字技术年级:2016 姓名:任然学号:3165706014 实验室号____507__ 计算机号44 实验时间:2018年5日指导教师签字:成绩: 报告退发(订正、重做) 实验名称:触发器、存储过程操作实验 一、实验目的和要求 (1)掌握SQL Server中的触发器的使用方法; (2)掌握存储过程的操作方法。 二、实验内容和原理 1. 基本操作实验 在读者-图书数据库中用Transact-SQL语句描述下列功能: (1)在读者表上建立一个DELETE类型的触发器lianxi_del,触发动作是显示信息(已删除读者表中的数据),执行下列语句: create trigger lianxi_del on 读者 for delete as print ‘已删除读者表中的数据’ (2)建立一个查询指定读者号的阅读信息的存储过程List_jy,输入参数为读者号,如果没有输入读者号,则要输出提示信息。建立这个存储过程的语句如下所示。 create procedure List_jy @p_dzh char(5) = null as if @p_dzh is null begin print ‘请输入一个读者号’ return end else select 编号,姓名,书名,借阅时间 from 读者,借阅,图书 where 读者.编号=借阅.读者编号 and 借阅.书号=图书.书号 and 读者.编号=@p_dzh 2. 提高操作实验 在学生-课程数据库中用Transact-SQL语句描述下列功能: (1)为学生表建立一个名TRI_INSERT的INSERT触发器。功能是当用户向学生表添加数据时,同时也把这些数据添加到stu表中。其中:学生表和表stu的结构相同。 (2)为学生表建立一个名TRI_DELETE的DELETE触发器。功能是当用户从学生表

数据库原理课后题答案

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。

内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

《数据库原理》实验7

实验七:数据库的安全性 一、实验目的 1.掌握Windows NT认证模式下数据库用户帐号的建立与取消方法; 2.掌握混合模式下数据库用户帐号的建立与取消方法; 3.掌握数据库用户权限的设置方法; 4.熟悉数据库数据库用户帐号的权限分配、回收等方法; 5.了解数据库角色的分类、作用及使用方法。 二、实验环境 已安装SQL Server 2005 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SQL Server 2005系统安全; 2.熟悉数据库用户、服务器角色及数据库角色的用法; 3.完成实验报告; 五、实验内容及步骤 以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现以下操作,并独立写出部分题目的程序代码; 1.在当前计算机中增加一个用户zhang和cheng,密码为secret。使此用户通 过winows nt模式下登录SQL Server服务器,登录名分别为zhang和cheng; 2.新建以混合模式登录SQL Server服务器的用户登录名为stu1、stu2和stu3, 登录密码为secret,默认登录数据库为stu; 3.将帐号zhang添加为数据库stu的用户,用户名为zhang; 4.在数据库stu中创建用户stu1、stu2和stu3,登录帐号分别为stu1、stu2 和stu3; 5.给数据库用户zhang赋予创建数据库的权限; 6.给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限; 7.给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查 询sc的操作权限,并允许再授权给其他用户; 8.收回数据库用户stu2对student表和course表的删除操作的权限; 9.若一个小组共5个成员,他们对数据库stu具有相同的操作权限,具体权限 如下: 1)对于student、course表只能进行数据查询;

数据库原理B实验报告完整版1-3

实验一 认识DBMS系统 日期 2011-3-23一、实验目的 1.通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2.熟悉对DBMS的操作 3.搭建今后实验的平台 二、实验原理 企业管理器是SQL Server中最主要的工具,使用它基本上可完成SQL Server的所有管理操作,如数据库的创建和管理、数据表的创建和管理、数据库安全管理等,在本书第五课中将对其作详细介绍。 查询分析器主要用于创建和执行SQL命令,以完成数据库的查询和管理工作。查询分析器和企业管理器是SQL Server的两大主要工具。 服务管理器主要用于启动、暂停、停止和检查本地服务的状态。SQL Server提供如下服务: SQL Server服务:该服务提供管理服务器中的所有数据库、执行T-SQL程序、执行存储过程、处理分布式查询等服务。必须启动该服务,用户才能通过客户端访问SQL Server服务器中的数据。 SQL Server Agent服务:该服务用于执行作业、监视SQL Server以及激发警报。SQL Server Agent允许自动执行某些管理任务的服务,所以必须启动SQL Server Agent 服务,才能使本地或多服务器的管理任务自动运行。 Microsoft Search服务:提供SQL Server全文检索功能。 Distributed Transaction Coordinator服务:提供Microsoft分布式事务处理功能。 MSSQL Server OLAP Service服务:支持Analysis Services的各项功能,该服务在安装了支持Analysis Services才有。 三、实验仪器和设备 1. 计算机 2. SQL Server 2000 四、预习要求 复习已经讲过的SQL Server 2000的基本工具使用方法。

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》实验报告书修 改版(1)答案 《数据库原理与应用》实验报告书班级:学号:姓名:教师:郑先容医药信息工程学院·数据决策2012年2月目录实验一利用ACCESS 创建数据库及熟悉SQL Server开发环境... 2 实验三数据库、表的创建............................................................... ... 6 实验五连接查询和嵌套查询................................................................ 12 实验七数据的插入、修改、删除.................................................... 18 实验九SQL Server数据库的安全性控制........................................ 21 实验十一熟悉Power Designer数据库设计软件................................ 24 实验十三Transact-SQL编

程................................................................ 27 实验十五存储过程的使用............................................................... ..... 30 第十章数据库的恢复技术作业............................................................ 33 《数据库原理与应用》实验报告实验一利用ACCESS创建数据库及熟悉SQL Server 开发环境一、实验目的1、熟知机房用机安全规则和实验报告的书写。2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。3、熟悉SQL Server Management Studio环境。4、掌握创建服务器组合注册服务器。5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://的“数据决策”->“数据库”->“2011-2012”文件夹下找到,以后每次实验相关的文件和数据

数据库原理实验一

电子信息工程学系实验报告 课程名称: 《数据库原理》 实验项目名称:表的创建和管理 实验时间: 班级: 姓名: 学号: 实 验 目 的: (1)了解SQL Server 的基本数据类型。 (2)学会在企业管理器中创建数据库及表。 (3)学会使用T-SQL 语句创建数据库及表。 (4)学会在企业管理器中修改表的定义。 (5)学会使用SQL 语句修改表的定义 实 验 环 境: winXP +Sql server 2000 实 验 内 容 及 过 程: (1)用企业管理器,建立的数据库SCHOOL ,建立如书本75页的P,S,J,SPJ 四张表,并添加数据。 (2)用企业管理器删除所建立的SPJ 和J 两张表。 (3)在查询分析器中用sql 语句删除表S 和表P,S ,删除数据库SPJ 。 (4)在查询分析器中用sql 语句创建数据库SPJ ,用SQL 语句创建各书本75页的P,S,J,SPJ 四张表,用insert 命令分别向四张表里面添加如75页所示的数据。 (5)将以上用到的SQL 命令以 “实验一.SQL ”文件的形式保存。 (6)用企业管理器备份数据库SPJ 到备份文件SPJ.bak 。 实 验 结 果 及 分 析: (1)

(2) (3) DROP TABLE P; DROP TABLE S; DROP DA TABASE SPJ; (5)

实验心得: 附录: CREATE DATABASE SPJ ON ( NAME=pSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1 MB ) LOG ON ( NAME=logSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.ldf',SIZE=100MB,MAXSIZE=1000MB,FILEGROWTH= 10MB ) go use SPJ CREATE TABLE S( Sno CHAR(2) NOT NULL, --供应商代码不能为空 Sname V ARCHAR(20), Status int , City V ARCHAR(20) , CONSTRAINT S_pk PRIMARY KEY(Sno) --应商代码为主键 ); CREATE TABLE P( Pno CHAR(2) NOT NULL, --零件代码不能为空

《数据库原理》实验4

实验四:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作: 1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名; 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修 课程号及成绩; 4.查询缺少成绩的所有学生的详细情况; 5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; 6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成 绩; 7.按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。 其中已修学分为考试已经及格的课程学分之和; 8.列出只选修一门课程的学生的学号、姓名、院系及成绩; 9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; 10.只选修?数据库?和?数据结构?两门课程的学生的基本信息;

11.至少选修?数据库?或?数据结构?课程的学生的基本信息; 12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; 13.查询只被一名学生选修的课程的课程号、课程名; 14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名; 15.使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名; 16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和 院系; 17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; 18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息; 19.使用集合查询列出CS系的学生以及性别为女的学生名单; 20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集; 21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集; 22.思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库数 据结构数学); 六、出现问题及解决办法 如:某些查询操作无法执行,如何解决? 1、查询以‘DB_’开头,且倒数第三个字符为‘s’的课程的详细情况 select * from course where cname like 'DB\_%s__' 2、查询名字中第二个字为“阳”的学生姓名和学号及选修的课程号、课程名 select student.sno ,student.sname ,https://www.wendangku.net/doc/cf2761104.html,o,cname from student,course,sc where sname like '_阳%'and student.sno=sc.sno and https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o 3、列出选修了‘数学’或‘大学英语’的学生学号、姓名、 select student.sno,sname,sdept,https://www.wendangku.net/doc/cf2761104.html,o,cname,grade from student,sc,course where student.sno=sc.sno and https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o and sc.sno in(select sc.sno from sc,course where (cname='大学英语'or cname='数学')and https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o group by sc.sno) select student.sno,sname,sdept,cno,grade from student,sc where Cno in (select Cno from course where cname='数学'or cname='大学英语')and sc.sno=student.sno 4、查询缺少成绩的所有学生的详细情况; select * from student,sc where Grade is null and student.sno=sc.sno 5、查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; select * from student where sage <>(select sage from student where sname='张力') 6、查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩 select student.sno,sname,平均成绩=A VG(grade) from student ,sc

数据库原理 实验2解答

(1)查询性别为“男”的所有学生的名称并按学号升序排列。 SELECT Sname FROM Students WHERE Ssex='男' ORDER BY Sno (2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。积分的计算公式为:[1+(考试成绩-60)*0.1]*Ccredit。考试成绩>=60 否则=0 SELECT Sno, Tno, https://www.wendangku.net/doc/cf2761104.html,o, Score, 'Point of Score', CONVERT(FLOAT(1), (Score-60)*0.1*Ccredit+Ccredit) FROM Courses, Reports WHERE Score>=60 AND https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o UNION SELECT Sno, Tno, https://www.wendangku.net/doc/cf2761104.html,o, Score, 'Point of Score', 0 FROM Courses, Reports WHERE https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o AND (Score < 60 OR Score IS NULL) (3)查询学分是3或4的课程的名称。 SELECT Cname FROM Courses WHERE Ccredit IN('3','4') (4)查询所有课程名称中含有“算法”的课程编号。 SELECT Cname FROM Courses WHERE Cname LIKE '%算法%' /*查询得到算法分析与设计、数据结构与算法分析*/ (5)查询所有选课记录的课程号(不重复显示)。 SELECT DISTINCT Cno FROM Reports (6)统计所有老师的平均工资。 SELECT A VG(Tsalary) FROM Teachers (7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。 SELECT Tno,A VG(Score) FROM Reports GROUP BY Tno ORDER BY A VG(Score) DESC (8)统计各个课程的选课人数和平均成绩。

数据库原理实验1

实验一数据库与数据表定义 1 实验目的与要求 (1)掌握数据库的建立、删除和修改操作。 (2)理解基本表之间的关系,掌握表结构的建立、修改和删除操作,创建模式导航图。 2 实验内容与结果 实验内容: (1) 创建一个BookDB数据库,要求至少一个数据文件和一个日志文件。 (2) 创建图书管理相关4张关系表,表结构如图3-1至图3-4所示。 图3-1图书分类表BookClass 图3-2 图书表Book 图3-3读者表Reader

图3-4 借阅表Borrow (3) 表结构的修改,要求: ①修改图书表结构,要求出版社名称和入库时间不允许为空。 ②修改读者表结构,要求读者身份证号不允许为空。 实验结果如下: 创建数据库: CREATE DATABASE BookDB48 ON PRIMARY (NAME='BookDB', FILENAME='C:\数据库文件\BookDB48.mdf', SIZE=3, MAXSIZE=20, FILEGROWTH=1 ) LOG ON ( NAME='BookDB_LOG', FILENAME='C:\数据库文件\BookDB48_log.ldf', SIZE=3, MAXSIZE=20, FILEGROWTH=1) 脚本如下:(创建的四个表) CREATE TABLE BookClass48( classNo char(3)NOT NULL,--图书分类号 className varchar(20)NOT NULL,--图书分类名称 CONSTRAINT BookClass48PK PRIMARY KEY(classNo) ) CREATE TABLE Book48( bookNo char(10)NOT NULL,--图书编号 classNo char(3)NOT NULL,--图书分类号 bookName varchar(40)NOT NULL,--图书名称 authorName varchar(8)NOT NULL,--作者名字 publishingName varchar(20)NULL,--出版社名称 publishingNo char(17)NULL,--出版社编号 publishingDate datetime NULL,--出版社日期 price numeric(7,2)NULL,--单价 shopDate datetime NULL,--入库时间 shopNum datetime NULL,--入库数量 CONSTRAINT Book48PK PRIMARY KEY(bookNo), CONSTRAINT Book48FK FOREIGN KEY(classNo)REFERENCES BookClass48(classNo) )

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

《数据库理论与应用》实验指导 18大数据1班 学号姓名专业、班 实验地点指导教师实验时间2020/5/6 一、实验目的及要求 熟悉通过SQL语言对数据库进行完整性控制操作,包括3类完整性、check短语、constraint 子句、触发器。因为完整性约束绝大部分是在定义表结构的时候完成的,因此可能需要多次定义表,如果表名发生重复,可以先将旧表删除再重建。 二、实验设平台 利用实验1所安装的RDBMS及其交互查询工具来操作SQL语言 三、实验内容和要求 1.实体完整性-- 定义表的主码 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。定义主码的方法分为定义为列级约束条件和定义为表级约束条件。 1)定义表student,并将其中的sno属性定义为主码。Student表由(SNO,SNAME,SSEX,SAGE,SDEPT)等列组成,各列的类型分别是(CHAR(7), CHAR(8),CHAR(2),SMALLINT,CHAR(20))。 2)定义表course,并将其中的cno属性定义为主码。course表由(CNO,CNAME)等列组成,各列的类型分别是(CHAR(7), CHAR(8))。 3)定义表SC,并将其中的属性sno,cno定义为主码

2.参照完整性 关系模型的参照完整性在CREATE TABLE中用FOREIGN KEY定义,并用REFERENCES来指明外码参照的是哪些表的主码。 1)定义表sc,其中sno参照表student的主码sno, cno参照表course的主码cno. Sc表有(SNO,CNO,GRADE)等属性,类型分别是(CHAR(7),CHAR(7),SMALLINT). 3. 用户定义完整性 用户定义属性上的约束条件 1)列值非空。在定义sc表时,sno,cno和grade属性都不允许取空值 2)列值唯一。建立部门表DEPT,要求部门名称Dname取值唯一,部门编号Deptno属性为主码 DEPT表有(DEPTNO, DNAME, LOCATION)三个属性。 3)CHECK短语指定列值应该满足的条件。定义表student,属性ssex的值只允许取“男” 或“女”;定义表sc,属性GRADE的值在0~100之间 Student表和sc表的其他信息参加上面的例子

数据库原理实验作业第2题2015答案

作业2 1、统计各系人数(3) select sdept,count(*) as num from student group by sdept 2、统计各系男女生人数(6) select sdept,ssex,count(*) as num from student group by sdept,ssex 3、统计各门课程选修的人数(7) select cname,count(*) as num from course,sc where https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o group by cname 4、统计各门课程男女生选修的人数(14) select cname,ssex,count(*) as num from all_data group by cname,ssex 5、统计各系各门课程选修的人数(21) select sdept,cname,count(*) as num from all_data group by sdept,cname 6、统计课程不及格人次数(7) select cname,count(*) as num from course,sc where https://www.wendangku.net/doc/cf2761104.html,o=https://www.wendangku.net/doc/cf2761104.html,o and grade<60 group by cname 7、统计各系课程都及格人数(3) select sdept,count(*) from student where not exists ( select * from sc where sc.sno=student.sno and grade<60) group by sdept 8、统计各系课程成绩在55分以下的人次数(3) select sdept,count(*) as num from all_data where grade<55 group by sdept 9、统计各系各门课程成绩在55分以下的人次数(21) select sdept,cname,count(*) as num from all_data where grade<55 group by sdept,cname

数据库原理实验三

实验三、数据库的简单查询和连接查询实验 班级:学号:姓名:日期:12月18日1. 实验目的 了解SQL Server 查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。掌握表的数据简单查询、数据排序和数据联结查询的SQL 表达和查询分析操作方法。 2. 实验内容 1)简单查询实验 用SQL表达简单查询操作,包括投影、选择条件表达、数据排序和使用临时表等,通过SQL Server查询分析器输入,并显示正确结果。 2)连接查询实验 用SQL表达连接查询操作,包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等,通过SQL Server查询分析器输入,并显示正确结果。 3. 实验要求 1)简单查询实验 在学生选课库中,用Transact-SQL语句表示下列操作,并通过查询分析器实现其数据查询操作: 1、求数学系学生的学号和姓名。 2、求选修了课程的学生学号。 3、求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 4、求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。 5、求数学系或计算机系姓张的学生的信息。 6、求缺少了成绩的学生的学号和课程号。 2)连接查询实验 在学生选课库中,用Transact-SQL语句表示下列数据连接查询操作,并在查询

分析器中实验。 1、查询每个学生的情况以及他(她)所选修的课程。 2、求学生的学号、姓名、选修的课程名及成绩。 3、求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。 4、查询每一门课的间接先行课(即先行课的先行课)。 4. 实验步骤及结果: (1)简单查询实验 1)求数学系学生的学号和姓名。 T-SQL语句:SELECT 学号,姓名FROM 学生 WHERE 所在系='数学' 查询结果: 图1 运行界面图(1) 2)求选修了课程的学生学号。 T-SQL语句:SELECT DISTINCT 学号FROM 选课查询结果:

相关文档