2014中华架构师大会蓄势待发

会议官网

【大会介绍】
中华架构师大会又将与大家见面了!

2014年11月15日-16日,上海长城假日酒店,我们诚挚地欢迎您的参加!

自2010年11月首次举办以来,大会云集了国内水平最高的IT架构师、技术总监、项目经理、运维总监/经理、DBA经理、研发工程师等IT技术大牛,由最初的百人规模扩展到现今超千人的技术饕餮盛宴。大会一直受到业界广泛关注与赞誉,是目前华东与华南地区最受欢迎、人气最高的架构师技术交流盛会。本次大会将继续秉承分享IT最佳应用实践的宗旨,以“发现架构之美,实战为王”为主题,邀请国内知名互联网企业的资深架构师和工程师,探讨实下最热门的行业趋势与技术热点,分享架构在企业中的最佳实践。大会关键词:分布式文件系统、大数据、GO语言、自动化、分布式数据库、云计算架构设计等。

欢迎大家踊跃报名参会,大会期间将与各行精英面对面的交流,绝对让您不虚此行。

本届会议官方报名网站:http://meeting.zhdba.com

【大会详情】
会议名称: 2014中华架构师大会
会议时间: 2014年11月15日-16日
会议举办具体地址:上海恒丰路585号 上海广场长城假日酒店
票价: 免费
会议主办方:中华数据库行业协会
联系人:朱颖丹
电话:136 5197 9898
邮箱:zhuyingdan@zhdba.com

【主持人】

PostgreSQL从菜鸟到专家 第八章数据定义 数据类型(三)

数字数据类型

PostgreSQL的数字数据类型比我们现在为止遇到的类型都稍复杂,但是它们也不是特别难理解。我们可以存储两类不同的数字到数据库中,整数和浮点数字。再细分,整数类型有一些子类型,包括serial类型(我们已经使用过,用于在一个表中建立一个唯一的值)和不同大小的整数,如表8-3所示。

PostgreSQL从菜鸟到专家 第八章数据定义 数据类型(二)

字符数据类型

在任何数据库中,字符数据类型可能是最广泛使用的类型。有三种字符数据类型,用于表示以下字符变量:

l   单个字符

l   固定长度字符串

l   长度可变字符串

有很多标准的SQL字符类型,但PostgreSQL也支持text类型,它类似于变长字符串,除了我们不需要定义任何上限来限制长度。但是这不是标准的SQL类型,所以要小心使用它。标准的类型可以使用char,char(n)和varchar(n)定义。表8-2列出了PostgreSQL的字符类型。

PostgreSQL从菜鸟到专家 第八章数据定义 数据类型(一)

到现在为止,我们致力于研究PostgreSQL的工具和数据操作。虽然我们在本书老早的地方就建立了一个数据库,我们只是肤浅地了解了建表和PostgreSQL中的数据类型。我们通过使用主键和定义很少的几个不允许NULL值的列来简单定义我们的表。

在数据库中,我们最关注的就是数据的质量。针对数据执行非常严格的规则,通过数据库强制限制在最低级别,是我们可以用于保持数据一直的最好措施之一。这也是真正的数据库区别于简单的索引文件、电子表格等的功能之一。

在本章,我们将更深入地学习PostgreSQL中的数据类型以及如何操作它们。然后我们将学习如何管理表,包括如何使用约束,这使我们能够大大加强在添加数据到数据库中的表或从数据库中的表中删除数据时的规则。下一步,我们将简单学习视图。最后,我们将更深层次地学习外键约束并在建立我们更新版本的示例数据库时使用它们。我们将建立bpfinal数据库,我们将在之后的章节中使用这个示例数据库。

PostgreSQL从菜鸟到专家 Linux和Unix上配置PostgreSQL

在Linux和Unix上配置PostgreSQL

在你安装好PostgreSQL后,无论是通过RPM包或者通过源码编译,你都需要执行一些步骤让它运行起来。第一步,你需要建立一个叫postgres的用户,然后你需要为数据库建立一个目录并初始化数据库结构。然后,你可以通过启动postmaster进程启动PostgreSQL了。

建立postgres用户

PostgreSQL的数据库主进程postmaster是一个特别的程序。它负责处理所有的用户对所有数据库的访问。它必须允许用户访问自己的数据但在没授权的情况下不允许访问其他用户的数据。为了实现这个功能,它需要能够控制所有的数据文件,因而普通用户不允许直接访问这些文件。postmaster进程将通过检查访问数据的用户的赋权情况控制对数据文件的访问。

一般来说,PostgreSQL需要用一个非管理员用户运行,也就是说可以是任何普通用户;如果你在你的home目录里头安装了数据库,这个用户可以是你自己的用户。但是,PostgreSQL通常使用一个概念上的虚拟用户来完成数据访问。通常,这个一个叫做postgres的用户被建立用来管理这些数据文件,它不需要其他的访问权限。另外,postgres虚拟用户可以提供一些其他的安全措施,例如这个用户无法登录,所以别人无法非法访问这些数据。postmaster程序代表其他用户用这个用户去访问数据库文件。

PostgreSQL从菜鸟到专家 Windows中安装PostgreSQL

在Windows中安装PostgreSQL

在本小节开始前,先给Windows用户一些好消息。虽然PostgreSQL是为类UNIX平台开发的,它却是可移植的。

现在已经可能在Windows上写PostgreSQL客户端程序,而且从7.1版开始,PostgreSQL可以编译安装和作为一个PostgreSQL服务器运行在Windows NT 4,2000,XP和Server 2003中。

从PostgreSQL 8.0开始,已经有了Windows本地版本了,为服务端和客户端程序提供了Windows的安装程序,这让在Windows下的安装非常轻松。在8.0版之前,Windows用户需要安装一些软件来在Windows上提供UNIX功能。

PostgreSQL从菜鸟到专家 什么是数据库管理系统

 什么是数据库管理系统

韦氏在线字典(Merriam-Webster online dictionary,http://www.merriam-webster.com)定义数据库为一个为(通过计算机)高速搜索和检索的而特别组织的大量数据集。

数据库管理系统(database management system,DBMS)通常是一套用来让程序开发人员从繁重的数据存储细节和管理中解脱出来的程序库、应用程序以及工具套件。它还提供了用来搜索和更新记录的能力。多年来,数据库管理系统发展出大量的特点用来解决各种各样特别的数据存储问题。

数据模型

PostgreSQL从菜鸟到专家 第二章关系数据库原理

 第二章关系数据库原理

在本章中,我们将研究什么会组成一个数据库系统,特别是PostgreSQL这样的现实世界中非常有用的关系数据库系统。我们将从电子表格开始,它和关系数据库有很多相同的地方,同时也有重大的局限性。我们将学习像PostgreSQL一样的关系数据库怎么拥有比电子表格强悍的很多功能。顺带,我们将继续我们的非正式的对SQL的研究。

特别是,本章将讨论以下主题:

l   电子表格:它们的问题和局限

l   数据库怎样存储数据

l   怎样访问数据库中的数据

l   基本的数据库设计,用到多个表格

l   表之间的关系

l   一些基本数据类型

l   NULL值,用来表示一个未知的值

PostgreSQL从菜鸟到专家 数据库的数据存取设计

 将数据存入数据库

从表面上看,关系数据库,例如PostgreSQL,拥有很多类似于电子表格的地方。但是,当你了解数据库的底层结构,你可以发现它复杂得多,主要因为它有能力通过复杂的方法将表格关联到一起。它可以比电子表格有效地存储更多复杂的数据,并且它有用很多其他功能方便选择存储的数据。例如,数据库可以管理多个用户同时使用。

让我们看看存放我们简单的但表格客户列表到数据库,看这么做有什么好处。在后面的章节,我们将扩展它并看PostgreSQL怎么帮助我们解决客户订单的问题。

就像我们在前面章节看到的,数据库由表(tables)组成,或者用更正式的术语,关系(relations)。我们将在本书中使用表这个术语。表里头包含数据行(更正式的叫法是元组(tuples)),并且每条数据行都包含许多列(columns),或者叫做属性(attributes)。

首先,我们需要设计一个表来保存我们的客户信息。好消息是,电子表格的数据往往是一个几乎现成的解决方案,因为它按照一定的行和列保存数据。在开始建立一个基本的数据库表格前,我们需要确定三件事情:

PostgreSQL从菜鸟到专家 Linux和Unix系统上源码编译安装PostgreSQL

通过源码安装PostgreSQL

就像前一章讲述的,在很多Linux发行版中你可以使用RPM包安装PostgreSQL。另外,你可以在任何UNIX兼容的系统中从源码创建和安装PostgreSQL,包括Mac OS X。

PostgreSQL的源码可以在http://www.postgresql.org找到。在这里,你将找到最新的源码以及下一个版本的beta测试版的源码。除非你很喜欢尝鲜,否则建议你使用最新的稳定版本。

你可以找到整个打包了的PostgreSQL的源码,可能是gzip压缩的tar打包文件,就像postgresql-9.0.0.tar.gz或者bzip2压缩的tar打包文件,就像postgresql-9.0.0.tar.bz2。在写本文的时候,PostgreSQL打包文件已经超过13MB了。