Разработка программы баз данных «Ведомость учащихся»
Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок — Standard, Additional, Dialogs и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице… Читать ещё >
Разработка программы баз данных «Ведомость учащихся» (реферат, курсовая, диплом, контрольная)
Пояснительная записка курсового проекта
Разработка программы баз данных «Ведомость учащихся»
1 Теоретическая часть
1.1 Обзор среды программирования
1.2 Обзор и выбор СУБД
1.3 Обзор технологии подключения
1.4 Выводы
2 Проектная часть
2.1 Разработка инфологической модели
2.2 Разработка даталогической модели
2.3 Разработка физической модели
3 Разработка программного обеспечения
3.1 Разработка структуры ПО
3.2 Разработка форм
3.3 Выводы Заключение Список литературы Приложения
Введение
Информация в современном мире превратилась в один из наиболее важных ресурсов, а информационные системы стали необходимым инструментом практически во всех сферах деятельности.
Традиционные информационные системы могут создаваться и использоваться без применения технических средств и, тем более, автоматизированных систем, комплексов и устройств (например, рукописные или печатные на пишущей машинке табличные данные самого различного назначения). Однако подобные технологии в современном обществе применяются крайне редко.
Основой или разновидностью информационной системы (информационной базы) обычно является база данных. Информационная база состоит из: коллекции записей собственно данных и описания этих данных — метаданных. Записи в базе данных располагаются в порядке ввода.
Информационная база, записанная на машинные (электронные) носители информации и используемая для решения задач на ЭВМ, называется базой данных. Таким образом, основу информационных систем составляют базы данных (БД). Все свойства БД переносятся на информационные системы
1 Теоретическая часть
1.1 Обзор среды программирования Мечта программистов о среде программирования, в которой бы простота и удобство сочетались с мощью и гибкостью, стала реальностью с появлением среды Delphi. Она обеспечивала визуальное проектирование пользовательского интерфейса, имела развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных. Язык Delphi по возможностям значительно превзошел язык Basic и даже в чем-то язык C++, но при этом он оказался весьма надежным и легким в изучении (особенно в сравнении с языком C++). В результате, среда Delphi позволила программистам легко создавать собственные компоненты и строить из них профессиональные программы. Среда оказалась настолько удачной, что по запросам любителей C++ была позже создана среда C++Builder — клон среды Delphi на основе языка C++ (с расширенным синтаксисом).
Среда Delphi стала, по сути, лучшим средством программирования для операционной системы Windows, но программистов ждало разочарование, если возникало желание перенести программу в другую операционную систему, в частности, в операционную систему Unix.
Главные составные части среды программирования Ниже перечислены основные составные части Delphi:
1. Окно Редактора Исходного Текста (Editor Window)
2. Палитра Компонент (Component Palette)
3. Инспектор Объектов (Object Inspector)
4. Справочник (On-line help)
5. Дизайнер Форм (Form Designer)
6. Есть и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многие другие, нужные Вам для точной настройки программы и среды программирования.
Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Прежде чем Вы начнете, убедитесь, что можете распознать эти два важных элемента. Дизайнер Форм показан на рисунок -1, окно Редактора — на рисунке -2.
Рисунок — 1 «Дизайнер Форм — то место, где Вы создаете визуальный интерфейс программы»
Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент.
Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время является Редактор. Логика является движущей силой программы и Редактор — то место, где Вы ее «кодируете» .
Рисунок — 2 «В окне Редактора Вы создаете логику управления программой»
Палитра Компонент (см. рис.3) позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз — на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.
Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок — Standard, Additional, Dialogs и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу).
Рисунок — 3 «Палитра Компонент — место, где Вы выбираете объекты, которые будут помещены на вашу форму»
Предположим, Вы помещаете компонент TEdit на форму; Вы можете двигать его с места на место. Вы также можете использовать границу, прорисованную вокруг объекта для изменения его размеров. Большинством других компонент можно манипулировать тем же образом. Однако, невидимые во время выполнения программы компоненты (типа TMenu или TDataBase) не меняют своей формы.
Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов (рис.4). Заметьте, что информация в Инспекторе Объектов меняется в зависимости от объекта, выбранного на форме. Важно понять, что каждый компонент является настоящим объектом и Вы можете менять его вид и поведение с помощью Инспектора Объектов.
Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница — это список свойств, вторая — список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel изменяя свойства Caption, Left, Top, Height, и Width.
Вы можете использовать закладки внизу Инспектора Объектов для переключения между страницами свойств и событий.
Основные характеристики
· Высокопроизводительный компилятор в машинный код;
· Объектно-ориентированная модель компонент;
· Масштабируемые средства для построения баз данных.
Рисунок — 4 «Инспектор Объектов позволяет определять свойства и поведение объектов, помещенных на форму»
1.2 Обзор и выбор СУБД
Группа реляционных СУБД представлена на рынке программных продуктов очень широко. Это, например, такие системы, как Paradox, Clarion, dBASE, FoxBASE, FoxPro, Clipper, Access. Важнейшей характеристикой любой СУБД является используемый в ней тип транслятора (интерпретатор или компилятор). Программы, написанные для системы-интерпретатора, не работают без наличия самой этой системы. В настоящее время скорость работы таких программ не уступает скорости программ, сгенерированных компилятором. Бесспорным преимуществом интерпретаторов для программистов является удобство разработки и отладки программных продуктов, а также освоение языка. Из перечисленных СУБД dBASE, FoxPro, Access являются интерпретаторами, а Clipper — компилятором. В пакетах dBASE и FoxPro имеется компилятор, позволяющий при желании сформировать ЕХЕ-файлы готовых программ. Недостатком систем-компиляторов являются большие суммарные затраты времени на многократную компиляцию и сборку (линковку) исходных модулей программы при ее отладке.
СУБД Access (фирма Microsoft) имеет достаточно высокие скоростные характеристики и входит в состав чрезвычайно популярного в нашей стране и за рубежом пакета Microsoft Office. Набор команд и функций, предлагаемых разработчикам программных продуктов в среде Access, по мощи и гибкости отвечает большинству современных требований к представлению и обработке данных. В Access поддерживаются разнообразные всплывающие и многоуровневые меню, работа с окнами и мышью, реализованы функции низкоуровневого доступа к файлам, управления цветами, настройки принтера, представления данных в виде электронных таблиц и т. п. Система также обладает средствами быстрой генерации экранов, отчетов и меню, поддерживает язык управления запросами SQL, имеет встроенный язык Visual Basic for Applications (VBA), хорошо работает в сети. СУБД Access позволяет использовать другие компоненты пакета Microsoft Office, такие как текстовый процессор Word for Windows, электронные таблицы Excel и т. д.
Перечисленные факторы определили выбор СУБД Access в качестве среды для практического изучения вопросов проектирования баз данных в данной книге.
Приведем некоторые из средств Microsoft Access, существенно упрощающие разработку приложений.
1. Процедуры обработки событий и модули форм и отчетов. На встроенном языке VBA можно писать процедуры обработки событий, возникающих в формах и отчетах. Процедуры обработки событий хранятся в модулях, связанных с конкретными формами и отчетами, в результате чего код становится частью макета формы или отчета. Кроме того, существует возможность вызова функции VBA свойством события.
2. Свойства, определяемые в процессе выполнения. С помощью макроса или процедуры обработки событий можно определить практически любое свойство формы или отчета в процессе выполнения в ответ на возникновение события в форме или отчете.
3. Модель событий. Модель событий, похожая на используемую в языке Microsoft Visual Basic, позволяет приложениям реагировать на возникновение различных событий, например нажатие клавиши на клавиатуре, перемещение мыши или истечение определенного интервала времени.
4. Использование обработки данных с помощью VBA. С помощью языка VBA можно определять и обрабатывать различные объекты, в том числе, таблицы, запросы, поля, индексы, связи, формы, отчеты и элементы управления.
5. Построитель меню. Предназначен для помощи при создании специальных меню в приложениях. Кроме того, специальные меню могут содержать подменю.
6. Улучшенные средства отладки. Помимо установки точек прерывания и пошагового выполнения программ на языке VBA, можно вывести на экран список всех активных процедур. Для этого следует выбрать команду Вызовы в меню Вид или нажать кнопку [Вызовы) на панели инструментов.
7. Процедура обработки ошибок. Помимо традиционных способов обработки ошибок возможно использование процедуры обработки события Error для перехвата ошибок при выполнении программ и макросов.
8. Улучшенный интерфейс защиты. Команды и окна диалога защиты упрощают процедуру защиты и смены владельца объекта.
9. Программная поддержка механизма OLE. С помощью механизма OLE можно обрабатывать объекты из других приложений.
10. Программы-надстройки. С помощью VBA можно создавать программы-надстройки, например нестандартные мастера и построители. Мастер — средство Microsoft Access, которое сначала задает пользователю вопросы, а затем создает объект (таблицу, запрос, форму, отчет и т. д.) в соответствии с его указаниями.
Диспетчер надстроек существенно упрощает процедуру установки программ-надстроек в Microsoft Access.
1.3 Обзор технологии подключения
ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX») — интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX. ADO позволяет представлять данные из разнообразных источников (реляционных баз данных, текстовых файлов и т. д.) в объектно-ориентированном виде. Объектная модель ADO состоит из следующих объектов высокого уровня и семейств объектов:
§ Connection (представляет подключение к удалённому источнику данных)
§ Recordset (представляет набор строк, полученный от источника данных)
§ Command (используется для выполнения команд и SQL-запросов с параметрами)
§ Record (может представлять одну запись объекта Recordset или же иерархическую структуру, состоящую из текстовых данных)
§ Stream (используется для чтения и записи потоковых данных, например, документов XML или двоичных объектов)
§ Errors (представляет ошибки)
§ Fields (представляет столбцы таблицы базы данных)
§ Parameters (представляет набор параметров SQL-инструкции)
§ Properties (представляет набор свойств объекта) Компоненты ADO используются в языках высокого уровня, таких как VBScript в ASP, JScript в WSH, Visual Basic, Delphi.
1.4 Выводы Из теоретической части курсовой работы можно сделать вывод о целесообразности выбора именно Delphi как среды программирования и Microsoft Access как СУБД. В теоретической части рассказано о плюсах и основных возможностях данных программ.
2. Проектная часть
2.1 Разработка инфологической модели Инфологическая модель представляет собой описание будущей базы данных, представленное с помощью естественного языка, формул, графиков, диаграмм, таблиц и других средств, понятных как разработчикам БД, так и обычным пользователям. Назначение такой модели состоит в адекватном описании процессов, информационных потоков, функций системы с помощью общедоступного и понятного языка, что делает возможным привлечение экспертов предметной области, консультантов, пользователей для обсуждения модели и внесения исправлений. В данном случае под созданием инфологической модели будем понимать именно ее создание для БД. В общем случае, инфологическая модель может создаваться для любой проектируемой системы и представляет ее описание (в общем случае в произвольной форме). Для построения инфологической модели важно знать элементы этой модели. Базовыми элементами модели сущность-связь являются сущности. Сущность по форме представляет собой только некоторое реального описание объекта, точнее набор описаний его значимых признаков-атрибутов. Конкретный набор значений атрибутов объекта будет называться экземпляром сущности
2.2 Разработка датологической модели Основной задачей даталогического моделирования является описание свойств понятий предметной области, их взаимосвязь и ограничения, накладываемые на данные. Даталогическая модель является начальным прототипом создаваемой базы данных. Все понятия, выделенные при исследовании предметной области и их взаимосвязи в дальнейшем будут отображены в конкретные структуры какой-либо конкретной базы данных.
Результатом создания даталогической модели является модель, созданная с учетом выбранной модели данных, полученная путем преобразования инфологической модели с учетом определенных правил.
даталогическая модель отражает структуру БД с учетом особенностей модели данных.
2.3 Разработка физической модели Компонентами физической модели данных являются таблицы, столбцы и отношения. Сущности логической модели станут таблицами в физической модели. Логические атрибуты станут столбцами. Логические отношения станут ограничениями целостности связей.
Рисунок — 5 «Схема данных»
3 Разработка программного обеспечения
3.1 Разработка структуры ПО
3.2 Разработка форм В приведенной базе данных используется 1 форма. Реализация на одной форме нескольких таблиц была сделана с помощью объекта PageControl .
Рисунок — 5 «Форма 3»
В данной таблице представлена информация о треках, кто исполнитель и жанр композиции.
В данной таблице представлена информация о исполнителях, количество людей в группе и конкретная специализация исполнителей группы.
Рисунок — 6 «Форма 1»
Рисунок — 7 «Форма 2»
В данной таблице представлена информация, в каком году «родилась» группа и краткая информация о ней.
Рисунок — 8 «Форма 4»
В данной таблице предоставлена информация об альбомах группы и год записи.
С помощью запроса можно найти быстро нужную информацию из большого списка и этот запрос ускорит работу пользователя.
Форма запроса
3.3 Выводы Из практической части курсовой работы видно, что создание баз данных дело сложное, требующие изучения предметной области и познаний в программировании. Создание базы данных проводится пошагово от изучения предметной области до создания физической модели.
Заключение
база данные программирование delphi
При выполнении данной курсовой работы был получен исходный программный продукт, называемый Базы данных. При создании данного проекта использовались компоненты программной среды Delphi.
В результате исследования были выявлены следующие достоинства:
* Простой и понятный интерфейс;
* Совместимость практически с любой версией Windows;
* Крайне минимальные системные и аппаратные требования;
1) Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт. — СПб.: БХВ-Петербург, 2010. — 288 с.
2) Романчик В. С., А. Е. Люлькин, «Программирование в Delphi 9: пособие для студентов». Минск: БГУ, 2009. — 128 с.;
3) http://www.coolreferat.com/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%852
4) http://www.belrus.info/Soft/vendors/Embarcadero/delphi2009.html
Приложение, А Листинг основной программы
procedure TForm1. Button1Click (Sender: TObject);
begin
if edit1. Text=''then
ADOTable1.filtered:=false
else
begin
ADOTable1.filtered:= false;
ADOTable1.filter:='film ='+quotedstr (edit1.text);
ADOTable1.filtered:=true;
end;
end;
procedure TForm1. Button2Click (Sender: TObject);
begin
if edit2. Text=''then
ADOTable2.filtered:=false
Else
begin
ADOTable2.filtered:= false;
ADOTable2.filter:='producer ='+quotedstr (edit2.text);
ADOTable2.filtered:=true;
end;
end;
procedure TForm1. Button3Click (Sender: TObject);
begin
if edit3. Text=''then
ADOTable3.filtered:=false
else
begin
ADOTable3.filtered:= false;
ADOTable3.filter:='№pasport ='+quotedstr (edit3.text);
ADOTable3.filtered:=true;
end;
end;
procedure TForm1. Button4Click (Sender: TObject);
begin
if edit4. Text=''then
ADOTable4.filtered:=false
else
begin
ADOTable4.filtered:= false;
ADOTable4.filter:='soname='+quotedstr (edit4.text);
ADOTable4.filtered:=true;
end;
end;
procedure TForm1. Button5Click (Sender: TObject);
var
ex:variant;
i, sum, lol: integer;
begin
lol:=0;
sum:=0;
i:=2;
ex:=CreateOleObject ('excel.application');
ex.workbooks.add;
ex.Visible:=true;
ex.range['A1']. value:='стоимость';
ex.range['b1'].value:='продолжительность';
ex.range['c1'].value:='тип кассеты';
ex.range['d1']. value:='фильм';
ex.range['e1'].value:='количество';
ADOTable1.First;
while not ADOTable1. Eof do begin
ex.range['A'+inttostr (i)]. value:=ADOTable1.FieldByName ('cost').AsString;
ex.range['b'+inttostr (i)].value:=ADOTable1.FieldByName ('video_lenght').AsString;
ex.range['c'+inttostr (i)].value:=ADOTable1.FieldByName ('type').AsString;
ex.range['d'+inttostr (i)].value:=ADOTable1.FieldByName ('film').AsString;
ex.range['e'+inttostr (i)].value:=ADOTable1.FieldByName ('count').AsString;
inc (i);
lol:=lol+ ADOTable1. FieldByName ('cost').Asinteger;
sum:=sum+ ADOTable1. FieldByName ('count').Asinteger;
adotable1.Next;
end;
ex.range['e'+inttostr (i)]. value:='общее количество'+inttostr (sum);
ex.range['a'+inttostr (i)]. value:='общая стоимость'+inttostr (lol);
ex.range['A'+inttostr (i),'E'+inttostr (i)]. interior. color:=rgb (200,200,200);
ex.range['A1','E1'].interior.color:=rgb (150,200,200);
end;
procedure TForm1. Button6Click (Sender: TObject);
begin
form2.QuickRep1.preview;
end;
procedure TForm1. Button7Click (Sender: TObject);
begin
if edit5. Text=''then
ADOQuery1.filtered:=false
else
begin
ADOQuery1.filtered:= false;
ADOQuery1.filter:='soname ='+quotedstr (edit5.text);
ADOQuery1.filtered:=true;
end;
end;
end.
Приложение Б Листинг формы для генерации отчета
procedure TForm1. Button6Click (Sender: TObject);
begin
form2.QuickRep1.preview;
end;
procedure TForm1. Button7Click (Sender: TObject);
begin
if edit5. Text=''then
ADOQuery1.filtered:=false
else
begin
ADOQuery1.filtered:= false;
ADOQuery1.filter:='soname ='+quotedstr (edit5.text);
ADOQuery1.filtered:=true;
end;
end;
end.
Приложение В Листинг формы для генерации экспорта в MS Excel
procedure TForm1. Button5Click (Sender: TObject);
var
ex:variant;
i, sum, lol: integer;
begin
lol:=0;
sum:=0;
i:=2;
ex:=CreateOleObject ('excel.application');
ex.workbooks.add;
ex.Visible:=true;
ex.range['A1']. value:='стоимость';
ex.range['b1'].value:='продолжительность';
ex.range['c1'].value:='тип кассеты';
ex.range['d1']. value:='фильм';
ex.range['e1'].value:='количество';
ADOTable1.First;
while not ADOTable1. Eof do begin
ex.range['A'+inttostr (i)]. value:=ADOTable1.FieldByName ('cost').AsString;
ex.range['b'+inttostr (i)].value:=ADOTable1.FieldByName ('video_lenght').AsString;
ex.range['c'+inttostr (i)].value:=ADOTable1.FieldByName ('type').AsString;
ex.range['d'+inttostr (i)].value:=ADOTable1.FieldByName ('film').AsString;
ex.range['e'+inttostr (i)].value:=ADOTable1.FieldByName ('count').AsString;
inc (i);
lol:=lol+ ADOTable1. FieldByName ('cost').Asinteger;
sum:=sum+ ADOTable1. FieldByName ('count').Asinteger;
adotable1.Next;
end;
ex.range['e'+inttostr (i)]. value:='общее количество'+inttostr (sum);
ex.range['a'+inttostr (i)]. value:='общая стоимость'+inttostr (lol);
ex.range['A'+inttostr (i),'E'+inttostr (i)]. interior. color:=rgb (200,200,200);
ex.range['A1','E1'].interior.color:=rgb (150,200,200);
end;