Galaxy_TOC

Filicle-s




WARNING: This is an untested specification, i.e. it lacks implementations.

There exists a suspicion that a more elegant way to create a database is to use a single, sparse, table with infinitely many columns, where column names are standardized (field_1,field_2,...) and the traditional table name would be just one field out of many.



Filicles (Estonian singular: "failik") are like files, except that they differ from files by the following properties:

x) In stead of being addressed relative to a memory device partition, which is depicted as file system root, filicles are addressed relative to a database.

x) In stead of being structured as a series of bytes or characters, filicles are structured as a set of tables in a relational database.

x) In stead of being mapped to a memory device partition by a file system (Ext4, JFS, NTFS, etc.) filicles are mapped to a relational database by a filicle system.

Just like the interpretation of bytes in files is determined by a file format, the interpretation and format of filicle tables is determined by a filicle format.



General scheme:


Collaboration information system.





Rosetta Stone Filicle System Version 0 (ROSTOFIS_v0)



The ROSTOFIS_v0 has the following filicle (acronym: fl) system accountancy (acronym: ac) tables:


CREATE TABLE fl_ac_i_fl_11_s_fl (i_0 INT, s_0 text);

The fl_ac_i_fl_11_s_fl implements one to one relations between filicle ID-strings, "names", and relational database instance specific, automatically generated, integers that are used in stead of the strings for efficiency.



CREATE TABLE fl_ac_i_fltype1_11_s_fltype1 (i_0 INT, s_0 text);

The fl_ac_i_fltype1_11_s_fltype1 implements one to one relations between filicle type names and relational database instance specific, automatically generated, integers that are used in stead of the string based type ID-s for efficiency.

As classification can be done by more than one parameter and fltype1 reflects only one parameter, there can exist tables, that are similar to the
fl_ac_i_fltype1_11_s_fltype1,
but are named
fl_ac_i_fltype2_11_s_fltype2,
fl_ac_i_fltype3_11_s_fltype3,
fl_ac_i_fltype4_11_s_fltype4, etc.



CREATE TABLE fl_ac_i_fl_11_i_fltype1 (i_0 INT, i_1 INT);

The fl_ac_i_fl_11_i_fltype1 implements one to one relations between relational database instance specific filicle ID-integers and the relational database instance specific integers that depict filicle type 1.

As it is with the
fl_ac_i_fltype1_11_s_fltype1,
the
fl_ac_i_fl_11_i_fltype1 can have analogues like
fl_ac_i_fl_11_i_fltype2,
fl_ac_i_fl_11_i_fltype3,
fl_ac_i_fl_11_i_fltype4, etc.



CREATE TABLE fl_ac_i_fl_1n_fltablename (i_0 INT, s_0 text);

The fl_ac_i_fl_1n_fltablename implements one to many relations between relational database instance specific filicle ID integers and filicle instance specific table names.

The table names are the ones that are used in the relational database instance and have a form of:

fl_fl_<i_fl>_<fltablesubname>.

where fltablesubname stands for: "string of alphanumeric characters that forms filicle instance specific part of the table name, which is often determined by a filicle type"