Database Startup Idea: Dynamic Relational
Conceptually you can think of each row as an XML statement. For example, an employee record could be represented as:
<employee lastname="Li" firstname="Joe" salary="120000" id="318"/>
This does not imply it has to be implemented as XML, it's just a handy conceptualization. It's possible to use SQL as the query language, with some minor tweaks. For example, one has to be careful about comparisons because of the implied type model. But other than type handling, users of a Dynamic Relational system would feel right at home because they can leverage most of their existing RDBMS and SQL knowledge.If you ask for a non-existing column, such as "SELECT madeUpColumn FROM employee", the result column would be blank or null. That is unless one adds constraints that forbid undefined columns on a given table. Also, people disagree if and how to implement nulls. I'd suggest make null-handling a configuration switch.
If you did "SELECT * FROM employee", the result table would have all the columns found in the "employee" rows. In a typical CRUD application, you probably should use explicit columns in the SELECT clause.
Now, if somebody would just build such a database system...