《数据库原理与应用》实验教案1_第1页
《数据库原理与应用》实验教案1_第2页
《数据库原理与应用》实验教案1_第3页
《数据库原理与应用》实验教案1_第4页
《数据库原理与应用》实验教案1_第5页
已阅读5页,还剩39页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 数据库原理与应用实验教案院 系:教育科学与技术学院专业名称:教育技术学 实验班级:教技1201实 验 者:张宁数据库原理及应用是计算机科学领域中重要的主干课程,数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。通过课程的学习,要求学生掌握数据库应用的基本原理、方法和技术,具备一定的实际动手能力。能够根据实际需要,设计和开发出适用的数据库应用系统。本实验教程中,选用Sql Server 2000数据库管理系统作为实验平台,共设计了9个实验项目。各个实验项目介绍如下:实验

2、一:DBMS的基本操作,主要熟悉SQL Server 2000 中的服务器管理器、企业管理器和查询分析器环境,学会在企业管理器创建和删除数据库、数据表的方法。实验二:使用SQL操作数据库与数据表,要求学习者掌握使用SQL语句创建和删除数据库、数据表的方法,能够使用SQL语句创建各种完整性约束以及修改表的结构。实验三:SQL查询语句的使用,主要练习简单表的数据查询、排序和连接查询的操作以及练习子查询、查询嵌套的操作。实验四:SQL更新语句的使用,要求学习者掌握数据更新语句的使用;理解基于视图的查询和数据更新操作的过程,掌握视图操作的基本方法和应用。实验五:数据库的完整性,要求学习者深入理解数据库

3、完整性的概念,熟悉SQL SERVER 的完整性约束技术,了解SQL SERVER 的违反完整性处理措施。实验六:数据库的安全性,要求学习者掌握SQL SERVER数据访问控制策略和技术。实验七:通过嵌入式SQL访问数据库,要求学习者熟悉通过嵌入式SQL(主语言为ASP)编程访问数据库的过程和方法。实验八:通过ODBC访问数据库,要求学习者学会配置ODBC数据源的方法,能使用ODBC来进行数据库应用程序的设计。实验九:数据库设计与应用开发,该项目为提高型实验项目,要求学习者熟悉数据库系统设计的流程;掌握数据库的设计方法。数据库原理与应用实验教案目 录实验项目实验一 DBMS的基本操作实验二 使

4、用SQL操作数据库与数据表实验三 SQL查询语句的使用实验四 SQL更新语句的使用实验五 数据库的完整性实验六 数据库的安全性实验七 通过嵌入式SQL访问数据库实验八 通过ODBC访问数据库提高型实验 数据库设计与应用开发实验注意事项:实验之前应认真阅读实验讲义及教材有关章节。实验室内禁止抽烟、禁止大声喧哗。严格按照规定操作所有仪器设备,如有损坏或丢失,应及时报告,并根据情况进行赔偿。实验中注意原始数据的记载和保存。注意保持场地清洁,实验完毕,主动协助指导教师清扫整理实验室。实验之后,认真填写实验报告。实验一 DBMS的基本操作一、实验目的1、熟悉SQL Server 2000 中的服务器管理

5、器、企业管理器和查询分析器环境。2、了解SQL Server 2000数据库的逻辑结构和物理结构。3、了解数据表的结构特点,了解SQL Server的基本数据类型。4、学会在企业管理器中创建、删除和还原数据库的方法。5、学会在企业管理器创建和删除数据表的方法。二、实验器材 多媒体计算机、WindowsXP Professional版、SQL Server 2000开发版三、实验内容设有一数据库名为“学生选课管理”,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名为“student_data”

6、, 物理文件名为“student_data.mdf,存放路径为“E:sql_data”。日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:sql_data”。1、使用企业管理器创建上述的数据库。2、在建立的数据库“XJGL”中,用向导新建5张数据表,分别是:学生信息表、课程信息表、学生选课成绩表、教师信息表和教师上课课表。 3、给“XJGL”数据库中的各张表输入数据。4、用企业管理器对数据库文件进行备份和还原。四、实验原理数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间

7、的一层数据管理软件。设计DBMS的目标是为用户提供界面友好、功能完备、数据管理及数据库应用系统开发效率高的一个软件系统。DBMS主要功能包括: = 1 * GB3 数据定义功能:即提供数据定义语言(DDL)、定义数据库中的数据对象; = 2 * GB3 数据操纵功能:提供数据操纵语言(DML),操纵数据实现对数据库的基本操作 (查询、插入、删除和修改); = 3 * GB3 数据库的运行管理:保证数据的安全性、完整性、多用户对数据的并发使用、发生故障后的系统恢复; = 4 * GB3 数据库的建立和维护功能(实用程序):数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组织、性能监视等;

8、关系数据库中常用的数据库管理系统有:SQL Server 2000、ORACLE以及ACCESS等。本实验中选用的DBMS主要为SQL Server 2000。(一)SQL Server 2000安装过程中的关键问题1、安装选择 安装选择界面如图1.1所示。3个单选按钮的含义如下:“创建新的SQLServer实例,或安装客户端工具”:第一次安装SQLServer2000服务器或者客户机;“对现有的SQLServer实例进行升级删除或添加组件”:对SQLServer7.0升级或者删除已经安装的实例;“高级选项”:自定义安装内容。图1.1 安装选择图1.2 安装定义选择如果对现有的SQLServe

9、r实例进行升级删除或添加组件”按钮是灰色的,是因为你的服务器没有已经使用的SQLServer实例。2、安装定义选择安装选择界面如图1.2所示。3个单选按钮的含义如下:仅客户端工具:安装SQLServer2000客户机;服务器和客户端工具:安装SQLServer2000服务器和客户机;仅连接:安装SQLServer2000连接组件。什么是连接?连接是SQLServer2000客户机中最基本的部分,完整的客户机包括各种管理工具和底层的TBS协议组件,这里的TBS协议组件就是连接。一般来讲,在终端用户的计算机上安装连接和应用系统。这样的客户机只能通过应用系统操作数据,无法通过SQL Server 2

10、000客户机自身的管理工具来操作数据。3、实例名选择实例是虚拟的SQL Server 2000服务器。在同一台物理计算机上可以同时安装运行多个SQL Server系统,多个SQL Server 2000实例,每个实例就好比是一个单独的SQL Server 2000服务器。不同的SQL Server系统是用实例名来标识的。图1.3 实例名定义不同版本的SQL Server服务器可以通过多实例机制运行在同一台计算机上而互不干扰。前提是各种版本的SQL Server按照自己的端口运行。SQL Server 实例名定义如图1.3所示。SQLServer实例有两种类型.默认实例:以计算机的NetBIOS

11、名称命名的实例,如计算机的NetBIOS名称为mynetserver,则默认的SQL Server 2000数据库默认实例名就是mynetserver。在一台计算机上只能有一个默认实例。NetBIOS(网络基本输入输出系统)是20世纪80年代末期为了利用IBM PC构建局域网而出现的一种MSDOS程序的高级语言接口。为了利用网络硬件和软件将计算机连接成网络,微软和其他供应商利用NetBIOS接口来设计网络组件和程序。NetBIOS接口利用最多16个字节的名称来唯一标识网络中的每个资源,这就是我们熟悉的计算机名称。命名实例通过计算机的NetBIOS名称加上实名来进行标识,形式为“计算机名实例名”

12、,在同一台计算机上最多有16个命名实例。4、身份验证模式 SQL Server 2000提供两种身份验证方式,如图1.4所示。Windows 身份验证模式:用户通过Windows用户账号连接时,SQL Server 使Windows操作系统中的信息验证用户名和密码。图1.5 SQL 服务器上的安装结果图1.4 身份验证方式选择混合模式(Windows 身份验证和 SQL Server 身份验证):允许用户使用Windows操作系统身份验证或SQL Server身份验证进行连接。(二)SQL 服务器上的安装结果SQL Server 2000服务器安装完毕后,其结果体现为后台的服务系统。主要包括4

13、个方面的功能。通过控制面板管理工具服务,可以查看SQL Server 2000服务器的后台服务功能。如图1.5所示。这四个功能分别如下:1、MSSQLSERVERMSSQLSERVER服务是SQL Server 2000服务器的核心数据库引擎服务。客户机对SQL Server 2000服务器提出的各种要求都会转换为一组Transact-SQL语句,SQL Server服务就是协调和安排这些语句的执行,并向客户机反馈结果。MSSQLSERVER服务的主要功能包括数据管理、事务处理和查询,以及维护数据的完整性和安全性。2、SQLSERVERAGENTSQLSERVERAGENT相当于SQL Ser

14、ver 2000的系统自动管理、控制、调度中心,启动代理服务能够使系统按照管理员的意图自动运行并管理数据库系统。3、Microsoft SearchMicrosoft Search服务是一个全文搜索和查询服务,是可选的,用于建立数据库的全文目录和索引,并支持针对全文的检索。普通查询是通过索引来快速定位的,索引存储在数据库中。全文目录和索引不存储在数据库中,而是存储在专门的文件中,主要用于对大容量的文本等数据进行检索。4、Distributed Transaction CoordinatorDistributed Transaction Coordinator用于完成分布式事务(在物理上不同的两

15、台SQLServer2000服务器上完成的同一个任务)并保证事务的一致性。图1.6 SQL 客互机的图形化的管理工具(三)SQL 客户机上的安装结果 SQL Server2000安装完毕后,其SQL 客互机为一组图形化的管理工具,如图1.6所示。1、企业管理器企业管理器是基于一种新的被称为微软管理控制台(Microsoft Management Console。简称MMC)的公共服务器管理环境,它是SQL Server中最重要的一个管理工具。如图1.7所示。图1.7 企业管理器界面图1.8 查询分析器窗口企业管理器不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来

16、显示所有的SQL Server对象,因而所有SQL Server对象的建立与管理都可以通过它来完成。2、查询分析器查询分析器是SQL命令的编辑、执行的窗口,用户可以输入SQL语句如建立数据表、建立视图、查询、编辑存储过程等。如图1.8所示。图1.9 服务管理器界面查询分析器可通过企业管理器界面进入,在SQL Server的控制台根目录下,执行“工具”菜单下的“SQL查询分析器”;也可以在“开始”菜单下进入。3、服务管理器服务管理器是SQL Server 2000后台网络服务的管理工具,等效于在控制面板/管理工具服务中管理服务,是启动、关闭和停止网络服务的工具,如图1.9所示。注:只有安装了服务

17、器端之后才会有服务管理器。4、客户端网络实用工具图1.10 选择启用的协议 图1.11 设置服务器的别名客户端网络实用工具对SQL Server 2000客户端的网络参数进行配置,主要配置网络协议,并正确设置协议的相关参数,即配置哪台服务器,哪个端口提供服务,选择启用的协议和设置服务器的别名等,如图1.10和图1.11所示。5、服务器网络实用工具服务器网络实用工具对SQL Server 2000服务器的网络参数进行配置,主要配置网络协议,并正确设置协议的相关参数。注:只有安装了服务器端之后才会有服务器网络实用工具。6、导入和导出数据(实习二中将介绍)(四)配置SQL Server 2000 网

18、络1、配置共享内存的本地网络环境大多数初学者的计算机网络环境有限,甚至没有局域网,将SQL Server 2000的服务器和客户端安装在同一台计算机上,这样的安装称为本地SQLServer2000网络。在这样的网络环境中,应该优先使用共享内存的IPC机制。配置共享内存的本地网络环境步骤如下:配置服务器(1)运行“服务器网络实用工具”,出现如图1.12所示的“常规”选项卡,在“启用的协议”列表框中清除所有的协议即可。图1.12 服务器端网络实用工具图1.13 客户端网络实用工具提示:如果服务器上没有启用任何协议, SQLServer2000服务器将启用共享内存机制,但共享内存机制无法处理远程客户

19、机请求.(2)重新启动SQLServer2000服务器配置本地客户机运行“客户端网络实用工具”,出现如图1.13所示的“常规”选项卡。在“按顺序启用协议”列表框中清除所有的协议,并选择“启用共享内存协议”复选框。提示:配置共享内存的SQLServer2000服务器只需清除所有的网络协议即可;配置共享内存的SQLServer2000客户机必须选择启用共享内存协议选项。测试使用“查询分析器”测试SQLServer2000客户机和服务器的连接,连接成功,表明本地共享内存的SQL Server 2000网络配置成功。2、配置基于TCP/IP协议网络环境远程客户机通过TCP/IP协议配置和本地客户机配置

20、是完全一样的。配置基于TCP/IP协议网络环境步骤如下:配置服务器图1.14 TCP/IP属性(1) 运行“服务器网络实用工具”,出现如图1.12所示的“常规”选项卡,将TCP/IP协议添加到“启用的协议”列表框中,单击“属性”按钮;(2) 出现如图1.14所示的“TCP/IP”属性界面,在“默认端口”文本框中显示了默认的端口为1433,如果需要更改,可输入(一般应为1024以上的数字),然后重新启动SQL Server 2000服务器。 注意:端口是用来区分同一台计算机上不同的网络服务的。如同一台计算机上既安装了SQL SERVER 2000服务器和WEB 服务器。区分格式为:IP地址:端口

21、 按照国际标准化组织的有关规定:低于255的端口号用于公共应用;2551023的端口号被分配给各公司,用于销售的应用程序;高于1023的端口号可以由用户自行分配使用。SQL SERVER 2000默认分配的端口号为1433。配置客户机(1) 启用“客户端网络实用工具”,出现如图1.13所示的”常规”选项卡,将TCP/IP添加到“按顺序启用协议”列表框中;(2) 切换到如图1.15所示的“别名”选项卡,单击“添加”按钮;图1.15 别名选项卡图1.16 添加网络库配置(3) 现如图1.16所示的“添加网络库配置”界面。在“服务器别名”文本框中输入mysqlserver选择“网络库”为“TCP/I

22、P”单选钮在“服务器名称”文本框中输入SQLServer2000服务器的IP地址,如9。(4)取消“动态决定端口”复选框选择,在“端口号”文本框中核实SQLServer2000服务器的端口;(5)单击“确定”按钮。提示:在局域网环境中,服务器名称文本框中既可以用IP地址,也可以用服务器的NetBIOS名称;在Internet环境中则只能使用IP地址.测试启动“查询分析器”,出现 “连接到SQL Server”界面。在“SQL Server”列表框中选择或者输入新建立的别名进行测试,测试成功则表明TCPIP的SQLServer2000网络配置成功。(五)在企业管理器下建立客户机和服务器连接的步骤

23、企业管理器可以管理多个服务器,为此需要连接和组织服务器。要连接服务器,就要将服务器注册。将服务器注册以后,可以将其组织成逻辑组。1、服务器组企业管理器组可以组织服务器和命名实例。首次启动企业管理器时,有一个默认服务器组 “SQL Server 组”被自动创建。用户可以创建新的SQL Server组,并逻辑组织服务器。方法是:在企业管理器菜单中右键单击SQL Servers组,选择新建SQL Server 组菜单项。2、注册服务器所谓注册服务器是指将网络中的其它SQL Server服务器注册到客户机的企业管理器中,以便于管理。请按照“注册SQL SERVER服务器”向导一步一步完成。3、启动服务

24、 将服务器注册成功后,要连接服务器,只需在企业管理器下,单击这个服务器即可。(六)数据库与数据表的操作 SQL SERVER 2000下,无论对数据库还是对数据表操作,既可以通过鼠标操作实现,也可以通过SQL语句实现。1、建立数据库使用CREATE DATABASE命令或菜单建立数据库数据库建立后将得到数据库的数据文件和日志文件,扩展名分别是“.mdf”和“.ldf”,通过查看数据库文件的属性将会得到其存储的物理位置。2、建立数据表在已建立的数据库下,采用CREATE TABLE命令或菜单操作建立数据表。注意:无论是采用Create Table方法还是使用菜单操作建立数据表,数据表均建立在当前

25、数据库下,数据表的结构定义和数据表的内容均放在当前数据库这个容器下,数据表文件不以单个文件独立存在。(七)数据库的还原与备份1、备份数据库当需要将数据库保存在其它存储介质或其它文件下,应使用数据库备份操作,数据库一旦备份后,连同其中的数据表等信息均被自动备份;对于已经备份的数据库,可使用“还原”操作,使备份的数据库还原在当前服务器组下。数据库“备份”的方法可直接通过菜单实现。具体的步骤如下:图1.17数据库备份中的“常规“选项图1.18选择数据库备份的目标(1)右键单击欲“备份”的数据库,在弹出的快捷菜单中选择“所有任务”,执行“数据库备份”功能,弹出如图1.17所示的界面。(2)在“数据库”

26、列表框中选择要备份的数据库;在“名称”文本框中输入备份后的数据库名称;在“备份”组下选择备份操作类型,共有以下四种选择:“数据库完全”:完整备份数据库的所有内容。“数据库差异”:只创建数据库中自上一次数据库备份之后修改过的所有页的副本。“事务日志”:事务日志备份。“文件和文件组”:数据库文件和文件组备份。在“目的”组中指定备份设备或文件名。单击“添加”按钮添加备份设备或文件。单击“删除”按钮用来删除备份设备或文件。单击“内容”按钮,则可以查看已经存储在备份或文件中的备份信息,如备份集、服务器和数据库名称、备份类型、备份日志、备份数据有效期以及备份数据长度等。(3)单击“添加”按钮,弹出“选择备

27、份目的”对话框,如图1.18所示。在“文件名”组中选择备份后的数据库的位置和名称,单击“确定”,返回图1.18。在“重写”组中选择“重写”方式。追加到媒体:需要保存备份设备或文件中以前的备份数据,则选择“重写”组中的“追加到媒体”“重写现有媒体”:要求本份备份数据覆盖以前的备份数据,从而节省存储空间。“调度”组用来安排数据库备份操作的执行时间。SQL Sever代理服务可将数据库备份作为一个任务进行安排,使它在将来某个时刻执行一次或指定的时间段内重复执行。(4)单击确定按钮,系统开始备份指定的数据库。2、还原数据库数据库“还原”的方法可直接通过菜单实现。具体的步骤如下:右键单击任意数据库名称,

28、在弹出的快捷菜单中,选择“所有任务” “还原数据库”,如图1.19所示。图1.19数据库还原窗口图1.20数据库还原中的“选择还原设备”在“常规”选项卡中,选择或输入还原后数据库名,在还原位置上选择还原方式,如“从设备”。 单击“从设备”“选择设备”确定,出现如1.20所示的界面。 单击“添加”,出现“选择还原目的”窗口。在单选按钮“文件名”选择备份的数据库的位置和名称。单击“确定”按钮开始还原。五、实验步骤(一)创建服务器组和注册服务器1、创建服务器组2、注册服务器3、建立客户端和服务器的连接具体要求:按照上述预备知识,在企业管理器下创建“服务器组”(服务器组名称自定),分别构建基于“共享内

29、存”的本地网络和“TCP/IP”的网络环境,并实现客户端和服务器的有效连接。 (二)数据库基本操作在“企业管理器”环境下,完成如下任务:1、创建数据库建立名为“XJGL”的数据库。2、建立基本表在“XJGL”数据库下,建立5张数据表:学生信息表、课程信息表、学生选课成绩表、教师信息表和教师上课课表。各个关系表的模式如下: 表2.1 student表(学生信息表)字段名称类 型宽 度允许空值主 键说 明snochar8NOT NULL是学生学号snamechar8NOT NULL学生姓名sexchar2NULL学生性别nativechar20NULL籍贯birthdaysmalldate4NUL

30、L学生出生日期dnochar6NULL学生所在院系spnochar8NULL专业代码(外键)classnochar4NULL班级号entimesmalldate4NULL学生入校时间homevarchar40NULL学生家庭住址telvarchar40NULL学生联系电话表2.2 course表(课程信息表)字段名称类 型宽 度允许空值主 键说 明cnochar10NOT NULL是课程编号spnochar8NULL专业代码(外键)cnamechar20NOT NULL课程名称ctnotinyint1NULL课程类型编号(外键)experimenttinyint1NULL实验时数lecture

31、tinyint1NULL授课学时semestertinyint1NULL开课学期credittinyint1NULL课程学分表2.3 student_course表(学生选课成绩表)字段名称类 型宽 度允许空值主 键说 明snochar8NOT NULL是学生学号tcidsmallint2NOT NULL是上课编号scoretinyint1NULL学生成绩表2.4 teacher表(教师信息表)字段名称类 型宽 度允许空值主 键说 明tnochar8NOT NULL是教师编号tnamechar8NOT NULL教师姓名sexchar2NULL教师性别birthdaysmalldate4NULL

32、教师出生日期dnochar6NULL教师所在院系pnotinyint1NULL教师职务或职称编号homevarchar40NULL教师家庭住址zipcodechar6NULL邮政编码telvarchar40NULL联系电话emailvarchar40NULL电子邮件表2.5 teacher_course表(教师上课课表)字段名称类 型宽 度允许空值主 键说 明tcidsmallint2NOT NULL是上课编号tnochar8NULL教师编号(外键)spnochar8NULL专业代码(外键)classnochar4NULL班级号cnochar10NOT NULL课程编号(外键)semester

33、char6NULL学期schoolyearchar10NULL学年classtimevarchar40NULL上课时间classroomvarchar40NULL上课地点weektimetinyint1NULL每周课时数3、录入数据在每个表中录入以下数据,录入数据时注意数据的录入顺序,先在主键表中录入数据,再在外键表中录入数据。4、修改数据表逻辑结构(1)在Course表中添加一个授课教师列,列名为Tname,类型为char(8)(2)删除Course表中的Credit列。5、数据删除操作试着删除学生表中的某一行数据、某些数据或者全部数据。注意分析出现的错误信息。6、数据库的备份与还原(1)备

34、份“XJGL”数据库(2)还原“XJGL”数据库(可先删除“XJGL”数据库,后完成还原;也可不删除已有数据库,选择“选项”标签,选中“在现有数据库上强制还原”复选框后,直接还原)六、实验思考1、如何将建立的数据库文件还原到其它的计算机上?2、局域网内的用户如何共享某台机器上的数据库?实验二 使用SQL操作数据库与数据表一、实验目的1、掌握使用SQL语句创建和删除数据库的方法。2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构的方法。3、掌握索引的创建和删除方法。4、掌握SQL Server 2000生成和运行SQL脚本的方法。二、实验器材 多媒体计算机、WindowsX

35、P Professional版、SQL Server 2000开发版三、实验内容1、在查询分析器中,利用SQL语句创建一个名为“XMGL”的数据库。2、在创建的“XMGL”数据库中使用SQL语句建立4个关系(可参考教材P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表 SPJ(Sno,Pno,Jno,QTY)3、在EXCEL中录入数据,然后将数据导入到数据表中。4、SQL Server 2000生成和运行SQL脚本.四、实验原理1、数据库的建立与删除在查询

36、分析器中可以使用SQL语句建立数据库,语句格式为:CREATE DATABASE 其中CREATE DATABASE为关键字,为用户创建的数据库的名称,由用户自定。使用DROP DATABASE 语句可以删除数据库,语句格式为:DROP DATABASE 其中DROP DATABASE为关键字,为要删除的数据库的名称。当数据库被删除时,数据库中的所有数据对象也一起被删除掉。2、数据表的创建与删除在查询分析器中使用Create Table语句创建数据表,语句格式为:CREATE TABLE ( 列级完整性约束条件, 列级完整性约束条件,);其中CREATE TABLE为关键字,为数据表的名称,由

37、用户确定,为组成这个表的属性列的名称,由用户确定,为属性列的取值的类型,由用户在具体的DBMS所提供的数据类型中选择。在查询分析器中使用DROP Table 语句删除数据表,语句格式为:DROP TABLE 注意:删除一个表,表的定义以及表中的所有数据,以及该表的索引、约束、触发器等将自动删除,并且与表相关联的规则和默认对象也将失去与它的关联关系。3、修改基本表在查询分析器中使用ALTER TABLE语句修改已建立好的基本表,该语句可以实现添加、修改、删除基本表中的属性列、约束等操作,下面分别给出语句格式及说明:(1)添加操作在ALTER TABLE语句中使用ADD子句添加新列和新的完整性约束

38、,添加新列的语句格式如下:ALTER TABLE ADD 添加新的完整性约束语句格式如下:ALTER TABLE ADD CONSTRAINT (2)修改操作在ALTER TABLE语句中使用ALTER COLUMN子句修改原有列的定义,语句格式如下:ALTER TABLE ALTER COLUMN (3)删除操作在ALTER TABLE语句中使用DROP子句删除已有的列和完整性约束条件,删除列的语句格式如下:ALTER TABLE DROP COLUMN 删除完整性约束条件的语句格式为:ALTER TABLE DROP 关于ALTER TABLE语句更详细的语法格式请参照“联机丛书”,下面通

39、过实例给出ALTER TABLE语句的具体用法,如下: 操作类型实例添加添加新列Alter table s add Sid char(20) 添加新的完整性约束Alter table s add constraint uq_sid unique(sid)修改修改原有列的定义Alter table s alter column Sid char(30)删除删除已有完整性约束Alter table s drop uq_sid删除已有列Alter table s drop column Sid4、索引的创建与删除在查询分析器中使用CREATE INDEX语句创建索引,语句格式为:CREATE UNI

40、QUE CLUSTERED | NONCLUSTERED INDEX ON ( 列名 ASC | DESC ,.n ) 其中UNIQUE、CLUSTERED、NONCLUSTERED 指出所建索引的类型,分别为唯一性索引、聚集索引和非聚集索引。注意:不能在数据类型为text、ntext和image的列上建立索引。在查询分析器中使用DROP INDEX语句删除索引,语句格式为:DROP INDEX 注意:Drop Index语句能够删除Create Index语句所建立的索引,但是它不能删除SQL Sever为Primary Key或Unique约束所建立的索引,这些索引只能通过删除约束或表的方

41、法来删除。5、导入与导出数据在进行数据管理时经常会遇到将不同格式的数据导入SQL Sever 2000,如将EXCEL下的.xls数据或Access下的数据表导入到SQL Sever 2000下,或将SQL Sever 2000数据导出成其他格式的数据,这些任务需要使用SQL Sever 2000的数据导入或导出功能。实现数据导入导出通常通过向导来实现,下面仅介绍把Excel下的数据导入到SQL Sever 2000下的方法,导出的方法和导入的方法类似,在此不再赘述。在企业管理器左窗格的“树”目录中,右键单击要倒入数据的数据库或数据表,在弹出的快捷菜单中选择“所有任务”,执行“导入数据”功能项

42、,如图2.1所示,单击“下一步”如图2.2。图2.3选择数据源图2.4选择目的文件的类型图2.1数据转换服务导入导出向导图2.2 数据导入导出向导在图2.2中“数据源”下拉列表框中选择数据源的类型,如果数据源为Excel文件,则需选数据源的类型为“MicroSoft Excel 97-2000 ”,选中后,出现图2.3所示界面,在“文件名”文本框中输入文件名(包括盘符和路径)。单击“下一步”,出现图2.4所示的界面,在“目的”文本框中选择目的文件的类型。对于SQL Sever 2000,则需选择“用于SQL Sever的MicroSoft OLE DB提供程序”或“用于SQL Sever的Mi

43、croSoft ODBC驱动程序”。在“服务器”下拉列表中选择服务器名称,并选择合适的“身份验证”方式。在“数据库”下来列表中选择数据表所隶属的数据库。单击“下一步”,出现如图2.5所示的界面,选择“从源数据库复制表和视图”。单击“下一步”,出现图2.6所示的界面。在“源”下选择“源数据的文件名”,在“目的”下选择需要导入数据的表名。单击“下一步”后再单击“完成”,数据即可成功导入。6SQL脚本文件的生成和使用(1)生成SQL脚本文件在企业管理器下,执行“工具”菜单下的“生成SQL脚本”功能。图2.6选择源表或视图图2.5指定表复制或查询(2)运行SQL脚本文件SQL脚本文件实际上是由一组SQ

44、L语句组成的文本文件,可在“查询分析器下”运行。当在另外一台计算机上运行生成的脚本文件时,将会创建相同的数据库、数据表(只有结构定义而无具体的元组值)以及有关的索引、视图定义等。四、实验步骤(一)数据库的建立1、启动服务器。2、启动查询分析器。选择:开始程序Microsoft SQL Server查询分析器,打开SQL Server2000的查询分析器。3、在查询窗口中输入SQL语句,然后单击菜单栏上的绿色按钮开始执行SQL语句,可以看到指令执行的情况。在“查询分析器”中使用CREATE DATABASE语句创建名为“XMGL”的数据库。(二)数据表操作1建立数据表在创建的“XMGL”数据库中

45、使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表 SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系要创建主键,有外键的创建外键。(2)S表中的Sname属性列的取值唯一。(3)P表中weight属性列的取值范围在1-50之间。(4)J表中的Jname取值不能为空并且是唯一的。(5)SPJ表中QTY属性列的数据类型必须为int。2修改表的结构在“企业管理器”中用SQL语句完成以下操作:(1)给S表增加S

46、phone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。(2)删除Jname属性列取值唯一的约束。(3)将QTY属性列的数据类型修改为Smallint型。(4)删除S表中的属性列Semail。3创建、删除索引通过SQL语句分别在表S、P、J表中的Sno,Pno,Jno属性列上建立唯一索引(升序)。4数据录入操作在EXCEl中录入四个表的数据(具体数据可参照课本P75四个表中的数据),在企业管理器中用数据导入功能将EXCEL中的数据分别导入到S,P,J和SPJ表中。5备份XMGL数据库。6脚本文件生成(1)将已创建好的“XMGL”数据库和“学生选课管理”数据库生成SQL脚本文

47、件,要求为数据库中的每个数据对象(数据库,表,表中的各种约束,视图,索引等)生成CREATE命令,使用记事本查看并分析生成的语句。(2)注意区分“数据库备份”、“脚本文件”和“数据导入与导出”。六、实验思考1、SQL Server 2000中生成的脚本文件能否在其它的DBMS上运行?2、在SQL Server 2000企业管理器下创建数据库和数据库表,跟直接用SQL语句创建数据库和数据表有没有什么不同,它们各自适用的情景是怎样的?实验三 SQL查询语句的使用一、实验目的1、观察查询结果, 体会SELECT语句实际应用。2、要求学生能够在查询分析器中使用SELECT语句进行简单查询。3、熟练掌握

48、简单表的数据查询、数据排序和数据连接查询的操作方法。4、掌握子查询的操作方法。二、实验器材 多媒体计算机、WindowsXP Professional版、SQL Server 2000开发版三、实验内容1、练习简单表的数据查询、数据排序和数据连接查询的操作。2、练习子查询、查询嵌套的操作。四、实验原理查询语句的基本格式如下:SELECT -需要哪些列 FROM -来自于哪些表 WHERE -根据什么条件 GROUP BY -分组 HAVING -筛选 ORDER BY -排序五、实验步骤:1、还原“XJGL”数据库。2、在“XJGL”数据库中完成以下简单查询操作(1)求计算机系的学生学号和姓名

49、;(2) 求选修了课程的学生学号;(3)求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;(4)求选修课程C1 且成绩在8090 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;(5)求计算机系和数学系的姓张的学生的信息;(6)求缺少了成绩的学生的学号和课程号。(7)将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。3、在“XJGL”数据库中完成以下连接查询操作(1)查询每个学生的情况以及他(她)所选修的课程;(2)求学生的学号、姓名、选修的课程名及成绩;(3)求选修C1 课程且成绩在90 分

50、以上的学生学号、姓名及成绩;(4)查询每一门课的间接先行课。4、在“XJGL”数据库中完成以下嵌套查询操作。(1)求选修了高等数学的学生学号和姓名;(2)求C1 课程的成绩高于张三的学生学号和成绩;(3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);(4)求其他系中比计算机系学生年龄都小的学生信息;(5)求选修了C2 课程的学生姓名;(6)求没有选修C2 课程的学生姓名;(7)查询选修了全部课程的学生的姓名;(8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。六、实验思考1、如何对查询过程进行控制?2、如何提高海量数据查询的效

51、率?实验四 SQL更新语句的使用 一、实验目的 1、掌握数据更新语句的使用;2、理解基于视图的查询和数据更新操作的过程,掌握视图操作的基本方法和应用。二、实验平台 多媒体计算机、windows 2000 server操作系统以及SQL Server 2000企业版三、实验内容和要求 使用SQL对数据进行完整性控制(3类完整性、CHECK短语、CONSTRAIN子句、触发器)。用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。四、实验原理1数据更新基本语句及其格式(1)插入操作SQL的数据插入语句INSERT有两种形式: 插入单个元组,使用命令:INSERT INTO 基本表名 (列名

52、表) VALUES (元组) 插入子查询的结果:INSERT INTO 基本表名(列表名)查询语句(2)修改操作当需要修改指定关系中元组的值时,可使用下列语句实现:UPDATE 基本表名SET 列名1值表达式1,列名2值表达式2WHERE 条件表达式(3)删除操作删除关系中满足条件的元组语句格式如下:DELETE FROM Where 2创建视图在“企业管理器”中可以使用向导创建视图,步骤如下:(1)在左窗格中将数据库单击展开(单击数据库前的“+”号),然后单击下层出现的视图。(2)右窗格中出现此数据库下的所有视图,在右窗格中单击右键,在弹出的快捷菜单中选择“新建视图”,即出现新建视图的窗口。

53、(3)新建视图窗口总共分为四个窗格,如图4.1所示,在关系图窗格中单击右键,在弹出的快捷菜单中选择“添加表”,添加创建此视图的所有关系。(4)从关系中选择“视图”中需要的字段,可来自不同的表,对应的SQL语句立即显示在SQL窗格中。(5)单击工具栏中的运行按钮,运行SQL语句,视图中的数据就在结果窗格中显示。关系图窗格网格窗格SQL窗格结果窗格图4.1 新建视图窗口(6)单击工具栏中的保存按钮保存“视图”文件。五、实验过程在“XMGL”数据库中使用SQL语句完成以下操作:1、现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工

54、程J4数量为500,请将此供应商的信息和供应信息插入数据库。2、请将北京供应商的供应数量加20。3、零件P3已经停产,请将P3的相关信息从数据库中删除。4、创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY)。5、在视图P_ls中查询供应数量为500的供应商姓名。六、实验思考1、视图和基本表有什么区别,是否所有的视图都可以更新?2、基本表在更新的过程中应注意哪些事项?实验五 数据库完整性一、实验目的1、深入理解数据库完整性的概念。 2、熟悉SQL SERVER 的完整性约束技术。 3、

55、了解SQL SERVER 的违反完整性处理措施。 二、实验器材 多媒体计算机、windows 2000 server操作系统以及SQL Server 2000企业版三、实验内容1、了解数据库完整性约束的基本概述 2、了解MS SQL Server完整性约束技术。 包括实体完整性、域完整性、引用完整性、用户定义完整性。3、了解主键(PRIMARY KEY)约束 4、了解外键(FOREIGN KEY)约束 5、了解唯一性(UNIQUE)约束 6、了解检查(CHECK)约束 7、了解DEFAULT 约束 8、了解允许空值约束 四、实验原理实现数据完整性的方法 一种是在定义表时声明数据完整性,称为声明

56、完整性,另一种是在服务器端编写触发器来实现,称为过程完整性。在执行对数据的增、删、改操作时,数据库管理系统自动检查用户定义的完整性约束条件。 1、实现声明完整性 (1)主码约束每个表只能有一个PRIMARY KEY约束; 用PRIMARY KEY约束的列取值不能有重复,而且不允许有空值;添加主码约束的语法格式:ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY ( , n )以下例题均以雇员表和工作表两个关系为例,这两个关系如下:雇员表(雇员编号,雇员名,工作编号,工资,电话)工作表(工作编号,最低工资,最高工资)例5.1:对雇员表和工作表添加主码约束

57、ALTER TABLE 雇员表 ADD CONSTRAINT PK_EMP PRIMARY KEY (雇员编号)ALTER TABLE 工作表 ADD CONSTRAINT PK_JOB PRIMARY KEY (工作编号) (2) UNIQUE约束 用于限制在一个列中不能有重复的值。用在事实上具有惟一性的属性列上,比如每个人的身份证号码、驾驶证号码等均不能有重复值。注意:允许有一个空值;在一个表中可以定义多个UNIQUE约束;可以在一个列或多个列上定义UNIQUE约束(3) 外码约束 实现引用完整性。 外码所引用的列必须是有PRIMARY KEY约束。 添加FOREIGN KEY约束的语法格

58、式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY() REFERENCES 引用表名()例5.2:为雇员表的工作编号添加外码引用约束。ALTER TABLE 雇员 ADD CONSTRAINT FK_job_id FOREIGN KEY (工作编号)REFERENCES 工作表 (工作编号)(4)DEFAULT约束用于提供列的默认值。只有在向表中插入数据时才检查DEFAULT约束。添加DEFAULT约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 列名例5.3:定义雇员表的工资的

59、默认值为1000。ALTER TABLE 雇员 ADD CONSTRAINT DF_SALARYDEFAULT 1000 FOR 工资(5)CHECK约束用于限制列的取值在指定的范围内,使数据库中存放的值都是有意义的。系统在执行INSERT语句和UPDATE语句时自动检查CHECK约束。CHECK约束可约束同一个表中多个列之间的取值关系。添加CHECK约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (逻辑表达式)例5.4:限制雇员的工资必须大于等于200。ALTER TABLE 雇员 ADD CONSTRAINT CHK_SalaryCHECK

60、 ( 工资 = 200 )例5.5:限制工资表的最低工资小于等于最高工资。ALTER TABLE 工作 ADD CONSTRAINT CHK_Job_Salary CHECK( 最低工资 = 最高工资 )2、实现过程完整性过程完整性是指在服务器端通过编写实现约束的一段代码来实现数据完整性约束,这段代码就称为触发器。触发器是用编程的方法实现复杂的商业规则,它可以实现一般的数据完整性约束实现不了的复杂的完整性约束。五、实验过程实验中涉及两张表:部门表、职工表。部门表包括部门号、名称、经理名、地址、电话号以及一个部门号主键约束和一个名称的唯一性约束。职工表包括职工号、姓名、年龄、职务、工资、部门号以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论