14春数据库实验2+数据库操作(8学时)

14春数据库实验2+数据库操作(8学时)
14春数据库实验2+数据库操作(8学时)

实验二数据库操作(8学时)

【实验目的】

了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识。学会使用SQL 语句创建和使用视图,了解数据库安全控制的机制,以及自主存取控制方法。

【实验要求】

利用SQL语言进行数据库表的各种操作:

1.数据库表的创建、修改和删除操作。

2.向表中进行数据的插入、删除和修改操作。

3. 掌握利用Select语句进行各种查询操作:单表查询、多表连接及查询、嵌套查询、集合查询等。

4.掌握创建、修改视图的SQL语句的用法。

5.掌握视图的使用方法。

6.掌握SQL有关用户、角色及操作权限的管理方法。

【实验内容】

1. 利用数据定义语句完成学生管理系统中有关表的创建、修改和删除操作。

2.利用INSERT、UPDATE和DELETE语句对学生管理系统中的表中的数据进行插入、更新和删除操作。

3.利用SELECT语句对学生管理系统中的表中的数据进行各种查询操作。

4. 使用SQL Server 2000企业管理器完成上述操作。

5. 视图操作。以Student 、Course表为基础完成视图定义、查询、修改的操作。

6. 在企业管理器中为自己建立一个服务器用户、数据库用户和数据库角色。并将自己创建的学生库所有操作权赋予它们,将自设计的数据库的操作权赋予新建的数据库用户. 【实验步骤】

一、数据定义

(一)表的创建

在实验一创建的数据库stu_DB中分别用企业管理器和查询分析器,按下面的表结构创建学生管理系统的表。

表2-1 Student表结构

列名 说明 数据类型 约束

Sno 学号字符串,长度为8 主码

Sname 姓名字符串,长度为10 非空

Ssex 性别字符串,长度为2 ’男’或’女’

Sage 年龄整数15~45

Sdept 所在系字符串,长度为20 默认为’计算机系’

表2-2 Course表结构

列名 说明 数据类型 约束

Cno 课程号字符串,长度为8 主码

Cname 课程名字符串,长度为20 非空

Cpno 先修课程号字符串,长度为8

Ccredit 学分整数取值:1~6

Semster 学期整数取值:1~8

Period 学时字符串,长度为20 取值:≥0

表2-3 SC表结构

列名 说明 数据类型 约束

Sno 学号字符串,长度为8 主码,引用student的外码Cno 课程号字符串,长度为8 主码,引用course的外码Grade 成绩整数取值:0~100

1.利用企业管理器创建表

(1)打开企业管理器。

(2)选中实验一创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗口右侧选择新建表,弹出如图所示窗体。

图2-1 新建表窗体

(3)在这个窗体中,列名列就示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。

(4)在此处可以为表选择文件组,在表中单击右键,选择属性,如果已经为数据库创建了一个次要组,可以在属性窗体的表文件组中为此表选择文件组。应该把一些竞争使用的表放于不同的文件组中,并且让文件组属于不同磁盘,这样可以在表竞争读写时提高并发性能。

(5)创建完成后,单击磁盘图标,并为表取一个名字。注意,应该为表取一个有意义的名字。

2.用Transact_SQL语句创建表

语法为:

CREATE TABLE

[ database_name.[owner].] table_name

( {column_name data_type [DEFAULT ‘default_value’]|

[CONSTRAINT CONSTRAINT_name]

}, […n] [IDENTITY [(seed, increment )]]

)

[ON { filegroup | DEFAULT }]

[TEXTIMAGE_ON {filegroup | DEFAULT }]

【例1】生成一个表名为student的表

create table student

(

sno CHAR(8) primary key,

sname CHAR(10) not null,

ssex CHAR (2) check (ssex='男'or ssex='女'),

sage smallint,

sdept CHAR (20) default ('计算机系'),

)

图2-2查询分析器窗体——创建表

【例2】创建一张名为Ta1的表,此表中有3列,第一列Pid定义为主键,并且自动增长。第二列Name默认值为Unknown,第三列定义一个约束(日期不能大于输入当天的日期),插入一条记录并进行查询,显示如下图。

CREATE TABLE ta1

(

pid int identity(1,1) primary key,

[name] CHAR(10) default ('unknow'),

birthday datetime CHECK( birthday

)

注意该列有什

么特殊性?

图2-3 查询分析器窗体——创建表

请参考例1和例2,完成以下操作:

(1)按前面所给的表结构创建表Course和SC。

(2)自行设计表的结构,用SQL语句建立第二章习题5中的4个表。

(二)表的修改

1.用企业管理器修改表

⑴右键点击所要修改的学生表,选择“设计表”,会弹出如图2-4所示的窗体,在这个窗体中可以更改数据表的字段。在空白处点右键,选择“属性”,弹出另一窗体,在此可以更改约束,也可以增加约束。

图2-4 修改表窗体

(2)利用Transact-SQL语句修改表

●向表中添加新的字段:在学生表中添加一个“班级”字段,数据类型为字符型。

ALTER TABLE student ADD class CHAR(6)

●删除表中的旧列:将学生表中的“Sdept”字段删除。

ALTER TABLE student DROP COLUMN Sdept

●更改表以添加具有约束的列。

给学生表的增加“grade”字段并加上CHECK约束,让其不可以大于100。

ALTER TABLE student ADD grade int CONSTRAINT ch_grade CHECK(grade<100) EXEC sp_help ch_grade

给学生表中添加“birthday”字段,并且这个日期不能在录入当天的日期之后。

ALTER TABLE student ADD birthday DATETIME NULL

CONSTRAINT ch_birthday CHECK(birthday

●添加具有默认值的可为空的列:

在学生表中加入“matriculationday”字段,并且这一字段的默认值为录入当天的日期。

ALTER TABLE student ADD matriculationday smalldatetime NULL

CONSTRAINT adddateflt DEFAULT getdate()

请参考上面所给的例子:

(1)自行设计表结构修改操作(不少于8个语句),并进行实验验证。

(2)修改表student,结果如表2-4。

(3)创建表2-5、表2-6,为后续实验建立基础。

表2-4 更新后的student表结构

列名 说明 数据类型 约束

Sno 学号字符串,长度为8 主码

Sname 姓名字符串,长度为10 非空

Ssex 性别字符串,长度为2 ’男’或’女’

Sdept 所在系字符串,长度为20 默认为’计算机系’Sbirth 出生日期日期自定义

sclass 班级字符串,长度为20

sremark 评语变长字符串,长度为100

saddress 家庭住址变长字符串,长度为40

szipcode 邮编字符串,长度为6

sphone 电话字符串,长度为15

semail 电子邮箱变长字符串,长度为40

表2-5 Teacher表结构

列名 说明 数据类型 约束

tno 工号字符串,长度为8 主码

tname 姓名字符串,长度为10 非空

tsex 性别字符串,长度为2 ’男’或’女’

tdept 所在系字符串,长度为20 默认为’计算机系’

tbirth 出生日期日期自定义

tposition 职称字符串,长度为12

tsalary 工资整数取值:0~10000 texperience 简历变长字符串,长度为200

tamount 工作量整数取值:0~1000

tphone 电话字符串,长度为15

temail 电子邮箱变长字符串,长度为40

taddress 家庭住址变长字符串,长度为40

表2-6 TC表结构

列名 说明 数据类型 约束

Tno 工号字符串,长度为8 主码,引用Teacher的外码Cno 课程号字符串,长度为8 主码,引用Course的外码Classroom 教室变长字符串,长度为30

(三)表的删除

可以在企业管理器中选择要删除的表直接删除,也可以通过Transact-SQL语句DROP 删除表的定义及表中的所有数据、索引、出发器、约束和权限规范。

如要删除ta1表,语句如下: DROP TABLE ta1

请参考上面的例子完成对表Student 、Course 、SC的删除操作,它们删除的次序如何?并进行实验验证。

二、数据操纵

(一)查看、重命名及删除用户定义的数据类型

1.使用企业管理器创建一个名为newtype1、长度为6、可变长字符、允许为空的自定义数据类型。

进入企业管理器,进入stu_DB数据库,用鼠标右键单击“用户定义的数据类型”后选择“操作”菜单中的“新建用户定义数据类型”或点击“新建”按扭,将弹出下图所示窗体:

图2-4 数据类型定义窗体

输入要定义的数据名称newtype1,选择数据类型varCHAR,输入长度为6,在“允许NULL值”复选框中打个“√”,单击“确定”按钮即可。

2.使用T-SQL语句创建一个名为newtype2,数据长度为6,定长字符型,不允许为空的自定义数据类型。

USE stu_DB

EXEC sp_addtype newtype2, ‘CHAR(6)’, ‘not null’

3.命名用户自定义的数据类型

⑴使用系统存储过程sp_rename将自定义数据类型newtype1重新命名为a1。

EXEC sp_rename newtype1, a1

⑵使用企业管理器再将自定义数据类型a1重新命名为newtype1。

4.删除用户自定义数据类型

⑴使用系统存储过程sp_droptype来删除用户自定义的数据类型。

EXEC sp_droptype newtype1

⑵使用企业管理器删除用户自定义数据类型

进入企业管理器,进入stu_DB数据库,单击“用户定义的数据类型”后,右边窗口将出现所有用户定义的数据类型,再用鼠标右键单击newtype2,在弹出的快捷菜单上单击“删除”按钮即可。

注意:正在被表或其他数据库对象使用的用户定义类型能不能删除?请进行实验验证。

(二)数据的更新

1. 利用企业管理器更新数据

打开企业管理器,右键点击所要修改的表,选择“打开表”,单击“返回所有行”,会弹出如图2-5所示的窗体,在该窗体中可以修改表中的数据内容。这里的修改内容是自动存储的,修改完之后,直接关闭该窗体,数据内容即修改成功。

图2-5数据修改窗体

2.利用查询分析器更新数据

在关系数据库中,常见的数据更新的语句有三条:INSERT、UPDATE和DELETE

⑴INSERT语句

向student表中插入一行数据,具体数据如下:

学号:04265005, 姓名:刘辉, 性别:男,年龄:21, 系别:计算机系

USE stu_DB

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept)

V ALUES (‘04265005’, ‘刘辉’, ‘男’, 21, ‘计算机系’)

INSERT INTO student (Sno, Sname, Ssex, Sage)

V ALUES (‘04265006’, ‘李慧’, ‘女’, 21)

向ta1表中插入数据如下:

INSERT ta1([name],birthday) values (‘lan’,’1977-03-02’)

INSERT ta1 values (‘lan’,’1977-03-02’)

INSERT ta1(birthday) values (‘1977-03-02’)

请根据上述例子,自行设计不同情况下的数据插入语句(不少于10个语句),并进行实验验证,验证要求如下:

●不满足唯一性约束的数据的插入。

●不满足用户自定义约束的数据的插入。

●不满足外键约束的数据的插入。

●利用缺省值的数据的插入。

●不合理的数据是否能进入数据库。

⑵UPDATE语句

更改(学生)表数据,将学号为‘04265005’的学生的所在系改成‘机械工程系’。

UPDATE student SET Sdept=‘机械系’ WHERE Sno=‘04265005’

请根据上述例子,自行设计数据修改语句(不少于10个语句),并进行实验验证,验证要求同INSERT语句。

⑶DELETE语句删除行

删除student表中的学号为‘04265005’的记录。

DELETE FROM student WHERE Sno =‘04265005’

如果想清除表中的所有数据但不删除这个表,可以使用TRUNCATE TABLE语句。该语句相当于没有条件的DELETE语句,并且该语句不记录日志。

请根据上述例子,自行设计不同情况的数据删除语句(不少于10条语句),并进行实验验证不满足外键约束的数据删除操作。

三、数据查询

对数据定义中创建的学生管理系统(Student, Course,SC,Teacher,TC表)和SPJ 系统中的每个表添加充足的数据(每个表不少于20条),以便完成本实验的后继操作。具体表信息可参考如下:

Student表:

Sno sname Sbirthday Sdept 04261001 王冬梅1982.02.07 计算机系……

04261002 王田田1982.03.04 计算机系……

04261003 吴畏1982.06.06 计算机系……

04261004 马丽1982.04.03 计算机系……

04261005杨乾坤1982.03.23 计算机系……

04262001刘乐1983.01.16 计算机系……

04262002夏天1983.02.08 计算机系……

04262003杨致远1982.07.22 计算机系……

04561001陶然1982.01.12 数学系……

04563001姚远1982.03.21 数学系……

…………………………

course表:

Cno Cname Cpno Credit

C001 数据库原理C005 3 ……

C002 高等数学 4 ……

C003 管理信息系统C001 2 ……

C004 操作系统C006 3 ……

C005 数据结构C007 3 ……

C006 计算机文化基础 2 ……

C007 C语言程序设计C006 3 ……

…………………………

score表:

Sno Cno Score

04261001 C001 90

04261002 C001 85

04261003 C001 73

04261004 C001 98

04261005C001 96

04262001C001 97

04262002C001 83

04262003C001 85

04561001C007 92

04563001C007 97

………………

teacher表:

Tno Tname Tsex Department

T001 石云丹女计算机系……

T002 罗莉女计算机系……

T003 王国强男计算机系……

T004 吴栋男计算机系……

T005 高鸿轩男数学系……

T006 张怀良男数学系……

T007 刘晓伟男数学系……

T108马莉莲女物电学院

…………………………

TC表:

Tno cno

classroom

T001 C005 22号楼405

T002 C007 7号楼406

T003 C001 17号楼504

T004 C006 17号楼401

T005 C004 8号楼201

T006 C002 8号楼202

………………

(一)单表查询

1.简单查询

打开查询分析器,根建立teacher表,并加入数据。从teacher表中分别检索出教师的所有信息,以及仅查询教工号、姓名和职称。语句如下:

select * from teacher

select tno, tname from teacher

如要查询时改变列标题的显示,则从teacher表中分别检索出教师教工号、姓名、电子邮箱信息并分别加上‘教师姓名’、‘教工号’、’电子邮箱’等标题信息。

select tno 工号, tname 姓名, temail 电子邮箱

from teacher

使用TOP关键字:分别从teacher中检索出前2条及前面67%的教师的信息。

select top 2 * from teacher

select top 67 percent * from teacher

使用DISTINCT关键字:从teacher表中检索出教师的职称并且要求显示的职称不重复。

select distinct tposition from teacher

2.用计算列:将teacher表中各教师的姓名、教工号及工资按95%发放的信息,第2条语句将工资按95%发放后列名该为‘预发工资’。语句如下:

select tno tname ,tsalary*0.95 from teacher

select tno工号, tname姓名, tsalary*0.95 AS 预发工资 from teacher

3.使用ORDER BY子句对查询的结果进行排序

使用ORDER BY语句可以对查询的结果进行排序,ASC、DESC分别是升序和降序排列的关键字,系统默认的是升序排列。从teacher表中查询工资大于2800的教师的教工号、姓名,并按升序排列,语句如下:

select tno, tname from teacher

WHERE tsalary>2800 order by tsalary ASC

4.条件查询

⑴使用关系运算符:从teacher表中查询出工作量大于288的教师资料,语句如下:

select * from teacher

WHERE tamount>288 order by tamount DESC

⑵使用BETWEEN AND谓词:从teacher表中查询出工作量界于144和288之间的教师资料,语句如下:

select * from teacher WHERE tamount between 144 and 288

⑶使用IN谓词:从teacher表中查询出职称为“教授”或“副教授”的教师的教工号、教师姓名、职称及家庭住址,语句如下:

select tno,tname,tposition, taddress from teacher

WHERE tposition in ('教授','副教授')

⑷使用LIKE谓词:从teacher表中分别检索出姓’王’的教师的资料,或者姓名的第2个字是’莉’或’轩’的教师的资料,语句如下:

select * from teacher WHERE tname like '王%'

select * from teacher WHERE tname like '_[莉,轩]%'

(二)多表查询

数据库各表中存放着不同的数据,用户经常需要用多个表中的数据来组合提炼出所需要的信息,如果一个查询需要对多个表进行操作,就称为关联查询,关联查询的结果集或结果表称为表之间的连接。关联查询实际上是通过各各表之间共同列的关联来查询数据的,它是关系数据库查询最基本的特征。

1.SQL 2000兼容2种连接形式:用于FROM子句的ANSI连接语法和用于WHERE 子句的SQL SERVER连接语法形式。

从student、course和SC三张表中检索学生的学号、姓名、学习课程号、学习课程名及课程成绩,语句如下:

select student.sno, sname, cno, grade

from student inner join SC on student.sno=SC.sno

select student.sname,sc.grade

from student,sc

WHERE student.sno=sc.sno

select student.sno,student.sname,https://www.360docs.net/doc/0a4304365.html,o,https://www.360docs.net/doc/0a4304365.html,ame,sc.grade

from student,sc,course

WHERE student.sno=sc.sno and https://www.360docs.net/doc/0a4304365.html,o=https://www.360docs.net/doc/0a4304365.html,o

2.使用UNION子句进行查询

使用UNION子句可以将一个或者多个表的某些数据类型相同的列显示在同一列上。如从teacher表中列出教工号、姓名并从student表中列出学号及学生姓名,语句及查询结果如下:

select sno AS 学号或工号, sname AS 姓名 from student

union

select tno, tname from teacher

3.用GROUP子句进行查询

如果要在数据检索时对表中数据按照一定条件进行分组汇总或求平均值,就要在SELECT语句中与GROUP BY子句一起使用集合函数。使用GROUP BY子句进行数据检索可得到数据分类的汇总统计、平均值或其他统计信息。

⑴使用不带HA VING的GROUP BY子句。

使用不带HA VING 的GROUP BY子句汇总出SC表中的学生的学号及总成绩,语句如下:

select '学号'=sno,'总成绩'=SUM(Grade)

from SC

group by Sno

⑵使用带HA VING 的GROUP BY子句。

使用带HA VING 的GROUP BY子句汇总出SC表中总分大于450分的学生的学号及总成绩,语句如下:

select '学号'=sno,'总成绩'=SUM(Grade) from SC

group by Sno

Having SUM(Grade)>160

4.用COMPUTE和COMPUTE BY子句进行查询

使用COMPUTE和COMPUTE BY 既能浏览数据又能看到统计的结果。

⑴用COMPUTE子句汇总出SC表中每个学生的学号及总成绩,语句如下:

select '学号'=sno,'成绩'=Grade from SC

order by sno COMPUTE SUM(Grade)

⑵用COMPUTE BY 子句按学号汇总出SC表中每个学生的学号及总成绩,语句如下:

select '学号'=sno,'成绩'=Grade from SC

ORDER BY Sno COMPUTE SUM(Grade) by sno

观察执行COMPUTE和COMPUTE BY子句的结果有什么不同?

5.嵌套查询

(1) 使用IN或NOT IN关键字

使用IN关键字查询出j10011班所有男生的学号、课程号及相应的成绩,语句如下:select SC.sno , https://www.360docs.net/doc/0a4304365.html,o,SC.grade

FROM SC

WHERE sno IN

( SELECT sno FROM student

WHERE Sclass=’j10011’ AND Ssex='男')

使用IN关键字查询出与教师不同名的学生(学号,姓名),语句如下:

select sno 学号, sname 姓名

from student

where sname not in (select tname from teacher)

(2) 使用EXISTS 或NOT EXISTS关键字。使用EXISTS关键字查询出‘j10011’班的学生的学号、课程号及相应的成绩,语句如下:

SELECT SC.sno,https://www.360docs.net/doc/0a4304365.html,o,SC.grade

FROM SC

WHERE EXISTS

(SELECT * FROM student

WHERE SC.sno=student.sno AND student.sclass=‘j10011’ )

请根据上述例子,可参考以下所给的操作要求自行设计不同情况的DML语句(不少于100条语句),并进行实验验证。

(1)将教师‘罗莉’的名字改为‘罗莉莉’。

(2)将两个同学(数据自己临时设置,用后即删除)的两门课程的成绩以运行sql程

序文件的形式插入score表中。该题用以验证、理解和掌握关系模型的完整性规则;

(3)求每门课的平均成绩,并把结果存入average表(自行设计并创建);

(4)将学生“马丽”的出生日期改为“1982.8.20”;

(5)将所有学生的zipcode属性列值填补上;

(6)将average表中的所有课程的平均成绩置零;

(7)删除average表中的课程号为‘c007’的平均成绩记录;

(8)删除所有average表中平均成绩记录;

(9)建立一个临时学生信息表(tstudent),删除该表中的学号含‘101’的所有学生记录。

(10)查询全体学生的学号与姓名;

(11)查询全体学生的学号、姓名、所属班级;

(12)查询全体学生的详细记录;

(13)查询全体学生的姓名及其年龄;

(14)查询全体学生的姓名、出生年份;

(15)查询所有修过课的学生的学号;

(16)查询“计61”班全体学生名单;

(17)查询查询所有年龄在23岁以下的学生姓名及其年龄;

(18)查询考试成绩有不及格的学生的学号;

(19)查询年龄在20至22岁之间的学生姓名、班级和年龄;

(20)查询年龄不在20至22岁之间的学生姓名、班级和年龄;

(21)查询“计11”和“计61”班的学生的姓名和班级信息;

(22)查询既不是“计11”也不是“计61”班的学生的姓名和班级信息;

(23)查询学号为“04262002”的学生的详细情况;

(24)查询学号以“04262”打头的学生信息;

(25)查询所有姓“张”学生的学号、姓名、性别、年龄;

(26)查询名字中第二个字有“海”字的学生的学号、姓名、性别、年龄;

(27)查询所有不姓“刘”学生的姓名;

(28)查询课程号以“C”开头的最后两个字母为“05”的课程号和课程名;

(29)某些学生选修某门课程后没有参加考试,所以有选修课记录,但没有考试成绩,试查找缺少考试成绩的学生和相应的课程号;

(30)查找全部有成绩记录的学生学号、课程号;

(31)查找“计91”班年龄在22岁以下的学生学号、姓名;

(32)查找选修了“C001”号课程的学生学号及其成绩,查询结果按分数降序排序;

(33)查询全体学生情况,查询结果按所在班级升序排列,对同一班级中的学生按年龄降序排列;

(34)查询学生总人数;

(35)查询选修了课程的学生人数;

(36)在所有课程中查询最高分的学生学号和成绩;

(37)查询学习“C001”课程的学生最高分数;

(38)计算各个课程号与相应的选课人数;

(39)查询“计91”班选修了两门课程以上的学生学号、姓名;

(40)自然连接student和score表;

(41)使用自身连接查询每一门课程的间接先行课(即先行课的先行课)

(42)使用复合条件连接查询选修“c001”号课程且成绩在90分以上的所有同学;

(43)使用复合条件连接查询每个学生选修的课程名及其成绩;

(44)查询选修了全部课程的学生;

(45)查询至少选修课程C001的学生选修的全部课程的学号、姓名;

(46)查询所有选修了C001号课程的学生学号、姓名;

(47)查询选修了课程C001或c007的学生学号、姓名;

(48)查询“计91”班的学生及年龄不大于23岁(现有年龄)的学生;

(49)查询既选修了课程C001又选修了课程c007的所有学生学号、姓名;

(50)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;

(51)查询其他班中比“计91”班所有学生年龄都小的学生名单;

(52)查询与“夏天”在同一个班学习的学生学号、姓名、性别、年龄;

(53)建立“计91”班学生的视图;

(54)建立“计911”班学生的视图,并要求进行修改与插入时,仍须保证该视图只有“计91”班学生;

(55)建立“计91”班选修了“C001”课程的学生的视图,定义视图名为“v_info_C001_student1”;

(56)建立“计91”班选修了“C001”课程且成绩在90分以上的学生的视图,定义视图名为“info_c001_student2”;

(57)定义一个反映学生年龄的视图,定义视图名为“v_birth_student”;

(58)将学生表中所有女生记录定义为一个视图,视图名为“v_female_student”;

(59)将学生的学号及其平均成绩定义为一个视图,视图名为“v_average_student”;

(60)删除表student后,重新建student表,再建视图“V_CS_student1”,结果如何?

(61)在“计91”班学生视图中找出年龄小于22岁(现在的年龄)的学生;

(62)利用视图查询“计91”班选修了“C001”课程的学生;

(63)通过(53)中的“计91”班视图修改某个学生的名字;

(64)通过(54)中的“计91”班视图,插入一个新学生记录。

(65)通过(54)中的“计91”班视图,删除一个学生记录。

四、视图操作

(一)定义视图

以Student 、Course表为基础完成以下视图定义。

1.定义计算机系学生基本情况视图V_Computer。

2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。

3.将各系学生人数,平均年龄定义为视图V_NUM_A VG。

4.定义一个反映学生出生年份的视图V_YEAR。

5.将各位学生选修课程的门数及平均成绩定义为视图V_A VG_S_G。

6.将各门课程的选修人数及平均成绩定义为视图V_A VG_C_G。

(二)使用视图

1. 查询以上所建的视图结果。

2. 查询平均成绩为90分以上的学生学号、姓名和成绩。

3. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩。

4. 按系统计各系平均成绩在80分以上的人数,结果按降序排列。

(三)修改视图

1. 通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果。

2. 通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果。

3. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果。

4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果。

【思考题】

1. 如何提高数据查询和连接速度。

2. 对于常用的查询形式或查询结果,怎样处理好?

3..组合查询语句是否可以用其他语句代替,有什么不同?

4.使用GROUP BY <分组条件>子句后,语句中的统计函数的运行结果有什么不同?

5.数据库中一般不允许更改主码数据。如果需要更改主码数据时,怎样处理?

6.为什么不能随意删除被参照表中的主码?

6. 要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?并说明原因。

7. 要通过视图V_A VG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因。

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

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

ACCESS数据库技术实验指导书

实验六管理信息系统开发 一、实验目的: 学习使用Access开发管理信息系统的大凡方法及步骤,对该课程所学习的知识实现综合性应用。 二、准备工作: 根据学习情况从备选题目中选择承担力所能及的开发设计任务,从而熟悉管理信息系统开发的过程,包括系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等过程。通过系统的开发综合应用该课程中如下严重技术: 1、创建数据库、表以及建立表间关系的方法。 2、设计各种窗体的方法。 3、设计各种查询的方法。 4、简单的VBA编程方法。 5、设计报表的方法。 6、使用切换面板管理器的方法 三、实验内容: 可选工程(除以下题目还可自选,必须统统实现基本功能): 工程名称 教案管理系统 学生学籍管理系统 学生成绩管理系统 课程管理系统

学生选课系统 学生宿舍管理系统 图书管理系统 采购与应付账管理系统 库存管理系统 企业人力资源管理系统 公司会计管理系统 固定资产管理系统 会员管理系统 住院部结算系统 实验完成方式重点实现 学生信息、教师信息、选课信息等 学生入学、毕业、转专业等 成绩管理、成绩查询、成绩单打印等 课程管理、课程查询、授课教师等 课程维护、分类、选课限制标准1.数据库的安全性设宿舍等级与收费、按班级住宿置; 图书资料、借阅、销售2.数据增、删、改;货品资料、采购计划、入库、应付账3.数据查询; 4.数据统计、分析;货物分类、入库、出库、损耗 5.相关报表;员工信息、考勤、工资、查询

帐户、日记帐、期末结帐、财务报表 资产信息、报损、折旧、借出 会员档案、会费缴纳、会员到期 住院费用统计、收费策略基本功能该实验实行一人一题制,一定要在规定的日期交作业。 时间安排 第3周——第10周,有能力的同学可以提前交作业。 考核方法 考核在第9、10周实验课进行,由本人提交程序,以及系统主要功能说明,同时回答老师提出的问题。 按照界面的布局效果和基本功能的实现情况来评定成绩,原则上只要实现基本功能就评定“及格”,没有按时完成作业的同学一律按“不及格”处理。如果程序中体 现了自己独到的设计思想或实现了某些分外功能将酌情给予加分。 以“教案管理系统”为例,介绍管理信息系统的开发过程,其他工程均可参照其完成。 7.1数据库设计 1.设计思路 教案管理系统主要应用于大中专院校中,教案管理人员通过系统可以实现对全校教师、学生信息以及学生选课信息的增加、删除、修改和查询等操作;同时可以通过该系统对学生课程成绩进行登录和汇总分析等。根据这些要求可以得到教案管理系统的数据流程图,从而需要设计如下数据信息 为了记录教师的基本信息,需要建立教师信息表,该表包括教师编号、姓名、性别、工作时间、政治面貌、学历、职称、系别和联系电话等字段

数据库实验二

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 理解查询的概念和方法。 (2) 掌握SELECT语句在单表查询中的应用。 (3) 掌握SELECT语句在多表连接查询中的应用。 (4) 掌握SELECT语句在嵌套查询中的应用。 (5) 掌握SELECT语句在集合查询中的应用。 (6) 主要掌握使用“查询分析器”进行查询。 三、实验环境 (1) PC机。 (2) SQL Server 2008。 四、实验内容及步骤 以下查询均使用实验项目1中创建的COMPANY数据库。 1.单表查询 (1)基本查询。 Q0. 使用查询分析器从Employee表中检索出所有员工的姓名。 SQL文本:SELECT FNAME,LNAME FROM EMPLOYEE;

(以下所有题目都必须按照上图的要求截图) Q1.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。 SQL文本: SELECT Fname名,Lname姓,Ssn社会保险号, Bdate生日,Salary工资 FROM EMPLOYEE ORDER BY Salary DESC,Fname;

Q2.查询不重复的员工工资值。 SQL文本: SELECT DISTINCT Salary FROM EMPLOYEE; Q3.查询没有直接上司的员工姓名。SQL文本: SELECT Fname,Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;

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

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

目录 实验一数据定义语言 (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四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

2-实验二MySQL数据库操作实验

实验二MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 2、利用Navicat for MySQL建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 3、保存和导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库表的记录。 实验内容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装.doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单?MySQL?MySQL Server5.0?MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2.1所示。

图2.1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL 服务器,如下图2.2所示。 图2.2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 是一款强大的MySQL数据库管理和开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全和更容易的方式创建、组织、存取和共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2.3所示。

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

《数据库系统原理》实验指导书 实验1 熟悉SQL Server 2000环境及数据库文件管理 一、实验目的 1、掌握登录SQL Server 2000的方法,熟悉SQL Server实用工具的使用; 2、了解SQL Serve数据库的存储结构,掌握估算数据库大小技术; 3、掌握创建数据库技术,掌握扩大和压缩数据库技术; 4、掌握使用企业管理器工具和T-SQL语句及系统存储过程对数据库进行管理。 二、实验要求 1、熟悉SQL Server 2000的工作环境,了解SQL Server主要管理工具的用途和使用方法。 2、掌握在SQL Server 2000环境下,利用企业管理器和T-SQL语言创建和管理数据库的方法。 三、实验设备、环境 设备:奔腾II或奔腾II以上计算机 环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中文版 四、实验原理、方法 上机操作 五、实验步骤及内容 (一)实验步骤 1、教师讲授 2、教师演示 3、学生实际操作 (二)实验内容 1、熟悉SQL Server 2000管理工具 (1)企业管理器(Enterprise Manager) (2)查询分析器(Query Analyzer) (3)服务管理器(Service Manager) (4)事件探查器(Profiler) (5)导入和导出数据(Import and Export Data) (6)SQL Server其他管理工具 2、数据库文件管理 (1)数据库的创建和删除。 ①在企业管理器中建立一个图书读者库。图书读者数据库中将包括一个数据文件和一个日志文件,各文件的属性见表1-1。

《数据库技术及应用》实验指导书

《数据库技术及应用》课内上机实验指导书 实验一:SQL SERVER的可视化操作 一、实验目的 1、了解SQL Server2000的功能和基本操作方法,学会使用该系统。 2、了解在该系统上如何创建和管理数据库。 3、通过观察系统中的数据库,初步了解数据库的组成。 二、实验内容 1、学习启动SQL Server2000。 2、用SQL Server企业管理器建立SQL Server注册及注册属性的修改。 3、熟悉SQL Server的操作环境,了解主要菜单命令的功能和窗口,如新建 数据库,数据库表的建立,导入、导出数据等。 4、在某个已注册实例中,认识与体会SQL Server的体系结构。 5、在某个已注册实例的数据库范例中,认识数据库的组成。 三、实验步骤 1、启动本机的SQL Server服务; 2、利用企业管理器,在本地创建名为edu_d的数据库,并在edu_d数据库 中添加学生信息表STU_INFO,并随意在表中添加数据。 3、通过查询分析器,查询步骤2中添加的数据。 4、将本地master库中的表syscharsets导出,再导入到edu_d中。 5、进一步熟悉企业管理器以及查询分析器的其它相关操作。 实验二:用SQL实现单表查询 一、实验目的 1、熟练掌握单表查询属性列信息 2、掌握查询各种条件组合的元组信息 3、掌握各种查询条件的设定,以及常用查询条件中使用的谓词 二、实验内容

1、对已有的数据库pubs中的表完成以下查询功能: a)查询jobs表中所有属性列信息 b)查询employee表中的雇员号和雇员名信息 c)查询employee表中雇员工作年限信息 2、对employee数据表完成以下查询 a)查询名字首字母为F的雇员信息 b)查询工种代号为11的所有雇员信息 c)查询雇佣年限超过5年的雇员信息 d)查询工种代号在5~8的雇员信息 e)查询名字为Maria的雇员信息 f)查询姓名中包含字符sh的所有雇员信息 3、查询sales表中1993-1-1前订货的订单信息 4、查询authors表中以下相关信息: a)Johnson white的电话号码 b)住在oakland的所有作者的姓名以及住址 c)住在10932 Bigge Rd作者的详细信息 实验三:连接查询 一、实验目的 1、掌握多表之间的连接查询 2、掌握使用集函数完成特殊的查询 3、学会对查询结果排序 4、联系数据汇总查询 二、实验内容 1.从edu_d数据库中的stu_info、xk、gdept、gfied、gban、gcourse表 中做以下查询: a)查询信息科学与工程学院的学生的学号、姓名、性别 b)查询成绩在85分以上的学生的学号、姓名、课程名称 c)查询学号的前4位是'2001'的学生的学号、姓名、学院名称

实验2 创建数据库和表

实验2 创建数据库和表 一、实验目的 1.了解MySQL数据库中的存储引擎分类 2.了解表的结构特点 3.了解MySQL的基本数据类型 4.了解空值的概念 5.学会在MySQL界面工具中创建数据库和表 6.学会使用SQL语句创建数据库和表 二、实验准备 1.首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用 CREATE DATABASE语句的用户。 2.其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解 MySQL的常用数据类型,以及创建数据库的表。 3.此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建 和使用CREATE DATABASE 语句创建。 三、实验内容及要求 (一)数据表描述 创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。数据库YGGL包含下列三个表: Employees:员工信息表 Departments:部门信息表 Salary:员工薪水情况表 Employees表结构 Departments表结构

Salary表结构 (二)实验内容 1.使用命令行方式创建数据库YGGL。 1)打开MySQL command line client,输入管理员密码登录,使用CREATE 语句创建YGGL数据库。 2)在YGGL数据库存在的情况下,使用CREATE DATEBASE语句新建数据 库YGGL,查看错误信息,再尝试加上IF NOT EXISTS关键词创建YGGL,看看有 什么变化。 3)使用命令方法创建数据库YGGL1,要求数据库字符集为utf8,校对规 则为utf8_general_ci。 2.使用SQL语句在YGGL数据库中创建表employees 1)执行创建表Employees的Sql语句。 3.使用SQL语句删除表和数据库 1)删除表Employees。 2)删除数据库YGGL。 3)复制表Employees,命名为Employees1。使用命令行将表Emloyees1 中的Emailaddress列删除,并将Sex列的默认值修改为男。

数据库系统实验

实验指导书 班级: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/0a4304365.html,O,SC.GRADE,https://www.360docs.net/doc/0a4304365.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/0a4304365.html,O=https://www.360docs.net/doc/0a4304365.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库实训指导书

《数据库》实训计划 课程名称:数据库原理及应用 一、课程简介 《数据库原理及应用》课程是我院计算机科学与技术专业的一门重要专业课程,是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。可以说数据库技术渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业。因此本课程的教学既要向学生传授一定的数据库理论基础知识,又要培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力。 二.课程实验 实验题目 1.学籍管理系统 2.图书档案管理系统 3.企业人事管理系统 4.工资管理系统 5.用户和权限管理系统。 6.仓库管理系统。 7.企业进销存管理系统。 8、超市管理系统 10、酒店管理系统 11、旅游管理系统 12、高考成绩信息管理系统

13、医院信息管理系统 14、银行计算机储蓄系统 15、 ICU监护系统 16、可自拟题目 任选一题按照下列实验纲要进行设计。 实验纲要 1、实验目标 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。 2、实验内容 数据库的模式设计;数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括嵌套查询、连接查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。 给定一实际问题,让学生自己完成数据库模式的设计,包括各表的结构(属性名、类型、约束等)及表之间的关系,在选定的DBMS上建立数据库表。用SQL命令和可视化环境分别建立数据库表,体会两种方式的特点。 3、实验教学重点 本课程的实验教学重点包括:⑴数据库的模式设计;⑵SQL的数据查询; ⑶并发控制、恢复、完整性和安全性实现机制;⑷简单数据库应用系统的设计实现; 实验1:数据库的创建

ACCESS2010数据库技术实验指导书3

《ACCESS2010数据库技术及应用》 实验指导(3) 学号: 姓名: 班级: 专业:

实验三窗体 实验类型:验证性实验课时: 4 学时指导教师: 时间:201 年月日课次:第节教学周次:第周 一、实验目的 1. 掌握窗体创建的方法 2. 掌握向窗体中添加控件的方法 3. 掌握窗体的常用属性和常用控件属性的设置 二、实验内容和要求 1. 创建窗体 2. 修改窗体,添加控件,设置窗体及常用控件属性 三、实验步骤 案例一:创建窗体 1.使用“窗体”按钮创建“成绩”窗体。 操作步骤如下: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体”按钮,窗体立即创建完成,并以布局视图显示,如图3-1所示。 (2)在快捷工具栏,单击“保存”按钮,在弹出的“另存为”对话框中输入窗体的名称“教师”,然后单击“确定”按钮。 图3-1布局视图 2.使用“自动创建窗体”方式 要求:在“教学管理.accdb”数据库中创建一个“纵栏式”窗体,用于显示“教师”表中的信息。 操作步骤: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体向导”按钮。如图3-2所示。 (2)打开“请确定窗体上使用哪些字”段对话框中,如图3-3 所示。在“表和查询”下拉列表中光图3-2窗体向导按钮

标已经定位在所学要的数据源“教师”表,单击按钮,把该表中全部字段送到“选定字段”窗格中,单击下一步按钮。 (3)在打开“请确定窗体上使用哪些字”段对话框中,选择“纵栏式”,如图3-4所示。单击下一步按钮。 (4)在打开“请确定窗体上使用哪些字”段对话框中,输入窗体标题“教师”,选取默认设置:“打开窗体查看或输入信息”,单击“完成”按钮,如图3-5所示。 (5)这时打开窗体视图,看到了所创建窗体的效果,如图3-6所示。 图3-3“请确定窗体上使用哪些字”段对话框 图3-4“请确定窗体使用的布局”段对话框中

2013《数据库技术及应用》实验指导书资料

《数据库技术及应用》实验指导书

实验环境 1.软件需求 (1)操作系统:Windows 2000 Professional,或者Windows XP (2)数据库管理系统:SQL Server2000 (3)应用开发工具:Delphi7.0 (4)其它工具:Word 2.硬件需求 (1)PC机 (2)网络环境

基本需求信息 一、对某商场采购销售管理进行调研后,得到如下基本需求信息: 该商场有多名工作人员(主要是采购员和销售员),主要负责从供应商处采购商品,而后将商品销售给客户。采购员主要负责根据商场的销售情况确定要采购的商品,并与供应商联系,签订采购单。销售员主要负责将采购来的商品销售给客户,显然一个客户一次可能购买多种商品。一个供应商可以向该商场供应多种商品,而一种商品也可以由多个供应商供应。 商场的管理者每个月需要对该月已采购的商品和已销售的商品进行分类统计,对采购员和销售员的业绩进行考核,对供应商和客户进行等级评定,并计算商场利润。 二、E-R图 三、需要建立的数据表如下 1.供应商表:供应商ID,供应商名称,地区,信誉等级 2.供应表:供应商ID,商品ID,商品单价 3.商品表:商品ID,商品名称,商品库存量,商品均价 4.采购单表:采购单ID,采购员ID,供应商ID,采购总金额,签订日期 5.采购明细表:采购单ID,商品ID,采购数量,商品单价 6.销售单表:销售单ID,销售员ID,客户ID,销售总金额,签订日期 7.销售明细表:销售ID,商品ID,销售数量,商品单价,单价折扣 8.客户表:客户ID,客户名称,联系电话,客户等级 9.职员表:职员ID,职员姓名,职员类型

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

ACCESS数据库专业技术实验指导书

ACCESS数据库技术实验指导书

————————————————————————————————作者:————————————————————————————————日期:

实验六 管理信息系统开发 一、实验目的: 学习使用Access 开发管理信息系统的一般方法及步骤,对该课程所学习的知识实现综合性应用。 二、准备工作: 根据学习情况从备选题目中选择承担力所能及的开发设计任务,从而熟悉管理信息系统开发的过程,包括系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等过程。通过系统的开发综合应用该课程中如下重要技术: 1、创建数据库、表以及建立表间关系的方法。 2、设计各种窗体的方法。 3、设计各种查询的方法。 4、简单的VBA 编程方法。 5、设计报表的方法。 6、使用切换面板管理器的方法 三、实验内容: 可选工程(除以下题目还可自选,必须完整实现基本功能): 工程名称 重点实现 基本功能 教案管理系统 学生信息、教师信息、选课信息等 1.数据库的安全性设置; 2.数据增、删、改; 3.数据查询; 4.数据统计、分析; 5.相关报表; 学生学籍管理系统 学生入学、毕业、转专业等 学生成绩管理系统 成绩管理、成绩查询、成绩单打印等 课程管理系统 课程管理、课程查询、授课教师等 学生选课系统 课程维护、分类、选课限制标准 学生宿舍管理系统 宿舍等级与收费、按班级住宿 图书管理系统 图书资料、借阅、销售 采购与应付账管理系统 货品资料、采购计划、入库、应付账 库存管理系统 货物分类、入库、出库、损耗 企业人力资源管理系统 员工信息、考勤、工资、查询 公司会计管理系统 帐户、日记帐、期末结帐、财务报表 固定资产管理系统 资产信息、报损、折旧、借出 会员管理系统 会员档案、会费缴纳、会员到期 住院部结算系统 住院费用统计、收费策略 ● 实验完成方式 该实验实行一人一题制,一定要在规定的日期交作业。 时间安排 第3周——第10周,有能力的同学可以提前交作业。 ● 考核方法 考核在第9、10周实验课进行,由本人提交程序,以及系统主要功能说明,同时回答老师提出的问题。 按照界面的布局效果和基本功能的实现情况来评定成绩,原则上只要实现基本功能就评定“及格”,没有按时完成作业的同学一律按“不及格”处理。如果程序

实验2 SQL数据库定义与操作

实验2 SQL数据库定义与操作 一、实验目的 ●本次实验了解SQL Server 2008的启动,熟悉如何使用SSMS和SQL建立数 据库和表,并加深对于完整性的理解。 二、背景知识 在使用数据库的过程中,接触最多的就是数据库中的表。表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。 表是由行和列组成的。创建表的过程主要就是定义表的列的过程。表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。 约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。 三、实验内容 ●方法1:在SSMS中创建数据库和表 在本练习中,将使用SQL Server2008数据库管理系统创建Student数据库,并在Student数据库中创建表Student,使你能够掌握使用SQL Server2008数据库管理系统创建数据库和表的方法。 1)启动SQL Server2008: 依次单击开始->所有程序->SQL Server 2008->SQL Server Management Studio 启动SQL Server 2008数据库管理系统 2)登录数据库服务器: 点击“连接到服务器”对话框中的连接按钮连接到SQL Server 2008数据库服务器。

数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊

目录 实验一熟悉POWER DESIGNER (2) 实验二SQL SERVER 2000的安装与使用 (6) 实验三创建数据库、表 (17) 实验四SQL SERVER2000查询分析器 (29) 实验五SQL语言的DDL (38) 实验六SQL语言的DML初步 (40) 实验七DML的数据查询 (43) 实验八SQL语言综合练习 (48) 实验九嵌入式SQL ...................... 错误!未定义书签。实验十数据库设计....................... 错误!未定义书签。

实验一熟悉Power Designer 一、实验目的 1、掌握安装并破解PD的方法。 2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉Power Designer CDM及其相关知识。 3.掌握运用Power Designer工具建立CDM的方法。 4.初步掌握从Power Designer CDM生成相应的PDM的方法。 二、实验内容及实验步骤 1、PD环境的介绍 Power Designer的4种模型文件: (1) 概念数据模型(CDM) CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构 无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对 象。它给运行计划或业务活动的数据一个正式表现方式。 (2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。 藉由PDM ,你考虑真实的物理实现的细节。你能修正PDM 适合你的表现或物理约束。 (3)面向对象模型(OOM) 一个OOM包含一系列包,类,接口, 和他们的关系。这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概念模型。 (4)业务程序模型(BPM) BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用 2、创建CDM(以学生选课系统为例) (1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名 (3)为各实体和联系创建属性 学生(学号,姓名,性别,年龄)

数据库实验指导书

数据库实验指导书 (试用版) 二零零六年三月 目录 引言 1 一、课程实验目的和基本要求 1 二、主要实验环境 1 三、实验内容 1 实验1 数据库模式设计和数据库的建立 2 一、教学目的和要求 2 二、实验内容 2 三、实验步骤 2 四、思考与总结 3 实验2 数据库的简单查询和连接查询 4 一、教学目的和要求 4 二、实验内容 4 三、实验步骤 4 四、思考与总结 5 实验3 数据库的嵌套查询和组合统计查询 6 一、教学目的和要求 6 二、实验内容 6 三、实验步骤 6 四、思考与总结 7 实验4 视图与图表的定义及数据完整性和安全性 8 一、教学目的和要求 8 二、实验内容 8 三、实验步骤 8 四、思考与总结 9 实验5 简单应用系统的实现 10 一、教学目的和要求 10 二、实验内容 10 三、实验步骤 10 四、思考与总结 10

附录1:数据库实验报告格式 11 附录2:SQL Server 2000使用指南 12 1 SQL Server 2000简介 12 2 SQL Server 2000的版本 12 3 SQL Server 2000实用工具 12 4 创建数据库 15 5 创建和修改数据表 17 6 创建索引 22 7 存储过程 23 8 触发器 25 9 备份和恢复 27 10 用户和安全性管理 28 引言 数据库技术是一个理论和实际紧密相连的技术,上机实验是数据库课程的重要环节,它贯穿于整个―数据库阶段‖课程教学过程中。 一、课程实验目的和基本要求 上机实验是本课程必不可少的实践环节。学生应在基本掌握各知识点内容的基础上同步进行相关实验,以加深对知识的理解和掌握,达到理论指导实践,实践加深理论的理解与巩固的效果。 数据库课程上机实验的主要目标是: 通过上机操作,加深对数据库系统理论知识的理解。 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握操作技术。 通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。 实验在单人单机的环境下,在规定的时间内,由学生独立完成。出现问题时,教师要引导学生独立分析、解决,不得包办代替。 上机总学时不少于12学时。 二、主要实验环境 操作系统为Microsoft Windows 2000/XP。 数据库管理系统可以选择:(1)Microsoft SQL Server 2000标准版或企业版 (2)Microsoft Access2000 (3)金仓数据库KingbaseES。 三、实验内容 本课程实验主要包括数据库的模式设计,数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括连接查询、嵌套查询、组合查询等;数据库系统的实现技术,包括事务的概念及并发控制、完整性和安全性实现机制;简单数据库应用系统的设计与实现。实验1 数据库模式设计和数据库的建立 一、教学目的和要求 根据一个具体应用,独自完成数据库模式的设计。 熟练使用SQL语句创建数据库、表、索引和修改表结构。 熟练使用SQL语句向数据库输入数据、修改数据和删除数据的操作。 二、实验内容 对实际应用进行数据库模式设计(至少三个基本表)。

ORACLE数据库技术实验指导书3

Oracle数据库设计实验指导书理学院计算机科学技术教研室

ORACLE数据库技术实验指导书 目录 实验一 SQL*PLUS用法及SQL语言中的简单查询语句 实验二 SQL语言中的数据操纵、事务控制和数据定义语句 实验三 SQL语言中的分组查询和连接查询语句 SQL语言中的分组查询和连接查询语句SQL语言中的子查询及函数的使用 实验四索引操作 实验五 SQL/PL块中SQL命令的使用 SQL/PL块中流程控制语句、游标、例外处理 实验六数据库触发器、存储过程和存储函数

实验一 SQL*PLUS用法及SQL语言中的简单查询语句 一、实验目的 1、熟悉SQL语言交互式使用工具SQL*PLUS的使用方法 2、熟悉SQL*PLUS常用命令的功能和使用方法 3、掌握SQL语言中简单查询语句的功能和使用方法 二、实验环境 1、硬件设备:计算机局域网,服务器1台,客户机100台 2、软件系统:Windows 2000 Server 网络操作系统,Windows 2000/XP客户机操作系统; Oracle10g服务端数据库系统,客户端工具。 三、实验内容 1、SQL*PLUS的使用 (1) 进入(启动)SQL*PLUS 在Windows环境下,双击SQL*PLUS图标或从程序组找SQL*PLUS ,出现登录窗口 输入正确的数据库用户名、密码和连接字符串后,若连接数据库成功,则会出现如下提示符:SQL> (2) 退出 SQL*PLUS SQL>exit

则退回到Windows桌面。 (3) 创建表结构:Create table 创建部门登记表dept和雇员登记表emp的结构 SQL> Create table dept ( deptno number(2) not null, dname char(14), loc char(13)); SQL> Create table emp ( empno number(4) not null, ename char(9), job char(10), mgr number(4), Hiredate date, sal number(7,2), comm number(7,2), deptno number(2) not null ); (4) 显示表结构 显示部门登记表dept和雇员登记表emp的结构 SQL>desc dept SQL> desc emp (5) 向表中插入记录 向部门登记表dept中插入一条记录 SQL> insert into dept Values (60,‘Computer’,‘Beijing’);

2-实验二MySQL数据库操作实验

实验二 MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库和相应的数据库表,并能向数据库表中插入数据 记录和相应的数据库操作。 2、利用Navicat for MySQL建数据库和相应的数据库表,并能向数据库表中插 入数据记录和相应的数据库操作。 3、保存和导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库 表的记录。 实验容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装.doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单→MySQL→MySQL Server5.0→MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2.1所示。

图2.1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL服务器,如下图2.2所示。 图2.2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 是一款强大的MySQL数据库管理和开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全和更容易的方式创建、组织、存取和共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2.3所示。

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

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

目录 实验一认识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的安全性,这里主要是服务器用户的登录和服务器预定义角色。可以尝试建立一个新的登录名,赋予其数据库管理员的角色,今后的实验可以用该登录名来创建数据库用户。

相关文档
最新文档