0

我正在使用 Delphi XE2 进行开发。

我正在为中小学设计一个软件。这所学校有1500名学生。数据库模型是关系型的,我们计划随着时间的推移保留每个学生的全部历史记录。(在某些时候它会被存档,但大多数情况下所有的关系都会保持一段美好的时光)

我曾经使用 Elevate Software 的 DBISAM V4 编写 Delphi 应用程序。我持有它的许可证,所以它仍然有可能使用它。

然而,我最近接触了许多使用 Firebird 的公司,一些使用 Postgres 和许多使用 MySQL 的网站。

我认为没有必要去付费数据库,因为这种类型的客户对投资很敏感。因此,任何可以免费使用的数据库,以及继续使用 DBISAM 的选项。我喜欢它,但它变老了。

我更喜欢把业务逻辑放在软件上,而不是放在数据库里,所​​以不需要在数据库端做错综复杂的逻辑或程序。

我的问题是:选择正确的数据库需要考虑什么?

4

2 回答 2

2

This Wiki post can help you. Besides that, you have to decide for using OLE-DB, ODBC or DBX as middleware technology. Depending on which one you will find or not support for Delphi.

Another criteria include know-how on the database options and rectrictions/requirements on security and scalability.

However, no matter what DBMS you choose, my best advice for you is to isolate the access to it in a dedicated service layer so most of your application won't be directly dependent of it.

In your place I would model the application in terms of domain classes and would invest in a persistence layer. If you have to go for another DBMS in the future, most of you code will be preserved.

于 2013-08-23T18:51:29.663 回答
1

DBISAM 将在这里工作,您甚至可以在 Delphi 中编写 Web 服务,以提供对平板电脑等的访问。您需要开始考虑这里真正重要的事情,例如用户在哪个平台上,总共有多少用户,有多少用户将同时使用数据库(平均和峰值),每个学生保留多少行,每天添加/删除/更新多少行等。DBISAM 的 SQL 有限。它做了很多,但不是你可以在其他数据库中做的所有事情。他们的新产品 ElevateDB 解决了大多数不足,包括 Unicode。

于 2013-08-23T20:28:45.263 回答