База данных комплектующих персональных компьютеров

Автор работы: Пользователь скрыл имя, 27 Марта 2012 в 11:11, курсовая работа

Описание

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

Содержание

ВВЕДЕНИЕ…………………………………………………………………..……3
1 Основы разработки баз данных ………….……………………………....…….4
1.1 Требования к программе …………………………………………..…….……4
1.2 База данных……….……………………………………………………….…....9
1.2.1 Что такое база данных?…………………….…………………………....…..9
1.2.2 Таблицы баз данных………………………………………….……..…...…10
1.2.3 Наборы данных……………………………………………………………...12
1.2.4 Режимы наборов данных ………………………………………………..…13
1.2.5 Перемещение по записям набора данных…………...…………….……..13
1.2.6 Модификация набора данных……………………………………...….….15
1.2.7 Редактирование записей………………………………………………......16
1.2.8 Добавление записей………………………………………………….……17
1.2.9 Удаление записей…………………………………………………….……18
1.2.10 Организация связей между таблицами………………………………….20
1.3 Историческая справка о Delphi……………………………………….…….23
2 Разработка программы с описанием……………………………………….....26
2.1 Создание обучающей части……………………………………………...….26
ЗАКЛЮЧЕНИЕ……….……………………………………………...………….29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………………30
ПРИЛОЖЕНИЯ A……………………………………………………………….31

Работа состоит из  1 файл

Курсачччччч.docx

— 106.37 Кб (Скачать документ)

procedure TForm1.Table1BeforeEdit (DataSet: TDataSet);

begin

if MessageDlg ('Выполнить редактирование?',

mtConfirmation, [mbYes, mbNo], 0) mrYes then Abort;

end;

После выполнения метода Edit вызывается обработчик события AfterEdit. Для проверки, вносились ли изменения в запись, можно проанализировать свойство Modified типа Boolean. Если свойство имеет значение True, то было изменено значение как минимум одного поля текущей записи.

После ввода  информации сделанные изменения  должны быть или подтверждены, или  отменены.

Метод Post сохраняет изменения записи в  таблице БД (например, Table1.Post), снимает  блокировку записи и переводит НД в режим просмотра (Table1.Browse).

Перед его  выполнением автоматически вызывается обработчик события BeforePost, а сразу  после выполнения – обработчик события AfterPost. Используя событие BeforePost, можно  проверить сделанные изменения и при необходимости отменить их.

При работе с компонентом DBGrid изменения закрепляются при переходе к другой записи или  нажатии клавиши [Enter], а в компоненте DBNavigator можно нажать кнопку Post Edit (Утвердить  изменения).

Метод Cancel отменяет изменения, выполненные в  текущей записи (например, Table1.Cancel), и возвращает НД в режим просмотра. При выполнении метода Cancel вызываются обработчики событий BeforeCancel и AfterCancel.

При работе с сеткой DBGrid изменения отменяются нажатием клавиши [Esc], а в компоненте DBNavigator – нажатием кнопки Cancel Edit (Отменить изменения).

 

1.2.8 Добавление записей

Добавлять записи можно только к модифицируемому  НД. Для добавления записи нужно выполнить следующие действия:

▪ перевести  НД в режим вставки;

▪ задать значения полей текущей записи;

▪ подтвердить  сделанные изменения или отказаться от них, после чего НД снова переходит  в режим просмотра.

Метод Insert переводит НД в режим вставки  и добавляет к нему новую пустую запись. Новая запись вставляется  перед текущей записью. При необходимости  перед вызовом метода Insert необходимо выполнить перемещение текущего указателя на ту запись НД, перед  которой вставляется новая запись.

Метод Append вставляет новую запись в конец  НД.

Для компонента DBGrid новая запись добавляется к  НД при нажатии клавиши [Insert] или при переходе на последнюю запись. Если на форме находится компонент DBNavigator, то новая запись добавляется при нажатии кнопки Insert Record (Вставить запись).

 

1.2.9 Удаление записей

Удаление  текущей записи выполняет метод Delete, который работает только с модифицируемым НД. В случае успешного удаления записи текущей становится следующая  запись, если же удалялась последняя  запись, то курсор перемещается на предыдущую запись, которая после удаления становится последней.

При удалении записи генерируются события BeforeDelete и AfterDelete.

Если  при удалении записи требуется подтверждение  удаления, то можно написать следующий  обработчик события OnClick для кнопки Button «Удалить запись»:

procedure TForm1.Button1Click(Sender: TObject);

begin

if MessageDlg ('Удалить запись?',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

Table1.Delete;

end;

Удаление  нескольких последовательно расположенных  записей имеет особенность, связанную  с тем, что при вызове метода Delete в цикле по перебору удаляемых  записей не нужно вызывать методы, перемещающие указатель текущей  записи. после удаления текущей записи указатель автоматически перемещается на соседнюю (обычно следующую) запись. Так можно удалить все записи НД:

procedure TForm1.Button1Click(Sender: TObject);

var n:longint;

begin

Table1.Last;

For n:= Table1.RecordCount downto 1 do Table1.Delete;

end;

В примере  перебор записей выполняется  с конца НД. После удаления текущей  записи указатель снова оказывается  на последней записи.

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

 

1.2.10 Организация связей между таблицами

В частном  случае БД может состоять из одной  таблицы. Однако, обычно реляционная  БД (позволяет обрабатывать различные  типы информации совместно) состоит  из взаимосвязанных таблиц. Организация  связи (отношений) между таблицами  называется связыванием или соединением  таблиц.

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

Связь между  таблицами определяет отношение  подчиненности, при котором одна таблица является главной (родительской, или мастером), а другая – подчиненной (дочерней, или детальной). Саму связь (отношение) называют связь «главный – подчиненный», «мастер – детальный».

Для связывания таблиц используются поля связи («совпадающие поля»). Поля связи обязательно должны быть индексированными. В подчиненной  таблице для связи с главной  таблицей состав полей индекса должен полностью или частично совпадать  с составом полей индекса главной  таблицы. Значения полей связи в  главной и подчиненной таблицах должны совпадать (то есть в этих таблицах должны быть одинаковые поля).

Существуют  следующие виды связи:

▪ отношение  «один-к-одному»;

▪ отношение  «один-ко-многим»;

▪ отношение  «много-к-одному»;

▪ отношение  «много-ко-многим».

Отношение «один-к-одному» означает, что одной  записи в главной таблице соответствует одна запись в подчиненной таблице. Такое отношение используется при разбиении таблицы с большим числом полей на несколько таблиц.

Отношение «один-ко-многим» означает, что одной  записи главной таблицы в подчиненной  таблице может соответствовать  несколько записей, в частном  случае ни одной. Этот вид отношения  встречается наиболее часто. При  перемещении в главной таблице  текущего указателя на какую-либо запись в подчиненной таблице автоматически  становятся доступными записи, значения полей которых равны значению поля связи текущей записи главной  таблицы. Такой отбор записей  в подчиненной таблице является своего рода фильтрацией.

Отношение «много-к-одному» отличается от отношения  «один-ко-многим» только направлением. Если на отношение «один-ко-многим»  посмотреть со стороны подчиненной  таблицы, а не главной, то оно превращается в отношение «много-к-одному».

Отношение «много-ко-многим» имеет место, когда  одной записи главной таблице  может соответствовать несколько  записей подчиненной таблицы  и одновременно одной записи подчиненной  таблицы – несколько записей  главной таблицы. На практике такое  отношение используется достаточно редко.

Работа  со связанными таблицами имеет следующие  особенности:

▪ При  изменении (редактировании) поля связи  может нарушиться связь между  записями двух таблиц, поэтому при  редактировании поля связи записи главной  таблицы нужно соответственно изменять и значения поля связи всех подчиненных  записей.

▪ При  удалении записи главной таблицы  нужно удалять и соответствующие  ей записи в подчиненной таблице (каскадное удаление).

▪ При  добавлении записи в подчиненную  таблицу значение поля связи формируется  автоматически по значению поля связи  главной таблицы.

При разработке приложения программист должен обеспечить следующее:

▪ организация  связи между таблицами;

▪ контроль (запрет) редактирования полей связи;

▪ организация  каскадного удаления записей.

 

            1.3 История PHP

 

               PHP/FI

                  PHP появился как развитие другого продукта, PHP/FI. PHP/FI был создан Rasmus'ом Lerdorf'ом в 1995 году, сначала как простой набор Perl-скриптов для отслеживания доступа к его собственному online-резюме. Он назвал этот набор скриптов 'Personal Contents Page Tools'. Поскольку требовалось б́ольшая функциональность, Rasmus написал расширенную реализацию C, которая могла работать с базами данных (БД), и дал пользователям возможность разрабатывать простые динамические Web-приложения. Rasmus решил опубликовать исходный код PHP/FI для широкого доступа, чтобы любой мог использовать, расширять и улучшать его.

               PHP/FI, Personal Contents Page / Forms Interpreter, имел некоторую  основную функциональность того PHP, который известен нам теперь. Он имел Perl-подобные переменные, автоматическую интерпретацию переменных  форм и синтаксис, внедрённый  в HTML. Сам по себе синтаксис  напоминал Perl, хотя и более  ограниченный, упрощённый и неполный.

               В 1997 году PHP/FI 2.0, вторая версия C-реализации, имел несколько тысяч поклонников  по всему миру (ориентировочно), приблизительно 50,000 доменов, на которых он  был установлен, что составляло  примерно 1% всех доменов Internet. Поскольку  множество людей предоставляли  блоки кода для этого проекта,  он перестал быть проектом  одного человека.

               PHP/FI 2.0 был официально выпущен  только в ноябре 1997 года, после  того как просуществовал в  основном в виде beta-релизов. Вскоре  после этого этого появились  первые alphа PHP 3.0.

                 PHP 3

               PHP 3.0 бал первой версией, похожей  на сегодняшний PHP. Его создали  Andi Gutmans и Zeev Suraski в 1997 году как  полностью переписанный язык, поскольку  они нашли его PHP/FI 2.0 недостаточно  мощным для разработки их собственных  eCommerce-приложений. С целью кооперации  усилий, Andi, Rasmus и Zeev создали и  выпустили PHP 3.0 как официальный  преемник PHP/FI 2.0, и развитие PHP/FI 2.0 в  основном остановилось.

              Одной из сильных сторон PHP 3.0 была  возможность его расширения. Кроме  того, предоставляя конечным пользователям  прочную инфраструктуру для различных  БД, протоколы и APIs, возможности  расширения PHP 3.0  побуждали десятки разработчиков поставлять новые модули расширения. Возможно именно в этом был секрет ошеломляющего успеха PHP 3.0. 
Другой ключевой особенностью PHP 3.0 стала поддержка объектно-ориентированного синтаксиса и намного более мощный и цельный синтаксис языка.

                Язык был назван PHP: Hypertext Preprocessor.

               В конце 1998 года PHP стал базой  для десятков тысяч пользователей  (ориентировочно) и сотен тысяч  Web-сайтов. В момент пика своего  успеха PHP 3.0 был установлен приблизительно  на 10% Web-серверов Internet.

              PHP 3.0 был официально выпущен в  июне 1998 года после примерно 9 месяцев  публичного тестирования.

              PHP 4

              Зимой 1998 года, вскоре после официальной  публикации PHP 3.0, Andi Gutmans и Zeev Suraski начали  переработку ядра PHP с целью повысить  производительность при работе  сложных приложений и улучшить  модульность кодовой базы PHP. Такие  приложения были возможны в  PHP 3.0, но PHP 3.0 не разрабатывался для  эффективного обслуживания сложных  комплексных приложений.

              Новая машина, 'Zend Engine' (по именам  создателей - Zeev и Andi), успешно решила  эти задачи и появилась сначала  в середине 1999 года. PHP 4.0, основанный  на этой машине и оснащённый  большим количеством новых возможностей, был официально выпущен в мае  2000 года, спустя почти два года  после своего предшественника, PHP 3.0. Помимо значительно возросшей  производительности в этой новой  версии, PHP 4.0 ввёл такие новые  ключевые возможности, как поддержка  большого количества Web-серверов, HTTP-сессий, буферизации вывода, более безопасные  способы работы с пользовательским  вводом и различные новые конструкции  языка.

               PHP 4 является в данный момент  последней версией PHP. Уже началась  работа по модификации и улучшению  Zend Engine для её интеграции в  PHP 5.0.

              Сегодня PHP используется сотнями  тысяч разработчиков (ориентировочно), и несколько миллионов сайтов  сообщают о его установке, что  составляет свыше 20% доменов Internet.

              Команда создателей PHP состоит из  десятков разработчиков, а также  из десятков тех, кто работает  над связанными с PHP проектами,  такими как PEAR и проект документации.

 

          2 Разработка программы с описанием

2.1 Создание обучающей части

На рисунке 1 показано главное окно программы. В нём отображаются поля: “Number”- номер студента, “Family” - фамилия, “Name” – имя, “Otchestvo” - отчество студента, ”Adres”- адрес проживания, ”Telefon” – контактный телефон, по которому можно связать с учащимся, “Gruppa”- шифр и номер группы обучающегося, “Date_R” – дата рождения студента, “Specialnost’” - специальность студента. Любые изменения, производимые в этом окне, будут сохранены автоматически, но только тогда, когда курсор после необходимых изменений будет переставлен на любую другую ячейку.

Рисунок 1- Главное окно программы

Для работы с таблицей, а именно добавление, редактирование и удаление записей, присутствует специальная панель называемая DBNavigator, которая показана на рисунке 2.

 

Рисунок 2 – Панель DBNavigator

 

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

 

 

 

 

 С помощью этой кнопки можно удалять  запись о любом студенте.

 

 

 

Эта кнопка переводит курсор в начало списка.

 

 


Эта кнопка переводит курсов в конец  списка.

 

 


Эта кнопка переводит курсов на позицию  назад.

 

 


Эта кнопка переводит курсор на позицию  вперед.

 

 

В базе данных также присутствует «поиск». Под «поиском» понимается поиск только одного человека в базе данных с возможностью изменения данных о нём. Чтобы воспользоваться поиском, необходимо нажать на кнопку «поиск», после чего появятся 2 окошка где нужно вписать амилию студент, а также можно провести поиск по группам. В появившемся окне (рис. 3) в поле ввода вводится фамилия, после этих действий отобразиться будет выведена вся информация о студенте. Если в поле ввода фамилия были введены не полностью, то программа не найдет никого.

Информация о работе База данных комплектующих персональных компьютеров