Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
абораторные работы по дисциплине «Программирование».
Лабораторная работа № 1
«Разработка системы управления базой данных»
Базами данных называют хранилища информации. База данных создается для хранения и доступа к данным, содержащим сведения об определенной области человеческой деятельности. СУБД это специальные программные средства, которые позволяют создавать базы данных, осуществлять их наполнение, обновление, и удаление.
В базе данных информация хранится в виде таблиц. Таблица это совокупность строк и столбцов. Строки соответствуют экземпляру объекта, событию или явлению. Столбцы соответствуют признакам, характеристикам этого объекта, события, явления. Столбцы таблицы, как правило, называют полями таблицы, а строки записями таблицы. Ниже приведен пример таблицы. В таблице содержатся сведения о сотрудниках фирмы. Таблица состоит из таких полей, как фамилия, имя, адрес сотрудника.
Фамилия |
Имя |
Адрес |
Васильев |
Антон |
ул. Самарская 78, кв. 87 |
Никитин |
Валерий |
ул. Осипенко 98, кв.9 |
Как правило, база данных состоит из нескольких связанных между собой таблиц. Эта связь осуществляется по принципу главная (родительская) детальная (дочерняя) таблица. Дочерняя таблица содержит дополнительные данные. Например, для нашей таблицы могла бы существовать дочерняя таблица, в которую входили бы сведения о достижениях сотрудников, их фотография и т.д.
Одной из основных возможностей Delphi является разработка приложений, работающих с базами данных. Такие приложения называют системами управления базами данных (СУБД). Системы управления базами данных, созданные в Delphi, зависимы от специальной библиотеки программ. Эта библиотека называется BDE (Borland Database Engine машина баз данных фирмы Borland). BDE это набор динамически загружаемых библиотек, которые позволяют осуществлять доступ к данным различных форматов. BDE позволяет работать с такими распространенными форматами баз данных как Paradox, FoxPro, dBase, Oracle, InterBase и т.д. Пока на компьютере не будет установлена BDE, на нем не сможет работать ни одна программа по управлению базами данных, созданная средствами Delphi. При разработке СУБД у вас не возникнет проблем, так как BDE автоматически устанавливается в процессе установки Delphi. А вот если вы будете использовать вашу СУБД на другом компьютере, тогда на нем необходимо будет установить BDE.
В Delphi существуют специальные компоненты, которые позволяют организовать связь с базой данных, управление базой данных, обеспечивают визуализацию данных и возможность их редактирования. Компоненты, которые обеспечивают визуализацию данных и возможность их редактирования, представляют собой элементы управления, связанные с данными (Например DBLabel, DBEdit, DBMemo и т.д.).
В комплекте с Delphi поставляются сразу несколько библиотек для работы с базами данных (ADO, BDE, dbExpress, InterBase и др.). Для того чтобы создать приложение, работающее с локальной базой данных, то вы обычно используете библиотеку BDE. Эта библиотека создана компанией Borland и уже порядком устарела. Но без определённой подготовки операционной системы эти компоненты работать не будут. Есть альтернатива этим компонентам.
Существует автономный компонент TClientDataSet который использует свой собственный формат данных.
Создание таблицы
База данных будет состоять из одной таблицы. Приведем описание таблицы «Сотрудники».
Имя поля |
Назначение |
EmpID |
Уникальный идентификатор сотрудника |
Fam |
Фамилия сотрудника |
Nam |
Имя сотрудника |
Adres |
Адрес места проживания сотрудника |
Desc |
Примечание о сотруднике |
Для создания таблицы нам понадобится только компонент TClientDataSet.
1. Создаём новый проект (можно даже его не сохранять) и добавляем на форму компонент TClientDataSet.
2. Сначала определим структуру таблицы. Для этого открываем свойство FieldDefs нашего компонента. Открывается окно "Editing ClientDataSet1.FieldDefs" жмём "добавить новый", и определяем свойства поля (тип, формат, размер и т.д.).
Определим типы полей таблицы «Сотрудники».
Имя поля |
Тип |
Размер поля |
EmpID |
Автоинкрементное поле |
|
Fam |
Текстовый |
15 |
Nam |
Текстовый |
15 |
Adres |
Текстовый |
20 |
Desc |
Memo поле |
100 |
3. Теперь самое главное. Щёлкаем правой кнопкой мыши на компоненте TClientDataSet и выбираем пункт CreateDataSet. Потом ещё раз открываем контекстное меню и выбираем пункт "Save to binary MyBase file" и сохраняем файл туда, куда нам надо.
Всё готово теперь у нас есть файл CDS. Можно закрывать данный проект и создавать новый, так как это было показано выше.
Создадим отдельную папку, в которую мы поместим таблицу базы данных. Назовем папку DBDemo и поместим ее по адресу d:\Work:\ Сохраним нашу таблицу в эту папку под именем table1.cds (Рис. 6).
Создание приложения
Теперь, когда мы создали таблицу, мы можем перейти к Delphi и начать разработку СУБД. Создадим новое приложение (проект). Сохраним все файлы проекта в папку, где располагается наша таблица, т.е. в папку DBDemo (меню File > Save All).
Итак, переходим к практике. Компонент TClientDataSet использует файлы с расширением *.CDS и *.XML мы будем рассматривать формат CDS, так как XML формат занимает вдвое больше места на диске и такой файл легко можно изменить, открыв его через блокнот. Этот компонент при создании проецирует файл в память и модифицирует только память, а при уничтожении данные записываются в файл целиком. Путь к файлу определяет свойство FileName. Откроем созданную выше таблицу формата CDS.
Поместим на форму 4 компонента
1. TClientDataSet
2. TDataSource
3. TDBGrid
4. TDBNavigator
В результате :
1. DataSource1
2. ClientDataSet1
3. DBGrid1
4. DBNavigator1
Настраиваем их свойства так чтобы получилось примерно так:
DBNavigator1.DataSource = DataSource1
DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ClientDataSet1
ClientDataSet1.FileName = 'D:\Work\DBDemo\Table1.cds'
ClientDataSet1.Active = True (самое главное этого не забыть :-))
Задания:
Таблица должна соответствовать следующим требованиям:
Варианты: