sqlserver2008数据库应用与开发教学课件作者李新德第一章

上传人:E**** 文档编号:102551673 上传时间:2019-10-03 格式:PPT 页数:98 大小:2.62MB
返回 下载 相关 举报
sqlserver2008数据库应用与开发教学课件作者李新德第一章_第1页
第1页 / 共98页
sqlserver2008数据库应用与开发教学课件作者李新德第一章_第2页
第2页 / 共98页
sqlserver2008数据库应用与开发教学课件作者李新德第一章_第3页
第3页 / 共98页
sqlserver2008数据库应用与开发教学课件作者李新德第一章_第4页
第4页 / 共98页
sqlserver2008数据库应用与开发教学课件作者李新德第一章_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《sqlserver2008数据库应用与开发教学课件作者李新德第一章》由会员分享,可在线阅读,更多相关《sqlserver2008数据库应用与开发教学课件作者李新德第一章(98页珍藏版)》请在金锄头文库上搜索。

1、第一章 数据库基础,项目一 需求分析与数据库设计 项目二 数据库应用程序与数据库管理系统的安装,返回,项目一 需求分析与数据库设计,一、数据库技术概述 数据处理技术经历了“人工管理文件系统数据库系统”的历程。早期的数据处理是依靠手工或算盘来进行的,以后逐步代之以计算器、手摇计算机和电动计算机,数据存储形式也从手写、纸质打孔,逐渐发展到数据文件系统。20 世纪60 年代后,随着数据库技术的出现,数据存储采用规范、高效的数据库形式,高效率存储设备的广泛使用,使数据处理工作发生了革命性的改变,计算机应用也从科学研究部门逐渐渗透到了各行各业。,下一页,返回,项目一 需求分析与数据库设计,数据库技术主要

2、用于各种数据处理,即对各种形式的数据进行收集、组织、加工、存储、抽取和传播等工作,其主要目的是从大量的、杂乱无章的,甚至难以理解的数据中抽取,并加工、推导出具有特定价值的数据,从而为进一步的活动提供决策依据。可以这样认为:没有数据库技术,人们在浩瀚的信息世界中将手足无措。,上一页,下一页,返回,项目一 需求分析与数据库设计,到了21 世纪,利用数据库技术开发的数据库应用程序(人们常称之为“应用软件”)已经无处不在,哪里有大量的数据信息处理的需要,哪里就会出现数据库技术的“身影”,现在的数据库技术已经发展成为一门以数据库管理系统为核心,内容丰富、领域宽广的新学科,它广泛地渗透到了社会方方面面的应

3、用领域中,正发挥着巨大的数据处理作用和组织决策作用,数据库应用程序的开发更带动了一个巨大的软件产业的发展。,上一页,下一页,返回,项目一 需求分析与数据库设计,掌握了数据库技术以及开发方法,人们不仅可以利用数据库管理系统方便地操作数据,实现数据和使用者的有效管理,胜任合格的数据库管理员的职责,而且还可以在广泛的领域就业,从事数据的信息化开发和管理工作,如为企业开发、维护数据库应用程序;帮助企业挖掘信息,实现信息的有效利用并辅助决策;解决企业的信息孤岛问题,实现数据接口间相互转换的难题等。掌握了数据库技术,人们可以从事软件开发、软件维护、信息服务、接口转换、系统集成等工作。 二、数据库与数据库管

4、理系统 数据库技术的基础是数据库(DataBase,DB)和数据库管理系统(DataBase ManagementSystem,DBMS)。,上一页,下一页,返回,项目一 需求分析与数据库设计,数据库是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。数据库中的数据不仅包含数字和文字,还可以包含图像、时间、音频及视频等。 数据库管理系统是位于用户与操作系统之间的一个以统一的方式管理、维护数据库中数据的一系列软件的集合。数据库与数据库管理系统的关系如图11 所示。 数据库管理系统提供如下功能: (1) 数据定义功能:可定义数据库中的数据对象。 (2) 数据操作功能:可对

5、数据库表进行基本操作,如插入、删除、修改和查询等。,上一页,下一页,返回,项目一 需求分析与数据库设计,(3) 数据的完整性检查功能:保证用户输入的数据满足相应的约束条件。 (4) 数据库的安全保护功能:保证只有被赋予权限的用户才能访问数据库中的数据。 (5) 数据的开发控制功能:使多个应用程序可在同一时刻同时访问数据库中的数据。 (6) 数据库系统的故障恢复功能:在数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。 (7) 在网络环境下访问数据库的功能。 (8) 方便、有效地存取数据库信息的接口和工具。,上一页,下一页,返回,项目一 需求分析与数据库设计,编程人员使用软件开发工具与数

6、据库的接口编写数据库应用程序,数据库系统管理员(DataBase Administrator,DBA)通过提供的工具对数据库进行管理。 自20 世纪70 年代提出数据的关系模型后,商用数据库系统迅速采用了这种模型,涌现出了很多优良的关系数据库管理系统(Relational DataBase Management System,RDBMS),并成为市场上的主导产品,主流的大型关系数据库管理系统包括Oracle、Sybase、SQL Server、DB2、Informix、Ingres 等,小型的关系数据库管理系统包括MySQL、Access、Visual FoxPro、Adaptive Serv

7、er Anywhere 等。,上一页,下一页,返回,项目一 需求分析与数据库设计,三、数据模型 数据库管理系统根据数据模型对数据进行存储和管理。数据库管理系统采用的数据模型主要有层次模型、网状模型和关系模型。 1. 层次模型 层次模型以树形层次结构组织数据,它属于格式化数据模型。图12 所示为某学校按层次模型组织的数据。 2. 网状模型,上一页,下一页,返回,项目一 需求分析与数据库设计,网状模型又叫网络模型,它也属于格式化数据模型,每一个数据用一个节点表示,每个节点与其他节点都有联系,这样的数据库中的所有数据节点就构成了一个复杂的网络。图13所示为按网状模型组织的数据,每个部门都销售所有5

8、种产品。 3. 关系模型 关系模型以二维表格(关系表)的形式组织数据库中的数据,它不同于格式化模型的风格和理论基础,是一种数学化的模型,关系模型的基本组成是关系,如图14 所示。,上一页,下一页,返回,项目一 需求分析与数据库设计,图14 中的二维表显示了每个学生的情况,表中的每一行是一个记录,也称为一个元组,每一列是记录中的一个字段,表示其中的一个属性。 四、数据库设计 数据库的设计建立在详细的需求分析的基础上,随后还必须经过3 个过程,它们是概念设计、逻辑设计和物理设计。 1. 需求分析 需求分析,即根据对客户的需求调查和客户提供的需求说明书进行判断和分析,确定客户需要利用何种信息达成何种

9、功能,以及从哪里取得数据,需要进行怎样的处理,最后以怎样的形式反映出来等。,上一页,下一页,返回,项目一 需求分析与数据库设计,开始数据库设计前,需要先进行需求分析,针对客户提出的需求和需求调查的结果,将所涉及的各种信息进行归纳和分类,以确定这些信息名词中哪些可以作为实体,哪些可以作为实体的属性。一开始应先设计出主要的几个数据库表,而后随着需求分析的深入,再将一些辅助性的数据库表设计出来。 2. 数据库的概念设计 概念设计的任务是在客户需求说明书的基础上,按照特定的方法将客户的需求抽象为一个不依赖任何具体计算机和软件系统数据的概念模型。进行数据库的概念设计需要了解以下知识。 1)实体、属性和实

10、体集,上一页,下一页,返回,项目一 需求分析与数据库设计,实体是指独立存在并且可以相互区别的事物,属性是从属于实体的用于描述实体特性的信息。实体的具体个体集合称为实体集。 在现实中有时很难区分哪个是实体,哪个是属性,一个概念名词可能是实体,也可能只作为属性,这取决于其是否是被重点关注的对象,比如:医院的病房,对于病人这个实体来说,它是病人的属性(尽管病房这个属性还能再分,不符合第一范式),但如果要对病房进行专门的管理,它则变成了被重点关注的对象,就应当分解开来把它作为实体,而将病房专业、地址、联系电话等作为病房的属性,若病房的地址也需要详细管理,则病房地址也应变成实体,再将病房所处的建筑物名、

11、联系电话、值班人员等作为属性。,上一页,下一页,返回,项目一 需求分析与数据库设计,一个事物或信息到底作为实体还是作为属性,对此可以遵循这样的原则:凡是需求分析中需要重点关心的独立事物,就可以直接把它作为实体,而某种单纯的特性,如时间、地点、数量、大小、长度等,则通常只作为属性。 2)实体间的三种关系 (1) 一对一关系(1:1),是指一个具体的实体只对应另一个具体的实体,如:某丈夫只对应某妻子、某班级只对应一个班长等。 (2) 一对多关系(1:N),是指一个具体的实体对应(或属于)多个另一个具体的实体,如某工厂包含多个车间、某班级有很多学生等。,上一页,下一页,返回,项目一 需求分析与数据库

12、设计,(3) 多对多关系(M:N),是指多个具体的实体对应多个其他具体的实体,如学生与选修课程的关系、多个连锁店与众多销售商品的关系等。 在本例中,可确认学生实体与课程实体的关系是多对多的关系,因为一个学生可以选修多门课程,而一门课程也可以被多个学生选修。 3)ER 图和主键 ER 图即实体(Entity)联系(Relational)图,其画法是:将实体用矩形框画出来,属性用圆角矩形表示,实体和其属性用线段连接起来,实体间的关系则用菱形来连接。,上一页,下一页,返回,项目一 需求分析与数据库设计,实体的所有对应属性中,如果某属性的值或最小属性组合的值能唯一标识(即唯一区分)该实体,则将该属性或

13、属性组合称为键,对于每一个实体集,可指定其中一个键为主键。 4)规范数据库概念设计的三个范式 第一范式:每个实体的元组中的每一个属性都不可再分。 第二范式:每个实体的元组中不能存在与主关键字无关的属性。 第三范式:每个实体的元组中非关键字属性间不存在依赖关系。 5)数据库概念设计的方法 数据库概念设计的方法可以归纳为:,上一页,下一页,返回,项目一 需求分析与数据库设计,(1) 从需求分析中提取出所有的实体和属性。 (2) 分析每个实体,确定实体间是否存在关系,若存在关系,确认是属于一对一关系、一对多关系,还是多对多关系。 (3) 将实体、属性及实体之间的关系按照规范画出ER 图。 (4) 在

14、ER 图中为实体添加主键标识。 (5) 按照三个范式对概念设计进行校验修正。 3. 数据库的逻辑设计 数据库的逻辑设计,即以ER 图为基础,根据实体与属性的联系、实体与实体之间的关系,实现概念模型向逻辑模型的转换。,上一页,下一页,返回,项目一 需求分析与数据库设计,具体地讲,是要确定数据库中应包含哪些表,每个表又有怎样的结构。 逻辑设计的方法,首先就是把每一个实体及其属性设计为一个表,定义表名,将实体的属性作为表中的字段,找到主键并用下划线表示出来,其形式为: 表名(属性1,属性2,属性3,) 其次,处理实体之间的关系,具体需要遵循以下原则: (1) 若表A 和表B 是一对一关系:可以合并,

15、把表A 的主键加到表B 中当作外键。 (2) 若表A 和表B 是一对多关系:必须把表A 的主键加到表B 中当作外键。,上一页,下一页,返回,项目一 需求分析与数据库设计,(3) 若表A 和表B 是多对多关系:除了生成表A 和表B 外,还要生成一个关系表:表A 主键+表B 主键+多对多关系中自己的属性。 实际的数据库设计工作还会涉及数据库冗余的问题和数据库查询时的复杂性和效率问题,数据库冗余是指构成数据库的表中存在大量被浪费的存储空间,例如以下的逻辑模型就存在大量数据库冗余(图15 的阴影部分)。 图15 中,系别字段产生大量冗余,按照第三范式的规范,“专业”与“系别”存在依赖关系,应该拆分成两

16、个表,这样就可以消除冗余,即将数据库表:,上一页,下一页,返回,项目一 需求分析与数据库设计,tb_student1(学号,姓名,性别,出生时间,专业,系别,总学分,备注) 拆分成以下两个表: tb_student(学号,姓名,性别,出生时间,专业,总学分,备注) tb_specialty(专业名称,系别) 是否图15 中表的设计就不可取呢?实际情况并非如此,有时具有冗余的设计反而会带来软件开发的便利以及较小的软件维护成本。在图15 中当需要查询某个系有多少学生时,只需一条简单的查询语句便可解决,而完全按照三个范式进行数据库设计,即消除了冗余后,需要进行两个表的组合查询才能达到目的。,上一页,下一页,返回,项目一 需求分析与数据库设计,这里的冗余虽然浪费了存储空间,但减少了开发的复杂性和维护成本。因此,数据库的冗余问题需具体情况具体分析。 优秀的数据库设计并非最恰当的设计,纵观涉及计算机的所有设计,均离不开存储空间和运算效率这两方面的权衡。当为用户进行数据库设计和软件开发时,不可避免地会牵涉用户一方存储设备的投资预算的限制以及对软件运行效率的要求,对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号