Chainiku
Зарегистрирован: 12.02.2004 Сообщения: 3
|
Добавлено: Пт Фев 13 2004 17:51 Заголовок сообщения: Мои рассуждения – поправьте, если можете. |
|
|
Хочу понять как базы данных устроены программно – то есть, как данные прописываются в саму базу? Каким образом осуществляется доступ к данным одновременно?
Мои рассуждения – поправьте, если можете. Этого я нигде не читал, это мое представление.
1. Имеется программа, код которой описывает некоторые правила формирования файла на жестком диске.
2. После ввода данных в столбик 1 строку 1, информация будет хранится в некоторой области оперативной памяти, определенной программным компонентом, например Delphi – StringGrid.
3. Затем значение информации будет скопировано из памяти в файл на жестком диске.
4. Или пункт 3 не будет выполняться и значения всех ячеек будут записываться из памяти в файл по завершении работы программы. (С моей точки зрения это неправильный путь, так как данные при сбое питания компьютера будут уничтожены, поэтому пункт 3 наиболее предпочтительней, так как фиксирует поэтапно значение каждой ячейки и данные могут быть доступны другим пользователям-клиентам).
5. Как правильно устроить файл с информацией?
Предполагаю, что его устройство таково – шапка базы данных, то есть информация о количестве столбиков и строк, количество отведенных байт для ячейки столбика 1 строки 1, столбика 2 строки 1 ... и т.д
Затем некое сочетание байтов или псевдосимвол, дающий разделение между шапкой базы данных и самими данными. Когда файл загружается программой, позицирование на этом псевдосимволе означает начало данных. Таким образом определив в шапке базы данных байтную длину данных, можно перемещаться по данным в файле смещаясь на определенное количество байт вперед или назад. В шапке базы данных имеется информация о количестве столбиков и строк. Значит структура файла будет похоже на следующее:
Шапка базы данных
------------------------
Данные(1 столбик)
Строка 1, Строка 2, Строка 3 ... Строка N
------------------------
Данные(2 столбик)
Строка 1, Строка 2, Строка 3 ... Строка N
------------------------
Данные(N столбик)
Строка 1, Строка 2, Строка 3 ... Строка N
Если вышеописанная структура правильна, дайте знать, пожалуйста.
Как исказить файл базы данных, чтоб при просмотре в обыкновенном режиме F3, не было видно текста и вообще данных? Понимаю, что ужасно тупой вопрос, но поверьте если база данных просто громадная, то проводить шифрование файла целиком - это коварство. Так как для доступа к данным понадобится сначала подвергнуть файл к дешифровке, а значит время доступа к базе увеличится. Значит надо шифровать данные на этапе записи ячейки в файл? Сжимаемы ли базы данных – имеется ввиду простая архивация в момент работы с ней или это тоже влияет на время доступа?
Всё это меня интересует как простого "чайника".
Друзья поделитесь... знаниями. Спасибо.
Где почитать об организации именно на программном уровне? Желательно Дельфийский язык. |
|