|
|
|
|
移动端

1.1 引言

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第1章数据库简介,本章将首先介绍数据库系统。本节为引言。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 14:52

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


第1章 数据库简介

本章目标

本章我们主要学习:

数据库系统的重要性

某些常见的数据库系统应用实例

基于文件的系统的特性

基于文件的系统所面临的问题

术语“数据库”的含义

术语“数据库管理系统”(DBMS)的含义

DBMS的典型功能

DBMS环境的主要组成部分

与DBMS环境有关的各类人员

DBMS的发展历史

DBMS的优缺点

不过区区50年,数据库的研究对国民经济和人类社会产生了巨大的影响,诞生了一个年产值在350亿至500亿美金的产业。数据库系统,也就是本书的主题,毫无疑问是软件工程领域最引人注目的成就,并且数据库目前作为所有信息系统的基础,正改变着许多组织机构的运作方式。随着硬件功能、硬件容量的显著提高以及通信技术的快速发展,包括万维网、电子贸易、商务智能、移动通信和网格计算等技术的出现,数据库系统的重要性已经越来越突显。

数据库技术本身已经成为一个令人振奋的研究领域,同时催化了软件工程领域许多其他方向的发展。数据库的研究远没有终止,还有许多问题尚待探讨。实际上,随着数据库系统应用越来越复杂,人们必须重新考虑现在正在使用的许多算法,例如文件存储、访问和查询优化的算法。原来的这些算法对软件工程的发展曾做出了重要贡献,毫无疑问,不断出现的新算法也将显现同样的影响。本章将首先介绍数据库系统。

由于其重要性,若干有关计算和商务的课程都包括数据库系统的内容。本书主要讨论与数据库系统实现和应用相关的问题。我们也将集中学习如何设计一个数据库,并给出一套方法学以指导大家设计或简或繁的数据库。

本章结构

1.1节引入了一些日常生活中常用但却未引起特别注意的数据库系统应用实例。1.2节和1.3节中,将早期用于手工文件计算机化的基于文件的方法与现代更实用的数据库方法进行比较。1.4节讨论了在数据库环境中人可能担任的四种角色,分别是数据和数据库管理员、数据库设计人员、应用开发人员和终端用户。1.5节简单回顾了数据库的发展史,1.6节讨论数据库系统的优缺点。

贯穿全书,我们使用一个称为DreamHome的系统作为例子来介绍所有的概念,它基于一个虚拟的房产管理公司。11.4节和附录A对这个例子进行了详细的叙述。附录B提供了另外一些更加实际的案例,许多章后习题将用到这些案例。

1.1 引言

数据库系统其实现在已是人们生活中密不可分的一部分,只是并非每个人使用时都有所察觉。作为对数据库讨论的开始,本章首先查看数据库系统的一些常见应用。为此,暂时将数据库看作一组相关的数据,将数据库管理系统(DBMS)看作管理和控制这组数据的软件。而数据库应用就是一个程序,它在运行过程的某些点上与数据库相互作用。此外,我们使用术语数据库系统来指代包括与数据库相互作用的一组应用程序、DBMS和数据库在内的所有东西。1.3节将对上述各个术语给出更加准确的定义。

超市购物

当我们在超市购买商品时,其实就是在访问一个数据库。收银员使用条形码阅读器扫描客户购买的每一件商品。这个条形码阅读器连接着一个访问商品数据库的应用程序,该程序根据条形码从商品数据库中找出商品价格,从库存中减去本次销售这种商品的数量,并且在屏幕上显示价钱。如果存货量低于预定的阈值,数据库系统将提示进货以补充存货。如果有客户向超市打电话订购商品,售货员可以通过运行应用程序,从数据库中检查某商品是否有足够的存货。

信用卡消费

当使用信用卡购买商品时,售货员一般要检查客户是否有足够的信用额度。该项检查可以通过打电话进行,也可以通过一个与计算机系统相连接的信用卡阅读器自动进行。无论哪种方式,一定在某处存有该客户使用信用卡购买过商品的所有信息。为了检查客户的信用情况,需要有一个数据库应用程序,使用信用卡号码检索这个月客户已购买商品的总价格,加上这次希望用信用卡购买的商品的价格,判断是否仍在信用额度之内。如果这次购买被确认,则购买的详细内容将被记录到该数据库中。应用程序还要访问数据库,在同意购买之前,检查信用卡不属被盗或者丢失之列。此外,一般还有一些其他的应用程序负责每月向信用卡持卡人发送信用卡使用记录,并在收到付款之后向信用卡持卡人发送信息。

通过旅行社预订假期行程

当旅客向旅行社咨询假期行程安排时,旅行社将访问多个包含假日和航班详细信息的数据库。若客户预订旅程,数据库系统必须进行所有必要的预订安排。在这种情况下,系统必须确保一个座位不被两个不同的旅行社预订,以及航班的预订座位不超过航班的固定座位。例如,假设从伦敦飞往纽约的航班上仅剩最后一个座位,却有两个旅行社同时要求预订该座位,系统必须能够分辨和处理这种情况,即允许一个预订继续进行,通知另外一个旅行社已经没有剩余的座位。旅行社通常可能还有另外一个数据库用于开列票据。

使用当地图书馆

在图书馆中可能存在一个数据库,储存着图书馆中所有图书的详细资料、读者的详细信息以及图书预订信息等。可能还有一个计算机索引系统,供读者个人根据书名、作者或者摘要等信息查找书籍。数据库系统还能提供预订服务,即允许读者预订图书,当该书可以借阅时,用邮件的方式通知读者。系统还向借书的读者发送提醒信息,告知其在规定的期限内尚未归还所借书。典型的情况是,系统还配有一个条形码阅读器,与前述超市的场景相似,用来扫描并记录下进出图书馆的所有书籍。

投保

无论何时若想投保某个险种,比如寿险、家庭财产险或汽车保险,保险经纪人都可能要访问多个保险机构的数据库。数据库系统根据所提供的客户个人详细信息,如姓名、家庭住址、年龄等情况,来确定保险的金额。保险经纪人可通过查阅多个数据库,找到一个能给客户最大实惠的保险组织。

租借DVD

当你从某个DVD公司租碟时大都看到一个数据库,其中记录着每张DVD的名称和拷贝数以及每个拷贝是已借出还是在店里,还记录着每个会员(租借人)的详细信息,包括他目前借了那些DVD及应归还日期。数据库中也可能存储着关于每张DVD的更多信息,比如影片的导演和演员。公司可以利用这些信息监控库存的利用率,或根据历史租借数据预测未来趋势。

使用Internet

Internet中的许多网站都是通过数据库应用驱动的。例如,可以访问一个在线书店,浏览和购买书籍,比如Amazon.com。书店允许客户在不同的种类中浏览书籍,例如计算机类或者管理类,或者按作者的姓名来浏览书籍。无论何种情形,该组织的网络服务器中都存在一个数据库,含有所有书籍的详细信息,以及是否有存货、运送情况、库存量和正在订购等信息。书籍详细信息包括书名、ISBN、作者、价格、销售记录、出版社、简介和详细描述等。在数据库中书籍可被交叉引用。例如,一本书可能被列在多个种类下,比如同时列在计算机、程序语言、畅销书和推荐书籍名下。交叉引用使得Amazon网站能为客户提供与其感兴趣的主题相关的其他书籍的信息。

像前面的例子一样,可以通过提供自己信用卡的详细信息,在线购买一本或多本书籍。Amazon网站将通过保存所有先前交易的记录,包括购买的书目、送货地点和信用卡详细信息,为重返网站的用户提供个性化服务。当用户重返该网站时,将会看到自己的名字出现在欢迎语中,并且可以看到基于客户交易历史推荐的一组主题书籍列表。

大学学习

如果你正在大学就读,学校可能有一个包含学生所有信息的数据库系统,包括所注册的课程、曾获得的各类奖学金、往年已选择的课程和今年正在选择的课程以及所有考试成绩。可能还有一个数据库包含在大学中工作的员工的详细信息,为工资发放部门提供与工资相关的详细个人信息。

上述是常见数据库系统中的几个,你肯定还会遇见其他更多的数据库系统。虽然我们今天对这样一些应用司空见惯,但其实数据库系统是相当复杂的技术,历经了四十多年的发展。下一节我们先回顾一下数据库系统的前身:基于文件的系统。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

黑客入侵的主动防御

本书是一本非常全面地讲述黑客入侵主动防御技术的网络安全工具书。本书的重点是介绍黑客的攻击手段和提供相应的主动防御保护措施,在组织结...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊