第七下载是国内最新、最齐、最安全的软件下载基地!

关于我们最近更新 热门排行

热门搜索:腾讯QQWindowsAutodeskAdobeAndroid

当前位置:首页 ›› 编程开发 ›› 关于MySQL数据库的组织结构

关于MySQL数据库的组织结构

2014-12-15 11:34   作者:佚名   来源:本站整理   浏览:492   评论:0  

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。在数据库的世界里,MySQL被划分到关系数据库管理系统(Relational Database Management System,RDBMS)的范畴内。我们可以把这个短语划分为以下几个部分。

数据库(database,即RDBMS里的DB)就是一个用来存放信息的仓库,它们构造简单,遵守一定的规则:

数据库里的数据集合都存放在数据表(table)里;

数据表由数据行(row)和数据列(column)构成;

一个数据行就是数据表里的一条记录(record);

记录可以包含多个信息项,数据表里的每一个数据列都对应一个信息项。

管理系统(management system,即RDBMS里的MS)指的是用来对数据进行插入、检索、修改、删除等操作的软件。
关于MySQL数据库的组织结构

关系(relational,即RDBMS里的R)表示RDBMS是DBMS中的一种,这种DBMS的专长就是把分别存放在两个数据表里的信息联系(即相互匹配)起来,而这种联系是通过查找两个数据表的共同元素来实现的。RDBMS的威力在于它能方便地抽取出数据表里的数据并把它们与其他相关数据表的信息结合起来,为那些单独利用某个数据表无法找到答案的问题提供答案。(事实上,"关系"的正式定义与这里有所不同,为此我向纯粹主义者们表示道歉,但这里的定义有助于解释RDBMS的用途。)

关系数据库是如何把数据组织到数据表里的?又是如何把来自不同数据表的信息联系在一起的呢?我们来看一个例子。假设你有一个包含横幅广告服务的网站,并与一些想登广告的公司签订了合同。每当有访客点击了你的某个页面时,你就会把一条广告嵌入到页面里,将其发送给访客的浏览器。同时,你还会向刊登这条广告的公司收取一笔小小的费用。这样就是一次广告点击。为了记录这些信息,你使用了3个数据表(如图1-1所示)。company数据表由以下几个数据列构成:公司名称(company_ name)、公司编号(company_num)、地址(address)和电话号码(phone)。ad(广告)数据表由以下几个数据列构成:广告编号(ad_num)、拥有该广告的公司的编号(company_num)和该广告每被点击一次的计费标准(hit_fee)。hit(点击情况)数据表由以下几个数据列构成:广告编号(ad_num)和该广告被发送给浏览者的日期(date)。

有些问题只用一个数据表就能得到答案。比如说,如果你想知道有多少家公司与你签订了广告合同,你只要数一数company数据表总共有多少行就行了。如果你想了解在某个给定的时间段内有多少次广告点击,也只需用到hit数据表。可有些问题会比较复杂,需要查询多个数据表才能找出答案。例如,在7月14日这一天里,Pickles公司的各条广告分别被点击了多少次?要想回答出这个问题,就必须把这3个数据表都用上,如下所示。

(1) 在company数据表里根据公司名称(Pickles, Inc.)查出对应的公司编号(14)。

(2) 利用这个公司编号在ad数据表里查找与之匹配的记录以确定相关的广告编号。我们找到了两个符合条件的广告,编号是48和101。

(3) 利用这两个广告编号从hit数据表里把落在给定日期范围内的匹配记录找出来,再对匹配到的记录个数进行统计。最后,我们查出编号为48的广告有3个匹配,编号为101的广告有2个匹配。

关于MySQL数据库的组织结构

图1-1 横幅广告数据表

听起来太复杂了,但这正是关系数据库系统所擅长的。而且,虽然看起来很复杂,但上面这几个步骤也只是几个简单的匹配操作而已:我们把一个数据表与另一个数据表联系起来,看前一个数据表的数据行取值是否与后一个数据表的数据行取值相匹配。把这几步简单的操作推广开来,我们就能找出各种问题的答案:各家公司分别有多少个不同的广告?哪家公司的广告最受欢迎?每个广告会带来多少收益?在本结算期内,每家公司应该支付你多少广告费?

现在,你对关系数据库理论的了解已经足以让你读懂本书后续章节的内容了,我也不想再用"第三范式"(Third Normal Form)、"实体联系图"(Entity Relationship Diagram)之类的枯燥概念去烦扰大家。(如果你想了解这些概念,我建议你去读读C. J. Date或E. F. Codd的著作。)

Tags:责任编辑:kang1127
    1. 数据库软件(PC)数据库软件

      数据库软件是一系列关于数据库方面的常用软件和实用工具,比如数据库管理、SQL、MySQL、数据库开发类软件等等,还继承了一些强大的小工具,旨在为用户提升工作效率,简化数据库管理。如果你是从业者,不妨看看。...

    软件评论

    请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

        登录   注册
    猜你喜欢