Wikcess/flex-data: Difference between revisions
< Wikcess
Jump to navigation
Jump to search
m (1 revision imported: Ferretsoft Excess) |
(content lost (this keeps happening)) |
||
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. |
Revision as of 12:36, 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.