《数据库原理》实验讲义Word格式.docx
《《数据库原理》实验讲义Word格式.docx》由会员分享,可在线阅读,更多相关《《数据库原理》实验讲义Word格式.docx(61页珍藏版)》请在冰点文库上搜索。
20
CS
95002
刘晨
女
19
IS
95003
王敏
18
MA
95004
张立
Course
课程号
课程名
先行课
学分
1
数据库
5
4
2
数学
3
信息系统
操作系统
6
数据结构
7
数据处理
PASCAL语言
SC
成绩
92
85
88
90
80
用C或C++语言编写应用程序,建立3个数据文件分别保存学生信息、课程信息和选修信息,并且完成以下任务:
1.编写数据插入功能模块,将以上各个数据表的数据分别插入到对应的数据文件中,并显示输出各个数据表的数据信息;
2.编写数据修改功能模块,将所有学生的年龄增加1岁,并显示输出所有学生的信息;
3.编写数据删除功能模块,删除学号为95004的学生记录,并显示输出所有学生的信息。
4.编写数据查询功能模块,查询选修了课程名为“信息系统”的学生学号和姓名。
四、实验报告
提交源程序(加必要的注释)和数据文件,并将程序的每个任务的输出结果附上。
实验二DBMS软件的安装、卸载及认识
1.了解SQLServer2005的安装环境配置;
2.掌握SQLServer2005的安装方法与过程;
3.掌握SQLServer2005的卸载方法与过程;
4.了解SQLServer2005的系统数据库、系统表及系统存储过程;
5.掌握SQLServer2005的SQLServer管理控制台、SQLServer配置管理器的使用。
三、实验准备
1.SQLServer2005安装环境的配置
在安装SQLServer2005前,需做好两项准备工作:
⏹保证计算机的硬软件环境能满足SQLServer2005的需要。
⏹依据所需的用途和计算机的软硬件环境选择合适的版本和部件。
(1)SQLServer2005的版本
①企业版(EnterpriseEdition)
企业版分为支持32位和支持64位两个版本。
企业版达到支持超大型企业进行联机事务处理(OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。
其全面商业智能和分析能力,以及高可用性功能,使它可以处理大多数关键业务的企业工作负荷。
企业版是最全面的SQLServer版本,适用于超大型企业,能够满足最复杂的要求。
②标准版(StandardEdition)
标准版分为支持32位和支持64位两个版本。
这是适用于中小型企业的数据管理和分析平台。
其包括电子商务、数据仓库和业务流解决方案所需的基本功能。
其集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。
该版本功能虽没有企业版那样齐全,但它所具有的功能已经能够满足企业的一般要求,是需要全面的数据管理和分析平台的中小型企业的理想选择。
③工作组版(WorkgroupEdition)
工作组版仅适用于32位机。
它适用于那些需要在大小和用户数量上没有限制的数据库的小型企业,能为这些企业提供理想的数据管理解决方案。
该版本包括SQLServer产品的核心数据库功能,并且可以容易地升级到标准版或企业版。
工作组版本是理想的入门级数据库,具有可靠、功能强大且易于管理的特点,可以用作前端Web服务器,也可以用于部门或分支机构的运营。
④开发版(DeveloperEdition)
开发版分为支持32位和支持64位两个版本。
该版本主要适用于应用程序开发人员在SQLServer2005上开发用做数据存储的任何类型的应用程序。
开发版包括企业版的所有功能,具有特殊的最终用户许可协议,因此只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。
开发版适用于独立软件供应商、咨询人员、系统集成商、解决方案供应商以及创建和测试应用程序的企业开发人员,也可以根据生产需要升级到企业版。
⑤精简版(ExpressEdition)
精简版仅用于32位机。
该版本是一个免费、易于使用且便于管理的数据库。
SQLServerExpress与MicrosoftVisualStudio2005集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。
该版本是免费且可以再分发的商业化产品,可以起到客户端数据库以及基本服务器数据库的作用。
它适用于低端独立软件供应商、低端服务器用户、创建Web应用程序的非专业开发人员以及创建客户端应用程序的用户。
(2)SQLServer2005的硬件环境设置
要安装SQLServer2005,还需要了解SQLServer2005对硬件的安装要求。
以下以32位平台上安装SQLServer2005为例,列出安装SQLServer2005不同版本所必需的最低硬件需求,如表2-1所示。
表2-132位平台上安装和运行SQLServer2005的硬件要求
SQLServer2005(32位)
处理器类型
处理器速度
内存
企业版
开发版
标准版
PentiumⅢ
兼容处理器
及以上处理器
600MHz以上
最小512MB
建议1GB
工作组版
精简版
最小192MB
建议512MB
注:
①若硬件环境不满足处理器类型要求,系统配置检查器(SCC)将阻止安装程序运行。
②若硬件环境不满足最低处理器速度要求或是不能满足最低或建议的RAM要求,SCC将发出警告,但不会阻止安装程序运行。
安装SQLServer2005,除了表2-1所列对于处理机的最低要求之外,对其他硬件方面的要求如下:
硬盘空间:
SQLServer2005各个版本功能不同,所需组件数目也不相同,因此实际硬盘空间要求取决于系统配置和选择安装的应用程序和功能。
概略地说,SQLServer2005完整的组件安装需要600MB硬盘空间。
监视器:
SQLServer2005图形工具需要VGA或更高分辨率,分辨率至少为1024*768像素。
其他设备:
需要Microsoft鼠标及CD或DVD驱动器。
(3)SQLServer2005的软件环境设置
安装SQLServer2005的软件要求主要指操作系统方面的要求。
不同版本的SQLServer2005对操作系统的要求不尽相同。
此外,还需要必备的网络软件及其他Internet软件,如表2-2所示。
表2-232位平台的各种操作系统对SQLServer2005不同版本的支持
软件
SQLServer2005
Windows平台
WindowsXPSP2
Windows2000ServerSP4
Windows2003ServerSP1
WindowsSmallBusiness
Server2003SP1
×
√
IE6.0SP1或更高版本
各个版本均需要
.NETFramework2.0
①SQLServer2005标准版、工作组版不能安装和运行在WindowsXPHomeEditionSP2操作系统之上。
②除SQLServer2005精简版以外,其他各版本不能安装和运行在Windows2003WebEditionSP1之上。
2.SQLServer2005系统数据库
SQLServer2005中的数据库由表的集合组成,这些表用于存储一组特定的结构化数据。
表中包含行(也称为记录或元组)和列(也称为属性)的集合。
当SQLServer2005成功安装后,系统会自动创建5个系统数据库,如图2-1所示。
图2-1系统数据库
实际上,SQLServer的数据库可分为“用户数据库”与“系统数据库”两类,用户数据库是指用户自行创建的数据库,而系统数据库则是SQLServer内置的,它主要是基于管理上的需求而存在。
(1)系统数据库
SQLServer数据库是由各自的数据库文件和日志文件所组成,系统数据库也是如此。
系统数据库文件在默认安装下存储在目录C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data中,其中,数据库文件的扩展名为.mdf,数据库日志文件的扩展名为.ldf。
一个典型的SQLServer2005系统数据库文件名称特性如表2-3所示。
表2-3系统数据库文件
系统数据库
文件类型
逻辑文件名
物理文件名
默认大小(MB)
master
主要数据文件
master.mdf
日志文件
mastlog
mastlog.ldf
model
modeldev
model.mdf
modellog
modellog.ldf
msdb
msdbdata
msdbdata.mdf
msdblog
msdblog.ldf
tempdb
tempdev
tempdb.mdf
8
templog
templog.ldf
资源
mssqlsystemresource.mdf
mssqlsystemresource.ldf
SQLServer2005各个版本的系统数据库文件大小及文件增长大小有所不同。
另外,系统数据库文件大小不能超出SQLServer2005系统的限制。
以数据文件而言,最大只能到16TB,而日志文件最大只能到2TB。
①master数据库
系统数据库master内含有许多系统表(SystemTables),用来追踪与记录SQLServer系统的所有系统级别信息。
这些系统信息包括所有的登录账户信息、端点、链接服务器和系统配置设置信息、SQLServer的初始化信息和其他系统数据库及用户数据库是否存在以及这些数据库文件的位置等相关信息。
每当用户创建一个数据库,此数据库的相关信息(例如主要数据文件的位置)便会记录在master中,也就是说,master会记录系统拥有哪些数据库。
如果进行的是分布式操作,master还会记录有哪些其他的SQLServer。
由此可见,master数据库是重要的系统数据库,如果该数据库不可用,则SQLServer无法启动。
因此,最好随时保留一份master的最新备份。
所以特此建议读者,在创建了一个数据库、更改系统的配置设置或添加了一个登录账号,以及执行任何会更改系统数据库master的操作之后,立即备份系统数据库master。
②model数据库
该数据库是所有用户数据库和tempdb数据库的模板数据库。
既然model是一个模板数据库,则当用户每创建一个数据库时,这个新的数据库就会自动完成某些设定或包含某些数据库对象。
实际上,当创建数据库时,系统首先通过复制model数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。
系统数据库model是所有新建数据库的模板,也就是说,可以直接针对model做改动。
这样,每当创建一个新的数据库,SQLServer便会复制model数据库的所有内容,以此作为新数据库的基础。
按照上述方法修改了model数据库,在此之后所创建的数据库都将继承这些修改。
例如,可以设置权限或数据库选项或者添加对象,诸如表、函数或存储过程。
如此一来,新创建的数据库将会继承系统数据库model的一切,而不需要每次再设定。
这样做对简化数据库的创建和配置操作将有很大的帮助。
③msdb数据库
系统数据库msdb主要提供SQLServer代理程序调度警报和作业。
它用于提供SQLServer、SQLServerAgent、DatabaseMail以及ServiceBroker等服务程序存储诸如日程安排、邮件副本等数据,如果要让警报、备份、复制等各项操作能够自动定期执行,就需要启动SQLServerAgent服务。
当需要进行数据备份和还原操作时,SQLServer会将备份和还原的信息记录到msdb中,这些信息包括执行备份的个体名称、备份时间,以及存储备份的文件名称。
④tempdb数据库
简言之,tempdb数据库是一个工作空间,用于保存所有的临时对象或中间结果集。
该数据库由整个系统的所有数据库使用。
即tempdb系统数据库是连接到SQLServer实例的所有用户都可用的全局资源。
SQLServer每次启动时,tempdb数据库被重新建立,因此,不需要担心tempdb会因为存放过多的数据而占用太多磁盘空间,因为每当用户断开与SQLServer的联机,该用户在联机期间所生成的临时表与存储过程会自动从tempdb中删除。
因此每次重新联机后,该数据库总是空的。
用户使用tempdb数据库,主要保存以下内容:
⏹显式创建的临时对象,例如表、存储过程、表变量或游标。
⏹所有版本的更新记录(如果启用了快照隔离)。
⏹SQLServerDatabaseEngine在执行查询、排序、创建cursor等处理时所创建的内部工作表。
⏹创建或重新生成索引时,临时排序的结果。
⑤资源系统数据库
资源系统数据库mssqlsystemresource用来存储SQLServer中诸如名称以sp_开头的存储过程等系统对象。
因为系统对象很重要,所以这个名为“资源”的系统数据库设定成只读数据库。
该系统数据库是SQLServer2005新增加的,在SQLServer2000及以前版本中没有这个数据库。
因为资源系统数据库是一个只读数据库,所以它不出现在SQLServerManagementStudio的“对象资源管理器”窗口中,如图2-1所示。
同样道理,作为十分重要的系统数据库,用户不能删除或重命名资源系统数据库文件,否则无法启动SQLServer。
(2)SQLServer2005系统表
SQLServer将定义服务器配置及其所有表的数据存储在一组特殊的表中,这组表称为系统表。
系统表用于记录所有服务器活动的信息。
系统表中的信息组成了SQLServer系统的数据字典。
与以前版本的重要不同之处是,在SQLServer2005版本中用户无法直接查询或更新系统表。
SQLServer2005中的系统表已作为只读视图实现,目的是保证SQLServer2005系统的安全性和向后兼容性。
用户只能通过使用目录视图访问SQLServer元数据。
①重要的系统表
1)objects系统表
这是SQLServer的主系统表,出现在每个数据库中。
在数据库中创建的每个用户定义的架构范围内的对象在本表中都有相对应的一行记录。
其实是将SQLServer2005中master数据库内的系统表映射到它们在SQLServer2005中对应的一个或多个系统视图。
2)columns表
该表出现在master数据库和每个用户创建的数据库中,它记录数据库中所有包含属性列的对象(如表或视图)的相关信息,即该表对于数据库中表或者视图的每个列都要使用一行来记录。
3)indexes表
出现在每个数据库中,它对每个表对象(表、视图、表值函数)的索引,或没有索引而称为堆的表对象使用一行记录。
4)users表
出现在每个数据库中,该表对数据库中的每个WindowsNT用户、WindowsNT用户组、SQLServer用户或者SQLServer角色等主体使用一行记录。
5)files表
该表存在于每个数据库中,是一个基于每个数据库的视图。
其对于每个存储在数据库本身中的数据库文件在该表中占用一行。
6)servers表
该表只出现在master数据库中。
在此表中,已注册的每个链接服务器或远程服务器都对应有一行,表中字段server_id值为0的一行记录与本地服务器对应。
7)databases表
该表对SQLServer系统上的每个系统数据库和用户自定义的数据库含有一行记录,它只出现在master数据库中。
②使用系统表
系统数据库以及系统表都是SQLServer2005中最重要的内置的数据库和表,任何用户都不应直接更改系统表。
但用户在使用SQLServer2005进行数据管理时,可能需要系统数据库中表的数据和名称、系统表中的列数以及每一列的名称、数据类型、小数位数和精度,也可能需要了解为该表定义的约束、定义的索引和键等信息。
也就是说,需要检索存储在系统表中的信息。
SQLServer2005系统目录可以为SQLServer数据库提供此信息。
SQLServer2005系统目录的核心是一个视图集,这些视图显示了描述SQLServer实例中的对象的元数据。
所谓视图,其实是与表有类似结构的由行和列组成的数据集合。
而元数据是描述系统中对象属性的数据。
用户或基于SQLServer的应用程序可以使用目录视图方式访问系统目录中的信息。
SQLServer2005引入了目录视图,将其作为系统目录元数据的常规界面,通过这些视图可访问服务器上各数据库中存储的元数据。
这也是获取、转换以及表示此自定义形式的元数据的最直接的方式。
因为目录视图与表结构相似,因此可以使用SQL语句在SQLServer2005的查询分析器中完成检索系统表信息的工作。
例如,在SQLServerManagementStudio中运行以下SQL语句:
select*fromsys.objects
将显示所有在数据库中的对象及其描述内容,如图2-2所示。
图2-2通过目录视图显示系统表内容
(3)SQLServer2005系统存储过程
以上对于系统表的检索操作,还可以通过SQLServer所提供的大量系统存储过程来进行。
系统存储过程是预先经过编译的SQL语句集合。
SQLServer2005中许多管理活动都是通过系统存储过程完成的。
系统存储过程是SQLServer2005系统自动创建的存储过程,SQLServer的系统存储过程都记录在master数据库中,归系统管理员(SA)所有,系统存储过程均以sp_或xp_开头。
使用系统存储过程可以方便地实现系统数据查询功能,前面已提及,对应系统表中的内容,直接使用DML语句操作很危险,而使用系统存储过程则能保证系统操作的完整性和安全性。
例如,通过系统存储过程sp_databases查询databases系统表中内容,则在SQLServerManagementStudio的查询分析器中执行下列语句:
EXECsp_databases
该系统存储过程运行结果如图2-3所示。
图2-3执行系统存储过程查询系统表内容
3.SQLServer2005常用工具
(1)管理控制台
SQLServer2005中使用最多的管理工具就是SQLServer管理控制台(SQLServerManagementStudio)。
这个集成的管理工具用于管理和监视SQLServer关系数据库、集成服务、分析服务、报表服务、通知服务以及分布式服务器和数据库上的SQLServerMobile,从而大大简化了管理的复杂程度。
①SQLServer管理控制台的作用
按照默认安装,SQLServer2005控制台的相关的文件放在C:
\ProgramFiles\MicrosoftSQLServer\90\Tools\Binn\VSShell\Common7\IDE\SqlWb.exe。
它是集成在VisualStudio2005之内的。
利用SQLServer管理控制台可完成的工作很多,如连接到上述各类服务的实例以设置服务器属性,可以创建和管理诸如数据库、数据表、存储过程、方体(Cube)、维度、程序集、登录账号和数据库用户权限、报表服务器的目录等各类服务器对象。
另外,还有如管理数据库的文件和文件夹、附加或分离数据库、管理安全性、视图存放在文件上的SQLServer系统记录、监视目前的活动、设置复制、管理全文检索索引、视图与设置AgentServices的作业、警报、操作员、Proxy等。
就是说,通过单一的SQLServer管理控制台,可以同时访问、设置和管理SQLServer数据库引擎、SQLServerMobile、分析服务(AnalysisServices)、集成服务(IntegrationServices)以及报表服务(ReportingServices)等服务内的各种对象,让DBA可以有统一的平台来管理各种服务实例。
还可以让开发人员或DBA以项目的方式组织与管理日常使用的各类型查询语言文件,如T-SQL、MDX、DMX、XML/A等。
②SQLServer管理控制台的使用
从Windows开始程序菜单的SQLServer2005项的下拉列表菜单子项中选择执行ManagementStudio,即进入SQLServer管理控制台,在该集成环境中,首先要进行连接,即需要在弹出的“连接到服务器”对话框中指定各项连接信息,如指定要连接的服务器类型、所要连接的服务器名称以及指定用于登录的身份认证方式,若采用“SQLServer验证”方式,则需输入用户名称和密码。
该对话框会保留上次使用的设置,当需要创建新的连接时,例如打开新的T-SQL、MDX等语法编辑环境时,会使用这些设置。
连接对话框的操作界面如图2-4所示。
图2-4进入SQLServer管理控制台时的连接操作界面
单击图2-4的“选项”按钮,打开如图2-5所示的连接属性设置对话框,在此对话框的“连接属性”选项卡中可以进一步进行各项细节设置,以将ManagementStudio连接到不同服务实例。
在图2-5中,“连接到数据库”的连接属性是要求从其右侧的下拉列表中选择该服务器中可用的