MySQL数据库技术(03)[MySQL防范]
本文“MySQL数据库技术(03)[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
? 您大概会注意到,已经读了本书这么多页,但是还没有看到几句行话和术语.固然我们大致提了一下怎样操纵样例数据库,但事实上,关于什么是"数据库",我们一点东西都还没有介绍.不过,我们目前打算计划该数据库,然后开始实现它,这样就不能再避而不谈数据库术语了.介绍数据库术语就是本节的目的.本节介绍的一些术语全书都要用到,因此必须对其熟习.所幸的是,关系数据库中的很多概念是相当简单的.事实上,关系数据库的吸引力主要根源于其基本概念的简单性.
? ? 1.3.1 基本术语
? ? 在数据库世界中,MySQL 归类为关系数据库管理系统( R D B M S).所谓关系数据库管理系统的含义以下:
? ? ■ 数据库(RDBMS 中的"D B")是存储信息的仓库,以一种简单的、法则的方法举行组织:
? ? ■ 数据库中的数据集组织为表.
? ? ■ 每个表由行和列构成.
? ? ■ 表中每行为一个记录.
? ? ■ 记录可包含几段信息;表中每一列对应这些信息中的一段.
? ? ■ 管理系统("M S")是答应通过插入、检索、改正或删除记录来利用数据的软件.
? ? ■ "关系"("R")一词表示一种特别种类的D B M S,它通过探求彼此之间的共同元素使存放在一个表中的信息关联到存放在另一个表中的信息.关系数据库的本领在于它可以从这些表中便利地取出数据,并将关联各表中的信息相结合得出问题的答案,这些答案只根据单个表的信息是不大概得到的.这里有一个例子,示出了关系数据库怎样将数据组织成表并将一个表中的信息与另一个表中的信息相关联.假定您管理一个含有标题广告服务的Web 站点.您与公司有协议,这些公司但愿有人在拜访您的站点上的网页时显示他们的广告.每当一个拜访者点击您的页面一次,您就向该拜访者的浏览器供应了嵌在页面中的广告的一次服务,并且给公司预算一点费
用.为了表示这些信息,要保存三个表(请参阅图1 - 1).一个是company 表,它含有公司名、编号、地址和电话号码等列.另一个是ad 表,它列出广告编号、拥有该广告的公司的编号以及每次点击时的计费数.第三个hit 表按广告编号记录广告点击次数以及广告供应服务的日期.
? ? 操纵单个表的信息可以答复某些问题.为了肯定签协议的公司数目,只需对company 表中的行数计数便可.近似地,为了肯定某个给按时间段中的点击次数,只需查看hit 表便可.其他问题要更为复杂一些,并且必须考虑多个表以肯定答案.比方,为了肯定P i c k l e s .公司的每个广告在7月1 4日点击了多少次,应当按以下步骤利用这些表:
? ? 1) 查询company 表中的公司名(Pickles, Inc)以找到公司编号( 1 4).
? ? 2) 操纵公司编号查找ad 表中匹配的记录以便可以肯定相关的广告编号.有两个这样的广告,48 和1 0 1.
? ? 3) 对ad 表中匹配的每个记录,操纵该记录中的广告编号查找hit 表中在所需日期范围内的匹配记录,然后对匹配的记录举行计数.广告编号为48 的匹配记录有三个,广告编号为101 的匹配记录有两个.听起来很复杂!而这恰是关系数据库系统所擅长的.这种复杂性在某种程度可以说是一种幻觉,因为上述每一步只不过是一个简单的匹配操作,它通过将一个表的行中的值与另一个表的行中的值相匹配,把一个表与另一个表相关联.这个简单的操作可以各种方法利用来答复各种各样的问题.每个公司有多少个差别的广告?哪个公司的广告最受欢送?每个广告带来的收入是多少?当前记账期中每个公司的总费用是多少?目前我们已经介绍了关系数据库的理论,足以理解本书别的部份了,我们没必要根究第三范式、实体关系图以及全部这一类的东西.假如您确切需求理解这些东西,那就太令人可怕了,并且这也不是地方.倡议您从阅读C.J.Date 和E . F.Codd 的某些书籍动手.
? ? 1.3.2 查询语言术语
? ? M y S Q L利用一种称为S Q L(Structured Query Language)的语言.SQL 是当今的尺度数据库语言,全部主要的数据库系统都利用它.SQL 具有多种差别的语句,全部语句都是以一种不单调并有效的方法计划来与数据库举行交互的.正如其他语言一样, SQL 在初次接触时大概会令人感到有些古怪.比方,为了成立一个表,需求奉告MySQL 表构造应当是什么样的.我们大概会按照图表来想像一个表,但MySQL 不会,因此,在成立表时需求奉告MySQL 一些东西,以下所示:
? ? 假如您不熟习SQL 语句,大概会对这样的语句留下深化的印象,但您没必要以程序员的身份来学习怎样有效地利用S Q L.假如渐渐熟习了SQL 语言之后,就会以一种差别的目光来对待C R E ATE TABLE 语句,会认为它是一个有助于描写自己信息的搭档,而不是一种奇特的胡言乱语.
? ? 1.3.3 MySQL 的体系构造术语
? ? 在您利用MySQL 时,实际正利用以下两个程序,因为MySQL 采取的是客户机/服务器体系构造:
? ? ■ 数据库服务器是一个位于存放您的数据的机械上的程序.它监顺从网络上传过来的客户机的恳求并按照这些恳求拜候数据库的内容,以便向客户机供应它们所要求的信息.
? ? ■ 客户机是衔接到数据库服务器的程序,这些程序奉告服务器需求什么信息的查询.MySQL 分发包包含服务器和几个客户机程序.可按照要到达的目的来利用客户机.最常用的客户机程序为m y s q l,这是一个交互式的客户机程序,它能公布查询并看到后果.其他
的客户机程序有: mysqldump 和m y s q l i m p o r t,辨别转储表的内容到某个文件或将文件的内容导入某个表; mysqladmin 用来查看服务器的状况并完成管理任务,如奉告服务器关闭等.假如具有尺度的客户机不合适的利用,那么MySQL 还供应了一个客户机编程库,可以编写自己的程序.客户机编程库可直接从C 程序中调用,假如但愿利用C 语言以外的其他语言,还有几种其他的接口可用.
? ? MySQL 的客户机/服务器体系构造具有以下好处:
? ? ■ 服务器供应并发掌握,使两个用户不能同时改正相同的记录.全部客户机的恳求都通过服务器处理,服务器分类辨别谁预备做什么,什么时刻做.假如多个客户机但愿同时拜候相同的表,它们没必要彼此判决和协商,只要发送自己的恳求给服务器并让它细心肯定完成这些恳求的次序便可.
? ? ■ 没必要在数据库所在的机械上注册.MySQL 知道怎样在因特网上工作,因此您可以在任何位置运行一个客户机程序,此客户机程序可以衔接到网络上的服务器.距离不是问题,可从世界上的任何地方拜候服务器.假如服务器位于澳大利亚的某台机械上,那么当您带着自己的便携式电脑到冰岛去观光时,仍旧可以拜候自己的数据库.
? ? 这能否意味着任何人只要衔接到因特网便可以拜候您的数据?答案能否定的.MySQL 含有一个机动的安全系统,只答应那些有权限拜候数据的人拜候.可以保证那些人只可以做答应他们做的事.大概记账办公室的Sally 可以读取和更新(改正)记录,而服务台的Phil 只能查看记录.可以设置利用人员的权限.假如但愿运行一个自含系统(独立系统),只要设置拜候权限使客户机只能从服务器运行的主机上举行衔接便可.
以上是“MySQL数据库技术(03)[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |