数据库上机实验指导

数据库上机实验指导
数据库上机实验指导

数据库原理实验指导书

实验1 数据库模式设计及建立

一、实验目的:

(1) 掌握数据库模式设计,依据实际要求设计表结构,建立表的

关系; 比较SQL命令方式和可视化环境管理器方式设计的异

同点。

(2) 掌握SQL Server查询分析器的使用方法,加深对SQL和SQL

语言的查询语句的理解。熟练掌握简单表的数据查询、数据

排序和数据连接查询的操作方法。

二、实验内容:

1、分别用sql查询分析器和企业管理器创建表,并设定相应的约束。

要求:在学生管理数据库XSGL中创建如下三个表。

创建名为student(学生信息)的表,表中的各列要求如下:

字段名称字段类型大小说明

Sno Char10主键

Sname Char8

Sex Char2默认值为男,只能

输入男和女

Sage Int

Sdept Char20

创建名为course(课程信息)的表,表中的各列要求如下:

字段名称字段类型大小说明

Cno Char10主键

Cname Char30唯一性

Ccredit Real

创建名为score(学生成绩)的表,表中的各列要求如下:

字段名称字段类型大小取值范围说明

主键

Sno Char10数据来自学生信

息表

主键

Cno Char10数据来自课程信

息表

Grade Real0--100

2、创建score –>student表,以及score –>course表的外部键。

3、增加、修改和删除字段,要求:

1) 给student表增加一个memo(备注)字段,类型为varchar(200)。

2) 将memo字段的类型修改为varchar(300)。

3) 删除memo 字段。

4、简单查询操作。该实验包括投影、选择条件表达,数据排序,使

用临时表等。

具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。

1) 求数学系学生的学号和姓名

2) 求选修了课程的学生学号

3) 求选修课程号为‘C1’的学生号和成绩,并要求对查询结果按

成绩的降序排列,如果成绩相同按学号的升序排列。

use student;

select Student.Sno,Grade

from SC,Student

where Cno='3' and SC.Sno=Student.Sno

order by Grade asc ,student.Sno desc

4) 求选修课程号为‘3’且成绩在80~90之间的学生学号和成绩,

并成绩乘以0.8输出。

use student;

select distinct Student.Sno,Grade*0.8

from SC,Student

where Cno='3' and student.Sno=SC.Sno and

grade>80 and grade<90

5) 求数学系或计算机系姓张的学生的信息。

use student;

select Sno,Sname,Sage,Sdept

from Student

where Sname like '张%'and (Sdept='MA'or Sdept='CS')

6) 求缺少了成绩的学生的学号和课程号

use student;

select Sno

from SC

where Grade is NULL

5、连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、

一般连接、外连接、内连接、左连接、右连接和自连接等。

1)查询每个学生的情况以及他所选修的课程

use student;

select Student.Sno,Ssex,Sname,Sage,Grade

from Student left JOIN SC ON (Student.Sno=SC.Sno)

2)求学生的学号、姓名、选修的课程及成绩

use student;

select Student.Sno as '学号',Sname as '姓名',

Cname as '选修的课程',Grade as '得分'

from SC,Student,Course

where Student.Sno=SC.Sno and https://www.360docs.net/doc/a318253679.html,o=https://www.360docs.net/doc/a318253679.html,o

3)求选修课程号为‘C1’且成绩在90以上的学生学号、姓名和成绩

use student;

select Student.Sno as '学号',Sname as '姓名',

Cname as '选修的课程',Grade as '得分'

from SC,Student,Course

where Student.Sno=SC.Sno and https://www.360docs.net/doc/a318253679.html,o=https://www.360docs.net/doc/a318253679.html,o

and https://www.360docs.net/doc/a318253679.html,o=3 and Grade>80

4)查询每一门课程的间接先行课(即先行课的先行课)

use student;

select https://www.360docs.net/doc/a318253679.html,o as '课程号',https://www.360docs.net/doc/a318253679.html,ame as '课程',https://www.360docs.net/doc/a318253679.html,ame as '先行课'

from Course a,Course b

where a.Cpno=https://www.360docs.net/doc/a318253679.html,o

注意:如果要是修改为NULL 可按Ctrl+0

三、实验方法

将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard

Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修

改,直到正确为止。

实验2 数据库的复杂查询实验1.实验目的

本实验的目的是使学生进一步掌握SQL Server查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解,熟练掌握数据查询中的分组、统计、计算和集合的操作方法。

2.实验内容

1、在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS 操作符进行嵌套查询操作。

具体完成以下例题。将它们用SQL语句表示,在学生选课中实现其数据嵌套查询操作。

1)求选修了数据库的学号和姓名

use student;

select Sname,Cname

from SC,Student,Course

where https://www.360docs.net/doc/a318253679.html,o=https://www.360docs.net/doc/a318253679.html,o and Student.Sno=SC.Sno

and Cname='信息系统'

2)求3课程的成绩高于刘晨的学生学号和成绩

use student;

select Sname,Student.Sno,Grade

from SC,Student

where Student.Sno=SC.Sno

and Cno='3'and Grade>(

select Grade

from SC,Student

where Student.Sno=SC.sno

and Sname like'刘晨' and Cno='3')

3)求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)

use student;

select distinct Sname,Sno,Sdept,Sage

from Student

where Sdept<>'CS' and Sage<(

select max(Sage)

from Student

where Sdept='CS'

)

4)求其他系中比计算机系学生年龄都小的学生

use student;

select Sname,Sage

from Student

where Sage>any(

select Sage

from Student

where Sdept='CS'

) and Sdept<>'CS'

5)求选修了C2课程的学生姓名

use student;

select distinct Student.Sno

from Student,SC

where

exists(

select *

from SC

where Student.Sno=SC.Sno and Cno='3')

6)求没有选修3课程的学生姓名

use student;

select distinct Student.Sno

from Student,SC

where not

exists(

select *

from SC

where Student.Sno=SC.Sno and Cno='3')

7)查询选修了全部课程的学生姓名

use student;

select Sno

from SC

group by Sno having count(*)>=3

8)求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名

use student;

select Sname,Sno

from Student

where not exists(

select *

from SC SCY

where SCY.Sno='95002' and

not exists (

select *

from SC SCZ

where SCZ.Sno=Student.Sno and https://www.360docs.net/doc/a318253679.html,o=https://www.360docs.net/doc/a318253679.html,o

)

)

2、进行分组查询,包括分组条件表达、选择组条件表达的方法;进行函数查询,包括统计函数和分组统计函数的使用方法;进行集合查询,包括并操作UNION、交操作INTERSECT和差操作MINUS的使用方法。

具体完成以下例题,将它们用SQL语句表示,在学生选课中实现其数据查询操作。

1)求学生的总人数

use student;

select count(distinct Sno)

from Student

2)求选修了课程的学生人数

use student;

select count(distinct Sno)

from SC

3)求课程和选修了该课程的学生人数

use student;

select Cno,count(*)

from SC

group by Cno

4)求选修超过2门课的学生学号

use student;

select Cno,count(*)

from SC

group by Cno

having count(*)>2

5)查询计算机科学系的学生及年龄不大于20岁的学生

use student;

select Sno,Sname

from Student

where Sdept='CS' and Sage<20

6)查询计算机科学系的学生与年龄不大于20岁的学生的交集use student;

select Sno,Sname

from Student

where Sdept='CS' and Sage<20

7)查询计算机科学系的学生与年龄不大于20岁的学生的差集use student;

select Sno,Sname

from Student

where Sdept='CS' and Sage>20

8)查询选修课程‘C1’的学生集合与选修课程‘C2’的学生集合的交集

use student;

select Sno

from SC

where Cno='1' and Sno in (select Sno

from SC

where Cno='2')

9)查询选修课程‘C1’的学生集合与选修课程‘C2’的学生集合的差集

use student;

select student.Sno,Sname

from SC,Student

where student.sno=sc.sno and Cno='1' and sc.Sno not in (select Sno

from SC

where Cno='2')

3.实验步骤

将查询需求用SQL语言表示:在SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

实验3 数据库的更新和视图定义及维护实验一、实验目的

本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server 企业管理器向数据库输入数据、修改数据和删除数据的操作,同时使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。

二、实验内容

1、具体完成以下例题。将它们转换为SQL语句表示,在学生选课库

中实现其数据更新操作。

1)将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。

insert

into student (sno,sname,ssex,sdept,sage)

values('95007','陈东','男','is',18)

2)插入一条选课记录(‘95020’,’C1’)。

insert

into SC

values('95007','2',NULL)

3)对每一个系,求学生的平均年龄,并把结果存入数据库。对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。

CREATE TABLE Deptage(所在系CHAR(20),平均年龄SMALLINT);

然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。

use student;

create table av_age(sdept char(15),

age int);

insert into av_age(sdept,age)

select Sdept,avg(Sage)

from student

group by Sdept

3)将学生95001的年龄改为22岁。

use student;

update student

set Sage=22

where Sno=95001

4)将所有学生的年龄增加一岁。

use student;

update student

set Sage=Sage+1

5)将计算机科学系全体学生的成绩置零。

use student;

update SC

set Grade=0

where 'CS'=(select Sdept

from student

where student.Sno=SC.Sno)

6)删除学号为95006的学生记录

use student;

delete from student

where Sno='95006'

7)删除所有的学生选课记录

use student;

delete from SC

8)删除计算机科学系所有学生的选课记录

use student

delete from SC

where 'CS'=(select Sdept

from student

where student.Sno=SC.Sno )

2、具体完成以下例题。

1)建立信息系学生的视图

create view CS_stu

as

select Sname,Sdept

from student

where Sdept='CS'

2)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。

create view IS_stu

as

select Sname,Sdept

from student

where Sdept='IS'

with check option

3)建立信息系选修了’C1’号课程的学生视图

create view IS_student

as

select Student.Sno,Sname,Sdept

from student,SC

where Sdept='IS' and student.Sno=SC.Sno

with check option

4)建立信息系选修了’C1’号课程且成绩在90分以上的学生视图create view IS_student

as

select Student.Sno,Sname,Sdept,Grade

from student,SC

where Sdept='IS' and student.Sno=SC.Sno and Grade>90

with check option

5)定义一个反映学生出生年份的视图

create view BIR_stu(Sno,Sname,Sbir)

as

select Sno,Sname,2011-Sage

from student

三、实验步骤

将查询需求用SQL语言表示;在SQL查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

实验四存储过程和触发器的使用

一、实验目的:

本实验要求学生应了解存储过程和事务的作用,基本掌握存储过程和事务的创建和使用方法,要求学生了解触发器的知识与作用,基本掌握触发器的创建方法。要求学生在已建好的学生管理数据库中创建3个分别用于插入、删除和更新的触发器。

二、实验内容:

1、存储过程例题

(1)创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。

create procedure proc_1

as

begin

select * from student

end

exec proc_1

(2)创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程。

create procedure proc_2(@num int,@name varchar(20),@sex varchar(20),@age int,@dept varchar(20))

as

begin

insert into student

values(@num,@name,@sex,@age,@dept)

end

exec proc_2 95008,李冰,男,19,CS

(3)创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程。

create procedure proc_3(@num varchar)

as

begin

delete

from student

where Sno=@num

end

exec proc_3 95008

(4)修改存储过程“proc_4”,用于查询不小于指定成绩的学生的基本信息,具体成绩由调用时决定。\

create procedure proc_5(@grade varchar)

as

select sname

from student,SC

where SC.Sno=student.Sno and Grade>@grade

end

exec proc_6 50

2、触发器例题

(1)创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。create trigger trig_1 on student

for insert

as

begin

select * from student

end

insert into student

values(95008,'李冰','男','18','CS')

(2)创建一个名为“trig_2”的触发器,当试图向学生表添加、修改或删除记录时,该触发器自动显示如下

信息:“对不起,你无权进行更新操作!”。create trigger trig_2 on student

for insert,update,delete

as

begin

print '对不起,你无权进行更新操作!'

roll back

(3)创建一个名为“trig_3”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所

有记录。

create trigger trig_3 on student

for delete

as

begin

delete

from SC

where Sno in(select Sno

from deleted)

end

(4)创建一个名为“trig_4”的触发器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生的学号、姓名和班级。

实验五安全管理

一、实验目的

本实验要求学生掌握SQL Server2000三级安全体系及验证模式的设置,掌握SQL Server2000服务器登录帐号及数据库用户帐号的管理,掌握创建用户自定义数据库角色并为其授权,掌握为数据库用户授权的方法

二、实验内容

1、创建SQL Server 服务器登录账号

操作步骤:展开SQL Server 服务器,右击安全性节点下

的“登录”,选择“新建登录“,在弹出的“登录属性”对话框中,选择一个windows用户,单击“确定”按钮,就可以创建一个登录账号。

2、创建数据库用户:为“学生选课”数据库添加用

户:zhang。

操作步骤:选择“学生选课”数据库,右击“用户”节点,选

择“新建数据库用户”,在弹出的“数据库用户属性—新建用户”对话框中,在“登录名”右边的下拉列表框中选择一个登录名,可以在“用户名”后的文本框输入数据库用户名。数据库用户名可以和选中的登录名相同,也可以不同。

3、创建数据库角色:为“学生选课”数据库创建一用户自

定义数据库角色s_c_reader,该角色的权限是可以查

询学生表及选课成绩表的信息。

操作步骤:展开“学生选课”数据库,右击“角色”节点,选择“新建数据库角色”,弹出的“数据库用户角色—新建角色”对话框,在“名称”下面的文本框输入数据库角色的名称,单击“确定”按钮即可。可以将数据库用户添加到数据库角色中。

为数据库角色授权:选中一个具体的数据库角色,单击鼠标右键,选择“属性”,在弹出的“数据库角色属性”对话框中,单击“权限”按钮,在弹出的对话框中设置数据库角色的权限。

4、数据库对象操作权限的授予和回收:为数据库用户

zhang 授予学生表的增、删、改、查权限。

操作步骤:选择“学生选课”数据库中的“表”节点,选择“学

生”表,单击鼠标右键,选择“所有任务”中的“管理权限”命令,在弹出的对话框中设置各个数据库用户的操作权限。

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

数据库原理上机实验指导

数据库原理上机实验指导 一、实验目的和要求 1.实验目的 力图通过本实践课程的学习,使学生掌握数据库管理系统的基本概念、操作方法和管理方法,能够根据用户应用需求设计出合理的数据库应用系统逻辑模型方案,并且实现之。 2.实验要求 本实践课程主要介绍Microsoft SQL Server 2000系统的基本概念、基本知识;讲述数据库管理系统的安装、操作、设计、管理等基本概念及其操作方法;学习如何创建和管理数据库系统的步骤,为承担DBA角色作好准备。重点要求掌握Transact-SQL语言,学会数据库应用系统逻辑模型的设计和实现。 要求学生实验前认真准备,实验后提供实验报告,给出详细实验结果以及设计依据。 实验报告的格式应采用统一封面,统一的实验报告纸。封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。 二、实验环境介绍 1.硬件设备要求 微型计算机,最好具有局域网环境 2.软件设备要求 Windows 2000或Windows XP操作系统; MS SQL Server 2000数据库管理系统。 三、实验内容和学时分配 1.实验内容 实验1:服务器管理 实验2:创建和管理数据库 实验3:Transact-SQL语言——数据查询 实验4:Transact-SQL语言——数据定义与数据更新 实验5:数据库安全与保护——用户管理和权限管理 实验6:数据库安全与保护——数据完整性 实验7:数据库安全与保护——数据库的一致性和并发性 实验8:数据库安全与保护——数据库的备份与恢复 实验9:存储过程和触发器 实验10:嵌入式SQL的使用

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

数据库上机实验

学号 12051134 姓名张宏源班级物联网1班上机实验四——SELECT语句基本格式的使用一、实习目的: 掌握SELECT的基本使用格式,能使用SQL Server对表作简单查询。 二、实习准备: 1.复习第三章3.4节中SELECT语句的基本使用格式。 2.复习SQL中五种库函数:AVG、SUM、MAX、MIN、COUNT; 3.完成习题三第12题中的各项操作的SQL语句。 三、实习内容: 1.验证习题三第12题中的各项操作的SQL语句。 ① 找出所有被学生选修了的课程号; Select Distinct Cno From Grade Order by Cno ②找出01311班女学生的个人信息; Select* From Student where Ssex='女'and Clno=01311 ③找出01311班、01312班的学生姓名、性别、出生年份; Select Sname,Ssex,2014-Sage as birthyear From Student where Clno='01311'or Clno='01312' ④找出所有姓李的学生的个人信息; Select* From Student where Sname like'李%' ⑤找出学生李勇所在班级的学生人数; Select number FROM Class where clno= (select Clno from Student

where Sname='李勇' ) ⑥找出课程名为操作系统的平均成绩、最高分、最低分; Select AVG(Gmark),MAX(Gmark),MIN(Gmark) FROM Grade where Cno= (Select Cno from Course where Cname='操作系统' ) ⑦找出选修了课程的学生人数; Select COUNT(Sno)as renshu FROM Grade ⑧找出选修了课程操作系统的学生人数。 Select COUNT(Sno)as renshu FROM Grade where Cno= (Select Cno from Course where Cname='操作系统' ) 2.试一下以下语句是否正确: SELECT eno,basepay,service FROM salary WHERE basepay

数据库上机实验

创建数据表与数据输入 Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表 P69 1.(1)-(6) 2. 为数据表输入数据 P76 4.(1)-(4) 3. 数据浏览 P77 1. (1)-(2) 2. (1)-(3) Part II. 使用SQL语句创建数据表和输入数据 1. 使用SQL语句创建数据表 P72. 例3-2 2.使用SQL语句输入数据 P82. 例3.8 习题:P.105 (1)(2)insert

数据操作Insert、Update、Delete P105 3. 上机练习题(2)(4) Insert (100001, 1000, 2002-12-18 0:00:00) (100002, 2000, 2010-3-20 0:00:00) Update (100001, 1500, 2002-12-18 0:00:00) (100002, 2000, 2012-9-25 0:00:00) Delete

1.将teaching数据库中score表的studentno列设置为引用表student的外键。 ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY (studentno) REFERENCES student(studentno) 2.将teaching数据库中class表的classname创建UNIQUE约束。 ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname) 执行如下插入语句,查看提示信息 INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。 ALTER TABLE student ADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息 INSERT INTO student(studentno, sname, sex, birthday, classno) VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’) 提示:表达式YEAR(GETDATE())-YEAR(birthday) 4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。 CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’) EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’ 执行如下插入语句,查看提示信息 INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’) 提示:表达式IN(职称列表) 5. 编写程序,输出在1-3000之间能被17整除的最大数值 提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INT SELECT @s=0, @i=3000 WHILE @i>=1 BEGIN IF @i%17=0 BEGIN PRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4)) BREAK END @i = @i-1 END

pb实验指导

实验一数据库的创建与连接 目的和要求 (1)掌握PowerBuidler9.0数据库的创建与连接方法; (2)创建一个SQL Server数据库,为其配置ODBC数据源和DBProfile,然后在PowerBuilder环境中连接数据库; (3)创建数据库中的表,管理表并输入数据到表中。 上机准备 (l)启动Windows操作系统,如果在Windows操作系统的控制面板中没有安装ODBC32,必须进行ODBC的安装; (2)进人PowerBuilder 9.0集成环境,熟悉系统环境; (3)创建的应用个人应用mypb; (4)复习创建数据库的有关内容。 上机步骤 1..创建SQL Server 数据库 创建SQL Server数据库的步骤: (1)运行SQL Server 服务; (2)运行SQL Server 企业管理器; (3)创建student数据库; (4)在student数据库中,创建student表(见表1)。 2.配置ODBC 数据源 配置ODBC数据源的步骤: (1)在PowerBuilder数据库画板的窗口中,双击ODBC项下Utlities项的“ODBC Administrator”项,将弹出“ODBC数据源管理器”对话框: (2)选择“用户DSN”页,在该页的列表框中,列出了已有的数据源,若要修改已有的数据源,可以中击“配置”按钮进行修改。这里,我们需要添加一个ODBC数据源,所以,中击“添加”按钮创建新数据源,将出现标题为“创建新数据源”的对话框; (3)在“创建新数据源”的对话框中提供了一个系统支持的数据库驱动程序列表框,选择合适的驱动程序。这儿我们选择SQL Server,单击“完成”按钮,将弹出“创建SQL Server 新数据源”对话框; (4)输入新的数据源名称,这里为mydb。然后,选择想连接的SQL Server服务器,可选择local,然后单击“下一步”按钮; (5)选择SQL Server验证,登录ID 为sa,密码默认为空,然后单击“下一步”按钮; (5)更改默认的数据库为student,然后单击“下一步”按钮; (5)默认系统值,然后单击“完成”按钮;

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分) 1.建立工厂管理数据库 工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息: (1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话; (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; (3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产; (4)一个车间制造多种零件,一种零件也可能为多个车间制造。零件有零件号、重量和价格; (5)一种产品可由多种零件组成,一种零件也可以装配出多种产品; (6)产品和零件均存入仓库; (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。 ◆分析实体及联系,设计E-R图。 ◆将E-R图转换成关系模式,并规范化到3NF。 ◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主 码,外码,索引,约束等)。 ◆测试数据入库 2.基于“查询分析器”,完成并保存下述题目的SQL脚本 (1)建立“工种”是“钳工”的所有职工详细信息的视图; create view View_工人_钳工 as select* from职工表 where工种='钳工' with check option (2)建立“车间号”是“CJ01”的钳工详细信息的视图; create view View_钳工_CJ01 as select* from View_工人_钳工 where车间号='CJ01' (3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图; create view View_产品_零件LJ0002 as select产品表.产品号,价格,车间号,仓库号 from装配表,产品表 where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引; create unique index Index_U_零件号on零件表(零件号) (5)对职工表按照“性别”建立聚簇索引; create clustered index Index_C_性别on职工表(性别) (6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;

Oracle 数据库上机试验指导2(答案)

实验二代码参考: 1.-- 创建学生表 create table student ( studid char(6) primary key, studname varchar2(16) not null, gender char(4) check(gender in('男','女')), addr varchar2(256) ); -- 创建课程表 create table course ( courseid char(6) primary key, coursename varchar2(32) not null unique, teacher varchar2(16) , score number check(score in (1,3,5)) ); -- 创建选课表 create table courSelc ( recid number(4) primary key, studid char(6), courseid char(6), score number(2) check(score >=0 and score <=100), constraint fk_stud foreign key(studid) references student(studid), constraint fk_cour foreign key(courseid) references course(courseid) ); 2. alter table student modify studName null; 3.1 alter table course modify courseName null; 3.2 alter table course add examdate date; 4.insert into course values('M1001','数学','奥巴马','3',to_date('2012-1- 1','yyyy-mm-dd')); insert into course values('J2002','军事理论','拿破仑','5',to_date('2012-1-1','yyyy-mm-dd'));

数据库系统概论实验指导(第六版)

数据库系统概论实验指导 (第六版) 计算机学院 2010/09

改版履历

目录 目录 (3) 1.实验概要 (4) 1.1.实验说明 (4) 1.2.实验环境和配置 (4) 1.3.上机要求 (4) 2.实验1:数据库/表的基本操作和表级约束 (5) 2.1.目的和要求 (5) 2.2.实验准备 (5) 2.3.实验内容 (5) 3.实验2:库级约束和基本表的数据操作 (8) 3.1.目的和要求 (8) 3.2.实验准备 (8) 3.3.实验内容 (8) 4.实验3:视图操作和安全性控制 (10) 4.1.目的和要求 (10) 4.2.实验准备 (10) 4.3.实验内容 (10) 5.实验4:存储过程/触发器/ODBC数据库编程 (12) 5.1.目的与要求 (12) 5.2.实验准备 (12) 5.3.实验内容 (12) 6.实验5:数据库综合实验 (14) 6.1.目的与要求 (14) 6.2.实验准备 (14) 6.3.实验内容 (14) 5.3.1.题目一:零件交易中心管理系统 (15) 5.3.2.题目二:图书管理系统 (15) 5.3.3.题目三:民航订票管理系统 (15) 5.3.4.题目四:学生学籍管理系统 (15) 5.3.5.题目五:车站售票管理系统 (16) 5.3.6.题目六:企业人事管理系统 (16) 5.3.7.题目七:电话交费管理系统 (16) 5.3.8.题目八:医药销售管理系统 (16) 7.附录:实验报告格式 (17)

1.实验概要 1.1.实验说明 内容:本课程实验分5次完成,每次完成一部分。具体内容参考本指导的后半部分。 成绩:每次实验100分,最后取所有实验的平均分作为实验的总成绩。评分标准如下: 上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。 实验报告 每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。每次实验结束时,将写好的实验报告,提交给各班辅导老师。如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。由辅导老师根据课堂上机实验检查状况和实验报告的内容给出每次实验的成绩。 实验报告的内容包括:实验内容、实验步骤、程序源码、运行结果(可以是程序的输出,也可以是运行画面的抓屏,抓屏图片要尽可能的小,否则文件太大)。每份实验报告是一个WORD文档。实验报告命名规则如下:DBx(实验次数)_XXXXXX(学号)_姓名例如:052978的学生的第一次实验报告文件名: DB1_052978_李宁注意:请每个人保存好自己的实验报告的电子版,直到该门课考试成绩公布之后。 1.2.实验环境和配置 SQL Server 2008(Microsoft SQL Server 2008 Express With Advance Service) 1.3.上机要求 ●上机之前,请做好预习,需要写一个简单的预习报告,格式不限。 ●严格遵守实验室的各项规定。

数据库上机实验

附录C 上机实验 C.1 第4章上机实验 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): ●数据库名为:学生数据库 ●主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D: 盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB, 增长方式为自动增长,每次增加1MB。 ●日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大 小为:2MB,增长方式为自动增长,每次增加10%。 2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容)

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 (2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。(3)将Course表中Credit列的类型改为:tinyint。 (4)删除Student表中的Sid和Sdate列。 (5)为Teacher表添加主键约束,其主键为:Tno。 C.2 第5章上机实验 本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。 1.查询SC表中的全部数据。 2.查询计算机系学生的姓名和年龄。 3.查询成绩在70~80分的学生的学号、课程号和成绩。 4.查询计算机系年龄在18~20岁的男生姓名和年龄。 5.查询C001课程的最高分。 6.查询计算机系学生的最大年龄和最小年龄。 7.统计每个系的学生人数。 8.统计每门课程的选课人数和最高成绩。 9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10.列出总成绩超过200的学生的学号和总成绩。 11.查询选了C002课程的学生姓名和所在系。 12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。 13.查询与VB在同一学期开设的课程的课程名和开课学期。 14.查询与李勇年龄相同的学生的姓名、所在系和年龄。 15.查询哪些课程没有学生选修,列出课程号和课程名。 16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。 17.查询计算机系哪些学生没有选课,列出学生姓名。 18.查询计算机系年龄最大的三个学生的姓名和年龄。 19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。 20.查询选课门数最多的前2位学生,列出学号和选课门数。 21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显 示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。 22.统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人 数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”; 如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。 23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表 VB_Grade中。

数据库上机实验总结(含代码)

实验一 (1)无条件单表查询 select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student; (2)有条件单表查询 SELECT sname,sdept,sage FROM student WHERE sage NOT BETWEEN 20 AND 23; (3)单表嵌套(一层)查询 SELECT sno,sname,sdept FROM student WHERE sdept IN(SELECT sdept FROM student WHERE sname='刘晨'); (4)复合条件多表查询 SELECT student.sno,sname,cname,grade FROM student ,sc,course WHERE student.sno=sc.sno AND https://www.360docs.net/doc/a318253679.html,o=https://www.360docs.net/doc/a318253679.html,o; (5)使用COUNT()的单表查询 SELECT COUNT(*) FROM student; (6)使用AVG()的单表查询 SELECT AVG(grade) '平均成绩' from SC where CNO='1'; (7)查询结果分组 SELECT cno,COUNT(sno) '人数' FROM sc GROUP BY cno; (8)查询结果排序 SELECT * FROM student ORDER BY sdept,sage DESC; (9)使用通配符的查询 SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'刘%'; (10)使用换码字符的单表查询 SELECT cno,ccredit FROM course WHERE cname LIKE 'DB\_Design'ESCAPE'\'; (11)插入单个元组 插入一个新学生元组 Insert into student (sno,sname,ssex,sdept,sage) values ('200215128','陈冬','男','IS',18) (12)插入子查询结果 对每一个系,求学生平均年龄,并把结果存入数据库 Create table dept_age(sdept char(15),avg_age int) Insert into dept_age(sdept,avg_age) select sdept,avg(sage) from student group by sdept (13)修改某个元组的值 将学生200215121的年龄改为22岁 Update student set sage=’22’ where sno=’200215121’ (14)修改多个元组的值

大型数据库系统(SQL Server 2005)--实验指导讲义

实验一SQL Server 2005数据库服务器界面使用及数据库原理知 识的应用 1.实验目的 (1)通过使用SQL Server 2005的控制界面感受SQL Server 2005。 (2)熟悉SQL Server 2005所需的软、硬件要求。 (3)熟悉SQL Server 2005支持的身份验证种类。 (4)掌握SQL Server 2005服务的几种启动方法。 (5)掌握SQL Server Management Studio的常规使用。 (6)掌握关系数据库的逻辑设计方法——E-R图。 2.实验准备 (1)了解SQL Server Management Studio的常规使用。 (2)了解SQL Server 2005所需的软、硬件要求。 (3)了解SQL Server 2005支持的身份验证种类。 (4)了解SQL Server 2005服务的几种启动方法。 (5)了解关系数据库的逻辑设计方法——E-R图。 3.实验内容 (1)分别使用“Windows身份验证模式”和“SQL Server和Windows身份验证模式”登录SQL Server 2005集成控制台。 (2)利用SQL Server Configuration Manager配置SQL Server 2005服务器。 (3)利用SQL Server 2005创建的默认帐户,通过注册服务器向导首次注册服务器。 (4)试着创建一些由SQL Server 2005验证的账户,删除第一次注册的服务器后用新建的账户来注册服务器。 (5)为某一个数据库服务器指定服务器别名,然后通过服务器别名注册该数据库服务器。 (6)熟悉和学习使用SQL Server Management Studio。 (7)设计E-R图。参照书上19页的优化模式,要求注明实体的主码、联系的类型和主码。

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

试用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.360docs.net/doc/a318253679.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.360docs.net/doc/a318253679.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

数据库系统实验

实验指导书 班级:090402 姓名:郑锦坤

序言 数据库是数据管理的最新技术,是计算机科学的重要分支。通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。 为了达到这个目的,这里安排五个实验单元。 实验报告的内容 1.题目 描述每个实验的内容是什么。 2.需求分析 用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程 的头和规格说明; 3.源程序清单和结果 源程序要加注释,要有测试数据及结果。

实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时) 本次实验的主要目的在于学会使用SQL SERVER环境建 库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库 的查询实现方法。实验数据如下: Student SC

实验报告 1 日期: 一.SQL语句实验题目: 1.建立课程表 2.建立学生表 3.建立选课表 4.查询所有学生的详细信息

SELECT Student.SCLASS, Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,https://www.360docs.net/doc/a318253679.html,O,SC.GRADE,https://www.360docs.net/doc/a318253679.html,AME,Course.CPNO,Course. CCREDIT FROM Course,Student,SC WHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND https://www.360docs.net/doc/a318253679.html,O=https://www.360docs.net/doc/a318253679.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库原理上机实验-代码及截图

《数据库原理》上机实验报告 2017年11月

一、实验目的与要求: ●熟练使用SQL定义子语言、操纵子语言命令语句 ●掌握关系模型上的完整性约束机制 ●掌握一定的数据库管理技术 ●能完成简单的数据库应用开发 二、实验内容 1、实验一到实验十七 (一)数据定义子语言实验(2学时) 实验1:利用SQL语句创建Employee数据库 代码如下: create database Employee; 运行结果: 实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary

及部门表dept, 暂不定义外键约束。 要求:按表1、表达、表3中的字段说明创建 表1 person表结构 表2 salary表结构 表3 dept表结构 代码如下: create table person( P_no char(6) not null primary key, P_name varchar(10) not null, Sex char(2) not null, Birthdate datetime null, Prof varchar(10) null, Deptno char(4) not null

); create table salary( P_no char(6) not null primary key, Base dec(5) null, Bonus dec(5) null, Fact dec(5) null, Month int not null ); create table dept( Deptno char(4) not null primary key, Dname varchar(10) not null ); 运行结果:

数据库上机实验报告

《数据库技术与应用》上机实验报告 姓名:谢优贤 学号:020******* 专业班级:安全工程1003班

通过这次上机实验,我做了学生信息管理系统数据库,通过创建表、查询、窗体、报表和宏对输入数据库中的学生的基本信息进行整理和操作,以便得到我们想要的信息。学生信息管理系统可以实现对学生的基本信息:学号、姓名、联系方式、性别、成绩等的查询,还有对教师的情况进行比较了解从而可以帮助学生更好地选课和学习,省去了纸质档案管理不方便的方面。 通过窗体的创建和美化,使我们在操作数据时有一个简洁明了美观的窗口,简化了用户的操作程序,方便用户的使用。报表的创建可以使用户想要的数据很好地呈现在纸上。使用宏命令还使数据库有了设置密码的功能,很好的保护了数据的使用权限;也可以使用宏命令打开我们希望打开的窗口。 一、主要上机内容 1. 数据库的创建: 我使用自行创建数据库的方式进行创建,数据库文件名为学生信息管理系统。数据库要实现的主要功能:学生基本信息及学习成绩情况的统计,通过窗体进行学生信息的查询、学生信息及成绩的普通查询、打印学生信息报表等。 2. 表的创建: 基本表为学生信息表、学生成绩表、教师信息表、课程信息表等均使用设计器创建表学生信息表的记录: 学生信息表结构: 在学生信息表中设置了学号为主键,为了方便输入又在学号字段中设置了掩码(如下图)

学生年龄一般不会太大或太小,于是为了防止填写信息时出错,添加了有效性规则 性别只有男和女之分,于是为了方便,选择了查询向导 同样在入学日期和电话字段也设置了输入掩码 头像属于图片类型,其数据类型为“OLE对象”,所得荣誉和自我介绍选择了“备注”类

《数据库系统原理》实验指导书范文

《数据库系统原理》实验指导书 计算机科学与技术与学院计算机科学与技术系 二○一二年

目录 实验一认识DBMS ..................................................................................... 错误!未定义书签。实验二交互式SQL(4小时) ................................................................. 错误!未定义书签。实验三数据库完整性(2小时) ........................................................... 错误!未定义书签。实验四数据库安全性(2小时) ........................................................... 错误!未定义书签。

实验一认识DBMS 一、实验目的 1.通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架。在此推荐SQL SERVER2005。 2.熟悉DBMS的安装、配置及使用。 3.搭建今后实验的平台。 二、实验平台 操作系统:Windows XP。 数据库管理系统:SQL SERVER2005。选择安装各个数据库管理系统之前,请仔细看清硬件的配置要求。 三、实验内容和要求 1.根据安装文件的说明安装数据库管理系统。在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。 2.学会启动和停止数据库服务。 在正确安装SQL SERVER2005后,SQL SERVER数据库引擎服务会在系统启动时自动启动。如果要手动地启动和停止数据库引擎服务,可以通过SQL SERVER配置管理器(SQLSERVER CONFIGURATION MANAGER)来进行管理。SQL SERVER配置管理器综合了SQLSERVER 2000中的服务管理器、服务器网络适用工具和客户端网络实用工具的功能。 打开 SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服务,如“SQLSERVER(MSSQLSERVER)”。 3.了解RDBMS系统的体系结构。 SQL SERVER2005是一款具有“客户机/服务器”架构的关系型数据库管理系统,它使用T-SQL语言在客户机和服务器之间传递客户机的请求和服务器的响应。 数据库体系结构:又划分为数据库逻辑结构和数据库物理结构。数据库逻辑结构主要应用于面向用户的数据组织和管理,如表、视图、存储过程和触发器、约束等。数据库物理结构主要应用于面向计算机的数据组织和管理,如数据以表文件的形式存放在硬盘上。 4.了解RDBMS的管理和使用。例如SQL SERVER Management Studio是SQL SERVER 2005种最重要的管理工具,它融合了SQL SERVER2000的查询分析器和企业管理器、OLAP分析器等多种工具的功能,为管理人员提供了一个简单的实用工具,使用这个工具既可以用图形化的方法,也可以通过编写SQL语句来实现数据库的操作。 5.初步了解RDBMS的安全性,这里主要是服务器用户的登录和服务器预定义角色。可以尝试建立一个新的登录名,赋予其数据库管理员的角色,今后的实验可以用该登录名来创建数据库用户。

相关文档
最新文档