Download presentation
Presentation is loading. Please wait.
1
计算机文化 第7讲:数据库技术 王哲 河南中医药大学信息技术学院
2
本章教学计划 管理数据库 数据库系统的应用案例 数据库技术的产生和发展 基础概念 数据模型(提高篇) 常见的数据库管理系统
数据库领域新技术(提高篇)
3
1. 数据库系统的应用案例
4
近年来,信息资源已成为各个部门的重要财富和资源,各种领域对数据管理的需求越来越多,建立一个满足各级部门数据管理要求的信息系统也成为一个企业或组织生存和发展的重要条件。
因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。可以说,各行各业的信息系统都离不开数据库系统的支持,数据库已成为信息化社会的重要基础设施。
5
(1)招生录取查询系统 近年来,很多高校为方便考生通过网络快速直接的了解高考录取信息,通常提供基于Web的招生录取查询系统,考生只需通过浏览器输入相关网址,在网页中输入正确的准考证号、姓名即可查询录取结果。 实际上,这就是数据库的一个应用。
7
对于招生录取查询系统的实现,技术人员通过数据库技术对考生信息、考试管理等信息进行收集、组织、存储、管理等,数据库中存储有每名学生的姓名、准考证号、科目、分数、院校等信息,当考生通过浏览器查询录取信息时,数据库系统就会提供符合查询条件的详细信息。招生录取查询系统的应用,方便了广大考生及招生办公人员,大大提高了工作效率。
8
(2)图书馆管理系统 当人们去图书馆借阅图书时,首先可以首先通过图书馆提供的图书查询系统查询图书情况,如可通过书名、作者、出版社等条件查询馆内图书的详细情况等。 当读者找到需要借阅的图书,并且书库还有可借数量时,便可以办理借阅手续。图书管理员使用条形码阅读器扫描读者需借阅的每一本图书,显示屏上显示所借图书的名称、作者、出版社等信息,图书管理员在图书借阅系统中输入读者编号、图书编号、借书日期、数量等信息,然后保存即可完成图书的借阅。
10
在以上的图书馆管理环节中,读者进行的查询图书、借阅图书、还书都是数据库的应用。
对于图书馆管理系统,技术人员首先对图书信息、读者信息、管理员信息等相关数据进行收集并存储在数据库中,当读者查询图书信息时,图书数据库系统就会提供符合查询条件的信息;当读者借阅图书时,图书数据库系统就会根据读者借阅图书信息增加借书记录;当读者送还图书时,图书数据库系统就会根据还书的信息比对数据库存储的记录,如书籍是否正确、有无超期等,然后提示管理员执行相关操作。
11
(3)教务管理系统 在高等院校中,为了更好的实现教学管理,教务部门通常需要使用教务管理系统,主要包括了排课系统、在线选课系统、成绩管理系统、网上评教系统、网上报名系统、考试安排系统等多个子系统,这些子系统均属于数据库技术的应用。
12
以在线选课子系统为例,在每个学期末,教务管理系统都会提供给学生关于下学期可选修的限选课和任选课,学生可以根据课程名、院系名或教师姓名进行查询,一旦确定所选课程,便可以填写选课单完成课程的预选。
同时,教务管理系统会通过一定的规则管理选课信息,如当一门课程的选课人数超过规定的上限时,系统便会拒绝其他学生再选本课程;如果一门课程的选课人数低于规定的下限时,该门课程可能不再开设,最后教务部门根据网上学生的选课情况,经汇总后通知各个院系及任课教师。
14
对于在线选课子系统,技术人员首先对学生信息、教师信息、课程信息等相关数据进行收集并存储在数据库中,当学生查询课程时,数据库系统就会提供符合查询条件的信息;当选修某门课程时,数据库系统会增加相关的选课记录。
15
(4)医院信息系统 医院信息系统(Hospital Information System,简称HIS)是指利用计算机技术和通信技术等现代化手段,对医院及其所属各部门的人力、财力、物流进行综合管理,对在医疗活动各阶段产生的数据进行采集、存储、处理、提取、传输、汇总并加工生成各种信息,从而为医院的整体运行提供全面的、自动化的管理及各种服务的信息系统。
16
目前,很多城市的大中型医院基本上都具有医院信息系统,主要包括医生工作站、病案管理系统、挂号系统、住院病人管理系统、医嘱处理系统、药品库存管理系统等子系统,医院信息系统同样是数据库技术的一个典型应用。
18
在医生工作站中,医生可通过计算机对患者在医院的临床医疗信息进行管理,可将传统病例电子化。患者就诊时,医生可通过数据库系统直接获取患者的就诊卡号、姓名、性别、年龄等信息;医生开处方时,数据库系统会保存处方相关的详细内容。
19
2. 数据库技术的产生和发展
20
2. 数据库技术的产生和发展 数据库技术产生于20世纪60年代,是应数据管理任务的需要而产生的。数据管理是对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据的处理则是对各种数据进行收集、存储、加工和传播的一系列活动的总和。随着计算机应用的不断发展,数据处理越来越占主导地位,数据库技术的应用也越来越广泛。 从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。
21
2.1 人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算。
这个时期,从硬件看,没有磁盘等直接存取的存储设备,从软件看,没有操作系统和管理数据的软件,数据处理方式是批处理。
22
特 点: (1)数据不保存。该时期的计算机主要应用于科学计算,只是在计算某一课题时将数据输入,用完后就撤走。 (2)没有专门的软件管理数据。每个应用程序都要包括存储结构、存取方法、输入输出方式等内容。程序员需要通过应用程序设计、说明(定义)数据每一项内容,程序员负担很重。 (3)数据不共享。一组数据只能对应一个程序,即使多个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照,从而导致程序和程序之间有大量重复的数据。 (4)数据不具有独立性。
23
在人工管理阶段,程序与数据之间的对应关系如图所示。
应用程序1 应用程序2 数据集1 数据集2 应用程序3 应用程序n 数据集3 数据集n ……
24
2.2 文件系统阶段 20世纪50年代中期到60年代中期。 从硬件看,已经有了磁盘等直接存取的存储设备,在软件方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。
25
这个时期数据管理的特点是: (1)数据可长期保存。由于计算机大量用于数据处理,经常对文件进行查询、修改、插入和删除等操作,所以数据需要长期保留,以便于反复操作。 (2)有专门的文件系统管理数据。操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻找数据的物理存放位置。至此,数据有了物理结构和逻辑结构的区别,但此时程序和数据之间的独立性尚还不充分,当不同程序需使用部分相同的数据时,需要建立各自的文件。 (3)数据可重复使用。
26
文件系统阶段应用程序与数据之间的关系如图所示。
存取方法 应用程序1 应用程序2 数据文件1 数据文件2 应用程序3 应用程序n 数据文件3 数据文件n ……
27
随着数据管理规模的扩大,数据量急剧增加,文件系统暴露出一些缺陷,主要有:
(1)数据冗余度。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。 (2)数据不一致性。由于相同数据的重复存储和各自管理,在进行更新操作时,稍不谨慎,就有可能使同样的数据在不同的文件中不一样,即数据存在不一致性,给数据的修改和维护带来困难。 (3)数据联系弱。这是由文件之间相互独立、缺乏联系造成的。
28
2.3 数据库系统阶段 数据库系统阶段是从60年代末期开始,计算机管理的数据对象规模越来越大,应用范围越来越广,数据量急剧增加,数据处理的速度和共享性的要求也越来越高。与此同时,磁盘技术也取得了重要发展,具有数百兆字节容量和快速存取的磁盘陆续进入市场,为数据库技术的发展提供了物质条件。 随之,人们开发了一种新的、先进的数据管理方法:将数据存储在数据库中,由数据库管理软件对其进行统一管理,应用程序通过数据库管理软件来访问数据。
29
数据管理技术进入数据库系统阶段的标志是20世纪60年代末的三件大事:
(1)1968年,IBM公司推出层次模型的数据库管理系统IMS(Information Management System)。 (2)1969年,美国数据库系统语言协商会CODASYL(Conference On Data System Language)下属的数据库任务组DBTG(DataBase Task Group)提出了DBTG报告,总结了当时各式各样的数据库,提出网状模型。 (3)1970年,IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出关系模型,开创了关系数据库方法和关系数据库理论,奠定了关系数据库的理论基础。
30
20世纪70年代以来,数据库技术得到迅速发展,数据库系统克服了文件系统的缺陷,提供了对数据更高级更有效的管理。概括起来,数据库系统阶段的特点主要有:
(1)数据结构化 (2)较高的数据独立性 (3)较低的冗余度 (4)数据由数据库管理软件统一管理和控制
31
数据库系统阶段中,应用程序与数据之间的关系如图所示。
数据库管理软件 数据库 应用程序1 应用程序2 应用程序3 应用程序n ……
32
数据库系统阶段中,大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。
20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Oracle、SQL Server、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。
33
3. 基础概念
34
3. 基础概念 在学习数据库技术之前,我们先来了解一些基本概念,主要包括信息、数据、数据、数据库、数据库管理系统以及数据库系统等。 主要有:
数据与信息 数据库 数据库管理系统 数据库系统
35
3.1 数据与信息 数据(Data)是数据库系统中存储和研究的基本对象。数据与信息是分不开的,它们既有联系又有区别。
在数据处理领域,一般把信息理解为关于现实世界事物存在方式或运动状态的反映。例如,我们上课用的黑板,颜色是黑色,形状是矩形,尺寸是长3m,高1.2m,材料是木材,这些都是关于黑板的信息,是黑板存在状态的反映。
36
和信息同样广泛使用的另一个概念是“数据”。
所谓数据,通常指用符号记录下来的、可以识别的信息。例如黑板的信息,用一组数据“黑色、矩形、3m、1.2m”表示。
37
93 由于这些符号已经被人们赋予了特定的含义,即数据的语义,因此它们就具有传递信息的功能。 数据和其语义是密不可分的。 ① 学生某门课的成绩
② 某人的体重 ③ 产品的个数 ……
38
从广义上讲,数字只是数据的一种表现形式,数据还有很多其它的表现形式,如文本、图形、图像、音频、视频等,它们都可以经过数字化后存入计算机。
可以看出,信息和数据之间存着固有的联系。数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。数据表示了信息,而信息只有通过数据形式表示出来才能被人们理解和接受。
39
3.2 数据库 数据库(Database,简记为DB) 指长期存储在计算机内、有组织的、可共享的大量相关数据的集合。
定义:数据库中的数据按一定的数据模型组织、描述和储存,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
40
常见的数据库文件 数据库中的数据的增加、删除、修改和检索等操作均由系统软件进行统一的管理和控制。
41
3.3 数据库管理系统 数据库管理系统(Database Management System,简称DBMS),是一种操纵和管理数据库的系统软件,是数据库系统的核心,位于用户与操作系统之间。 DBMS为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制。
42
它的主要功能有: (1)数据定义功能:提供数据定义语言(Data Definition Language,简称DDL)供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。 (2)数据操纵功能:提供数据操纵语言(Data Manipulation Language,简称DML)供用户实现对数据的追加、删除、更新、查询等操作。 (3)数据库的运行和管理功能:对数据库的安全性、完整性、故障恢复和并发操作等方面的管理功能,保证了数据库系统的正常运行。 (4)数据库的建立和维护功能。提供数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能。
43
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型等。
目前常见的关系型数据库管理系统主要有甲骨文公司的Oracle和MySQL、微软公司的SQL Server和Access、IBM公司的DB2、人大金仓公司的kingbase、达梦公司的DM。
44
DB-engines发布的数据库流行度排行榜
2014年5月、8月数据库流行度排行榜
45
ZDC:互联网消费调研中心
46
3.4 数据库系统 数据库系统(Database System,简称DBS)
指计算机系统引入数据库后的系统组成,它不仅包括数据库本身,还应包括相应的硬件、软件和各类人员,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
47
数据库系统组成如图所示。 用户 应用系统 应用开发工具 数据库管理系统 数据库 操作系统 数据库管理员
48
4. 数据模型(提高篇)
49
4.1数据模型 数据模型是现实世界数据特征的抽象。在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。数据模型用于描述数据与数据之间的联系。 数据模型的种类很多,目前被广泛使用的可分为两种类型。一种是独立于计算机系统的数据模型,它完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型(Conceptual Data Model)”,简称概念模型。
50
另一类数据模型是面向数据库的逻辑结构的,是现实世界的第二层抽象。涉及到计算机系统和数据库管理系统,称为“逻辑数据模型(Logical Data Model)”。这类模型有严格的形式化定义,以便于在计算机系统中实现。
51
在学习概念数据模型之前,我们先来了解下列一些术语。
(1)实体(Enity):客观存在,可以相互区别的事物称为实体。实体可以是具体的对象,例如一名女学生、一辆汽车等,也可以是抽象的事件,如一次比赛、一次借书等。 (2)实体集(Enity Set):性质相同的同类实体的集合,称为实体集。例如所有的女同学、全国足球锦标赛的所有比赛等。 (3)属性(Attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如学生有学号、姓名、年龄、性别等属性,相应值域为字符串、字符串、整数和字符串。
52
(4)键(Key):能唯一标识每个实体的属性或属性集,称为实体的键。例如学生的学号可以作为学生实体的键。
(5)联系(Relationship):是实体间的相互关系,反映了实体集之间相互依存的状态,主要包括一对一联系(1:1)、一对多联系(1:N)和多对多联系(M:N)。
53
在应用中,通常采用“实体联系模型(Enity Relationship Model,简称E-R模型)来表示概念模型。为了表示现实世界中事物及事物之间的关系,E-R图主要包括四种图素。
属性 联系
54
例1:反映学生、课程、班级信息的E-R图 学生 组成 班级 课程 选课 学号 性别 姓名 年龄 系别 班号 专业 成绩 课程号 学分 人数
课程名
55
4.2逻辑数据模型 概念数据模型是现实世界的第一层抽象,必须换成逻辑数据模型,才能在DBMS中实现。
56
(1)层次数据模型 层次数据模型(Hierarchical Data Model)是一种用树型(层次)结构表示实体类型及实体间联系的数据模型。
57
(2)网状数据模型 网状数据模型(Network Data Model)是指用有向图(网络)结构表示实体类型及实体间联系的数据模型。
58
(3)关系数据模型 关系数据模型(Relational Data Model)是目前使用最广泛的一种数据模型,其主要特征是用表格结构表达实体集,用外键表示实体间联系。 在关系数据模型中,数据的逻辑结构是一张二维表,由行(记录)和列(属性或字段)组成。
59
例如一个描述学生课程的关系模型,包括了一组关系模式:
S模式(Sno,Sname,Ssex,Sdept) C模式(Cno,Cname,Ccredit,Cdept) SC模式(Sno,Cno,Grade)
60
与前两种模型相比,关系模型是用键而不是用指针导航数据,其表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行操作,并不涉及存储结构、访问技术等细节。
尽管关系与二维表格有相似之处,但它们又有区别。严格地说,关系是一种规范化了的二维表。
61
在关系模型中,每个关系有如下特点: ① 关系中每一个属性都是不可分解的,一个关系中不允许出现重复的属性; ② 关系中不允许出现重复的记录; ③ 关系中不考虑元组之间的顺序; ④ 元组中属性也是无序的。
62
5. 常见的数据库管理系统
63
目前广泛使用的数据库管理系统有: 国外:有Microsoft公司开发的Access、SQL Server,Oracle公司的Oracle、MySQL,Sybase 公司开发的Sybase,IBM公司开发的DB2等; 国内:中国人民大学开发的金仓Kingbase ES ,华中科技大学开发的DM系统,南大通用Gbase 8a。
64
ZDC:互联网消费调研中心
65
5.1 Oracle Oracle是当今最大的数据库公司Oracle(甲骨文)公司的数据库产品。
它是世界上第一个商品化的关系型数据库管理系统。 它是目前世界上使用最广泛的数据库管理系统,始终处于数据库领域的领先地位。 Oracle采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象的数据支持,具有第四代语言的开发工具,支持Unix、Linux、Windows和OS/2等多种平台。
66
1989年,Oracle公司正式进入中国市场,成为第一家进入中国的世界软件巨头,并创建了Oracle中国公司。目前,Oracle的大部分产品已实现了全面中文化。
2007年,Oracle宣布推出Oracle 11g,Oracle 11g在原有基础上增加400多项功能。 Oracle 11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理,增强了Oracle数据库独特的数据库集群、数据中心自动化和工作量管理功能,使Oracle数据库变得更可靠、性能更好、更容易使用和更安全。 迄今为止,在甲骨文推出的产品中,Oracle11g是最具创新性和质量最高的软件。在数据关键及业务关键领域,Oracle是首选的数据库产品。
67
5.2 Microsoft SQL Server Microsoft SQL Server是美国微软公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows NT 的膝上型电脑到运行大型多处理器的服务器等多种平台使用。
68
(1)SQL Server发展历史 SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。 1998年,微软公司推出有巨大变化的SQL Server 7.0版本,这一版本在数据存储和数据库引擎方面发生了根本性的变化。
69
2000年,微软公司推出SQL Server 2000,主要是在7
70
2005…… 2008…… 2012年,微软正式发布SQL Server 2012版本,使数据库管理系统更加具备可伸缩性、更加可靠以及前所未有的高性能。微软此次版本发布的口号是“大数据”来替代“云”的概念,微软对SQL Server 2012的定位是帮助企业处理每年大量的数据(Z级别)增长。 SQL Server以它强大的功能和优越的性能,正在得到越来越广泛的应用。
71
(2)SQL Server常用工具 SQL Server为用户管理和系统管理提供了一组工具,主要有: ① 服务管理器
用来启动、暂停、继续和停止SQL Server、SQL Server Agent等服务。
72
② 企业管理器 SQL Server企业管理器是一个具有图形界面的综合管理工具,是访问、配置和管理SQL Server数据库的集成化工具。通过企业管理器可以访问SQL Server数据库服务器提供的所有服务,因此也通常将其称为SQL Server的管理工具集。
73
③ 查询分析器 查询分析器是一个图形化的数据库编程接口,是SQL server 客户端的重要组成部分。 在SQL Server查询分析器窗口中,可以使用SQL语句、T-SQL语句、SQL Server命令或存储过程对SQL Server数据库进行管理,如通过SQL语句进行数据库的创建和管理、数据表的创建和管理、录入数据表的数据等。
74
5.3 MySQL 近年来,开源数据库逐渐流行起来,由于具有免费使用、配置简单、稳定性好、性能优良等优点,开源数据库在中低端应用中占据了很大的市场份额,而MySQL正是开源数据库的杰出代表。 随着MySQL数据库功能的日益完善和可靠性不断提高,已经成为互联网平台上应用广泛的数据库软件。
75
(1)MySQL起源 MySQL数据库最初是由David Axmark、Allan Larsson和Michael Widenius 3个人于瑞典20世纪90年代开发的一个关系型数据库管理系统,最早起源于开源软件mSQL,很多重要组件也直接来自其他第三方的贡献。
76
1996年,MySQL 1.0发布,同年10月,MySQL 3.11.1正式发布。
MySQL从无到有,到技术的不断更新,版本的不断升级,经历了一个漫长的过程,这个过程是实践的过程,是MySQL成长的过程。在实际应用方面,LAMP(Linux+Apache+MySQL+Perl/PHP)也逐渐成为了IT业广泛使用的Web应用架构。
77
5.4 Microsoft Access Microsoft Office Access是由微软公司把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。 它是微软Microsoft Office的系统程序之一,被称为桌面型数据库管理系统。
78
(1)Microsoft Access的用途
① 用来进行数据分析; ② 用来开发软件;
79
① 数据分析 Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。 比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的,Access提高了工作效率和工作能力。
80
② 开发软件 比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。
低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。Access实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。 另外,在开发一些小型网站WEB应用程序时,用来存储数据。
81
(2)Microsoft Access发展历史
Microsoft Access 1.0 版本在1992年11月发布,运行在操作系统Windows 3.0中。 …… 2007年,微软公司发布Microsoft Access 2007,运行在操作系统Windows xp sp2、vista中,隶属于Office 2007。 2010年,微软公司发布Microsoft Access 2010,运行在操作系统Windows 7中,隶属于Office 2010。 2013年,微软公司发布Microsoft Access 2013,运行在操作系统Windows 7、Windows 8中,隶属于Office 2013。
82
(3)Microsoft Access优点 ① 存储方式简单,易于维护管理。Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。 ② 是一个面向对象的开发工具。Access利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中,使得开发应用程序更为简便。
83
③ 界面友好、易操作。Access是一个可视化工具,风格与Windows一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 ④ 集成环境、处理多种数据信息。Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
84
⑤ Access支持ODBC。利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。 ⑥ 支持广泛,易于扩展,弹性较大。能够将通过链接表的方式来打开Excel文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以Access作为前台客户端,以SQL Server作为后台数据库的方式(如ADP)开发大型数据库应用系统。
85
总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
86
(4)Microsoft Access缺点 Access是小型数据库,既然是小型就有它的局限性,Microsoft Access的缺点有:
② 虽然理论上支持255个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在100个用户左右,而如果是并发编辑,则大概在10-20个用户。 ③ 记录数过多,单表记录数过百万性能就会变得较差,如果加上设计不良,这个限度还要降低。 ④ 不能编译成可执行文件(.exe),必须要安装Access运行环境才能使用。
87
6.管理数据库
88
6、管理数据库 本节内容以关系型数据库管理系统Microsoft Office Access 2010为基础介绍管理数据库的相关操作。
常见操作: 创建数据库 创建及管理数据表 创建表之间的关系 数据查询
89
6.1 创建数据库 基本步骤: 启动Access,在初始的欢迎界面选择【新建空白数据库】→【空白数据库】,则右侧会出现创建数据库的相关选项输入文件名“体检人员信息管理”,并通过【浏览】按钮选择数据库文件的存储位置,接下来单击【创建】按钮,即可完成数据库文件的创建。
91
(2)利用向导创建“学生信息”数据库 基本步骤: 启动Access,在欢迎界面中选择【模板类别】→【本地模板】→【学生】,在右侧出现数据库选项中输入数据库文件名“学生”,并选择数据库的存储位置,接下来单击【创建】按钮即可完成“学生信息”数据库的创建。
93
6.2 创建及管理数据表 (1)通过表设计器创建体检人员基本信息表 主要步骤:
第一步:打开体检人员信息数据库,选择菜单栏【创建】→【表设计】,即可打开数据表设计器窗口; 第二步:在表设计器中输入表的字段名称、数据类型,并进行字段大小、字段格式等选项的设置。 第三步:设置主键。 第四步:保存数据表。
96
(2)数据类型 数据类型决定了在数据表中用户能保存在该字段中值的种类。 创建数据表时,需要为每个字段中存储的数据内容指定字段名、字段类型。
Access数据库为字段提供了10种数据类型。
97
① 文本型(Text) 用于存储文本或文本与数字相结合的字符数据。在Access中,最长可存储255个字节,默认值是50个字节。设置文本类型的字段大小时,可根据字段内容的最长长度来确定,如一个英文字母或阿拉伯数字的字节大小为1个字节,而一个汉字或全角状态的字母与数字的字节大小均占2个字节。
98
② 数字型(Number) 用于存储进行数值计算的数据,如人员的身高、体重,学生的成绩等都可以设置为数字类型,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。
99
③ 日期/时间型(Date/Time) 用于存储日期和(或)时间值,如人员的出生日期,学生的入学日期等都可以设置为日期/时间类型,占8个字节。 日期/时间类型主要包括常规日期、长日期、中日期、短日期、长时间、中时间和短时间类型。
100
④ 货币型(Currency) 用来存储货币值,占8个字节,在计算中禁止四舍五入。主要包括主要包括常规数字、货币、欧元、固定、标准、百分比和科学计数类型。
101
⑤ 自动编号型(AutoNumber):用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能修改数值。
⑥ 是/否型(Yes/No):用于表示逻辑值(是/否,真/假),占1个字节。可输入“T、F、True、 false”,表示为 .T. .F. True false。 ⑦ 备注型(Memo):用于长文本或长文本与数字(大于255个字符)的结合,最长为65535个字符。
102
⑧ OLE对象型(OLE Object):用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、图片、声音等),最多存储1GB(受磁盘空间限制)。
⑨ 超级链接型(Hyper Link):用于存放超级链接地址,最多存储64000个字符。 ⑩ 查阅向导型(Lockup Wizard):让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。
103
(3)主键 主键就是数据库中用来标志唯一实体的元素,在关系型数据库中,数据表中通常不允许出现内容完全相同的记录,这就要求表中至少有一个字段,满足不同记录对应此字段的内容不同,比如一个学生表中有学号、年龄、性别等,其中学号就可以作为主键,而年龄和性别都不能确定唯一的成员,所以不能作为主键。 数据表中主键可以是一个字段,也可以是字段的组合,不过每个数据表中只能有一个主键。
104
另外,在Access数据库中,也可以对数据表进行其他多种操作:如修改表的结构、添加字段、修改字段类型、修改字段名、添加数据记录及删除数据记录,也可以对输入的数据内容进行复制、粘贴、查找、替换、排序等基础操作。
105
6.3 创建表之间的关系 在体检人员信息数据库中,除了体检人员基本信息表之外,还有体检项目表、体检费用表、外科体检结果表、内科体检结果表和检验科体检结果表等数据表,如何将体检人员基本信息表和他们的检查结果表连接起来呢?
106
Access提供了一种建立表与表之间“关系”的方法,主要有一对一、一对多、和多对多三种类型,可以在两个表之间直接建立“一对一”和“一对多”的关系,而“多对多”的关系则要通过“一对多”的关系来实现。
107
例1:建立“体检人员基本信息表”和“内科体检结果表”的关系。
基本步骤: 1)新建“内科体检结果表”。打开体检人员信息数据库,选择菜单栏【创建】→【表设计】,在表设计器中输入表的字段,保存为“内科体检结果表”。
108
2)输入“内科体检结果表”数据并保存。
109
3)建立两个表的关系。 4)在“编辑关系”对话框中,单击【联接类型】,选择“3包括体检人员表中所有记录及内科联接字段相等的记录”,然后单击【创建】按钮,即可完成表之间关系的联接。
111
6.4 数据查询 Access数据库中,创建数据查询有“查询向导”有“查询设计”两种方式。
112
(1)使用“简单查询向导”查询所有体检人员的编号、姓名、性别、年龄和职业。
基本步骤为: 第一步:打开“体检人员信息管理”数据库,选择菜单栏【创建】→【查询向导】,选择【简单查询向导】。 第二步:选择 “表:体检人员基本信息表”,并依次添加用于查询的字段。 第三步:选择查询方式为“明细”,接下来输入查询的标题,单击【完成】按钮即可完成本次查询的创建。
114
(2)使用“交叉表查询向导”查询不同职业的体检总人数。
基本步骤为: 第一步:打开“体检人员信息管理”数据库,选择菜单栏【创建】→【查询向导】,选择“交叉表查询向导”。 第二步:选择数据表“体检人员基本信息表”,选定行标题字段“职业”。 第三步:选定列标题字段 “性别” 。 第四步:选择计算函数 “计数”。 第五步:输入查询的标题,单击【完成】按钮即可完成查询的创建。
116
(3)使用“查询设计”查询教师职业的人员编号、姓名、性别和年龄。
基本步骤为: 第一步:打开“体检人员信息管理”数据库,选择菜单栏【创建】→【查询设计】,选择“体检人员基本信息表”,单击【添加】按钮即可将数据表添加至查询设计视图。 第二步:在查询设计视图下方栏目中,依次选择字段“编号”、“姓名”、“性别”、“年龄”、“职业”,并设置字段 “职业”为“不显示”,以及在字段“职业”的条件中输入“教师” 。 第三步:保存该查询。
118
(4)使用“查询设计”查询体检人员中每个职业的平均年龄。
基本步骤为: 第一步:打开“体检人员信息管理”数据库,选择菜单栏【创建】→【查询设计】,选择“体检人员基本信息表”,将数据表添加至查询设计视图。 第二步:在查询设计视图中,选择菜单栏【查询工具】→【设计】→【∑(汇总)】按钮,则查询设计界面即可增加一项“总计”栏目。 第三步:在查询设计视图下方栏目中,选择字段“职业”,“总计”栏目选择“Group by”;选择字段“年龄”,在“总计”栏目选择“平均值” 。 第四步:保存该查询。
120
(5)使用“SQL语句”查询女教师的编号、姓名、性别和年龄。
基本步骤为: 第一步:打开“体检人员信息管理”数据库,选择菜单栏【创建】→【查询设计】,在弹出的 “显示表”对话框中选择“体检人员基本信息表”,单击【添加】按钮即可将数据表添加至查询设计视图。 第二步:在查询设计视图中,选择菜单栏【查询工具】→【视图】→【SQL视图】,即可切换至SQL视图。 第三步: 在SQL视图中输入SQL语句,保存该查询。
122
7. 数据库领域新技术(提高篇)
123
7.1 数据仓库 数据仓库(Data Warehouse)一词最早出现于20世纪90年代初,由W.H.Inmon提出,其描述为:数据仓库是为支持企业决策而特别设计和建立的数据集合。 后来,他把数据仓库定义为“用于管理决策的面向主题、集成、稳定、随时间变化的数据集合”,他指出了数据仓库面向主题、集成、稳定、随时间变化这四个重要的特征。
124
① 面向主题 业务系统是以优化事务处理的方式构造数据结构的,对于某个主题的数据常常分布在不同的业务数据库中,这对决策支持是极为不利的,因为这意味着访问某个主题的数据实际上需要去访问多个分布在不同数据库中的数据集合。因此,数据仓库将这些数据集中在一个地方,在这种结构中,对应某个主题的全部数据被存放在同一张表中,这样决策者可非常方便的在数据仓库中的一个位置检索包含某个主题的所有数据。
125
② 数据的集成性 全面而正确的数据是有效地分析和决策的首要前提,相关数据收集的越完整,得到的结果就越可靠。
126
③ 数据的稳定性 业务系统一般只需要当前数据,在数据库中也通常存储短期数据。但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。在数据仓库中,数据一旦被写入就不再变化了。例如在3月25日,011客户的消费金额为200元,到3月27日,011客户的消费金额是300元,这一信息在业务系统中被更新了,但是在数据仓库中,3月25日的数据提取结果增加了记录XXX,在3月27日继续增加一条新的记录YYY,原先的记录不发生改变。
127
④ 随时间变化的 由于数据仓库中的数据只增不删,这使得数据仓库中的数据总是拥有时间维度。数据仓库实际上就是记录系统的各个瞬间,并通过将各个瞬间连接起来形成动画,从而在数据分析的时候再现系统运动的全过程。
128
(2)数据仓库的处理过程 数据仓库不是一个新的平台,是为了满足人们在高度数据积累的基础上进行数据库分析的需要而产生的,仍然建立在数据库管理系统的基础上。 数据仓库是存储数据的一种组织形式。由于数据库和数据仓库应用的出发点不同,数据仓库将独立于业务数据库系统,但是数据仓库又与业务数据库系统息息相关。也就是说,数据仓库不是简单地对数据进行存储,而是对数据进行“再组织”
129
数据在数据仓库处理的过程主要有: ① 数据提取(Data Extraction) 从数据仓库的角度看,并不是业务数据库中的所有数据都是决策支持所必需的。通常,数据仓库按照分析的主题来组织数据,只需提取出系统分析必需的那部分数据即可。 ② 数据 所谓“清洗”就是将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响决策支持系统的正确性。清洗(Data Cleaning)
130
③ 数据转化(Data Transformation)
由于业务系统可能使用不同的数据库厂商的产品,如IBM DB2、Sybase、SQL Server等,各种数据库产品提供的数据类型、测量单位可能不同等,因此,需要将不同格式的数据转换成统一的数据格式。 ④ 数据存储(Data Repository) 数据仓库存储用于存放数据仓库数据和元数据。数据的存储方式主要有三种:多维数据库、关系型数据库以及前两种的结合。
131
7.2 数据挖掘 (1)数据挖掘的经典案例 “尿布与啤酒”的故事是关于数据挖掘技术最经典和流传最广的故事。总部位于美国阿肯色州的世界著名商业零售连锁企业沃尔玛(WalMart)拥有世界上最大的数据仓库系统。为了能够准确了解顾客在其门店的购买习惯,沃尔玛利对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。 在这些原始交易数据的基础上,沃尔玛利用NCR数据挖掘工具对这些数据进行分析和挖掘。一个意外的发现是:“跟尿布一起购买最多的商品竟是啤酒!”。
132
那么这个结果符合现实情况吗?是否是一个有用的知识?是否有利用价值?
于是,沃尔玛派出市场调查人员和分析师对这一数据挖掘结果进行调查分析。经过大量实际调查和分析,揭示了一个隐藏在“尿布与啤酒”背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
133
既然尿布与啤酒一起被购买的机会很多,于是沃尔玛就在其一个个门店将尿布与啤酒并排摆放在一起,结果是尿布与啤酒的销售量双增长。
按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
134
(2)认识数据挖掘 数据挖掘(Data mining),又称数据库中的知识发现(Knowledge Discovery in Database,简称KDD),是指从大型数据库或数据仓库中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式。从技术角度来看,它是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取隐含在其中的、人们事先不知道但又是很有用的信息和知识的过程。 数据挖掘是数据库研究中一个很有应用价值的新领域,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。
135
(3)数据挖掘的功能 分类 预测 关联规则分析 聚类分析 概念描述 孤立点分析
136
(4)数据挖掘的基本步骤 从数据本身来考虑,数据挖掘通常需要有信息收集、数据集合、数据规约、数据清理、数据变换、数据挖掘实施过程、模式评估和知识表示8个步骤。
137
7.3大数据技术 也许您刚访问了淘宝网,仍然回味着刚刚拍下的宝贝;也许您不经意打开新浪页面,突然发现它好像能猜透您的心思,不断推送您喜欢的商品。是不是有了些许当“上帝”的感觉? 大数据技术作为决策神器,日益在社会治理和企业管理中起到不容忽视的作用,美国、欧盟都已经将大数据研究和使用列入国家发展的战略,类似谷歌、微软、百度、亚马逊等巨型企业也同样把大数据技术视为生命线以及未来发展的关键筹码,让我们共同来了解大数据技术。
138
(1)大数据时代 自互联网诞生以来,数据一直以惊人的速度增长。门户网站、搜索引擎、社交网站的先后问世引领者传统互联网数据不断膨胀。而自从2008年开始,智能手机和平板电脑的快速普及又推动了移动互联网数据的迅猛增长。
139
除此之外,随着移动互联网、物联网和云计算的迅速发展,开启了移动云时代的序幕,大数据(Big Data)也越来越吸引人们的视线。与此同时,借助Internet的高速发展、数据库技术的成熟和普及、高内存高性能的存储设备和存储介质的出现,人类在日常学习、生活、工作中产生的数据量正以指数形式增长,呈现“爆炸”状态。 “大数据问题”( Big Data Problem)就是在这样的背景下产生的,成为科研学术界和相关产业界的热门话题,并作为信息技术领域的重要前沿课题之一,吸引着越来越多的科学家研究大数据带来的相关问题。
140
(2)大数据的基本特征 对于大数据,专家们提出 “四V”概念,即大量化(Volume)、多样化(Variety)、快速化(Velocity)和价值(Value),是大数据时代的显著特征,这些特征正在给现在的IT企业带来巨大挑战。 在大数据的“四V”中,大量化(Volume)是显而易见的,高德纳(Gartner)公司研究认为,新产生的数据量每年正以至少50%的速度增长,思科(Cisno)公司在一份报告中推测2015年仅移动数据量将会突破每月6EB,等于60亿GB字节。
141
多样化(Variety)是指半结构化、非结构化数据的量和结构化数据一样在飞速增长,如全世界40亿手机用户已经将自己变成的数据流的提供者。高德纳(Gartner)公司指出,到2012年非结构化数据在所有数据中的比例已经高达85%,并且比结构化数据增长更快。 快速化(Velocity)主要指商业和各种相关领域处理的交易以及数据在越来越高的速度和频率产生。以对处理速度要求较高的电子商务交易网站为例,淘宝网在2012年“双十一”单日促销中,总销售额达到了191亿元。汹涌而入的消费者,带来的是交易和支付数据的激增,相关数据的快速、准确处理直接影响到最终销售规模。 价值(Value)则是指数据运营和应用的重要性。
142
(3)大数据的关键技术 大数据技术,就是从各种类型的数据中快速获得有价值信息的技术。大数据领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和呈现的有力武器。 大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。
143
Thanks.
Similar presentations