简介 1.1数据库系统应用


Introduction

? ?Database-management system DBMS是一组相互关联的数据和一组访问这些数据的程序。数据之集合,常称为database,包含着与某企业相关的数据。DBMS的首要目标就是提供存储和检索数据库信息的方法,且要求该方法简便、有效。

??数据库系统其设计目的就是管理大体量信息。信息管理包含信息存储结构的定义、提供操作信息的方法。另外,数据库系统必须保证信息存储的安全,因为系统可能崩溃或者存在未授权访问行为。若数据将在多用户间共享,系统必须能避免可能的异常行为。

? ?在大部分组织中,信息是如此重要,故而码农们发明了诸多概念、技术用于管理数据。这些概念、数据即是本书重点。本章将简要介绍数据库系统的原理。

1.1 Database-System Applications

? ?最早的数据库系统出现在1960s,用于实现商业数据管理的电子化。对比现代数据库应用,这些早期应用相对简单。现代应用包含高度复杂的全球企业。

? ?所有的数据库应用,无论新旧,都具有重要的公共元素。应用的核心并不是完成计算的程序,而在于这些数据本身。如今,世界上这些大公司之所以有市值,不是因为它们的实物资产,而是它们所拥有的信息。想象一个丢失账户、客户信息的银行或者是用户之间不能互联的社交网络。这样的公司,其价值在当今环境下约等于无。

? ?应用数据库系统管理的数据,应具以下特征:

  • 具有高价值
  • 相对体量大
  • 常有多用户或程序同时访问

? ?第一个数据库应用仅用于管理简单、格式精确、结构清晰的数据。今时今日,数据库应用中存储的数据可能有这复杂关系和更多变的结构。举一个数据结构简单的应用为例,考虑大学中关于课程、学生、课程登记的记录。学校维护每门课程的同类型信息:课程标识符、名称、部门、编号等等,同样的,对学生来说:学生标识符、名字、地址、手机等。课程登记则是一组数对:一个课程标识符和一个学生标识符。此类信息有标准、重复的结构,正是1960s数据库应用的代表类型。社交网站则正与这种简单大学数据库应用相反。用户发布关于他们自己各种类型的信息,从简单的名字、生日到文字、图片视频、他链。这些数据之间共享的结构十分之有限。然而,这两种数据库应用都有着数据库的基本特征。

? ?现代数据库系统开发了公共的数据结构以提高效率,同时也适用结构较为复杂的数据或是格式多变的数据。因此,数据库是一种体量大且复杂的软件系统,其任务就是管理大量、复杂数据。

? ?管理复杂性很具挑战,不仅在管理数据方面,方方面面都如此。管理复杂性的关键在于抽象性。抽象性使得人们可以使用复杂设备或系统,但无需了解该设备或系统搭建的细节。例如,人们可以通过学习如果操控车辆来学会驾驶。但驾驶人无需知道引擎是怎样生产或运行的。同样的,对于一个大体量的复杂数据集,数据库系统为信息提供了一种更简单、抽象的视角,如此用户和开发者无需知道数据存储和组织的底层细节。对企业而言,高度抽象下,数据库系统使得他们可以将企业运行所需的各型数据结合存储至统一的存储库中。

? ?下列是部分代表应用:

  • 企业
    ? ?销售:客户、产品、采购信息
    ? ?财会:支付信息、收据、账户余额、资产、其他会计信息
    ? ?人力资源:员工信息、薪资及计算、税资、收益

  • 制造业:
    ? ?供应链管理、产品及零件追踪、库存目录维护、订单管理

  • 银行与金融
    ? ?银行:客户信息、账户、贷款、银行交易
    ? ?信用卡业务:用于信用卡购买和月结单的生成
    ? ?金融:存储有关股票和债券等金融工具的持有、销售和购买的信息;存储实时市场数据以便用户在线交易及机构自动操作

  • 大学:
    ? ?学生信息、课程登记、分数等(另外还有一些组织相关信息,如人力资源和账户等)

  • 航线:
    ? ?预订及行程信息,航线是最先以地理分布方式使用数据库的公司之一。

  • 电信:
    ? ?通话记录、短信、流量使用、月度账单、预付电话卡余额、通信网络信息等。

  • 网站服务
    ? ?社交媒体:用户信息、用户间关系(如朋友、粉丝等)、用户所发布之信息、发布信息之分级/被赞信息等/
    ? ?电商:销售数据及订单、用户浏览相关信息、搜索关键词等(用以寻找最佳推荐)
    ? ?线上广告:点击历史记录以针对性投放、产品建议、新闻等。人们在网页上搜索一次、下一次单或者登一回社交媒体都会访问如此的数据库。

  • 文档数据库:维护文章收录集、专利、出版论文等。

  • 导航系统:维护地理位置信息以及路线、火车系统等

? ?如列表所示,数据库不仅是每个企业的重要组成,也是每个人的日常活动里的重要组成。

? ?人们与数据库间的交互方式也随着时间改变。早期数据库在后台系统中维护,用户使用打印报告和纸质表格来输入。随着数据库系统愈发复杂,人们开发了更便捷的语言来供开发者操作数据,还有允许企业内用户查询升级数据的用户界面。

? ?随着开发者与数据库交互手段的发展以及计算机性能的提升和硬件成本的减低,更复杂的应用产生了并将数据库从企业内的终端用户带到了普罗大众面前。当银行的客户在取款机上进行业务操作时,自动取款机允许直接的客户的直接交互。今日,几乎每个企业的网页端应用或者APP都允许客户直接与企业数据库交互,从而与企业本身交互。

? ?用户或客户能专注于产品或服务,而无需了解大数据库中实现交互操作的具体细节。如当人们读到一条博文或登陆在线书店借书或是专辑,此时就正在访问数据库中存储的数据。当进入某银行网站、检查账户余额和交易信息,这些信息就将银行的数据库系统中检索出来。当登入某网站,关于你的相关信息就有可能从某数据库中被检索出来,以决定推送何种广告。几乎智能手机上的所有操作某种程度上都是对数据库的访问。甚至,网站访问记录的数据也可以存储在某数据库中。

? ?尽管用户界面隐去了访问数据库的细节,且大部分人都没意识到他们正与数据库打交道,但访问数据库的确构成了今日每个人日常生活中的重要一部分。

? ?一般来讲,有两种数据库模型:

  • 第一种模型支持在线事务处理,大量用户使用数据库,每个用户检索相对少的数据并执行少量更新。该种模型适用于先前列出的面向大量用户的数据库应用。
  • 第二种模型支持数据分析,处理数据得出结论,从而推出规律或者结论过程,常用于商业决策。
    ? ?例如,银行需要决定是否放贷给申请人,在线广告商需要觉得投放哪种广告给特定用户。这些任务可分为2步。首先,数据分析技术将从数据中自动地总结规律和形式再搭建预测模型。这些预测模型以个人的属性/特征作为输入,然后输出预测结果,如还贷可能性、点击广告的可能性等,这些结论后续即将被用于商业决策。
    ? ?再如,制造零售业需要决定制造哪些产品或订购多少产品;这些决定即由用于分析过往数据、预测趋势的技术所驱动。错误决定的代价可能十分高昂,因此各组织更愿意投入许多钱来收集或者采购需要的数据,并建立能利用这些数据做出准确预测的系统。
    ? ?数据挖掘领域结合了由人工智能学者和统计分析师发明的知识发现技术与有效的实施技术,使之能用于超大型数据库。

相关