08计科《数据库原理》实验6
数据库原理实验教案
数据库原理实验教案第一篇:数据库原理实验教案《数据库原理》课程实验实验1 创建数据库和数据表一、实验目的熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。
二、实验环境Windows XP操作系统,SQL Server 2005软件。
三、实验课时2课时。
四、实验内容SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。
在SQL Server 2005中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。
(一)向导方式创建1、从“开始”菜单选择“所有程序”→“Microsoft SQL Server 2005”,打开“SQL Server Management Studio”窗口,使用Windows或SQL Server身份验证建立连接。
2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。
3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。
这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。
(1)“数据库名称”文本框中输入数据库的名称,如“sample_st”,再输入该数据库的所有者,这里使用默认值即可。
(也可以通过单击文本框右边的“浏览”按钮选择所有者。
(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。
通过单击下面相应的按钮可以添加或删除相应的数据文件。
λ逻辑名称:指定该文件的文件名。
λ文件类型:用于区别当前文件是数据文件还是日志文件。
λ文件组:显示当前数据库文件所属的文件组。
程杨杨20082567数据库原理实验报告
计算机与信息学院数据库原理实验报告专业班级:计算机科学与技术08-2班学号:20082567姓名:程杨杨实验一数据库平台及交互式SQL的使用一、实验目的1、掌握数据库平台SQL Server 2000的使用;2、掌握基本SQL语句的使用;3、理解视图的作用并掌握其应用。
二、实验内容1、在SQL Server 2000中创建(删除)数据库、数据表;2、定义三类完整性约束条件;3、利用查询分析器实现数据的更新操作;4、利用查询分析器实现数据查询;5、视图的定义与使用三、实验环境PC机一台、Windows 2000/XP操作系统、SQL Server 2000数据库管理系统四、实验步骤及结果(1)创建/删除数据库,数据表(S,SC,C)和定义3类完整性的条件在查询分析器中输入以下语句并执行:create database xskc --创建学生课程数据库create table s --创建学生表(Sno char(8) primary key,Sname char(20) not null,Ssex char(2) check (Ssex in('男','女')),Sage smallint check (Sage>=15 and Sage<=45),Sdept char(20));create table c --创建课程表(Cno char(4) primary key,Cname char(40) not null,Cpno char(4),Ccredit smallint);create table sc --创建选课表(Sno char(8),Cno char(4),Grade smallint check (Grade>=0 and Grade<=100),primary key (Sno,Cno),foreign key (Sno) references S(Sno),foreign key (Cno) references C(Cno));(2)利用查询分析器实现数据的更新操作1.插入数据1)向学生表中插入数据insert into s values('20083838','周星','男',21,'计算机科学与技术'); insert into s values('20081111','刘华','男',20,'信息安全');insert into s values('20082448','徐昕','男',20,'计算机科学与技术'); insert into s values('20082447','金勇','男',19,'计算数学');insert into s values('20082468','鲁明','男',21,'英语');insert into s values('20082457','梁磊','男',21,'车辆工程');insert into s values('20082438','李寻','男',22,'计算机科学与技术'); insert into s values('20082400','李勇','男',21,'计算机科学与技术'); insert into s values('20083333','刘晨','女',18,'通信工程');insert into s values('20084444','王敏','女',19,'通信工程');2)向课程表中插入下列数据insert into c values('6','数据处理',null,2);insert into c values('7','PASCAL语言','6',4);insert into c values('5','数据结构','7',5);insert into c values('1','数据库原理','5',4);insert into c values('4','操作系统','6',4);insert into c values('2','高等数学',null,6);insert into c values('3','信息系统','1',4);3) 向sc表中插入数据insert into sc values('20082448','1',92);insert into sc values('20082448','2',85); insert into sc values('20082448','3',88); insert into sc values('20082447','1',92); insert into sc values('20082447','2',93); insert into sc values('20082447','3',98);2.删除数据删除“信息系统”这门课delete from cwhere cname=’信息系统’;(3)利用查询分析器实现数据查询1.单表查询查询所有学生的信息Select * from s;结果如下图:2.连接查询查询每个学生及其选修课的情况select s.*,sc.*from s,scwhere s.sno=sc.sno;结果如下图:3.嵌套查询查询与徐昕在一个系的学生select sdept,sno,sname from swhere sdept in( select sdeptfrom swhere sname='徐昕');结果如下图:(4)视图的定义和使用1.视图的定义建立计算机科学与技术系学生的视图,语句如下:create view CS_studentasselect Sno,Sname,Sage,Ssex from swhere sdept='计算机科学与技术'2.查询视图在计算机科学与技术系学生的视图中找出年龄<=21岁的学生select sno,sname,sagefrom CS_studentwhere sage<=21;结果如下图:3.更新视图将计算机科学与技术系学生视图CS_student中学号为20083838的学生姓名改为周星,语句如下:update IS_studentset sname=’周星’where sno=’ 20083838’五、实验小结通过本次实验,我初步掌握了SQL Server 2000的基本使用。
数据库原理与应用实验6(二版)
数据库原理与应用实验6(二版)实验六 T-SQL数据库单表查询一、实验目的及要求本实验主要目的是让学生通过本实验掌握基于一个表的SELECT语句的使用语法及使用规则,并能运用各种常用的查询方式及其形式。
●掌握SELECT语句的基本语法结构。
●掌握SQL语句中基于一个表的SELECT语句的使用规则和方式。
●能正确设置各种常用查询条件。
●掌握分组汇总查询的使用。
●要求学生不但写出语句,而且要执行语句,得到结果。
二、实验原理及背景知识1、了解SQL中SELECT语句的基本使用方式。
详情参考第一篇第三章。
2、理解关系代数中投影运算和选择运算的概念及原理。
简单来讲,SELECT实现的是投影,where实现选择运算。
3、实验前需要了解所使用的数据库中表的结构。
4、实验前需要在stuManag数据库中输入模拟数据。
三、实验内容及步骤Ⅰ:基本实验内容(一)输入下面的查询语句,执行后验证实验结果1、查询100165专业的学生的学号、姓名、性别和出生年月信息SELECT sno,sname,ssex,sbirthFROM studentWHERE mno=‘100165’2、查询职称不是教授的所有教师的全部信息SELECT *FROM teacherWHERE trank< >‘教授’3、查询不姓陈的学生学号和姓名信息SELECT sno,snameFROM studentWHERE sname NOT LIKE ‘陈%’4、查询100165专业中1991年之前出生的学生的学号、姓名、性别及出生年月信息SELECT sno,sname,ssex,sbirthFROM studentWHERE (mno=‘100165’) AND (sbirth <‘1991/01/01’)5、查询所有学生的序号、姓名及年龄信息,其中年龄由出生年月转换得到SELECT sno,sname,CAST((GETDATE()-sbirth)AS int)/365 AS ‘年龄’FROM student6、查询所有学生的学号、姓名、性别及出生年月信息,按照专业号升序、出生年月降序排列SELECT sno,sname,Ssex,sbirth,mnoFROM studentORDER BY mno,sbirth DESC7、查询091650102同学的所有课程的平均分、最高分和最低分SELECT AVG(grade) AS 平均分,MAX(grade) AS 最高分,MIN(grade) AS 最低分FROM skcWHERE sno=‘091650102’(二)输入下面查询语句,然后运行,根据结果思考并记录其功能1、SELECT *FROM skcWHERE Grade between 80 and 85功能:_________________________________________________2、SELECT count(*) as ‘0916501班人数’FROM studentWHERE sno like ‘0916501%’功能:_________________________________________________3、SELECT COUNT(*) AS ‘信管专业女学生人数‘FROM studentWHERE mno=‘100165’ AND ssex=‘女’功能:_________________________________________________4、SELECT DISTINCT SUBSTRING(sname,1,1)FROM student功能:_________________________________________________5、SELECT sno,sname,ssex,mnoFROM studentWHERE mno IN (‘100165’,’201148’,’100838’)功能:_________________________________________________6、SELECT sno,snameFROM studentWHERE sname LIKE ‘[陈李]%’功能:_________________________________________________7、SELECT kno,avg(Grade ) as ‘平均分’from skcWHERE sno like ‘09165%’GROUP BY kno功能:_________________________________________________(三)阅读并分析下面查询语句,根据其功能,补全语句之后进行验证1、查询0916502班超过5人选修的课程选修人数及平均分。
《数据库原理》学生实验报告
Char(15)
班级
班级的编号,参照表Class
StuAddr
Char(20)
住址
Birthday
Datetime
出生年月
Height
Int
身高
以厘米为单位表示学生的身高
代码:
B、Class表结构
字段名
类型
中文名
备注
Clsno
Char(15)
班号
主键
Clsname
Char(16)
班名
对班级的描述信息
4.将计算机科学系全体学生的成绩置零。
5.删除学号为20100250的学生记录
6.删除计算机科学系所有学生的选课记录
实验3数据库的查询和视图
一实验目的
1、通过Select的使用,掌握Select语句的结构及其应用
2、掌握创建索引、和删除索引的SQL语句
3、掌握创建、查询、更新、修改和删除视图的SQL语句
7.查询学生的学号、姓名、选修的课程及成绩
8.求选修课程号为‘0003’且成绩在90以上的学生学号、姓名和成绩
9.查询每一门课程的间接先修课(即先修课的先修课)
二、索引
1.利用查询分析器为学生student表创建一个基于height的非聚集索引,创建一个基于sno的聚集索引,创建一个基于sname的唯一索引,其中按height按升序排列,sno按降序排列,sname按升序排列
2.删除所建立的非聚集索引
三、视图的创建、查询、修改和删除
1.为学生student表创建一个视图V_student,以显示学生的学号、姓名、出生年份等基本信息
2.创建一个视图V_SCG,以显示0001号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。
数据库原理综合实验报告
实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。
以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。
(2)对前面章节所学的知识加以综合应用。
2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。
(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。
完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。
-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。
(3)设计数据库概念模型,画出E-R图。
2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。
-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。
2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。
2.4 装载数据(1)收集真实数据或者生成模拟数据。
(2)批量加载数据到数据库中。
(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。
3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
(3)要设计良好的数据库完整性约束。
(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。
学生需要有学号、姓名、性别、年龄、专业等信息。
选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。
《数据库原理》实验讲义
-《数据库原理》课程设计讲义一、开设本课程设计的目的本课程是计算机专业中一门重要的专业理论课。
为配合《数据库原理》课程的教学,通过模拟DBMS的实现,更深刻地领会DBMS的工作原理和实现方法,从而具有初步开发系统软件的实际能力,特开设此课程设计。
二、课程设计的题目用高级程序设计语言实现《DBMS原型设计与实现》。
三、课程设计的主要内容通过模拟DBMS的实现,使学生系统地掌握关系代数语言的运算功能;了解DBMS的DDL、DML、DCL等功能的实质含义;掌握结构化设计方法;了解大型软件的设计技术。
四、课程设计的具体内容和要求1、创建数据库(DDL)功能模拟在熟悉和掌握某一关系数据库语言的基础上,用高级程序设计语言创建数据库。
具体包括:(1)建立“建库”功能的总体菜单,包括建立库结构、输入数据、显示数据库结构和内容、退出等功能。
(2)实现建立数据结构的功能。
要求:①能输入任意库名(即关系名)②字段个数、名称任意给定(包括字段名、字段类型、长度任意)。
(3)实现输入数据库记录的功能。
(4)实现显示数据库结构和内容(最好以表格形式显示)(5)实现对主关键字的索引功能。
(6)实现建立视图的功能。
(7)建立数据字典保存三级模式中有关视图、基本表、存储文件的定义。
2、关系代数运算(DML)功能模拟将关系代数语言的选取、投影、连接运算公式进行等价变换,以便输入计算机,被计算机接受和识别。
(1)用高级程序设计语言做工具,实现关系代数语言中集合(2)采用索引的方式,用高级语言实现数据库系统中选取运算的功能。
包括带有“与”、“或”条件的查询,并以表格形式显示的运算结果。
(3)用高级语言实现数据库系统中投影运算的功能。
并以表(4)采用索引的方式,用高级程序语言实现关系代数语言自然连接、等值连接等运算功能。
并以表格形式显示的运算结果。
3、关系演算(DML)功能模拟(1)系统掌握DBMS中关系演算语言的功能,以QUEL语言为样本,用C语言实现对用规定符号表达的简单查询命令行进行识(2)熟悉QUEL语言的查询功能,用高级语言模拟实现对含有“与”、“或”、“非”符号的命令行进行识别,并以表格形式显示4、关系数据库系统的查询优化掌握关系数据库的查询优化技术,用高级语言实现启发式关系代数优化算法以及启发式关系演算优化算法。
数据库原理实验教案
数据库原理实验教案一、实验目的与要求1. 实验目的(1)了解数据库的基本概念和原理;(2)掌握数据库的创建、操作和管理方法;(3)培养实际操作数据库的能力。
2. 实验要求(1)熟悉计算机操作系统和数据库管理系统;(2)了解SQL语言的基本用法;(3)具备一定的编程基础。
二、实验环境与工具1. 实验环境(1)操作系统:Windows 10;(2)数据库管理系统:MySQL 8.0;(3)编程语言:Python 3.8。
2. 实验工具(1)MySQL数据库客户端;(2)Python编程环境;(3)文本编辑器或集成开发环境(IDE)。
三、实验内容与步骤1. 实验内容(1)创建数据库和表;(2)插入、查询、更新和删除数据;(3)数据库备份与恢复;(4)数据库安全与权限管理;(5)使用Python编程语言操作数据库。
2. 实验步骤(1)打开MySQL客户端,连接到数据库服务器;(2)创建数据库和表,定义字段和约束;(3)使用SQL语句插入、查询、更新和删除数据;(4)进行数据库备份和恢复操作;(5)设置数据库用户权限和安全策略;(6)使用Python编程语言连接数据库,实现数据操作。
四、实验注意事项1. 实验过程中,要严格遵守实验室规定,保持安静,爱护设备;2. 实验操作前,仔细阅读实验指导书,确保掌握实验内容;3. 遇到问题,应及时请教老师或同学,共同探讨解决方法;五、实验评价与反馈1. 实验评价(1)数据库创建和表设计的合理性;(2)SQL语句的正确性和效率;(3)Python编程语言操作数据库的能力;(4)实验报告的完整性、准确性和条理性。
2. 实验反馈(2)同学互评:相互评价,相互学习,共同进步;(3)教师评价:对学生的实验成果进行点评,给予指导和建议。
六、实验案例与分析1. 案例一:创建学生信息管理系统(1)设计数据库和表结构;(2)使用SQL语句实现数据的插入、查询、更新和删除;(3)编写Python程序操作学生信息管理系统。
数据库原理实验指导书(含触发器及存储过程)范文
数据库原理实验指导实验 1 SQL Server2000管理工具的使用一、目的与要求1.掌握SQL Server服务器的安装2.掌握企业管理器的基本使用方法3.掌握查询分析器的基本使用方法4.掌握服务管理器的基本使用方法5.对数据库及其对象有一个基本了解6.掌握用企业管理器和查询分析器创建数据库,修改数据库和删除数据库的方法。
二、实验准备1.了解SQL Server各种版本安装的软、硬件要求2.了解SQL Server支持的身份验证模式3.了解SQL Server各组件的主要功能4.对数据库、表和数据库对象有一个基本了解5.了解在查询分析器中执行SQL语句的方法三、实验内容1.安装SQL Server 2000 根据软硬件环境,选择一个合适版本的SQL Server 2000。
2.利用企业管理器访问系统自带的pubs数据库。
(1)启动SQL Server服务管理器。
通过“开始=>程序=>Microsoft SQL Server=>服务管理器”打开“SQL Server服务管理器”,启动“SQL Server服务管理器”,并记录当前运行的服务器名。
图1.1 启动SQL Server服务管理器(2)启动企业管理器。
通过“开始=>程序=>Microsoft SQL Server=>企业管理器”打开“SQL Server Enterprise Manager”图1.2 启动企业管理器(3)在企业管理器的树形目录中展开数据库,找到pubs并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。
(4)选中“表”,将列出pubs数据库的所有表(包括系统表和用户表),在此以用户表publishers为例,选中该表,单击鼠标右键,弹出快捷菜单,执行“打开表—返回所有行”菜单项,打开该表,查看其内容。
(5)在表的尾部插入记录(9943,zhang,Beijing,null,china)和记录(1408,li,shanghai,null,china)。
《数据库原理》所有实验
《数据库原理》所有实验实验1、数据定义1.1实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。
1.2实验内容●用企业管理器创建数据库University_Mis●使用CREATE语句创建基本表.●更改基本表的定义:增加列,删除列,修改列的数据类型。
●创建表的升、降序索引。
●删除基本表的约束、基本表的索引或基本表。
1.3实验步骤(1)用企业管理器创建数据库University_Mis(2)在查询分析器中用SQL语句创建关系数据库基本表:学生表Students(Sno,Sname, Semail,Scredit,Sroom);教师表Teachers(Tno,Tname,Temail,Tsalary);课程表Courses(Cno,Cname,Ccredit);成绩表Reports(Sno,Tno,Cno, Score);其中:Sno、Tno、Cno分别是表Students、表Teachers、表Courses的主键,具有唯一性约束,Scredit具有约束“大于等于0”; Reports中的Sno,Tno,Cno是外键,它们共同组成Reports的主键。
(3)更改表Students:增加属性Ssex(类型是CHAR,长度为2),取消Scredit“大于等于0”《数据库原理》所有实验约束。
把表Courses中的属性Cname的数据类型改成长度为30。
(4)删除表Students的一个属性Sroom。
(5)删除表Reports。
(6)为Courses表创建按Cno降序排列的索引。
(7)为Students表创建按Sno升序排列的索引.(8)创建表Students的按Sname升序排列的唯一性索引。
(9)删除Students表Sno的升序索引。
实验2、SQL的数据查询2.1实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
数据库原理实验报告(6)
南京晓庄学院《数据库原理与应用》课程实验报告实验六分组统计查询和集合查询设计所在院(系):数学与信息技术学院班级: 11软工转本2学号: 11130708 11130710姓名:马琦乔凌杰1.实验目的(1)熟练掌握数据查询中分组条件表达、选择组条件的表达方法。
(2)熟练使用统计函数和分组函数。
(3)熟练各类计算和分组计算的查询操作方法。
(4)掌握集合查询的实现方法。
2.实验要求(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
b)查询各系各门课程的平均成绩。
c)查询每个院系各种职称的教师人数,输出院系、职称、人数。
d)查询数学与信息技术学院学生的平均年龄。
e)查询07294003课程的最高分和最低分。
f)查询选修人数超过30人,且课程号以07开头的课程号、课程名称和选修人数。
按选修人数降序排列。
g)查询选修了5门以上课程的学生学号。
h)查询年龄大于女同学平均年龄的男同学姓名和年龄。
i)查询SC表中最高分与最低分之差大于20分的课程号。
j)查询平均成绩大于75分的课程的课程号、课程名、平均分。
k)查询期末考试平均分排名前10%的学生,输出学号和平均分。
l)查询教师人数最多的前3个院系,输出院系和教师人数。
m)查询全校老师和学生的姓名,输出姓名和类别两列(类别中显示教师或学生),结果按类别排序。
n)用集合查询实现同时讲授过07294003和07295007两门课的老师的工号。
o)用集合查询实现教师表中职称不是教授的老师的详情。
(2)按要求完成实验报告。
3.实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)。
(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
select DEPT_ID, COUNT(*) 总人数from dbo.Studentgroup by DEPT_IDorder by DEPT_ID descb)查询各系各门课程的平均成绩。
数据库原理及应用实验报告 6
实验成绩《数据库系统原理及应用》实验报告六专业班级: 计算机科学与技术学号: 3姓名: 范晓曈指导教师: 苏小玲2013年11 月21 日实验六名称:SQL Server存储过程一、实验内容及要求1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。
执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。
2.修改视图任务1:查询指定系的男生人数,其中系为输入参数,人数为输出参数。
执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。
任务2:查询指定学生(姓名)在指定学期的选课门数和考试平均成绩,要求姓名和学期为输入参数,选课门数和平均成绩用输出参数返回,平均成绩保留到小数点后两位。
3.使用返回代码存储过程的创建和执行任务1:查询指定学生(学号)的选课门数。
如果指定学生不存在,则返回代码1;如果指定的学生没有选课,则返回代码2;如果指定学生有选课,则返回代码0,并用输出参数返回该学生的选课门数。
4.使用实现对数据库修改、删除和插入操作的存储过程创建和执行任务1:删除指定学生(学号)的修课,如果指定的学生不存在,则显示提示信息“没有指定学生”;如果指定的学生没有选课,则显示提示信息“该学生没有选课”。
学号为输入参数。
任务2:修改指定课程的开课学期。
输入参数为:课程号和修改后的开课学期。
任务3:在course表中插入一行数据,课程号、课程名、学分、开课学期均为输入参数。
课程号为C100、课程名为操作系统、学分为4、开课学期为4,开课学期的默认值为3。
如果学分大于10或者小于1,则不插入数据,并显示提示信息“学分为1~10之间的整数”。
二、实验目的掌握存储过程的创建和执行;掌握存储过程中输入参数和输出参数的设置和使用方法。
三、实验步骤及运行结果1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。
数据库原理实验报告
数据库原理实验报告目录一、实验目的 (2)1. 熟悉数据库的基本概念和原理 (2)2. 掌握数据库的设计方法和技巧 (3)3. 学会使用SQL语言进行数据操作和管理 (5)二、实验内容 (6)1. 数据库基本概念 (7)2. 数据库设计 (9)3. SQL语言基础 (9)4. SQL语句练习 (11)5. 数据库管理与维护 (12)三、实验步骤与结果 (13)1. 数据库基本概念 (15)数据库的定义和特点 (16)关系型数据库的基本结构 (17)数据库管理系统(DBMS)的功能和组成部分 (19)2. 数据库设计 (20)需求分析 (22)概念模型设计 (23)逻辑模型设计 (25)物理模型设计 (26)3. SQL语言基础 (27)SQL语言的基本语法 (28)SQL语句的分类和功能 (30)SQL语句的操作对象 (31)4. SQL语句练习 (32)5. 数据库管理与维护 (34)数据库备份与恢复 (35)数据库优化与调整 (36)数据库安全与权限管理 (38)四、实验总结与展望 (39)1. 本实验的主要收获和体会 (40)2. 在实际工作中遇到的困难和问题及解决方法 (41)3. 对未来学习和工作的展望 (42)一、实验目的本次数据库原理实验的主要目的是加深对数据库管理系统原理的理解,掌握数据库的基本操作,并学会使用SQL语言进行数据库的查询、插入、更新和删除等操作。
通过实际操作,培养学生的数据库设计能力和解决实际问题的能力,为后续的数据库课程学习和职业生涯打下坚实的基础。
实验还旨在提高学生的动手实践能力和团队协作精神,为未来的学习和工作积累宝贵的经验。
1. 熟悉数据库的基本概念和原理数据库是存储数据的集合,这些数据可以是关于企业、组织或个人的信息。
它提供了一个有组织的数据存储环境,可以高效、有序地存储和管理大量的数据。
在现代信息技术中,数据库管理系统(DBMS)作为支持数据存储和操作的核心软件工具发挥着至关重要的作用。
《数据库原理》实验指导书
《数据库原理》实验指导书《数据库系统原理》实验指导书实验课程类别:课程内实验实验课程性质:必修适⽤专业、年级:08计算机⼯程1-2班开课院、系:计算机⼯程教研室学时:12编写依据:《数据库系统原理》实验教学⼤纲修订时间:2011年2⽉⼀、实验内容安排⼆、实验说明实验1 创建数据库和表实验⽬的:1.学会在企业管理器中创建数据库和表。
2.学会使⽤T—SQL语句创建数据库和表。
3.学会在企业管理器中对数据库表进⾏插⼊、修改和删除数据操作。
4.学会使⽤T-SQL语句对数据库表进⾏插⼊、修改和删除数据操作。
5.理解数据更新操作时应注意数据完整性约束。
6.了解数据库备份、恢复及导⼊、导出的概念及⽅法。
实验要求:1.独⽴完成实验2.提交⽐较规范的实验报告实验内容:1.使⽤企业管理器和查询分析器创建教学管理数据库,数据库名为JXGL。
2.使⽤查询分析器创建教学管理数据库,数据库名为JXGL。
包含下列3个表:(1)STUDENT :学⽣信息表。
(2)COURSE:课程信息表。
(3)SC:选课情况表。
各表的结构分别如表1表2和表3所⽰。
表3 SC表结构实验步骤:1.在SQL Server Management Studio中创建数据库JXGL要求:数据库JXGL初始⼤⼩为10MB,最⼤⼤⼩为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB(默认为不限制),按1MB 曾长(默认是按5%⽐例增长)。
数据库的逻辑⽂件名和物理⽂件名均采⽤默认值,分别为JXGL_data(物理名称是包括⽬录路径的物理⽂件名。
它必须符合操作系统⽂件的命名规则。
默认路径⼀般为:c:\programfiles\microsoft sql server\mssql.1\mssql\data,本机房c:\programfiles\microsoft sql server\mssql.2\mssql\data,物理⽂件名的后缀为.mdf)事务⽇志的逻辑⽂件名和物理⽂件名也均采⽤默认值,分别为JXGL_LOG(物理⽂件jxgl_log.ldf,默认路径同上)注意:数据库中默认路径是可以更改的。
《数据库原理》实验内容(统本)
实验内容实验一数据库管理软件的安装(基本操作性实验 2学时)1.目的要求宏观了解一个数据库管理系统的安装及功能2.实验内容在WINDOWS NT平台上,自行安装MS SQL SERVER2000,操作SQL SERVER2000的七个组件及各个组件的界面、菜单,了解各组成部分的功能。
3.主要实验仪器设备带有CD-ROM的客户机、MS SQL SERVER2000光盘。
实验二创建数据库及数据的导入导出(基本操作性实验 2学时)1.目的要求根据一个具体应用进行数据库设计,使用组件企业管理器菜单及CREATE命令对数据库创建,建立基本表、索引。
2.实验内容某高校要对在校生进行计算机管理。
①建立学生情况表(S)、课程表(C)、选课表(SC)、教师情况表(T)和授课表(TC)表3 选课表表4 教师情况表表5 授课表②在学生表的学号上建立唯一索引,在课程表上的课程号建立唯一索引③在选课表的学号和课程号上建立唯一索引,在授课表的教师号和课程号上建立唯一索引。
④将电子表格文件shiyaner.xls导入数据库建好的五个表中。
3.主要实验仪器设备客户机、MS SQL SERVER2000。
实验三设计数据库完整性约束及备份还原数据库(基本操作性实验 2学时)1.目的要求根据用户的需求,细化数据库设计,完善数据库中对数据的完整性设计与操作。
主要包括实体完整性和参照完整性以及简单的用户自定义完整性约束的实现。
熟练掌握数据库的备份还原操作。
2.实验内容①对学生情况表(S)加上实体完整性约束:SNO不为空(NOT NULL)、PRIMARY KEY(SNO)。
对课程表、教师表也加上实体完整性约束。
②对选课表添加实体完整性约束:SNO不为空(NOT NULL)、CNO不为空(NOT NULL)及PRIMARY KEY(SNO,CNO);参照完整性约束:FOREGIN KEY(SNO)REFERENCES S(SNO)、FOREGIN KEY(CNO)REFERENCES C(CNO);用户自定义完整性约束:CHECK(G IS NULL OR G BETWEEN 0 AND 100)。
数据库原理实验报告
数据库原理实验报告一、实验目的本次实验的主要目的是通过实际操作了解数据库的基本原理、数据库的建立与管理及SQL语句的使用。
二、实验内容1.数据库的建立与管理本次实验使用了MySQL数据库,首先需要安装并配置好MySQL服务。
然后通过MySQL Workbench等工具连接到数据库服务器,创建一个新的数据库,并添加相应的表格和字段。
2.SQL语句的使用通过SQL语句对数据库进行操作,包括数据的插入、查询、更新和删除等操作。
实验中使用了SELECT、INSERT、UPDATE和DELETE语句,对数据库中的数据进行增删改查操作。
三、实验步骤1.安装MySQL数据库并配置好服务。
2. 使用MySQL Workbench连接到数据库服务器。
3. 创建一个新的数据库,命名为"experiment"。
4. 在数据库中创建一个名为"students"的表格,包括字段"ID"、"Name"和"Age"。
5.使用INSERT语句向表格中插入一些测试数据。
6.使用SELECT语句查询表格中的数据。
7.使用UPDATE语句对表格中的数据进行更新。
8.使用DELETE语句删除表格中的条数据。
四、实验结果与分析1.数据库的建立与管理成功安装配置MySQL数据库服务,并能够通过MySQL Workbench连接到数据库服务器。
成功创建了名为"experiment"的数据库,并在其中创建了名为"students"的表格,包括字段"ID"、"Name"和"Age"。
2.SQL语句的使用成功使用INSERT语句向表格中插入了测试数据。
成功使用SELECT语句查询了表格中的数据,并能够根据条件筛选所需的数据。
成功使用UPDATE语句对表格中的数据进行了更新操作。
数据库原理实验报告实验
数据库原理实验报告实验摘要数据库作为一种重要的数据存储和管理工具,在计算机科学领域中起着至关重要的作用。
本实验旨在通过实践操作和理论知识学习,加深对数据库原理的理解与掌握。
在本实验中,我们将简要介绍实验的目的、实验环境、实验过程和实验结果,并对实验的意义进行总结。
一、实验目的1.加深对数据库管理系统的理解,熟悉数据库的基本操作和管理方法;2.学习如何进行数据库设计和规范化;3.学习使用SQL语言进行数据库查询和管理;4.掌握常用数据库操作和管理工具的使用。
二、实验环境1.硬件环境:一台配置较高的个人计算机;2.软件环境:数据库管理系统(如MySQL、Oracle等);3.实验工具:SQL语言编辑器。
三、实验过程1.数据库设计和规范化首先,我们需要根据实验需求,进行数据库的设计和规范化。
这包括确定数据库的实体、属性和关系,并建立表的结构和关系。
在设计和规范化过程中,需要考虑实体之间的关系、主键和外键的定义、规范化的程度等。
2.创建数据库和数据表根据设计好的数据库结构,我们需要创建数据库和数据表。
使用数据库管理系统提供的命令或图形界面工具,创建数据库,然后在数据库中创建对应的数据表。
在创建数据表时,需要指定每个字段的数据类型、约束和默认值等。
3.插入数据创建完数据库和数据表后,我们需要向数据表中插入数据。
可以通过手动添加数据或者导入外部数据文件的方式,将数据插入到对应的数据表中。
4.查询和管理数据使用SQL语言进行数据库的查询和管理是数据库操作的重要部分。
根据实验需求,编写相应的SQL语句,执行数据查询、删除、修改和更新等操作,对数据进行管理和操作。
可以通过SQL语言编辑器执行SQL语句,获得查询结果。
5.性能优化和数据保护为了提高数据库系统的性能和数据的安全性,我们还需要对数据库进行性能优化和数据保护。
可以通过索引、视图、事务、备份和恢复等技术手段,提高数据库的查询和操作效率,并保证数据的完整性和安全性。
数据库原理实验指导
《数据库原理》课程实验实验1 创建数据库和数据表一、实验目的熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。
二、实验环境Windows XP操作系统,SQL Server 2005软件。
三、实验课时2课时。
四、实验内容SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。
在SQL Server 2005中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。
(一)向导方式创建1、从“开始”菜单选择“所有程序”→“Microsoft SQL Server 2005”,打开“SQL Server Management Studio”窗口,使用Windows 或SQL Server身份验证建立连接。
2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。
3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。
这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。
(1)“数据库名称”文本框中输入数据库的名称,如“sample_st”,再输入该数据库的所有者,这里使用默认值即可。
(也可以通过单击文本框右边的“浏览”按钮选择所有者。
(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。
通过单击下面相应的按钮可以添加或删除相应的数据文件。
逻辑名称:指定该文件的文件名。
●文件类型:用于区别当前文件是数据文件还是日志文件。
●文件组:显示当前数据库文件所属的文件组。
●初始大小:指定该文件的初始容量。
数据库原理实验报告
数据库原理实验报告实验⼀熟悉SQL Server 2008环境及SQL 语⾔实验内容和步骤:1.⼿动建库:打开SQL Server 2008企业管理器,建⽴1个名为StudentDB1,数据⽂件名为StudentDB1_data、⼤⼩为10M,⽇志⽂件名为StudentDB1_log、⼤⼩为5M的新数据库;2. ⼿动建表:为数据库StudentDB1创建四个表,教师T、课程C、学⽣S、选课SC,其结构为:Ø 教师表T(教师号T#,教师名字TNAME,职称TITLE);Ø 课程表C(课程号C#,课程名称CNAME,教师号T#);Ø 学⽣表S(学号S#,学⽣姓名SNAME,年龄AGE,性别SEX);Ø 选课表SC(学号S#,课程号C#,成绩,GRADE)。
将 S# C# 设置为外键3.通过SQL语句建库:在企业管理器中,使⽤SQL语句建⽴名为StudentDB2,数据⽂件名为StudentDB2_data、⼤⼩为10M,⽇志⽂件名为StudentDB2_log、⼤⼩为5M的新数据库;(要求每个同学建⽴的数据库的名称为⾃⼰的学号,替换StudentDB2,注意全为数字名称的数据库在SQL语句中的⽤法)create database[201811040806]--数据库名on primary(name ='201811040806_data',--数据⽂件名filename ='E:\数据库\数据库实验\201811040806_data.mdf',--地址size=10,--初始⼤⼩maxsize=50,--最⼤⼤⼩filegrowth=1--增长速率)log on(name ='201811040806_log',--⽇志⽂件名filename ='E:\数据库\数据库实验\201811040806_log.ldf',size=5,maxsize=12,filegrowth=10%)4.利⽤SQL语句,按照列表中的字段名(英⽂)、类型建⽴如下四个表结构:Ø 教师表T(教师号T#,教师名字TNAME,职称TITLE);use[201811040806]--调⽤数据库create table T(T# char(10) NOT NULL,--char 类型数据为固定长度,不满⾃动补空格TNAME nvarchar(5) NOT NULL,--varchar 类型数据为可变长度,不满不会⾃动补空格;若有中⽂,前⾯ + nTITLE nvarchar(5),primary key (T#)--设置主键);Ø 课程表C(课程号C#,课程名称CNAME,教师号T#);use[201811040806]create table C(C# char(10) NOT NULL,CNAME nvarchar(10) NOT NULL,T# char(10) NOT NULL,primary key(C#),foreign key(T#) references T(T#)--设置外键);Ø 学⽣表S(学号S#,学⽣姓名SNAME,年龄AGE,性别SEX);use[201811040806]create table S(S# char(10) NOT NULL,SNAME nvarchar(5) NOT NULL,AGE int NOT NULL,SEX bit NOT NULL,primary key(S#));Ø 选课表SC(学号S#,课程号C#,成绩,GRADE)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六:关系图、索引和视图的定义及维护答案
一、实验目的
1.掌握创建关系图的方法。
2.掌握创建、查看和删除索引的操作和方法。
3.理解视图的含义,能使用SQL Server企业管理器创建视图并对其进行管
理。
二、实验环境
已安装SQL Server 企业版的计算机(120台);
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
1.索引和视图的创建和管理也可以用查询分析器实现,参照课本上的相关
Transact-SQL命令,写出对应的Transact-SQL实现代码。
2.将视图的创建、修改、删除过程与实验二中表的创建、修改、和删除进
行对照,看看有什么相同点和不同点。
3.完成实验报告;
五、实验内容及步骤
以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现第1题操作,其余题目用SQL Server2005界面及T-SQL 语句实现:
1.使用创建数据库关系图向导为学生选课数据库中的Student表,Course
表,SC表创建关系图。
2.为Student表创建一个基于Sname(姓名)的按降序排列的聚簇索引
Stusname。
create clustered index stusname on student(Sname desc)
3.为学生—课程数据库中的Student,Course,SC 3 个表建立索引。
其中
student按学号升序建唯一索引,course按课程号升序建唯一索引,SC
按学号升序和课程号降序建唯一索引,索引名称分别为
Stusno,Coucno,Scno。
create unique index stusno on student(sno)
create unique index coucno on course(cno)
create unique index scno on sc(Sno,cno desc)
4.删除 Student表中的Stusname索引。
DROP INDEX Student.Stusname
5.创建信息系男学生基本信息视图stu_is,包括学生的学号、姓名及年龄,
并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
CREATE VIEW stu_is
AS
SELECT Sno,Sname,Sage FROM Student
WHERE Sdept='IS' AND Ssex='男'
WITH CHECK OPTION
6.建立信息系选修了1号课程的学生视图stu_is_c1(学号,姓名,成绩)。
CREATE VIEW stu_is_cl(学号,姓名,成绩)
AS
SELECT Student.Sno,Sname,Grade FROM Student,SC
WHERE Sdept='IS' AND Student.Sno=SC.Sno AND Cno='1'
7.建立信息系男同学年龄在19岁以上学生信息的视图stu_is_age。
(使用
第5题的视图)
CREATE VIEW stu_is_age
AS
SELECT * FROM stu_is WHERE Sage>19
8.查询信息系男同学年龄在19岁以上的学生信息。
SELECT * FROM stu_is_age
9.查询信息系选修了1号课程且成绩大于 80的学生成绩信息。
Select * from stu_is_c1 where grade>80
10.向视图stu_is中插入一个新的学生记录,学号为200515027,姓名为王
唔,年龄为20。
INSERT INTO stu_is VALUES('200515027','王唔',20)
11.向视图stu_is_c1中插入一个新的学生记录,学号为200515027,姓名
为王唔,成绩为60。
INSERT INTO stu_is_cl VALUES('200515027','王唔',60)
12.将视图stu_is中学号为“200515004”的学生姓名改为“张珊”。
UPDATE stu_is
SET Sname='张珊'
WHERE Sno='200515004'
13.将视图stu_is_c1中学号为“200515006”的学生成绩改为75。
update stu_is_c1
set 成绩=75
where 学号='200515006'
14.删除视图stu_is中学号为“200515020”的学生记录。
DELETE FROM stu_is
WHERE Sno='200515020'
15.将stu_is视图修改为只包含信息系学生学号、姓名及年龄。
ALTER VIEW stu_is
AS
SELECT Sno,Sname,Sage FROM Student
16.同时删除视图stu_is和stu_is_age。
DROP VIEW stu_is,stu_is_age
思考题:1.考虑一下视图的作用,在什么样的情况下需要建立视图?
2.索引、视图和基本表有什么不同 ?
六、出现问题及解决办法
如:某些操作无法执行,如何解决?。