Open Office Base 快速入门指南。

作者:Mike Diehl

即使有各种高质量的软件可用,有时您还是不得不着手编写自定义应用程序,而且通常您没有太多时间投入其中。当我的妻子开始一项新业务并需要一种简单的销售线索跟踪方式时,我发现自己就处于这种情况。值得称赞的是,她意识到她不能仅仅使用电子表格,而是需要一个数据库应用程序。所以我决定看看使用 Open Office 的数据库程序 Base 编写一个应用程序会有多复杂。

当我开始时,我以前从未使用过 Base,甚至不得不在我和我妻子的机器上都安装该程序才能开始。多年前我曾使用过 Microsoft Access,并且我在 PostgreSQL 和 MySQL 方面有很多经验,所以我认为我可以很快掌握 Base,并为我的妻子构建一个定制的应用程序。现在已经有很多关于 Base 的文章。(见下面的参考文献)本文不是一篇操作指南或产品评测。相反,本文更像是一个速成课程,涵盖了从初始安装后到您拥有一个可工作的应用程序的时间点。我在 Base 方面没有任何经验,也没有太多时间去攀登陡峭的学习曲线。两个晚上后,我得到了一个基本应用程序,我的妻子至少可以用它来入门。随着我学习的深入,我希望能够改进这个程序,但与此同时,她已经能够从中获得一些用处。

那么,让我们开始吧。

与任何数据库应用程序一样,即使是像这个一样简单的应用程序,绘制一个您打算管理的对象及其相互关系的图表也很有帮助。然后我喜欢简单地列出每个对象需要的字段或属性。完成此操作后,您就可以开始在 Base 中创建表了。

当我启动 Base 程序并决定创建一个新数据库或连接到现有数据库后,我看到了主屏幕,如图 1 所示。正如您所看到的,我可以选择使用向导来创建表,或者可以使用“设计视图”手动创建它们。我往往讨厌向导,但我确实快速浏览了一下向导。当我这样做时,我可以从各种各样的对象中进行选择,例如“产品”、“客户”或“资产”。选择一个对象后,我看到了与该对象相关的字段选择。我可以看到这对很多人来说是一个快速入门的方法。我决定手动创建我的大部分表。您可以在图 2 中看到其中一个表的定义。这个过程相当简单明了。您只需列出表需要的字段或属性的名称,并将数据类型分配给它们。我在这里遇到的唯一问题是我不确定“实数 (real)”、“浮点数 (float)”和“双精度浮点数 (double)”之间有什么区别。选择“其他 (other)”作为数据类型的选项也……出乎意料。然后,在窗口的底部,我可以调整每个文件类型,设置长度、默认值等。这部分过程非常简单明了,并且完全按照我的预期工作。

Figure 1

图 1

Figure 2

图 2

对于像我正在构建的这样一个简单的应用程序来说,使用关系工具来配置引用完整性有点过分,但它有一个额外的好处,那就是它可以让您一目了然地看到数据模型的结构,以及表是如何相互关联的。见图 3。在这里您可以看到,我的妻子想要跟踪销售联系人,以及他们所属的组织。她还有几个她参与的展会,需要跟踪这些展会以及每个展会的联系人。最后,她希望能够为每个组织、联系人和展会安排诸如电话、注册等活动。

Figure 3

图 3

您会注意到我的模型中有一个“关系 (Relations)”表。这将最终用于存储“多对多”关系。事实证明,一个给定的联系人可能是一个以上组织的成员,我的妻子想要跟踪这个事实。然而,创建用于创建这些关系的形式(我们将在接下来讨论)已被证明比预期的要困难。

所以,一旦我创建了数据库表,以及表、字段和关系的合理图表,就该开始创建应用程序表单了。再一次,我被提供了手动创建表单或使用向导的选择。最初,我尝试了向导,至少在我对这个过程感到满意之前是这样。向导要求我选择一个要从中提取数据的表,然后它允许我选择要包含在表单中的该表中的字段。最后,向导为我创建了数据输入表单。但是,我真的不喜欢生成的表单,并决定手动创建表单。

事实证明,为我的应用程序创建表单的过程是整个过程中最困难的部分。事实证明,Base 实际上使用文字处理应用程序 Writer 作为其表单引擎。这非常出乎意料,但事后看来,我认为这是一个非常优雅的解决方案。Writer 已经能够创建 HTML 表单,那么为什么不使用它来创建数据库表单呢?我承认我在弄清楚如何将表单绑定到给定表时遇到了一些困难,但是一旦我找到了“表单 (form)”小部件(如图 4 中光标旁边的那个),这个过程就非常直观了。然后,只需将文本标签和数据字段拖到画布上即可。图 5 中显示的表单非常简单朴素,但我希望随着时间的推移对其进行改进。在屏幕底部,您可以看到记录导航图标以及排序和筛选图标。最终,我想为这些功能创建按钮,但我稍后会讨论这个问题。因此,我为我的应用程序需要跟踪的每个对象创建了一个数据输入表单。此时,我的妻子可以开始输入她的数据了。

Figure 4

图 4

Figure 5

图 5

输入数据是一回事;将数据取回又是另一回事,为此我们使用 Base 中的查询工具。在这里,我们再次可以选择使用向导来帮助我们进行查询,或者我们可以手动创建查询。此外,我们可以使用 SQL 模式并以原始 SQL 输入我们的查询;终于,这是我熟悉的东西!不过我必须承认,向导真的还不错。它允许我确定数据的排序方式,并为我提供了一种非常直观的数据选择方式,很像我已经习惯使用的 Open Office 电子表格应用程序的条件格式化功能。见图 6。不过,我还是决定尝试一下手动查询生成器,您可以在图 7 中看到。向导和手动方法都非常强大且非常直观。如果我必须在两者之间做出选择,我不知道我会选择哪种方式。但总的来说,我更喜欢 SQL 方法,因为这是我习惯使用的方法。

Figure 6

图 6

Figure 7

图 7

我的妻子没有大量的报表需求,所以我只是粗略地看了一下报表工具。在这里,我们只能选择使用报表生成向导。我实际上无法想象还有其他任何生成报表的方式,而且向导似乎也确实完成了我期望它应该做的事情。

那么经过一两个晚上的工作,我有什么成果可以展示呢?嗯,我有一种存储我妻子业务数据的方法,并且她可以将数据输入到一个(还算?)有吸引力的数据输入表单中。她可以搜索和排序她的数据。该程序非常易于使用,她学习如何使用它来完成工作不会有任何困难。它也具有足够的可扩展性,我可以随着我的技能增长而定期对其进行改进。可以将其视为一份活文档。

另一方面,我还缺少什么呢?该应用程序没有我希望的那么完善;她仍然必须手动选择一个表单才能进行任何数据输入,或者她可以直接以表格格式输入到表中。如果程序能为她呈现一个开始菜单并隐藏底层细节就更好了。我在实现前面提到的多对多关系时遇到了困难。但是,我相信这两个问题都可以通过使用少量编程来解决。Open Office 提供了一种 Visual Basic 方言,我敢打赌它可以用来处理我提到的问题,并为整个应用程序增加一些润色。如果有人感兴趣,我可能会尝试在以后的文章中写一篇 Open Office Basic 入门教程。

所以正如您所看到的,Open Office Base 是一款功能相当强大的数据库程序,学习曲线相当平缓。我不认为 Base 像文字处理或电子表格应用程序那样成熟,但这已经把标准定得很高了。我可以将 Base 链接到我的 MySQL 或 PostgreSQL 数据库这一事实使它对我来说特别有吸引力,可以作为一个数据库前端,尽管链接过程并不像它应该的那样容易。总的来说,Base 是一款功能极其强大的工具,并且相对容易学习。

加载 Disqus 评论