数据库试验答案

合集下载

数据库实验题目及答案

数据库实验题目及答案

数据库实验
一、题目
药品(编号,名称,价格,厂商)
处方(药品编号,数量,医生编号)
医生(编号,姓名,科室,职称)
根据上面基本表的信息完成下列查询。

1 列出医生“张力”开的所有药品名称。

2 列出比“北方制药”所有药品都贵的药品信息。

3 列出内科所有处方的医生姓名、药品名称、金额
二、答案
题目一
连接查询
select 名称
from Yao ,Chu,Dr
where Yao.编号=Chu.药品编号and Chu.医生编号=Dr.编号and 姓名='张力'
嵌套查询
select 名称
from Yao
where 编号in(select 药品编号
from Chu
where 医生编号in(select 编号
from Dr
where 姓名= '李丽'))
题目二
select *
from Yao
where 价格>all(select 价格from Yao where 厂商='北方制药')
题目三
select 姓名,名称,价格
from Yao ,Chu,Dr
where Yao.编号=Chu.药品编号and Chu.医生编号=Dr.编号and 科室='内科'。

数据库实验6 数据完整性(答案)

数据库实验6 数据完整性(答案)

实验6 数据完整性学号:18103317专业:电子信息工程一、实验内容和步骤1.为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。

(1)复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。

完成以下代码实现该操作。

SELECT * INTO stu_phone FROM 学生表ALTER TABLE stu_phone ADD CHAR(7)NULLstu_phone表结构如图1-10所示。

图1-10 stu_phone表结构(2)创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。

Create rule phone_ruleAs @value like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'(3)使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。

sp_bindrule phone_rule, 'stu_phone.电话号码'(4)插入操作输入以下数据:学号姓名电话号码0009 王国强1234yyy是否可以成果插入?如果出现错误,请列出错误信息,为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查?消息213,级别16,状态1,第1 行插入错误: 列名或所提供值的数目与表定义不匹配。

2.创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。

CREATE RULE stusex_ruleAS @性别in ('男','女')3.使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext 查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。

数据库实验答案(樊辰自制,仅供参考)

数据库实验答案(樊辰自制,仅供参考)

create database StudentCoursegouse studentcoursego--在student数据库中,创建三张表create table students(Sno char(7) Primary Key,Sname varchar(8) NOT NULL,Ssex char(2),Sbirthday datetime,Sdept char(10),Smemo char(30))gocreate table courses(Cno char(4),Cname varchar(12),CpreCno char(4),Ccredit tinyint,constraint PK_course primary key(cno))gocreate table sc(Sno char(7) Foreign key references students(sno),Cno char(4) Foreign key references courses(cno),grade tinyint,primary key(sno,cno))go--分别向三张表中添加数据库insert into students values('0602001','钟振华','男','1987-05-01','计算机','优秀毕业生') insert into students values('0602002','吴家硕','女','1987-03-24','计算机','爱好:音乐') insert into students values('0602003','吴春斌','男','1988-07-01','计算机',NULL) insert into students values('0701001','王腾飞','男','1988-05-04','机电','爱好:音乐') insert into students values('0701002','林世伟','女','1987-04-03','机电','爱好:体育') insert into students values('0701003','李乐仪','女','1986-03-03','机电',null)insert into students values('0703001','李奇','男','1988-09-17','工商管理',null)goinsert courses values('c1','数据结构',null,4)insert courses values('c2','数据库原理','c1',4)insert courses values('c3','大型数据库','c2',3)insert courses values('c4','高尔夫',null,1)goinsert sc values('0602001','c1',61)insert sc values('0602001','c2',72)insert sc values('0602001','c3',88)insert sc values('0602002','c1',null)insert sc values('0602002','c2',61)insert sc values('0701001','c1',50)insert sc values('0701001','c2',null)insert sc values('0701002','c3',78)insert sc values('0701003','c1',52)insert sc values('0701003','c3',87)go--查询表中数据select * from studentsgo--删除表中数据delete scgo--删除表drop table studentsgo--3①查询计算机系全体学生的信息select *from Students--3②查询姓“李”的学生的学号和姓名。

数据库实验多表查询参考答案

数据库实验多表查询参考答案

from OrderMasterwhere orderSum=(select max(orderSum)from OrderMaster)(8)在订单主表中查询订单金额大于“E2005002业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

SELECT*FROM OrderMasterWHERE orderSum>any(SELECT orderSumFROM OrderMasterWHERE salerNo='E2005002'AND orderDate='20080109')(9)查询单价高于400元的商品编号、商品名称、订货数量和订货单价。

SELECT a.productNo,productName,quantity,priceFROM Product a, OrderDetail bWHERE a.productNo=b.productNo AND price>400ORDER BY productName(10)分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

左外连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a LEFT OUTER JOIN OrderDetail bON a.productNo=b.productNoWHERE price>400Select a.productNo , a.productName , b.quantity,b.priceFrom OrderDetail As b left JOIN Product As aON(a.productNo=b.productNo)and price>400•这两个左外连接,第一个是先去掉单价小于等于400的商品,然后执行左外连接,该查询的结果表明商品表中所有单价高于400的商品全部被订购了第二个左外连接是将那些单价小于等于400的商品用空值替代右外连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a RIGHT OUTER JOIN OrderDetail bON a.productNo=b.productNoWHERE price>400Select a.productNo , a.productName , b.quantity,b.priceFrom OrderDetail As b RIGHT JOIN Product As aON(a.productNo=b.productNo)and price>400全连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a FULL OUTER JOIN OrderDetail bON a.productNo=b.productNoWHERE price>400Select a.productNo , a.productName , b.quantity,b.price From OrderDetail As b full JOIN Product As a ON(a.productNo=b.productNo)and price>400右外连接和全外连接的分析同左外连接从上述结果可知:若表a和表b做外连接,且b表是外码表,则a和b表左外连接可能会出现空值,但是右连接一定不会出现空值,全外连接与左外连接一样的结果。

数据库实验5答案

数据库实验5答案

实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。

二、实验环境已安装SQL Server企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。

1) 查询选修了计算机体系结构的学生的基本信息。

select*from studentwhere Sno in(select Sno from coursewhere Cno in(select Cno from sc where Cname='计算机体系结构'))2) 查询年龄比李勇小的学生的学号和成绩。

select a.sno,grade from student a,coursewhere a.sno=course.sno and sage<(select sage from student where sname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。

select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1')4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。

select*from student where dnum<>'D3'AND SAGE>all(selectsage from student where dnum='D3')5) 查询‘C1’课程的成绩高于70的学生姓名。

数据库实验报告及答案

数据库实验报告及答案

实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求:1.列出所有的SQL语句和源代码;2.程序要求有适当的注释;3.对数据完整性约束实施要求给出相应的测试用例。

4.实验报告提交电子档。

实验内容:一:创建表、更新表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。

2.了解表的结构,建立所有表的关系图。

3.利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。

4.查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)5.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。

SELECT*INTO PremiumToysFROM ToysWHERE Toys.mToyRate>20;6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。

ALTER TABLE ToysADD CONSTRAINT C1CHECK (siToyQoh BETWEEN 0 AND 200);ALTER TABLE ToysADD CONSTRAINT C2default(1)for siLowerAge;7.给id为‘000001’玩具的价格增加$1。

update Toys set mToyRate=mToyRate+1 where cToyId='000001';8. 列出表PickofMonth中的所有记录,并显示中文列标题。

SELECT cToyId[玩具编号],siMonth[生产月份],iYear[生产年份],iTotalSold [销售总量]FROM PickofMonth;二:查询数据库1.显示属于California和Illinoi州的顾客的名、姓和emailID。

数据库技术实验报告的答案

数据库技术实验报告的答案

数据库技术实验报告的答案实验目的:本次实验旨在加深对数据库管理系统(DBMS)的理解,掌握数据库设计、实现和查询的基本技能,并通过实际操作来熟悉SQL语言的运用。

实验环境:1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 开发工具:Visual Studio Code实验内容:1. 数据库的创建与设计2. 数据表的创建与数据类型选择3. 数据的插入、更新与删除4. SQL查询语句的编写与执行5. 数据库的备份与恢复实验步骤与结果:1. 数据库的创建与设计:- 使用MySQL命令行工具创建名为“StudentsDB”的数据库。

- 设计了三个表:Students(学生信息),Courses(课程信息),Enrollments(选课信息)。

2. 数据表的创建与数据类型选择:- 为Students表创建字段:StudentID(INT,主键),Name (VARCHAR(50)),Age(INT),Gender(CHAR(1))。

- 为Courses表创建字段:CourseID(INT,主键),CourseName (VARCHAR(100)),Credits(INT)。

- 为Enrollments表创建字段:EnrollmentID(INT,主键),StudentID(INT),CourseID(INT),Grade(CHAR(2)),并设置StudentID和CourseID为外键。

3. 数据的插入、更新与删除:- 向Students表插入了10条学生记录。

- 向Courses表插入了5门课程记录。

- 通过Enrollments表记录了学生的选课情况,包括成绩。

- 使用UPDATE语句更新了学生的选课成绩。

- 使用DELETE语句删除了某些学生的选课记录。

4. SQL查询语句的编写与执行:- 编写了多条SELECT语句,查询了学生信息、课程信息以及学生的选课情况。

- 使用了JOIN操作查询了学生与其选修课程的关联信息。

数据库上机实验题目和答案

数据库上机实验题目和答案

数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/1411529677.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/1411529677.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

SQL数据库实验和参考答案

SQL数据库实验和参考答案

数据库实验和参考答案上机实验七1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。

declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2的结果值。

declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)用While语句实现5000减1,减2,……一直减到50的计算,并显示最终的结果。

declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。

declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。

要求输出界面为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学生的选课成绩情况,分别统计各分数段人数,并输出统计结果。

数据库实验答案

数据库实验答案

实验3 使用T-SQL语言完成单表查询一、实验目的掌握使用T—SQL语言完成单表查询掌握常用谓词的用法掌握where子句的用法掌握order by 子句的用法掌握group by 子句和having短语的用法二、实验环境Microsoft SQL Server 2000。

三、实验内容和要求1.查询全体学生的详细信息。

2.查询所有课程的详细信息.3.查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。

4.查询已被学生选修了的课程的编号。

5.查询系别编号为“d002”的学生的姓名和性别。

6.查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。

7.查询系别编号为d001、d002和d003的学生的学号和姓名。

8.查询课程名为“C_”开头的课程名和学分.9.某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。

10.查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。

11.查询学校所开设的总的课程数.12.计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。

13.查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分"。

14.求各个系别的编号以及各系的人数。

15.查询选课人数大于等于2人的课程编号以及选课的人数。

16.查询学生200215122选修课程的总成绩对应的列名为“总成绩”,并显示出学号。

17.查询有2门以上课程是80分以上的学生的学号及课程数。

18.查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列.实验1 使用T-SQL语言建库、建表实验2 向表中增、删、改数据四、实验目的掌握使用T-SQL建库、建表、修改表;掌握使用T-SQL对表中数据进行插入、删除和修改.五、实验环境Microsoft SQL Server 2000.六、实验内容和要求19.建立数据库STDB20.在数据库STDB中建立四个表:Student表Department表Course表21.分别向以上四个表中增加数据。

数据库实验及答案

数据库实验及答案

实验二SQL语言的基本操作实验目的和要求:掌握利用SQL语句完成各种查询操作的能力。

重点掌握用SELECT语句进行各种查询;掌握INSERT语句的用法。

实验内容:用SQL语句完成一下的要求:1.查询信息系(IS)的所有学生信息select * from student where sdept=’is’2.查询选修了“数学”课的所有学生名单Select s.sno,snameFrom student s,course c,scWhere s.sno=sc.sno and o=o and cname=’数学’3.查询至少选修了一门其直接先行课为5号课程的学生的姓名。

Select snameFrom student s, sc, course cWhere s.sno=sc.sno and o=o and pcno=’5’4.查询全体学生的姓名和出生年份。

select sname,year(now())-sage as '出生年份' from student5.查询所有姓王的学生。

select *from student where sname like '王%'6.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。

Select sname,gradeFrom student s, scWhere s.sno=sc.sno and o=’3’Order by grade desc7.查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

Select *From studentOrder by sdept asc,age desc8.计算2号课程的平均成绩。

Select avg(grade)From scWhere cno=’2’9.查询选修了2号课程的学生的最高成绩。

select max(grade) from sc where cno='2'10.求各个课程号及相应的选课人数。

数据库原理实验答案

数据库原理实验答案
Values(7,'PASCAL语言',6,4);
3)向SC表中插入数据
Insert Into SC(Sno,Cno, Grade) Values(200215121,1,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,2,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,3,88);
Insert Into SC(Sno,Cno, Grade) Values(200215122,2,90);
Insert Into SC(Sno,Cno, Grade) Values(200215122,3,80);
Insert Into SC(Sno,Cno, Grade) Values(200215121,4,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,5,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,6,88);
Insert Into SC(Sno,Cno, Grade) Values(200215123,2,90);
select sno,grade from sc where cno='3' order by grade desc;
8)查询各个课程号与相应的选课人数。
select cno, count(sno) from sc group by cno;
2. 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

数据库实验答案

数据库实验答案

1)找出 MGM studios 的地址。

select 地址from 制片公司where 公司名称='MGM studios'2)找出 Sandra Bullock 的出生日期。

select 生日from 电影明星where 姓名='Sandra Bullock'3)找出在2003年拍摄过电影的所有影星,或者拍摄过电影中含有"天空"的电影的所有明星。

select 演员姓名$from 演员参演电影where 拍摄年份=2003 or 电影名称 like'%天空%'4)找出净资产至少1000万美元的所有行政长官。

select 姓名from 制片人与行政总裁where 资产>=5)找出所有的男影星或者是住址中含有 Malibu 的影星。

select 姓名from 电影明星where 地址 like 'Malibu' or 性别 like '男'@1)电影"加勒比海盗4"中的男影星都有谁。

select 姓名from 电影明星where 性别 ='男' and 姓名 in(select 演员姓名from 演员参演电影where 电影名称='加勒比海盗4')2)谁是米高梅制片公司的总裁。

{select 姓名from 制片人与行政总裁where 身份证号 =( select 行政总裁from 制片公司where 公司名称 ='MGM studios')4)那些电影比《乱世佳人》更长。

select 电影名称from 电影[where 长度 >(select 长度from 电影where 电影名称 = '乱世佳人')5)那些行政长官比 Tom 更富有。

select 姓名from 制片人与行政总裁where 资产>^(select 资产from 制片人与行政总裁where 姓名='Tom')1、找出价格低于6000元的PC计算机型号、速度、以及硬盘容量。

数据库测试题及答案

数据库测试题及答案

数据库测试题及答案1、用Access创建的数据库文件,其扩展名是______。

()A:.adpB:.dbfC:.frmD:.mdb(正确答案)2、数据库系统的核心是______。

()A:数据模型B:数据库管理系统(正确答案)C:数据库D:数据库管理员3、数据库系统是由数据库、数据库管理系统、应用程序、______、用户等构成的人机系统。

()A:数据库管理员(正确答案)B:程序员C:高级程序员D:软件开发商4、在数据库中存储的是______。

()A:信息B:数据(正确答案)C:数据结构D:数据模型5、在下面关于数据库的说法中,错误的是______。

()A:数据库有较高的安全性B:数据库有较高的数据独立性C:数据库中的数据可以被不同的用户共享D:数据库中没有数据冗余(正确答案)6、下面关于新型数据库的说法中,错误的是______。

()A:数据仓库不是一个新的平台,仍然使用传统的数据库管理系统,而是一个新的概念B:分布式数据库是一个数据在多个不同的地理位置存储的数据库C:面向对象数据库仍然采用传统的关系型数据库管理系统(正确答案)D:空间数据库是随着地理信息系统gis的开发和应用而发展起来的数据库新技术7、不是数据库系统特点的是______。

()A:较高的数据独立性B:最低的冗余度C:数据多样性(正确答案)D:较好的数据完整性8、在下列数据库管理系统中,不属于关系型的是______。

()A:Micorsoft AccessB:SQL serverC:OracleD:DBTG系统(正确答案)9、Access是______数据库管理系统。

()A:层次B:网状C:关系型(正确答案)D:树状10、在Access中,数据库的基础和核心是______。

()A:表(正确答案)B:查询C:窗体D:宏11、在下面关于Access数据库的说法中,错误的是______。

()A:数据库文件的扩展名为mdbB:所有的对象都存放在同一个数据库文件中(正确答案)C:一个数据库可以包含多个表D:表是数据库中最基本的对象,没有表也就没有其他对象12、在一个单位的人事数据库,字段"简历"的数据类型应当为______。

mysql数据库实验答案

mysql数据库实验答案

实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNo c har(20) primary key,SName char(20) ,SSex char(4) default '男',SAge int) ENGINE=InnoDB;Create Table Course(CNo c har(20) primary key,CName char(20) NOT NULL,CRedit f loat) ENGINE=InnoDB;Create Table SC(SNo c har(20) NOT NULL,CNo c har(20) NOT NULL,Grade float,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo))ENGINE=InnoD B;Create Table T(TNo c har(20) Primary Key,TName char(20) NOT NULL,TSex char(4) default '男',birthday DateTime,dept char(20),title char(20),address char(20))ENGINE=InnoDB;Create Table Salary(TNo c har(20) NOT NULL,jbgz float,zwgz float,hj float,Foreign Key(TNo) References T(TNo) On Delete Cascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;alter table Student add Dept char(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。

数据库实验3答案

数据库实验3答案

实验三:交互式SQL语句的使用1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3 实验内容及要求选择如下一个应用背景之一:学生选课系统习题3、4、和5中使用的数据库其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。

(2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的内容:3.1 数据定义1.基本表的创建、修改及删除2.索引的创建3.视图的创建3.2 数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3 数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4 数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构列名称用途类型长度约束备注Sno 学号字符8 主键Sname 姓名字符8Ssex 性别字符 2Sage 年龄整型Sdept 所在系字符20Sclass 班级字符 4表2. Course表结构列名称用途类型长度约束备注Cno 课程号字符 4 主键Cname 课程名字符40Cpno 先修课程号字符 4Ccredit 学分整型表3. SC表结构列名称用途类型长度约束备注Sno 学号字符8 外键Cno 课程号字符 4Grade 成绩整型1.创建、修改及删除基本表(1)创建Student表CREATE TABLE Student(Sno CHAR(8)PRIMARY KEY,Sname CHAR(8),Ssex CHAR(2)NOT NULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATE TABLE Course(Cno CHAR(4)PRIMARY KEY,Cname CHAR(40)NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATE TABLE SC(Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno),Cno CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATE TABLE Employee(编号CHAR(8)PRIMARY KEY,姓名VARCHAR(8)not null部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。

数据库实验报告实验二参考答案[最终版]

数据库实验报告实验二参考答案[最终版]

数据库实验报告实验二参考答案[最终版]第一篇:数据库实验报告实验二参考答案[最终版]1.你的老板要求你创建一个数据量为20G的数据库,但是你现在的硬盘上没有一个这么大空闲容量的分区,只有3个空闲容量为8G的分区,请问,你该如何完成这个任务?答:为该数据库创建3个数据文件,每个数据文件只需保存小于8G的数据,将这3个数据文件分别存储在不同的硬盘分区即可。

注:数据库中的数据都保存在该数据库的若干数据文件中,而非日志文件!2.你想创建一个初始大小为2MB的数据库,但是你却发现你创建的数据库的初始大小是5MB,而且不能小于这个值,请问是什么原因?答:系统数据库中的model数据库为用户创建数据库提供模板,也就是说,在创建数据库时,数据库引擎首先通过复制 Model 数据库中的内容来创建数据库的第一部分,然后再用空页填充新数据库的剩余部分。

因此,用户创建的数据库的初始大小不能小于model数据库的大小。

该问题的原因在于model数据库数据文件的初始大小被设定为5MB。

/***************************SQL语言部分*****************************/ /*创建数据库student*/create database studenton(name=student_data,filename='C:DATAstudent_data.mdf', size=3,maxsize=unlimited,filegrowth=1)log on(name=student_log,filename='C:DATAstudent_log.ldf',size =1,maxsize=20,filegrowth=10%)/*修改数据库student--添加数据文件*/alter database student add filegroup studata /*先增加一个文件组studata*/ goalter database studentadd file(Name=student_data1,filename='D:DATAstudent_data1.nd f',Size=50,Maxsize=500,Filegrowth=30%)to filegroup studata /*删除数据库student */ drop database student第二篇:SQL数据库实验报告实验二实验2SQL Server数据库的管理1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。

数据库实验及作业部分参考答案

数据库实验及作业部分参考答案

实验三关系查询与连接首先,将sales表中tot_amt的值计算出来。

update sales set tot_amt=0goselect order_no,tot=sum(qty*unit_price)into aa1from sale_itemgroup by order_nogoselect * from aa1goupdate sales set tot_amt=totfrom sales,aa1where aa1.order_no=sales.order_nogo1、查找所有经理的姓名、职称、薪水。

select emp_name ,title,salaryfrom employeewhere title='经理'2、查找出姓“王”并且姓名的最后一个字为“功”的员工。

select *from employeewhere emp_name like '王%功'//3、添加一条记录至employee表(用INSERT…..INTO)。

insert into employee(emp_no,emp_name,sex,dept,title,date_hired,salary)values('E0025','彭江','M','业务','职员',1900/01/21,43200)//4、将每个员工的薪水上调3%。

update employeeset salary=salary*1.03select *from employee3、查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址select emp_name,dept,title,addrfrom employeewhere (addr='上海市' or addr= '北京市')and sex='F'4、在表sales中挑出销售金额大于等于10000元订单select *from saleswhere tot_amt>=10000.005、选取订单金额最高的前10%的订单数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机与信息学院
数据库实验报告
专业班级
学生姓名及学号
课程教学班号
任课教师
实验指导教师
实验地点
2012 ~2013 学年第二学期
实验1 使用向导创建和删除数据库
一、实验目的
1.熟悉SQL Server 中SQL Server Management Studio的环境
2.了解SQL Server 数据库的逻辑结构和物理结构
3.掌握使用向导创建和删除数据库的方法
二、实验要求
1.熟练使用SSMS进行数据库的创建和删除操作。

2.完成实验报告。

三、实验内容
设有一学籍管理系统,其数据库名为“EDUC”。

初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。

日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四、实验步骤
1.使用SQL Server Management Studio(简称SSMS)创建数据库。

(1)启动SSMS
在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。

如果身份验证选择的是“混合模式”,则要输入sa的密码。

(2)建立数据库
在“对象资源管理器”窗口,建立上述数据库EDUC。

在数据库节点上右击选择新建。

同时建立一个同样属性的数据库EDUC1。

2. 使用向导删除上面建立的数据库。

用SSMS删除建立的数据库EDUC。

五、实验总结
经过本次试验,对于SQL SERVER有了一个初步的认识,也对于在sql server上创建数据库有了一定的了解。

实验2 使用SQL语句创建和删除数据库
一、实验目的
1. 了解SQL Server 2005数据库的逻辑结构和物理结构。

2. 掌握使用SQL 语句创建和删除数据库。

二、实验要求
1. 熟练使用查询分析器进行数据库的创建和删除操作。

2. 完成实验报告。

三、实验内容
用SQL语句去创建和删除数据库。

四、实验步骤
1.创建数据库userdb1。

2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC. create database EDUC
on
(name=EDUC_data,--数据文件的逻辑名称,注意不能与日志逻辑同名
filename='E:\sql_data\student_data.mdf' ,--物理名称,注意路径必须存在
size=10,--数据初始长度为M
maxsize=50,--最大长度为M
filegrowth=5%)--数据文件每次增长M
log on
( name=EDUC_log,
filename='E:\sql_data\student_log.ldf ' ,
size=2 ,。

相关文档
最新文档