Что программно представляет собой реляционная база данных?
Доброго времени суток.
Хотелось бы узнать, что из себя программно представляет база данных. Если подходить программно(без всяких мне известных средств создания баз при помощи готовых инструментов Access, SQL Managment Studio...), как написать (ради интереса) свою реляционную базу данных на C++? Какие структуры данных могли бы быть и как это все в долгосрочной перспективе хранить на жестком драйв диск? Как это примерно устроено и написано?
Для начала, нужно запомнить, что пишется "реляционная*, тогда искать статьи по теме станет проще.
А потом можно начинать изучать исходники открытых движков баз - MySQL, SQLite. Ещё стоит понять разницу между базой, как набором данных, и базой, как системой управления этими наборами.
Moskus, поэтому и спрашиваю. Насколько понимаю что Access, SQL Managment Studio являются СУБД, но ведь с помощью них и можно создавать таблицы только с разными лимитами по размерам и администрировать.
AVKor, автор вопроса в своем вопросе называет, а я отвечаю на его слова. Давайте вы не будете заниматься бредом и доказывать мне, что я знаю, а чего не знаю, вырвав цитату из контекста? Это даже вам самому не нужно.
Есть фундаментальный труд Transactional Information Systems. Theory, Algorithms, and the Practice of Concurrency Control and Recovery авторства Gerhard Weikum и Gottfried Vossen.
Ведь не проблема читать-писать файлы. Проблема - как это делать корректно в условиях конкурентного доступа, как обеспечивать восстановление после аварий, как обеспечивать ACID. В этой книге как раз вся сопутствующая теория.