Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание базы данных. Для создания таблицы автономной базы имеется приложение Database Desktop, которое вызывается командой Tools/Database Desktop




Для создания таблицы автономной базы имеется приложение 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 Admi­nis­trator) из меню настройки Windows или группы программ Delphi или из меню Delphi командой Database/Eplore/Object/BDE Admi­nis­trator (рис.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 pro­perties выбираем строку Refe­ren­­tial 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 (кириллицу при вводе использовать нельзя).





Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.