
Задания / LAB1
.DOCЛабораторная работа № 1
Тема: Создание базы данных (БД)
Перед созданием БД необходимо создать каталог, где она будет размещаться. Например, этот каталог будет иметь имя D:\students\v329\bd. Создание таблиц осуществляется с помощью утилиты Database Desktop.
Запустите Database Desktop с помощью Пуск | Программы | Borland Delphi| Database Desktop. Первое, что необходимо сделать, это настроить рабочий каталог утилиты. Выберите в меню File | Working Directory и установите в появившемся окне ссылку на каталог D:\students\v329\bd.
Создание таблицы БД
Для создания таблицы выполнить File | New | Table. Появится диалоговое окно, в котором можно выбрать тип таблицы.
Мы
выбрали формат Dbase
IV,
так как он более удобен для создания
таблиц, т.к. в нём проще всего устанавливать
индексы, что позволяет в одной таблице
иметь по несколько индексов, и все они
будут главными в отличии от формата
Paradox,
где только один главный индекс.
Выбираем тип dBASE IV.
Следующим этапом будет создание полей таблицы базы данных.
Каждому полю создаваемой таблицы соответствует одна запись в таблице Field Roster этого окна: в колонку Field Name нужно ввести имя поля, в колонку Type – символ, определяющий тип хранимых в поле данных, в колонку Size – число, определяющее длину поля (требуется не для всех типов полей).
Типы полей очень сильно различаются друг от друга, в зависимости от формата таблицы. Для получения списка типов полей перейдите к столбцу “Type”, а затем нажмите пробел или щелкните правой кнопкой мышки
Типы полей Dbase IV приведены в таблице.
Character (alpha)Float (numeric) |
числовое поле размером 1-20 байт в формате с плавающей точкой, значение которого может быть положительным и отрицательным. Может содержать очень большие величины, однако следует иметь в виду постоянные ошибки округления при работе с полем такого типа. Число цифр после десятичной точки (параметр Dec в DBD) должно быть по крайней мере на 2 меньше, чем размер всего поля, поскольку в общий размер включаются сама десятичная точка и знак |
Number (BCD) |
числовое поле размером 1-20 байт, содержащее данные в формате BCD (Binary Coded Decimal). Скорость вычислений немного меньше, чем в других числовых форматах, однако точность - гораздо выше. Число цифр после десятичной точки (параметр Dec в DBD) также должно быть по крайней мере на 2 меньше, чем размер всего поля, поскольку в общий размер включаются сама десятичная точка и знак |
Date |
поле даты длиной 8 байт. По умолчанию, используется формат короткой даты (ShortDateFormat) |
Logical |
поле длиной 1 байт, которое может содержать только значения “истина” или “ложь” - T,t,Y,y (true, истина) или F,f,N,n (false, ложь). Допускаются строчные и прописные буквы. Таким образом, в отличие от Парадокса, допускаются буквы “Y” и “N” (сокращение от Yes и No) |
Memo |
поле для хранения символов, суммарная длина которых более 255 байт. Может иметь любую длину. Это поле хранится в отдельном файле. Database Desktop не имеет возможности вставлять данные в поле типа Memo |
OLE |
поле, содержащее OLE-данные (Object Linking and Embedding) - образы, звук, видео, документы - которые для своей обработки вызывают создавшее их приложение. Может иметь любую длину. Это поле также сохраняется в отдельном файле. Database Desktop “умеет” создавать поля типа OLE, однако наполнять их можно только в приложении. Delphi “напрямую” не умеет работать с OLE-полями, но это легко обходится путем использования потоков |
Binary |
поле, содержащее любую двоичную информацию. Может иметь любую длину. Данное поле сохраняется в отдельном файле с расширением .DBT. Это полнейший аналог поля BLOb в InterBase |
Рассмотрим на конкретном примере создание базы данных “Прием заказов”:
Таблица A
Таблица B
Таблица C
Таблица D
Создание индексов
После создания структуры таблицы, необходимо создать в ней индексы, они необходимы для дальнейшего связывания таблиц.
Например Таблицу B необходимо связать с Таблицей D по полю KOD_TOVARA.
Для этого необходимо выполнить следующие действия:
- в поле Table properties таблиц B и D выбираем свойство Indexes. и нажимаем Define…
Обратите внимание, что поля, по которым связываются таблицы, должны иметь одинаковые имена, типы и ширину поля.
В появившемся окне необходимо выбрать поле, для которого нужно создать индекс (в нашем случае - это KOD_TOVARA).
Здесь же установить его уникальность(Unique),если это поле является первичным ключом
Затем нажать ОК и , в появившемся окне, ввести имя этого индекса.
Теперь проделываем тоже самое с таблицами С и А по полю KOD_KLIENT.(таблица А является главной по отношению к С).
Для таблиц А и В по полю KOD_ ZAKAZA.(таблица В главная по отношению к А).
В итоге мы получили, что таблицы А и В имеют по два индекса, а остальные по одному.
См. рисунки выше.
После того как структура таблицы создана, её необходимо сохранить, для чего нажимаем на форме кнопку Save As. При сохранении таблица исчезнет и потребуется повторное открытие: File | Open | Table.
Ввод данных в БД
Теперь нам осталось ввести данные в нашу БД, для этого переходим в режим редактирования: Table | Edit Data. Теперь можно заполнить таблицу, внося в неё данные.
Пример заполнения таблицы D.
После того, как данные будут занесены, таблицу необходимо закрыть, причем все будет сохранено автоматически. Это делается так: File | Close.
Заключение
Итак,мы познакомились со штатной утилитой Database Desktop, используемой для интерактивного создания и модификации таблиц различной структуры(формата). И хотя управление таблицами можно осуществлять с помощью различных средств (SQL-скрипт в WISQL, компонент TTable, компонент TQuery), данная утилита позволяет делать это в интерактивном режиме наиболее простым способом.
Задание
-
Создать таблицы БД в формате Dbase IV (или в формате Paradox7).
-
Установить индексы для каждой таблицы.
-
Заполнить таблицы. Количество записей должно быть не меньше 10.