definition of flat/relational database

The beginning of this thread was: "Why do the Libreoffice powers that be define dbase/xbase as a flat file database, not a relational database." As the author of the definitions that John quoted at the top, I am part of the powers that be in LO when it comes to these definition . Early in this thread I asked for suggestions as to what the quoted definitions should be. Sorry folks, but I do not see any suggestions that is good enough to replace what has already been written. What I have written may not be as good as it should be. Neither has anyone produced anything to replace what I have written. When someone suggests much better definitions, they will be replaced.
      I'm still don't understand what the structure of dBase2 is. How can you use two or more tables in a query for example using this database engine?
      And for those who have begun discussion what database engines might be better of a person's use, please create a new thread so others searching the archives can more quickly find the comments about different databases. They are not likely to think that this thread would contain this information.

--Dan

Wolfgang Keller wrote:

I don't know if it will be suitable, but you can try Kexi (part of
Calligra suite, I believe; but you can install it separately). I
heard it is much better than LO Base, but I don't know enough to
verify that statement.
    
Kexi will become usable as soon as it supports composite (natural) keys.

It's a pity that Knoda, Rekall etc. have vanished or died without
anyone picking up the code behind the original developers, so that Kexi
is now the n-th re-implementation of the same functionality.

Sincerely,

Wolfgang
  

Alas, Rekall is no more. I used the Open Source version before switching to Base and was quite pleased with it, less a few annoying bugs. The Rekall report builder could run rings around the Base Report Builder- especially in speed - but it was quirky to design with it. Before it went dormant, the Open Source Rekall developer made some announcement about moving to another organization (not The Kompany) to continue development of his new ideas. For a few years after that, The Kompany still had the stagnant version of Rekall available for sale from their website. Now today, I see The Kompany is no longer on the net. Girvin Herr

May I suggest you to contact Kexi main developer, Jarosław Staniek, with this
proposal? You will find his e-mail address here:
<http://kexi-project.org/contact.html>

From what I see on KDE forums, he seems to be rather responsive and friendly
about users propositions. It might be (might!) that no one has proposed this
feature and if somebody step in, it will be implemented in near future.

Dan Lewis wrote:
<snip>

     I'm still don't understand what the structure of dBase2 is. How can you use two or more tables in a query for example using this database engine?

Some light reading required?

    https://en.wikipedia.org/wiki/DBase

File formats:

    dbase II: http://www.fileformat.info/format/dbf/corion-dbase-ii.htm
                    http://www.clicketyclick.dk/databases/xbase/format/
    dbase III: http://www.fileformat.info/format/corion-dbase-iii.htm

It has been my experience, and that is from the 90s, so maybe others on this forum with later experience or knowledge can confirm or deny that, that dbase2 or 3 does not use SQL. The wikipedia url above confirms that. dbase does everything with a command file (.CMD) using a dbase Programming Language. Base does not attempt to use the CMD files. It only imports the dbase data from the DBF files. Even so, it has been my experience that trying to import dbase III+ (c. 1990) DBF files into Base does not work. They are too old and Base does not go back that far in DBF file formats.
Hope this helps.
Girvin Herr

Dan,

As I said in my response above, the distinction that LO is making is
"database engine call or manipulate file directly".

If it manipulates files directly it does it with simple, slightly
extended, text manipulation. LO has no database functionality
itself, for such functions it can only make calls to a database
engine (ie another program) when it has anything other than simple
single file manipulation to do.

DBase (for example) has no engine that LO can call to.

"Flat file" databases are those where there is no ability to relate
different "tables". In that respect, outside its correct
environment, I suppose you could say that dBase files are flat, but
that is because of the lack of correct environment rather than any
shortcoming in the files themselves.

That, I think, points to "flat file" being a misleading term, not
only because it's not just to do with the file, but also because, at
least in the beginning, many databases didn't store their data in
operating-system-recognisable files.

So, my suggestion is to remove the term "flat file" and instead refer
to calls to a relational database system engine or direct file
manipulation.

Regards
Mark Stanton

> If LO Base is not enough for you because you need more application
> logic, then there are two VFP developers who have implemented their
> own successor to VFP. Cross-platform, open-source, free. It's
> called Dabo (www.dabodev.com) and it uses Python as the programming
> language. If you've ever learned any programming language, learning
> Python will be a no-brainer.
>
> There are a couple of other database application development
> frameworks for Python (even LO Base can be scripted with Python,
> although that's one of the best kept secrets of LO), but Dabo has
> been specifically made by (ex-)VFP developers for (ex-)VFP
> developers.

Didn't know about this one yet! Thanks for the info. I''l take a look
at it.

Sometime ago I had some success with Glom (www.glom.org). Maybe it
meets the needs of the other posters.

The others I know of would be:

using wxPython:
Dabo http://www.dabodev.com (already mentioned)
Defis http://sourceforge.net/projects/defis/ (Russian only)
GNUe http://www.gnuenterprise.org/

using PyQt:
Pypapi http://www.pypapi.org
Camelot http://www.python-camelot.com/
Qtalchemy http://www.qtalchemy.org/
Thyme http://clocksoft.co.uk/downloads/
Kexi http://www.kexi-project.org/

using PyGTK:
SQLkit http://sqlkit.argolinux.org/
Kiwi http://www.async.com.br/projects/kiwi/
Glom http://www.glom.org

Openoffice Base
http://www.openoffice.org/product/base.html
Libreoffice Base
http://www.libreoffice.org/features/base/

OpenERP http://www.openerp.org
Tryton http://www.tryton.org

Dabo (they're about to release 1.0 for Pycon), Pypapi, Camelot, SQLkit
seem to be the most actively developed and best documented ones.

OpenERP and Tryton are ERP systems that can also be used as
frameworks for non-ERP custom applications.

Apparently defunct:
  
Pythoncard http://pythoncard.sourceforge.net/
Boa Constructor http://boa-constructor.sourceforge.net/
Knoda http://www.knoda.org/
Rekall ?
Gemello http://abu.sourceforge.net/

Sincerely,

Wolfgang

May I suggest you to contact Kexi main developer, Jarosław Staniek,
with this proposal? You will find his e-mail address here:

I'm subscribed to the Kexi mailinglist, and the subject has been
regularly invoked by various users there.

Without composite keys you can't even implement M:N relationships in a
way that warrants data integrity.

From what I see on KDE forums, he seems to be rather responsive and
friendly about users propositions.

Yes, definitely. This project would merit "a bit" help.

It might be (might!) that no one has proposed this feature and if
somebody step in, it will be implemented in near future.

I would guess the main issue is that Kexi has to re-implement a lot of
functionality and the developers are not that numerous. I even wonder
whether the plural is justified here.

Sincerely,

Wolfgang