Лабораторные работы по базам данных в Delphi

Автор работы: Пользователь скрыл имя, 13 Декабря 2010 в 21:19, лабораторная работа

Описание работы

Цель работы:

1.Ознакомить с утилитой Database Desktop.
2.Усвоить процесс создания и редактирования таблиц с помощью Database Desktop.
Database Desktop - это утилита, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links). Исполняемый файл утилиты называется DBD32.EXE. Для запуска Database Desktop просто дважды щелкните по ее иконке.

Файлы: 1 файл

Лабораторные работы по базам данных.doc

— 1.41 Мб (Скачать файл)

Лабораторные  работы по базам данных в Delphi

Лабораторная  работа № 1

Цель работы:

  1. Ознакомить с утилитой Database Desktop.
  2. Усвоить процесс создания и редактирования таблиц с помощью Database Desktop.

      Database Desktop - это утилита, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links). Исполняемый файл утилиты называется DBD32.EXE. Для запуска Database Desktop просто дважды щелкните по ее иконке.

Запуск  Database Desktop:

  1. Запустить Delphi
    1. В меню Delphi выбрать раздел Tools
    2. В появившемся списке выбрать строку Database Desktop
  2. Щелкнуть по кнопке Пуск
    1. Из главного меню выбрать строку Программы
    2. В появившемся списке выбрать строку Delphi 7
    3. В следующем списке выбрать строку Database Desktop

После запуска Database Desktop на экране появится окно:

Создание  таблиц в Database Desktop:

  1. Запускаем программу Database Desktop;
  2. В появившемся окне выбираем: File►New►Table.

      Формат  таблицы выбираем Paradox.  После этого появится окно создания таблицы, в котором можно определить поля таблицы и их тип:

      По  умолчанию сразу после открытия окна в правой его части в списке Table properties выбран пункт Validity Chekcs, что позволяет контролировать содержимое полей. С помощью флажка Required Fields можно потребовать обязательного заполнения поля при вводе новой записи. Также можно контролировать минимальное и максимальное значение числового поля в строках Minimum Value и Maximum Value. В строке Default Value можно указать значение поля по умолчанию – при вводе новой записи значение в это поле поместит BDE.С помощью строки Picture можно задать шаблон для автоматического форматирования значения поля. Например, если задан шаблон (###)###-#### и в поле введена строка 9054005647, она будет автоматически преобразована к виду (905)400-5647.

    Кнопки  предназначены для:

    Borrow… – осуществляет копирование структуры таблицы из другой таблицы 

    Save as… – сохраняет изменения в структуре таблицы

    Cancel – выход без сохранения

    Help – вызов справки

  1. Чтобы определить структуру таблицы в этом окне необходимо заполнить следующие графы:
    • Field Name - Имя поля.
    • Type - Тип поля. Вызывает список допустимых типов, щелчком правой кнопки мыши или клавишей пробел.
    • Size - Размер. Определяет размер поля. Не все типы полей имеют размер. Большинство типов имеют стандартный размер, который не может быть изменен. Размер в основном меняется у строковых типов (Alpha), бинарных (Binary) и др.
    • Key - Ключ. Двойной щелчок мышью определяет ключевое поле. Ключевыми могут быть только первые поля, то есть второе поле сможет быть ключевым только вместе с первым.

Типы  полей формата Paradox

Alpha строка длиной 1-255 байт, содержащая любые печатаемые символы
Number числовое поле длиной 8 байт, значение которого может  быть положительным и отрицательным. Диапазон чисел - от 10-308 до 10308 с 15 значащими цифрами
$ (Money) числовое поле, значение которого может быть положительным и отрицательным. По умолчанию, является форматированным для отображения десятичной точки и денежного знака
Short числовое поле длиной 2 байта, которое может содержать  только целые числа в диапазоне  от -32768 до 32767
Long Integer числовое поле длиной 4 байта, которое может содержать  целые числа в диапазоне от -2147483648 до 2147483648
# (BCD) числовое поле, содержащее данные в формате BCD (Binary Coded Decimal). Скорость вычислений немного  меньше, чем в других числовых форматах, однако точность - гораздо выше. Может иметь 0-32 цифр после десятичной точки
Date поле даты длиной 4 байта, которое может содержать  дату от 1 января 9999 г. до нашей эры - до 31 декабря 9999 г. нашей эры. Корректно  обрабатывает високосные года и имеет  встроенный механизм проверки правильности даты
Time поле времени длиной 4 байта, содержит время в миллисекундах от полуночи и ограничено 24 часами
@ (Timestamp) обобщенное  поле даты длиной 8 байт - содержит и  дату и время
Memo поле для  хранения символов, суммарная длина  которых более 255 байт. Может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (1-240) - остальные символы сохраняются в отдельном файле с расширением .MB
Formatted Memo поле, аналогичное Memo, с добавлением возможности  задавать шрифт текста. Также может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (0-240) - остальные символы сохраняются в отдельном файле с расширением .MB. Однако, Delphi в стандартной поставке не обладает возможностью работать с полями типа Formatted Memo
Graphic поле, содержащее графическую информацию. Может иметь  любую длину. Смысл размера - такой  же, как и в Formatted Memo. Database Desktop “умеет”  создавать поля типа Graphic, однако наполнять их можно только в приложении
OLE поле, содержащее OLE-данные (Object Linking and Embedding) - образы, звук, видео, документы - которые для своей  обработки вызывают создавшее их приложение. Может иметь любую длину. Смысл размера - такой же, как и в Formatted Memo. Database Desktop “умеет” создавать поля типа OLE, однако наполнять их можно только в приложении. Delphi “напрямую” не умеет работать с OLE-полями, но это легко обходится путем использования потоков
Logical поле длиной 1 байт, которое может содержать только два значения - T (true, истина) или F (false, ложь). Допускаются строчные и прописные буквы
+ (Autoincrement) поле длиной 4 байта, содержащее нередактируемое (read-only) значение типа long integer. Значение этого поля автоматически увеличивается (начиная с 1) с шагом 1 - это очень удобно для создания уникального идентификатора записи (физический номер записи не может служить ее идентификатором, поскольку в Парадоксе таковой отсутствует. В InterBase также отсутствуют физические номера записей, но отсутствует и поле Autoincrement. Его с успехом заменяет встроенная функция Gen_id, которую удобней всего применять в триггерах)
Binary поле, содержащее любую двоичную информацию. Может  иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (0-240) - остальные символы сохраняются в отдельном файле с расширением .MB. Это полнейший аналог поля BLOb в InterBase
Bytes строка цифр длиной 1-255 байт, содержащая любые данные

      Создадим таблицу с данными о студентах. Укажем такие данные, как: ФИО, дата рождения, на основании какого приказа студент принят в университет, номер зачетки, специальность, курс, стипендия. Во всех текстовых полях, необходимо указать размер.

      

      Созданную таблицу сохраняем под названием Student.db и закрываем окно создания таблиц.

      Иногда  может понадобиться отредактировать  уже созданную таблицу для  того, чтобы добавить, изменить или  удалить некоторые поля, изменить свойства таблицы.

    Редактирование  таблицы:

  1. Определение вторичных индексов.
    1. Открыть таблицу Student.db (File►Open►Table)
    2. Из меню Table выбрать пункт Restructure. Откроется окно редактирования полей таблицы.
    3. В выпадающем списке Table properties выбрать Secondary Indexes и нажать кнопку Define. В окне Define Secondary Index определяются вторичные индексы:

   С помощью флажков группы Index options можно определить следующие особенности индекса:

    • Unique – индекс будет содержать уникальные значения;
    • Maintained – индексные поля сортируются по возрастанию значений;
    • Case sensitive – индекс чувствителен к регистру букв в текстовых полях;
    • Descending – индексные поля сортируются по убыванию значения.
    1. Выбрать «SFio» из списка Fields и нажать кнопку с изображенной стрелкой вправо.  В списке Indexed fields (индексированные поля) появится «SFio». То же самое проделать с полями «SSpec» и «SKurs».
    1. Закрыть окно “Define Secondary Index”
    2. В появившемся окне ввести имя индекса  IDFio и нажать "OK".   

    

  1. Теперь, так  как на факультете всего две специальности, то можно переопределить тип поля «SSpec». Для работы будет гораздо удобнее, чтоб это поле было типа Logical.
    1. Навести курсор на тип поля «SSpec» и написать тип поля «L».
  2. Определим языковой драйвер. Это следует делать для правильного отображения русскоязычного текста.
    1. Открыть окно редактирования полей таблицы Student.db.
    2. В выпадающем списке Table properties выбрать Table Language и нажать кнопку Modify.
    3. В появившемся окне выбрать из списка Pdox ANSI Cyrillic.
    4. Сохранить таблицу.
  3. Для логического типа значение по умолчанию зададим False.
Заполнение  данными в таблице  Student.db:
    • Открыть таблицу (File ► Open ► Table)
    • Выбрать Table ► Edit data или нажать клавишу F9.
    • Создать несколько записей.

Создание  псевдонима:

      Псевдоним указывает местонахождение файлов БД и представляет собой специальное имя для обозначения каталога. Использование псевдонимов существенно облегчает перенос файлов БД в другие каталоги и на другие компьютеры. При этом не требуется изменять приложение, которое осуществляет доступ к таблицам БД. Если в приложение местонахождения таблицы указано с помощью псевдонима, то после перемещения БД для обеспечения работоспособности приложения достаточно изменить путь, на который указывает псевдоним. Если же в приложение путь к БД указан в явном виде, то есть без псевдонима, то после перемещения БД нужно перемещать само приложение – вносить изменения в исходный код и заново его транслировать.        

      Регистрация псевдонима:

  1. Воспользуемся приложением SQL Explorer, запускаемым командой Database►Explore. В левой части окна приводится список всех зарегистрированных в системе BDE баз данных, в правой – свойства текущей базы, выбранной в списке.
  2. Создадим псевдоним для базы данных. Для этого выполним команду Object►New и в диалоговом окне выбора драйвера укажем значение Standart.

  1. После щелчка на кнопке ОК в списке появится новый  элемент, помеченный зеленым треугольником.

  1. По умолчанию  формируется имя базы данных Standard1, изменим его на Student.
  2. Убедимся, что в свойствах Default Driver (Драйвер по умолчанию) стоит значение Paradox. В свойстве Path укажем каталог, в котором хранится наши таблица.
  3. Теперь зарегистрированную в системе BDE базу сохраним, выбрав для этого Apply в контекстном меню объекта Student.
  4. На вопрос о необходимости сохранения изменений нажать Yes. Теперь таблица доступны из среды BDE под именем Student. 
  5. Закройте Sql  Explorer.

Лабораторная  работа № 2

Цель работы:

  1. Изучить начальные этапы создания приложения для работы с базами данных в среде Delphi:
    • ознакомить с компонентами доступа к БД: TTable, TDataSource;
    • ознакомить с компонентами управления БД: TDBGrid, TDBNavigator.
  1. Усвоить ввод и редактирование текста.

      Методика  создания приложения для работы с  базой данных ничем не отличается от методики создания обычной программы: к форме добавляются необходимые  компоненты, устанавливаются значения свойств компонентов, разрабатываются необходимые процедуры обработки событий.

      Приложение  работы с базой данных должно содержать  компоненты, обеспечивающие доступ к  данным, возможность просмотра и  редактирования содержимого полей. Компоненты доступа к данным находятся на вкладке Data Access и BDE палитры компонентов, а компоненты отображения данных — на вкладке Data Controls.

Основные  компоненты доступа и управления к базам данных:

      Компоненты  доступа к базам  данных:

TTable - обеспечивает взаимодействие с таблицей БД, т.е. компонент TTable указывает, откуда брать данные и какие поля будут составлять набор данных.  Компонент TTable имеет следующие основные свойства:

    • DatabaseName – база данных
    • TableName - имя таблицы
    • Active – активация таблицы (значение True активирует ее)

    Свойство DatabaseName определяет базу данных, в которой находится таблица. Это свойство может содержать:

  • псевдоним (псевдоним)
  • путь для локальных БД
  • путь и имя файла базы данных для Local InterBase
  • локальный псевдоним, определенный через компонент TDatabase.

    Свойство TableName определяет имя таблицы базы данных.

TDataSource - определяет связь между базой данных и компонентами управления данными, то есть компонент TDataSource является промежуточным звеном между компонентом Table1, соединенным с реальной БД и визуальными компонентами DBGrid1 и DBNavigator1, с помощью которых пользователь взаимодействует с таблицей. 

    В большинстве случаев, все, что нужно  сделать с DataSource - это указать в свойстве DataSet  соответствующий TTable. Затем, у визуального компонента вроде DBGrid или DBNavigator в свойстве DataSource указывается TDataSource, который используется в настоящее время.

Информация о работе Лабораторные работы по базам данных в Delphi