Модели баз данных. Локальная, файл-серверная, клиент-серверная и распределенная архитектуры. Технология BDE для доступа к данным. Драйверы баз данных. Создание таблицы, интерфейс программы, дерево объектов, инсталлятор. Системы визуальной разработки.
Аннотация к работе
База данных - это совокупность записей различного типа, содержащая перекрестные ссылки. Записи одного типа внутри базы данных хранятся в таблицах. Файл - это совокупность записей одного типа, в котором перекрестные ссылки отсутствуют. Дело в том, что, хотя в большинстве случаев база данных действительно представляет собой один или (чаще) несколько файлов, физическая их организация существенно отличается от логической. Поэтому при работе с базами данных обычно применяются понятия более высокого логического уровня: запись и таблица, без углубления в подробности их физической структуры.Таблицы, в которых хранятся данные, состоят из наборов записей одинаковой структуры. Можно сказать, что таблица - это двумерный массив, где строки образованы отдельными записями, а столбцы - полями этой записи. Более точно таблица представляется как одномерный массив переменной длины из записей конкретной структуры (тип record Паскаля). Модель базы данных, состоящей из подобных таблиц, называется реляционной.И программа, и база данных расположены на одном компьютере. База данных расположена на мощном выделенном компьютере (сервере), а персональные компьютеры подключены к нему по локальной сети. На этих компьютерах установлены клиентские программы, обращающиеся к базе данных по сети. Пока программа на одном из клиентских мест не закончит работу с таблицей (например, не выполнит модификацию записей), другие программы не могут обращаться к этой таблице. В такой архитектуре на сервере не только хранится база данных, но и работает программа СУБД, обрабатывающая запросы пользователей и возвращающая им наборы записей.При создании программ, работающих с базами данных, в системе Delphi традиционно используется механизм Borland Database Engine (BDE). Этот механизм реализован в виде набора библиотек, которые обеспечивают для программы, написанной на Паскале, простой и удобный доступ к базам данных независимо от их архитектуры.Такое удобство достигается благодаря тому, что механизм BDE представляет собой программную прослойку (middleware) между клиентской программой и базой данных (или СУБД). Запрос из приложения передается внутрь механизма BDE, который использует специализированные системные программы (драйверы) для непосредственной работы с СУБД. ВНИМАНИЕ В дальнейшем для простоты под СУБД будем понимать как специальную серверную программу управления базой данных, так и драйвер для обращения к наборам файлов в формате файл-серверных СУБД. Такие драйверы выпускаются для каждой СУБД, и механизм BDE настраивается на их использование с помощью специального редактора, вызываемого из утилиты SQL Explorer (Проводник SQL), которая открывается командой Database > Explore (База данных > Проводник). Эти СУБД ранее были построены как файл-серверные, поэтому драйвер реально представляет собой весьма сложную программу, выполняющую множество функций СУБД.Так как справочник рассчитан на одного пользователя, достаточно использовать локальную СУБД. Используемая база данных будет состоять из одной таблицы так как в таблице будет всего 4 поля (Имя фильма, жанр, информация и имя файла изображения/видео), и перекрестные ссылки не имеет смысла делать.Таблица создается с помощью программы Database Desktop. Таблица будет иметь 5 полей: 1) ID - ключевое поле, номер записи. 4) Info - информация о фильме, поле типа Formatted Memo. Полю Name назначаем вторичный индекс NAMEID. Вторичный индекс нужен что бы была возможность произвести поиск и сортировку в поле Name.При нажатии “фильтр” появляется окно с выбором жанра фильма. Жанр можно выбрать из списка, либо ввести вручную. Фильтрация организуется запросом. Сохранить описание - сохраняет описание фильма в текстовый файл. Название текстового файла будет совпадать с названием фильма, при желании можно изменить на дугое название.Окно1: DBEDIT1 - жанр Image1 - Отображение изображений Imagelist1 - изображения для кнопок PROGRESSBAR1 - отображает статус фильтрации БД Окно2: DBEDIT1 - жанрУстанавливаем параметры сжатия: Рис.8 Параметры сжатия Устанавливаем каталог в который будет распакована программа: Рис.9 Параметры SFXСправка вызывается при нажатии горячей клавиши [F1] либо при выборе из меню Помощь-> Справка (рис.12).procedure TFORM1.CHANGEIMG(Sender: TOBJECT); // загрузка изображения и видио файла begin if CHECKFILE(".\base\img\" table1.FIELDBYNAME("Img").DISPLAYTEXT ".bmp")=0 //проверка наличия файла then begin Image1.Picture.LOADFROMFILE(".\base\img\" table1.FIELDBYNAME("Img").DISPLAYTEXT ".bmp"); //загрузкафайла изображения end else Image1.Picture.Graphic := nil;//иначе удаляем изображение if CHECKFILE(".\base\img\" table1.FIELDBYNAME("Img").DISPLAYTEXT ".avi")=0 then //проверка наличия файла begin end else begin if MEDIAPLAYER1.Enabled then begin procedure TFORM1.N11Click(Sender: TOBJECT);//проиграть видео begin with MEDIAPLAYER1 do begin procedure TFORM1.N6Click(Sender: TOBJECT); //фильтрация базы данных begin if Tabl
План
Оглавление
1. Введение
2. Теоретический раздел
2.1 Модели баз данных
2.2 Архитектура СУБД
2.3 Технология BDE для доступа к данным
2.4 Драйверы баз данных
3. Практический раздел
3.1.1 Проектирование БД
3.1 Создание таблицы
3.2 Интерфейс программы
3.3 Дерево объектов
3.4 Инсталлятор
3.5 Справка
4. Исходный текст программы
4.1 Файл проекта
4.2 Unit1
4.3 Unit2
4.4 Unit3
4.5 Unit4
4.6 Unit6
4.7 hkdunit.pas
Список используемой литературы
1.
Введение
База данных - это совокупность записей различного типа, содержащая перекрестные ссылки.
Записи одного типа внутри базы данных хранятся в таблицах.
Файл - это совокупность записей одного типа, в котором перекрестные ссылки отсутствуют.
Более того, в определении вообще нет упоминания о компьютерной архитектуре. Дело в том, что, хотя в большинстве случаев база данных действительно представляет собой один или (чаще) несколько файлов, физическая их организация существенно отличается от логической. Таблицы могут храниться как в отдельных файлах, так и все вместе. И наоборот, для хранения одной таблицы иногда используются несколько файлов. Для поддержки перекрестных ссылок и быстрого поиска обычно выделяются дополнительные специальные файлы.
В ряде случаев базы данных реализуются вообще без привлечения файловой системы. Это связано как с ее ограничениями (в ряде операционных систем размер файла не может превышать 2 Гбайта), так и с необходимостью обеспечить максимально быструю работу с жестким диском. Например, некоторые системы работают с носителями, подвергнутыми простейшему форматированию, несовместимому со стандартами DOS или Windows и предназначенному исключительно для упрощения процесса доступа к данным. Есть программы, обрабатывающие данные на специализированных дисковых носителях RAID и множестве других периферийных устройств, назначение которых только одно: повысить скорость доступа к большим объемам сведений.
Поэтому при работе с базами данных обычно применяются понятия более высокого логического уровня: запись и таблица, без углубления в подробности их физической структуры.
Таким образом, сама по себе база данных - это только набор таблиц с перекрестными ссылками. Чтобы универсальным способом извлекать из нее группы записей, обрабатывать их, изменять и удалять, требуются специальные программы, которые называются системами управления базами данных или сокращенно СУБД.
Функциональные возможности разных СУБД лежи в весьма широком диапазоне. В некоторые комплексы встроены специализированные языки программирования и даже целые системы визуальной разработки, генераторы сложных отчетов, аналитические модули. Они способны поддерживать одновременную работу с данными десятков тысяч пользователей. Другие СУБД обладают только базовым набором возможностей (хранение данных в таблицах и выполнение запросов). При их использовании разработчикам приходится самостоятельно программировать работу по созданию отчетов, удобному просмотру и редактированию содержимого базы данных и так далее. В зависимости от предоставляемых ими средств СУБД обычно сильно различаются по цене.