Создание базы данных
Для создания таблицы автономной базы имеется приложение Database Desktop, которое вызывается командой Tools/Database Desktop.
Оно имеет собственное окно, меню и кнопки (рис. 3.2.1).
Рис. 3.2.1. Окно Database Desktop
Новая таблица создается построителем таблиц (рис. 3.2.2), который вызывается командой File/New/Table. На запрос тип СУБД выберем Paradox 7.
Рис. 3.2.2. Окно построителя таблиц
Рассмотрим основные колонки и поля окна конструктора таблиц.
Field Name ‑ идентификаторы полей (не более восьми латинских букв и цифр для совместимости с другими СУБД).
Type ‑ тип поля (указывается выбором из контекстного меню): Alpha (A ‑ строка из не более чем 255, символов), Number (N ‑ число с плавающей точкой), Money ($ ‑ аналогичен типу Number, но добавляется денежный знак), Short (S ‑ целое число в диапазоне ‑32768..32767), LongInteger (I целое число в диапазоне-2147483647..2147483647), BCD (# ‑ число в двоично-десятичном формате), Date (D ‑ дата), Time (T ‑ время), Timestamp (@ ‑ дата и время), Memo (M ‑ строка любой длины), Formatted Memo (F ‑ аналогичен Memo, но может содержать форматированный текст), Graphic (G ‑ изображение BMP, PCX, TIF, GIF, EPS), OLE (O ‑ объект OLE), Logical (L ‑ логическое ‑ T, F), Autoincrement (+ ‑ при добавлении записи, автоматически формируется уникальное значение), Binary (B – последовательность байтов любой длины), Bytes (Y ‑ последовательность не более чем 255 байтов).
Size ‑ размер поля в байтах.
Key ‑ признак первичного ключевого поля (двойной щелчок по колонке).
Tables properties ‑ дополнительные свойства таблицы: Secondary Index (задание вторичных индексов), Validity Checks (ограничения на ввод значений полей), Password Security (определение пароля), Referential Integrity (определение ссылочной целостности между таблицами), Table Language. (задание языка), Table Lookop (задание полей просмотра), Depending Tables (зависимые дочерние таблицы).
Required Filed ‑ признак обязательного заполнения поля.
Minimum..., Maximum... ‑ начало и конец диапазона допустимых значений.
Default value ‑ значение по умолчанию при добавлении пустой записи.
Picture,Assist ‑шаблон и построитель шаблона значения поля (рис. 3.2.3).
Рис. 3.2.3. Окна построителей шаблона и индекса
Вторичные ключи (индексы) создаются путем выбора из списка свойств таблицы строки Secondary Indexes, и после нажатия кнопки Define выводится окно Define Secondary Index (рис. 3.2.2). Используя кнопки со стрелками или двойными щелчками, перенесем нужное поле или несколько полей, если ключ составной, в список индексов. Имеются переключатели: Unique (уникальный индекс), Case sensitive (учет регистров строковых полей), Descending (сортировка по возрастанию). Кнопкой OK производится выход с указанием имени индекса IndKz. Поле, которое является первичным ключом другой родительской таблицы, называют внешним ключом. Для связи таблиц обычно создают индексы по внешним ключам. После формирования таблицы она сохраняется, если нажать кнопку Save As, под указанным именем; при этом в поле имени файла можно указать как полное имя с каталогами, так и псевдоним базы (Alias). Псевдоним позволяет не привязываться к каталогу, который может меняться.
Для примера создадим базу из трех таблиц: Стройки (Stroiki), Заказчики (Zakazhiki) и Подрядчики (Podrjdhiki). В начале создадим каталог Stroitelstvo, в котором будет находиться наша база.
Для создания алиасы Stroiki вызовем администратор BDE (BDE Administrator) из меню настройки Windows или группы программ Delphi или из меню Delphi командой Database/Eplore/Object/BDE Administrator (рис.3.2.4). Далее командой Object/New создается алиаса Stroiki.
Рис. 3.2.4. Окно администратора BDE
Займемся созданием таблиц.
Таблица Stroiki (рис.3.2.2) будет иметь поля: Ns (наименование стройки, тип A (50)), Kz, Kp (коды заказчика и подрядчика, S), Ds (дата начала строительства, D), Ss (сметная стоимость, $), Fs (освоенная сумма, $), M (мощность, N), Em (единица мощности, например, количество мест для школ, A(10)). Индексами являются поля: Kz (индекс под именем indKz), Kp (indKp). Первичный ключ – поле Ns (можно его не задавать). Все поля, кроме Fs, M, Em, являются обязательными.
Таблицы Zakazhiki/Podrjdhiki будут иметь ключевые поля Kz/Kp (код заказчика/подрядчика, S) и поля Nz/Np (наименование заказчика/подрядчика, A(30)) соответственно.
Для корректировки и просмотра открытой таблицы имеются команды Table/Restructure (кнопка Restructure) и Table/Into Structure. Для переименования таблицы следует сохранить ее под новым именем.
Создание перекрестных ссылок (связей) между таблицами производится в следующем порядке. Командой File/Open/Tаble открывается дочерняя таблица Stroilki*, кнопкой Restructure переходим в режим редактирования. В списке Table properties выбираем строку Referential Integrity (целостность ссылок), нажмем кнопку Define и появляется одноименное окно (рис. 3.2.5). Из списка Fields выбираем поле Kz и переносим его (двойным щелчком) в поле Child fields (дочернее). Щелкнем дважды на строке Zakazhiki в списке Table, и его ключевое поле Kz поместится в поле Parent’s key (ключевое поле родительской таблицы).
Рис. 3.2.5. Окно установки связей между таблицами
Переключатель Cascade задает режим удаления всех дочерних записей (строек одного заказчика), при удалении родительской записи (заказчика из таблицы заказчиков) и корректировки ключей дочерних записей при изменении родительского ключа (кода заказчика из таблицы заказчиков). Кнопкой OK сохраним связь под именем LinkKz. Аналогично установим связь LinkKp по коду подрядчика между дочерней таблицей строек и родительской таблицей подрядчиков.
Form2.Query1.Active:=False;{закрытие запроса} End;
Внимание!
1. Наличие связей между таблицами может вызвать неудобство при редактировании дочерней таблицы (в форме будут только записи с текущим значением поля связи родительской таблицы) и в полях соответствия не будет списка всех значений поля соответствия (п. 3.6). Поэтому рекомендуется дополнительно описать дочерние таблицы без указания связей и на них ссылаться при формировании формы либо вообще не связывать таблицы (связать их можно в запросе).
2. В именах таблиц не используйте буквы «ч» и «ё».
Для заполнения и редактирования таблицы, после ее связывания с другими таблицами, используется кнопка EditData и меню Record приложения Database Desktop (кириллицу при вводе использовать нельзя).
Дата добавления: 2016-03-22; просмотров: 563;