MYSQL基本数据库术语

2008-02-23 07:42:32来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、基本术语

在数据库世界中,MySQL归类为关系数据库管理系统(RDBMS)。所谓关系数据库管理系统的含义如下:

■ 数据库(RDBMS 中的“DB”)是存储信息的仓库,以一种简单的、规则的方式进行组织:

■ 数据库中的数据集组织为表。

■ 每个表由行和列组成。

■ 表中每行为一个记录。

■ 记录可包含几段信息;表中每一列对应这些信息中的一段。

■ 管理系统(“MS”)是允许通过插入、检索、修改或删除记录来使用数据的软件。

■ “关系”(“R”)一词表示一种特别种类的DB MS,他通过寻找相互之间的一起元素使存放在一个表中的信息关联到存放在另一个表中的信息。关系数据库的能力在于他能够从这些表中方便地取出数据,并将关联各表中的信息相结合得出问题的答案,这些答案只依据单个表的信息是不可能得到的。这里有一个例子,示出了关系数据库怎样将数据组织成表并将一个表中的信息和另一个表中的信息相关联。假定您管理一个含有标题广告服务的Web 站点。您和公司有协议,这些公司希望有人在拜访您的站点上的网页时显示他们的广告。每当一个拜访者点击您的页面一次,您就向该拜访者的浏览器提供了嵌在页面中的广告的一次服务,并且给公司估算一点费用。为了表示这些信息,要保存三个表(请参阅图1- 1)。一个是company 表,他含有公司名、编号、地址和电话号码等列。另一个是ad 表,他列出广告编号、拥有该广告的公司的编号连同每次点击时的计费数。第三个hit 表按广告编号记录广告点击次数连同广告提供服务的日期。

利用单个表的信息能够回答某些问题。为了确定签协议的公司数目,只需对company 表中的行数计数即可。类似地,为了确定某个给定时间段中的点击次数,只需查看hit 表即可。其他问题要更为复杂一些,而且必须考虑多个表以确定答案。例如,为了确定Pickles.公司的每个广告在7月14日点击了多少次,应该按如下步骤使用这些表:

1) 查询company 表中的公司名(Pickles, Inc)以找到公司编号( 14)。

2) 利用公司编号查找ad 表中匹配的记录以便能够确定相关的广告编号。有两个这样的广告,48 和10 1。

3) 对ad 表中匹配的每个记录,利用该记录中的广告编号查找hit 表中在所需日期范围内的匹配记录,然后对匹配的记录进行计数。广告编号为48 的匹配记录有三个,广告编号为101的匹配记录有两个。听起来很复杂!而这正是关系数据库系统所擅长的。这种复杂性在某种程度能够说是一种幻觉,因为上述每一步只但是是个简单的匹配操作,他通过将一个表的行中的值和另一个表的行中的值相匹配,把一个表和另一个表相关联。这个简单的操作能够各种方式使用来回答各种各样的问题。每个公司有多少个不同的广告?哪个公司的广告最受欢迎?每个广告带来的收入是多少?当前记账期中每个公司的总费用是多少?现在我们已介绍了关系数据库的理论,足以理解本书其余部分了,我们不必探究第三范式、实体关系图连同任何这一类的东西。假如您确实需要了解这些东西,那就太令人恐怖了,而且这也不是地方。建议您从阅读C.J.Date 和E . F.Codd 的某些书籍入手。



二、查询语言术语

MySQL使用一种称为SQL(Structured Query Language)的语言。SQL 是当今的标准数据库语言,任何主要的数据库系统都使用他。SQL 具备多种不同的语句,任何语句都是以一种不枯燥并有用的方式设计来和数据库进行交互的。正如其他语言相同, SQL 在初次接触时可能会令人感到有些古怪。例如,为了创建一个表,需要告诉MySQL表结构应该是什么样的。我们可能会根据图表来想像一个表,但MySQL不会,因此,在创建表时需要告诉MySQL一些东西,如下所示:



假如您不熟悉SQL 语句,可能会对这样的语句留下深刻的印象,但您不必以程式员的身份来学习怎样有效地使用SQL。假如逐步熟悉了SQL 语言之后,就会以一种不同的眼光来看待CREATE TABLE 语句,会认为他是个有助于描述自己信息的伙伴,而不是一种奇怪的胡言乱语。

三、 MySQL的体系结构术语

在您使用MySQL时,实际正使用以下两个程式,因为MySQL采用的是客户机/服务器体系结构:

■ 数据库服务器是个位于存放您的数据的机器上的程式。他监听从网络上传过来的客户机的请求并根据这些请求访问数据库的内容,以便向客户机提供他们所需要的信息。



■ 客户机是连接到数据库服务器的程式,这些程式告诉服务器需要什么信息的查询。MySQL分发包包括服务器和几个客户机程式。可根据要达到的目的来使用客户机。最常用的客户机程式为mysql,这是个交互式的客户机程式,他能发布查询并看到结果。其他的客户机程式有: mysqldump 和mysqlimport,分别转储表的内容到某个文档或将文档的内容导入某个表; mysqladmin 用来查看服务器的状态并完成管理任务,如告诉服务器关闭等。假如具备标准的客户机不适合的应用,那么MySQL还提供了一个客户机编程库,能够编写自己的程式。客户机编程库可直接从C 程式中调用,假如希望使用C 语言以外的其他语言,更有几种其他的接口可用。

MySQL的客户机/服务器体系结构具备如下好处:

■ 服务器提供并发控制,使两个用户不能同时修改相同的记录。任何客户机的请求都通过服务器处理,服务器分类辨别谁准备做什么,何时做。假如多个客户机希望同时访问相同的表,他们不必互相裁决和协商,只要发送自己的请求给服务器并让他仔细确定完成这些请求的顺序即可。

■ 不必在数据库所在的机器上注册。MySQL知道怎样在因特网上工作,因此您能够在任何位置运行一个客户机程式,此客户机程式能够连接到网络上的服务器。距离不是问题,可从世界上的任何地方访问服务器。假如服务器位于澳大利亚的某台机器上,那么当您带着自己的便携式电脑到冰岛去旅行时,仍然能够访问自己的数据库。

这是否意味着任何人只要连接到因特网就能够访问您的数据?答案是否定的。MySQL含有一个灵活的安全系统,只允许那些有权限访问数据的人访问。能够确保那些人只能够做允许他们做的事。或许记账办公室的Sally 能够读取和更新(修改)记录,而服务台的Phil 只能查看记录。能够配置使用人员的权限。假如希望运行一个自含系统(单独系统),只要配置访问权限使客户机只能从服务器运行的主机上进行连接即可。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: MySQL程式设计介绍

下一篇: MySQL5的异常处理