文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验1-6参考答案

数据库实验1-6参考答案

数据库实验1-6参考答案
数据库实验1-6参考答案

实验一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)打开企业管理器

(2)右击SQL Server组→新建SQL Server注册

(3)添加可用的服务器(实际数据库服务器的名称或IP地址)

(4)选择身份验证模式(选“系统管理员分配给我的登录信息”)

(5)输入正确的登录名和密码

(6)选择SQL Server组(选“在现有的SQL Server组中添加SQL Server”)(7)完成注册

若注册成功,则显示注册成功的信息。

2、连接SQL Server服务器

(1)右键单击上面注册的数据库服务器,选择连接,建立与数据库服务器的连接。观察连接后服务器图标的变化;

(2)右键单击选择编辑SQL Server注册属性,观察已注册数据库服务器的属性信息;

(3)右键单击选择删除SQL Server注册。为保证数据库的安全性,使用完毕自己的数据库后,可采取删除的方式,断开与数据库的连接;

(4)重复注册服务器的步骤,再次建立与数据库的连接;

3、熟悉企业管理器

(1)单击建立的服务器连接,观察服务器的7个项目,写出它们的名称。通过查看联机帮助,总结7个项目的基本功能。

(2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。

(3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。回答:

?这些表的所有者有哪几种?

?这些表的类型有哪几种?

?选择表Employees,在右键菜单中选择打开表->返回所有行,观察表中的数据,说出这些数据的实际含义。观察其他用户类型的表,你还能说出它们数

据的实际含义吗?

(4)查看Northwind的视图项目,单击视图,观察视图的名称、所有者、类型以及创建日期。选择视图Product Sales for 1997,同上面观察表中数据的方法一样,观察视图中的数据,说出这些数据的意义。

(5)查看Northwind的用户项目,单击用户。回答:

?有哪类用户?查看它们的属性对话框,它们的角色和权限是否相同?

?通过联机帮助,写出dbo、Guest用户的区别。

(6)查看Northwind的角色项目,单击角色。回答:

?有哪些角色类型?通过查看联机帮助,写出它们各自的含义和作用。

(7)查看Northwind的安全性项目,单击项目中的登录,观察不同的登录名称、类型、服务器访问、默认数据库,找到你自己的登录名称,右键单击打开属性对话框,观察对话框中的设置,写出登录属性对话框中的设置作用。

4、熟悉查询分析器

(1)打开查询分析器。基本步骤:

?单击注册的数据库服务器,确定服务器已经连接;

?在主菜单“工具”中选择“SQL查询分析器”;

?在打开的查询分析器窗口中,左侧的对象浏览器为注册的服务器,在工具栏的数据库选择中选择Northwind数据库为当前数据库;右侧窗口为查询窗

口。

(2)分别在查询窗口中输入如下查询语句,观察查询结果,写出结果的数据记录个数:

查询语句1:

SELECT *

FROM Shippers

ORDER BY CompanyName

结果记录数:3

查询语句2:

SELECT FirstName, HomePhone

FROM Northwind.dbo.Employees

ORDER BY FirstName ASC

结果记录数:9

查询语句3:

SELECT ROUND( (UnitPrice * .9), 2) AS DiscountPrice

FROM Products

WHERE ProductID = 58

结果记录数:1

查询语句4:

SELECT OrderID,

DATEDIFF(dd, ShippedDate, GETDATE() ) AS DaysSinceShipped FROM Northwind.dbo.Orders

WHERE ShippedDate IS NOT NULL

结果记录数:809

查询语句5:

SELECT ProductID, ProductName

FROM Northwind.dbo.Products

WHERE CategoryID = 1 OR CategoryID = 4 OR CategoryID = 5

结果记录数:29

四、实验小结

五、评阅成绩

实验二数据定义

一、实验目的

1、掌握SQL数据定义功能:数据库定义、表的定义、索引定义。

2、掌握利用企业管理器和SQL语句定义表、索引的方法。

二、实验预习

1、SQL中基本表定义语句格式:

2、SQL中修改基本表语句格式:

三、实验内容和要求

1、在企业管理器中,利用菜单操作的方式在各自的数据库中建立如下四个基本表:(1)供应商表S:

(2)零件表P:

(3)工程项目表J:

(4)供应情况表SPJ:

2、用CREATE语句建立如下三个表,并写出相应的语句。

语句:

CREATE TABLE Student(

Sno char(7) PRIMARY KEY,

Sname char(10) not null,

Ssex char(2) CHECK(Ssex='男' or Ssex='女'),

Sage smallint CHECK(Sage>=15 and Sage<=45),

Sdept char(20) DEFAULT '计算机系'

)

(2)课程表Course:

语句:

CREATE TABLE Course(

Cno char(10) PRIMARY KEY,

Cname varchar(20) NOT NULL,

Ccredit smallint check(ccredit>0),

semster smallint check(semster >0),

period smallint check(period>0)

)

CREATE TABLE SC(

Sno char(7),

Cno char(10),

Grade smallint check(grade>=0),

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Cno) REFERENCES Course(Cno),

FOREIGN KEY (Sno) REFERENCES Student(Sno)

)

3、利用SQL语句对表结构进行修改。

(1)为零件表P增加一个规格(GUIGE)列,数据类型为字符,长度50;Alter Table P Add GUIGE char(50)

(2)修改课程表Course的CNAME属性列的类型为VARCHAR(30);

Alter Table Course Alter Column CNAME varchar(30)

(3)为供应情况表SPJ添加参照完整性约束;

SPJ的SNO列参照S表SNO列

Alter Table SPJ Add Foreign Key (SNO) References S(SNO)

SPJ的PNO列参照P表PNO列

Alter Table SPJ Add Foreign Key (PNO) References P(PNO)

SPJ的JNO列参照J表JNO列

Alter Table SPJ Add Foreign Key (JNO) References J(JNO)

(4)删除零件表P的规格(GUIGE)列

Alter Table P Drop Column GUIGE

4、利用企业管理器向表中添加数据

(1)供应商表S:

继续往表中增加一条记录:四个字段的数据分别是S1,东方红,30,北京,会出现什么情况?为什么?

不能增加,因为SNO是主键,不能取重复值。

(2)零件表P:

是否能够正常输入三条数据?如果否,问题出在哪里,为什么?

第三条记录不能输入,因为P3的WEIGHT属性取值违法了其检查约束。

(3)工程项目表J:

第三条记录是否能够正常输入,若否,会出现什么问题,为什么?

第三条记录不能输入,因为JNAME不能取NULL值。

(4)供应情况表SPJ:

输入过程中是否会遇到问题,若有,出在哪,为什么?

第三条记录不能输入,因为在工程项目表J中没有J3,破坏了参考完整性。

四、实验小结

五、评阅成绩

实验三数据查询

一、实验目的

1、掌握查询语句的基本组成和使用方法

2、掌握常用查询技巧

二、实验预习

1、SQL中查询语句格式:

2、连接查询有哪些不同的连接方式?有什么特点。

三、实验内容和要求

1、按照下表中的内容,在企业管理器中为数据库表输入相应的数据。

选课表:SC

2、完成下列查询

(1)查询全体学生的信息。

select * from student

(2)查询“信息系”学生的学号,姓名和出生年份。

select Sno,Sname,2009-Sage as Birthyear from student where Sdept='信息系' (3)查询考试不及格的学生的学号。

select Distinct Sno from SC where Grade<60

(4)查询无考试成绩的学生的学号和相应的课程号。

select Sno,Cno from SC where Grade is null

(5)将学生按年龄升序排序。

select * from student order by Sage asc

(6)查询选修了课程的学生的学号和姓名。

Select Sno,Sname from Student Where Sno in (Select Sno From Sc)

或:

select distinct student.Sno,Sname from student,SC where student.Sno=SC.Sno (7)查询年龄在20-23岁之间的学生的姓名,系,年龄。

select Sname,Sage,Sdept from student where Sage between 20 and 23

(8)查询同时选修了“计算机导论”,“高等数学”课程的学生的学号,姓名。

select student.Sno,Sname from student where NOT EXISTS(

select* from course where

Cname in('高等数学','计算机导论') AND NOT EXISTS(select * from SC where Sno=student.Sno and Cno=https://www.wendangku.net/doc/3a12137929.html,o))

或:

select student.Sno,Sname from student,sc,Course where student.sno=sc.sno and https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o and cname='高等数学' and student.sno in (select sno from sc where cno=(select cno from course where cname='计算机导论'))

或:

select student.Sno,Sname from student where sno in (select sno from sc where cno=(select cno from course where cname='高等数学')) and sno in (select sno from sc where cno=(select cno from course where cname='计算机导论'))

(9)查询姓“张”的学生的基本信息。

select * from student where Sname like '张%'

(10)查询“95211”班学生的选课情况,要求输出学号,姓名,课程名,成绩,按照学号升序排序。

select student.Sno,Sname,Cname,Grade from student,SC,course where student.Sno=SC.Sno and https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o

and student.Sno like '95211%' order by student.Sno

或:

select student.Sno,Sname,Cname,Grade from student,SC,course where student.Sno=SC.Sno and https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o

and left(student.sno,5)= '95211' order by 1

(11)查询选修了课程的学生的总人数。

select count(distinct sno) from SC

(12)查询选修了“C05”课程的的学生成绩单,要求输出学号,姓名,成绩,结果按班级升序,成绩降序排列。

select student.Sno,Sname,Grade from student,SC where student.Sno=SC.Sno and Cno='C05' order by left(student.Sno,5) asc,Grade desc

(13)统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。(成绩为NULL值的不统计)

select https://www.wendangku.net/doc/3a12137929.html,o,Cname,avg(Grade),count(Sno) from course,Sc where https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o and Grade is not null group by https://www.wendangku.net/doc/3a12137929.html,o,Cname

(14)统计各门课程的不及格人数,要求输出课程代号,课程名,不及格人数。

select https://www.wendangku.net/doc/3a12137929.html,o,Cname,count(Sno) from SC,Course where https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o and Grade<60 group by https://www.wendangku.net/doc/3a12137929.html,o,Cname

(15)查询选修平均成绩在75分以上的学生的学号,姓名,所在系。

select sc.sno,sname,sdept from student,sc where student.sno=sc.sno group by sc.sno,sname,sdept having avg(grade)>75

或:

select sno,sname,sdept from student where Sno in (Select Sno From SC Group By Sno Having Avg(Grade)>75)

(16)查询与“王大力”同一个系的学生的基本信息

select * from student where sdept in(select sdept from student where sname='王大力')

(17)查询选修平均分高于所有学生平均分的学生的学号,并按学号升序排列。

select student.Sno from student,SC where student.Sno=SC.Sno group by student.Sno having avg(Grade)>(select Avg(Grade) from SC) order by student.Sno asc

(18)查询未选修“VB”或“数据库基础”两门课的学生的学号,姓名,系名。(要

求用嵌套查询)

select sno,sname,sdept from student where sno not in(select sno from sc where cno in(select cno from course where cname in('VB','数据库基础')))

或:

select sno,sname,sdept from Student where exists(

select * from Course where cname='VB' and not exists(

select * from SC where sno=Student.sno and cno=https://www.wendangku.net/doc/3a12137929.html,o and

https://www.wendangku.net/doc/3a12137929.html,ame!='数据库基础'))

(19)查询选修了全部课程的学生的学号,姓名,系名。

select sno,sname,sdept from student

where not exists(select * from course where not exists

(select * from sc where sno=student.sno and cno=https://www.wendangku.net/doc/3a12137929.html,o ) ) 或:

select sno,sname,sdept from student

where sno in (select sno from sc group by sno having count(cno)=(select coount(*) from course))

(20)输出“高等数学”课程成绩前三名的学生的学号,姓名,系名

select top 3 student.sno,sname,sdept from student,sc,course where student.sno=sc.sno and https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o and cname='高等数学' order by grade desc

四、实验小结

五、评阅成绩

实验四数据更新

一、实验目的

1、掌握SQL语言的数据更新操作

2、掌握SQL Server 2000企业管理器的数据导入和导出功能

二、实验预习

1、数据插入语句格式:

2、数据修改语句格式:

3、数据删除语句格式:

4、SQL Server中可进行批量数据导入和导出,可支持哪些格式的数据导入导出?(举常见格式类型)

三、实验内容和要求

(执行操作后,将语句填写在下面的空白处)

1、插入数据

(1)在学生表Student中插入数据:

Sno:9512102 Sname:刘晨 Ssex:男Sage:20 Sdept:计算机系insert into Student

values ('9512102','刘晨','男',20,'计算机系')

(2)在课程表Course中插入数据:

Cno:C06 Cname:数据结构Ccredit:5 Semster:4

insert into Course(cno,cname,ccredit,semster)

values ('C06','数据结构',5,4)

或:

insert into Course values ('C06','数据结构',5,4,null)

(3)在选课表SC中插入95211班学生选修C04的选课信息。

提示:插入的数据的Sno从Student表中查询而来,插入的Cno为“C04”

insert into SC(sno,Cno)

select sno,'c04' from Student where sno like '95211%'

(4)查询高等数学的成绩,包括学号,成绩,并按学号升序排序。将查询的结果输出到一个名为gs_cj的表中。

select sno,grade into gs_cj

from sc join course on https://www.wendangku.net/doc/3a12137929.html,o=https://www.wendangku.net/doc/3a12137929.html,o and cname='高等数学'

order by sno

(5)将SC表中“C05”课程的选课记录输出至一个新表中,表名为Gs01。

select * into Gs01

from sc where cno='c05'

2、修改数据

(1)将所有学生的年龄增加1岁。

update student set sage=sage+1

(2)修改“9512101”学生的“C01”课程成绩为85。

update sc set grade=85

where sno='9512101' and cno='c01'

(3)修改“9531102”学生的“C01”课程成绩为70。

update sc set grade=70

where sno='9531102' and cno='c01'

(4)将所有平均分为75分以上的学生的各门课成绩在原来基础上增加10%。update sc set grade=grade*1.1

where sno in

(select sno from sc group by sno having avg(grade)>=75)

3、删除数据

(1)删除“9531102”学生“C05”课程的成绩记录

delete from sc where sno='9531102' and cno='c05'

(2)删除所有课程为“C05”的选课记录

delete from sc where cno='c05'

4、数据的导出

(1)将数据库中的S,P,J,SPJ表导出为一个ACCESS数据库,名为DB_SPJ。(2)Student表中数据导出到一个文本文件,用,作为数据项的分隔符。(3)将Course表中数据导出到一个Excel文件中。

5、批量增加数据

(1)利用查询,将其他表中的数据增加到需要的数据表中。

将Gs01表中的数据添加到SC表中。(用Insert 语句实现)

insert into sc select * from Gs01

(2)从外部其他数据源导入数据(选做)

?从文本文件中导入

?从ACCESS中导入数据

?从EXECEL中导入数据

四、实验小结

五、评阅成绩

实验五数据控制

一、实验目的

1、掌握数据库完整性约束条件的设置

2、掌握触发器的基本使用

3、掌握SQL Server2000的安全性控制方法

二、实验预习

1、关系数据库的完整性约束有哪些?

2、什么是触发器?其作用是什么?SQL Server2000中的触发器主要有哪些?

三、实验内容和要求

1、实体完整性约束

(1)为供应商表SPJ建立完整性约束,约束列为SNO,PNO,JNO。

方法1:在表设计器中建立,请写出建立的步骤:

方法2:写出创建表的同时定义完整性约束的SQL语句。

create table spj

(

sno char(6) foreign key references s(sno),

pno char(6) foreign key references p(pno),

jno char(6) foreign key references j(jno),

qty smallint default 100,

primary key(sno,pno,jno)

)

(4)根据上面实验的结果,请说明实体完整性约束的含义。

2、参照完整性约束

(1)修改Student表中记录,将学号9512101改为9512103,更改是否成功?若不成功请说出原因。

update student set sno='9512103' where sno='9512101'

(2)修改SC表中记录,将学号为9512101的记录均改为学号9512109,是否更改成功?若不成功请说出原因。

update sc set sno='9512109' where sno='9512101'

(3)设置SC表的参照完整性为更新和删除时均为级联。

方法1:在表设计器中设置,请写出设置的步骤:

方法2:在创建表时同时设置参照完整性约束,并设置规则为级联。请写出SQL语句。

CREATE TABLE SC(

Sno char(10) ,

Cno char(10),

Grade numeric(6,2),

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Cno) REFERENCES Course(Cno)

on delete cascade

on update cascade,

FOREIGN KEY (Sno) REFERENCES Student(Sno)

on delete cascade

on update cascade

)

(4)修改Student表学号9512101为9512109,观察SC表中相应记录是否更新?

update student set sno='9512109' where sno='9512101'

(5)在Course表中删除课程代号为C01的记录,观察SC表中选课C01的记录是否删除?

delete from course where cno='C01'

3、用户自定义完整性

(1)设置Student表的Sno输入长度必须为7个字符的约束。请将CHECK约束子句写在下面:

alter table student add check(sno like '_______')

(2)设置student表的Sdept只能为“计算机系”,“数学系”,“信息系”,“物理系”。请将CHECK约束子句写在下面:

数据库系统概论(王珊第五版)数据库实验1

实验1 SQL SERVER 2008环境 一、实验目的 1.掌握服务管理器的启动和停止方法; 2.掌握SQL Server Management Studio对象资源管理器的使用方法; 3.掌握注册服务器的步骤。 4.掌握E-R图在计算机中的画法。 二、实验学时 2学时 三、实验要求 1.了解SQL Server 2008的安装过程。 2.熟练掌握SQL Server2008数据库服务器的启动方法。 3.熟练掌握SQL Server2008数据库服务器的登录方法和注册方法。 4.掌握E-R图的画法,学会使用Visio画出标准的E-R图。 5.独立完成实验内容,并提交书面实验报告。 四、实验内容 1.了解并熟悉SQL Server 2008的安装方法。 2.登录SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动服务器,登录SQL Server Management Studio等操作; 3. 掌握SQL Server Management Studio对象资源管理器的使用方法; 4.注册SQL Server 2008服务器。 5. 有一个图书管理系统需要构建E-R图,要求如下: (1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 (3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 将有关实体型及其联系画出E-R模型图画在实验报告册中。

数据库实验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表结构 表2. Course表结构

表3. SC表结构 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)创建员工表Employee

数据库实验1-6参考答案

实验一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 :数据库的定义实验 本实验需要 2 学时。 一、实验目的 要求学生熟练掌握和使用SQL 、Transact-SQL 、SQLServer 企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL 语句和进行结果分析。 二、实验内容 1)创建数据库和查看数据库属性。 2)创建表、确定表的主码和约束条件,为主码创建索引。 3)查看和修改表结构。 4)熟悉SQL Server 企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 .基本操作实验 1)、使用企业管理器建立学生_课程数据库。 2)、在企业管理器中查看学生_课程数据库的属性,并进行修改,使之符合要求。 3)、通过企业管理器,在建好的学生_课程数据库中建立学生、课程和选课3 个表,其结构为: 学生( 学号,姓名,性别,出生日期,学院,所在系,联系电话) ;

课程( 课程号,课程名,教师,开课学期,学时,学分) ; 选课( 学号,课程号,成绩) 。

要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。4)、在企业管理器中建立学生、课程和选课3 个表的表级约束:每个表的主码约束;学生表与课程表间、课程表与选课表之间的外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现选课表的课程号和学号的惟一性约束;实现学生表性别只能是“男”或“女”的Check( 检查) 约束。 2 .提高操作实验 1)、用SQL 描述的建立学生—课程库操作,在SQL Server 企业管理器中实现 2) 将设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL 表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。 四、实验方法 1 .创建数据库 (1)、使用企业管理器创建数据库的步骤

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 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表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

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

试用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 s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.wendangku.net/doc/3a12137929.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.wendangku.net/doc/3a12137929.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

数据库实验1

教务处制 第1页,共1页 苏州大学实验报告 院、系 计算机学院 年级专业 姓名 学号 课程名称 数据库原理 成绩 指导教师 同组实验者 无 实验日期 实 验 名 称 实验一 数据库操作 一. 实验目的 1. 熟悉DBMS 的环境; 2. 掌握图形化和SQL 语句两种方法创建数据库; 3. 掌握分离和附加数据库的操作。 二. 实验内容 1. 熟悉服务器的启动、暂停、和停止操作; 2. 熟悉Management Studio 的工作环境; 3. 图形化创建数据库: 3.1:用图形化界面创建Myfirstdb 数据库,要求主数据库文件为20MB ,最大大小是100M ,每次增长5MB ;事务日志文件为20MB ,最大大小是100M ,每次增长20MB 。 3.2:创建用户文件组:usergroup ; 3.3:为Myfirstdb 数据库添加一个次要数据文件Myfirstdb_dat2,大小为10MB ,最大大小不受限制,将该文件添加到usergroup 文件组中; 3.4: 查看创建Myfirstdb 的SQL 语句,将其复制在实验报告上; 4、用SQL 语句完创建grade 数据库; (注意记下数据库文件的位置) 5、删除Myfirstdb 数据库的usergroup 文件组应该如何操作?试用SQL 语句实现。 6、用SQL 语句删除Myfirstdb 数据库。 7、分离4所建的数据库,找到其所对应的数据库文件,拷到U 盘上。下次实验时将其附加。 三. 实验步骤和结果(将完成的SQL 语句粘贴于此) 四. 思考题: 1. 简述组成SQL Server2005数据库的3种类型的文件。 五. 实验总结(分析一下上机结果与选择的答案之间一致或不一致的原因)

数据库实验五题目答案

实验五 实验5.1 数据查询 1)要求 以School数据库为例,在该数据库中存在四表格,分别为: ●表STUDENTS(sid, sname, email, grade); ●表TEACHERS(tid, tname, email, salary); ●表COURSES(cid, cname, hour); ●表CHOICES(no, sid, tid, cid, score) 在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: (1)查询年级为2001的所有学生的名称并按编号升序排列。 程序:Select sname from students where grade='2001' order by sid asc; (2)查询学生的选课成绩合格的课程成绩。 程序:Select score from choices where score>'59';

(3)查询课时是48或60的课程的名称。 程序:select cname from courses where hour='48'or hour='60'; (4)查询所有课程名称中含有data的课程编号。 程序:select cid from courses where cname like'%data%';

(5)查询所有选课记录的课程号(不重复显示)。 程序:select distinct cid from choices; (6)统计所有教师的平均工资。 程序:select avg(salary) from teachers;

最新最新数据库管理系统实验报告含答案(1)

武汉纺织大学《最新数据 库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @filename1 = 'f:\教学库.mdf', @filename2 = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存',

@filename1 = 'f:\仓库库存.mdf', @filename2 = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', FILENAME = 'F:\仓库库存_data.MDF' , SIZE = 10MB, FILEGROWTH = 20%) LOG ON (NAME ='仓库库存_log', FILENAME = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:

数据库实验报告

数据库原理及应用 实验报告 学院: 专业: 班级: 姓名: 学号: 指导教师:

实验一 SQL Server常用管理工具的使用 实验目的: 1. 理解服务的概念,掌握SQL Server服务的启动、暂停和停止。 2. 熟悉SQL Server数据库结构,掌握企业管理器的基本操作。 3. 理解查询分析器的作用,掌握查询分析器的常用用法。 实验内容与步骤: 一、服务管理器的用法 SQL Server 是作为Windows 网络操作系统的一个服务运行的。通过设置,可以在启动操作系统时自动启动SQL Server,也可以远程启动和停止SQL Server。可以使用下列工具手工启动、暂停和停止SQL Server服务实验要求1:使用SQL Server服务管理器查看SQL Server服务是否正在运行,若正在运行,将其停止。 实验要求2:使用控制面板中的“服务”管理控制台将已停止的SQL Server 服务启动。 二、企业管理器的使用 企业管理器是SQL Server提供的最主要的数据库管理图形界面工具,它以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。 实验要求3:启动企业管理器,查看SQL Server的注册属性。 启动企业管理器后,在控制台树中,展开“Microsoft SQL Servers”,然后展开“SQL Server”,组右击自己的服务器名,然后单击“编辑SQL Server注册属性”。 实验要求4:在企业管理器中,查看Northwind数据库中用户数据表和系统数据表各有多少个? 三、查询分析器的使用 查询分析器是图形化的数据库编程接口,用户可以以自由的文本格式编辑、调试和执行SQL脚本。 实验要求5:在查询分析器中,使用SQL语句在master数据库中查询sysobjects表的所有信息。

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

数据库试验答案

计算机与信息学院 数据库实验报告 专业班级 学生姓名及学号 课程教学班号 任课教师 实验指导教师 实验地点 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。

数据库认证实验四答案

--1,创建登陆用户temp1,密码是1234,加入到school数据库中并赋予db_owner数据库角色. Sp_addlogin'temp1','1234','School'; ---添加用户 use School go exec sp_grantdbaccess'temp1'; --- /* CREATE LOGIN tmp1 WITH PASSWORD = '123',default_database=School; -- Creates a database user for the login created above. CREATE USER user1 FOR LOGIN tmp1; */ --查看登录账号的信息 Select*from sys.syslogins where name='temp1'; /* use School go exec sp_addsrvrolemember 'temp1','sysadmin';--添加服务器角色 */ --赋予db_owner数据库角色. use School go exec sp_addrolemember'db_owner','temp1'; --2,创建登陆用户temp2,密码是1234, --加入到school数据库中,并赋予该用户对student表select,insert权限 Sp_addlogin'temp2','1234','School'; ---添加用户 use School go exec sp_grantdbaccess'temp2';

grantselect,insert on student to temp2; --3,对数据库school进行完全数据库备份,写出备份语句 Use School Go Sp_addumpdevice'disk','schoolinfo','e:\data\schoolinfo.bak' Go Backupdatabase school to schoolinfo withinit; --4,将student学生信息表中所有学生信息年龄改为20,进行差异化备份--修改表的数据 use school go update student set sage=20; ---执行差异化的备份 Use School Go Backupdatabase School todisk='e:\data\schoolinfo.bak'; Use school Go Backupdatabase School to schoolinfo withdifferential,init Use school Go select*from student Backupdatabase school to schooldemo withdifferential,init

数据库实验一

实验一基本表的定义、删除与修改 一、实验目的: 熟练掌握基本表的定义、删除与修改,为后继学习作准备。 二、实验属性(验证性) (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), )

数据库实验答案

实验3 使用T-SQL语言完成单表查询 一、实验目的 掌握使用T-SQL语言完成单表查询 掌握常用谓词的用法 掌握where子句的用法 掌握order by 子句的用法 掌握group by 子句和having短语的用法 实验环境 Microsoft SQL Server 2000。 实验内容和要求 查询全体学生的详细信息。 查询所有课程的详细信息。 查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。 查询已被学生选修了的课程的编号。 查询系别编号为“d002”的学生的姓名和性别。 查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。 查询系别编号为d001、d002和d003的学生的学号和姓名。 查询课程名为“C_”开头的课程名和学分。 某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。 查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。 查询学校所开设的总的课程数。 计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。 查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分”。 求各个系别的编号以及各系的人数。 查询选课人数大于等于2人的课程编号以及选课的人数。 查询学生2选修课程的总成绩对应的列名为“总成绩”,并显示出学号。 查询有2门以上课程是80分以上的学生的学号及课程数。 查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列。 实验1 使用T-SQL语言建库、建表 实验2 向表中增、删、改数据 实验目的 掌握使用T-SQL建库、建表、修改表; 掌握使用T-SQL对表中数据进行插入、删除和修改。 实验环境 Microsoft SQL Server 2000。 实验内容和要求 建立数据库STDB 在数据库STDB中建立四个表:

同济大学数据库实验5答案

create proc procA as select* from student exec proca create proc procB @_year char(4) as select* from student where year(birthday )=@_year declare @_year char(4) set @_year ='1994' exec procB@_year create proc procf @_Snum char(30) as select s.snum ,avg(score)as平均成绩,count(https://www.wendangku.net/doc/3a12137929.html,um)as选秀门数,sum(1-score/60)as不及格门数 from student s,course c,sc,sections st where s.snum =sc.snum and sc.secnum =st.secnum and https://www.wendangku.net/doc/3a12137929.html,um =https://www.wendangku.net/doc/3a12137929.html,um and S.Snum =@_Snum group by S.Snum DECLARE @_SUNM char(30) set @_SUNM ='s001' exec procf@_sunm CREATE PROC Procd @_snum char(4),@_avg int out,@_selected_course int out,@_failed_course int out AS SELECT @_avg=AVG(score),@_selected_course=COUNT(cnum),@_failed_course=sum(1-score/60) FROM sc JOIN sections ON sc.secnum =sections.secnum WHERE snum=@_snum

数据库实验1认识数据库管理系统

《数据库技术》 实验指导书徐州师范大学计算机科学与技术学院

实验一使用数据库管理系统(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服务器,主要包括启动、暂停、停止和重新启动等

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;

数据库实验1

邮电大学计算机学院 《大型数据库技术》 实验一:MySQL数据库安装配置及基础使用 :侯利萍班级:09 学号:B13040905 2016年 3 月21 日星期一 说明:斜体需要输出的部分。 下载安装MySQL 搜索MySQL下载页面 网址: 查看各种MySQL版本 MySQL主要版本及区别: 所下载版本及版本号: 安装配置MySQL 数据库基本操作 创建数据库 创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8. SQL语句:create database enterprisedb; set charset utf8; 输出截图:

创建关系表 创建一雇员表,命名为employee,包括如下字段:雇员工号(从86001 开始递增),,性别,生日,部门名称。(请选择合适的数据类型) SQL语句: create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10)) AUTO_INCREMENT=86001; 输出截图: 插入数据操作 插入10条不同信息的雇员,信息自定,需要符合实际。 SQL语句:insert into employe values("0","zhang","man","1996.1.2","mangager"); insert into employe values("0","","man","1996.1.2","mangager"); insert into employe values("0","","man","1995.1.2","mangager"); insert into employe values("0","胡","woman","1994.1.2","worker"); insert into employe values("0","周","woman","1995.1.1","worker"); insert into employe values("0","","woman","1995.3.1","worker"); insert into employe values("0","王","woman","1995.3.1","seller"); insert into employe values("0","吴","woman","1995.2.1","seller"); insert into employe values("0","吴","man","1995.2.1","seller"); insert into employe values("0","","man","1989.2.1","leader"); insert into employe values("0","田 ","woman","19988.2.1","leader"); 注释:在测试英文中文是否都正常时,多输入一个英文员工。 输出截图:

相关文档