《设计和创建数据库》PPT课件.ppt

上传人:w****2 文档编号:16574618 上传时间:2020-10-14 格式:PPT 页数:33 大小:294.84KB
返回 下载 相关 举报
《设计和创建数据库》PPT课件.ppt_第1页
第1页 / 共33页
《设计和创建数据库》PPT课件.ppt_第2页
第2页 / 共33页
《设计和创建数据库》PPT课件.ppt_第3页
第3页 / 共33页
点击查看更多>>
资源描述
第 3章 设计和创建数据库 数据库是所有数据库对象的承载,也是 SQL Server 2008相 关知识学习的起点。本章将重点学习使用 SQL Server 2008进行设计和创建的方法。首先介绍数据库设计的相 关内容:模型结构、关系与范式。接下来讲述 SQL Server 2008中的系统数据库,以及它们在 SQL Server 2008中的使用和所提供的管理作用,最后讲述如何创建 用户数据库和有关数据库的管理。 3.1 数据库设计 模型与结构 现实世界中,个体间总存在着某些联系。反映到信息世界中 ,就是实体的联系,由此构成实体模型。反映到数据库系 统中,是记录间的联系。将实体模型数据化,转化成数据 模型,这个过程就是我们抽象实际数据和设计数据库的过 程。 3.1.1 数据模型的基本概念 在数据库中,用数据模型( Data Model)这个工具来抽象、 表示和处理现实世界中的数据和信息。通俗地讲,数据 模型就是现实世界的模拟。根据应用目的,模型分为两 个层次。 3.1.2 层次模型 层次数据模型的优点:数据模型比较简单,操作方便;对干 实体间联系是固定的,且预先定义好应用系统,性能较 高;提供良好的完整性支持。层次数据模型的缺点:不 适合于表示非层次性的联系;对插入和删除操作的限制 比较多; 查询子女节点必须通过双亲节点;由于结构严 密,层次命令趋于程序化。 3.1.3 网状模型 网状数据模型是一种比层次模型更具普遍性的结构。它去掉 了层次模型的两个限制,允许多个节点没有双亲节点, 允许节点有多个双亲节点。此外,它允许两个节点之间 有多种联系 复合联系 )。 网状数据模型的优点:能够更为直接地描述现实世界;具有 良好的性能,存取效率较高。 网状数据模型的缺点:其数据定义语言极其复杂;数据独立 性较差。由于实体间的联系本质上是通过存取路径指示 的,因此应用程序在访问数据时要指定存取路径。 3.1.4 关系模型 1关系模型的操作与完整性约束 关系数据模型的操作主要包括查询、插入、删除和更新数据。 2关系模型的优、缺点 关系数据模型的优点如下: 关系模型是建立在严格的数学概念的基础上的,无论实体还是 实体之间的联系都用关系来表示。数据的查询结果也是关系 (表),因此,概念单一、取数据结构简单、清晰。 关系模型的存取路径对用户透明,从而具有更高的数据独立性 、更好的安全保密性,也简化了程序员的工作和数据库的开 发工作。 关系数据模型的缺点:由于存取路径对用户透明,查询效率往 往不如非关系数据模型。因此,为了提高性能,必须对用户 的查询请求进行优化,从而增加了另外开发数据库管理系统 的负担。 3.2 关系数据库设计 实体与关系 在上一节中我们学习了数据库设计中数据模型的发展过程和 关系数据模型的基本概念、特点。对于关系型数据库来说 ,它就是立足于关系数据模型,描述实体之间的关系。因 此本节中我们将针对关系型数据模型讨论实体与关系的联 系。 3.2.1 实体 实体表示的是一类事物,其中的一个具体事物称为该实体的 一个实例。例如“ ABC117004”,“史记( 3册)”, “ 72.00”,“中国长安”则具体表示了一本书,它是图书 实体的一个实例。如果某个属性或属性的组合能唯一地 标识出实体中的每一行,则可以选择该属性或属性的组 合作为实体标识符。 3.2.2 联系 实体不是孤立的,实体与实体之间有着密切的联系。实体间 的联系分为 1对 1、 1对多和多对多 3种。例如,学校实体 和学生实体之间是 1对多的联系,学生和课程实体之间是 多对多的联系。可以使用实体关系图( E-R图)描述实体 与实体间的联系。如图 3.2所示,两个实体之间有 3种联系 ( 1:1、 1:n和 m:n)。 3.2.3 E-R模型 数据库设计就是将现实世界的数据组织成数据库管理系统所 需的数据模型。实体联系方法简单、实用,通常使用它 的工具 E-R图来描述现实世界的信息结构,并将所描述的 结果称为 E-R模型。 E-R模型可以转换为 DBMS所支持的 数据模型。如图 3.2所示, E-R图有以下 3个要素。 实体:使用矩形框表示,框内标注实体名称。 属性:使用椭圆形框表示,并用连线与实体连接起来。如果 属性较多,为使图形更加简明,有时也将实体与其属性 另外单独用列表表示。 实体之间的联系:使用菱形框表示,框内注明联系名称,并 用连线将菱形框分别与有关实体相连,并在连线上注明 联系类型。 3.3 关系数据库设计 范式与规范化 通过 E-R模型能够对实体与关系之间进行基本的映射,开始 关系型数据库的设计。但是,还有一个很重要的问题, 关系模型要求关系必须是规范化的,即要求关系模型必 须满足一定的规范条件,即本节中将要学习到的范式。 3.3.1 规范化与范式 规范化过程基于一系列级别,其中每个级别都达到一定水平 的正确性,或遵守着一系列特定“规则”。这些规则通 常称为“范式”。设计范式(范式,数据库设计范式, 数据库的设计范式)是符合某一种级别的关系模式的集 合。构造数据库必须遵循一定的规则。在关系数据库中 ,这种规则就是范式。 关系数据库中的关系必须满足一定的要求,即满足不同的范 式。目前关系数据库有六种范式:第一范式( 1NF)、第 二范式( 2NF)、第三范式( 3NF)、第四范式( 4NF) 、第五范式( 5NF)和第六范式( 6NF)。满足最低要求 的范式是第一范式( 1NF)。在第一范式的基础上进一步 满足更多要求的称为第二范式( 2NF),其余范式以次类 推。一般说来,数据库只需满足第三范式( 3NF)就行了 。 3.3.2 第一范式 1NF 在第一范式( 1NF)中表的每一行只包含一个实例的信息 。例如,对于员工信息,不能将员工信息都放在一列中 显示,也不能将其中的两列或多列在一列中显示;员工 信息表的每一行只表示一个员工的信息,一个员工的信 息在表中只出现一次。简而言之,第一范式就是无重复 的列,如图 3.3所示。 图 3.3( a) 符合 1NF 图 3.3( b) 不符合 1NF 3.3.3 第二范式 2NF 第二范式( 2NF)是在第一范式( 1NF)的基础上建立起来 的,即满足第二范式( 2NF)必须先满足第一范式( 1NF )。第二范式( 2NF)要求数据库表中的每个实例或行必 须可以被惟一地区分。为实现区分通常需要为表加上一 个列,以存储各个实例的惟一标识。 第二范式( 2NF)要求实体的属性完全依赖于主关键字。所 谓完全依赖是指不能存在仅依赖主关键字一部分的属性 。如果存在,那么这个属性和主关键字的这一部分应该 分离出来形成一个新的实体,新实体与原实体之间是一 对多的关系。为实现区分通常需要为表加上一个列,以 存储各个实例的惟一标识。简而言之,第二范式就是非 主属性非部分依赖于主关键字。 3.3.4 第三范式 3NF 满足第三范式( 3NF)必须先满足第二范式 ( 2NF) 。简而 言之,第三范式( 3NF)要求一个数据库表中不包含已在 其它表中已包含的非主关键字信息。简而言之,第三范 式就是属性不依赖于其它非主属性。 在第二范式的基础 上,数据表中如果不存在非关键字段对任一候选关键字 段的传递函数依赖则符合第三范式。所谓传递函数依赖 ,指的是如果存在“ ABC” 的决定关系,则 C传递函 数依赖于 A。因此,满足第三范式的数据库表应该不存在 如下依赖关系: 关键字段 非关键字段 x 非关键字段 y 3.3.5 其它范式与规范化的好处 除了最常用的第一范式、第二范式和第三范式外,还有不太 常用的几种范式,如下所示: BCNF范式指非主键字段必须依赖于整个主键字。在第三范 式的基础上,数据库表中如果不存在任何字段对任一候 选关键字段的传递函数依赖则符合 BCNF。 第四范式用于处理由复杂的复合主键所导致的问题。如果将 两个相互独立的属性与第三个属性一起组合为一个主键 ,并且如果没有第三个属性,仅靠这两个属性不能在实 体中真正地起到唯一标识的作用,那么它就违反了第四 范式。 第五范式要求能从由原始表分解和转换而得的新表中精确重 建出原始表。利用第五范式可以确定在 3.3.6 非规范化 非规范化与规范化完全相反,此时要在表中引入数据冗余, 以减少表联接的数目,潜在地加速数据访问。尽管使数 据规范化会带来更高的效率,有时,使数据非规范化将 会是更好的选择。不要只因为别人认为数据应该彻底规 范化,就这样去做,具体如何应该根据需要而定。尽管 使数据非规范化的缺点很多,它将会带来重复和多余的 信息(这些信息可以通过规范化放置在另一个表中, 然 后在查询时联接表即可)。这既会产生性能问题,又要 占用较大的数据存储空间。 3.4 SQL Server 2008的预设数据库 每个 SQL Server都包含两种类型的数据库:系统数据库和用 户数据库。系统数据库存储有关 SQL Server的信息, SQL Server使用系统数据库来管理系统,例如,下面将 要介绍的 master数据库、 model数据库、 msdb数据库和 tempdb数据库等。而用户数据库由用户来建立,如,图 书管理信息数据库。 SQL Server可以包含一个或多个用 户数据库。 3.4.1 master数据库 图 3.4 master数据库 3.4.2 tempdb数据库 tempdb数据库是临时数据库,在 SQL Server 2008每次启动时 都被重新创建,因此该数据库在系统启动时总是空的,上 一次的临时数据库都被清除掉了。临时表和存储过程在连 接断开时自动清除,而且当系统关闭后将没有任何连接处 于活动状态,因此 tempdb数据库中没有任何内容会从 SQL Server的一个启动工作保存到另一个启动工作之中。默认情 况下,在 SQL Server 2008运行时, tempdb数据库会根据需 要自动增长。不过,与其他数据库不同,每次启动数据库 引擎时,它会重置初始大小。 3.4.3 model数据库 Model(模板)数据库为用户新创建的数据库提供模板和原 型,它包含了用户数据库中应该包含的所有系统表的结 构。当用户创建数据库时,系统会自动地把 model数据库 中的内容复制到新建的用户数据库中。熟悉 Microsoft Word的用户都会有这样的体会,当修改了文档的页面设 置,并把该设置作为默认设置保存起来时,在此次之后 新建的任何文档的格式都会默认为该设置格式。也就是 说,在把被修改过的页面设置作为默认保存的同时,也 就修改了 Microsoft Word中基于所有新建文档的 Normal 模板,用户在系统中新创建的所有数据库的内容,最初 都与该模板数据库具有完全相同的内容。 3.4.4 msdb数据库 msdb数据库供 SQL Sewer 2008代理程序调度警报作业以及 记录操作时使用。当很多用户在使用一个数据库时,经 常会出现多个用户对同一个数据的修改而造成数据不一 致的现象,或是用户对某些数据和对象的非法操作等。 为了防止上述现象的发生, SQL Server中有一套代理程 序能够按照系统管理员的设定监控上述现象的发生,及 时向系统管理员发出警报。那么当代理程序调度警报作 业、记录操作时,系统要用到或实时产生许多相关信息 ,这些信息一般存储在 msdb数据库中。 3.4.5 AdventureWorks和 AdventureWorksDW 示例数据库 AdventureWorks和 AdventureWorksDW是 SQL Server 2008 中的示例数据库(需要在安装过程中选择安装)。这些 数据库基于一个自行车生产公司,以一种简单的、易于 理解的方式来展示 SQL Server 2008的新功能,如 Reporting Services、 CLR(公共语言运行时)特性以及 许多其他特性。 3.5 使用 SQL Server 2008创建数据库 在一个 SQL Server 2008系统中,有多种方法可以创建用户数据 库,一种是使用第 2章中介绍的 SQL Server Management Studio对象资源管理器建立数据库;另一种是使用 Transact- SQL命令创建数据库,它可以把创建数据库的脚本保存下来 ,在其他计算机上运行以创建相同的数据库。 此外,利用系统提供的创建数据库向导也可以创建数据库。创 建用户数据库之前,必须先确定数据库的名称、数据库所有 者、初始大小、数据库文件增长方式、数据库文件的最大允 许增长的大小,以及用于存储数据库的文件路径和属性等。 下面分别介绍这两种创建数据库的方法。 3.5.1 使用 SQL Server Management Studio 对象资源管理器建立数据库 使用 SQL Server Management Studio对象资源管理器建立数据库包含如下 步骤: ( 1)在开始菜单中单击 【 所有程序 】 |【 Microsoft SQL Server 2008】 |【 SQL Server Management Studio】 命令,打开 SSMS,如图 3.6所示。 ( 2)在 SSMS左侧的 【 对象资源管理器 】 窗口中右击 【 数据库 】 分支, 在弹出的快捷菜单中选择 【 新建数据库 】 命令,弹出 【 新建数据库 】 对话框,如图 3.7所示。 ( 3)在 【 数据库名称 】 文本框中输入创建的数据库名称“ wj”。此时, 系统会以数据库名称作为前缀创建主数据库文件和事务日志文件,如 wj和 wj_log。主数据库文件和事务日志文件的初始大小与 model系统数 据库指定的默认大小相同,选择默认值,其中数据库文件的增量为 1MB,不限制增长的总量,日志文件每次增长 10%,也不限制增长的 总量。也可以进行自定义,单击 【 自动增长 】 旁的按钮,弹出如图 3.8 所示的对话框。 3.5.2 使用 SQL server Management studio 查询窗口创建用户数据库 使用 SQL查询分析器创建数据库,其实就是在查询窗口的编 辑面板中使用 DATABASE等 Transact-SQL命令,来创建 用户数据库。 3.5.3 查看和修改数据库属性 对于已有的数据库,可以分别利用对象资源管理器和 Transact-SQL语句来查看数据库信息。 1使用 SQL Server Management Studio窗口中的对象资源 管理器查看数据库信息 2使用 Transact-SQL命令查看数据库信息 3.6.1 打开数据库 当用户登录 SQL Server 2008服务器,连接 SQL. Server 2008 后,用户需要连接 SQL. Server 2008服务器中的某个数据 库,才能使用该数据库中的数据。如果用户没有预先指 定连接哪个数据库, SQL Server 2008会自动替用户连上 master系统数据库。一般地,用户需要指定连接 SQL Server 2008服务器中的哪个数据库,或者从一个数据库 切换至另一个数据库,可以在查询分析器的 【 编辑 】 面 板中利用 use命令来打开或切换至不同的数据库。 打开或切换数据库的命令如下: USE database name 其中, database name表示需要打开或切换的数据库名称。 3.6.2 修改、增加和缩减数据库容量 当数据库的数据增长到要超过它的使用空间时,必须加大数 据库的容量。增加数据库容量就是给它提供额外的设备 空间。同时,如果在新建数据库时指定给某数据库过多 的设备空间,可以通过缩减数据库容量来减少设备空间 的浪费。增加和缩减数据库容量的方法一般有两种,即 用 Transact-SQL命令和利用 SQL Server Management Studio查询窗口中的 【 对象资源管理器 】 面板来增缩数据 库容量。 3.6.3 查看目前数据库选项设定及修改 设定数据库选项可以控制数据库是单用户使用模式还是 db_owner模式,以及此数据库是否仅可读取等,可以设 置此数据库是否自动关闭、自动收缩和数据库的兼容级 别等选项。 如果想查看目前数据库选项,如前两节中已经讨论的使用属 性窗口的方式。也可以在查询分析器中使用 Transact- SQL命令来查看和更改数据库选项。一般使用 sp_dboption存储过程来查看数据库选项,如下所示将数 据库 test的属性设置为只读。 EXEC sp_dboption test, read only, True 3.6.4 数据库更名 通常情况下,在一个应用程序的开发过程中,往往需要改变 数据库的名称,但是在 SQL Server 2008中更改数据库名 称并不像在 Windows中那样简单,要改变名称的那个数 据库很可能正被其他用户使用,所以变更数据库名称的 操作必须在单用户模式下方可进行,然后使用系统存储 过程 sp_renamedb或直接更改来更改数据库的名称。 3.6.5 删除数据库 删除数据库比较简单,但是应该注意的是,如果某个数据库 正在使用时,则无法对该数据库进行删除。可以使用对 象资源管理器和 DROP DATAHASE语句来删除某个数据 库。首先直接使用对象资源管理器来进行数据库的删除 ,在对象资源管理器中 【 数据库 】 分支中选择要删除的 数据库选项 【 test】 分支。右击该选项,在弹出的快捷菜 单中选择 【 删除 】 选项,弹出如图 3.23所示的对话框,单 击 【 确定 】 按钮,完成数据库删除。 也可以直接使用 T-SQL代码来完成数据库的删除,如图 3.24 所示: DROP DATABASE test 3.7 小结 本章学习了数据模型的概念和数据库的创建与管理。本章的 重点是掌握系统数据库的分类和作用、学会使用对象资 源管理器创建用户数据库、学会使用查询分析器创建用 户数据库、学会压缩和扩充数据库、学会查看和修改数 据库选项、学会给数据库改名和删除数据库。难点是使 用 E-R模型设计数据库和不同范式的理解。下一章将在此 基础上全面的介绍 Transact-SQL语言。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!