Потребности людей ростут, люди устали от статики и хотят больше динамики.
Увы, SQL-based СУБД не созданы для динамических схем. Если ты будешь часто менять схему, то проиграешь в производительности, очень сильно проиграешь. А это ещё при том, что SQL(а тем более с использованием SA) не так и шустр.
Советую обратить внимание на более современные решения — документ-ориентированные бд. Точнее — на MongoDB и MongoKit как средство для создания и манипулирования схемами.
Дело в том, что документ-ориентированные СУБД созданы как-раз для динамических данных, где схема может часто меняться. Документ в такой БД, тоже самое что и запись(строка, row) в SQL-based, в реляционных БД.
Документ представляет из себя JSON-структуру данных, в которой всё можно менять, дополнять, удалять.
У документа нет «схемы». Т.е. захотел сделать документ с постом пользователя, вот и делай:
db.posts.save({id:1, author:«James», text:«Howdy!»})
Однако, схемы бывают нужны, поэтому для них делаются программные решения вроде MongoKit.
Например, можно указать в MongoKit такую схему:
{
name:unicode,
data:{unicode:unicode}
}
Что позволит оперировать словарём data как хочется.
Схема для поста, например:
{
id:int,
author:unicode,
text:unicode
}
В общем, советую почитать:
www.mongodb.org/
namlook.github.com/mongokit/