База данных «Стол заказов»
Под базой данных (БД, DB — Data Base) понимают совокупность данных, относящихся к некоторой предметной области, организованных определенным образом на материальном носителе, как правило, средствами СУБД. База данных организуется в соответствии с моделью данных, которая поддерживается в СУБД. Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных… Читать ещё >
База данных «Стол заказов» (реферат, курсовая, диплом, контрольная)
Содержание Введение Глава 1. Теоретические аспекты базы данных и СУБД
1.1 Основные понятия
1.2 Описание предметной области
1.3 Построение инфологической модели
1.4 Процесс нормализации БД
1.5 Выбор СУБД Глава 2. Разработка базы данных «Стол заказов»
2.1 Создание проекта базы данных
2.2Создание таблиц
2.3 Создание форм
2.4Создание отчетов
2.5Создание запросов
2.6Создание оперативной справки
2.7Создание меню приложения
2.8 Создание инсталляционного пакета Заключение Список используемой литературы Введение
С увеличением численности населения возрастают и потребности. Высокая динамика роста продаж обуславливает сегодня постоянное совершенствование инструментов ведения бизнеса и профессионального управления предприятием. На сегодняшний день население предпочитает делать покупки с максимальным комфортом и минимальной затратой времени. С помощью базы данных «Стол заказов» люди могут делать покупки, не выходя из дома или офиса, не тратить время на дорогу, не стоять в очередях. Актуальность базы данных «Стол заказов» в первую очередь определяется корпоративными целями, такими как рост предприятия, получение прибыли, обеспечение непрерывности деятельности, увеличение рыночной стоимости компании. Оптимально выстроить все бизнес процессы на предприятии и вести контроль с целью большей эффективности и прибыльности работы предприятия зачастую является основной проблемой руководства. Для оперативного принятия решений нужна информация о работе всех подразделений компании. Чтобы получить ее, обработать и представить в применимом для дальнейших действий виде, необходим простой удобный инструмент. Роль такого помощника и призвана сыграть база данных «Стол заказов».
Цель: Целью является создание базы данных, автоматизирующей процесс ведения заказов продукции отделом заказов организации «Стол заказов».
Для достижения цели были поставлены следующие задачи:
Изучить литературу по направлению БД и СУБД Ознакомиться с предметной областью Построить инфологическую модель БД Представить процесс нормализации данных Разработать БД «Стол заказов»
Создать меню приложения Разработать справку Создать инсталляционный пакет
Глава 1. Теоретические аспекты базы данных и СУБД
1.1 Основные понятия базы данных
Под базой данных (БД, DB — Data Base) понимают совокупность данных, относящихся к некоторой предметной области, организованных определенным образом на материальном носителе, как правило, средствами СУБД. База данных организуется в соответствии с моделью данных, которая поддерживается в СУБД. Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для ведения, создания совместного использования базы данных одним или многими пользователями. Реляционная модель данных (англ. Relation — отношение) является одной из самых распространенных моделей, используемых в современных СУБД. Реляционная модель ориентирована на организацию данных в виде прямоугольных двухмерных таблиц. Применительно к реляционной модели используется следующая стандартная терминология теории отношений: двухмерная таблица определяется как отношение. Столбцы таблицы называют полями (или доменами), строки записями (или кортежами). Первичным ключом (или просто ключом таблицы) называется одно или несколько полей, однозначно идентифицирующих (определяющих) каждую запись. Если первичный ключ состоит из одного поля, он является простым, если из нескольких — составным. Кроме первичного ключа в таблице могут существовать и вторичные ключи. Вторичный ключ — это поле, значения которого могут повторяться в разных записях, то есть он не является уникальным. Связи между таблицами в реляционной модели устанавливаются по равенству значений совпадающих полей. Такие поля в разных таблицах играют роль внешнего ключа или ключа связи .
1.2 Описание предметной области На сегодняшний день считается, что формат «стола заказов» очень перспективен. Покупатели таких магазинов — это в основном люди, которые активно пользуются Интернетом.
Схема работы «стола заказов» следующая: покупатель выбирает продукты по списку и отправляет заказ в магазин. При этом у каждого клиента есть свой уникальный идентификационный номер, указанный на карточке покупателя. Ее можно получить в магазине, а также после регистрации на сайте. Заказ можно оформить несколькими способами. Можно прийти в магазин и воспользоваться терминалом; еще один способ заказа — через интернет-магазин на сайте. Товары распределены по отделам, как и в реальном магазине.
Для тех, кто еще не обзавелся доступом в Сеть, существует заказ по телефону, автоматический или через оператора. В магазине есть каталог, который ежемесячно обновляется.
Забрать готовый заказ можно на следующий день либо самостоятельно, либо воспользовавшись услугами курьера. Покупатель во время заказа выбирает, в какой половине следующего дня он готов забрать свой заказ. Если клиент решил самостоятельно прийти за продуктами, которые заказал накануне, он вставляет карточку в специальный терминал при входе в зал выдачи заказов и получает чек. После этой операции открывается автоматическая калитка в зал. Оператор зала сканирует чек и отправляется в подсобку, откуда выносит заказ.
В случае заказа продукции на дом оплата стоимости покупаемого товара и доставки производится наличными курьеру после принятия покупателем решения и покупке сделанного им ранее заказа товаров. Покупателю предоставляется кассовый чек и товарный чек, содержащий все товарные позиции покупаемых товаров.
Человеческий фактор практически сведен «на нет». Продавцы всего лишь выполняют роль консультантов, объясняющих, как пользоваться «столом заказов».
Отказаться от заказа или от его части можно в любой момент. Это частично снимает проблему невозможности проконтролировать качество товара «руками и глазами».
1.3 Построение инфологической модели Инфологическая модель — модель предметной области, определяющая совокупности информационных объектов, их атрибутов и отношений между объектами, динамику изменений предметной области, а также характер информационных потребностей пользователей.
Цель инфологического моделирования:
обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства.
Инфологическая модель предметной области «Стол заказов» описана моделью «сущность—связь». Для построения модели «Сущность-связь» используют три конструктивных элемента: сущность, атрибут, связь.
Сущность — любой различимый объект, информацию о котором необходимо хранить в базе данных. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе.
Атрибут — поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей.
Тип сущности (зависимая, независимая) полностью определяется характером ее связи с другими сущностями. Если сущность является независимой, то все ее экземпляры существуют независимо от других сущностей. Если сущность является зависимой, то она является дочерней по отношению к некоторой другой сущности (связана с некоторой другой сущностью идентифицирующей связью) и для каждого ее экземпляра должен существовать соответствующий экземпляр в родительской сущности Различают следующие типы связей:
а) идентифицирующая связь «один ко многим» (независимая сущность с зависимой от нее). Обозначается сплошной линией с точкой на дочернем конце связи. При этом первичный ключ родительской записи включается в качестве первичного ключа дочерней.
б) неидентифицирующая связь один ко многим (две взаимно независимые сущности, между экземплярами которых может быть установлено соответствие). Обозначается пунктирной линией с точкой на дочернем конце связи и ромбом — на родительском. При этом первичный ключ родительской записи включается в качестве неключевых атрибутов дочерней.
в) связь многие — ко многим (для каждого экземпляра одной сущности может существовать несколько связанных экземпляров другой). Обозначается сплошной линией с точками на обоих концах.
Основные сущности данной предметной области:
Центральной сущностью будущей модели данных является сущность «Заявка», которая хранит сведения о дате заявки, дате ее выполнения, коде, наименовании, серийном номере товара, его цене, количестве, единице измерения и номере счета.
Сущность «Товары» отводится для хранения сведений об определенном товаре (код товара, наименование, серийный номер, модель, год выпуска).
Следующей сущностью можно выделить сущность «Клиенты», которая отражает информацию о клиентах (код клиента, ФИО, телефон и адрес).
Сущность «Сотрудники» хранит персональную информацию о каждом сотруднике организации (код сотрудника, ФИО, адрес, должность, дата рождения, оклад).
Рис. 1 ER-модель «Стол заказов»
1.4 Процесс нормализации базы данных Схемой базы данных называется структура связей между полями и таблицами.
Нормализацией схемы базы данных называется процедура, производимая над базой данных с целью удаления в ней избыточности.
Нормализация несет с собой немало преимуществ. Очевидно, что в нормализованной базе данных уменьшается вероятность возникновения ошибок, она занимает меньше места на жестком диске и т. д.
1 НФ Все рассматриваемые отношения в реляционной модели данных должны в обязательном порядке находиться в 1 НФ, которая предполагает, что элементы домена отношений не являются множествами, т. е. являются атомарными, и не ограничены наличием функциональных зависимостей в схеме отношения между атрибутами.
2НФ
Отношение находится во 2НФ, если оно находится в 1НФ и каждый непервичный атрибут функционально полно зависит от каждого возможного ключа.
3НФ Отношение находится в 3НФ, если оно находится во 2НФ, в нем нет транзитивных зависимостей атрибутов от возможных ключей т. е. каждый непервичный атрибут нетранзитивно зависит от каждого возможного ключа отношения.
Таблица 1. «1НФ»
Таблица 2. «2 НФ»
СТОЛ ЗАКАЗОВ | |||
Заявка | Клиенты | Сотрудники | |
Код заявки ? Дата заявки Код товара ? Наименование товара Серийный номер Модель Год выпуска Цена Количество Единица измерения Дата выполнения Номер счета Код клиента ? Код сотрудника ? | Код клиента ? Фамилия Имя Отчество Телефон Адрес | Код сотрудника ? Фамилия Имя Отчество Должность Оклад Адрес Дата рождения | |
Таблица 3. «3 НФ»
СТОЛ ЗАКАЗОВ | ||||
Заявка | Клиенты | Сотрудники | Товары | |
Код заявки ? Дата заявки Наименование товара Серийный номер Цена Количество Единица измерения Дата выполнения Номер счета Код товара ? Код клиента ? Код сотрудника ? | Код клиента ? Фамилия Имя Отчество Телефон Адрес | Код сотрудника ? Фамилия Имя Отчество Должность Оклад Адрес Дата рождения | Код товара ? Наименование товара Серийный номер Модель Год выпуска | |
1.5 Выбор СУБД Системой управления базами данных (СУБД, DBMS — Data Base Management System) называют программу, предназначенную для создания и ведения баз данных, а также организации доступа к данным и их обработки.
Сегодня существует ряд различных СУБД, которые позволяют разработать БД. Рассмотрим подробнее некоторые из них:
1. Visual FoxPro (VFP) — объектно-ориентированный и процедурный язык программирования систем управления реляционными базами данных, разработанный корпорацией Microsoft. Основой для данного программного продукта послужил язык программирования FoxPro. Относится к семейству языков xBase, разработанных на базе синтаксиса языка программирования dBase. Другими членами данного семейства являются Clipper и Recital.
Как язык программирования, в основном применяется для разработки Файл-серверных реляционных СУБД, хотя существует, за счет гибких и богатых средств языка, возможность разработки и других классов программ.
Visual FoxPro предлагает следующие средства и возможности:
Быстрая разработка приложений :
— Мастера и построители
— Конструкторы Visual FoxPro
— Стандартные интерфейсы приложений
Расширенные возможности разработки :
— Объектно-ориентированное программирование
— События
— Технология Rushmore
Взаимодействие с другими приложениями :
— Панели инструментов
— Совместное использование данных с другими приложениями
— Автоматизация OLE
— Импортирование и экспортирование данных
Средства, связанные со средой клиент/сервер:
— Словарь данных
— Удаленные и гетерогенные представления
— Транзакции
— Поддержка системы клиент/сервер
2. Access
СУБД Аccess относится к СУБД реляционного типа, работающая в среде Windows. Этот программный продукт является составной частью интегрированного пакета для офиса Microsoft Office Professional.
Объекты Аccess:
Таблицы составляют основу базы данных и предназначены для хранения информации об объектах предметной области.
Запросы являются средством выборки необходимых данных из одной или нескольких таблиц БД.
Формы представляют собой электронный вариант физических форм документов. Они предназначены для ввода, просмотра и корректировки данных.
Отчеты используются для формирования выходных документов, предназначенных для вывода на экран, принтер или в файл.
Макросы содержат описания действий, которые должны быть выполнены в ответ на некоторое событие. Каждое действие реализуется макрокомандой.
Модули содержат программы на языке Visual Basic, которые разрабатываются пользователем для реализации нестандартных процедур обработки данных в задачах пользователя.
Для создания объектов базы данных (таблиц, запросов, форм, отчетов) используются специализированные диалоговые графические средства, называемые Конструктор, а также программы — мастера Access. Наряду с диалоговыми средствами создания объектов БД, Access располагает средствами программирования:
· SQL (Structured Query Language) — структурированный язык запросов;
· язык макрокоманд;
· VBA (Visual Basic for Applications) — объектно-ориентированный язык программирования.
3. Oracle
Oracle Database 10g — первая в мире база данных, разработанная специально для работы в сетях распределенных вычислений. Oracle Database 10g предназначена для эффективного развертывания на базе различных типов оборудования, от небольших серверов до Oracle Enterprise Grid мощных многопроцессорных серверных систем, от отдельных кластеров до корпоративных распределенных вычислительных систем. Oracle Database 10g предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным. Ее уникальные возможности осуществлять управление всеми данными предприятия — от обычных операций с бизнес-информацией до динамического многомерного анализа данных (OLAP), операций с документами формата XML, управления распределенной/локальной информацией — делает ее идеальным выбором для выполнения приложений, обеспечивающих обработку оперативных транзакций, интеллектуальный анализ информации, хранение данных и управление информационным наполнением.
Oracle Database 10g позволяет пользователям виртуализировать использование аппаратного обеспечения — серверов и систем хранения данных. Oracle Database 10g обладает технологиями, которые позволяют администраторам надежно хранить и быстро распределять и извлекать данные для пользователей и приложений, работающих в сетях Grid. Oracle Database 10g значительно повышает производительность обработки данных и включает в себя удобные средства администрирования.
Среди основных свойств СУБД Oracle следует отметить такие, как:
1) Высочайшая надежность.
2) Возможность разбиения крупных баз данных на разделы (large-database partition), что дает возможность эффективно управлять гигантскими гигабайтными базами;
3) Наличие универсальных средств защиты информации;
4)Эффективные методы максимального повышения скорости обработки запросов;
5) Индексация по битовому отображению;
6) Свободные таблицы (в других СУБД все таблицы заполняются сразу при создании);
7) Распараллеливание операций в запросе.
8)Наличие широкого спектра средств разработки, мониторинга и администрирования.
9) Ориентация на интернет технологии.
Вывод В ходе выполнения первой главы курсовой работы были описаны теоретические аспекты основных понятий баз данных и СУБД. На достаточно высоком уровне была рассмотрена предметная область. Построена инфологическая модель. Был выполнен процесс нормализации данных.
Глава 2. Разработка базы данных «Стол заказов»
2.1 Создание проекта базы данных Для создания базы данных «Стол заказов» с помощью СУБД Visual FoxPro необходимо на панели Меню выбрать File -> New и в появившемся окне New, выбрать пункт Project-> Wizard.(Рис.3)
Рис. 3 Окно диалога New
После этого будет предложено указать имя файла и его расположение (Рис.4)
Рис. 4 Задание имени проекта и его расположения Далее в менеджере проекта Project Manager необходимо открыть вкладку Data установить курсор на Databases и нажать на кнопку New.(Рис.5)
Рис. 5 Менеджер проекта В предложенной форме создания новой базы данных необходимо выбрать кнопку создания новой базы данных — New Database (Рис.6). Будет предложено указать имя и место расположения базы данных, её следует разместить в папке .Data.
Рис. 6 Форма создания новой базы данных Необходимо поставить флажок Create project directory structure, который позволяет автоматически создать в указанной папке проекта каталоги для размещения данных, форм, отчетов и т. д. На данном этапе создается База Данных.
2.2 Создание таблиц Для того чтобы создать таблицу, в окне Database Designer необходимо выбрать в контекстном меню опцию New Table (Рис.7)
Рис. 7 Окно Database Designer
В предложенной форме создания новой таблицы необходимо нажать на кнопку New Table (Рис.8). Аналогично указываем имя и место расположения таблицы.
Рис. 8 Создание новой таблицы Таблицу можно открыть в двух режимах. Первый режим — Modify. В данном режиме предоставляется возможность редактировать названия полей, их размеры, типы, индексы (Рис.9).
Рис. 9 Таблица в режиме Modify
Второй режим — Browse. Данный режим предназначен для заполнения таблицы текстовой информацией. Чтобы начать заполнение таблицы необходимо нажать сочетание клавиш Ctrl+Y.(Рис.10)
Рис. 10 Таблицы в режиме Browse
Данная база данных содержит четыре таблицы.
Первая таблица «Заявка» (Рис11 а — в режиме Browse, б — в режиме Modify)
Рис. 11 а Рис. 11 б
Вторая таблица «Клиенты» (Рис. 12 а — в режиме Browse, б — в режиме Modify)
Рис. 12 а Рис. 12 б Третья таблица «Товары» (Рис. 13 а — в режиме Browse, б — в режиме Modify)
Рис. 13 а Рис. 13 б Четвертая таблица «Сотрудники» (Рис. 14 а — в режиме Browse, б — в режиме Modify)
Рис. 14 а Рис. 14 б
Между таблицами базы данных определен вид связи «Один — ко — многим». Схема связей выглядит следующим образом (Рис.15).
Рис. 15 Схема связей между таблицами
2.3 Создание форм Для проектирования форм в Visual FoxPro можно использовать Form Wizard (Мастер форм), или Form Designer (Конструктор форм), или же и то, и другое.
При проектировании форм часто бывает удобно сначала использовать Form Wizard, чтобы создать первичный макет формы, а затем войти в Form Designer и изменять расположение элементов до тех пор, пока форма не станет выглядеть именно так, как требуется.
Для ввода и редактирования данных в базе данных «Стол заказов» разработаны следующие формы:
Форма «Заявка» (Рис.16), в которой содержатся записи таблицы «Заявка», такие как: номер счета, код заявки, код клиента, код сотрудника, дата заявки, дата выполнения, код товара, наименование товара, серийный номер, количество, цена.
Рис. 16 Окно формы «Заявка»
Форма «Клиенты» (Рис.17), в которой содержатся записи таблицы «Клиенты», такие как: код клиента, фамилия, имя, отчество, адрес, телефон.
Рис. 17 Окно формы «Клиенты»
Форма «Чек» (Рис.18), в которой содержатся записи таблиц «Чек», такие как: номер счета, наименование товара, серийный номер, количество, цена.
Рис. 18 Окно формы «Чек»
2.4 Создание отчетов база данные заказ В системе VFP существует Конструктор отчетов (Report Designer) и Мастер отчетов (Report Wizard). Важным свойством отчетов является возможность группировки данных и получения итоговых данных для групп и всего отчета.
В рассматриваемой базе данных создан отчет «Отчет о выручке» (Рис.19) с помощью Мастера Отчетов. В ходе создания отчета было использовано свойство группировки данных, в данном случае группировка по товарам, и получение итоговых данных, то есть подсчитывается сумма за группу определенных товаров, и проданных товаров в целом.
Рис. 19 Окно отчета «Отчет о выручке»
2.5 Создание запросов Одним из основных назначений разработанного приложения является быстрый поиск информации в базе данных и получение ответов на разнообразные вопросы. Для этих целей в Visual FoxPro используются средства, называемые запросами.
В данной базе данных, с помощью Мастера Запросов, разработан один запрос «Запрос по сотрудникам и проданным товарам» (Рис.20). Данный запрос позволяет посмотреть информацию о том, на какую сумму продал товар тот или иной сотрудник.
Рис. 20 Окно запроса «Запрос по сотрудникам и проданным товарам»
2.6 Создание оперативной справки Для создания оперативной справки была использована программа HTML Help Workshop. Эта программа позволяет без затруднений создать качественную справочную систему.
Данная справка (Рис.21) легка в использовании и дает возможность любому пользователю быстро найти необходимую информацию.
В справочной системе описаны этапы проектирование базы данных «Стол заказов».
Рис. 21 Окно Справочной системы
2.7 Проектирование меню проекта Для того, чтобы создать Меню необходимо в окне Project Manager на вкладке Others выбрать пункт Menus и нажать кнопку New. Затем в открывшемся окне необходимо заполнить поля. В поле Prompt необходимо ввести название пункта будущего Меню. В поле Result выбрать соответствующий тип, например: тип Submenu позволяет создать всплывающее меню; Command — выполняeт произвольные команды; Procedure — выполняет прописанную программу. Нажав на кнопку Create, в открывшемся окне необходимо ввести название подпункта, определить его тип и прописать путь, где находится необходимый файл (Рис.22).
Рис. 22 Окно Дизайнера Меню
Сохранить созданное меню в соответствующей папке MENUS. Просмотреть меню можно нажав в окне Progect Manager на кнопку Run.
В данном приложении Меню будет иметь следующие вкладки: «ФОРМЫ», «ЗАПРОСЫ», «ОТЧЕТЫ», «СПРАВКА», «ВЫХОД» (Рис.22).
Рис. 22 Просмотр созданного Меню
2.8 Создание инсталляционного пакета Инсталяционный пакет был разработан с помощью программы CreateInstall Pro v2003 3.5. Данная программа имеет гибкий интерфейс и вместе с удобными «мастерами» позволяет легко создавать инсталляционные файлы.
В инсталяционный пакет были помещены все элементы базы данных, которые будут использоваться приложением в дальнейшем.
Рис. 23 Окно создания инсталляционного пакета Вывод
В ходе выполнения второй главы курсового проекта была полностью разработана база данных «Стол заказов», которая состоит из четырех таблиц: «Заявка», «Клиенты», «Товары», «Сотрудники». На основе этих таблиц созданы запросы, разработаны формы: «Заявка», «Чек», «Клиенты». Так же была разработана форма авторизации, при помощи которой будет организована защита от несанкционированного доступа к данным БД «Стол заказов».
Заключение
Результатом выполнения курсовой работы стало разработанное приложение базы данных автоматизирующей процесс ведения заказов продукции отделом заказов организации «Стол заказов». Разработанное приложение отвечает всем требованиям предметной области, таблицы созданной базы данных отвечают требованиям нормализации, что позволяет обеспечить целостность и непротиворечивость информации. Средствами СУБД Visual FoxPro создан удобный пользовательский интерфейс. Также разработана оперативная справка, в которой пользователь сможет найти ответы на возникшие вопросы в ходе использования базы данных «Стол заказов».
Заключительным этапом разработки базы данных «Стол заказов» было создание инсталляционного пакета. Теперь приложение, созданное в процессе разработки проекта базы данных «Стол заказов», может быть установлено и запущено на любом ПК.
Список используемой литературы
1) Ульман, Д.Д.
Введение
в системы баз данных. / Д. Д. Ульман. — М.: Лори, 2000. — 374 с.
2) Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. — СПб.: Питер, 1997. — 700 с. — ISBN 5−88 782−132−9
3) Visual FoxPro 7.0. / С. А. Каратыгин, А. Ф. Тихонов. — М.: БИНОМ — Пресс, 2002. — 657с.
4) Попов А. А. Foxpro 2.5/2.6. Создание приложений для Foxpro 2.5/2.6 в DOS и WINDOWS. М.: издательство «Март», 1996.
5) Мусина, Т.В. Visual FoxPro 7.0: учебный курс. / Т. В. Мусина, В. А. Пушенко. — К.: ВЕК+; Bookstar, 2001. — 400 с.
6) Лемашко Е. В., Романчуков В. Г. Программирование в системе команд СУБД семейства Fox: учебное пособие / ГАУ, М., 1998.
7) Карпова, Т. Базы данных: модели, разработка, реализация. / Т. Карпова. — СПб.: Питер, 2001. — 304 с.
8). Visual FoxPro 9.0. Учебный курс: Т. В. Мусина — Москва, Век +, Корона-Век, 2009 г.- 528 с
9). Visual FoxPro 9.0: А. Н. Лебедев — Москва, НТ Пресс, 2005 г.- 328 с.
10) Крёнке Д. Теория и практика построения баз данных: Пер. с англ.- СПб.: Питер, 2003.-800 с