SQLSERVER数据库实验报告(详细).doc_第1页
SQLSERVER数据库实验报告(详细).doc_第2页
SQLSERVER数据库实验报告(详细).doc_第3页
SQLSERVER数据库实验报告(详细).doc_第4页
SQLSERVER数据库实验报告(详细).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理及应用实验报告学号: 姓名:实验1一、实验目的:熟悉SQL Server使用界面,掌握使用SSMS和SQL语句创建并设置数据库。二、实验原理:1.使用SSMS创建数据库2.创建数据库语句:CREATE DATABASE 数据库名 ON PRIMARY /指定一个文件为主要文件 ,n ,n LOG ON ,n := (NAME=逻辑文件名, FILENAME=操作系统下的文件名和路径 ,SIZE=文件初始容量 ,MAXSIZE=文件最大容量|UNLIMITED ,FILEGROWTH=递增值),n:=FILEGROUP 文件组名,n3.修改数据库语句:ALTER DATABASE 数据库名 ADD FILE ,n TO FILEGROUP 文件组名 |ADD LOG FILE,n |REMOVE FILE 逻辑文件名 |ADD FILEGROUP 文件组名 |REMOVE FILEGROUP 文件组名 |MODIFY FILE |MODIFY FILEGROUP 文件组名 文件组属性:= (NAME=逻辑文件名 ,FILENAME=实际文件名和路径 ,SIZE=容量 ,MAXSIZE=最大容量|UNLIMITED ,FILEGROWTH=递增量)三、实验内容:1. 使用SQL语句完成下题(1) 使用CREATE DATABASE语句创建一个名为“st”数据库,要求主要数据文件:逻辑文件名为“stdata1”,实际文件名为“stdata1.mdf”事务日志文件:逻辑文件名为“stlog1”,实际文件名为“stlog1.ldf”初始容量均为3MB,最大容量均为10MB,递增量均为1MB。(2) 使用CREATE DATABASE语句创建一个名为“student”数据库,要求主要数据文件:逻辑文件名为“studentdata1”,实际文件名为“studentdata1.mdf”非主要数据文件:逻辑文件名为“studentdata2”,实际文件名为“studentdata2.ndf”事务日志文件:逻辑文件名为“studentlog1”,实际文件名为“studentlog1.ldf”初始容量均为3MB,最大容量均为10MB,递增量均为1MB。(3) 使用ALTER DATABASE语句在“st” 数据库中添加一个数据文件和一个事务日志文件,其逻辑文件名分别为“studentdata3”和“studentlog2”,其实际文件名分别为“studentdata3.ndf”和“studentlog2.ldf”,初始容量均为1MB,最大容量均为10MB,递增量均为1MB;然后将数据文件studentdata3的初始容量增加到5MB,上限增加到20MB。 解:(1)create database st on primary (name=stdata1, filename=d:xsstdata1.mdf, size=3mb, maxsize=10mb, filegrowth=1mb) log on (name=stlog1, filename=d:xsstlog1.ldf, size=1mb, maxsize=10mb, filegrowth=1mb) go (2)create database student on primary (name=studentdata1, filename=d:xsstudentdata1.mdf, size=3mb, maxsize=10mb, filegrowth=1mb), (name=studentdata3, filename=d:xsstudentdata2.ndf, size=1mb, maxsize=10mb, filegrowth=1mb) log on (name=studentlog1, filename=d:xsstudentlog1.ldf, size=1mb, maxsize=10mb, filegrowth=1mb) go (3)alter database st add file (name=studentdata3, filename=d:xsstudentdata3.ndf, size=1mb, maxsize=10mb, filegrowth=1mb), (name=studentlog2, filename=d:xsstudentlog2.ldf, size=1mb, maxsize=10mb, filegrowth=1mb) alter database st modify file (name=studentdata3, size=5mb,maxsize=20mb) 实验2 一、实验目的:掌握使用SSMS和SQL语句创建并管理数据库表.二、实验原理:1.在SSMS上创建数据库表2.创建数据库表语句:CREATE TABLE数据库名.拥有者表名 (),n :=字段名 数据类型 DEFAULT 常量表达式|IDENITY(种子,增量),n3.创建约束CONSTRAINT 约束名 NULL|NOT NULLCONSTRAINT 约束名 PRIMARY EYCLUSTERED|NONCLUSTERED(字段名,16)CONSTRAINT 约束名DEFAULT 默认值FOR字段名CONSTRAINT 约束名 UNIQUECLUSTERED|NONCLUSTERED (字段名,16)CONSTRAINT 约束名 FOREIGN KEY(字段名,16) REFERENTCES 引用表名(引用字段名,16)CONSTRAINT 约束名CHECK(条件表达式)4.修改数据库表ALTER TABLEALTER COLUMN 字段名 新数据类型(精度,小数位数) NULL|NOT NULLALTER TABLE 表名ADD字段定义|字段名AS计算机字段表达式,nALTER TABLE 表名DROP COLUMN 字段名,nALTER TABLE 表名ADD CONSTRAINT 约束定义,nALTER TABLE 表名DROP CONSTRAINT 约束名,n三、实验内容1.使用SQL语句完成下题:(1) 使用CREATE TABLE语句创建一个学生表,其中包含以下字段:学号(int,自动编号,种子为200001,增量为1,定义为主键);姓名(varchar(8),not null);专业(varchar(20),null,)。(2) 使用CREATE TABLE语句创建一个成绩表其中包含以下字段:学号(int,not null);课程号(int,not null);成绩(real,null,)。(3) 使用alter table语句新增学生表和成绩表之间的外键联系,并新增对成绩的检查性约束。 解:(1) create table 学生表 (学号 int identity (200001,1) primary key , 姓名 varchar(8) not null, 专业 varchar(20) null ) (2) create table 成绩表 (学号 int not null, 课程号 int not null, 成绩 real null) (3) alter table 成绩表 add constraint gjmg foreign key(学号) references 学生表(学号), constraint fhjg check (成绩=0 and 成绩= 2 order by 订单数 (6) update 业务员 set 月薪= 1.1* 月薪 (7) select 业务员姓名,年龄 from 业务员 where 月薪 all (select avg (月薪) from 业务员) (8) update 业务员 set 月薪=1.05*月薪 where 业务员编号 in (select 业务员编号 from 订单 group by 业务员编号 having sum(金额)20000 ) (9) select 业务员姓名,订单号,z.客户编号,金额 from 业务员x,订单y,客户z where x.业务员编号= y.业务员编号and y.客户编号=z.客户编号and 金额=20007.5(1)SELECT ENO,ENAME FROM EMP WHERE ENO IN (SELECT ENO FROM WORKS WHERE CNO =C4 OR CNO=C8 GROUP BY ENO HAVING COUNT(CNO)1) (2)SELECT ENO,ENAME FROM EMP WHERE ECITY IN(SELECT CITY FROM COMP WHERE CNO IN (SELECT CNO FROM WORKS) (3)SELECT ENO ,COUNT (CNO) AS NUM,SUM(SALARY)AS SUM_SALARY FROM WORKS WHERE ENO IN (SELECT ENO FROM EMP) GROUP BY ENO (4)SELECT DISTINCT ENO FROM WORKS WHERE CNO IN (SELECT CNO FROM WORKS WHERE ENO=E6) (5)UPDATE WORKS SET SALARY =100+SALARY WHERE ENO IN (SELECT ENO FROM EMP WHERE AGE50) (6)DELETE FROM WORKS WHERE ENO IN ( SELECT ENO FROM EMP WHERE AGE 60) (7)CREATE VIEW EMP_WOMAN AS SELECT EMP.ENO,ENAME,WORKS.CNO,CNAME,SALARY FROM (EMP JOIN WORKS ON EMP.ENO = WORKS.ENO) JOIN COMPON WORKS.CNO = COMP.CNO WHERE SEX=女 (8)SELECT CNO,ENO FROM WORKS WHERE CNO IN(select CNO FROM COMP WHERE CITY=上海) (9)select ENAME from EMP WHERE ENO NOT IN (SELECT ENO FROM WORKS WHERE CNO IN (SELECT CNO FROM COMP WHERE CITY=上海) (10)SELECT ENO ,ENAME FROM EMP WHERE ENO IN (SELECT ENO FROM WORKS WHERE SALARY 1000 AND CNO IN (select CNO from COMP where CNAME=IBM) AND SEX=男 7.3 订单订单号 日期客户编号业务员编号 金额001 2010-09-088331 1991100000002 2011-05-128334 19932000000003 2010-10-118332 1992200000004 2010-11-128333 1993300000005 2010-12-138334 1994400000006 2011-01-018335 1995500000007 2011-01-238333 19922500000008 2011-02-058332 1995320000009 2011-03-068331 19943500000010 2011-04-128334 19922400000 客户客户编号客户姓名地址类别A1张国荣江西南昌xxA2李斯江西上饶yyA3刘德华浙江杭州zzA4陈凯歌福建厦门xyA5李连杰钓鱼岛yz 业务员业务员编号业务员姓名性别年龄月薪1991刘欢男2518001992无名男2420001993长风男2822001994飞雪女2215001995残剑男2128007.5 COMPCNOCNAMECITYC1 国防部 北京 C2 外交部 上海 C3 卫生部 珠海 C4 外汇局 深圳 C5 住建部 南昌 C6 教育部 天津 C7 发改委 南昌 C8 文化部 上饶 C9 全国妇联 纽约 C10 IBM 南昌 EMPENOENAMEAGESEXECITYE1 海峰 22 女 南昌 E2 佩佩 25 女 纽约 E3 艾艾 26 男 北京 E4 明明 35 女 上海 E5 羽灵 36 男 深圳 E6 莉莉 34 男 杭州 E7 渐渐 45 男 珠海 E8 佳佳 46 女 广州 E9 可可 54 女 香港 E10 瓜瓜 51 男 上饶 WORKSE1 C1 2500E2 C2 2000E3 C3 1500E4 C4 800E5 C5 900E6 C6 1800E7 C7 3600E8 C8 4500E3 C10 1600E10 C2 4400E1 C4 3400E3 C9 2300E4 C8 1500实验四、设计性实验:建立小型数据库管理系统一、实验目的熟悉数据库建立及应用的方法,系统的应用数据库。二、实验原理1.创建数据库语句:CREATE DATABASE 数据库名 ON PRIMARY /指定一个文件为主要文件 ,n ,n LOG ON ,n FOR LOAD/提供与SQL Server早期版本的兼容性 | FOR ATTACH/将已经存在的数据库文件连接进来:= (NAME=逻辑文件名, FILENAME=操作系统下的文件名和路径 ,SIZE=文件初始容量 ,MAXSIZE=文件最大容量|UNLIMITED ,FILEGROWTH=递增值),n:=FILEGROUP 文件组名,n2.修改数据库语句:ALTER DATABASE 数据库名 ADD FILE ,n TO FILEGROUP 文件组名 |ADD LOG FILE,n |REMOVE FILE 逻辑文件名 |ADD FILEGROUP 文件组名 |REMOVE FILEGROUP 文件组名 |MODIFY FILE |MODIFY FILEGROUP 文件组名 文件组属性:= (NAME=逻辑文件名 ,FILENAME=实际文件名和路径 ,SIZE=容量 ,MAXSIZE=最大容量|UNLIMITED ,FILEGROWTH=递增量)3.备份,恢复数据库原理语句: RESTORE DATABASE 数据库 FROM 备份设备名EXEC sp_attach_db 数据库名,文件名 ,164.创建数据库表语句:CREATE TABLE数据库名.拥有者表名 (),n :=字段名 数据类型 DEFAULT 常量表达式|IDENITY(种子,增量) ,n5.选择查询语句:SELECT 字段列表 (指定输出字段) INTO 新表 (将检索结果存储到一张新表) From 数据源 (指定检索的数据来源) WHERE 搜索条件(指定对记录的过滤条件 GROUP BY 分组表达式(对检索到的记录分组) HAVING 搜索表达式(指定对记录的过滤条件) ORDER BY 排序表达式(对检索到的记录进行排序处理)三、实验内容1.数据库的设计根据实际情况建立E-R数据模型,需要考虑的实体有学生、班级、课程。其中E-R简图如下:学生班级课程属于1n学习nm其中班级实体的属性为班级名称、班长学号等;学生属性为学号、姓名等;课程属性为课程号、课程名称;学习联系的属性为学生号、课程号、成绩。其他属性自行设计。2.数据库的建立建立数据库及相应的数据库表。3.数据库的使用a. 在数据库表中插入数据b. 设计SQL语言使其分别满足下列要求:查找学号为20070101的学生姓名;查找“计算机基础”课程的课程编号;查找20070102号同学学习的课程名;查找学习“C语言”课程的学生学号;查找200701班班长的姓名;查找成绩高于80分的学生学号;查找“C语言课程”的平均成绩;所有设计语句请在sql server中检验。.实验报告要求画出你所设计的数据模型,并给出你所建立的数据库表结构,写出你的数据库及数据库表的建立的语句,给出符合上述条件的select语句数据模型:课程名称班级姓名学生属于课程学习班级班长学号学号姓名课程号学习联系成绩数据库表的结构: 班级班级名称班长姓名 学生学号姓名课程课程号课程名称学习联系学号课程号成绩语句:create database ston primary(name=st,filename=c:sqlst.mdf,size=3mb,maxsize=10mb,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论