数据库高级应用_第1页
数据库高级应用_第2页
数据库高级应用_第3页
数据库高级应用_第4页
数据库高级应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——数据库高级应用数据库高级应用结课论文

学院:计算机科学与技术学院专业:信息管理与信息系统姓名:学号:

一、SQLserver2023概述

SQLServer2023出现在微软数据平台愿景上是由于它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观测和信息给所有用户的成本。这个平台有以下特点:可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观测和信息。

二.课程主要内容和基本原理:

(一).数据库系统:数据库系统,是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

数据库系统寻常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创立、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、履历较深的人员担任。

数据的结构化,数据的共享性好,数据的独立性好,数据存储粒度小,数据管理系统,为用户提供了友好的接口。

数据库系统的核心和基础,是数据模型,现有的数据库系统均是基于某种数据模型的。数据库系统的核心是数据库管理系统。

数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。(二).数据库管理系统:

数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL与数据操作语言,供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。1.数据定义:DBMS提供数据定义语言DDL,供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(DataDictionary)中。

2.数据操作:DBMS提供数据操作语言DML,供用户实现对数据的追加、删除、更新、查询等操作。

3.数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能

保证了数据库系统的正常运行。

4.数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择适合的存取方法提高存取效率。

5.数据库的保护:数据库中的数据是信息社会的战略资源,随数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调理机制等。

6.数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

7.通信:DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应当包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。(三).SQLServer数据库:

MicrosoftSQLServer是一个高性能的、多用户的关系型数据库管理系统;它是专为客户/服务器计算环境设计的,是当前最流行的数据库服务器系统之一;它提供的内置数据复制功能、强盗的管理工具和开放式的系统体系结构为基于事务的企业级信息管理方案提供了一个卓越平台。

在SQLServer数据库中、数据被组织为用户可以看得见的规律部件,这些规律组件主要包括基本表、视图、存储过程、触发器和用户等。

SQLServer将用户可以看得到的这些规律组件物理地存储在磁盘上的操作系统文件中。作为普通用户只需要关心规律组件的存在,二它们的物理实现在很大程度上是透明的,一般只有数据库管理员需要了解和处理数据库的物理实现。每个SQLServer实例包括四个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库。根据定义的安全权限,每个SQLServer实例都可以使所有连接到实例的用户使用该实例上的所有数据库。

数据库是建立在操作系统文件上的,SQLServer在发出CREATEDATABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATEDATABASE命令成功以后,在物理上和规律上都建立了一个新的数据库;然后就可以在数据库中建立各种用户所需要的规律组件,如基本表、视图等。

本学期学习内容:1数据库的创立和管理2数据表的创立和管理3表中数据的操作4

视图的创立和使用5索引的创立和使用6存储过程的创立和使用7触发器的创立和使用目的:把握使用SQLServer2023开发数据库系统的方法

内容:创立表1.在STUDENT数据库中创立一个名为t_course(课程信息)的表,要求如下:c_numberchar(10)primarykey,c_namechar(30),hoursint,creditreal;2.在STUDENT数据库中创立一个名为t_score(学生成绩)的表要求如下:s_numberchar(10)取值范围:数据来自学生信息表主键,C_numberchar(10)取值范围:数据来自课程信息主键,Scorereal取值范围:0~100.创立约束

索引的创立(1)-在Student学生表上按学号升序创立唯一索引(2)验证索引已被创立:简单查询(3)创立所有女同学的视图(4)--查询年龄不大于20岁的女生(5)建计算机系学生视图(6)--查询计算机系01号课程考取最高分的学生(7)创立计算机系选修数据结构的学生成绩视图(8)查询数据结构成绩高于90分的学生记录(9)创立学生年龄的视图(10)查询年龄在全体学生平均年龄以上的学生记录(11)建立各系每个学生平均分的视图(12)在在视图vwAVG_Grade上建立新的视图,显示学生详细的信息(13)查询各系最高平均分(14)--利用视图更新基本表索引的总结有关索引的使用规则:1、表的主键、外键必需有索引;2、经常与其他表进行连接的表,在连接字段上应当建立索引;3、经常出现在Where子句中的字段,特别是大表的字段,应当建立索引;4、索引应当建在选择性高的字段上;5、索引应当建在小字段上,对于大的文本字段甚至超长字段,不要建索引;6、复合索引的建立需要进行细心分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?假使是,则可以建立复合索引;否则考虑单字段索引;C、假使复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;D、假使复合索引所包含的字段超过3个,那么细心考虑其必要性,考虑减少复合的字段;E、假使既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;7、频繁进行数据操作的表,不要建立太多的索引;8、删除无用的索引,避免对执行计划造成负面影响;存储过程1:.创立不带参数的存储过程方法1:利用对象管理器创立不带参数的存储过程(2):依次开启———,如下图所示:(2):右键单击,如下图所示:(3):点击后即出现下面所示的窗口:(4):我们适当修改即可创立一个触发器,此处和下面用SQL代码创立的差不多,就不在赘述了。方法2:使用SQL-Transact创立不带参数的存储过程--开启数据库SC学习USESC学习GO

IFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看女生的信息'ANDTYPE='P')DropPROCPR_查看女生的信息GO--创立一个不带参数的存储过程CREATEProcPR_查看女生的信息ASBEGINSELECT*FROMStudentWhereSsex='女'END--开启数据库SC学习USESC学习GO--执行PR_查看女生的信息存储过程EXECPR_查看女生的信息2:创立带参数的存储过程方法1:利用对象资源管理器创立带参数的存储过程方法和前面的一样,这里也不再说了……方法2:使用SQL-Transact创立带参数的存储过程--开启数据库SC学习USESC学习GOIFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看学生的信息'ANDTYPE='P')DropPROCPR_查看学生的信息GO--创立一个带参数的存储过程CREATEProcPR_查看学生的信息@xbchar(2)ASBEGINSELECT*FROMStudentWhereSsex=@xbEND--开启数据库SC学习USESC学习GO--执行PR_查看学生的信息存储过程EXECPR_查看学生的信息'女'方法1:利用对象资源管理器创立存储过程(1):依次开启———,如下图所示:(2):右键单击,如下图所示:(3):点击后即出现下面所示的窗口:(4):我们适当修改即可创立一个触发器,此处和下面用SQL代码创立的差不多,就不在赘述了。方法2:使用SQL-Transact创立参数的存储过程--开启数据库SC学习USESC学习GOIFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看学生的信息_学号'ANDTYPE='P')DropPROCPR_查看学生的信息_学号GO--创立一个带参数的存储过程CREATEProcPR_查看学生的信息_学号@xhvarchar(10)ASBEGINSELECT*FROMStudentWhereSno=@xhEND--开启数据库SC学习USESC学习GO--执行PR_查看学生的信息存储过程EXECPR_查看学生的信息_学号'202381015'2、触发器练习1:在数据库SC学习的表Student上建立一个名为TR_阻止更新Student表的UPDATE触发器,该触发器将被UPDATE操作激活,该触发器不允许用户修改Student表中的数据。--开启数据库SC学习USESC学习GOIFEXISTS(SELECTnameFROMsysobjectsWherename='TR_阻止更新Student表'ANDTYPE='P')DropPROCTR_阻止更新Student表GO--创立一个带参数的存储过程CREATETRIGGERTR_阻止更新Student表ONStudentINSTEADOFUpdateASBEGINPRINT'触发器开始执行……'PRINT'阻止修改Student表!'END--开启数据库SC学习USESC学习GO--验证触发器TR_阻止更新Student表UpdateStudentSETSname='张三'WHERESno='202381015'

练习2:修改stu_tril3中的语句,使该触发器不允许用户修改xm一列的值,但其他列的值可以允许被修改。--开启数据库SC学习USESC学习GO--修改student_tri3中的语句,使该触发器不允许用户修改xm一列的值,但其他列的值可以允许被修改。IFEXISTS(SelectnameFromsysobjectsWherename='TR_不容许修改Sname'ANDTYPE='TR')DROPTriggerTR_不容许修改SnameGO--创立[TR_不容许修改Sname]触发器CREATETRIGGERTR_不容许修改SnameONStudentFORUPDATEASGOif(Update(Sname))BeginPRINT'INSTEADOF触发器开始执行……'PRINT'Student表中的Sname列不容许更新……'RollbacktransactionEND--开启数据库SC学习USESC学习GO--更新Student表UPDATEStudentSETSname='张三'whereSno='202381013'三.心得体会:

在大三的下学期刚学了数据库这门课,对这门课的第一印象是书本蛮厚的,感觉学起来应当会很难很累。在学习这门课的过程中,在对数据库的了解过程中,渐渐对数据库有了感观。数据库这一词并不是很难想象,并不是像外人看来很巧妙。作为计算机专业的学生,这样的专业术语或者专业知识是最基本的。学习的时候没有想象中的那么难,只要上课能听懂就基本还可以。但是问题还是出在书本有点厚,有的时候上课的内容

温馨提示

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

评论

0/150

提交评论