实验一数据库服务器管理和数据库高级管理【实验目的与要求】
1.掌握SQL Server2008的安装方法;
2.掌握数据库服务器的配置和各种服务管理方法;
3.了解关系数据库的组成和创建、修改、缩小、扩大方法;
4.掌握数据库的联机、脱机方法;
5.掌握数据库的分离和附加方法;
6.掌握数据库收缩的方法;
7.掌握数据库快照的创建方法。
【实验内容】
1.自行在自己电脑上安装合适的SQL Server2008;
2.注册服务器并进行配置;
3.使用多种方法启动和停止SQL Server服务;
4.分别使用SSMS和SQL语句创建一个数据库;
5.分别使用SSMS和SQL语句修改数据库名称;
6.利用存储过程、函数等方法查看数据库信息;
7.分别使用SSMS和SQL语句向数据库中新增文件组和文件;
8.使用多种方法扩大数据库;
9. 分别使用SSMS和SQL语句修改数据库状态;
7. 分别使用SSMS和命令方式分离和附加数据库;
8.分别收缩数据库和数据库文件;
9.创建数据库快照。
【实验设备与环境】
1.计算机一台;
2.Windows XP操作系统;
3.SQL Server2008标准版。
实验二基本表高级管理及查询
【实验目的与要求】
1.了解SQL Server2008中基本表的类型;
2. 掌握特殊数据类型的使用方法;
3. 掌握约束的禁用和启用方法;
4.掌握数据表名和字段名的修改方法;
5.掌握数据表的查看方法;
6.掌握分区表的创建和使用方法;
7.熟练掌握SQL语句特殊子句top、with cube等的用法;
8.掌握PIVOT和UNPIVOT的用法;
9.掌握数据导入导出方法。
【实验内容】
1. 在数据库中使用SSMS创建基本表;
2.使用SQL语句创建一个基本表,使用标识列,实验自行输入标识列值和自动输入标识列值;
3.创建各种表约束DEFAULT、UNIQUE等,体会约束的作用;
4.禁用约束后实验约束是否失效,然后启用约束在此体验约束是否生效;
5.使用增强功能一次录入多条记录;
6. 使用系统存储过程修改表名和字段名;
7. 利用目录视图查看表信息和字段信息;
8. 创建分区表;
9. 使用SQL语句查询基本表的前10条记录;
10.实验with cube、with rollup、compute子句的用法;
11.将基本表导出为txt文件;
12.将txt文件导入为基本表;
13.使用pivot横向显示学生各科成绩。
【实验设备与环境】
1.计算机一台;
2.Windows XP操作系统;
3.SQL Server2008标准版。
实验三函数
【实验目的与要求】
1.了解SQL Server2008中系统函数的分类;
2. 掌握系统函数的使用方法;
3. 掌握自定义函数的创建和使用方法;
4.掌握函数的查看方法;
5.了解merge的用法。
【实验内容】
1. 基于实验2创建的表,使用系统函数查询数据(例如:查询学号的前四位)
2.查询当前日期、当前月份;
3.创建多语句表值函数(例如:查询某年级学生的学号、姓名和所属系);
4.创建内联表值函数(例如:查询某年级学生的学号、姓名和所属系);
5.创建标量函数(例如:查询某学生某门课的成绩);
6. 查看已创建的函数的函数定义;
7. 查看已创建函数的创建时间;
8. 练习merge的用法(例如:创建一个student,在创建一个相同结构的studentbak,在两个表中输入不同数据,然后利用merge使studentbak表中的数
据与student表中的匹配数据相同)。
【实验设备与环境】
1.计算机一台;
2.Windows XP操作系统;
3.SQL Server2008标准版。
实验四存储过程与DDL触发器
【实验目的与要求】
1.掌握常用系统存储过程的用法;
2.掌握带有OUTPUT参数和默认值的存储过程的创建使用方法;
3.掌握利用触发器发送邮件的方法。
4.了解DDL触发器的概念和作用;
5.掌握DDL触发器的创建方法;
6.掌握触发器的启用和禁用方法;
7.掌握触发器的一些使用技巧。
【实验内容】
1.建立一个存储过程实现查询某门课程最高成绩的功能,其中成绩以参数形式返回,如果不指定课程名称,则返回所有课程的最高成绩。
2.创建一个加密存储过程,实现查询某系学生信息功能。
3.定义一个DML触发器,实现功能:当修改成绩表的成绩列的时候,向指定人员发送提醒邮件。
4.查看建立的存储过程和触发器的信息。
5.建立一个DDL触发器,用于保护数据库中的数据表不被修改、删除;
6.建立一个DDL触发器,用于保护当前SQL Server服务器里的所有数据库不被删除;
7.建立一个DDL触发器,用于记录数据库修改状态;
8.定义一个DML触发器,当表发生更改,将向指定人员发送电子邮件;
9.禁用所有基于数据库的触发器;
10.禁用在服务器范围内创建的所有DDL触发器;
11.查看已创建触发器的定义和信息。
【实验设备与环境】
1.计算机一台;
2.Windows XP操作系统;
3.SQL Server2008标准版。
实验五架构、索引和视图
【实验目的与要求】
1.了解架构,掌握架构的创建和删除方法,掌握对象在架构之间如何转移;2.了解索引视图和分区视图,掌握它们的创建方法,学会使用它们来更好地管理数据库;
3.了解各种索引的特点和作用包括唯一性索引、XML索引、包含性列索引等,掌握使用SQL语句创建和删除各种索引;
【实验内容】
1.创建架构;
2.在架构中定义基本表;
3.将架构中的基本表转移到dbo架构;
4.删除创建的架构;
5.创建索引视图并管理之;
6.创建分区视图;
7.创建加密视图;
8.查看创建的视图的定义及其他信息;
9.创建唯一性索引;
10.创建XML索引;
11.创建包含性列索引;
12.重新生成创建的索引;
13.禁用索引并重新启用;
14.查看创建的索引。
【实验设备与环境】
1.计算机一台;
2.Windows XP、win7操作系统;
3.SQL Server2008标准版。
实验六安全管理和备份
【实验目的与要求】
1. 了解SQL Server的两种身份验证模式;
2. 学会管理登录账户和数据库用户;
3. 了解SQL Server的密码策略;
4. 了解角色,掌握角色的管理和授权;
5. 了解数据库的恢复模型,掌握数据备份和恢复的方法。
【实验内容】
1.创建登录账户并设置密码,分配相应权限并验证;2.修改登录用户密码;
3.修改数据库用户的默认模式;
4.创建应用程序角色并授权;
5.授权用户具有control权限并验证;
6.授权用户具有在指定架构中插入对象的权限;
7.创建备份设备并执行完整备份、差异备份和日志备份;8.设置大容量日志恢复模式;
9.按时间点还原数据。
【实验设备与环境】
1.计算机一台;
2.Windows XP、win7操作系统;
3.SQL Server2008标准版。
南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级:14软工5班 学号:14551204 14551206 姓名:花元凯罗文波 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主要版本类别与主要功能特性。 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。目前最新版本是SQL SERVER 2014。 1,SQL Server 2005学习版当保护和管理应用系统内外部的信息变得至关重要时,通过提供一套免费、易于使用和健壮的数据库,学习版帮助开发人员建立强健的和可靠的应用系统。
学生实验报告册 (理工类) 课程名称:大型数据库技术专业班级:12计算机科学与技术(1)学生学号:学生姓名: 所属院部:计算机工程学院指导教师:陈爱萍
2014——20 15学年第2 学期 金陵科技学院教务处制
实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:Oracle数据库安装与配置实验学时: 1 同组学生姓名:实验地点:1316 实验日期:2015/3/27 实验成绩: 批改教师:陈爱萍批改时间:
实验1:Oracle数据库安装与配置 一、实验目的和要求 (1)掌握Oracle数据库服务器的安装与配置。 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。 (6)解决Oracle数据库服务器安装过程中出现的问题。 二、实验设备、环境 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版 三、实验步骤 (1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。
华中科技大学 《数据库技术与应用》实验报告专业班级:学生姓名:学号: 实验地点:指导教师: 实验日期时间: 一、实验项目名称:数据查询 二、实验学时: 三、实验目的: 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 四、实验工具或环境 一台装有SQL sever2008的计算机五、实验内容、步骤、代码和结果: 0. 创建studentsdb数据库及其相应表,并录入数据。 在SQL Server管理平台上,点击“新建查询”打开查询编辑器窗口,复制粘贴附件“创建数据库代码”中的代码到查询编辑器窗口,运行即可生成相关数据库和表,并有相应的数据。 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly') (4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85
(6)SELECT 2,3,POWER(2,3) 选做 (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 (2)查询学号为0002的学生的姓名和家庭住址。 select姓名,家庭住址from student_info where学号 ='0002' (3)找出所有男同学的学号和姓名。 select姓名,家庭住址from student_info where性别='男' 3.使用SELECT语句进行条件查询 (1)在grade表中查找分数在80~90分为内的学生的学号和分数。 select学号,分数from grade where分数>='80'and分数<='90' (2)在grade表中查询课程编号为0003的学生的平均分。 select AVG(分数)as平均分from grade where课程编号='0003'
淮海工学院计算机科学系 大型数据库实验指导书 计算机网络教研室
实验1安装配置与基本操作 实验目的 1. 掌握Oracle9i服务器和客户端软件的安装配置方法。 2. 掌握Oracle9i数据库的登录、启动和关闭。 实验环境 局域网,windows 2000 实验学时 2学时,必做实验。 实验内容 1. 在局域网环境下安装配置Oracle9i服务器和客户端软件。 2. 练习Oracle9i数据库的登录、启动和关闭等基本操作。 实验步骤 1、将Oracle 9i的第1号安装盘放入光驱,双击setup,将弹出“Oracle Universal Installer:欢迎使用”对话框。 2、单击“下一步”按钮,出现“Oracle Universal Installer:文件定位”对话框。 在路径中输入“E:\Oracle\ora92”,其它取默认值。 3、启动第1号盘的安装程序setup,具体方法同安装Oracle 9i服务器,不同的是在 选择安装产品时选择“Oracle9i Client 9.2.0.1.0”选项; 4、安装结束后,弹出“Oracle Net Configuration Assistant:欢迎使用”对话框。取 默认值。 5、登录Oracle9i数据库:选择“开始”→“所有程序”→Oracle-OraHome92→Enterprise Manager Console ; 6、系统出现“登录”对话框。选择“独立启动”。 分析与思考 (1)简述启动Oracle9i数据库的一般步骤。 (2)简述启动Oracle9i模式中三个选项的区别? (3)简述关闭Oracle9i模式中四个选项的区别?
南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 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主要版本类别与主要功能特性。
黑龙江大学 “数据库系统原理课程设计”总结报告 学院软件学院 年级2014级 专业软件工程 学号20143983 姓名陆芝浩 报告日期2016.11.9 成绩 黑龙江大学软件学院
1、开发环境 操作系统:Windows7 编程语言环境:VC++6.0 2、DBMS系统架构 3、DBMS主要功能模块 1、实现SQL语句中的Create Table建表语句,建立相应的数据库表,并生成相应的数据字典文件和数据文件。 2、实现alter table表模式的修改功能: ①能够为已建立的表添加属性。 ②能够从已建立的表中删除属性。
3、实现drop table删除表功能。 4、实现create index创建索引的功能。 5、实现drop index删除索引的功能。 6、实现insert可以向已经创建的表插入元组。 7、实现delete从已经创建的表中删除元组。 8、实现update修改表中的数据。 9、实现SELECT语句,包括: 实现单表全属性查询。 实现单表单属性查询。 实现多表的连接全属性查询。 实现多表的连接和选择条件的全属性查询。 实现多表的连接的单属性查询。 实现多表的连接和选择的单属性查询。 实现单表的选择的单属性查询。 实现单表的选择的全属性查询。 10、利用启发式关系代数优化算法进行查询优化。 11、建立访问权限,根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制。 3.1 SQL语言的词法和语法分析 (1)功能介绍 通过编译原理的知识对输入的SQL语句进行词法分析,将SQL语句拆分为若干个单词,对其进行语法分析,确定输入的SQL语句的含义. (2)相关理论 利用编译原理的相关知识,对输入的SQL语句进行模仿SQL语言的词法及语法结构的分析。
数据库原理实验报告 实验三数据查询 班级:××× 姓名:××× 学号:××× 数据查询 一、[实验目的] 1.掌握SQL的单表查询操作
2.掌握SQL的连接查询操作 3.掌握SQL的嵌套查询操作 4.掌握SQL的集合查询操作 二、[实验内容] 本实验的主要内容是: 1.简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。 2.连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。 3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 4.组合查询与统计查询。 (1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。 (2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 (3)组合查询实验。 (4)计算和分组计算查询的实验。 三、[实验方法] 1.将查询需求用Transact-SQL语言表示。 2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。 3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。 4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。 5 查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。 图5- 错误!未定义书签。SQL Server 2000查询分析器 查询分析器的界面如图5- 错误!未定义书签。所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查
武汉轻工大学 经济与管理学院实验报告 实验课程名称大型数据库管理 实验起止日期2019.11.5至2019.12.10 实验指导教师程红莉 实验学生姓名学生班级学号物流管理1702 实 验 评 语 实验 评分 教师 签名 年月日
实验项目名称数据完整性实验日期2019.12.10 学生姓名班级学号物流管理1702 一、预习报告(请阐述本次实验的目的及意义) 1.熟悉通过SQL对数据进行完整性控制。 2.完成书本上习题的上机练习。 二、实验方案(请说明本次实验的步骤和进程) 1.用Constraint和Check建立完整性约束条件 教材164页例[7] Student表的ssex 只允许取‘男’或‘女’ create table student1 (sno char(9) primary key, sname char(8) not null, sex char(2) check(sex in('男','女')), sage smallint, sdept char(20) ); 教材164页例[8] create table sc1 (sno char(9), cno char(4), grade smallint check(grade>=0 and grade<=100), primary key(sno,cno), foreign key(sno)references student1(sno), foreign key(cno)references course(cno) ); 教材164页例[7]、例[8](给学生表的性别增加约束条件,即只允许“男”或“女”。可用语句: alter table student add constraint course1 check(sex in('男','女')) alter table sc add constraint course2 check (score>=0 and score<=100) go
一、实验目的: 通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]... FROM<表名或视图名〉[,<表名或视图名〉]... [WHERE<条件表达式>] [GROUP BY<列名1〉[HA VING<条件表达式>]] [ORDERBY<列名2〉[ASC|DESC]] 三、实验内容和方法 实验用的数据库:用实验二建立的数据库:School 1. 投影查询 (1) 查询SC表的sno的不重复记录。 使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示: (2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。 使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:
(3) 查询STUDENT表的前3条记录(top 3)。 使用SQL语句:“select top 3 * from Student”,得出结果如下图所示: 3. 选择查询 (1) 查询成绩在60-80之间的姓名、系名和成绩。 使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示: 若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示: (2) 查询信息系和计算机系的姓名和成绩。 使用SQL语句:“select Sname,Grade from Student,SC where Sdept='IS' and Student.Sno=SC.Sno or Sdept='CS' and Student.Sno=SC.Sno”,结果如下图所示:
大型数据库第三次实验
————————————————————————————————作者: ————————————————————————————————日期:
南京邮电大学计算机学院 《大型数据库技术》 实验三:MySQL数据库进阶开发 姓名:??班级:??学号: 年月日星期 说明:斜体需要输出的部分。 1MySQL的存储过程和函数 1.1创建企业销售系统的数据库,命名为salesdb 1.2创建一张商品销售表,命名为salerecords,包括如下字段:商品ID,商品名称, 销售单价,销售数量。 以上不需要截图。 1.3创建一个存储过程,名称自订,通过输入商品ID,商品名称,销售单价,销售数量 往表中插入一条记录。 输出截图:(包括存储过程定义,调用三次存储过程,以及表的查询结果) 1.4创建一个存储过程,名称自订,通过输入商品名称往表中插入100条记录。其中,
所插入第一条记录的商品ID由现有表中商品ID的最大值+1构成,后续记录中商品ID依次递增1。所插入第一条记录的商品价格与现有表中商品价格的最小值相同,后续记录的商品价格依次递增1。商品销售数量随机生成。 输出截图:(包括存储过程定义,表中前10条查询结果) 1.5创建一个存储过程,名称自定,通过输入商品ID的最小值,最大值,将表中商品ID 处于(最小值,最大值)范围内,且为偶数的记录删除,包括最小值与最大值本身。 此处不考虑商品ID不存在的情况,在实验时请选择1.4中创建的商品ID范围的子集。 输出截图:
1.6创建两个事件调度器,第一个每3秒往1.2的表中插入一条记录,第二个每30秒清空1.2 的表中的所有记录。 输出截图:(只需要截取两个事件调度器的定义,以及在三个不同时刻查询表中记录count (*)的结果。)
数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号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查询分析器的使用方法,加深对SQL 和Transact-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法;嵌套查询语句;熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 实验要求: 1、简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等; 2、连接查询操作; 3、嵌套查询。在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS 操作符进行嵌套查询操作; 4、分组查询实验。包括分组条件表达、选择组条件的表达方法; 5、使用函数查询。包括统计函数和分组统计函数的使用方法; 6、组合查询实验; 二、实验方案 将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;设置查询分析器的结果区为标准执行或网格执行方式;发布执行命令,并在结果区中查看结果; 三、实验结果和数据处理 1、学生选课库的各个表截图: (1)学生表
(2)课程表 (3)选课表 2、图书-读者库的各个表截图(1)图书表
(2)读者表 (3)借阅表 实验步骤: 1、简单查询: l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。 select 学号,姓名 from 学生 where 所在系='数学';
结果: ②求选修了课程的学生学号。 select distinct 学号 from 选课 结果: ③求选修A1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 select 学号,成绩 from 选课 where 课程号='A1' order by 成绩 desc,学号 asc 结果: ④获选修课程A1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。select 学号,成绩*0.8 from 选课 where 课程号='A1' and 成绩 between 80 and 90 结果: ⑤求数学系或计算机系姓张的学生的信息。 select * from 学生 where 所在系 in ('数学','计算机') and 姓名 like '张%'; 结果; ⑥求缺少了成绩的学生的学号和课程号。(本库中没有学生没有成绩) select 学号,课程号 from 选课 where 成绩 is null
实验一SQL Server 2005数据库服务器界面使用及数据库原理知 识的应用 1.实验目的 (1)通过使用SQL Server 2005的控制界面感受SQL Server 2005。 (2)熟悉SQL Server 2005所需的软、硬件要求。 (3)熟悉SQL Server 2005支持的身份验证种类。 (4)掌握SQL Server 2005服务的几种启动方法。 (5)掌握SQL Server Management Studio的常规使用。 (6)掌握关系数据库的逻辑设计方法——E-R图。 2.实验准备 (1)了解SQL Server Management Studio的常规使用。 (2)了解SQL Server 2005所需的软、硬件要求。 (3)了解SQL Server 2005支持的身份验证种类。 (4)了解SQL Server 2005服务的几种启动方法。 (5)了解关系数据库的逻辑设计方法——E-R图。 3.实验内容 (1)分别使用“Windows身份验证模式”和“SQL Server和Windows身份验证模式”登录SQL Server 2005集成控制台。 (2)利用SQL Server Configuration Manager配置SQL Server 2005服务器。 (3)利用SQL Server 2005创建的默认帐户,通过注册服务器向导首次注册服务器。 (4)试着创建一些由SQL Server 2005验证的账户,删除第一次注册的服务器后用新建的账户来注册服务器。 (5)为某一个数据库服务器指定服务器别名,然后通过服务器别名注册该数据库服务器。 (6)熟悉和学习使用SQL Server Management Studio。 (7)设计E-R图。参照书上19页的优化模式,要求注明实体的主码、联系的类型和主码。
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中的字段说明创建。
中南大学大型数据库实验报告 课程名称大型数据库技术指导教师 姓名 学号 专业班级
《大型数据库技术》实验三 1.写一个PROC程序,查询并显示表Agents的所有记录。要求定义一个数组类型的宿主变量,一次性把所有记录从服务器端传送到客户端,然后逐行显示。 Java代码如下: public void selectAgents() throws Exception { Connection conn = this.getConnection(); Statement stmnt = conn.createStatement(); ResultSet set = stmnt.executeQuery("select * from Agents"); System.out.println("查询结果如下:\n"); while (set.next()) { String id = set.getString("AID"); String name = set.getString("ANAME"); String city = set.getString("CITY"); int percent = set.getInt("PERCENT"); System.out.println("aid:"+ id + " aname:"+ name + " city:" + city + " percent:" + percent); } set.close(); stmnt.close(); conn.close(); } 测试代码: public static void main(String[] args) throws Exception { String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "jelly"; String pwd = "csusoft"; DBOpers db = new DBOpers(url, user, pwd); db.selectAgents(); } 测试结果: 2.写一个PROC程序,根据用户输入的城市,查询并逐行显示该城市所有顾客的编号、名称和折扣。如果该城市中不存在任何顾客,则调用一个错误处理函数,函数中显示错误信息:“该城市中不存在顾客”。 Java代码如下:
数据库实验四:S Q L数 据查询
数据库实验四:SQL数据查询 一、实验目的与要求: 1.实验目的 熟练掌握SQL SELECT语句,能运用查询语句完成各种查询。 实验内容: 在实验三和实验四的基础上完成查询操作,将题目中的x, y等具体化: 1、一般简单查询 (1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。 (2)查询某个表中的所有记录。 (3)使用单个条件的简单查询。 (4)使用多个条件(AND关系)的查询。 (5)使用多个条件(OR关系)的查询。 (6)使用多个条件(混合AND和OR关系)的查询。 (7)使用带NOT运算的查询。 (8)使用BETWEEN···AND···的查询。 (9)使用NOT···BETWEEN···AND···的查询。 (10)使用LIKE运算符的字符串匹配查询。 (11)使用LIKE运算符的模板匹配查询。 (12)查询空值和非空值的查询 (13)结果要求排序的查询 (14)查询结果按多列排序,并分别要求升序和降序的查询。 (15)使用TOP显示前若干记录的查询。 (16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示。 2、连接查询 (17)两个关系的连接查询。 (18)带其他查询条件的两个关系的连接查询。 (19)多个关系(三个以上)的连接查询。 (20)两个关系的广义笛卡尔积运算结果。 (21)根据两个关系的广义笛卡尔积运算结果得到两个关系进行自然连接的结果。 (22)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段。 (23)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中列出所有教师信息(即包括不 是任何课程责任教师的教师信息)。 (24)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中能够反映目前没有确定责任教 师的课程信息。 (25)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师
实验三数据库的查询和视图 T4.1 数据库的查询 1、目的和要求 (1)掌握SELECT语句的基本语法。 (2)掌握子查询的表示。 (3)掌握连接查询的表示。 (4)掌握SELECT语句的GROUP BY子句的作用和使用方法。 (5)掌握SELECT语句的ORDER BY子句的作用和使用方法。 2、实验准备 (1)了解SELECT语句的基本语法格式。 (2)了解SELECT语句的执行方法。 (3)了解子查询的表示方法。 (4)了解连接查询的表示。 (5)了解SELECT语句的GROUP BY子句的作用和使用方法。 (6)了解SELECT语句的ORDER BY子句的作用。 3、实验内容 (1)SELECT语句的基本使用。 ①对于实验二给出的数据库表结构,查询每个雇员的所有数据。 新建一个查询,在“查询分析器”窗口中输入如下语句并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 【思考与练习】 用SELECT语句查询Departments表和Salary表中所有信息。
新建一个查询,在“查询分析器”窗口中输入如下语句并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 在“消息”中会发现总共有60行受影响。 ② 用SECECT语句查询Employees表中每个雇员的地址和电话号码。 新建一个查询,在“查询分析器”窗口中输入如下代码并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 在“消息”中会发现有12行记录受影响 【思考与练习】 A、用SELECT语句查询Departments表和Salary表的一列或若干行。
利用SELECT语句查询Departments表和Salary表中EmployeeID为000001的记录,在“查询分析器”中输入以下代码。 执行后在下方会出现所有EmployeeID=000001的记录 B、查询Employees表中部门号和性别,要求使用DISTINCT消除重复行。 对表只选择某些行时,可能会出现重复行。此时就需要使用DISTINCT关键字消除结果中的重复行。此时使用DISTINCT消除在Employees中查询到的部门号和性别的重复行,具体代码如下。 上面代码分别是使用了DISTINCT和没有使用DISTINCT关键字,下面就是两种的结果的对比。 可以从上面的执行结果中看出使用了DISTINCT关键字,结果集中的重复行就被消除了。 ③查询EmployeeID为000001的雇员的地址和电话。
实验内容、步骤以及结果 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-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存
D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二
数据库实验04 查询 1)调出上个实验创建的三个表。方法:附加XSKC数据库或运行创建3个表的SQL语句。2)用SQL增加数据语句输入四个表中数据。其中学生表不得少于10个,课程注册表不得少于8个,学期成绩表不得少于30个。注意:输入数据时应先输入主表数据,再输入有外键的数据;同时注意各表已经定义约束条件。 学生表: 课程注册表: 学期成绩表:
3)设计查询语句并在查询编辑器中进行查询。 ①求选修了某门课程的学生姓名。 ②查询某个学生所选修的课程的课程号,课程名称以及成绩。
③查询参与了所有课程选修的学生姓名和学生所在的系别。 该条查询结果为空:④查询没有选修任何一个课程的学生姓名和所在系别。 ⑤查询课程没有学生选修的课程名称。
该条查询结果为空: ⑥查询选修了某个老师的所有课程的学号、姓名和所在系别。 ⑦列出每门课程的平均分、最高分、最低分。 ⑧对所有学生求出所选修课程的最高分、平均分。
⑨对某老师的授课的某课程的分数都增加5分。 查询操作续: 1、查询全体学生的学号、姓名、性别和年龄。 2、查询某专业且某班级的学生,列出学号、性别和出生日期。 由于所插入的表中没有写入班别信息,为显示结果,在此忽略班级限制,
3、查询姓“陈”的学生的学号、姓名和系别。 4、查询姓“陈”的且全名为两个字的学生的学号、姓名和系别。 5、查询查询姓“陈或姓“李”或姓“张”学生的学号、姓名和系别。 6、列出某课程编号的成绩在前三名的学生的学号、成绩。(如果第三名有多个学生都列出)。 7、统计各个系别的学生人数。 8、统计各门课程的平均分、最高分、最低分,结果集按平均分降序排列。