Разработка базы данных по учёту электрооборудования и материалов
Разработка многопользовательской системы, которая будет учитывать электрооборудование и материалы, разработка базы данных. Использование системы управления базами данных MySQL. Описание создания Web-интерфейса на языке PHP, тестирование и работа с СУБД.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.02.2013 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
62
Размещено на http://www.allbest.ru/
Разработка базы данных по учёту электрооборудования и материалов
Реферат
В данной работе страниц, рисунков, приложений и источников.
Данная работа включает в себя содержание, введение, литературный обзор, практическую часть: описание создания базы данных и web-интерфейса на языке PHP, заключение, список литературы и приложения.
Ключевые слова и словосочетания
Данные, База данных, Система Управления Базами Данных.
Цель работы
Создание многопользовательской системы по учёту электрооборудования и материалов.
Метод проведения работы
Формирование таблиц, создание базы данных, размещение базы на сервере, тест базы данных.
Результаты работы
1.Создана база данных по учёту оборудования материалов, использовалась СУБД MySQL, подключение к базе данных осуществлено с помощью web-интерфейса на языке PHP.
2. База данных размещена на сервере, произведён тест базы данных, данные в базу, добавляются, отображаются и удаляются из базы.
Содержание
Введение
1.Литературный обзор
1.1 Терминология Баз данных
1.2 Теоретические основы систем управления базами данных (СУБД)
1.3 MySQL
1.4 Интернет-доступ к данным
1.5 PHP
2. Практическая часть
2.1 Описание создания базы данных
2.2 Описание создания Web-интерфейса базы данных
Заключение
Список использованных источников
Приложения
Введение
Изначально вычислительная техника использовалась для выполнения численных расчётов, но со временем они все чаще стали использоваться для построения систем обработки информации. Подобные системы называют информационными, т.е. это взаимосвязанная совокупность материалов, средств, методов и персонала, используемых для обработки, хранения и представления информации. В качестве примера можно привести систему учета отработанного времени работниками предприятия и расчета заработной платы, систему учета продукции на складе, систему учета книг в библиотеке и т.д. В подобных системах информация структурирована различным образом, под структурированием подразумевается введение каких-либо соглашений о способах представления информации. В задачи структурирования входят те манипуляции, методы, способы и т.п. о которых конечному пользователю знать не нужно, например:
- физическое размещение в памяти данных и их описания;
- особенности реализации механизмов поиска запрашиваемых данных;
- способы разрешения конфликтов, возникающих при одновременном запросе одних и тех же данных различными пользователями;
- организация защиты данных;
- механизмы поддержания баз данных в актуальном состоянии.
На современном этапе развития любого производства необходимо его эффективное управление, для решения различных задач по управлению производством нужны системы обработки информации на предприятии, существует множество программных средств для решения такого типа вопросов. Одними из основных средств, направленных на эффективное и рациональное управление, использование информационных потоков данных, являются базы данных и СУБД. Таким образом, сегодня именно базы данных являются основой для информационных систем. Естественно, что по мере развития самих баз данных развивались и развиваются системы управления базами данных (СУБД), на сегодняшней день наиболее распространены клиент - серверные СУБД, например: Oracle, MS SQL Server, MySQL, Sybase Adaptive Server Enterprise, Firebird, Interbase, IBM DB2, PostgreSQL, Cachй.
СУБД MySQL, которая используется в данной работе, это популярная бесплатная СУБД уровня малого бизнеса. К ее достоинствам можно отнести простоту и высокую производительность. Система поддерживает несколько типов таблиц и до последних версий системы ни один вид таблиц не поддерживал транзакций, за счет чего достигается высокая производительность.
Эта система предназначена для работы в сети и может быть доступна через Internet, таким образом работать с данными можно в любой точке земного шара, и при этом система снабжена развитой защитой от несанкционированного доступа. СУБД MySQL отлично работает как под управлением различных версий Unix, так и под управлением других операционных систем, таких как Windows и OS/2, эта СУБД может работать как на домашних ПК, так и на мощных серверах. Управление данной СУБД удобно из командной строки и неудобно визуальными средствами. Рекомендуется использовать, когда размеры БД невелики, а запросы достаточно просты.
Целью данной работы является создание многопользовательской системы, которая будет учитывать электрооборудование и материалы (например: электрические щиты, кабель, кабель каналы, крепёж, и т.п.). Также система будет учитывать: год покупки, срок гарантии, принадлежность участку, сколько единиц, классы защиты, и т.п..
Система будет формировать отчеты (по общему числу оборудования и материалов; по истечению гарантийного срока на оборудование и материалы; отчет по оборудованию и материалам, подлежащим списанию; отчет о наличии оборудования и материалов определенного года; отчет по бракованным оборудованию и материалам...). Для этой цели используется именно СУБД MySQL. Доступ к базе данных осуществляется с помощью языка php.
1. Литературный Обзор
1.1 Терминология Баз данных
база данных интерфейс
1.1.1 Определение базы данных:
База данных - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ.
Определение базы данных из статьи 1260 Гражданского кодекса: базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).
1.1.2 Признаки базы данных
Существует множество других определений, отражающих скорее субъективное мнение тех или иных авторов о том, что означает база данных в их понимании, однако общепризнанная единая формулировка отсутствует. Наиболее часто используются следующие отличительные признаки:
1.База данных хранится и обрабатывается в вычислительной системе.
Таким образом, любые некомпьютерные хранилища информации, например: архивы, библиотеки, картотеки и т. п. базами данных не являются.
2.Данные в базе данных логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
Структурированность подразумевает явное выделение составных частей(элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента(связи) соотносится определённая семантика и допустимые операции.
3.База данных включает метаданные, описывающие логическую структуру базе данных в формальном виде (в соответствии с некоторой метамоделью).
В соответствии с ГОСТ Р ИСО МЭК ТО 10032-2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определенных с помощью схемы. Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных».
Из перечисленных признаков только первый является строгим, а другие допускают различные трактовки и различные степени оценки. Можно лишь установить некоторую степень соответствия требованиям к базам данных.
В такой ситуации не последнюю роль играет общепринятая практика. В соответствии с ней, например, не называют базами данных файловые архивы, интернет-порталы или электронные таблицы, несмотря на то, что они в некоторой степени обладают признаками баз данных. Принято считать, что эта степень в большинстве случаев недостаточна (хотя могут быть исключения).
Многие специалисты указывают на распространённую ошибку, состоящую в некорректном использовании термина «база данных» вместо термина «система управления базами данных». Эти понятия, следовательно, необходимо различать.
1.3 Классификация баз банных
Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Укажем только основные классификации.
1. по модели данных, например:
1. иерархические
2. сетевые
3. реляционные
4. объектные
5. объектно-ориентированные
6. объектно-реляционные
2. по технологии хранения, например:
1. База данных во вторичной памяти(традиционные): средой постоянного хранения является периферийная энергонезависимая память.
2. База данных в оперативной памяти(in-memory databases): все данные находятся в оперативной памяти.
3. База данных в третичной памяти(tertiary databases): средой постоянного
хранения является отсоединяемое от сервера устройство массового
хранения(третичная память).
3. По содержимому, например:
1. географические
2. исторические
3. научные
4. мультимедийные
4. по степени распределённости, например:
1. централизованные(сосредоточенные)
2. распределённые
1.1.4 Этапы разработки баз данных
При разработки базы данных можно выделить следующие этапы работы.
1. постановка задачи.
На этом этапе формируется задание по созданию базы данных. В нем подробно описывается состав базы, назначение и цели ее создания, а также перечисляется, какие виды работ предполагается осуществлять в этой базе данных (отбор, дополнение, изменение данных, печать или вывод отчета и т. д).
2. Анализ объекта.
На этом этапе рассматривается, из каких объектов может состоять база данных, каковы свойства этих объектов. После разбиения базы данных на отдельные объекты необходимо рассмотреть свойства каждого из этих объектов, или, другими словами, установить, какими параметрами описывается каждый объект. Все эти сведения можно располагать в виде отдельных записей и таблиц. Далее необходимо рассмотреть тип данных каждой отдельной единицы записи. Сведения о типах данных также следует занести в составляемую таблицу.
3. Синтез модели
На этом этапе по проведенному выше анализу необходимо выбрать определенную модель базы данных. Далее рассматриваются достоинства и недостатки каждой модели и сопоставляются с требованиями и задачами создаваемой базы данных. После такого анализа выбирают ту модель, которая сможет максимально обеспечить реализацию поставленной задачи. После выбора модели необходимо нарисовать ее схему с указанием связей между таблицами или узлами.
4. Выбор способов представления информации и программного инструментария.
После создания модели необходимо, в зависимости от выбранного программного продукта, определить форму представления информации.
В большинстве СУБД данные можно хранить в двух видах:
с использованием форм;
без использования форм.
Форма - это созданный пользователем графический интерфейс для ввода данных в базу.
5. Синтез компьютерной модели объекта.
В процессе создания компьютерной модели можно выделить некоторые стадии, типичные для любой СУБД.
Стадия 1. Запуск СУБД, создание нового файла базы данных или открытие созданной ранее базы.
Стадия 2. Создание исходной таблицы или таблиц.
Стадия 3. Создание экранных форм.
Стадия 4. Заполнение базы данных.
6. Работа с созданной базой данных
Работа с БД включает в себя следующие действия:
поиск необходимых сведений;
сортировка данных; отбор данных; вывод на печать; изменение и дополнение данных.
1.2 Теоретические основы Системы Управления Базами Данных (СУБД)
1.2.1 Определение СУБД
Система управления базами данных(СУБД) -- это комплекс программных и языковых средств, необходимых для создания баз данных, пополнения и организации поиска в них необходимой информации.
1.2.2 История развития СУБД
Предшественниками СУБД были файловые системы, однако появление СУБД не привело их к полному исчезновению. В середине 60 годов в корпорации IBM совместно с фирмой NAA разработали первую СУБД - иерархическую систему IMS, она является самой первой из коммерческих СУБД. Она и до сих пор остается основной иерархической СУБД используемой на большинстве мейнфреймов (Мэйнфрейм - высокопроизводительный компьютер общего назначения со значительным объемом оперативной и внешней памяти, предназначенный для выполнения интенсивных вычислительных работ.) Обычно с мэнфреймом работают множество пользователей, каждый из которых располагает лишь терминалом, лишенным собственных вычислительных мощностей. Другим заметным достижение середины 60 г. Было появление системы IDS. Развитие этой системы привело к созданию нового типа систем управления базами данных - сетевых СУБД. Сетевая схема - это логическая организация всех баз данных, которая включает в себя: определение имени БД, типа каждой записи и компонентов каждого типа. Подсхема - это часть базы данных видимая конкретными пользователями или приложениями. Язык управления данными - инструмент для определения характеристик и структуры данных, а также для управления ими.
Группа DBSG - предложила стандартизировать три различных языка:
1. Язык определения данных DDL, который позволит АБД(администратор базы данных) описать её
2. язык определения данных для подсхемы который позволит определять в приложениях те части БД, доступ к которым будет необходим
3. Язык манипулирования данными DML, предназначенный для управления данными.
CODASYL - СУБД первого поколения.
Недостатки:
1. Даже для выполнения простых запросов с использованием переходов и доступом к определенным записям необходимо создавать сложные программы.
2. Независимость от данных существует лишь в минимальной степени.
3. Отсутствуют теоретические основы.
В 1970 г. Э.Ф. Кодд работавший в корпорации IBM опубликовал статью о реляционный модели данных, позволяющих устранить недостатки прежних моделей.
Проект System R Распределенная система управления базами данных- первый коммерческий проект. На основе этого проекта были получены важнейшие результаты.
легкость использования системы;
возможности автономного функционирования при нарушениях связности сети или при административных потребностях;
высокая степень эффективности.
Был разработан структурированный язык запросов(SQL) который с тех пор стал стандартный языком, любых реляционных СУБД.
В 80 г. Были созданы различный коммерческие реляционные СУБД. SQL/DS компании IBM. Корпорация Oracle.
1.2.3 Функции СУБД
1. Непосредственное управление данными во внешней памяти:
Эта функция включает обеспечение создания и функционирования необходимых структур во внешней памяти компьютера, как для хранения данных, непосредственно входящих в базу данных, так и для хранения служебных данных, например, для хранения описания структуры базы данных, индексов. В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. Но при этом, что в развитых СУБД пользователи в любом случае не обязаны знать, как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов базы данных.
2. Управление буферами оперативной памяти:
СУБД обычно работают с базами данных значительного размера, по крайней мере, этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных каждый раз будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. В развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов, даже если операционная система производит общесистемную буферизацию.
Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей базы данных. Это направление основывается на предположении, что в объем оперативной памяти компьютеров настолько велик, что можно не беспокоиться о буферизации.
3. Управление транзакциями:
Транзакция - это, неделимая с точки зрения воздействия на базу данных, последовательность операций над данными, рассматриваемая СУБД как единое целое, такая, что либо результаты всех операторов, входящих в транзакцию отображаются в базе данных, либо воздействие всех этих операторов полностью отсутствует.
Поддержание механизма транзакций является обязательным условием даже однопользовательских СУБД. Но понятие транзакции гораздо более важно в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает удобным использование понятия транзакции как единицы активности пользователя по отношению к базе данных.
С управлением транзакциями в многопользовательской СУБД связаны такие понятия как сериализация транзакций и сериальный план выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Сериальный план выполнения смеси транзакций - это такой план, который приводит к сериализации транзакций.
Существует несколько базовых алгоритмов сериализации транзакций. При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам базы данных. В этом случае для поддержания сериализации необходимо выполнить откат (ликвидировать все изменения, произведенные в базе данных) одной или более транзакций. Это один из случаев, когда пользователь многопользовательской СУБД может реально ощутить присутствие в системе транзакций других пользователей.
4. Журнализация:
Одним из основных требований к СУБД является требование надежного хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние базы данных после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.
В любом случае для восстановления базы данных нужно располагать некоторой дополнительной информацией. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений базы данных.
Журнал - это особая часть базы данных, недоступная пользователям СУБД (иногда поддерживаются две копии журнала, располагаемые на разных физических носителях), в которую поступают записи обо всех изменениях основной части базы данных. При работе с журналом придерживаются стратегии "упреждающей" записи в журнал (протокол Write Ahead Log - WAL). Эта стратегия заключается в том, что запись об изменении любого объекта базы данных должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части базы данных.
При мягком сбое во внешней памяти основной части базы данных могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части базы данных, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для того, чтобы этого добиться, сначала производят откат незавершенных транзакций (undo), а потом повторно воспроизводят (redo) те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Откат транзакции производится путем выполнения обратных операций, следуя от конца записи транзакции к началу.
Для восстановления базы данных после жесткого сбоя используют журнал и архивную копию базы данных. Архивная копия - это полная копия базы данных к моменту начала заполнения журнала. Для нормального восстановления базы данных после жесткого сбоя необходимо, чтобы журнал не пропал. Тогда восстановление базы данных состоит в том, что, исходя из архивной копии, по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе, можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после завершения восстановления.
5. Поддержка языков баз данных
Для работы с базами данных используются специальные языки, называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка - язык определения схемы базы данных (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базой данных, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных - язык SQL (Structured Query Language). Основные функции SQL:
· язык SQL позволяет определять схему реляционной базы данных. При этом именование объектов базы данных поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов.
· язык SQL позволяет манипулировать данными (создавать, изменять, удалять, осуществлять выборку данных);
· язык SQL содержит специальные средства определения ограничений целостности базы данных. Ограничения целостности хранятся в специальных таблицах-каталогах. Обеспечение контроля целостности базы данных производится на языковом уровне, т.е. при компиляции операторов модификации базы данных компилятор SQL на основании имеющихся в базе данных ограничений целостности генерирует соответствующий программный код.
· Специальные операторы языка SQL позволяют определять так называемые представления базы данных, фактически являющиеся хранимыми в базе данных запросами с именованными столбцами.
· Авторизация доступа к объектам базы данных производится также на основе специального набора операторов SQL. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.
1.2.4 Назначение СУБД
Можно выделить несколько пунктов назначения СУБД:
1. СУБД должна воспринимать и обрабатывать команды пользователей и приложений на выборку, добавление, изменение или удаление данных из баз данных.
2. СУБД должна иметь возможность принимать данные в исходной форме из исходных по своей природе источников и преобразовывать их в форму, соответствующую собственным объектам.
3. СУБД должна иметь функции по обеспечению безопасности и целостности, а в случае повреждения иметь функцию по восстановлению хранящейся в базе данных информации.
4. В СУБД желательно должны быть реализованы механизмы оптимизации выполнения перечисленных выше операций, то есть должен быть в наличии компонент, отвечающий за максимальную эффективность выполнения СУБД своих функций.
1.2.5 Основные понятия модели Entity-Relationship(ER) (Сущность-Связи)
На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. Среди множества разновидностей ER-моделей одна из наиболее развитых применяется в системе CASE фирмы ORACLE. Ее мы и рассмотрим. Более точно, мы сосредоточимся на структурной части этой модели.
Основными понятиями ER-модели являются сущность, связь и атрибут.
Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа. Для большей выразительности и лучшего понимания имя сущности может сопровождаться примерами конкретных объектов этого типа.
Каждый экземпляр сущности должен быть отличим от любого другого экземпляра той же сущности (это требование в некотором роде аналогично требованию отсутствия кортежей-дубликатов в реляционных таблицах).
Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается имя конца связи, степень конца связи (сколько экземпляров данной сущности связывается), обязательность связи (т.е. любой ли экземпляр данной сущности должен участвовать в данной связи).
Связь представляется в виде линии, связывающей две сущности или ведущей от сущности к ней же самой. При этом в месте "стыковки" связи с сущностью используются трех точечный вход в прямоугольник сущности, если для этой сущности в связи могут использоваться много (many) экземпляров сущности, и одноточечный вход, если в связи может участвовать только один экземпляр сущности. Обязательный конец связи изображается сплошной линией, а необязательный - прерывистой линией.
Как и сущность, связь - это типовое понятие, все экземпляры обеих пар связываемых сущностей подчиняются правилам связывания.
Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности. Имена атрибутов заносятся в прямоугольник, изображающий сущность, под именем сущности и изображаются малыми буквами, возможно, с примерами.
Пример:
Уникальным идентификатором сущности является атрибут, комбинация атрибутов, комбинация связей или комбинация связей и атрибутов, уникально отличающая любой экземпляр сущности от других экземпляров сущности того же типа.
1.3 MySQL
1.3.1 Определение Mysql
[6.]MySQL- это популярная система управления базами данных (СУБД), очень часто применяемая в сочетании с PHP.
MySQL- это система управления реляционными базами данных. В реляционной базе данных данные хранятся не все вместе, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов и наиболее распространённый стандартный язык, используемый для доступа к базам данных.
MySQL - это ПО с открытым кодом. Применять его и модифицировать может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. Использование программного обеспечения MySQL регламентируется лицензией GPL (GNU General Public License), в которой указано, что можно и чего нельзя делать с этим программным обеспечением в различных ситуациях.
1.3.2 Технические возможности MySQL
[7.]MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). Мы также поставляем сервер MySQL в виде многопоточной библиотеки, которую можно подключить к пользовательскому приложению и получить компактный, более быстрый и легкий в управлении продукт. Доступно также большое количество программного обеспечения для MySQL, в большей части -- бесплатного.
1.3.3 Устройство MySQL
[10.]MySQL состоит из двух частей: серверной и клиентской.
Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацио он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту).
Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа -- MySQL-сервер, которая принимает и обрабатывает запросы от программ. Так как вся работа происходит в действительности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево).
Cтруктура MySQL трехуровневая: базы данных -- таблицы -- записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически - таблица представляет собой совокупность записей. А записи - это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы - в пределах базы данных, поля - в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.
1.4 Интернет-доступ к данным
Появление глобальной сети Internet ознаменовало новый этап в развитии человечества. С этого момента наш век действительно стал информационным, так как Internet позволил осуществлять быстрый обмен информацией между людьми, находящимися в различных местах земного шара, предоставляя свои многочисленные сервисы - электронную почту, телеконференции, передачу файлов, доступ в режиме удаленного терминала и другие. Но все же основным шагом к открытию Internet для массового пользователя стало появление технологии World Wide Web, которая полностью перевернула представления о работе с информацией. Существующий до этого целый набор средств для передачи данных из одной компьютерной системы в другую не учитывал одного из главных моментов - интерфейса взаимодействия человека с информационной системой. Web-технология, опираясь на наиболее естественный для человека способ потребления необходимой ему информации, предоставляет универсальный, интуитивно ясный инструмент для доступа к данным и является наиболее универсальным подходом к интеграции информационных ресурсов.
World Wide Web позволяет осуществлять доступ к базам данных, предоставляя средства для разработки простого, удобного интерфейса пользователя и средства взаимодействия с прикладными программами. Интерфейс пользователя разрабатывается на основе языка гипертекстовой разметки HTML, и в частности, с использованием HTML-форм, которые являются наиболее удобным механизмом представления и передачи запросов к базам данных.
Языки для гипертекстовых страниц:
HTML (HyperText Markup Language) - язык компоновки и спецификации гиперссылок , используемый для кодировки документов в Web.
DHTML(Dynamic HyperText Markup Language) - даёт возможность взаимодействия web-страниц с пользователм на клиентском компьютере, что в значительной степени обогащает возможности создаваемых с их помощью web-страниц и web-приложений и сводит часть взаимодействия пользователя с сервром к взаимодйствию пользователя с DHTML-документом.
Языки сценариев (JavaScript и VBScript) --используются на стороне клиента, то есть генерируют объекты на основании HTML-страницы на стороне клиента в окне его браузера.
В 1994 году специалистами компании Sun Microsystems была разработана технология создания динамических интерактивных Web-страниц с использованием объектно-ориентированного мультиплатформенного языка Java. Программы на языке Java называются аплетами (little applications) и исполняются обычно на стороне клиента.
CGI-скрипты (Common Gateway Interface), или интерфейс общего шлюза -- программы, исполняемые на стороне web-сервера. CGI обеспечивает способ, посредством которого Web-браузер осуществляет запуск Web-приложения на стороне сервера, результатом работы которого является HTML-страница, посылаемая клиенту. Под CGI-программами понимают программы, написанные на любом языке программирования, понимаемом Web-сервером (C, Visual Basic, Perl (Practical Extraction and Report Language)).
WWW - доступ к существующим базам данных может осуществляться по одному из трех основных сценариев:
1. Однократное или периодическое преобразование содержимого БД в статические документы. В этом варианте содержимое БД просматривает специальная программа, создающая множество файлов - связных HTML-документов. Полученные файлы могут быть перенесены на один или несколько Web-серверов. Доступ к ним будет осуществляться как к статическим гипертекстовым документам сервера. Он эффективен на небольших массивах данных простой структуры и редким обновлением, а также при пониженных требованиях к актуальности данных, предоставляемых через Web.
2. Динамическое создание гипертекстовых документов на основе содержимого базы данных. В этом варианте доступ к баз данных осуществляется программой (CGI, ASP, PHP), запускаемой в ответ на запрос web-клиента. Эта программа, обрабатывая запрос, просматривает содержимое базы данных и создает выходной HTML-документ, возвращаемый клиенту. Это решение эффективно для больших и часто обновляемых баз данных со сложной структурой и при необходимости поддержки операций поиска. В этом варианте, возможно, осуществлять изменение базы данных из Web-интерфейсов. Однако к недостаткам этого метода можно отнести большое время обработки запросов, необходимость постоянного доступа к основной базе данных, что увеличивает загрузку средств поддержки БД, связанную с обработкой запросов от Web-сервера.
3. Создание информационного хранилища (ИХ) на основе высокопроизводительной СУБД, связанной с web-сервером, с возможностью периодической загрузки данных в ИХ из основных СУБД. Для обработки разнообразных запросов, в том числе и от Web-сервера, используется промежуточная база данных высокой производительности. Информационное наполнение промежуточной базы данных осуществляется специализированным программным обеспечением на основе содержимого основных баз данных. Для загрузки содержимого основной базы данных в информационное хранилище могут использоваться внешние программы, а также специализированные средства, поставляемые с SQL-сервером для поддержки информационных хранилищ.
1.5 PHP
PHP (Personal Home Page) -- выполняющийся на стороне сервера мультиплатформенный язык описания сценариев, встраиваемый непосредственно в HTML-код. Целью создания языка является разработка динамически генерируемых страниц в кратчайшие сроки.
История PHP начинается осенью 1994 года. Когда Расмус Лердорф (Rasmus Lerdorf) начал работать над тем, что впоследствии стало PHP, единственной целью, которая была у него в мыслях, выяснить, кто читает его резюме. В то время, являясь независимым подрядчиком, Лердорф рассылал потенциальным работодателям свое мини-резюме с URL ссылкой на его полную версию. Чтобы следить за посетителями, он создал CGI скрипт на Perl-e, который вставлялся как специальный тег в HTML код его страницы, и собирал информацию о посетителях. Чтобы произвести впечатление на потенциальных работодателей, он позволил любому посетителю страницы просматривать собираемую статистику посещений.
Он назвал этот код для сбора статистики «PHP-Tools for Personal Home Page», поскольку сам использовал его на своей персональной домашней странице (personal home page). Несколько человек поинтересовались тем, как они могли бы получить этот инструмент, и Лердорф принял решение предоставить его другим лицам. «Это чудо программного обеспечения. Вы можете дать это и тем не менее оставить это себе», остроумно заметил Лердорф. В то время движения Open Source не существовало. «Тогда оно назвалось freeware». Ближе к концу 1995 года Лердорф открыл для людей первый список рассылки по PHP, чтобы можно было обмениваться идеями, исправлениями ошибок и кодом.
В результате своих действий, Лердорф получил контракт в Университете Торонто на создание dial-up системы, предоставляющей студентам доступ в интернет. Требование включало разработку административного web интерфейса и возможности доступа студентов к Университетской библиотечной системе, хранившейся на мейнфрейме IBM. Было необходимо, чтобы администраторы библиотеки могли предоставлять студентам доступ на основе платежей, сделанных ими для своих интернет эккаунтов, и, чтобы эта информация обновлялась в базе данных в реальном времени.
В середине 1995 года синтаксический анализатор PHP был переписан на языке C. Кроме того, Лердорф создал некоторое количество тегов для вставки их в HTML код. Эти теги он назвал «Form Interpreters» (интерпретаторы форм) поскольку они должны были получать данные, которые вводились в форме, и преобразовывать эти данные в символьные переменные так, чтобы они могли быть экспортированы в другую систему.
В то время не было инструментов для «стыковки» web-страниц и баз данных. Поэтому Лердорф добавил в PHP поддержку базы данных mSQL, чтобы облегчить разработку web-сайтов, которым необходима реляционная база данных.
Объединив интерпретатор форм с пакетом PHP-Tools, Лердорф подошел в 1996 году ко второй версии PHP, названной PHP/FI. Он отнесся легкомысленно к идее создания из него коммерческого продукта. Но в то же самое время, Лердорф получал огромное число сообщений от других программистов, которые присылали ему улучшения кода и исправления ошибок.
Привести точную статистику непросто, но приблизительно в конце 1996 года PHP/FI использовался не менее чем на 15,000 web-сайтов во всем мире. А в середине 1997 года это число превысило 50,000.
В настоящее время основной версией PHP является пятая.
Существуют два основных конкурента PHP: Active Server Pages (ASP) компании Microsoft и ColdFusion компании Allaire. По сравнению с ними PHP обладает рядом преимуществ, в числе которых:
Высокая производительность. PHP-программы работают быстрее, чем ASP.
Функциональность. Разработку PHP-программы можно отделить от собственно разработки Web-страницы, что упростит жизнь и программисту, и дизайнеру.
Цена. PHP абсолютно бесплатен.
Простота в использовании. Имеющие опыт программирования на распространенных языках найдут синтаксис PHP хорошо знакомым.
Переносимость. Один и тот же PHP-код можно использовать как в среде NT, так и на платформах UNIX.
PHP-программы состоят из простого текста, поэтому набирать их можно в любом текстовом редакторе. Популярные HTML-редакторы имеют встроенную поддержку для редактирования PHP-программ.
Расширение файлов PHP-программ по умолчанию в PHP4 - .php. На основании этого расширения сервер распознает файл как PHP-программу и запускает интерпретатор.
PHP-программа должна быть отделена от обычного HTML-текста. Существует четыре стиля обрамления PHP-кода:
Стиль |
Открывающий тэг |
Закрывающий тэг |
|
Сокращенный |
<? |
?> |
|
XML (стандартный) |
<?php |
?> |
|
ASP |
<% |
%> |
|
SCRIPT (программный) |
<SCRIPT LANGUAGE="php"> |
</SCRIPT> |
Из перечисленных тегов только стандартные и программные работают в любой конфигурации PHP.
Так выглядит простейший смешанный документ, состоящий из HTML-текста и PHP-кода, Пример1:
<html>
<head>
<title>Документ, состоящий из HTML-текста и PHP-кода</title>
</head>
<body>
<?php
echo "А вот и PHP!<br>";
?>
Всё очень просто!
</body>
</html>
Здесь содержится один PHP-оператор echo. Этот оператор передает строку-аргумент "А вот и PHP!<br>" в HTML-страницу, которую генерирует сервер. При этом тег <br> сделает свое дело, т.е. осуществит переход на новую строку.
Для разделения операторов (по аналогии с Си) используется точка с запятой.
Комментарии в PHP-программе могут быть трех стилей:
/* Многострочный комментарий
в стиле классического Си */
// Однострочный комментарий в стиле С++
# Однострочный комментарий в стиле Perl
В одном документе можно чередовать HTML-текст и блоки PHP-операторов сколько угодно раз. При этом все переменные, функции и классы, определенные в первом блоке, будут доступны и в последующих блоках.
В примере 1 заменим вызов функции echo на вызов встроенной функции phpinfo( ), которая выдаст список параметров PHP-среды.
Пример 2
<html>
<head>
<title>Информационная страница PHP</title>
</head>
<body>
<?php
phpinfo();
?>
</body>
</html>
1.5.1 Основы работы с MySQL в PHP
[11.]Вся работа с базами данных сводится к подключению к серверу, выбору базы данных, посылке запроса, обработке запроса и отключении от баз. Итак, рассмотрим все это дело по пунктам. Для наглядности всего текста представим себе что на локальной машине установлен сервер MySQL. Порт для работы с ним стандартный. Для подключения будем использовать имя пользователя «root» и пароль «no_one».
Подключение:
Подключение к базе данных производится с помощью функции «mysql_connect()». Ей передается три параметра: имя сервера (или имя сервера:порт для подключения), имя пользователя и пароль. В случае, если будет сделан второй вызов «mysql_connect()» с теми же аргументами, никакая новая связь не установится -- вместо этого, будет возвращен идентификатор связи уже открытой связи (т.е. работа продолжится с той же базой данных). Если вы работаете только с одной базой данных, то идентификатор соединения создавать не надо. Как только выполнение сценария закончится, связь с сервером закроется, если оно не было явно закрыто более ранним вызовом «mysql_close()».
Пример: $connect = mysql_connect('localhost', 'root', 'no_one'); В данном случае переменная $connect явяется идентификатором соединения. Если работа ведется только с одной базой то код пишется без идентификатора: mysql_connect('localhost', 'root', 'no_one');
Выбор базы данных:
«mysql_select_db» -- выбирает базу данных MySQL. Это значит, что на сервере может находится не одна база данных, а несколько. Этой командой мы выберем ту, которую надо (на которую у нас есть права). Параметром этой функции является имя базы. Выбранная таким образом база становится активной и связывается с определенным идентификатором. Если идентификатор связи не определен, то используется последнее подключение к базе.
Пример: mysql_select_bd('test', $connect); -- где test это имя базы данных, а $connect это идентификатор соединения. Если работа ведется только с одной базой то код пишется без идентификатора: mysql_select_bd('test');
Посылаем запрос:
mysql_query() посылает запрос в базу данных, к настоящему времени активную на сервере, который связан с определенным идентификатором связи. Если идентификатор не указан, используется последняя открытая связь. Параметром этой функции является строка с sql-запросом.
Пример: $tmp=mysql_query(«slect * from table», $connect); -- эта комнда выдаст все содержимое таблицы table из активной базы данных на которую указывает идентификатор $connect. Если работа ведется только с одной базой то код пишется без идентификатора: $tmp=mysql_query(«slect * from table»);
Обработка запроса:
Для обработки запросов существует несколько функций. Выбор того или иного метода обработки запросов зависит от стиля программирования, поставленной задачи. Следует также учитывать, что разные варианты по разному «загружают» сервер (некоторые сильно некоторые не очень). Разберем несколько из них.
mysql_fetch_object -- возвращает объект php в качестве результата обработки. Этот метод хорош для тех, кто привык к объектному программированию
Пример: while($result= mysql_fetch_object($tmp)) echo($result->name);
mysql_fetch_array -- выбирает результат как ассоциативный массив. Этот метод хорош для новичков (хотя как сказать, это уж кому как больше понравится).
Закрытие соединения:
Закрытие соединения производится посредствам функции mysql_close(). Ее параметром является идентификатор соединения с базой данных. Если этот параметр не задан, то закрывается последнее вызванное соединение.
2. Практическая часть
2.1 Описание создания базы данных
Для облегчения работы сотрудников организации, которая занимается электромонтажными работами, было решено создать многопользовательскую базу данных по учёту электрооборудования и материалов. В этой базе содержится: название электрооборудования и материалов, маркировка, степень защиты от проникновения твёрдых предметов и воды, рабочее напряжение, диапазон рабочих температур, номинальная частота, срок службы и пользователи, имеющие доступ к базе. В базе данных пользователи с правами администратора по заявке могут осуществлять: добавление и удаление данных. Остальные пользователи, имеющие доступ к базе данных могут только просматривать данные.
2.1.2 Формирование таблиц базы данных
В качестве системы управления базами данных (СУБД) было выбрано MySql. Основная причина в том, что, во-первых, она используется в качестве сервера, к которому обращаются локальные и удалённые пользователи, во-вторых, она является открытым программным обеспечением. При создании базы данных использовалось программное обеспечение MySql workbench - графическое представление базы данных.
При создании базы данных были сформированы следующие таблицы и поля:
1. Таблица электрооборудование и материалы (mater&electro).
Таблица содержит информацию об электрооборудовании и материалах, а именно: Наименование, маркировка, степень защиты, рабочее напряжение, диапазон температур, срок службы и наличие на складе (см. Рисунок 1).
Рисунок 1.
В данной таблице находятся следующие поля:
· Поле «id» - ключевое поле, то есть значение данного поля служит для однозначного определения записи в таблице.
· Поле «name» - в данное поле заносятся записи наименовании электрооборудования и материалов, например: кабель, светильник, щит.
· Поле «mark» - в данное поле заносятся записи маркировок электрооборудования и материалов, например: ВВГнг 3х1,5, RKL 155.
· Поле «IP» - в данное поле заносятся записи степени защиты электрооборудования от попадания твёрдых предметов и воды, например: IP44, IP52, IP54.
· Поле «w_v» - в данное поле заносятся записи напряжения, при котором работает электрооборудование и материалы, например: 220В - 380В, 400В - 600В.
· Поле «t_range» - в данное поле заносятся записи диапазона температур, при которых работает электрооборудование и материалы, например: -40…+40, -50..+50, -60…+60.
· Поле «life» - в данное поле заносятся записи срока службы электрооборудования и материалов, например: 10 лет, 30 лет, 50 лет.
· Поле «status» - в данное поле заносятся записи наличия на складе электрооборудования и материалов, например: есть, нет.
1. Таблица пользователи (users).
Таблица содержит информацию о пользователях имеющих доступ к базе данных, а именно: Имя, фамилию, отдел, номер паспорта, рабочий телефон, логин и пароль для авторизации в базе данных (см. Рисунок 2.).
Рисунок 2.
В данной таблице находятся следующие поля:
· Поле «id» - ключевое поле, то есть значение данного поля служит для однозначного определения записи в таблице.
· Поле «name» - в данное поле заносятся записи имён пользователей.
· Поле «s_name» - в данное поле заносятся записи фамилий пользователей.
· Поле «dep» - в данное поле заносятся записи отделов, в которых состоят пользователи.
· Поле «passport» - в данное поле заносятся записи номеров паспорта пользователей.
· Поле «w_tel» - в данное поле заносятся записи рабочих телефонов пользователей.
· Поле «login» - в данное поле заносятся записи имён для авторизации пользователей в базе данных.
· Поле «pass» - в данное поле заносятся записи паролей для авторизации пользователей базы данных.
Таким образом, была организованна база данных с соответствующим заполнением, которая является основой для дальнейшей разработки Web-интерфейса, используя язык PHP, с помощью которого будет осуществляться учёт электрооборудования и материалов, находящихся на складе организации.
2.2 Описание создания Web интерфейса базы данных
При создании Web интерфейса для работы с базой данных использовался Скриптовый язык программирования PHP (Personal Home Page).
2.2.1 Создание страниц Web интерфейса
Подключение к базе данных осуществляется с помощью php кода, файл config.php (см. приложение А). Алгоритм подключения к базе данных состоит из подключения, отправка запросов и получение результатов, и закрытие подключения.
При создании Web интерфейса были сформированы следующие страницы:
1. Страница авторизации (см. Рисунок 3).
Страница предназначена для авторизации пользователей имеющих доступ к базе данных.
Рисунок 3.
На данной странице находится поля Логин и пароль, а так же кнопка входа в систему. Скрипт проверки «login.php» (см. приложение Б), если логин и пароль правильный то пользователь переходит на главную страницу базы данных, а если логин или пароль не правильный или пользователь не зарегистрирован, на экран выводится соответствующая информация: Такого пользователя нет или Не верный пароль.
1. Главная страница (см. Рисунок 4).
На странице возможен просмотр информации, переход на страницы просмотра данных, добавления данных, удаления данных, просмотр пользователей, добавление пользователей, удаления пользователей
Рисунок 4.
На данной странице находятся кнопки перехода на страницу просмотра данных в таблице электрооборудование и материалы, на страницу добавления данных в таблицу электрооборудование и материалы, на страницу просмотр пользователей имеющих доступ к базе данных, на страницу удаления пользователей из базы данных и кнопка выход обратно на страницу авторизации.
Подобные документы
Разработка базы данных с информацией о сотрудниках, товарах, со справочником типов товаров средствами системы управления базами данных MySQL с помощью SQL-запросов. Разработка инфологической модели предметной области. Структура таблиц, полей базы данных.
контрольная работа [648,7 K], добавлен 13.04.2012Системы управления базами данных. Состав СУБД. Языки программирования. Проектирование базы данных на СУБД MySQL. Работа с XAMPP Control Panel. База данных " Детский сад". Вывод данных из таблицы "Ребенок", "Группы", "Классы" и "Направление занятий".
курсовая работа [1,9 M], добавлен 13.12.2016Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Система управления базами данных (СУБД) как программная система для создания общей базы данных. Создание СУБД для управления поставкой и реализацией ювелирных изделий. Типы данных, физическая и логическая модели. Разработка интерфейса пользователя.
курсовая работа [467,8 K], добавлен 14.12.2012Выбор состава технических и программных средств разработки системы. Описание входных и выходных данных. Выбор модели базы данных. Разработка подсистемы наполнения базы данных, формирования отчетов. Разработка интерфейса пользователя, тестирование системы.
курсовая работа [3,7 M], добавлен 04.12.2014Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.
курсовая работа [1,8 M], добавлен 04.02.2013Создание базы данных "Компьютерные игры": разработка и дизайн интерфейса, наполнение таблиц информацией, формирование идентификаторов. Использование системы управления базами данных Microsoft Access для составления стандартных запросов, форм и отчетов.
курсовая работа [715,7 K], добавлен 29.01.2011Классификация систем управления базами данных. Выбор операционной системы, языка программирования, среды разработки (IDE) и дополнительных компонент. Разработка интерфейса и функций программы по управлению складом, её тестирование и исходный код файлов.
курсовая работа [487,3 K], добавлен 25.12.2015Принципы построения СУБД, их достоинства. Архитектура распределенной информационной системы. Разработка интернет-магазина рынка книг: построение физической модели данных на языке SQL, проектирование схемы базы данных с использованием веб-интерфейса.
курсовая работа [2,3 M], добавлен 01.11.2011