sql数据库实验报告
1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。
(2)掌握使用SQL Server管理平台对数据库进行管理的方法。
(3)掌握使用Transact-SQL语句对数据库进行管理的方法。
2.实验内容及步骤
(1)在SQL Server管理平台中创建数据库。
① 运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。
② 右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。
(2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。
(3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。
(4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。
(5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。
(6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。
(7)使用SQL Server管理平台将studb数据库的名称更改为student_db。
(8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。
3.实验思考
(1)数据库中的日志文件是否属于某个文件组?
(2)数据库中的主数据文件一定属于主文件组吗?
(3)数据文件和日志文件可以在同一个文件组吗?为什么?
(4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库?
体
会
学号: 姓名: 班级: 教师:
学
期实 验 总 结 与 心 得
【实验名称】 数据库的创建 【实验内容】
1、新建sql注册表。
2、新建数据库。主数据文件:逻辑文件名为student_data,物理文件名为student.mdf,初始大小为10mb,最大尺寸为无限大,增长速度为10%;
数据库的日志文件:逻辑名称为student_log,物理文件名为student.ldf,初始大小为1mb,最大尺寸为5mb,增长速度为 1mb
3、修改已注册的sql server属性为使用sql server身份验证。
【实验名称】 数据库的附加、分离、导入导出及分离 【实验内容】 1.数据库文件的附加与分离(转载于:sql实验报告总结)2.数据库文件的导入和导出 3..数据库的删除 4.修改数据库
【实验名称】 数据库的创建(书中作业)【实验内容】 1.在数据库student中创建一个学生基本信息表 1.用企业管理其创建表 2.用查询分析器创建表 2.sql server 2005的系统数据类型分为哪几类?常用的数据类型有哪些?
答:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间。常用的数据类型有:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间
3.在数据库student中创建一个名为t_couse(课程信息表)1.用企业管理其创建t_course表 2.用查询分析器创建t_course 4.在数据库student中创建一个名为t_score(学生成绩)的表 5.sql server 2005 中有多少种约束?其作用分别是什么
答:非空约束,作用指定某一列不允许空值有助于维护数据的完整性,因为这样可以确保行中的列永远保护数据。
主键约束,作用可以保证实体的完整性,是最重要的一种约束。唯一约束,作用指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。
检查约束,作用对输入列或者整个表中的值设置检查条件,以限制输入值,保证数据库数据的完整性。
默认约束,作用指定在插入操作中如果没有提供输入值。怎系统自动指定值。外键约束,作用主要用来维护两个表之间数据的一致性。6.分别为t_course表和t_score表创建唯一性约束、检查约束、默认约束。篇二:sql server综合实验报告
华北科技学院计算机系综合性实验
实 验 报 告 课程名称 数据库系统 实验学期 2010 至 2011 学年 第 二 学期
学生所在系部 计算机系 年级 二年级 专业班级
网络工程b093班
学生姓名
沈亚强
学号
200907024313
任课教师
郭红 实验成绩
计算机系制
实验报告须知
1、学生上交实验报告时,必须为打印稿(a4纸)。页面空间不够,可以顺延。
2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。
3、教师应该填写的内容包括:实验成绩、教师评价等。
4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验
中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一
刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。
5、未尽事宜,请参考该课程的实验大纲和教学大纲。《
数据库系统
》课程综合性实验报告 篇三:数据库上机实验报告+总结
数据库集中上机报告
学 生: 马志鹏 学 号: 0221090118 班 级: 02210901 专
业:计算机应用技术 重庆邮电大学移通学院 2011年6月
第一天:access数据库基本操作 1 实验目的
1、熟悉的掌握access数据库结构与创建
2、了解创建、修改、删除、查询、保存等操作
3、输入数据创建、设计器创建、向导创建。2 实验内容 3 实验结果
1.2.2 2 access数据表的编辑
第二天 数据表基本操作 1 表关系与编辑数据 1 实验目的:
1、实现一对一,一对多,多对多的实体关系
2、对“学生基本信息”表中的记录进行排序,按出生日期降序排列
3、从“学生基本信息”表中筛选出所有计算机系男生的记录
4、从“学生基本信息”表中筛选出回族和蒙古族的所有学生记录 3 2 实验内容
1.select 学生基本信息表.学生姓名, 成绩档案表.* from 成绩档案表 inner join 学生基本信息表 on 成绩档案表.学生学号 = 学生基本信息表.学生学号
where(((学生基本信息表.学生姓名)=张冰冰));2 select 学生基本信息表.* from 学生基本信息表 where(((学生基本信息表.性别)=男)and((学生基本信息表.班级名称)=计算机系));3 select 成绩档案表.c语言, 课程表.* from 成绩档案表, 课程表;4 select 学生基本信息表.*, 学生基本信息表.性别, 学生基本信息表.班级名称 from 学生基本信息表 where(((学生基本信息表.性别)<>男)and((学生基本信息表.班级名称)<>计算机系));5 select 学生基本信息表.*, 学生基本信息表.出生日期 from 学生基本信息表 where(((month([出生日期]))=9)and((day([出生日
期]))=1));6 select 学生基本信息表.* from 学生基本信息表 where(((学生基本信息表.学生姓名)like 李*));3 实验结果 4 第3天 sql查询设计 1 sql语言查询 1 实验目的:
熟悉了解sql语句 5 篇四:sqlserver实验报告—数据库和表的创建
数据库实验报告
课程名称信息系统数据库技术 实验名称 数据表的管理 专业班级
姓 名
学 号 实验日期
实验地点 2012—2013学 第 一 学期 篇五:数据库上机实验报告sql server 2000 课程代码:1010000450 数据库 database 学分:3 总学时:48 实验学时:16 面向专业:信息与计算科学,数学与应用数学
一、实验教学目标
数据库是计算机科学与技术专业的专业必修课程。课程内容主要包括:数据模型、关系代数、关系数据库标准语言sql、关系系统、关系数据理论、数据库设计方法。学习本课程的过程中,只有通过上机实验,才能使学生真正深层次了解数据库系统的体系结构,掌握数据库系统的基础理论、技术和方法,掌握主流数据库管理系统sql server 2000的应用技术及数据库应用系统的设计、开发能力。
二、实验教学基本要求
认真阅读教材中与实验相关的章节内容,提前做好实验准备,做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后要根据要求做好总结,写出实验报告。
三、实验教材或实验指导书
《数据库系统概论》,萨师煊 王珊主编,高等教育出版社
四、考核方式与评分办法 实验成绩评定分两部分:上机实验操作占50%,实验报告占50%。
五、实验项目设置
六、实验内容与实验方式
实验一
安装sql server 2000
(一)实验内容 1.安装microsoft的数据库服务软件sql server 2000。以sql server2000企业版为例安装教程
第一步:打开安装文件中的“autorun”文件,安装程序会自动运行出现版本选择界面,我们以选择企业版为例。
第二步:在接下来的界面中选择“安装数据库服务器”选项。
第三步:这时出现安装向导,出现“计算机名”窗口。“本地计算机”是默认选项,其名称就显示在上面,我们按其默认点“下一步”。
第四步:接下来,在“安装选择”对话窗口中,同样按其默认项“创建新的sql server实例,或安装客户端工具”点下一步。
第五步:在 用户信息 窗口,输入用户信息,并接受软件许可证协议。
第六步:在 安装定义窗口,选择 服务器和客户端工具 选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习sql server很有用处。如果你已经在其它机器上安装了sql server,则可以只安装客户端工具,用于对其它机器上sql server的存取。
第七步:在 实例名 窗口,选择 默认 的实例名称。这时本sql server的名称将和windows 2000服务器的名称相同。第八步:在 安装类型 窗口,选择 典型 安装选项,并指定 目的文件夹。
第九步:在 服务账号 窗口,请选择 对每个服务使用统一账户...的选项。在 服务设置 处,选择 使用本地系统账户。如果需要 使用域用户账户 的话,请将该用户添加至windows server的本机管理员组中。
第十步:在 身份验证模式 窗口,请选择 混合模式...选项,并设置管理员sa账号的密码。如果需要更高的安全性,则可以选择 windows身份验证模式,这时就只有windows server的本地用户和域用户才能使用sql server了。
第十一步:在 选择许可模式 窗口,根据您购买的类型和数量输入(0表示没有数量限制)。每客户表示同一时间最多允许的连接数,处理器许可证表示该服务器最多能安装多少个cpu。笔者这里选择了 每客户 并输入了100作为示例。
第十二步:约10多分钟的安装时间,然后打开开始菜单下的sql子目录下的企业管理器。2.熟悉软件的使用以及各个组成部分。
第一:打开企业管理器,可以对本地的数据进行管理,也可以登录服务器端,即可以远程操作自己的数据库 ;
第二:登录查询分析器,可以通过sql管理语句,对数据库进行管理。
(二)实验方式与分组要求
老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。
实验二
启动sql server2000和建库、表
(一)实验内容 1.启动数据库服务软件sql server 2000。第一步:打开企业管理器,可以登录服务器端,即可以远程操作自己的数据库,登录步骤如下; 第二步:左侧方框中控制台根目录的子目录的sql server组上,右击,并新建sql server注册„; 第三步:在“服务器”一栏里输入想要登录的服务器ip地址,选择使用sql server身份验证,写入登录名和密码,就可以登录了。
第四步:登录查询分析器,可以通过sql管理语句,对数据库进行管理。2.在sql server 2000中建立数据库。
第一步:通过企业管理器进入服务器端以后,可以在数据库文件里“新建数据库”。第二步:输入数据库名称。
第三步:通过相关需求对数据库的相关属性进行设置,然后完成。3.在数据库上建立表。第一步:登录企业管理器
第二步:进入自己的database,并打开“表”选项;
第三步:在表选项右侧空白处,点击右键,选择“新建表„”;
第四步:在弹出的窗口中,分别填写列名,数据类型,长度和是否允许空值,然后关闭窗口。第五步:关闭窗口会弹出是否保存表,选择是,接下来弹出的窗口中填写表名即可。
(二)实验方式与分组要求
老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。
实验三
sql server2000查询分析器
(一)实验内容 1.启动数据库服务软件sql server 2000的查询分析器。第一步:在登录企业管理器的前提下,登录查询分析器。
第二步:登录查询分析器与登录企业管理器类似,需要输入ip地址或者如果是本地数据库,直接用windows身份验证即可。2.在查询分析器中建立表。
第一步:在查询分析器命令栏里输入以下语句: 定义一个学生-课程模式s-t create schema “s-t” authorization wang /*为用户wang定义了一个模式s-t*/ 然后点击“分析查询”和“执行查询”。第二步:在查询分析器命令栏里输入以下语句:
建立“学生”表student,学号是主码,姓名取值唯一 create table student(sno
char(9)primary key, /* 列级完整性约束条件*/ sname char(20)unique, /* sname取唯一值*/ ssex char(2), sage smallint, sdept char(20));然后点击“分析查询”和“执行查询”。
(二)实验方式与分组要求
老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。
实验四
sql语言的ddl
(一)实验内容 1.用如下语句对表进行操作:create table 建表;drop table 删除表;alter table 更改表。
create table student(sno char(4)primary key)drop table student /*当student表与其他数据有级联关系或者其他关系时,不能删除。*/ alter table student add s_entrance date null/*向student表增加“入学时间”列,其数据类型为日期型*/ alter table student drop column sno /*删除student表中的sno这一列,含有以下关系的列不能被删除: ? 被复制列。
? 用在索引中的列。
? 用在 check、foreign key、unique 或 primary key 约束中的列。? 有相关联的默认值(由 default 关键字定义)的列,或绑定到默认对象的列。? 绑定到规则的列。*/ 2.用如下语句对视图进行操作:create view 建视图;drop view 删除视图。/*创建一个is_student视图,视图中返回来自于表student中sdept=’is’的所有学生的sno,sname,sage列*/ create view is_student
as
select sno,sname,sage
from student where sdept=is /*删除is_student视图*/ drop view is_student 3.如下语句对索引进行操作:create index 建立索引;drop index 删除索引。/*创建一个stusname索引,在student 表中以sname列升序排列*/ create clustered index stusname on student(sname)/*删除student表中的stusname索引*/ drop index student.stusname
(二)实验方式与分组要求
老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。
实验五 sql语言的dml
(一)实验内容 1.启动数据库服务软件sql server 2000的查询分析器,用insert语句对表进行插入操作。/*将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:is;年龄:18岁)插入到student表中*/ insert into student(sno,sname,ssex,sdept,sage)values(200215128,陈冬,男,is,18)/*学生张成民的信息插入到student表中*/ insert into student values(200215126,张成民,18,cs,男)/*对表student中每一个系,求学生的平均年龄,并把结果存入表dept_age表中。*/ 第一步:create table dept_age(sdept char(15), /* 系名*/ avg_age smallint)/*学生平均年龄*/ 第二步:insert into dept_age(sdept,avg_age)
PB10011020 刘思轶
实验内容
本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。
实验原题摘要如下 数据关系模式:
航班FLIGHTS(String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity);
宾馆房间HOTELS(String location, int price, int numRooms, int numAvail); 出租车CARS(String location, int price, int numCars, int numAvail); 客户CUSTOMERS(String custName);
预订情况RESERVATIONS(String resvKey, String custName, int resvType)系统基本功能:
1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。
2.预定航班,出租车,宾馆房间。
3.查询航班,出租车,宾馆房间,客户和预订信息。4.查询某个客户的旅行线路。5.检查预定线路的完整性。6.其他任意你愿意加上的功能。
程序功能
本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。系统默认有三个角色,游客、用户和管理员。它们的权限如下
1、游客
查询当前航班、旅馆和出租车的预订情况;
2、注册用户
游客的所用权限; 查询当前预订;
预订航班、旅馆和出租车; 退订航班、旅馆和出租车。打印旅行路线
检查预定路线的完整性。检查航班的完备性
3、管理员
注册用户的所用权限 添加航班、旅馆和出租车信息; 更改航班、旅馆和出租车信息; 注册用户;
更改用户密码和权限; 删除注册用户; 查询用户预订; 取消用户预订; 查询用户旅行线路。
运行平台
本系统在Windows 7 32位 下由PHP-now虚拟的网络运行平台上测试.所需环境为: PHP Apache MySQL PhmyAdmin 环境搭建
打开集成环境php-now文件夹,点击init.cmd,会自动安装所需环境 接着在PHP后台中载入所需要的表
CREATE TABLE FLIGHTS(flightNum varchar(30), price int(6), numSeats int(6), numAvail int(6), FromCity varchar(30), ArivCity varchar(30), PRIMARY KEY(flightNum));CREATE TABLE HOTELS(location varchar(30), price int(6), numRooms int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CARS(location varchar(30), price int(6), numCars int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CUSTOMERS(custName varchar(30), password varchar(50), type varchar(20), PRIMARY KEY(custName));CREATE TABLE RESERVATIONS(resvKey int(20)AUTO_INCREMENT, custName varchar(30), resvType varchar(20), detail varchar(20), PRIMARY KEY(resvKey));
该程序所实现的功能
1.登录功能
登陆者身份分为游客和管理员,在数据库中信息都存放在customer表中,区别为type项不同,管理员为admin,游客为users,决定了权限不同.(1)普通游客登录后界面
(2)管理员登陆后界面
2.查询功能
登入http://127.0.0.1 可以选择查询航班,旅馆和出租车.3.游客-预订功能
4.游客-管理预订信息功能
点击自己的id可进入该功能页面,可以看到自己的旅游路线和预订信息,并可以取消预订.5.游客-检查线路完整性功能
当游客预订了从A到B的机票,则必须检查啊在A定了车(去机场),在B订了车和旅馆(下飞机后坐车和住宿),以此实现完整性检查.在从nanjing to beijing的旅游路线后面点击check,会提示游客还需要在nanjing预订汽车,在beijing预定旅馆。
6.管理员-管理航班,旅馆和出租车表
可以有insert delete 和update 几种操作.delete:
直接点击cancel就可删除相应的信息。insert & update: 点击edit后,程序会自动将想要编辑的行的信息填入供管理员编辑,不用再手动输入。
7.管理员-管理用户表
可以添加新用户,对用户的权限升级,查看用户信息.用户的密码是md5加密保存的。
实验小结
仍然存在的问题: 1.软件界面过于简单,仅仅实现了功能没有在用户可用性上多做考虑。
2.新用户想要登录该系统预订必须要由管理员登入信息后才可操作。缺少了游客注册的功能。
3.不能根据用户的需求点对点得查询相应信息,只能罗列出所有的信息。
实验心得: 1.在搭建PHP环境中遇到了许多问题:如用户权限不够,域名已使用使得Apache-20安装不成功,通过网上查阅资料解决问题。
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:管理数据库 实验日期:2013年4月11日 实验目的:
(1)熟练掌握在企业管理器中创建数据库的方法。(2)熟练掌握用SQL语句创建数据库的方法。
(3)熟练掌握使用创建数据库向导来创建数据库的方法。(4)熟练掌握数据库属性的设置。(5)掌握数据库的修改和删除方法。
实验内容、步骤及结果:
(1)使用企业管理器创建一个名为“SM193”的数据库,初始大小为1MB,最大为50MB,数据库自动增长,增长方式按10%增长;日志文件初始大小为2MB,最大大小不受限制,按1MB增长。
(2)通过查询分析器创建一个名为“进销存193”的数据库,指定主数据文件名进销存193_data,存储路径为d:example进销存193_data.maf,该数据文件的初始大小为10MB,最大为100MB,数据库自动增长,增长方式按10MB增长;指定主日志文件名为进销存193_log,存储路径为d:example进销存193_log.ldf,该日志文件初始大小为20MB,最大为200MB,按10MB增长。
(3)使用向导创建一个名为“工资管理193”的数据库,初始大小为1MB,最大为50MB,数据库自动增长,增长方式按10%增长;日志文件初始大小为2MB,最大不受限制,按1MB增长。
(4)使用企业管理器,修改SM193数据库的最大文件大小为200MB。(5)使用SQL语句,在SM193数据库中添加一个数据文件“SM193_Data1”。指定其初始大小为4MB,最大不受限制,增长方式按10%增长。
(6)使用SQL语句,将SM193数据库中的数据文件“SM193_Data1”的最大大小改为120MB。
(7)使用SQL语句,删除“进销存”数据库。
《数据库原理》实验报告二
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:创建表
实验日期:2013年4月20日 实验目的:
(1)熟练各种数据类型。
(2)能够运用T-SQL(Transact-SQL)语句正确创建表。(3)了解6种常用的数据完整性约束。(4)能够运用企业管理器正确创建表。
(5)学会用企业管理器设置常用的数据完整性约束。
实验内容、步骤及结果:
(1)使用T-SQL语句,创建SM193数据库中的学生表Student。
(2)创建SM193数据库中的课程表Course。
(3)创建SM193数据库中的选课表SC。
(4)输入如下SQL语句,查看表Student的定义。
(5)输入如下SQL语句,查看表Student与其他表之间的依赖关系。
(6)输入如下SQL语句,查看表Student上的约束。
(7)利用企业管理器提供的图形界面来创建“进销存193”数据库中的客户信息表c。
(8)用同样的方法创建货物表g和订单表o。(9)在表o的goodsname列上创建外键约束。
(10)在表o的quantity列上创建检查约束。
(11)使用企业管理器,把SM193数据库中的选课表SC的主码设置为SNo和CNo。
(12)查看表间的依赖关系。(13)向表中输入数据。
《数据库原理》实验报告三
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:数据的复制与恢复和表的维护 实验日期:2013年4月25日 实验目的:
(1)熟练掌握附加数据库的方法。(2)熟练掌握数据导入与导出的方法。(3)熟练进行数据库的备份和还原。(4)了解差异备份和完全备份。(5)熟练掌握用企业管理器修改表。
(6)能够运用T-SQL语句对表结构进行修改。(7)熟练掌握用企业管理器编辑表中的数据。
(8)能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。
实验内容、步骤及结果:
(1)对“进销存193”数据库进行附加操作。
(2)使用SQL语句对SM193数据库进行附加操作。
(3)对SM193数据库进行备份、删除及恢复。
(4)将SM193数据库中的数据导入到Excel表格中。
(5)将Excel表中的数据导入到SS数据库中。
(6)使用企业管理器为表Student增加一列。
(7)用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包括“@”字符。
(8)用SQL语句删除表Student中的列Address。
(9)使约束无效或重新有效。
(10)用SQL语句向表Student插入数据。
(11)用SQL语句修改表中的记录。
(12)用SQL语句删除表中的记录。
《数据库原理》实验报告四
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:常规数据查询 实验日期:2013年5月2日 实验目的:
(1)掌握SELECT子句以及WHERE子句的使用方法。(2)学会应用ORDER BY子句。(3)掌握5种基本的聚合函数。(4)学会分组统计和二次查询。
实验内容、步骤及结果:
(1)SELECT子句的应用。(查询所有教职工的信息)
(2)WHERE子句的应用。(查询所有0002部门的职工信息)
(3)ORDER BY子句的应用。(查询职工的年薪,并按年薪的升序排列)
(4)聚合函数的应用。(统计职工的工资总额)
(5)聚合操作与分组统计的应用。(求每个班的学生数)
(6)使用HAVING子句,查询学分大于30的学生,输出学生的学号和学分。
《数据库原理》实验报告五
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:多表查询与子查询 实验日期:2013年5月9日 实验目的:
(1)熟悉基本的连接操作,掌握内连接与外连接的方法,学会应用自身连接。
(2)掌握相关子查询的使用方法。(3)掌握嵌套子查询的使用方法。(4)学会应用子查询修改数据。
实验内容、步骤及结果:
(1)基本连接操作。(查询选修了电路基础课的学生)
(2)内连接操作。(查询每个学生及其选修课程情况,输出其学号、姓名、所选课程号及分数)
(3)外连接操作。(查询每个学生及其选修课程的情况)
(4)联合查询。
(5)交叉连接。(查询每个学生选修课程情况,并且输出其学号、姓名、所选课程号及其分数)
(6)自连接。(在表Teacher中,查询职工王莹的上级领导信息)
(7)使用IN关键字。(查询电路基础成绩不及格的男生名单)
(8)使用EXISTS关键字。(查询从未被选修的课程)
(9)运用比较运算符。(查询04信息一班的学生名单)
(10)使用子查询修改数据。(对每个班,求学生的平均年龄,并把结果存入数据库)
《数据库原理》实验报告六
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:视图和索引的创建与使用 实验日期:2013年5月11日 实验目的:
(1)掌握创建视图的方法。(2)能够对视图进行修改。(3)能够通过视图修改数据。(4)理解索引的概念及其作用。(5)掌握创建索引的方法。(6)学会使用索引。
(7)了解聚簇索引和非聚簇索引
实验内容、步骤及结果:
(1)创建视图。(创建040002班学生的视图)
通过SQL语句建立姓“王”的学生视图。然后插入一条姓“李”的记录。
(2)更新视图的定义。(使用SELECT语句查看建立的视图)
(3)删除视图s_gl。
(4)更新视图。(向040002班学生的视图C1_Student中插入一条记录)
使用SELECT语句查看视图C1_Student和基本表Student。
(5)在TName列上创建索引。
(6)使用索引向导,在SM193数据库中,为表Student创建索引。
(7)使用SQL语句在表Course上创建一个唯一性的聚簇索引,索引排列顺序为降序。
(8)使用SQL语句在表Course上创建一个非唯一性的非聚簇索引。
(9)查看表Course上的所有索引。
(10)删除表Course上的索引。
《数据库原理》实验报告七
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:用SQL语句完成下列操作 实验日期:2013年5月18日 实验目的:
(1)掌握创建数据库的方法。(2)能够用T_SQL创建表。
(3)掌握SELECT子句以及WHERE子句的使用方法。(4)能够运用SQL语句对表的数据进行修改。
实验内容、步骤及结果:
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称、颜色、重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
(6)出使用上海产的零件的工程名称;
(7)找出没有使用天津产的零件的工程号码;
(8)把全部红色零件的颜色改成蓝色;
(9)由S5 供给J4 的零件P6 改为由S3 供应;
(10)从供应商关系中删除供应商号是S2 的记录,并从供应情况关系中删除相应的记录;
(11)请将(S2,J6,P4,200)插入供应情况关系。
《数据库原理》实验报告八
学号:E01114193 姓名:刘雪平年级:计科三班 成绩:
实验名称:存储过程和触发器 实验日期:2013年5月23日 实验目的:
(1)了解及个别常用的系统存储过程。
(2)掌握如何使用T_SQL语句创建、执行和重编译存储过程。(3)了解如何使用企业管理器管理存储过程。(4)掌握如何使用企业管理器创建触发器。(5)了解如何使用企业管理器创建触发器。
(6)掌握ALTER触发器的用法,并了解INSETEAD OF触发器的用法。
实验内容、步骤及结果:
(1)创建存储过程。
执行存储过程
(2)使用输入参数。
按位置传递参数
通过参数名传递参数
(3)使用默认参数。
执行语句,比较结果
(4)使用输出参数。
执行存储过程ssc_6
(5)使用返回值。
执行存储过程ssc_7
(6)修改存储过程。
(7)查看存储过程。
(8)删除存储过程。
(9)创建触发器。
在企业管理器中向表Course中插入数据,并在SC上建立一个INSERT触发器
运行触发器,向表Course中插入记录
向表SC中加入选课记录,查看执行情况
将00010号课程的状态改为“0”
表SC的CNo列设置了外键约束,试用触发器实现这一功能
二、实验环境
WINDOWS XP 和 SQLServer200
5三、实验内容:
参照完整性定义
参照完整性检查和违约处理
属性上的约束条件的定义(1.不允许去控空值 2.劣质唯一 3.用CHECK短语指定列值应该满足的条件)
属性上的约束条件检查和违约处理
元祖上的约束条件的定义
完整性约束命名子句
修改表中的完整性限制
定义触发器
激活触发器
四、程序源码与运行结果
一、定义SC中的参照完整性。
CREATE TABLE SC
(Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno));
二、显式说明参照完整性的违约处理示例。
CREATE TABLE SC
(Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno)
ON DELETE CASCADE
ON UPDATE CASCADE
FOREIGN KEY(Cno)REFERENCES Course(Cno)
ON DELETE NO ACTION
ON UPDATE CASCADE);
三、在定义SC表时,说明Sno,Cno,Grade属性不允许取空值。
CREATE TABLE SC
(Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT NOT NULL,PRIMARY KEY(Sno,Cno),四、建立部门表 DEPT,要求部门名称 Dname列取值唯一,部门编号Deptno列为主码。(列值唯一)
CREATE TABLE DEPT
(Deptno NUMERIC(2),Dname CHAR(9)UNIQUE,Location CHAR(10),PRIMARY KEY(Deptno)
五、Student表中Ssex只允许“男”或“女”。(用 CHECK 短语指定列值应该满足的条件)CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY,Sname CHAR(8)NOT NULL,Ssex CHAR(2)CHECK(Ssex IN(„男‟,„女‟)),Sage SMALLINT,Sdept CHAR(20)
六、当学生的性别是男时,其名字不能以 MS.打头。(元组上的约束条件的定义)CREATE TABLE Student
(Sno CHAR(9),Sname CHAR(8)NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno),CHECK(Ssex=„女‟ OR Sname NOT LIKE „ MS.% ‟));
七、完整性约束命名子句
CONSTRAINT <完整性约束条件名> [PRIMARY KEY 短语ㄧCHECK 短语]
例1:建立学生登记表Student,要求学号在90000-99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。
CREATE TABLE Student
(Sno NUMERIC(6)
CONSTRAINT C1 CHECK(Sno BETWEEN 90000 AND 99999),Sname CHAR(20)
CONSRAINT C2 NOT NULL,Sage NUMERIC(3)
CONSTRAINT C3 CHECK(Sage < 30),Ssex CHAR(2)
CONSTRAINT C4 CHECK(Ssex IN(„男‟,„女‟)),CONSTRAINT StudentKEY PRIMARY KEY(Sno));
例2:建立教师表 TEATHER,要求每个教师的应发工资不低于3000元。应发工资实际上就是实发工资例Sal与扣除项Deduct之和。
CREATE TABLE TEATHER
(Eno NUMERIC(4)PRIMARY KEY,Ename CHAR(10),Job CHAR(8),Sal NUMERIC(7,2),Deduct NUMERIC(7,2),Deptno NUMERIC(2),CONSTRAINT EMPFKey FOREIGN KEY(Deptno)REFERENCES DEPT(Deptno),CONSTRAINT C1 CHECK(Sal+Deduct >=3000));
八、限制修改表Student中的约束条件,要求学号改在900000-999999之间,年龄由小于30改为小于40。(修改表中的完整性)
可以先删除原来的约束条件,再增加新的约束条件。
ALTER TABLE Student
DROP CONSTRAINT C1;
ALTER TABLE Student
ADD CONSTRAINT C1 CHECK(Sno BETWEEN 900000 AND 999999),ALTER TABLE Student
DROP CONSTRAINT C3;
ALTER TABLE Student
ADD CONSTRAINT C3 CHECK(Sage <40);
九、SQL 使用 CREATE TRIGGER 命令建立触发器,其一般格式为
CREATE TRIFFER <触发器名>
{ BEFORE AFTER } <触发事件> ON <表名>
FOR EACH {ROW STATEMENT}
[WHEN <触发条件>]
<触发动作体>
例:定义一个BEFORE 行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于40000元,自动改为4000元”。
CREATE TRIGGER Insert_Or_Sal
BEFORE INSERT OR UPDATE ON Teacher
FOR EACH ROW
AS BEGIN
IF(new.Job=‟教授‟)AND(new.Sal<4000)THEN
new.Sal :=4000;
END IF;
END;
十、执行修改某个教师工资SQL语句,激活上述定义的触发器。
UPDATE Teacher SET Sal=800 WHERE Ename=„陈平‟;
执行顺序是:
执行触发器 Insert_Or_Update_Sal;
执行SQL语句“UPDATE Teacher SET Sal=800 WHERE Ename="陈平";" 执行触发器Insert_Sal;
执行触发器Update_Sal.十一、删除触发器的SQL语法如下:
DROP TRIGGER <触发器名> ON <表名>;
触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户的删除.例: 删除教师表 Teacher 上的触发器 Insert_Sal。
DROP TRIGGER Insert_Sal ON Teacher;
五、实验总结
在实验过程中我对于创建和修改触发器和完整性约束的语法搞不明白
廖尔崇
2011-6-16
正文内容一般如下:
1、需求分析,比如运用面向对象里的用例图来表示,比如可以对登录用户分为几种角色。
2、系统功能设计,可以用模块结构图、功能结构图来描述。
3、数据库概念设计(含ER图)
4、数据库逻辑设计,含数据库的表、视图、范式分析、参照完整性设计、用户自定义完整性设计。如有时间,可以尝试触发器、存储过程
5、系统编码与实现。根据编码实际自由撰写。可以有主要功能截图和部分核心代码。
正文的其他要求
1、总的页数介于13页与25页之间。
2、核心代码的页数不要超过3页。
报告提交要求:
1、以班级为单位,统一提交。提交前由班长或者学委统一核查封面是否正确。
2、提交日期不晚于做完实验后五日。
特别提醒:
1、注意封面不要修改报告提交时间、指导教师、名称。
create相关
show database; 显示出现有的数据库
use database_x; 现在要使用数据库database_x
create table coffee (id int(5) not null,coffee_name var25)); 创建一张表,包含id和coffee_name两个字段
alter table coffee add taste var10); 增加新的一列
into coffee (id,coffee_name,taste,rank) value (“1”,“BlueMountain”,“well”,“5”); 插入数据
show columns from coffee; 查看表结构
show create table coffee; 查看表信息,包括建表语句
alter table student rename ss; 改变表名
alter table ss drop mark; 删除表ss中mark列
select语句
select * from coffee where id=“1”; 查询出id=1的所有信息
select coffee_name from coffee where id=“2”; 查询出id=2的coffee name
select * from club where id between “1” and “3”; 查询出id=1到3的条目
select * from club where id=“1” or id=“3”; 查询出id=1和id=3这两个条目
select club_name from club where mark>50; 查询出mark大于50的club
select club_name from club where mark not between 48 and 50; 查询mark不在48与50之间的club
select * from club where id in(“1”,“3”,“4”); 查询id=1,3,4的条目
select * from club where id not in(“1”,“3”,“4”);
select * from club where name like “M%r”; 通配符%表示任意长度的字符(可以是0,汉字为两个字符)
select * from club where name like “M_r”; _表示单个字符
select * from club where id in(“1”,“3”,“4”) and mark>50; 多重查询
select * from club order by mark desc; 按照mark降序排列(desc:降序,usc:升序)
数量查询相关
select count(*) from club; 查询club中有多少条记录
select count(distinct mark) from club; 不同分数的有多少条记录
select sum(mark) from club; 积分总和
select avg(mark) from club;平均积分
select max(mark) from club; 最高积分
select min(mark) from club; 最低积分
update语句
club set mark=mark-8 where id=“1”; id=1的俱乐部积分罚8分
语句
from club where id=“001”; 删除id=001的俱乐部信息
以上语句都是SQL语句增删改查最基本的部分,属于入门级别,一定要掌握。
2、数据库系统的控制中枢是__B_。A、数据库、b、数据库管理系统C、数据库管理员D、数据库应用系统
3、使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是__C_。
A、UPDATE SET AGE WITH AGE+1
B、REPLACE AGE WITH AGE+1
C、UPDATE STUDENT SET AGE=AGE+1
D、UPDATE STUDENT AGE WITH AGE+1
4、在关系数据库中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于__B__。
A、视图完整性约束B、域完整性约束C、参照完整性约束D、实体完整性约束
5、在 SQL 语句中,与 X BETWEEN 20 AND 30 等价的表达式是__D_。A、X>=20 AND X<30
B、X>20 AND X<30
C、X>20 AND X<=30
D、X>=20 AND X<=30
6、在数据库中,概念模型是_D__。A、用于现实的建模,与具体的DBMS有关B、用于信息世界的建模,与具体的DBMS有关
C、用于现实的建模,与具体的DBMS无关D、用于信息世界的建模,与具体的DBMS无关
7、数据库的并发操作可能带来的问题包括__B_。A非法用户的使用B丢失更新C数据独立性会提高D增加数据冗余度
8、在关系数据库中,模式对应的是__A___。A、视图和所有基本表
B、视图和部分基本表
C、基本表
D、索引
9、能实现绝对的与平台无关性的Web数据库访问技术是_D_。A、ADO
B、ActiveX
C、WebbaseAPI
D、JDBC
10、在下列描述中,正确的描述是__B___。
A、SQL 是一种过程化语言B、SQL 采用集合操作方式
C、SQL 不能嵌入到高级语言程序中
D、SQL 是一种 DBMS
11、数据库系统是由__A__组成的。A、数据库、数据库管理系统和用户
B、数据文件、命令文件和报表
C、数据库文件结构和数据
D、常量、变量和函数
12、在SQL查询时,使用WHERE子句指出的是__B__。A、查询目标B、查询条件C、查询视图D、查询结果
13、在下列 RDMBS 产品中,属于小型数据库系统的是_A_。A、Access B、Oracle C、Sybase D、Informix
14、数据库类型是按照_A_来划分的。
A、数据模型B、记录形式C、数据存取方法D、文件形式
15、作为Microsoft Office家族成员之一的_A_数据库,能够与其他Office组件进行数据交换共享数据资源,易于生成集文字处理、图表生成和数据管理于一体的办公自动化系统。A、Access
B、Oracle
C、Sybase
D、Informix
16、数据库管理系统更适合于_D_方面的应用。A、CAD
B、过程控制C、科学计算D、数据处理
17、下列四组SQL命令,全部属于数据定义语句的命令是_C__。A、CREATE,DROP,ALTER
B、CREATE,DROP,UPDATE
C、CREATE,DROP,GRANT
D、CREATE,DROP,SELECT
18、通过Internet及浏览器处理的数据库,应该是_C__处理。A、集中式
B、分布式
C、主从结构式D、以上3种模式
19、数据的逻辑独立性是指__D_。A、数据与存储结构的逻辑独立性 B、数据元素之间的逻辑独立性
C、存储结构与物理结构的逻辑独立性
D、数据与程序的逻辑独立性
20、在数据库技术中,独立于计算机系统的模型是_C__。A面向对象的模型
B关系模型
C、E-R模型
D、层次模型
21、关系代数的3个基本运算是–D--、投影、连接。A、关系与B、蕴含C、关系或D、选择
22、下面命题不正确的是:A、若冗余数据可以控制,则数据更新的一致性得以保证
B、数据库减少了不必要的数据冗余C、数据库的数据可以共享D、数据库中不存在数据冗余
23、在基本SQL中不可以实现: A、定义视图B、并发控制C、定义基表D、查询视图和基表
24、用二维表来表示实体及实体之间联系的数据模型称为_C___。
A、实体-联系模型B、层次模型C、关系模型D、网状模型
25、查找工资在600元以上并且职称为工程师的纪录,逻辑表达式为_D___。
A、“工资”>600.OR.职称=“工程师”
B、工资>600.AND.职称=工程师
C、“工资”>600.AND.“职称”=“工程师”
D、工资>600.AND.职称=“工程师”
26、数据库镜像可以用于__C_。(1分)
A、实现数据库的安全性
B、实现数据共享C、进行数据库恢复或并发操作D、保证数据库的完整性
27、在下列类型的数据库系统中,应用最广泛的是__C___。(1分)
A、分布型数据库系统B、逻辑型数据库系统C、关系型数据库系统D、层次型数据库系统
28、在下列描述中,正确的描述是__B__。(1分)A、SQL 是一种过程化语言B、SQL 采用集合操作方式
C、SQL 不能嵌入到高级语言程序中
【sql数据库实验报告】推荐阅读:
sql数据库期末考试题11-18
北邮数据库实验报告07-07
数据库实验报告册09-20
华师数据库实验报告10-03
《数据结构》实验报告——排序05-30
数据处理上机实验报告06-25
网络数据采集实验报告10-09
数据结构实验3报告doc09-06
福州大学数据结构实验报告-线性表06-24