Основные понятия и определения баз данных в Delphi » DelphiComponent.ru
В материалах этой статьи вы найдете сведения, необходимые каждому начинающему программисту, который хочет научиться создавать приложения для работы с базами данных. Вы узнаете, что такое базы данных, из чего они обычно состоят, для чего используются. Кроме того, в этой статье рассказывается об основных типах баз данных, рассматриваются различия и области применения тех или иных типов баз данных.
Множество фирм и компаний всего мира используют компьютеры для хранения и обработки служебной информации. Эта информация содержится в так называемых базах данных.
База данных — это хранилище для большого количества систематизированных данных, с которыми можно производить определенные действия (добавление, удаление, изменение, копирование, упорядочивание п т. д.).
Все данные, находящиеся в базе данных, можно представить в виде записей или объектов.
Для успешной работы с базами данных нужны программные средства, которые обеспечивали бы доступ к нужной информации, внесение каких-либо изменений в базу данных и другие действия с данными. Для решения этой задачи используются системы управления базами данных.
Система управления базами данных (СУБД) —это совокупность языковых и программных средств, обеспечивающих создание, использование и ведение базы данных.
Все СУБД делятся на две группы:
- локальные;
- сетевые.
Локальные — это СУБД, работающие на одном компьютере. К ним относятся dBase, FoxPro, Microsoft Access и т. д.
Сетевые — это СУБД, позволяющие нескольким компьютерам использовать одну и ту же базу данных с помощью технологии клиент-сервер.
Примерами сетевых СУБД являются InterBase, Oracle, Microsoft SQL Server и т. д. О локальных и сетевых СУБД подробнее будет рассказано ниже.
Прежде чем рассматривать основные типы баз данных, нужно отметить, что все данные, помещенные в базу данных, каким-либо образом связаны между собой.
Взаимосвязи данных
Взаимосвязи данных могут быть одного из четырех типов:
- один к одному;
- один ко многим;
- много к одному;
- много ко многим
Давайте рассмотрим принципы построения таких взаимосвязей.
- Вид взаимосвязи один к одному подразумевает, что каждая запись одного объекта базы данных будет указывать на единственную запись другого объекта. Например, с одним клиентом может быть связан только один заказ.
- Взаимосвязь один ко многим означает, что одной записи объекта базы данных будет соответствовать несколько записей других объектов. Например, один клиент может иметь несколько квартир. Тогда с записью клиента будут связаны записи о его квартирах.
- Вид взаимосвязи много к одному равносилен рассмотренному выше виду «один ко многим» и отличается от него только направлением.
- Последний вид взаимосвязи много ко многим устанавливается между двумя типами объектов базы данных. Например, когда у одного банкира может быть несколько клиентов и, одновременно, один клиент может пользоваться услугами нескольких банков.
По принципу хранения данных все базы данных разделяются на несколько основных типов:
- иерархические;
- сетевые;
- реляционные.
Иерархические базы данных
Иерархические базы данных применялись в начале 60-х годов. Они построены в виде обычного дерева. Данные здесь делятся на две категории: главные и подчиненные. Таким образом, один тип объекта является главным а остальные, находящиеся на более низких ступенях иерархии, — подчиненными (рис. 1.1).
Рис. 1.1. Схема базы данных иерархического типа
Сетевые базы данных
Сетевые базы данных начали применяться практически одновременно с иерархическими. В этих базах данных любой объект может быть как главным, так и подчиненным (рис. 1.2).
Рис 1.2 Схема базы данных сетевого типа
Таким образом, в сетевой модели базы данных каждый объект может иметь сколько угодно связей с другими объектами. Из-за сложности представления данных в таком виде от сетевой модели базы данных в большинстве случаев также пришлось отказаться.
Именно реляционные базы данных (от англ. relation — отношение) стали широко использоваться в программировании начиная с 70-х годов. В таких базах данных объекты и взаимосвязи между ними представляются в виде прямоугольных таблиц, состоящих из строк и столбцов (рис. 1.3).
Рис. 1.3. Схема реляционной базы данных
Каждая таблица здесь представляет собой объект базы данных. Такую базу данных легче всего можно реализовать на компьютере. В дальнейшем мы будем рассматривать именно реляционные базы данных.
Итак, таблицы, которые составляют базу данных, находятся на магнитном диске в отдельной папке. Папка в целом является базой данных, а входящие в нее таблицы хранятся в виде отдельных файлов. С этими файлами можно производить произвольные операции, которые допускаются операционной системой.
Большинство приложений Windows при попытке обращения к одному файлу сразу несколькими приложениями выдают сообщение об ошибке совместного доступа. Для таблиц базы данных такое ограничение крайне неудобно, поэтому им свойственна особенность, которая заключается в том, что несколько приложений могут получить доступ к файлу таблицы одновременно. Такой режим доступа называется многопользовательским.
Если внимательно посмотреть на файлы таблиц базы данных, то можно заметить, что для одной таблицы обычно создается несколько файлов. Это файлы, которые содержат дополнительную информацию, относящуюся к таблице. Объединяет эти файлы одинаковое имя, но при этом они имеют разные расширения. Имя файлов таблицы определяет имя самой таблицы.
Рассмотрим теперь, из чего состоят таблицы базы данных. Как уже упоминалось, в каждой из них структурно выделяются строки и столбцы (рис. 1.4).
Столбцы таблицы обычно называют полями, а строки — записями. К полям таблицы предъявляются следующие требования:
- поле должно иметь уникальное имя в пределах одной таблицы;
- поле должно содержать данные только одного заранее определенного типа;
- любая таблица должна иметь как минимум одно поле.
Рис 1.4 Структура таблицы базы данных
ВНИМАНИЕ: При переименовании таблицы помните, что имя таблицы можно изменить только с помощью специальных программ, например Database Desktop. Простое изменение имени файла таблицы с помощью проводника Windows не приведет к переименованию таблицы.
Давайте рассмотрим несколько форматов таблиц баз данных, поддерживаемых средой Delphi. Следует заметить, что Delphi не имеет своего собственного формата таблиц, но содержит средства, позволяющие работать со многими внешними форматами.
К числу серверных таблиц баз данных, поддерживаемых Delphi, относятся:
- DB2;
- Informix;
- InterBase;
- Microsoft SQL Server;
- Oracle;
- Sybase.
В число локальных таблиц баз данных, поддерживаемых средой Delphi, входят:
- Microsoft Access;
- dBase;
- FoxPro;
- Paradox.
Наиболее часто используемыми из локальных баз данных являются dBase и Paradox У каждой из них есть свои особенности, которые мы и рассмотрим.
Базы данных dBase были первыми базами данных для персональных компьютеров. Они поддерживаются большинством сред программирования для разработки приложений баз данных. Таблицы, входящие в состав базы данных
Таблица 1.1. Файлы таблиц dBase
Расширение файла Содержание файла
*.dbf |
Непосредственно данные таблицы |
*.dbt |
большие двоичные данные (BLOB, Binary Large Object). В их число |
|
входят двоичные данные, memo-поля и OLE-поля |
*.mdx |
Индексы, которые поддерживаются средствами dBase |
*.ndx |
Не поддерживаемые индексы. Такие индексы должны обрабатываться |
|
программно |
Поля в таблице базы данных dBase должны удовлетворять следующим условиям:
- имя поля может состоять из букв и цифр, но начинаться — с буквы;
- не допускается включение в имя поля специальных символов и пробелов;
- максимальное количество символов в имени поля — 10.
В таблице 1.2 перечислены основные типы полей таблиц dBase, указаны их обозначения в программе Database Desktop и приведено описание.
Таблица 1.2. Основные типы полей таблиц dBase
Тип поля Обозначение Описание
в Database Desktop
Binary |
В |
Двоичные значения в виде последовательности байтов, хранящейся в файле с расширением *.dbt. Длина не ограничена |
Character |
С |
Символьная строка. Длина ограничена 255 символами |
Date |
D |
Значение даты |
Float |
F |
Число с плавающей запятой в диапазоне от -1O308 до 10308. Точность представления — 15 знаков после десятичной точки |
Logical |
L |
Булевская (логическая) переменная. Может принимать одно из двух значений: true (истина) или false (ложь) |
Memo |
M |
Неограниченная последовательность символов, хранящихся в файле с расширением *. dbt |
Number |
N |
Двоично-десятичный формат представления чисел |
OLE |
О |
Данные, поддерживаемые технологией связывания и внедрения объектов OLE (Object Unking and Embedding) |
Преимуществом баз данных dBase является поддержка их многими средами программирования.
К недостаткам относятся отсутствие контроля целостности связей и отсутствие защиты данных.
Рассмотрим теперь базы данных Paradox. Они являются более развитыми по сравнению с dBase. Таблицы Paradox содержат достаточно большое число типов полей, поддерживают целостность ссылок, автоматически проверяют вводимые данные на совместимость по типу и поддерживают парольную защиту данных.
Таблица 1.3. Файлы таблиц Paradox |
|
Расширение файла |
Содержание файла |
*.db |
Данные таблицы |
*.mb |
Большие двоичные данные (BLOB, Binary Large Object) |
*.рх |
Ключ (главный индекс) |
*. xg* и *.yg* |
Индексы |
*.val |
Параметры для проверки типов вводимых данных и целостности ссылок |
*.tv и *.fam |
Форматы вывода таблицы в приложении Database Desktop |
*.net |
Применяется для контроля доступа к таблице по сети |
Поля в таблице Paradox должны удовлетворять следующим требованиям:
- имя поля может состоять из букв (включая символы кириллицы) и цифр, но начинаться должно обязательно с буквы;
- в имени поля допускается использовать символы пробела. -. $ и другие специальные символы;
- не рекомендуется (хотя и не запрещается) использовать п имени поля символы точки, восклицательного знака и |,так как они зарезервированы средой Delphi;
- максимальная длина имени поля составляет 25 символов:
- ключевые поля таблицы должны быть первыми в ее структуре.
СОВЕТ: Если вы хотите обеспечить совместимость данных таблицы Paradox с таблицами других форматов (например, dBase), именуйте поля со следующими ограничениями: длина имени поля не должна быть более 10 символов, имя должно состоять только из латинских букв и цифр.
Таблица 1.4 содержит список полей, которые поддерживаются базой данных Paradox, а также их краткое описание.
Тип поля |
Обозначение в Database Desktop |
Описание |
Alpha |
A |
Символьная строка, ограниченная 255 символами |
Autoincrement |
+ |
Поле, автоматически увеличивающее значение новой записи. Обычно используется для ключевого поля |
BCD |
# |
Двоично-десятичная форма представления числа |
Binary |
В |
Двоичное значение в виде последовательности байтов. Длина не ограничена. Первые 240 байтов хранятся в файле таблицы, остальные — в файле с расширением *.mb |
Bytes |
Y |
Последовательность байтов длиной до 255 |
Date |
D |
Значение даты. Значения от 01.01.9999 до н. э. до 31.12.9999 |
Formatted Memo |
F |
Неограниченная последовательность форматированных символов |
Тип поля |
Обозначение в Database Desktop |
Описание |
Graphic |
G |
Графическое изображение в одном из форматов: *. bmp, *.eps, *.glf, *.рсх, *.trf. После загрузки в поле |
|
|
|
|
|
таблицы изображение преобразуется в формат |
|
|
*.bmp. Значение поля данного типа хранится в файле |
|
|
с расширением *. mb |
Logical |
_i |
Булево значение: true или false |
Longlnteger |
I |
Целочисленное поле. Диапазон возможных значений от -2 147 483 648 до 2 147 483 647 |
Memo |
M |
Неограниченная последовательность символов. |
|
|
Первые 240 символов хранятся в файле таблицы, остальные — в файле с расширением *. mb |
|
|
|
Money |
$ |
Хранит денежные величины. Отличается от типа Numberтем, что отображает денежный знак. Символ знака зависит от настроек операционной системы |
Number |
N |
Число с плавающей запятой. Может принимать значения от -10307 до 10308. Точность —15 знаков после запятой |
OLE |
0 |
Хранит данные, поддерживаемые технологией OLE. Значения содержатся в файле с расширением *.mb |
Short |
S |
Целое число. Может принимать значения от -32 768 до 32 767 |
Time |
T |
Содержит значения времени |
TimeStamp |
@ |
Содержит значения даты и времени |
Приложение, созданное с помощью Delphi, осуществляет доступ к базе данных через специальный процессор баз данных, который называется BDE (Borland Database Engine).
BDE — это набор драйверов и динамически присоединяемых библиотек (файлов *.dll), которые обеспечивают доступ к данным.
Если вы используете в своих приложениях BDE, то нужно обеспечить его установку на все компьютеры, на которых будут работать ваши приложения.
Процессор баз данных BDE позволяет наиболее эффективно работать с таблицами баз данных типа dBase и Paradox.
Все базы данных можно условно разделить на две большие группы в зависимости от взаимного расположения приложения и таблиц базы данных:
- локальные;
- клиент-серверные.
Локальные — это базы данных, таблицы которых расположены на том же компьютере, что и работающие с ними приложения. В таком случае говорят, что база данных имеет локальную архитектуру (рис. 1.5).
Приложения, которые работают с локальными базами данных, называются одно-ярусными (single-tiered applications), так как и приложение и база данных расположены на одном и том же компьютере (ярусе).
Кроме представленной выше организации локальной базы данных возможно осуществление многопользовательского доступа к данным таблиц. Такой вариант предусматривает наличие сети компьютеров с сервером. Данный способ организации базы данных называется файл-сервером (рис. 1.6).
Рис 1.6. Файл-серверная архитектура базы данных
Как вы можете видеть, на каждом из компьютеров-клиентов сети создается локальная копия базы данных сервера. Эта копия периодически обновляется.
Такая архитектура построения базы данных используется в сетях с малым количеством пользователей. Разработка приложения для работы с таким типом базы данных практически не отличается от создания обычного приложения для локальной базы данных.
К числу недостатков данной архитектуры можно отнести:
- создание копий базы данных и работа с ними на отдельных компьютерах обусловливает необходимость периодического обновления всей базы данных. Это повышает сетевой трафик (нагрузку сети) и ведет к снижению быстродействия всей системы;
- при изменении данных, сделанном одним пользователем, они не сразу передаются в локальные копии базы данных других пользователей, поэтому любой пользователь может видеть уже устаревшую информацию;
- необходима синхронизация работы пользователей. Она должна заключаться во временном блокировании записей, с которыми работает пользователь, для других пользователей. Таким образом, оказывается невозможным одновременный доступ к одной и той же записи с нескольких компьютеров;
- существуют трудности организации контроля доступа к данным, идентификации пользователя и поддержки целостности данных.
От всех этих сложностей избавлены клиент-серверные базы данных. Клиент-серверные базы данных (удаленные базы данных) — это базы данных, в которых таблицы расположены на сервере сети, а приложения для работы с этими таблицами находятся на пользовательских компьютерах (клиентах), подключенных к серверу. В данном случае говорят, что база данных имеет архитектуру «клиент-сервер».
Клиент-серверные базы данных работают с помощью запросов на языке SQL (Structured Query Language).
SQL-запросы применяются для любых операций с таблицами базы данных, расположенной на сервере.
В клиент-серверных приложениях баз данных вся информационная система делится на две разнородные части:
- клиент базы данных;
- сервер базы данных.
Клиент базы данных — это приложение пользователя, которое обеспечивает формирование и передачу запросов серверу, а также отображение полученных результатов. Кроме того, приложение-клиент должно обеспечивать интерфейс пользователя базы данных.
Сервер базы данных — специальная программа, которая управляет удаленной базой данных и обеспечивает выполнение запросов клиентов и выдачу результатов запросов.
Приложения, работающие с клиент-серверными базами данных, называются двухъярусными (рис. 1.7) или многоярусными (рис. 1.8) приложениями (two-tiered и multi-tiered applications).
Рис. 1.7. Двухъярусная архитектура «клиент-сервер»
При использовании двухъярусной архитектуры любой клиент посылает серверу SQL-запрос на предоставление данных из таблиц. Сервер обрабатывает этот запрос и возвращает клиенту только те данные, которые были определены запросом. Очевидны следующие преимущества такой архитектуры:
- передача только востребованной информации, а не всей базы данных, что приводит к снижению трафика сети;
- обеспечение безопасности данных и возможности установки прав доступа к информации для отдельных групп пользователей, связанные с тем, что работа с данными осуществляется одной программой — сервером базы данных;
- упрощение клиентских приложений за счет сокращения кода, необходимого для обработки данных и обеспечения доступа к ним.
Несмотря на указанные достоинства, следует заметить, что обслуживание сервера и самой базы данных требует наличия в организации соответствующего специалиста. Такого специалиста называютадминистратором базы данных. В круг его обязанностей обычно входит обеспечение механизма защиты данных, поддержание их целостности, резервное копирование и восстановление данных и многое другое.
Для того чтобы еще больше упростить приложения клиентов базы данных, была разработана многоярусная архитектура базы данных, пример которой (трехъярусная архитектура) приведен на рис. 1.8.
Рис. 1.8. Трехъярусная архитектура «клиент-сервер»
В многоярусной архитектуре часть кода приложений клиентов перенесена в сервер приложений.
Сервер приложений — это программа, которая содержит средства доступа к данным и программный код, являющиеся наиболее общими для всех приложений-клиентов базы данных.
Преимущество данной архитектуры заключается в упрощении программ-клиентов и уменьшении их кода.
Выбор типа базы данных зависит от многих факторов, не последним из которых является наличие сети из нескольких компьютеров.
Выбирая тип создаваемой базы данных, ответьте на следующие вопросы:
- сколько человек будут использовать таблицы базы данных? Клиент-серверные базы данных разработаны для одновременного доступа к ним нескольких пользователей. Локальные базы данных обычно работают с одним пользователем;
- какое количество данных будет содержаться в таблицах базы данных? Клиент-серверные базы данных могут содержать намного больше данных, чем локальн ые базы данных;
- какая скорость доступа к данным вас устроит? Локальные базы данных обеспечивают более быстрый доступ к данным по сравнению с клиент-серверными;
- как вы планируете администрировать базу данных? Локальные базы данных менее требовательны к настройке и администрированию.
Помоги проекту! Расскажи друзьям об этом сайте:
Базы данных в Delphi 7
Данные локальной базы данных (файлы данных) находятся на одном (локальном) устройстве, в качестве которого может выступать диск компьютера или сетевой диск (диск другого компьютера, работающего в сети). Для обеспечения разделения данных (доступа к данным) между несколькими пользователями, в качестве которых выступают программы, работающие на одном или нескольких компьютерах, в локальных базах данных применяется метод, получивший название блокировка файлов. Суть этого метода заключается в том, что пока данные используются одним пользователем, другой пользователь не может работать с этими данными, т. е. данные для него закрыты, заблокированы. Данные (файлы) удаленной базы данных находятся на удаленном компьютере. (Следует обратить внимание, что каталоги удаленного компьютера не могут рассматриваться как сетевые диски.)Программа работы с удаленной базой данных состоит из двух частей: клиентской и серверной. Клиентская часть программы, работающая на компьютере пользователя, обеспечивает взаимодействие с серверной программой:
посредством запросов, передаваемых на удаленный компьютер, предоставляет доступ к данным.
Серверная часть программы, работающая на удаленном компьютере, принимает запросы, выполняет их и пересылает данные клиентской программе.
Запросы представляют собой команды, представленные на языке SQL (Structured Query Language) — языке структурированных запросов.
Программа, работающая на удаленном сервере, проектируется таким образом, чтобы обеспечить одновременный доступ к информации нескольким пользователям. При этом для обеспечения доступа к данным вместо механизма блокировки файлов используют механизм транзакций.
Транзакция — это некоторая последовательность действий, которая должна быть обязательно выполнена над данными перед тем, как они будут переданы. В случае обнаружения ошибки во время выполнения любого из действий вся последовательность действий, составтяющая транзакцию, повторяется снова. Таким образом, механизм транзакций обеспечивает защиту отаппаратных сбоев. Он также обеспечивает возможность многопользовательского доступа к данным.
Разработка программы работы с удаленной базы данных — сложная и трудоемкая задача. Ее решение предполагает наличие у разработчика глубоких знаний и большого опыта разработки программного обеспечения. Поэтому в данной книге задача разработки удаленных баз данных не рассматривается.НОУ ИНТУИТ | Программирование баз данных в Delphi
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Уровень:
Специалист
Длительность:
25:58:00
Выпускников:
307
Качество курса:
4.49 | 4.19
Курс посвящен программированию локальных, клиент-серверных и распределенных (многоуровневых) баз данных в среде разработки программ Borland Delphi.
Данный курс является продолжением курса «Введение в программирование на Delphi», разработанным по многочисленным просьбам учащихся. Курс позволит вам освоить все аспекты разработки приложений с базами данных, которые в настоящее время являются наиболее востребованным на рынке продуктом. Курс «Программирование баз данных в Delphi», помимо обычной информации, содержит множество недокументированных возможностей Delphi. Он позволит вам освоить работу с базами данных шаг за шагом, от простых приложений с локальными БД до сложной архитектуры клиент-серверных и распределенных БД. Лекции курса содержат множество практических примеров, подкрепленных подробными комментариями.
Теги: delphi, FDM, ibconsole, interactive sql, interbase, ms access, sql, базы данных, дочерняя таблица, драйверы, клиенты, компоненты, палитра компонентов, переключатели, приложения, процедуры, редактор полей, редакторы, родительская таблица, серверы, теневые копии, утилитыПредварительные курсы
Дополнительные курсы
2 часа 30 минут
—
Теория проектирования баз данных
Эта лекция знакомит с терминологией, принятой в программировании БД. Вы узнаете, какие бывают связи между таблицами, что такое ссылочная целостность баз данных, а также познакомитесь с проектированием и нормализацией таблиц и тремя нормальными формами.—
ADO. Связь с таблицей MS Access
На этой лекции мы поговорим о механизмах доступа к данным BDE и ADO, обсудим их плюсы и минусы. Создадим базу данных с помощью программы MS Access. Затем создадим приложение, которое работает с этой базой данных, используя механизм ADO.—
Поиск, фильтрация и индексация таблиц
На этой лекции вы познакомитесь с различными методами поиска нужной записи в таблице, с применением фильтрации записей, удовлетворяющих нужному условию, с использованием индексных полей для сортировки данных в возрастающем и в убывающем порядке.—
Наборы данных. Основные свойства, методы и события
На этой лекции вы познакомитесь с наиболее востребованными свойствами, методами и событиями, общими для всех наборов данных, потомков класса TDataSet. Кроме того, поговорим о методах блокировки данных при использовании файл-серверной архитектуры, а также о курсорах, специфичных для механизма ADO.—
Таблицы Paradox в ADO
На этой лекции вы создадите небольшое приложение с двумя таблицами Paradox. Это приложение нам понадобится в дальнейшем, для изучения свойств полей. В приложении для доступа к этим таблицам используем механизм ADO, для чего нам потребуется создать и настроить поставщика данных ODBC. Для таблиц будет использоваться связь один-ко-многим для создания подстановочного lookup поля.—
Поля (TField)
На этой лекции вы познакомитесь с объектами-полями и классом TField. Научитесь создавать и использовать в наборах данных подстановочные и вычисляемые поля , изучите наиболее важные свойства, методы и события класса TField.—
Запросы
На этой лекции вы познакомитесь с компонентом-запросом TADOQuery, напишите приложение SQL-монитор и испытаете несколько операторов SQL, формируя различные наборы данных. Кроме того, вы изучите свойства и методы компонентов-запросов, отличные от других наборов данных.—
Краткий курс языка запросов SQL
На этой лекции вы познакомитесь с основными командами языка запросов SQL и научитесь формировать как простые, так и сложные запросы.—
Сохранение древовидных структур в базе данных
Эта лекция посвящена сохранению древовидных структур в базе данных. Вы узнаете, как можно сохранить дерево с неограниченным количеством ветвей в таблицу, и как считать его обратно в компонент TreeView.—
Отчеты. Quick Report
На этой лекции вы научитесь создавать профессиональные отчеты, как простые, так и связанные. Изучите назначение основных компонентов из набора Quick Report.—
Работа с сеткой DBGrid
На этой лекции вы изучите различные способы работы с сеткой DBGrid, научитесь выводить текст различным цветом, добавлять в ячейки кнопки и списки.—
DBChart. Графики и диаграммы
На этой лекции вы познакомитесь с компонентом DBChart, предназначенным для создания графиков и диаграмм. Изучите основные методы и свойства этого компонента, научитесь программно менять внешний вид графиков.—
Типы данных. Домены
На этой лекции вы познакомитесь с типами данных InterBase и научитесь использовать домены.—
Ключи и индексы
На этой лекции речь пойдет о первичных, уникальных и внешних ключах. Вы научитесь управлять ссылочной целостностью таблиц и создавать индексы.—
Хранимые процедуры
На этой лекции вы научитесь создавать хранимые процедуры, изучите встроенный алгоритмический язык хранимых процедур и триггеров, узнаете об исключениях и событиях.—
Генераторы и триггеры. Реализация автоинкрементного поля
Эта лекция посвящена мощным инструментам клиент-серверных баз данных: генераторам и триггерам. Вы узнаете, что такое генераторы, как их создавать и как менять их значения. Так же вы изучите триггеры и события, на которые они реагируют. Кроме того, вы научитесь создавать автоинкрементные ключевые поля.—
Команды модификации данных DML. Скрипты
На этой лекции вы изучите команды модификации данных DML. Научитесь добавлять новые записи, редактировать и удалять существующие. Познакомитесь с созданием скриптовых файлов.—
Стандартные функции InterBase. UDF
На этой лекции мы разберем подробный синтаксис встроенных функций InterBase, а также опробуем их на примерах. Кроме того, мы познакомимся с механизмом UDF (внешние пользовательские функции), создадим DLL-файл с такой функцией и подключим его к базе данных.—
Транзакции
На этой лекции мы подробно разберем суть понятия «транзакция», узнаем, как InterBase обеспечивает работу транзакций, познакомимся с многоверсионной архитектурой, изучим уровни изолированности транзакций. На практическом примере создадим приложение, работающее сразу с двумя транзакциями.—
Администрирование InterBase: безопасность БД
Эта лекция посвящена вопросам администрирования и безопасности сервера и баз данных InterBase. Подробно рассмотрены такие механизмы, как пользователи и роли, предоставление и отъем прав. Рассмотрены принципы работы с утилитами командной строки.—
Администрирование InterBase: обслуживание БД
Эта лекция посвящена обслуживанию баз данных InterBase. Подробно поднимаются вопросы резервного копирования и восстановления БД, изменение настроек базы и применение теневых копий. Даются рекомендации по ремонту разрушенных баз данных.—
Программное администрирование баз данных InterBase
Эта лекция подробно, шаг за шагом, описывает создание приложения для администрирования сервера InterBase. Рассмотрена работа компонентов IBBackupService, IBRestoreService и IBSecurityService вкладки InterBase Admin палитры компонентов.—
Многоуровневая архитектура
На этой лекции мы рассмотрим многоуровневую архитектуру баз данных, познакомимся с преимуществами ее использования, со способами подключений и с технологией DataSnap. Разработаем сервер приложений по технологии DCOM.—
Многоуровневая архитектура. Создание «тонкого» клиента
На этой лекции мы рассмотрим создание клиентского приложения в многоуровневой архитектуре баз данных, с механизмом подключения «тонкого» клиента к серверу. Изучим работу компонентов DCOMConnection и ClientDataSet, с помощью которых клиентское приложение подключим к серверу, сделанному в предыдущей лекции.—
| Глава 1: Delphi 7 и его IDE
Глава 2: Язык программирования Delphi
Глава 3: Библиотека времени выполнения
Глава 4: Классы базовой библиотеки
Глава 6: Создание пользовательского интерфейса
Глава 8: Архитектура приложений Delphi
Глава 9: Написание компонентов Delphi
Глава 10: Библиотеки и пакеты
Глава 11: Моделирование и программирование ООП (с ModelMaker)
Глава 13: Архитектура базы данных Delphi
Глава 14: Клиент / сервер с dbExpress
Глава 16. Многоуровневые приложения DataSnap
Глава 17: Написание компонентов базы данных
Глава 19. Интернет-программирование: сокеты и Indy
Глава 20. Веб-программирование с помощью WebBroker и WebSnap
Глава 21. Веб-программирование с помощью IntraWeb
Глава 22: Использование технологий XML
Глава 24. Архитектура Microsoft .NET с точки зрения Delphi
Глава 25: Delphi для.Предварительная версия .NET: язык и RTL
|
|
Базы данных — Соединения с базами данных Delphi
Базы данных — Соединения с базами данных DelphiБазы данных — подключения к базе данных Delphi
Delphi — отличный язык, но, судя по файлам справки, как подключить его к базам данных не совсем понятно.На палитре инструментов есть 2 вкладки.
- Доступ к данным
- Элементы управления данными
Поэтому на этой странице будет обсуждаться настройка компонентов доступа к данным. которые используются для определения Источники данных .
TTable -> TDataSource -> TQuery TTable -> TDataSource -> TDBComboBox TDatabase -> TTable -> TDataSource -> TDBComboBox
TTable подключается к базе данных ODBC, каталогу для таблиц Paradox, или компонент TDatabase. DatabaseName, TableName В списке выбора на TTable.DatabaseName перечислены доступные псевдонимы ODBC и значения TDatabase.DatabaseName. TDataSource - DataSet (TDataSet / TTable) Используйте это для обработки обработки на уровне записи.Он сохраняет все связанные элементы управления, указывающие на одну и ту же запись. Все компоненты, поддерживающие данные, должны подключаться к источнику данных. TDBComboBox - Источник данных (TDataSource), DataField Больше First, Next, Last (и т.п.) являются абстрактными членами TDataSet. DataSet - это свойство TDataSource. TTable является наследником TDataSet.
Используйте TDatabase при использовании BDE. Явное объявление не требуется, если вы не хотите доступ к свойствам и методам во время выполнения.Основное преимущество — возможность отключить диалоговое окно запроса имени пользователя / пароля и / или предоставить эти данные программно.
Если TTable используется без явной привязки его к существующей TDatabase, тогда создается неявная TDatabase по мере необходимости контролировать соединение.
Основная процедура просмотра содержимого таблицы
Поместите 3 компонента на новую (пустую) форму.- Доступ к данным / таблица
- Доступ к данным / Источник данных
- Элементы управления данными / DBGrid
Таблица1.DatabaseName | Выберите из списка баз данных ODBC. (Я предполагаю, что в вашей системе определен хотя бы один.) |
Таблица1.Имя таблицы | Выберите значение из списка доступных таблиц.(Вероятно, вам будет предложено ввести имя пользователя и пароль.) |
Таблица 1. Актив | Установите значение True. (По умолчанию всегда ложно. True позволяет видеть данные, False — нет.) |
DataSource1.DataSet | Выберите единственное значение из раскрывающегося списка. (Это будет добавленный ранее TTable.) |
DBGrid1.Источник данных | Выберите единственный вариант из раскрывающегося списка. |
Чтобы просмотреть записи, дважды щелкните компонент TTable (это открывает диалоговое окно редактора полей) и используйте кнопки видеомагнитофона для просмотра записей.
TD База данных
Используйте TDatabase, если вы хотите подключиться к нескольким таблицам в той же базе данных, или если вы хотите подавить раздражающий запрос входа в систему (Готов поспорить, я хочу :).База данных1.AliasName | Выберите из списка псевдонимов базы данных ODBC или BDE. (Я предполагаю, что в вашей системе определен хотя бы один.) Установка этого очищает Database1.DatabaseName . |
База данных 1. Имя базы данных | Это имя, с которым будут связаны компоненты TTable. Это может быть то же самое, что Database1.AliasName , вы можете придумайте имя, или вы можете ввести полный путь к База данных Paradox (каталог).Здесь нельзя ввести файл MDB MS Access. |
База данных1.LoginPrompt | Установите значение False, чтобы отключить диалоговое окно по умолчанию. |
База данных1.OnLogin | Добавление кода к этому событию также отключит диалоговое окно по умолчанию. (Жесткое кодирование идентификаторов пользователей и паролей считается безопасным проблема.) |
База данных1.Параметры | Если Database1.AliasName пусто, а Database1.DriverName присваивается MSACCESS, то вот как указать
база данных MS Access.ИМЯ БАЗЫ ДАННЫХ = H: \ Shared \ xxx \ Databases \ Converted.mdb ODBC DSN = |
Не могу понять как получить Драйвер Microsoft Access (* .mdb) работать.
Последовательность подключения к mdb-файлу MS Access без использования ODBC.
Полевые компоненты
Каждый раз, когда TTable (или другой компонент на основе TDBDataSet) помещается в форму, Delphi автоматически создает компоненты (базового типа TField) для всех доступных полей. С помощью диалогового окна редактора полей (дважды щелкните компонент TTable), вы можете контролировать, какие компоненты поля будут созданы.Кроме того, вы можете явно создать вычислил и поля поиска .Создание явных компонентов поля дает ряд преимуществ.
Вы должны использовать редактор полей для добавления и удаления постоянные поля.
BDE
Borland Database Engine (BDE) предоставляет возможность для доступа к различным типам баз данных с помощью компонентов Data Access .Основным недостатком является то, что BDE необходимо установить перед ваши программы будут работать.Однако, с точки зрения разработчика, Data Explorer на основе BDE — отличный инструмент, который вы должен быть хорошо знаком с. (Изнутри Delphi выберите Database / Explore ) Этот инструмент позволит вам просматривать таблицы — вы можете видеть данные, определить структуру и т.п.
Запустить Администратор BDE для определения псевдонимов.
ADO
ADO позволяет разрабатывать приложения баз данных, которые не нужен BDE для запуска. Вместо этого вы используете MDAC. Основное отличие состоит в том, что MDAC является частью Windows 98 и более поздних версий. (т.е. ВАМ не нужно его устанавливать).Бесплатный он-лайн курс
ADO не является частью Delphi 5 Professional — вы должны импортировать его. Обратите особое внимание на эти инструкции по установке. Project / Import Type Library и выберите
- Microsoft ADO Data Control 6.0 (SP3) (OLEDB) (версия 6.0)
- Microsoft ADO Ext. 2.1 для DLL и безопасности (версия 2.1)
КА ДАО
Одна альтернатива — использовать KA Dao, бесплатный компонент доступен из www.delphi.pari.bg, www.delphiwarrior.freeservers.com или www.torry.net.Доступная справка довольно хороша, но она не интегрирована в справку Delphi. Просто откройте KADAO.HLP . Основные инструкции описаны через
Содержание / Советы и хитрости / Как сделать простое приложение, используя KADao в качестве компонента таблицы?
Чтобы получить доступ к файлу * .mdb,
Компонент | Свойство | Значение | Комментарии |
---|---|---|---|
KADaoDatabase1 | DatabaseType | Доступ | Это значение по умолчанию |
База данных | наименование *.mdb файл | ||
MdbVersionAutoDetect | True | Необязательно, может помочь | |
Версия | 3,5 3,6 4,0 | Доступ XX-97 Доступ 2000-2002 гг. Доступ 2002 SP-1 | |
Подключено | True | Это подключает базу данных | |
KADaoTable1 | База данных | KADaoDatabase1 | |
Имя таблицы | Выберите один из списка | ||
Активно | Истинно | ||
DataSource1 | DataSet | KADaoTable1 | |
Включено | Истинно | ||
DBEdit1 | Источник данных | Источник данных1 | |
Поле данных | Выбрать любое поле | ||
DBNavigator1 | Источник данных | Источник данных1 | |
VisibleButtons | Отключите ненужные |
Есть 18 связанных dcu, поэтому я храню их все в исходном каталоге KADAO. и ссылку на него.
- Инструменты / Параметры среды … / Библиотека / Путь к библиотеке
Запуск с CD-ROM
Запуск программного обеспечения с компакт-диска (устройство только для чтения) довольно простоУстановите KADaoDatabase1.Только чтение от до Истина По умолчанию Ложь Установите KADaoDatabase1.Exclusive на True По умолчанию ЛожьВы можете протестировать первый шаг, щелкнув правой кнопкой мыши файл * .mdb в проводнике Windows и установив его свойства на только для чтения .
Обычно при открытии файла * .mdb файл блокировки (* .ldb) создается в том же каталоге, что и файл * .mdb. Однако, поскольку CD-ROM предназначен только для чтения, вам нужно указать движку базы данных Jet не создавать файл блокировки — ReadOnly / Exclusive делает это.
«на запись» код
Вы можете разместить код «для каждой записи» под любым- DataSource1DataChange
- KADaoTable1AfterScroll
Ошибки
Моя система Windows 98 отказывается запускать исполняемый файл, потому что в нем нет лицензия DAO. В системах Windows 98 se нет проблем.dbExpress
Предполагается, что dbExpress является заменой BDE (который больше не поддерживается).Его использование требует загрузки различных файлов * .dll на клиентские машины.Delphi, dbExpress и MySQL объясняет, как использовать dbExpress для подключения к MySQL. Он также содержит предупреждение — dbExpress: Delphi 6 против Delphi 7 — не запускать одновременно Delphi 6 и Delphi 7 приложения на одной машине при доступе к базам данных Firebird — dbExpress * .dll несовместимы и вызовут ошибки.
Firebird
Firebird — это бесплатная версия Borland Interbase с открытым исходным кодом. Ядро базы данных SQL.Есть несколько разных способов доступа к таблицам- Компоненты Interbase (использует BDE)
- ODBC / ADO (мне так и не удалось заставить это работать в Windows XP)
- dbExpress (НЕ может иметь приложения Delphi 6 и Delphi 7 на одном компьютере)
Использование компонентов Interbase
Чтобы получить доступ к файлу * .gdb,
Компонент | Свойство | Значение | Комментарии |
---|---|---|---|
IBDatabase1 | Имя базы данных | Установите это значение *.gdb или файл * .fdb | |
Подключено | True | Это подключает базу данных | |
IBTransaction1 | DefaultDatabase | IBDatabase1 | |
Активно | Истинно | ||
IBTable1 | База данных | IBDatabase1 | |
Транзакция | IBTransaction1 | Выбирается автоматически | |
Имя таблицы | Выберите один из списка | ||
Активно | Истинно | ||
DataSource1 | DataSet | IBTable1 | |
Включено | Истинно | Значение по умолчанию | |
DBEdit1 | Источник данных | Источник данных1 | |
Поле данных | Выбрать любое поле | ||
DBNavigator1 | Источник данных | Источник данных1 | |
VisibleButtons | Отключите ненужные |
Чтобы автоматически подключиться к базе данных Firebird, установить следующие
Чтобы подключиться к базе данных примера Interbase, распространяемой с Delphi, установить IBDatabase1.Имя базы данных по
Идентификатор компьютера: C: \ Program Files \ Common Files \ Borland Shared \ Data \ employee.gdb
Согласно сообщению группы новостей, TIBTable никогда не следует использовать с Клиент-серверные приложения — используйте вместо этого IBDataset . (Они оба основаны на TIBCustomDataSet ) Это отчасти потому, что TIBTable.Refresh не будет возвращать вставленные элементы. и IBDataset.Refresh будет (я предполагаю, что запрос выполняется повторно).
ODBC / ADO
Чтобы получить доступ к базе данных Firebird через ODBC, вы должны сначала определите соединение ODBC (DSN). Выбрать Панель управления / Администрирование / Источники данных (ODBC) / Системный DSN / Добавить … Затем выберите драйвер Interbase. В диалоговом окне важны только эти 2 поля.Поле | Комментарий |
---|---|
Имя источника данных | Это имя (псевдоним), которое использует ваша программа. |
База данных | Полный путь при сетевом протоколе Локальный |
Чтобы получить доступ к файлу * .gdb через ODBC / ADO (мне так и не удалось заставить его работать),
- Добавьте эти компоненты — KADaoDatabase, KADaoTable, DataSource, DBGrid
- Установите для KADaoTable1.Database значение KADaoDatabase1
- Установить DataSource1.DataSet на KADaoTable1
- Установить DBGrid1.DataSource в DataSource1
KADaoDatabase1.UserName | sysdba |
KADaoDatabase1.Password | мастер-ключ |
KADaoDatabase1.База данных Тип | ODBC |
KADaoDatabase1.Database | Выберите из списка псевдонимов базы данных ODBC. (Я предполагаю, что в вашей системе определен хотя бы один.) |
KADaoDatabase1.LoginPrompt | Установите значение False, чтобы отключить диалоговое окно по умолчанию. |
KADaoDatabase1.OnLogin | Добавление кода к этому событию также отключит диалоговое окно по умолчанию.(Жесткое кодирование идентификаторов пользователей и паролей считается безопасным проблема.) |
Список литературы
- Компьютерная лаборатория efg предоставляет Файлы DBF — с ADO или без него
- Здесь представлены очень подробные пошаговые инструкции о том, как подключиться к файлу * .dbf, используя как компонент TTable и компоненты ADO Borland.В обоих примерах используются модули данных .
URL: http: // cpcug.org / пользователь / Clemenzi / технический / Базы данных / Delphi / Database_Connections.html
Какая база данных для настольных приложений Delphi лучше всего поддерживает хранимые процедуры?
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…
- Авторизоваться
Какую встроенную базу данных использовать в приложении Delphi?
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…