《数据库原理与应用》实验报告书IWord文档下载推荐.docx

上传人:b****6 文档编号:18989992 上传时间:2023-01-02 格式:DOCX 页数:18 大小:53.76KB
下载 相关 举报
《数据库原理与应用》实验报告书IWord文档下载推荐.docx_第1页
第1页 / 共18页
《数据库原理与应用》实验报告书IWord文档下载推荐.docx_第2页
第2页 / 共18页
《数据库原理与应用》实验报告书IWord文档下载推荐.docx_第3页
第3页 / 共18页
《数据库原理与应用》实验报告书IWord文档下载推荐.docx_第4页
第4页 / 共18页
《数据库原理与应用》实验报告书IWord文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

《数据库原理与应用》实验报告书IWord文档下载推荐.docx

《《数据库原理与应用》实验报告书IWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《数据库原理与应用》实验报告书IWord文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

《数据库原理与应用》实验报告书IWord文档下载推荐.docx

SQLServer2005的安装说明见《SQLServer2005精简版的安装》或上网搜索相应电子教程。

安装过程请参看实验指导或者相关视频。

2.了解数据库的相关概念。

通过实践初步了解使用SQLServerManagement的使用。

3.请根据联机丛书查询如何“创建数据库”,查询内容包括创建数据库前的准备工作,创建数据库的命令,以及数据库文件的组成。

请把你的结果写在下面。

4.创建服务器组,在此组上查看有哪些数据库及数据库对象,请记录下来。

5.利用ACCESS创建数据库。

(1)。

在ACCESS中创建一个“学生-课程数据库”,含以下三个表:

学生(学号,姓名,性别,年龄,所在系)课程(课程号,课程名)选课(学号,课程号,成绩)

每个表输入10条数据。

(2)。

数据库保存在以“自己学号+名字”命名的文件夹中。

请掌握ACCESS创建数据库的方法,体会数据库的二维结构,请写下建立数据库的主要步骤。

6。

掌握SQLServer2005的启动、退出、暂停,组成配置,基本工具及常用操作。

请简要叙述SQLServer2005的基本组件和基本工具。

三、实验小结

结合本次实验,思考以下问题:

1.通讯录为什么要采用这种由行和列二维结构组成的格式?

其中每一列表示什么意思,每一行又表示什么意思?

2.比较分析ACCESS和SQLSERVER两种数据库,各适用于什么情况?

3.常用数据库有哪些?

当下比较流行的又有哪些?

实验三数据库、表的创建、修改及删除

1.进一步掌握ManagementStudio的使用;

了解SQLServer数据库的逻辑结构和物理结构。

2.掌握SQL图形用户界面创建、修改、删除数据库、表;

掌握SQL中CreateDatabase、DropDatabase命令的使用。

3.掌握如何在表中添加、修改、删除数据;

掌握SQL中CreateTable、AlterTable、DropTable命令的使用。

4.理解SQL中的标识列、计算列和各种约束。

5.了解表的结构特点;

掌握在SSMS(SQLServerManagementStudio)中修改表的定义。

6.掌握使用T-SQL命令修改表的定义、删除表。

二、实验内容

1.用ManagementStudio创建数据库

(1)创建数据库bookdb,bookdb数据库采用系统提供的默认设置;

查看数据库相关参数设置。

(2)删除bookdb数据库。

(3)使用T-SQL命令创建数据库EDUC,EDUC如下表:

数据文件

日志文件

逻辑名

EDUC_dat

EDUC_log

物理文件名

C:

\EDUC_DAT.MDF

\EDUC_LOG.LDF

初始长度

4MB

1MB

最大长度

10MB

无限制

增量

10%

在EDUC中创建三个表,分别为Student,Course,SC。

三个表的的字段名、类型以及长度请参看下表:

Student:

字段名

类型

长度

主键

允许空

含义

Sno

Varchar

20

Y

N

学号

Sname

10

姓名

Sage

Int

年龄

Ssex

2

性别

Sdept

30

所在系

Course:

Cno

15

课程号

Cname

课程名

Cpno

先行课

Ccredit

学分

SC:

Grade

Decimal

9,2

成绩

2.请在各表中添加数据

对于Student表,请自行输入如下数据

3.请把student表中的0110号同学的年龄改为25。

4.请删除学号为0106号的同学。

5.请把上述操作在使用SQL语句完成一遍。

包括创建数据库EDUC和删除数据库,创建数据表student、course、sc。

6.使用SQL语句对数据库EDUC中的数据表的定义进行修改。

三、实验要求

(一)、数据库、表的创建及删除

1.将数据库bookdb的相关属性,填入下表:

项目

内容

数据库所有者

数据库名称

数据库逻辑文件名

数据文件物理存放位置

数据库初始大小

可用空间(数据文件最大值)

数据文件增长量

日志逻辑文件名

日志文件物理存放位置

日志文件初始大小

日志文件可用空间

日志文件增长量

根据“二、实验内容”的要求,使用T-SQL命令创建/删除数据库EDUC,创建数据表student、course、sc。

2.删除bookdb数据库。

3.创建数据库EDUC。

4.创建数据表Student。

5.创建数据表Course。

6.创建数据表SC。

(二)、修改基本表的定义

1.修改列属性

(1)用SSMS将Student表中的Birthday字段设为不能为空(notnull)。

(2)用SQL语句将Student表中的属性Snovarchar(20)改成char(8)类型。

2.添加列

(1)用SSMS在Course表中添加一列year,类型为varchar(4),默认置为空。

(2)用SQL语句在year字段添加约束,year的属性值在2006-2012之间。

3.删除列

(1)用SQL语句将Course表中的year字段删除。

四、实验小结

1.体会创建数据库、表的两种方式,有什么不同?

各有什么优缺点?

各适用于什么情况?

2.试述T-SQL的特点。

3.试述T-SQL的定义功能。

实验五连接查询和嵌套查询

1.掌握ManagementStudio的使用。

2.掌握SQL中连接查询和嵌套查询的使用。

用SQL语句完成下列查询。

使用数据库为老师提供的SCHOOL数据库。

1.找出所有任教“数据库”的教师的姓名。

2.取出学号为“980101011”的学生选修的课程号和课程名。

3.“涂杰杰”所选修的全部课程号及成绩。

(注意:

school中有同名,即有两名学生叫“涂杰杰”。

4.C语言成绩比数据结构成绩好的学生(自身连接)。

5.显示所有课程的选修情况(外连接)。

6.检索选修课程号为“0109”或“0111”的学生学号、姓名和所在班级。

7.查询“0203”课程的最高分的学生的学号。

8.没有选修以“01”开头的课程的学生信息。

(用子查询完成。

提示notin或notexists)

9.找出“苏贤兴”同学所学课程的名称和成绩。

(请使用连接查询和嵌套查询分别来完成)

1.思考简单查询、连接查询与嵌套查询有什么不同?

连接查询与嵌套查询有何区别与联系?

2.此次实验中得到的哪些经验教训、疑难问题?

有什么心得或总结?

实验七数据的插入、修改、删除

2.掌握SQL中INSERT、UPDATE、DELETE命令的使用。

用SQL语句完成下列功能。

l、新开设一门课程,名叫网络安全与防火墙,学时40,编号为“0118”,主要介绍网络的安全与主要的防火墙软件。

2、先建立monitor表,其结构与student表大致一样.包含student表的学号、姓名、性别和班级编号,然后把班级编号为“0101”的学生的相应资料插入到monitor表中。

3、更新所有职称为“助教”的教师职称为“助理教师”。

4、在所有经济系班级的名称前加上“经济系”三个字。

5、学号为“980101005”的学生的“数据结构”课程成绩改为80分。

6、删除studentgrade表中所有成续不及格的记录。

7、删除studentgrade表中学号以“99”开头的学生选修课程的记录。

8、删除课程名为“计算机导论”的课程信息和所有这门课的选课信息

1.思考Alter与Update,Drop与Delete的区别

2.对数据进行插入、修改、删除时需要注意哪些问题?

3.此次实验中得到的哪些经验教训、疑难问题?

实验九SQLServer数据库的安全性控制

1.熟悉通过SQL对数据进行安全控制。

2.掌握GRANT与REVOKE语句的使用,熟悉数据库用户的创建和授权。

(一)、以上先采用图形用户界面进行设置权限,然后试着采用T-SQL命令方式完成上述设计。

1.设置SQLServer的安全认证模式。

2.设置登录帐户U1,U2,U3,并测试登录。

3.设置数据库用户U1,U2,U3,他们分别能通过登录帐户U1,U2,U3登陆school数据库。

4.为U1账户设置对Student表的权限,让它查询Student,修改除了Stu-id之外的其他字段,并验证。

5.设置数据库角色。

设置数据库角色A1,A1能查询、更新Course表,并把此角色赋予U2并验证U2是否具有此权限。

6.修改U1的权限,让它具有传递性,并传递给U3,并验证。

(二)、远程连接SQLSERVER

1.查看所创建的用户,以及该用户的权限。

2.两人一组,通过SQLSERVER用户创建、权限设置,通过所创建的用户登录目的服务器。

步骤如下:

(1).在服务器端创建SQL登录用户并授权(GRANT、REVOKE);

(2).设置服务器的登录方式:

右键单击树形目录中的SQL服务器->

属性->

安全性->

身份验证:

设置为SQL+Windows;

(3).客户端,新建SQL注册,选择要登录的SQL服务器->

连接使用:

SQL登录->

输入登录用户名、密码。

(4).测试用户权限(测试服务器授予的各种权限,测试越权行为并分析体会系统的反应)。

三、实验内容及要求

写下4-6题的T-SQL命令。

5.设置数据库角色。

四、实验小结

1.思考如何真正实现数据库的安全?

2.此次实验中得到的哪些经验教训、疑难问题?

实验十一触发器的使用

1.了解触发器的概念、特点和作用。

2.掌握SQLSERVER2005创建和管理触发器的方法。

l.为deparment表增加一列teac_num用于统计各个系教师的人数。

2.更新teac_num列,让其正确统计当前数据库中各个系教师的人数。

3.创建一个insert触发器trigger_in_deparment,使得某系增加新教师时,该系对应的teac_num列自动变化。

4.创建一个update触发器trigger_update_course,修改课程表中Course中的某门课的课程号时,对StudentGrade中课程号也做相应修改。

5.创建一个触发器trigger_course,当修改课程数据表course中的数据时(包括插入、更新和删除操作),显示提示信息“课程表被修改了”。

6.删除trigger_course触发器。

1.触发器的主要作用是实现数据的完整性和一致性。

如何正确使用触发器?

2.触发器可以划分为几种类别?

分别是什么?

3.此次实验中得到的哪些经验教训、疑难问题?

实验十三PowerDesigner中概念模型与物理模型的设计

1、熟悉PowerDesigner开发环境。

2、掌握数据库设计方法。

3、掌握利用PowerDesigner进行数据库的概念模型和物理模型设计。

本实验采用PowerDesigner12.5为例。

其他版本也可以,操作流程类似。

(1)某学生选题数据库,需要如下信息:

学生:

学号、姓名、性别、年龄、系名、年级;

课程:

课程号、课程名、学分;

选修:

学号、课程号、成绩。

其中一个学生可以选多门课程,一门课程可以有多个学生来选。

使用PowerDesigner建立概念模型,并将建好的概念模型转换为SQLServer2005物理模型。

*

(2)某医院病房计算机管理中需要如下信息:

科室:

科名,科地址,科电话,医生姓名

病房:

病房号,床位号,所属科室名

医生:

姓名,职称,所属科室名,年龄,工作证号

病人:

病历号,姓名,性别,诊断,主管医生,病房号

其中,一个科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

1.思考:

数据库设计的根本目标是要解决()

A)数据共享问题B)数据安全问题

C)大量数据存储问题D)简化数据维护

解释:

一般书上很少这么提,大家在答这个题的时候,可以从数据库的概念上入手,数据库设计的根本目标是要解决应该是共享问题。

四个答案可以做一些比较,最好的答案应该是A答案。

你可以看一下数据库的概念,一般数据库是长期存储在计算机内有组织的可共享的数据集合。

还有一个线索,数据库设计的六个阶段,每一个阶段主要做什么,或者是大家看数据库的一些范式,这个范式主要解决什么问题。

从这一题大家一定要注意二级考试的公共基础知识,很多地方都考最根本,最主要的地方。

数据库设计的目的即设计目标从根本上来说就是要实现数据的共享和安全存取,从细化及技术上来说,一个优秀的数据库设计必须要最终实现用户对于数据共享的具体要求,必须要在满足于用户的数据存取要求的基础上实现对于数据的关联性及优化,必须实现数据的安全性及可移植性,以保证用户数据能够简单的进行移植,必须要实现数据库的可扩容性结构以保证数据库对于用户未来数据要求的兼容性等等

实验十五存储过程的使用

1.了解嵌入式SQL和ODBC编程。

2.掌握存储过程的概念,熟悉使用存储过程来进行数据库应用程序的设计。

3.掌握存储过程的创建、使用和删除。

1.创建一个存储过程Proc_Course,查看“0108”号课程的选修情况,包括学生学号、姓名和成绩,然后执行该过程;

2.创建一个存储过程Proc_SC1,通过学生学号来查询学生选修情况,默认查询学号为“00001”的选修情况,包括学生学号、姓名和成绩。

3.调用上面的存储过程,求出学号为“000503002”的不及格的学生选修情况。

4.编写存储过程Proc_jiecheng,求n!

并调用上面的存储过程,求5!

5.删除存储过程Proc_jiecheng。

1.简述使用存储过程有哪些优点?

2.简述存储过程与触发器的区别。

SchooI数据库说明

School有关学校成绩、课程管理的数据库,该学校基本的情况如下:

某学校有多个系,每个系包含一定数量的老师和班级,每个班级包含一定数量的学生。

一个老师可担任一个或多个本系班级的管理,一个班级有且只有一个班长。

学生学习多门课程,一位老师可以担任一门或多门课程,某一门课程也可有多位老师任教,但某一班级某一门课程只能由一位老师任教。

Deparment表(系别资料表)

列名

中文解释

数据类型

检查

键/索引

Depar_id

系编号

Varchar

(2)

主键,聚集

Depar_name

系名称

Varchar(50)

Phone

联系电话

Varchar(8)

是1

PhoneCHECK约束定义为(PhoneLIKE‘3935[0-9][0-9][0-9][0-9]’)

Teacher表(教师基本资料表)

默认值

Teac_id

教师编号

Varchar(4)

Teac_name

Teac_sex

Birthday

出生日期

Smalldatetime

TechPost

级别(职称)

Varchar(10)

‘讲师’

所属系别编号

外键

Deparment(Depar_id)

Class表(班级基本资料表)

Class_id

班级编号

Varchar(6)

Class_name

班级名称

Varchar(20)

Director

班主任

Teacher(Teac_id)

Monitor

班长

Varchar(9)

Student(Stu_id)

Student表(学生基本资料表)

键/索引

Stu_id

Stu_name

Stu_sex

性别

‘男’

出生年月

Smalldatetime

Varchar(15)

Address

家庭地址

Varchar(100)

所在班级编号

Class(Class_id)

Course表(课程资科表)

Course_id

课程编号

Course_name

课程名称

Course_hour

课时数

Smallint

60

Introduce

课程介绍

Varchar(200)

StudentGrade表(学生成绩资料表)

学生编号

组合主键,外键

Course(Course_id)

GradeCHECK约束定义为(Grade>

=0andGrade<

=100)

CourseTeacher表(课程教师资料表)

任课老师编号

Student_info表(学生奖惩情况表)

主键,外键

Award

奖励情况

Varchar(500)

Punish

惩罚情况

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1