Project Description
DataSystem Version 1.0 beta
Created By Robert Demelo 2008-11-09 (November 9, 2008)
Gigaframe.com
DataSystem is a file based database system that is thread safe if used
properly due to it's unique utilization if file directory structure. It is
a dynamically generated database meaning developers can either structure
it outside the application prior or just develop their app with references
to the DataSystem data and run their app with no database data and the
DataSystem will automatically create the database structure based on calls
from from within the developed system.
Benefits:
- great replacement for ASP.NET Session & ViewState variables
- data persists even after web session is long dead
Future:
- Create a webservice wrapper for this system.
- Implement file based data indexing
- add more data types - currently only text and binary
- implement better where clause parser
Example:
DataSystem ds = new DataSystem("c:\\data");
//ds.CreateColumn("DATABASENAME", "TABLENAME", "ROWKEY", DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "FIRSTNAME", "Robert", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "LASTNAME", "DeMelo", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "PHONE", "333-333-3333", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "STREET", "123 Road St", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "CITY", "Toronto", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "RDEMELO", "PROVINCE", "Ontario", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "FIRSTNAME", "John", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "LASTNAME", "Smith", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "PHONE", "416-555-5555", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "STREET", "123 Street Rd", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "CITY", "Toronto", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("DATABASENAME", "TABLENAME", "JSMITH", "PROVINCE", "Ontario", Gigaframe.DataSystem.DataTypes.Text);
textBox1.Text = (string)ds.GetData("DATABASENAME", "TABLENAME", "RDEMELO", "PHONE");
DataTable dt = ds.GetDataTable("DATABASENAME", "TABLENAME", "CITY='Toronto'", "");
dataGridView1.DataSource = dt;
//Portal Pages
ds.SetData("PORTALDB", "PAGES", "1", "TITLE", "Tab 1", Gigaframe.DataSystem.DataTypes.Text);
ds.SetData("PORTALDB", "PAGES", "2", "TITLE", "Tab 2", Gigaframe.DataSystem.DataTypes.Text);
File System Data Structure:
- DATABASENAME {dir}
-- TABLENAME {dir}
--- COLUMNS {dir}
---- COLUMNNAME {dir}
----- datatype {file}
--- ROWS {dir}
---- ROWKEY {dir}
----- COLUMNNAME {dir}
------ data {file}