1、2018/6/19,1,数据库系统与应用开发,2,2018/6/19,本课程的主要内容,关系数据库理论知识SQL SERVER数据库的创建与管理T-SQL编程数据库的安全管理和备份,3,2018/6/19,推荐参考教材,李丹 赵占坤等编著. SQLServer2005数据库管理与开发实用教程.机械工业出版社,2012.01毛应爽,赵惠玲,孟宪颖 主编. SQLServer 2005程序设计与管理基础同步实训教程.清华大学出版社,2009.12(英)C.J.Date著 孟小峰 王珊等译数据库系统导论. 机械工业出版社, 2007,7徐孝凯,贺桂英. 数据库基础与SQLServer应用开发.清华大
2、学出版社,2008,4,2018/6/19,4,第1章 SQL Server2005概述,5,2018/6/19,学习要点,关系数据库基本概念SQL Server 2005 的版本、组件和特性SQL Server 2005 的安装、启动和退出SQL Server 2005 常用工具的使用,6,2018/6/19,第1章 SQL Server2005概述,数据库基础知识,1,SQL Server 2005 简介,2,SQL Server 2005 安装,3,SQL Server 2005常用工具,4,创建服务器组和注册服务器,5,7,2018/6/19,1.1 数据库基础知识,当今社会是一个信息
3、社会,我们每天的工作、学习和生活都会接触到大量的信息。如雇员信息、工资报表、学生信息、课程信息、考试成绩等,通常我们将这些数据分门别类地保存在表格中。如果雇员数量很多,用户必须借助于工具以简化数据管理和数据查询的工作。用户可以将这些表格保存到计算机中,计算机不但能保存数据,还能对数据进行管理和维护数据库(DataBase,DB)。,8,2018/6/19,数据库应用案例,当当网、亚马逊、京东、淘宝等经营销售数万种图书和其它商品。其中销售系统扮演了重要角色。该系统提供了图书的购买入库、查询、销售及汇总等功能。从管理者的角度,该系统大大节省了管理维护图书的时间和费用,大大减轻了账务处理的负担;从购
4、物者的角度,也大大缩短了寻找商品的时间。在网上,只有你想不到的,没有你买不到的东东。,9,2018/6/19,认识数据库,数据库(Data Base)是按照数据结构来组织、存储和管理数据的仓库,是存储在一起的相关数据的集合。其优点主要体现在以下几方面:(1)减少数据的冗余度,节省数据的存储空间(2)具有较高的数据独立性和易扩充性。(3)实现数据资源的充分共享。,10,2018/6/19,下面介绍一下与数据库相关的几个概念。1)数据库系统:2)数据库管理系统DBMS DBMS是数据库系统的重要组成部分,位于用户与操作之间的一个数据管理软件,负责数据库中的数据组织、操纵、维护和服务等,如今的数据库
5、管理系统大多数都是建立在关系模型上的,因此称为关系型数据库管理系统(Ralation DataBase Management System,RDBMS),11,2018/6/19,为数据模式的物理存取与构建提供有效的存取方法与手段。,为用户使用数据库的数据提供方便,如查询、插入、修改、删除以及简单的算术运算和统计。,用户可以通过DBMS提供的数据定义语言方便地对数据库中的对象进行定义。,DBMS统一管理数据库的运行和维护,以保障数据的安全性、完整性、并发性和故障的系统恢复性。,DBMS能够完成初始数据的输入和转换、数据库的转储和恢复、数据库的性能监视和分析等任务。, 数据存取的物理构建 数据操
6、纵功能 数据定义功能 数据库的运行管理 数据库的建立和维护功能,DBMS主要有5个方面的功能:,12,2018/6/19,数据库系统(Data Base System,DBS)是采用数据库技术的计算机系统,是由以下5部分构成的运行实体 : 数据库(数据) 数据库管理系统(DBMS,软件) 数据库管理员(DBA,人员) 硬件平台(硬件) 软件平台(软件),数据库系统的组成,数据库管理员(Data Base Administrator,DBA)是对数据库进行规划、设计、维护和监视等的专业管理人员,在数据库系统中起着非常重要的作用。,13,2018/6/19,关系数据库,是支持关系模型的数据库。关系
7、模型由3部分组成: 关系数据结构:现实世界的实体以及实体之间的联系均用关系表示。 关系操作集合 :分为关系代数、关系演算、具有关系代数和关系演算双重特点的语言(SQL)。 完整性约束 :实体完整性、参照完整性和用户定义完整性。,14,2018/6/19,1.1.1数据库的产生历史,1人工管理阶段数据不长期保存;系统中没有对数据进行管理的软件,由应用程序管理数据,数据是面向程序的,数据不具有独立性;数据不能共享。 2文件管理阶段 程序与数据有了一定的独立性,程序和数据分开存储,有了程序文件和数据文件的区别;数据文件可以长期保存;有一定的共享性;但数据冗余度大,缺乏数据独立性。,15,2018/6
8、/19,3数据库系统阶段 数据库技术能有效的管理和存取大量的数据,避免了以上两阶段的缺点,实现数据共享,减少数据冗余;采用特定的数据模型;具有较高的数据独立性;有统一的数据管理和控制功能。满足了多用户、多应用共享数据的需求,比文件系统具有更明显的优点,标志着管理技术的飞跃。数据库系统又经历了三个阶段:层次数据库、网状数据库和关系数据库。 桌面型关系数据库:FoxBase、Visual Foxpro 、Access等 大型关系数据库管理系统有: SQL Server、DB2、Oracle、Sybase、Informix等。,16,2018/6/19,1.1.2关系数据库的介绍,关系型数据库是一些
9、相关的表和其他数据库对象的集合。这个定义包含了三层含义: 1)关系数据库中,信息被保存在二维表格中,称之为表(Table)。一个关系型数据库包含多个数据表,每个表又包含行(记录)和列(字段)。,17,2018/6/19,2)表和表之间是相互关联的。表与表之间可以通过公共字段(关键字)建立关系。关键字分为:主关键字(简称主键) 外部关键字(简称外键)主键是指表中的一列或多列的组合,该列的值可以唯一的标识表中的记录。 外键是指表B中含有与另一个表A的主键相对应的列,那么该列在表B中称为外键。,18,2018/6/19,表和表之间有下列关系:,一对一关系(1:1) 表A中的一条记录在表B中有一条记录
10、与之对应。反过来,表B中的一条记录在表A中仅有一条记录与之对应。 一对多关系(1:n) 表A中的一条记录在表B中有多条记录与之对应。反过来,表B中的一条记录在表A中仅有一条记录与之对应。 多对多关系(m:n) 表A中的一条记录在表B中有多条记录与之对应。反过来,表B中的一条记录在表A中也有多条记录与之对应。,19,2018/6/19,3)数据库中不仅包含表,而且还包含其他对象,如视图、存储过程、索引等。,20,2018/6/19,1.1.3关系数据库的设计,数据库设计的主要任务,是通过对现实世界中的数据进行抽象,得到符合现实世界要求的、能被DBMS支持的数据模型。本节通俗的介绍关系数据库的设计
11、方法,将在下节介绍关系数据库规范化理论。1.1.3.1 设计的步骤 需求分析:通过调查、收集和分析,明确用户对数据库的要求。概念结构设计 :对需求分析得到得用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。在此步骤设计实体-关系模型,即E-R图。E-R图的三大要素是:实体、属性、关系。,21,2018/6/19,数据库的逻辑设计:将E-R图转化为关系模型。即生成表,并确定表中的列。 数据库的物理设计 :是将一个满足用户信息需求的已确定的逻辑数据库结构转化为一个有效的、可实现的物理数据库结构的过程。数据库性能的优化:改进读、写性能。,设计原则,22,2018/6/19,1.1.
12、3.2 实体-关系模型(E-R图),实体-关系模型是基于对象的模型,描述整个组织的概念模型,而不考虑数据库的物理设计及性能。它提供了表示实体、属性和关系的方法。E-R图的表示方法为: 实体:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 关系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上关系的类型(1:1,1 : n或m : n)。如图1-4所示的E-R图表示了学生和课程之间的关系。,23,2018/6/19,购物联系ER图示例,实际上还隐含了哪个实体?,24,2018/6/19,学生选课ER图,25,2018
13、/6/19,1.1.3.3 设计的原则,一个表描述一个实体或实体间的一种联系。 实体:客观存在并可相互区分的事物。 避免表之间出现重复字段。表中的字段应是原始数据和基本数据元素。 表中不应包括通过计算得到的列。表中应有主键来唯一的标识表中的记录。用外键保证表之间的关系。,26,2018/6/19,1.1.3.4 数据库设计举例,27,2018/6/19,28,2018/6/19,1.1.4 关系数据库的规范化,规范化是一个减少关系数据库中数据冗余的过程。 冗余将导致以下问题:在数据插入、更新和删除时可能会导致数据的不一致;由于数据的重复存储更有可能发生不一致错误;浪费磁盘空间等。因此,在数据库
14、设计时,还可以对数据库中的表进行规范化处理,以确保数据库更加规范。规范化是一个通过使用某些规则,将复杂的表结构拆分成简单表结构的方法。规范化使得表的构成能够满足某些指定的规则并且代表某些范式。,29,2018/6/19,给定一个关系R(表也可称为关系),如果R中的属性B的每个值完全与属性A的值相关联,则称属性B函数依赖于属性A。换句话说,如果对于属性A的每个值来说,只有一个B值与其相关联,则属性A函数决定属性B。第一范式(1NF) 设一个关系为R(U),若U中的每个属性都是不可再分的,或者说都是不被其他属性所包含的独立属性,则称关系R(U)是符合第一范式的。 关系数据库中的每个关系都必须达到第
15、一范式,这是对关系数据库的最起码要求。若一个关系不满足第一范式,则称为非规范化的关系,否则称为规范化的关系。,30,2018/6/19,符合1NF表 示例,第一范式就是每一个属性都不可再分。不符合第一范式则不能称为关系数据库。,哪一个字段可以再分?Address是可以再分的,比如”北京市XX路XX小区XX号”,着显然不符合第一范式,对其应用第一范式则需要将此属性分解到另一个表如下:,一个关系如果只满足1NF,那可能会带来数据冗余和操作异常 。,31,2018/6/19,主键是什么?是否符合第一范式? 是否有数据冗余?,学生选课关系,32,2018/6/19,学生关系S 课程关系C,如何将两张表
16、联系起来呢?,33,2018/6/19,选课关系SC,上表中的字段有什么特点?与前两张表的关系,34,2018/6/19,第二范式(2NF),设一个关系为R(U),它是满足第一范式的,若R中非主属性完全依赖于主关键字,即不存在非主属性对主键的部分函数依赖,则称该关系是符合第二范式的。 若一个数据库中所有关系都达到了第二范式则称该数据库是符合第二范式的。,35,2018/6/19,符合2NF表示例,简单的说,2NF是表中的属性必须完全依赖于全部主键,而不是部分主键,所以只有一个主键的表如果符合第一范式,那一定是第二范式。目的是进一步减少插入异常和更新异常。在上表中,哪个字段部分依赖于主键?dep
17、artmentDescription是由主键DepartmentName所决定,但却不是由主键EmployeeID决定,所以departmentDescription只依赖于两个主键中的一个,故departmentDescription对主键是部分依赖,对其应用第二范式如下表:,36,2018/6/19,一个关系若只满足第二范式,没有满足第三范式,则仍然存在着由传递依赖带来的数据冗余和操作异常问题。,37,2018/6/19,学生信息表,符合第几范式?,38,2018/6/19,学生表,系 表,39,2018/6/19,(3)第三范式(3NF),设一个关系为R(U),它是满足第二范式的,每个非
18、主属性仅函数依赖于主关键字,即不存在传递依赖时,则称该关系是符合第三范式的。 一个关系中的部分函数依赖也是一种传递依赖。若关系R中不存在非主属性对主键的传递函数依赖,就包括不存在部分函数依赖。因此,一个关系若达到了第三范式,则自然也就包括达到了第二范式。,40,2018/6/19,符合3NF的表 示例,简单的说,第三范式是为了消除数据库中关键字之间的依赖关系;在上面经过第二范式化的表中,哪个字段存在冗余?jobDescription(岗位职责)是由job(岗位)所决定,则jobDescription依赖于job,可以看出这不符合第三范式,对表进行第三范式后的关系图为:,41,2018/6/19
19、,1.1.5 关系数据模型的特点及约束,采用关系模型建立数据库系统具有以下特点,也称为优点:数据结构单一采用集合运算数据完全独立数学理论支持关系中的约束如下:实体完整性约束:约束关系的主键中属性值不能为空;参照完整性约束:关系之间的基本约束;用户定义的完整性约束:反映了具体应用中数据的语义要求。,42,2018/6/19,1.1.6常见关系数据库,1.1.6.1Access数据库 Microsoft Access是当前流行的关系型数据库管理系统之一,其核心是Microsoft Jet数据库引擎。 能满足小型企业客户/服务器解决方法的要求。,43,2018/6/19,1.1.6.2SQL Ser
20、ver 2000数据库,SQL Server是由微软公司开发的一个大型的关系数据库系统,它为用户提供了一个安全、可靠、易管理的高端客户机/服务器数据库平台。,44,2018/6/19,1.1.6.3SQL Server 2005数据库,(1)统一的开发环境 与VisualStudio2005 拥有一个统一的开发环境,为集成于其中的编程模型能够提供一个整体的解决方案,使得程序开发语言、产品配置环境和数据操作这3种专业技能紧密地结合起来,对应用程序的可用性、性能、安全性和可伸缩性带来全面提升。 (2).NET框架集成 SQL Server 2005的核心由.NET Framwork 2.0构成。数
21、据库的工具整合了开发环境,有利于数据库的程序开发。,45,2018/6/19,1.1.6.4Oracle数据库,Oracle是ORACLE(甲骨文)公司提供的以分布式数据库为核心的一组软件产品。 具有完整的数据管理功能,包括数据的大量性、数据保存的持久性、共享性和可靠性。在并行处理、实时性、数据处理速度方面都有较好的表现。 适用于大型企业作后台数据库来处理海量数据。,46,2018/6/19,1.2 SQL Server 2005的简介,1.2.1SQL Server 2005历史 Microsoft SQL Sever 2005 是Microsoft公司开发的功能强大的关系数据库管理系统。
22、SQL Sever 诞生于1988年 。 1993年,SQL Server 4.2 发布。 1995年,推出了SQL Server 6.0版本。 1996年,推出了SQL Server 6.5版本。 1998年,推出了SQL Server 7.0版本 。 2000年,推出了SQL Server 2000版本。 2005年,推出了SQL Server 2005版本。 至 今: SQL Server 2008、 SQL Server 2010、SQL Server 2012,47,2018/6/19,1.2.2 SQL Server 2005 的版本与组件,1. SQL Server 2005的版
23、本 企业版 标准版 工作组版 开发版 精简版,48,2018/6/19,49,2018/6/19,了解用户账户和身份验证模式 (补充),SQL Server 2005是在Windows中作为网络服务来运行,而在网络中的服务只能由一些特定的账户进行管理,所以需要给SQL Server 2005指派Windows中的用户账户进行管理。 Windows中的用户账户包括了本地系统账户以及域用户账户。,50,2018/6/19,如果想在客户机上连接服务器,就需要使用账户与其所对应的密码登录服务器,这个过程就是身份验证。 SQL Server 2005不仅可以使用Windows中的用户账户登录管理(Win
24、dows身份验证模式),也可以在数据库中创建用户账户进行登录和管理(混合身份验证模式)。,51,2018/6/19,2SQL Server 2005 组件 SQL Sever 2005 是用于大规模联机事务处理 (OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。与SQL Server以前的版本不同,SQL Server 2005集成了.Net Framework框架,它包含许多组件,每个组件提供特定的服务。 1)数据库引擎 2)分析服务 3)报表服务 4)集成服务,52,2018/6/19,1.2.3 SQL Server 2005 的新特性
25、,1数据库引擎增强功能2Notification Services增强功能3Reporting Services增强功能4新增的Service Broker5数据访问接口方面的增强功能6Analysis Services的增强功能(SSAS)7Integration Services的增强功能8复制增强9工具和实用工具增强功能,53,2018/6/19,1.2.4客户机/服务器和 浏览器/服务器,1.客户机/服务器体系结构 (Client/Server,C/S) 客户机/服务器体系结构的应用又被称作分布式应用,54,2018/6/19,2浏览器/服务器体系结构 (Browser/Server,
26、B/S)由Browser(浏览器)、Web服务器、数据库服务器三层结构所组成。在这三层中,Web服务器担任中间层应用服务器的角色,它是连接数据库服务器的通道。在BS体系结构系统中,无需在每台计算机上安装专门的软件:用户通过浏览器向Web服务器发出请求;服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器;而其余的工作如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行全部由Web服务器完成。,55,2018/6/19,1.3 SQL Server2005的安装,SQL Server 2005 安装程序可以安装 SQL Server 的新实例或升级现有实例。多实例是指在
27、同一台计算机上安装的多个SQL Server 服务器。实例可分为默认实例和命名实例。默认实例:使用计算机在网络上的名字来命名的实例。例如:一台计算机在网络上的名字是HBSI,则这台计算机上运行的SQL Server服务器默认实例就是HBSI。一台计算机上只能有一个默认实例存在。命名实例:通过计算机在网络上的名字加上实例名字来进行标识,如:计算机名实例名。在同一台计算机上可以运行多个命名实例。,56,2018/6/19,1.3.1 安装SQL Server2005系统需求1.3.2 SQL Server 2005的安装过程1.3.3 SQL Server 2005的启动、暂停和退出,57,201
28、8/6/19,1.4SQL Server 2005常用工具,1.4.1SQL Server Management Studio(SSMS) SQL Server Management Studio是一个集成的环境,用于访问、配置和管理所有SQL Server 组件。它 组合了大量图形工具和丰富的脚本编辑器,是开发和管理SQL Server数据库对象的有力工具。利用SSMS可以完成对SQL Server 2005的管理,如创建服务器组、注册服务器、配置服务器选项、创建和管理各种数据库对象,并可以调用其他管理工具。,58,2018/6/19,59,2018/6/19,1.4.2SQL Server
29、 Business Intelligence Development Studio,SQL Server Business Intelligence Development Studio提供了开发商业智能解决方案的环境的工具。通过解决方案帮助企业进行商业预测,制定战略决策和未来生产计划。Business Intelligence Development Studio可以创建下面类型的解决方案: 数据集成;数据集分析、数据报告。1.4.3 SQL Server 配置管理器 SQL Server配置管理器是数据库管理员管理与 SQL Server 相关联的服务。默认情况下,全文搜索、SQL Ser
30、ver代理、集成服务都没有启动 。,60,2018/6/19,1.5创建服务器组和注册服务器,1.5.1创建服务器组 例1.1 在SQL Server Management Studio中创建一个新的SQL Server服务器组,名称为NewGroup。,61,2018/6/19,1.5.2注册服务器,例1.2 假设本地计算机上有一个SQL Server实例,实例名为“SecondServer”。在上题创建的服务器组中注册此实例。,62,2018/6/19,小结,本章主要讲述了关系型数据库的基础知识:数据库系统的组成、关系数据库的规范化及设计原则、ER图等 ;SQL Server 2005的发
31、展历史、版本与组件及新特性;客户/服务器、浏览器/服务器体系结构;SQL Server 2005的启动、暂停和退出;SQL Server 2005的常用工具;创建服务器组和注册新的服务器。,63,2018/6/19,习 题,1关系数据库的主要构成要素有哪些?2简述数据库表之间的三种关系,并举例。3简述Client/Server、Browser/Server的概念。4如何启动、暂停和退出SQL Server服务?5如何使用SQL Server Management Studio新建服务器组和注册服务器?,2018/6/19,64,谢谢使用,再见 !,,65,2018/6/19,66,2018/6
32、/19,安装SQL Server 2005服务器,图2.1开始界面,67,2018/6/19,图2.2 “最终用户许可协议”对话框,68,2018/6/19,图2.3 “安装必备组件”对话框,69,2018/6/19,图2.4 必备组件安装后,70,2018/6/19,图2.5 SQL Server安装向导,71,2018/6/19,图2.6 系统配置检查完成后,72,2018/6/19,图2.7 “注册信息”对话框,73,2018/6/19,图2.8 “要安装的组件”对话框,74,2018/6/19,图2.9 “实例名”对话框,75,2018/6/19,图2.10 “服务账户”对话框,76,
33、2018/6/19,图2.11 “身份验证模式”对话框,77,2018/6/19,图2.12排序规则设置” 对话框,78,2018/6/19,图2.13 “报表服务器安装选项”对话框,79,2018/6/19,图2.14 “错误和使用情况报告设置”对话框,80,2018/6/19,图2.15 “准备安装”对话框,81,2018/6/19,图2.16 “安装进度”对话框,82,2018/6/19,图2.17 “完成Microsoft SQL Server 2005”对话框,83,2018/6/19,图2.18 提示放入光盘2的对话框,84,2018/6/19,图2.21“许可协议”对话框,85,2018/6/19,86,2018/6/19,87,2018/6/19,