Wikcess/flex-data: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
m (1 revision imported: Ferretsoft Excess)
m (Woozle moved page Ferretsoft Excess/flex-data to Wikcess/flex-data: renamed project)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
==About==
This is an experimental concept which I am developing out of an intuitive sense of the needs of several different projects, including [[FinanceFerret]] and [[TextFerret]].


The primary differences between this and a standard [[relational database]] are:
* record-definitions are not fixed
* records can have a hierarchical relationship with each other
The code will be designed to use a standard relational database (MySQL) as a back-end, but it may be that this concept is ultimately more compatible with other types of databases (e.g. {{l/wp|object database}}s).
==Rules==
This concept is designed to be a more flexible and intuitive way of handling relationships between groups of data fields.
* A "type" is a way of representing data in all forms needed for using it (typically: internal/native, storage, and display).
* A "field" is a named slot that has a particular '''type''' and belongs to a '''record'''.
* A "cell" is a '''field''' that contains particular data and belongs to exactly one '''record'''.
* A "record" consists of any collection of '''cell'''s.
* A "record template" consists of any collection of '''field'''s.
* A "table" consists of a collection of '''record'''s, and may have
Notes: fields have parents, that's how they get grouped; parent is also a field? we do need to be able to do hierarchy somehow, anyway.

Latest revision as of 12:39, 7 March 2020

About

This is an experimental concept which I am developing out of an intuitive sense of the needs of several different projects, including FinanceFerret and TextFerret.

The primary differences between this and a standard relational database are:

  • record-definitions are not fixed
  • records can have a hierarchical relationship with each other

The code will be designed to use a standard relational database (MySQL) as a back-end, but it may be that this concept is ultimately more compatible with other types of databases (e.g. object databases).

Rules

This concept is designed to be a more flexible and intuitive way of handling relationships between groups of data fields.

  • A "type" is a way of representing data in all forms needed for using it (typically: internal/native, storage, and display).
  • A "field" is a named slot that has a particular type and belongs to a record.
  • A "cell" is a field that contains particular data and belongs to exactly one record.
  • A "record" consists of any collection of cells.
  • A "record template" consists of any collection of fields.
  • A "table" consists of a collection of records, and may have

Notes: fields have parents, that's how they get grouped; parent is also a field? we do need to be able to do hierarchy somehow, anyway.