《数据库系统》实验
实验一数据表的建立与简单查询
一、实验目的
1.熟悉SQL的数据定义语言,能够熟练使用SQL语句来创建和更改基本表,创建和取消索引;
2.熟悉SQL语句的数据查询语言,能够使用SQL语句对数据库进行单表查询。
二、实验内容
数据定义:
1.创建关系数据库S_T,在数据库中存在四张表格,分别为:
学生表students(sno,sname,email,grade);其中
Sno:char(10),主码;
Sname:char(8),
Email:char(30),
Grade:smallint;
教师表Teachers(Tno,Tname,email,salary);
Tno:CHAR(8) ,主码;
Tname:char(8) 非空约束,
Email:char(30),
Salary:real 且Salary>=1500;
课程表Courses(Cno,Cname,Chour),
Cno:char(8),且cno具有非空约束;
cname:char(10),
Chour:tinyint;
课程表STC(Sno,Tno,Cno,score);STC表中的Sno,Cno是外码;
Sno:char(10),
Cno:CHAR(8),
Tno:CHAR(8),
Score:int,
Sno和cno共同做主码。
完成以下要求:
(1)两个表用对象资源管理创建,两个表用T-SQL语句创建,并将T-SQL语句代码保存(保存为*.SQL文件)。
(2)在创建表的过程中哪个表没有创建成功?根据提示分析哪个属性的什么约束没有创建成功?简述其原因及解决办法。
2.用T-SQL语句修改Students表,增加性别Ssex属性(类型CHAR,长度2),自定义约束为只能取“男”或“女”;
3.用T-SQL语句把STC表中的score改为smallint型;
4.用T-SQL语句在Students表的sname属性列上创建普通索引。
回答:到目前为止,students表有几个索引?指出这些索引是在哪些属性建的,分别是什么类型的索引?
数据查询:
请先输入四个表的具体信息,然后在此基础上完成下列查询:
课程表Courses
课程表
完成下列查询:
5. 查询年级为2005的所有学生的学号、姓名和年级;
6. 查询课时为64或48的课程名称和学时;
7. 查询所有课中含有“数”的课程号及课程名称;
8. 查询所有被选课程的课程号;
9. 查询没有参加考试的学生学号。
答案:
/*创建课程表*/
create table Courses
(Cno char(8) not null,
Cname char(10),
Chour tinyint
)
/*创建选课表*/
create table STC
(Sno char(10),
Cno char(8),
Tno char(8),
Score int,
primary key(Sno,Cno),
foreign key(Sno)references Students(Sno),
foreign key(Cno)references Courses(Cno)
)
/*5. 查询年级为2005的所有学生的学号、姓名和年级*/ SELECT *
FROM Students
WHERE Sno LIKE'2005%'
/*6. 查询课时为64或48的课程名称和学时*/ SELECT Cname AS '课程名称', Chour AS '学时'
FROM Courses
WHERE Chour='64' OR Chour='48'
/*7. 查询所有课中含有“数”的课程号及课程名称*/ SELECT Cno '课程号',Cname '课程名'
FROM Courses
WHERE Cname LIKE '%数%'
/*8. 查询所有被选课程的课程号*/
SELECT Cno '课程号',Cname '课程名'
FROM Courses
WHERE Cname LIKE '%数%'
SELECT Cno '未被选修课程'
FROM Courses
WHERE Cno NOT IN(SELECT https://www.doczj.com/doc/b81045775.html,o
FROM STC
/*9. 查询没有参加考试的学生学号*/ SELECT Sno '未参加考试学生学号' FROM STC
WHERE Score is null
实验一数据库及基本表的建立 一、实验目的 1、掌握SQL SERVER的查询分析器和企业管理器的使用; 2、掌握创建数据库和表的操作; 二、实验内容和要求 1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库; 2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表; 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp; 2.数据库管理系统:SQL sever 2005; 四、实验方法、步骤及结果测试 题目1、创建数据库“学生情况”: 实现代码及截图: SQL语句 Create database 学生情况 查询分析器执行情况 :SQL语句及执行结果截图显示 找到主数据文件和日志文件,观察大小,并给出截图。
题目2、将数据库“学生情况”改名为“student” SQL语句 EXEC sp_renamedb学生情况, student 查询分析器执行情况: SQL语句及执行结果截图显示 题目3、创建基本表 S表 含义字段名字段类型字段 宽度 说明学号Sno Char10主键,不允许为空姓名Sname char10不允许为空 性别Ssex char2取值为男或女
C表 Sc表: 创建各表的实现代码及截图:
查询分析器执行情况: SQL语句及执行结果截图显示
题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间 题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果
华中科技大学 《数据库技术与应用》实验报告专业班级:学生姓名:学号: 实验地点:指导教师: 实验日期时间: 一、实验项目名称:数据查询 二、实验学时: 三、实验目的: 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'
实验一数据库定义实验 一、实验目的 使用SQL Server Management Studio、T-SQL语句创建和管理数据库,学会使用SQL Server查询分析器接收 T-SQL语句和进行结果分析。使用T-SQL语句进行数据表的创建和删除,并对数据表和表中的数据进行有效有管理。 二、实验环境 实验室名称:11#208 软件环境:操作系统:windows 10;SQL 2008 硬件环境:安装内存(RAM):可用) 处理器:Intel(R) Core(TM) i5-5200U CPU @ 硬盘:250GB-SSD 500GB-HDD 三、实验内容 1.用SQL Server Management Studio创建、修改数据库 2.用T-SQL语句创建、修改数据库 3.用SQL Server Management Studio创建、修改数据表 4.用T-SQL语句创建、修改数据表
四、实验步骤及实验结果分析 (一)、创建、修改数据库 1.用SQL Server Management Studio创建步骤: (1)、单击“开始”菜单选择“所有程序”->Microsoft SQL Server 2008->SQL Server Management Studio (2)、单击“视图”->”对象资源管理器”->右击“数据库”->选择“新建 数据库”命令 (3)、在“数据库名称”文本框中输入新建数据库的名称,本例输入“JXGL” (4)、在“新建数据库”的对话框里设置“常规”、“选项”、“文件组” 2.用SQL Server Management Studio修改数据库步骤: (1)、在“对象资源管理器”窗口右击要修改大小的数据库,选择“属性”弹 出属性对话框 (2)、在属性对话框中的“常规”、“文件”、“文件组”、“选项”、“更改跟踪”、 “权限”、“扩展属性”、“镜像”、“事务日志传送”修改数据库的相关信息 3.用SQL Server Management Studio删除数据库 右击要删除的数据库,在弹出的菜单中选择删除命令在弹出的“删除对象” 的对话框中,单击“确定”按钮 4.用T-SQL语句创建数据库: (1)、打开SSMS窗口,并连接到服务器 (2)、依次选择“文件”->”新建”->“数据库引擎查询”命令或者单击标 准工具栏的“新建查询”按钮,创建一个查询输入窗口 (3)、在窗口中输入以下create database 语句:
实验一创建数据库和表 一、目的和要求 (1)熟练掌握创建、打开和关闭数据库的方法 (2)熟练掌握表结构的设计和修改方法 (3)掌握为字段设置字段属性的方法 (4)熟练掌握为表定义主键的方法 (5)熟练掌握建立表间关系 二、内容和主要步骤 1.创建空数据库 建立“选课系统.accdb”数据库,并将建好的数据库文件保存在“D:\实验一”文件夹中。操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“选课系统”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“D\实验一”文件夹中,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这个表1,如图1-3所示。
图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3 表1的数据表视图 2.数据库的打开 以独占方式打开“选课系统.accdb”数据库。操作步骤: (1)选择“文件”→“打开”,弹出“打开”对话框。 (2)在“打开”对话框的“查找范围”中选择“D:\实验一”文件夹,在文件列表中选“选课系统.accdb”,然后单击“打开”按钮右边的箭头,选择“以独占方式打开”。如图1-4所示。
实验一熟悉数据库管理系统环境 一、实验目的: 1.了解SQL Server2008的基本安装和配置。 2.掌握SQL Server2008常用工具的基本操作方法。 3.了解SQL SERVER2008数据库及其表对象的建立方法。 二、实验内容和主要步骤: 4.参照相关文档进行SQL Server 2008的安装和配置; 5.打开SQL Server 2008 SSMS工具,进行简单操作; 6.在SQL Server 2008 SSMS工具的目录树中展开数据库文件夹,新建一个test数据库, 然后展开test数据库图标,则列出数据库的所有对象; 7.选中test下的“表”图标,则列出数据库的所有表(里面是空的)。 8.利用SSMS建立如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立:(注 意主键、外键的建立,并输入数据体会实体完整性和参照完整性规则,部分列可以尝试用户定义的完整性规则) 表1 student (学生) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 sname 姓名Varchar 8 ssex 性别Char 2 sdept 系别Varchar 20 sage 年龄Int 整型 表2 course (课程) 字段名字段说明类型字段大小小数位数 cno 课程号Char 3 cname 课程名称Varchar 20 Credit 学分Numeric 1 Cpno 系别char 3 表3 sc (选修) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 cno 课程号Char 3 Grade 成绩numeric 1 9.向三个表中输入数据; 表5 Course表数据
实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。
实验1创建数据库及表的创建与管理 一、实验目的与要求 1、掌握使用T-SQL语句创建数据库、数据表和`数据表完整性约束的定义。 2、熟悉表的结构和列所使用的数据类型。 3、理解数据表完整性含义及其定义的方法。 二、实验平台 1、操作系统:Windows XP或Windows 2003 2、数据库管理系统:SQL Server 2005 三、实验内容 (一)数据库创建与管理 创建一个“教务管理系统”数据库,并将下列表创建在该数据库中(二)在“教务管理系统”数据库钟实现表的创建与完整性定义StudentInfo(学生信息表) TeacherInfo(教师信息表)
CourseInfo(课程信息表) StudentCourse(学生选课表)
Teaching(教学表) RankPayment(职称课酬表) 1、使用T-SQL语句创建以上数据表。同时定义主键约束:StudentInfo表主键Sno;TeacherInfo表主键Tno;CourseInfo表主键Cno;RankPayment表主键Trank。 2、使用T-SQL语句定义以上数据表的其他约束 ①对StudentInfo表的Sname进行唯一性约束(unique约束),约束名称为S1。 ②对CourseInfo表的Cname进行唯一性约束(unique约束)。 ③对StudentCourse表定义外键约束:Sno引用StudentInfo表中的Sno,Cno 引用CourseInfo表中的Cno。 ④对TeacherInfo表定义外键约束:Trank引用RankPayment表中的Trank。 ⑤对Teaching表定义外键约束:Tno引用TeacherInfo表中的Tno,Cno引用CourseInfo表中的Cno。 ⑥对StudentCourse表的Score进行CHECK约束:Score必须在0至100之间。
一、实验目的: 通过该实验掌握应用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”,结果如下图所示:
实验一基本表的定义、删除与修改 一、实验目的: 熟练掌握基本表的定义、删除与修改,为后继学习作准备。 二、实验属性(验证性) (1)了解并掌握SQL SERVER 2005管理控制器的使用; (2)掌握基本表的定义、删除与修改。 三、实验仪器环境与要求 1.每人一台计算机。 2.计算机安装有SQL SERVER2005。 四、实验要求(预习、实验前、实验中、实验后等要求) 1.预习教材第三章,熟悉SQL语句。 2.熟悉SQL SERVER 2005,能使用管理控制器的使用。 3.能够熟练使用SQL语句进行表的创建、删除与修改。 五、实验原理 SQL语言基本应用。 六、实验步骤: (1)启动SQL SERVER 2005。 (2)启动SQL SERVER 2005查询分析器; (3) 创建数据库; (5) 创建如下表: 1 定义基本表 1.1、学生表Student,每个属性名的意义为Sno-学号字符型长度为10、Sname-姓名字符型长度为20、Ssex-性别字符型长度为4、Sage-年龄为整型、Sdept-所在系字符型长度为15。这里要求Sno为主码,Sname不能为空值,且取值唯一。 create table student (Sno char(10) primary key, Sname char(20) unique, Ssex char(4), Sage smallint, Sdept char(15) );
1.2、建立表课程表Course,其属性名意义分别为Cno-课程号、字符型长度为15, Cname-课程名、字符型长度为20, Pre_Cno-先修课程号、字符型长度为15, Credits-学分、整型。Cno 为主码。 create table course (Cno char(15) primary key, Cname char(20), Pre_Cno char(15) references course(Cno), Ccredit smallint, ); 1.3选课表SC。其中的属性名意义分别为Sno-学号、字符型长度为10,Cno-课程号、 字符型长度为15和Grade-考试成绩、整型。Sno和Cno为主码。 create table sc ( Sno char(10) references student(Sno), Cno char(15) references course(Cno), Grade smallint, primary key (Sno, Cno), )
实验一创建数据库和表 1、目的和要求 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点 (3)了解SQL Server的基本数据类型。 2、实验内容 (1)实验题目 ①创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL。 ②在创建好的数据库YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGGL应该包含三个表:Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 3、实验步骤 (1)在对象资源管理器中创建数据库YGGL。 (2)删除数据库YGGL。 ①界面操作删除数据库 删除数据库YGGL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象”窗口,确认删除。
②T-SQL语句删除数据库 在代码空白处右击鼠标,弹出菜单选择“执行(X)”或者键盘“F5”运行代码,在下方会显示运行成功。 此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“PX”已经删除。 注意:当执行过一遍代码时,也就是执行了T-SQL语句删除数据库后再次执行代码会出现这样的警告。原因是由于执行过一遍T-SQL语句,进行操作的数据库已经被删除,不存在。 (3)使用T-SQL语句创建数据库YGGL。 新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷
新”选项,“数据库”列表中就会出现创建的YGGL数据库。 (4)在对象资源管理器中创建表。 ①创建表。Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 在对象资源管理器中选择创建的数据库“YGGL”,展开数据库YGGL,选择“表”,右键单击“表”在弹出的菜单中选择“新建表”。将表保存并命名为“Employees”。下面是相同方法创建的Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 Employees(员工自然信息)表 Departments(部门信息)表 Salary(员工薪水情况)表
应用数学学院_学院专业_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
数据库实验一报告 实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 1 实验内容: (1) 使用SSMS加入实验数据库。 (2) 使用SSMS可视化建立、修改和删除数据库、表。 (3) 使用SSMS对数据库进行备份和恢复。 (4) 使用SSMS对表进行查询、插入、修改、删除。 2 实验步骤: (1) 加入School数据库。 (2) 建立Test数据库。 (3) 在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。
(4) 用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。 (5) 备份Test数据库。
(6) 删除表PERSON。 右键—》删除表 (7) 恢复Test数据库。 (8) 删除Test数据库。 实验1.2 数据定义 1 实验内容: (1) 使用CREATE语句创建基本表。
(2) 更改基本表的定义,增加列,删除列,修改列的数据类型。 (3) 创建表的升降序索引。 (4) 取消表、表的索引或表的约束。 2 实验步骤: (1) 使用SQL语句创建关系数据库表:人员表PERSON(P#,Pname,Page)、房间表ROOM(R# Rname,Rarea)、表PR(P#,R#,Date)。其中:P#是表PERSON的主键,具有唯一性的约束;Page 具有约束“大于18”;R#是表ROOM的主键,具有唯一性约束。表PR中的P# C#是外键。 create table PERSON( P# nchar(10) primary key, Pname nchar(10), Page nchar(10), constraint k1 check (Page>18) ) create table ROOM( R# nchar(10) primary key, Rname nchar(10), Rarea nchar(10) ) create table PR( P# nchar(10), R# nchar(10), date nchar(10), foreign key (P#) references PERSON(P#),--外键 foreign key (R#) references ROOM(R#) --外键 ) (2) 更改表PERSON,增加属性Ptype(类型是CHAR,长度是10),取消Page大于18的约束。把表ROOM中的属性Rname数据长度改成40。 alter table PERSON add Ptype char(10); alter table PERSON drop k1; alter table ROOM alter column Rname char(40);
数据库实验四: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个字段,要求结果中既能够反映目前不是责任教师
《数据库原理》实验报告 实验名称Kingbase安装、数据库创建与维护实验班级******** 学号******** 姓名*****__
实验一Kingbase安装、数据库创建与维护实验实验目的 1.通过对KINGBASE的安装和简单使用: (1)了解安装KINGBASE的软硬件环境和安装方法; (2)熟悉KINGBASE相关使用; (3)熟悉KINGBASE的构成和相关工具; (4)通过KINGBASE的使用来理解数据库系统的基本概念; 2.通过创建数据库、并进行相应的维护,了解并掌握Kingbase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。 实验平台及环境 软件:kingbase3.1 操作系统:win7 实验内容 1.Kingbase安装 (1)在windows7上安装并运行Kingbase。 (2)练习启动和停止数据库服务。 (3)通过Kingbase ES 交互式工具连接数据库。 (4)熟悉Kingbase ES交互式工具的各项功能。 (5)熟悉数据库服务器的启动和停止运行。 (6)指定具体的安装位置。 2.数据库创建与维护 (1)创建学生选课数据库。 (2)对数据库属性和参数进行查询、相应的修改和维护,内容包括: -最大连接数 -服务器端口 -共享缓存数 -为DBA保留的连接数 -死锁检测时间 -日志缓冲数 -设置系统同步写 (3)练习数据库的删除等维护; (4)用Kingbase管理工具和交互式的ISQL语句分别完成以上操作。
实验步骤 1:Kingbase的安装: 启动安装程序,点”下一步” 输入用户名,公司名,序列号后点”下一步”
《数据库技术》 实验指导书徐州师范大学计算机科学与技术学院
实验一使用数据库管理系统(2学时) 【实验目的】 1.掌握服务管理器的启动和停止方法; 2.掌握注册服务器的步骤; 3.掌握在SQL Server 2008中创建和编辑数据库; 4.掌握备份、附加和分离数据库的方法 【实验要求】 1.熟练掌握SQL Server2008数据库服务器服务启动和注册方法; 2.熟练使用Management Studio界面方式创建及编辑数据库; 3.熟练进行数据库备份、分离附加操作; 4.独立完成实验内容,并提交书面实验报告。 【实验内容】 1. 管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等操作; 2. 注册SQL Server 2008服务器。 3. 使用SQL Server 2008对象资源管理器和SQL语句(新建查询)两种方法,完成学生管理系统数据库的创建,修改数据库属性。 (1)创建一个数据库,要求如下。 ●数据库名“STUDENT”。 ●数据库中包含一个数据文件,逻辑文件名为student_data,磁盘文件名为 student_data.mdf,文件初始容量为10MB,最大容量为100MB,文件容量递增值为5%。 ●事务日志文件,逻辑文件名为student_log,磁盘文件名为student_log.ldf,文件初始 容量为5MB,最大容量为30MB,文件容量递增值为2MB。 (2)对该数据库做如下修改。 ●添加一个数据文件.逻辑文件名为student2_data,磁盘文件名为student2_data.ndf, 文件初始容量为5MB,最大容量为50MB,文件容量递增值为5MB。 ●将日志文件的最大容量增加为50MB.递增值改为3MB。 (3)将学生数据库更名为STU。 (4)备份STUDENT数据库。 (5)删除STUDENT数据库。 (6)还原STUDENT数据库。 4.附加给定的数据库文件并分离创建好的数据库文件。 【实验步骤】 1.管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等
数据库技术与应用 实验报告一 班级;机械因材` 学号:1200409025 姓名:高永吉 一:实验名称:创建数据库 二:实验目的: ⑴熟悉SQL的组成及运行环境; ⑵掌握数据库的创建方法; ⑶熟悉数据库的基本管理。 三.实验内容、过程和结果: 创建数据库 1.使用图形化界面 在自带U盘根目录下创建文件夹sql。 使用图形化界面创建数据库,名称自定,包括一个主数据文件、一个事务日志文件。 指定student的主数据文件为student.mdf,事务日志文件名为student.ldf,并存放在自带盘sql文件夹中。 数据库其它属性设置取默认值。 修改以上数据库的空间大小,名称;查看数据库信息。 2.使用T-SQl命令 (1)在自带盘student文件夹下创建一个customer数据库,包含1个数据文件和1个事务日志文件。主数据文件的逻辑文件名为customer,实际文件名为customer.mdf,初始容量为10MB,最大容
量为50MB,自动增长时的递增量为2MB。事务日志文件的逻辑文件名为customer_log,实际文件名为customer_log.1df,初始容量为5MB,最大容量为30MB,自动增长时的递增量为1MB。 (2)修改customer数据库的名称。 (3)查看数据库属性信息。 图一图形化建立数据库并查看信息
图2T-SQl命令建立数据库
图三查询 图四,更改文件名
四.心得体会 1.第一次接触数据库,给我的感觉是很有意思,第一次编得数据库很容易理解. 2不足之处是记不住语句中单词的拼写。 3开始不知道怎样打开自己编的数据库。通过请教老师学会了如何打开 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的雇员的地址和电话。
数据库实验04 查询 1)调出上个实验创建的三个表。方法:附加XSKC数据库或运行创建3个表的SQL语句。2)用SQL增加数据语句输入四个表中数据。其中学生表不得少于10个,课程注册表不得少于8个,学期成绩表不得少于30个。注意:输入数据时应先输入主表数据,再输入有外键的数据;同时注意各表已经定义约束条件。 学生表: 课程注册表: 学期成绩表:
3)设计查询语句并在查询编辑器中进行查询。 ①求选修了某门课程的学生姓名。 ②查询某个学生所选修的课程的课程号,课程名称以及成绩。
③查询参与了所有课程选修的学生姓名和学生所在的系别。 该条查询结果为空:④查询没有选修任何一个课程的学生姓名和所在系别。 ⑤查询课程没有学生选修的课程名称。
该条查询结果为空: ⑥查询选修了某个老师的所有课程的学号、姓名和所在系别。 ⑦列出每门课程的平均分、最高分、最低分。 ⑧对所有学生求出所选修课程的最高分、平均分。
⑨对某老师的授课的某课程的分数都增加5分。 查询操作续: 1、查询全体学生的学号、姓名、性别和年龄。 2、查询某专业且某班级的学生,列出学号、性别和出生日期。 由于所插入的表中没有写入班别信息,为显示结果,在此忽略班级限制,
3、查询姓“陈”的学生的学号、姓名和系别。 4、查询姓“陈”的且全名为两个字的学生的学号、姓名和系别。 5、查询查询姓“陈或姓“李”或姓“张”学生的学号、姓名和系别。 6、列出某课程编号的成绩在前三名的学生的学号、成绩。(如果第三名有多个学生都列出)。 7、统计各个系别的学生人数。 8、统计各门课程的平均分、最高分、最低分,结果集按平均分降序排列。
实验报告 实验项目名称实验一SQL单表查询实验室 所属课程名称《数据库》 实验日期 班级 学号 姓名 成绩
3,查询所有销售员(SALESMAN)的姓名、编号和部门编号 Select ename,empno,deptno From emp Where job= ‘SALESMAN’; 4, 查询佣金高于薪金50% 的雇员的所有信息 Select * From emp Where sal>1.5*comm; 5, 查询第1个字母为“M”的雇员姓名 Select empno,ename From emp Where ename LIKE ’M%’; 6,查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写 Select initcap(ename) AS ENAME,hiredate From emp; 7, 查询姓名包含6个字符的雇员信息 Select * From emp Where length(ename)=6; 8,查询姓名中不含字母“S”的所有雇员信息 select * from emp where ename not like ‘%S%’; 9,查询所有雇员的姓名,以及所承担的工作名称的前5个字符; select ename,substr(job,1,5)as JOB from emp; 10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金 select ename,job,comm from emp where comm is null OR comm<200; 11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消; Select distinct job From emp Where comm Is not null; 12,查询部门“20”中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息; Select *
滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日
实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.