file-bd_2Всем привет ребята! Продолжаем рассматривать работу с базами данных в Delphi. Сегодня мы начнем рассматривать базы данных, которые работают на файлах. Да, сейчас базы данных на файлах не настолько популярны, но раньше они расправлялись с хорошим объемом информации, да и сейчас они применяются, я так думаю, где необходимо использовать базу данных небольшого объема.

Естественно, базу данных на файлах можно отнести к файловой модели сервера, если использовать ее как сетевую. Такая модель сервера имеет ряд недостатков:

  • Будет большой сетевой трафик: передаваться по сети будет множество файлов, блоков информации и так далее
  • Для доступа к данным мы можем использовать только лишь файловые команды
  • Защиту базы данных мы можем производить только лишь на уровне файловой системы

Конечно, если у Вас база данных рассчитана на одного пользователя, то с легкостью можно использовать базу данных, основанную на файлах. Файловую базу данных, в некоторых случаях также удобно использовать, так как нет необходимости покупать дорогие СУБД, а также их потом администрировать, хотя в настоящее время, во время высоких технологий, больших объемов информации, а также больших сетей, не использовать СУБД просто невозможно.

Раньше, на сколько я знаю, 1С:Предприятие работало на файловых базах данных, хотя, наверное, и сейчас там они встроены, так что как видите, крупные проекты до сих пор используют такую модель данных.

Для организации файловой базы данных нам поможет компонент TClientDataSet, который располагается на вкладке DataAccess. Поэтому, создаем проект в Delphi и устанавливаем на форму компонент TClientDataSet. В данном компоненте есть замечательное свойство – FieldDefs, с помощью которого мы можем создавать список полей, в которых будут храниться данных, их размер, а самое главное тип. Для того чтобы создать список полей, нам необходимо нажать на свойство FieldDefs и с помощью встроенного редактора задать список полей, хотя это можно сделать с помощью кода. С помощью встроенного редактора создаем нашу будущую базу данных со списком полей, их типом, а также размером.

Базу данных можете придумать любую, например база студентов и их номеров телефонов. У меня получились следующие поля:

file-bd

 

Итак, пройдемся по полям:

  • ID – имеет тип ftAutoInc
  • Name – имеет тип ftString
  • Phone – имеет тип fsString

Сам тип задается в свойстве DataType, а размер поля, если это так важно, то он задается в свойстве Size.

Теперь нам необходимо создать пустой набор данных в памяти компьютера. Для этого можно нажать правой кнопкой мыши по компоненту TClientDataSet и нажать на пункт контекстного меню – Create Dataset, то есть создать набор данных. Мы также можем создать данный набор с помощью процедуры:

Procedure CreateDataSet;

После того, как наша будущая структура таблицы подготовлена, нам необходимо ее сохранить на компьютере, то есть на винчестере. Мы можем также воспользоваться контекстным меню, для этого нам необходимо по компоненту нажать правой кнопкой мыши и там будут доступны следующие пункты меню:

  • Save to MyBase Xml Table… (это сохранить таблицу в файл формата XML)
  • Save to MyBase Xml UTF8 Table… (это сохранить таблицу в файл формата XML и в кодировке UTF8)
  • Save to binary MyBase file… (это сохранить таблицу в бинарный файл)

Я сохранил таблицу в формате XML, а также кодировке UTF8. Кроме этого таблицу можно сохранить и программным методом, с помощью процедуры SaveToFile, то об этом мы поговорим уже в следующей статье. Сам XML-файл у меня получился следующей структуры:

file-bd_1

 

В следующих статьях мы будем его наполнять, загружать, а также отображать данные в нашем проекте.

Метки: , , ,




К записи “Работа с файловыми базами данных в Delphi. Часть 1” оставлено комментариев: 6.

  1. norik:

    Интересно. Жду продолжения.

  2. […] я говорил в прошлой статье, мы можем сохранить в файл с помощью контекстного […]

  3. […] Работа с файловыми базами данных. Часть 1 (описание общей структуры и схемы) […]

  4. […] Работа с файловыми базами данных в Delphi. Часть 1 (общие сведения) […]

  5. […] Помните, мы рассматривали в первой части, как можно создавать файловую БД, так вот, когда Вы создаете поля, Вам необходимо нажать […]

Оставить комментарий

Вы можете использовать следующие теги:

*