2.4 Выбор средств проектирования баз данных
2.4.1 Выбор СУБД
База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Microsoft Excel), которые могут эмулировать некоторые функции баз данных. Существует три принципиальных отличия между СУБД и программами электронных таблиц:
- СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы;
- СУБД может легко связывать две таблицы так, что для пользователя они будут представляться одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно;
- СУБД минимизируют общий объём базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.[13]
Так как средой программирования была выбрана PHP, то логично, что работая в связке Apache/PHP/MySQL, системой управления базой данных был выбран MySQL. [18]
СУБД MySQL - одна из множества баз данных, поддерживаемых в PHP. MySQL разработал Михаэль Видениус. MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL). [16]
Система MySQL распространяется бесплатно и обладает достаточной мощностью для решения реальных задач. SQL - это аббревиатура от слов Structured Query Language, что означает структурированный язык запросов. Этот язык является стандартным средством для доступа к различным базам данных.
Система MySQL представляет собой сервер, к которому могут подключаться пользователи удаленных компьютеров.
Основные приятные стороны пакета MySQL:
- Многопоточность. Поддержка нескольких одновременных запросов;
- Оптимизация связей с присоединением многих данных за один проход;
- Записи фиксированной и переменной длины;
- ODBC драйвер в комплекте с исходником;
- Гибкая система привилегий и паролей;
- До 16 ключей в таблице. Каждый ключ может иметь до 15 полей;
- Поддержка ключевых полей и специальных полей в операторе CREATE;
- Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени;
- Интерфейс с языками C и perl;
- Основанная на потоках, быстрая система памяти;
- Утилита проверки и ремонта таблицы;
- Все данные хранятся в формате ISO8859_1;
- Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках;
- Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице;
- Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей;
- Легкость управления таблицей, включая добавление и удаление ключей и полей.
2.4.2 Проектирование информационной базы
База данных обеспечивает хранение информации, а также удобный и быстрый доступ к данным. Она представляет собой совокупность данных различного характера, организованных по определенным правилам.
Требования к организации баз данных:
- Удовлетворяет всем требованиям пользователей к содержимому базы данных;
- Гарантирует непротиворечивость и целостность данных;
- Неизбыточность:
- Обеспечивает естественное, легкое для восприятия структурирование информации;
- Удовлетворяет требованиям пользователей к производительности базы данных.
Логическое проектирование БД. Разрабатывается логическая структура БД, соответствующая логической модели предметной области. Решение этой задачи существенно зависит от модели данных (некоторая абстракция, будучи приложена к конкретным данным, позволяет пользователям и разработчикам трактовать их как информацию, т.е. сведения, содержащие не только данные, но и взаимосвязь между ними), поддерживаемой выбранной СУБД. Результатом выполнения этого этапа являются схемы БД концептуального и внешнего уровней архитектуры, составленные на языках определения данных (DDL).
Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект.
Отношения между таблицами БД строятся по принципу: главная-подчиненная, где в главной первичный ключ, а в подчиненной – внешний ключ, по которому идет связь с главной таблицей, – механизм внешних ключей (для поддержания ссылочной целостности данных). Смысл этого механизма состоит в том, что некоему атрибуту (или группе атрибутов) одного отношения назначается ссылка на первичный ключ другого отношения; тем самым закрепляются связи подчиненности между этими отношениями. При этом отношение, на первичный ключ которого ссылается внешний ключ другого отношения, называется master-отношением, или главным отношением; а отношение, от которого исходит ссылка, называется detail-отношением, или подчиненным отношением.
Связи бывают:
- один-к-одному – одной записи глав табл соотв 1 запись в подчиненной
- один-ко-многим – 1 записи глав табл может соотв-ть несколько записей в подчиненной
- многие-ко-многим – Она не реализуется в некоторых СУБД , поэтому эта связь разбивается на один-ко-многим введением дополнительной таблицы, строки которой состоят из внешних ключей, ссылающихся на первичные ключи двух таблиц.
Следует определить наборы связей между таблицами для функциональной взаимосвязанной работы базы данных в системе (рис.2.6).
Рис.2.6 Схема данных.
В данной БД основными используются таблицы:
1. "Клиенты": код клиента, фамилия, имя, отчество, страна, область, почтовый индекс, город, адрес, номер телефона, e-mail.
Поле код клиента является ключевым. Фамилия, имя, отчество, страна, область, почтовый индекс, город, адрес, номер телефона, e-mail – для отправления заказа, уведомлений, квитанций об оплате, гарантийных талонов.
2. "Заказы": номер заказа, код товара, код клиента, количество, дата.
Номер заказа – ключевое поле.
3. "Товары": код товара, код категории, артикул, новая цена, старая цена, количество на складе, фото, описание, рейтинг.
4. "Категории": код категории, название, описание, количество.
В данной таблице хранятся данные о категориях товаров для более удобного описания товаров.
5. "Склад": код товара, количество товара, код поставщика.
Таким образом, выше описана база данных, таблицы базы, которые дают общее представление о внутренней работе системы.
Выводы по главе
Данная глава была посвящена проектированию и разработке Интернет – магазина. Для проектирования системы была выбрана методология объектно-ориентированного проектирования. В качестве инструментальных средств были выбраны BPWin и Rational Rose, поддерживающие данную методологию и описывающие все функции системы. Также были определены потоки информации внутри системы, участники и формы взаимодействия.
Так же во второй главе были описаны выбранная среда разработки PHP и СУБД MySQL. Спроектирована база данных, состоящая из девяти таблиц.
Глава 3. Реализация и тестирование
0 комментариев