文档详情

数据库系统原理实验讲义

hao****an
实名认证
店铺
DOCX
3.08MB
约110页
文档ID:156938745
数据库系统原理实验讲义_第1页
1/110

《数据库系统原理》基本课程实验指导书北京邮电大学计算机学院2017年4月7目 录第一章 概述 5第二章 实验一 数据库实验平台的安装、数据库创建与维护实验 8实验目的 8实验环境 8实验内容与步骤 8实验要求 13实验总结 13第三章 实验二 E-R建模与关系表转换 20实验目的 20实验原理 20实验环境 20实验内容与步骤 20实验要求 21实验总结 21第四章 实验三 数据库表/视图的创建与维护实验 22实验目的 22实验环境 22实验内容与步骤 22实验要求 24实验总结 24第五章 数据查询与修改实验 25实验目的 25实验环境 25实验内容 25实验步骤 25实验要求 28实验总结 28第六章 实验五--数据库完整性与安全性实验 29实验目的 29实验环境 29实验内容 29实验总结 39第七章 实验六 数据库接口实验 40实验目的 40实验原理 40实验环境 41实验内容 41实验要求 41实验步骤 43实验总结 58第八章 实验七 数据库物理设计 59实验目的 59实验环境 59实验要求 59实验内容与步骤 60实验总结 77第九章实验八 数据查询分析优化实验 78实验目的 78实验环境 78实验内容 79实验总结 98第十章 实验九 数据库备份与恢复实验 99实验目的 99实验环境 99实验内容与步骤 99实验总结 110第一章 概述《数据库系统原理》课程学习需要理论和实践紧密结合,课程实验是其中重要的教学环节。

本指导书介绍了数据库基本课程实验相关内容,包括数据库实验所需基础知识、实验环境、实验内容和实验要求等《数据库系统原理》课程学习的目标是:(1) 了解和掌握数据库的理论知识学习理解数据库系统的基本概念,掌握数据库系统的基本理论,包括数据库的特点、结构、关系数据模型、数据存储、数据查询及优化、关系数据库设计、事务管理等内容2) 了解和熟悉实际数据库的操作和使用在学生掌握基本的数据库概念和理论基础上,通过基本课程实验培养学生的实践能力,使学生能掌握基本的数据库操作和数据访问方法3) 全面理解数据库系统设计与开发过程,通过课程综合设计完成一个简单但完整的数据库应用系统的设计与实现本基本课程实验指导书包括以下几方面内容1) 课程实验目的:学生可以通过实验加深对数据库相关基本理论和概念的认识和理解,并且通过对Microsoft SQL Server数据库的操作和使用,了解具体商用数据库管理系统,熟悉数据库操作,提高数据库实践能力2) 课程实验环境:实验选择商用Microsoft SQL Server数据库作为基本实验环境,操作系统平台为Windows2000/XP/NT/Win7利用商用数据库系统提供的管理工具,如企业管理器Enterprise Manager和查询分析器Query Analysis等,以及Transact-SQL语言,学生可以完成相关实验。

3) 实验方式和要求:学生分组完成各个基本课程实验每组学生最多2人学生需要理解每次实验内容,掌握实验所需基本知识,在此基础上制定实验步骤,完成实验内容;基本课程实验包括多组实验各组实验虽然分次完成,但内容上相互衔接,前一次实验数据可能为后面实验所用,因此需要保留每一次实验结果实验完成后,学生需要完成实验报告,报告内容包括实验目的、内容、步骤、结果和实验总结;实验指导教师负责每次实验的上机验收4) 实验内容设置: 在下述几组实验中选取若干组实验一 数据库安装、数据库创建与维护实验实验二 E-R建模与关系表转换实验三 数据库表/视图的创建与维护实验实验四 数据查询与修改实验实验五 数据库完整性与安全性实验实验六 数据查询分析优化实验实验七 数据库接口实验实验八 数据库事务创建与运行实验实验九 数据库备份与恢复实验实验十 存储过程与触发器实验 (5) 实验报告要求: 实验报告需要完成以下内容:1. 实验目的: 描述本次实验的目的2. 实验原理: 根据自己的理解,描述本次实验的原理3. 实验平台及环境: 介绍自己实验所基于的软硬件环境及所用到的工具4. 实验内容: 介绍本次实验的具体内容。

5. 实验步骤: 根据实验内容和实验过程情况介绍实验步骤6. 实验小结: 分析实验结果,总结本次实验遇到的问题和心得第二章 实验一 数据库实验平台的安装、数据库创建与维护实验实验目的1.通过对Microsoft SQL Server数据库的安装和简单使用:(1) 了解安装Microsoft SQL Server数据库的软硬件环境和安装方法;(2) 熟悉Microsoft SQL Server数据库相关使用;(3) 熟悉Microsoft SQL Server数据库的构成和相关工具;(4) 通过Microsoft SQL Server数据库的使用来理解数据库系统的基本概念2.通过创建数据库、并进行相应的维护,了解并掌握Microsoft SQL Server数据库数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素实验环境采用Microsfot SQL Server数据库管理系统作为实验平台,可以选用Microsoft SQL Server 2008及以后的某一版本,可以在“北邮人BT上下载”实验内容与步骤一、 Microsoft SQL Server数据库安装1.下载安装SQL Server。

下载相应版本选择实验室Windows XP或者Win7系统或者虚拟机(vmware)上自行安装的操作系统或者是自己的机器之一安装该版本的Microsoft SQL Server可选版本有Microsoft SQL Server 2008/2012/2014或者2016的Express,Develop,Standard或者Enterprise等各版本 注意:安装前最好下载微软对于安装说明文件,并仔细阅读,看某版本的数据库软件是否兼容我们使用的操作系统,是否需要打补丁,以及需要什么硬件环境等SQL Server数据库安装作为一个操作过程,是比较简单的但因为计算机软硬件是一个复杂系统,有各种约束条件(比如操作系统是否兼容,软件是否有冲突,系统是否已经损坏,是否有病毒等等),安装时对付它们才是最复杂和困难的安装时通常可同时安装SQL Server Management Studio Express,以后建立数据库等很方便以下以在windows Server 2012上安装SQL Server 2012标准版为例讲解安装数据库的步骤:1) 下载相关Sql Server软件可以从数据库实验服务器上下载,也可以从北邮微软正版软件网站下载。

2) 将ISO文件装载为虚拟驱动器:在资源管理器中找到ISO文件,然后鼠标右击该ISO文件,选择安装成虚拟驱动器,然后系统自然会将ISO文件装载成一个虚拟驱动器,内容如图2.1:图2.1 虚拟驱动器3) 点击setup,开始安装,出现如下图2.2界面值得注意的是软件和硬件需求等信息,应该先仔细查看自己的系统是否满足安装要求4) 选择安装,如图2.3,然后再选择全新SQL Server独立安装或向现有安装添加功能,有一个安装程序支持规则界面,没有问题直接通过,否则按照说明进行修正然后可到达如图2.4的界面5) 直接选择下一步,接受许可条款后,再选择下一步,如图2.5可选择SQL Server功能安装,进行自定义功能安装6) 然后如图2.6,选择安装所有功能,免得实验中缺少什么,需要重装7) 如图2.7,安装SQL Server下的实例,一个实例下可以创建多个数据库8) 几个页面以后,图2.8中身份认证方式要改成混合身份认证设置sa账户密码(请牢记该密码)并且添加管理员用户(可以选择当前用户)在下一个添加管理员用户界面中也可以一样添加9) 进入图2.9,选择安装和配置10) 最后是安装进度和完成。

如图2.10图2.2 SQL Server安装中心2.练习启动和停止数据库服务打开控制面板|管理工具|服务,找出与所使用数据库相关的服务,尝试停止和启动它们如图2.11.最后保持这些服务为启动状态如果这些服务没有启动,非常可能导致数据库系统无法工作,从而后续实验无法进行二、 熟悉Microsoft SQL Server数据库基本用户界面:1. 熟悉数据库管理系统的基本用户界面,启动SQL Server Management Studio登录界面可采用windows身份认证,如图2.12然后有如图2.13所示2. 点击左边窗口的各种数据库、视图、表等的对象,查看状态等3. 打开文件|新建|数据库|使用当前链接的查询或者数据引擎查询,可以进入命令行界面请尝试输入SQL语句以及其它命令三、 使用Microsoft SQL Server创建数据库:1. Microsfot SQL Server数据库创建了解数据库系统的命令行操作界面,创建数据库,并且指定数据库存储位置和文件大小:(1) 编写包含CREATE DATABASE命令的脚本文件,数据库SQL Server Management Studio下打开该文件并执行之。

该命令的语法是:CREATE DATABASE database_name CONTAINMENT = { NONE | PARTIAL } ] [ ON [ PRIMARY ] [ ,...n ] [ , [ ,...n ] ] [ LOG ON [ ,...n ] ] ] [ COLLATE collation_name ] [ WITH

理解用户界面上相关参数,指定数据库存储位置和存储文件大小后续实验也同样的学习脚本和理解参数的要求3) 找出系统数据库,查看其下的表及其它数据库对象四、Microsoft SQL Server数据库维护(1) 对数据库属性和参数进行查询、相应的修改和维护,内容包括:使用ALTER DATABASE下面的操作:a) 调整数据库的大小,完成数据库大小的增加、减小;b) 增加文件组;c) 修改日志文件的最大值;d) 查看数据库的属性值(用图形界面)ALTER DATABASE语法是:ALTER DATABASE database_name { | } [;] ::= { ADD FILE [ ,...n ] [ TO FILEGROUP { filegroup_name } ] | ADD LOG FILE [ ,...n ] | REMOVE FILE logical_file_name | MODIFY FILE } ::= ( NAME = logical_file_name [ , NEWNAME = new_logical_name ] [ , FILENAME = {'os_file_name' | 'filestream_path' | 'memory_optimized_data_path' } ] [ , SIZE = size [ KB | MB | GB | TB ] ] [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % ] ] [ , OFFLINE ] ) ::= { | ADD FILEGROUP filegroup_name [ CONTAINS FILESTREAM | CONTAINS MEMORY_OPTIMIZED_DATA ] | REMOVE FILEGROUP filegroup_name | MODIFY FILEGROUP filegroup_name { | DEFAULT | NAME = new_filegroup_name | { AUTOGROW_SINGLE_FILE | AUTOGROW_ALL_FILES } } } ::= { { READONLY | READWRITE } | { READ_ONLY | READ_WRITE } } (2) 数据库的删除a) 使用脚本文件删除数据库。

命令 drop databaseb) 使用SQL Server Management Studio删除数据库直接右击该数据库,选择删除命令实验要求1. Microsoft SQL Server数据库的安装实验要求学生在微机上安装Microsoft SQL Server数据库数据库系统,为后续各个实验搭建实验环境2. 数据库创建与维护实验以LTE网络配置数据库为背景,要求面向具体应用领域,利用Microsoft SQL Server数据库相关机制,创建并维护数据库系统,为后续各个实验提供前期准备3. 要求学生根据以上要求确定实验步骤,独立完成以上实验内容并在安装和数据库运行后熟悉Microsoft SQL Server数据库的各种运行管理4. 对实验结果进行总结和分析;给出完成以上实验内容的Transact_SQL语句,并对相应的SQL语句进行分析;说明建立的数据库的相关内容,和维护后的相关属性的改变5. 实验完成后完成实验报告实验总结 在实验中有哪些重要问题或者事件?你如何处理的?你的收获是什么?有何建议和意见等等 图2.3 SQL Server安装选项界面图2.4 安装界面图2.4 SQL Server功能安装图2.6 选择所有功能和共享目录图2.7 安装SQL Server实例图2.8 SQL Server身份认证,选择混合模式图2.9 安装和配置SQL Server图2.10 安装进度图2.11 SQL SERVER的相关服务SQL Server 2012 Management登录图2.13 SQL Server Management Studio第三章 实验二 E-R建模与关系表转换实验目的 1. 理解和掌b握E-R图的基本概念。

2. 培养根据实际应用领域数据对象描述,抽取数据对象特征、关联关系等信息,设计数据库概念结构的能力 3. 选做:学习Power Designer或其它工具,进行数据模型转换和关系表的自动创建,培养软件辅助设计工具的使用能力 实验原理根据需求自动生成程序是现代软件开发的一个趋势,可以提高编程效率和降低软件错误在数据库系统设计开发中,可以利用多种数据复制工具和直接将E-R图转化成数据库表结构的工具Power Designer是一种数据库概念设计工具,它支持将数据库概念结构转化为物理结构,然后再转化为SQL脚本,从而在数据库中直接生成表结构此外还可以使用Microsoft Visio等工具做E-R图实验环境采用Microsoft SQL Server数据库管理系统作为实验平台数据库系统概念设计工具建议采用Sybase Power Designer设计工具实验内容与步骤1. 根据数据需求描述抽象出E-R图阅读《TD-LTE网络配置数据库》课程实验背景资料及数据建模-17-v3.doc,根据LTE的基本概念,分析其中的数据需求,将其描述抽象成实体和联系,并确定实体和联系的属性,特别要注意标明其主键和外键等约束关系,最终形成E-R图。

2. 将E-R图输入相关设计工具(ERWin、Power Design、SQL Server自带设计工具或者Visio等)形成概念模型3. 使用工具将E-R图转换为数据库物理结构4. 使用将物理模型转化为生成数据库中的表和视图的脚本,注意要选择数据库为SQL Server 5. 执行SQL脚本,生成表和视图 成功后,查看生成的表和视图的情况实验要求 要求在实验报告中详细记录整个过程并详细描述遇到的主要问题实验总结 在实验中有哪些重要问题或者事件?你如何处理的?你的收获是什么?有何建议和意见等等第四章 实验三 数据库表/视图的创建与维护实验实验目的1. 掌握将E-R图转换为数据库逻辑模式(关系表)的方法2. 通过进行数据库表的建立操作,熟悉并掌握在Microsoft SQL Server数据库中建立表的方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句3. 通过对Microsoft SQL Server数据库中建立、维护视图的实验,熟悉Microsoft SQL Server数据库中建立和维护视图的方法,理解和掌握视图的概念4. 掌握从Excel表向Microsoft SQL Server关系数据库导入数据的方法,利用实际数据建立TD-LTE网络配置数据库。

实验环境采用Microsoft SQL Server数据库管理系统作为实验平台实验内容与步骤1. 阅读《TD-LTE网络配置数据库》课程实验背景资料及数据建模-17-v3.doc2. 将其中数据需求转化为E-R图3. 将E-R图转化为逻辑模式(确定表结构及其属性,特别要注意标明其主键、候选键、外键等约束关系)4. 进一步明确数据类型等,将逻辑模式转化为物理模式方法有两种:a. 写好SQL脚本文件(包括多个create table、create view等命令),一次性生成这些表和视图,在Microsoft SQL Server中打开SQL脚本文件并执行b. 一条一条SQL语句执行因为这是非常基本的操作,所以一定要了解SQL语句,而不能全部使用图形界面功能来完成5. 视图定义:(1) 创建单表上的视图:a. 在表“小区/基站工参表”上创建“频点为38400的小区的基本信息”的视图tbcell38400, 属性包括(小区ID,基站ID,小区配置的频点编号,物理小区标识,小区所属基站 的经度,小区所属基站的纬度,基站类型)b. 在表“MRO测量报告数据表”上创建“服务小区参考信号接收功率大于40”的视 图MROInfo,属性包括(服务小区/主小区ID,干扰小区ID,服务小区参考信号接 收功率RSRP)。

2) 创建多表上的视图:根据优化小区表、基于MR测量报告的干扰分析表、小区切换统计性能表,创建“小 区类型为优化区的小区的邻小区ID,C2I干扰的均值、切换目标小区ID、切换成功率”视图OptCellInfo,属性包括(小区ID,小区类型,C2I干扰邻小区ID,C2I干扰的均值、切换目标小区ID,切换成功率)5. 几个重要的涉及表、视图的SQL语句a. 查看在表或视图中的所有列、在表中找到的该表上的所有索引b. alter table此语句用于修改表定义、禁用相关视图或使表能够参与复制服务器复制c. alter view此语句用于用修改的版本替换视图定义d. drop table此语句用于删除表对象e. drop view此语句用于用于删除视图6. 数据导入:(1) 将Excel表向Microsoft SQL Server关系数据库导入的方法 1> 右击所选数据库,选择“任务”--->导入数据,打开sql server导入导出向导;2> 根据向导选择数据源为EXCEL文件;4> 修改目标数据源的数据库为要导入的数据库;5> 修改表名为要导入的表;6> 编辑映射,修改数据类型(这一步可忽略,可在导入数据之后修改);7> 点击下一步直至完成;8> 导入成功。

2) 将csv文件向Microsoft SQL Server关系数据库导入的方法1> 右击所选数据库,选择“任务”--->导入数据,打开sql server导入导出向导;2> 根据向导选择数据源为平面文件源;3> 选好要导入的csv文件后,勾选“在第一个数据行中显示列名称”;4> 修改目标数据源的数据库为要导入的数据库;5> 修改表名为要导入的表;6> 编辑映射,修改数据类型;7> 在“查看数据类型映射”页面中,将“出错时”那一列由“使用全局”改为“忽略”;8> 点击下一步直至完成;9> 导入成功 数据导入成功后,可以在Microsoft SQL Server Management Studio(或者Microsoft SQL Server Management Studio)中查看表中的数据实验要求 本实验内容比较繁多,要求同学一定要进行完全的实验,并做出详尽的记录实验总结 在实验中有哪些重要问题或者事件?你如何处理的?你的收获是什么?有何建议和意见等等第五章 数据查询与修改实验实验目的对实验三中建立的GSM数据库关系表和视图进行各种类型的查询操作和修改操作,加深对SQL语言中DML的了解,掌握相关查询语句和数据修改语句的使用方法。

实验环境采用Microsoft SQL Server数据库管理系统作为实验平台实验内容1. 简单的查询操作,包括单表的查询、选择条件、结果排序等的练习;2. 复杂的查询操作,包括等值连接、自然连接等;3. 统计查询操作,包括带有分组、集函数的查询操作;4. 嵌套查询操作,包括带有in、exists、not exists、集合操作的嵌套查询;5. 练习对关系表的其他操作如插入、删除、更新;6. 练习视图查询、视图修改等视图操作实验步骤1. Basic structure of SQL Queries1.1 Query on a A Single Relation---The select, where Clause根据路测ATU数据表,使用distinct语句列出服务小区频点为38400的所有去重后的服务小区ID1.2 Query on multiple relations——The from Clause根据路测ATU C2I干扰矩阵表和路测ATU切换统计矩阵表,查询主小区ID为“238397-1”的小区的同站干扰小区ID和切换目标小区ID1.3 natural join 使用nature join语句重写1.2中的查询。

2 Additional Basic Operations2.1 The Rename Operation根据基于MR测量报告的干扰分析表,使用as语句查询所有比主小区ID为“124673-0”,邻小区ID为“259772-0”的小区间C2I干扰均值高的主小区ID、邻小区ID2.2 String Operations & 2.3 Attribute Specification根据小区PCI优化调整结果表,使用like语句查询小区名中包含“三门峡”的相关信息2.4 Ordering the Display of Tuples根据路测ATU切换统计矩阵表,查询各小区的最大切换次数及相应的切换目标小区ID,并按降序排列2.5 Where Clause Predicates根据小区/基站工参表和基于MR测量报告的干扰分析表,使用between语句查询经度位于111到112之间、纬度位于34.7到34.9之间的小区的C2I干扰的均值最大的邻小区ID3.Set Operation3.1 根据小区/基站工参表,使用union语句中查询所属城市为宜阳、频点为38544,或所属 城市为三门峡、频点为38400的小区。

3.2根据小区一阶邻区关系表和二阶(同频)邻区关系表,使用interset语句查询一阶邻区和二 阶邻区相同的小区 3.3根据一阶邻区关系表和二阶(同频)邻区关系表,使用except语句查询二阶邻区不是一阶邻 区的小区3.4 根据路测ATU C2I干扰矩阵表,使用except语句查询主小区和邻小区间干扰强度最大的小区 4. Null Values根据路测ATU数据表,查询第1邻小区/干扰小区物理小区标识不为空的服务小区ID、服务小区PCI5.Aggregate Functions5.1.根据优化小区/保护带小区表和小区一阶邻区关系表,查询一阶邻区数大于10的优化小 区,并将查询结果降序排列5.2.根据小区/基站工参表和路测ATU数据表,查询所属基站为“253903”的小区的最大信噪比SINR,最小信噪比SINR,平均信噪比SINR6. Nested (嵌套) Subqueries6.1 Set Membership根据优化小区/保护带小区表和小区PCI优化调整结果表,查询小区类型为“优化区”的小区经调整后的PCI 6.2 Set Comparison – “some” Clause1. 根据路测ATU数据表和小区/基站工参表,使用some语句查询“服务小区参考信号接收功率RSRP”大于部分(至少一个)所属基站ID为5660的小区的“服务小区参考信号接收功率RSRP”的服务小区。

2. 根据路测ATU切换统计矩阵表和MRO测量报告数据表,使用all语句查询切换次数最多 的小区的干扰小区ID,干扰小区PCI6.3 Test for Empty Relations---Use of “not exists” Clause根据路测ATU数据表和优化小区表,使用not exists语句查询小区类型不为保护带小区的第1邻小区/干扰小区的标识、第1邻小区/干扰小区频点、第1邻小区/干扰小区物理小区标识、第1邻小区/干扰小区参考信号接收强度6.4 Test for Absence of Duplicate Tuples根据基于MR测量报告的干扰分析表和路测ATU切换统计矩阵表,查询主小区ID在路测ATU切换统计矩阵表中只出现过一次的加权C2I干扰6.5 Subqueries in the From Clause根据路测ATU数据表,查询服务小区参考信号接收功率RSRP的均值大于-70的小区 6.6 With Clause根据路测ATU切换统计矩阵表和MRO测量报告数据表,使用with语句找出所有具有最低切换次数的小区的MRO测量信息6.7 Scalar Subquery——Subqueries in the Select Clause根据小区/基站工参表和一阶邻区关系表,列出频点为38400的所有小区的一阶邻区数目。

7.综合---查询语句根据小区/基站工参表和小区切换统计性能表,查询具有最多二阶邻区数的小区的最大切换成功次数、相应的切换目标小区ID、尝试切换次数8 Modification of the Database8.1 Deletion根据路测ATU切换统计矩阵表和小区切换统计性能表,删除切换次数均值小于3的小区切换性能统计数据8.2 Insertion向小区/基站工参表中插入一条新信息8.3 Updates将优化小区/保护带小区表中,小区ID为“246506-3”的小区的小区类型改为“优化区”用小区PCI优化调整结果表中“优化调整后的本小区PCI值”,替换小区/基站工参表中小区的“物理小区标识”针对路测ATU C2I干扰矩阵表表,使用case语句作出如下修改:如果主小区与干扰小区为同站小区且干扰强度排序不小于1,则干扰强度排序减1;如果主小区与干扰小区不为同站,干扰强度排序加1实验要求1. 用Transact_SQL语句完成以上操作2. 要求学生独立完成以上内容3. 实验完成后完成要求的实验报告内容实验总结 在实验中有哪些重要问题或者事件?你如何处理的?你的收获是什么?有何建议和意见等等。

第六章 实验五--数据库完整性与安全性实验实验目的1. 通过对完整性规则的定义实现,熟悉了解SQL Server数据库中实体完整性、参照完整性、断言等完整性保证的规则和实现方法,加深对数据完整性的理解2. 通过对安全性相关内容的定义,熟悉了解SQL Server数据库中安全性的内容和实现方法,加深对数据库安全性的理解实验环境采用SQL Server数据库管理系统作为实验平台SQL Server要求选用要求使用2005、2008或者2012版本,可以采用SQL Server Express、SQL Server Develop或SQL Server Enterprise等版本实验内容(一)、 完整性实验与要求:一、 添加语义约束在前面完成的实验2、3中已建立了本实验所需的11张表本实验将针对这11张表,采用alter table语句,添加主键、候选键、外键、check约束、缺省/默认值约束,并观察当用户对数据库进行增、删、改操作时,DBMS如何维护完整性约束 建表阶段,在create table语句中添加各类完整性约束的内容请自行练习1)新建主键,找到未定义主键的表,利用下面的语句建立主键:alter table 表名add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名primary key (字段名) --字段名同上(2)候选键,找到有非主键的其它候选键的表,利用下面的语句建立候选键:alter table 表名add constraint UQ_字段名unique (字段名)(3)外键约束,找到拥有主外键关系的表,利用下面的语句新建外键:alter table 表名add constraint FK_字段名--"FK"为外键的缩写foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'。

4)check约束,利用下面的语句给相关表建立约束: altertable表名 add constraint CK_字段名check(表达式)(5)缺省/默认值约束???? alter table 表名 add contraint DF_字段名 default 默认值for列名注意:根据表中数据的情况,在进行本实验的时候,可能会有冲突并且造成数据变化,为了保证表中原始数据的正确性,可以先对原表内容进行备份或者干脆新建一个数据库进行相关操作对于中间出现的冲突等情况应自行选择适当方法解决二、主键/候选键约束验证1. 选取定义了主键的关系表,如tbCell、tbAdjCell、tbOptCell等,向该表插入在主属性上取值为空的元组,观察DBMS反应;选取表中某些或某个元组,修改这些元组在主属性上的取值,或向表中插入新元组,使这些元组与表中已有其它元组的主属性取值相同,或者将选定的元组在主属性上的取值修改为null,观察系统反应2. 选取定义了候选键的关系表,向该表插入在候选键属性上取值为空的元组,观察DBMS的反应;选取表中某些或某个元组,修改这些元组在候选键属性上的取值,或插入新元组,使这些元组与表中已有其它元组的候选键属性取值相同,或者将选定的元组在候选键属性上的取值修改为null,观察系统反应;(1)将SSECTOR_ID,NSECTOR_ID设置为tbATUHandOver的候选键,并修改某一个元组的该属性值为空。

改值:将tbATUHandOver 表中SSECTOR_ID 为 '15113-129'的记录中的SSECTOR_ID修改为NULL比较在主键、候选键属性上插入null值或重复值时,DBMS的不同反应和处理方式三、外键约束验证1. 选取相互间定义了外键关联的一组表,分别在参照关系、被参照关系上,对表的主属性/外键属性作插入、删除、更新等操作,观察当其中1个表(如参照关系表、被参照关系表)在外键属性或主属性上的取值发生变化时,数据库管理系统DBMS对这些操作的反应,以及另外一个表(如被参照关系表、参照关系表)在主属性或外键属性上的取值的变化,并记录实验结果上述插入、删除、更新操作操作分为违反约束和不违反约束两种情况下面以删除为例:delete from tbOptCell 参照关系-被参照关系对可以从以下关系队中选取:tbCell, tbOptCell; tbCell, tbAdjCell; tbOptCell, tbPCIAssignment;tbCell, tbHandover; tbCell, tbC2I;注:实验时,从中选取一对即可2. 观察级联操作对外键约束的影响1)对相互间定义了外键关联关系的一组表,分别使用foreign key-referenceson delete cascadeon update cascade语句创建级联外键约束(先删除之前创建的外键,使用Alter table 中的Drop constraint参数)。

然后重新创建级联外键(使用alter table 中的add constraint …foreignkey … references … on delete/update/insert …参数)2) 分别在参照关系、被参照关系上,对表的主属性/外键属性作插入、删除、更新等操作,观察当1个表(如参照关系表、被参照关系表)在外键或主属性属性上的取值发生变化时,数据库管理系统对这些操作的反应,以及另外一个表(如被参照关系表、参照关系表)在主属性或外键属性上的取值的变化,并记录实验结果上述插入、删除、更新操作操作分为违反约束和不违反约束两种情况四、缺省/默认值约束实验 以tbAdjCell为对象,针对S_EARFCN、N_EARFCN,建立默认/缺省值约束——将这2个频点的默认值设置为38400,然后向表中插入数据1. 在现有表中添加缺省/默认值约束2. 插入一个新元组(缺少频点)3. 检查新元组的频点是否为默认值(二)、 安全性实验内容与要求:SQL Server 数据库实验:SQL Server提供了多种安全机制主要的有如下3条:1.最小权限原则:SQL Server通过给不同用户赋予不同权限的方式来保证安全。

本原则要求只给某用户完成工作所必须的权限,以尽量减小用户有意或无意的错误对数据库造成的损害2.CIA原则: C:机密性,未授权者或使用非法手段无法访问数据 I:完整性,未授权者或使用非法手段无法修改数据 A:可用性,已授权者可随时使用数据 3.深度防护:实际上任何一个程序都运行在操作系统上,一台计算机上还有其它应用程序所以SQL Server的安全不能仅仅考虑本身的安全,而必须结合操作系统安全及其它相关因素(比如杀毒软件和防火墙)来考虑这就是深度防护SQL Server仅仅运行在Windows操作系统上,允许直接使用Windows用户作为SQL Server用户,由于是同一公司的产品,其和操作系统的联系和配合特别紧密,为其它数据库所远远不及的在SQL Server服务器及其它Windows服务器上,应该进行多方面的安全配置:包括操作系统补丁管理、管理员用户和组管理、其它本地用户组管理和设置本地安全策略为了提供网络上的客户端访问,还需要进行端点等相关设置对于整个SQL Server的安全机制,我们先进行名词解释:服务器登录名:指有权限登录到某服务器的用户;服务器角色:指一组固定的服务器用户,默认有9组;· 登录名一定属于某些角色,默认为public · 服务器角色不容许更改 · 登录后也不一定有权限操作数据库 数据库用户:指有权限能操作数据库的用户;数据库角色:指一组固定的有某些权限的数据库角色;数据库架构:指数据库对象的容器;· 数据库用户对应于服务器登录名以便登录者可以操作数据库 · 数据库角色可以添加,可以定制不同权限   · 数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象 服务器角色sysadmin--在 SQL Server 中进行任何活动。

该角色的权限跨越所有其它固定服务器角色serveradmin --配置服务器范围的设置setupadmin --添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)securityadmin --管理服务器登录processadmin --管理在 SQL Server 实例中运行的进程dbcreator --创建和改变数据库diskadmin --管理磁盘文件bulkadmin --执行 BULK INSERT 语句数据库角色public--public 角色是一个特殊的数据库角色,每个数据库用户都属于它public 角色: --捕获数据库中用户的所有默认权限无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库无法除去db_owner --进行所有数据库角色的活动,以及数据库中的其它维护和配置活动该角色的权限跨越所有其它固定数据库角色db_accessadmin --在数据库中添加或删除 Windows NT 4.0 或 Windows 2000 组和用户以及 SQL Server 用户。

db_datareader --查看来自数据库中所有用户表的全部数据db_datawriter --添加、更改或删除来自数据库中所有用户表的数据db_ddladmin --添加、修改或除去数据库中的对象(运行所有 DDL)db_securityadmin --管理 SQL Server 2000 数据库角色的角色和成员,并管理数据库中的语句和对象权限db_backupoperator --有备份数据库的权限db_denydatareader --拒绝选择数据库数据的权限db_denydatawriter--拒绝更改数据库数据的权限然后来理解这些概念之间的关系:sqlserver里面的数据库级别设置:服务器级 -> 数据库级 -> 架构级 - > 数据对象级,比如说:Server.DataBase1.dbo.Table1;这里的意思就是Table1这个表属于dbo这个架构,dbo这个架构属于DataBase1这个数据库,DataBase1这个数据库属于Server这个服务器里面的架构其实就是一个容器,好像就是面向对象里面的命名空间,一个用户可以拥有多个架构,但是不能对没有拥有的架构进行操作。

角色,角色意味着一种身份,一个角色通常拥有一系列权限一个数据库角色,可能包含对不同架构里面数据对象的一系列权限,就是有可能涉及到多个架构服务器登录名,指有权限登录到某服务器的用户,可以在有权限的情况下创建新的登录名,超级管理员的登录名是sa服务器角色,服务器的身份,拥有一组服务器权限,可以将一些登录名授予该角色;另外登录名一定属于某个或某些角色,默认为public 我们登录后也不一定有权限操作数据库 数据库用户,指有权限能操作数据库的用户;· 数据库角色,数据库上的某种身份,有一组数据库权限;数据库角色可以添加,可以定制不同权限数据库架构,指数据库对象(表)的容器;类似于数据库对象的命名空间,用户通过架构访问数据库对象我们用服务器登录名登录后,由于其与一个或多个数据库用户有对应关系,则登录者可以以该对应数据库用户的权限操作相关的一个或者多个数据库登录名与用户在服务器级是一对多的,而在数据库里是一对一的比如说Server这个服务器上有4个数据库,DB1,DB2,DB3,DB4,每个数据库都有一个用户USER1,USER2,USER3,USER(不同数据库上可以有同名用户),再创建一个登录名my的时候可以通过用户映射的操作,为这个登录名在每一个具体的数据库中指定用户,比如可以如下指定my在DB1中的用户是USER1,在DB2上就是User2,而在DB3上又是USER1.则my在Db1上就是User1,而不能变化为User2,除非重新指定它对DB1数据库的用户映射为user2。

总结为:1.一个数据库用户可以对应多个架构(架构是表容器)架构里面包含的是数据库表2.一个数据库角色有可能涉及多个架构数据库角色对应的是一组权限3.一个用户对应一个数据库角色4.登录名与数据库用户在服务器级别是一对多的;在数据库级别是一对一的5.服务器登录最后会映射为某个数据库用户6.一个服务器角色会被授予某些服务器登录现在有3种登录名:windows域登录名(就是域用户),windows本地登录名(本地用户)和SQL Server登录名用户登录以后,SQL Server将其映射为自己的user,进行相应安全管理从而提供了两种身份认证模式:Windows认证模式和SQL Server认证模式1.Windows认证模式SQL Server数据库系统通常运行在NT服务器平台或基于NT 构架的Windows server上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,所以Windows认证模式正是利用这一用户安全性和账号管理的机制,允许SQL Server也可以使用NT的用户名和口令在该模式下,用户只要通过Windows的认证就可连接到SQL Server,而SQL Server本身也不需要管理一套登录数据。

2.SQL Server认证模式在SQL Server认证模式下,用户在连接到SQL Server时必须提供建立在SQL Server上的用户名(登录名)和登录密码,这些登录信息存储在系统表syslogins中,与NT的登录账号无关SQL Server自己执行认证处理,如果输入的登录信息与系统表syslogins中的某条记录相匹配则表明登录成功注:该方式常用于系统开发中,因为客户机常常与服务器不是同一台计算机,甚至也不在同一个windows域中,所以使用该方式进行登录比较方便实验内容:(1) 以DBA身份(可以是SQL Server上的sa或者windows上的系统管理组的某个成员)登陆系统,在图形界面下创建新登录,在安全性选择登录,然后新建登录用户,可以使用Windows认证模式和SQL Server认证模式选择Windows认证登录则必须添加已经存在的Windows本机或者域上的用户或者用户组通常选择搜索,然后选择高级和立即查找,找到实际存在的Windows用户或者组最后可以选择默认数据库为当前使用的数据库,而不是默认的系统数据库2) 使用T-SQL命令create login login-name …和create login login-name from windows重复第1步的内容。

Syntax for SQL Server CREATE LOGIN login_name { WITH | FROM } ::= PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ] [ , [ ,... ] ] ::= SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} | CREDENTIAL = credential_name ::= WINDOWS [ WITH 。

下载提示
相关文档
正为您匹配相似的精品文档