Анализируя предметную область, описанную данной информацией, выделим следующие объекты:
· Заказы;
· Клиент;
· Товар.
На основании информации об этих объектах спроектируем реляционную базу данных.
Реляционная БД представляет собой совокупность связанных между собой таблиц (отношений). Каждая таблица обладает структурой, элементами которой являются перечень атрибутов и их типов. Для заданного перечня требований возможен следующий подход к разработке отношений.
Основным отношением модели будет отношение сведений о заказах. Поскольку в заказ входят данные относящиеся как к заказу в целом так и к спецификации, данные которых связаны как один ко многим, информация заказа будет храниться в двух отношениях со следующей структурой.
Заказ Спецификация
|
|
Учет оплаты заказов будет учитываться в следующем отношении:
Оплата
|
В отношении ЗАКАЗ вместо имени клиента ставится его код, так как в БД должны храниться дополнительные сведения о клиенте. Для хранения этих сведений необходимо отдельное отношение КЛИЕНТ со следующей структурой:
Клиенты
|
Атрибуты отношения определяют примерный перечень реквизитов покупателя. Аналогично и для кода товара необходимо создать отношение, являющееся справочником продукции, со следующей структурой:
Товар
|
Во всех приведенных отношениях подчеркнуты атрибуты являющиеся ключами. Напомним, ключом называется атрибут или совокупность нескольких атрибутов, значения которых уникальны (не повторяются) на всем множестве строк (кортежей) отношения. Так в отношении ЗАКАЗ ключом является Номер заказа, так как предполагается, что не должно быть заказов с одинаковыми номерами. В отношении СПЕЦИФИКАЦИЯ ключ состоит из двух атрибутов – Номер заказа и Код товара, так как только совокупность значений этих атрибутов является уникальной в указанном отношении. Типы полей, используемые в базе, определяются смысловой характеристикой поля данных и допустимыми типами данных поддерживаемых СУБД. В Access существуют следующие типы данных.
Текстовый
Текст или комбинация текста и чисел, например, адреса, а также числа, не требующие вычислений, например, номера телефонов, инвентарные номера или почтовые индексы. Сохраняет до 255 знаков. Свойство Размер поля (FieldSize) определяет максимальное количество знаков, которые можно ввести в поле.
Поле МЕМО
Длинный текст или числа, например, примечания или описания. Сохраняет до 65 536 знаков.
Числовой
Данные, используемые для математических вычислений, за исключением финансовых расчетов (для них следует использовать тип «Денежный»). Сохраняет 1, 2, 4 или 8 байтов; 16 байтов для кодов репликации (GUID). Конкретный тип числового поля определяется значением свойства Размер поля (FieldSize).
4. Дата/время
Значения дат и времени. Сохраняет 8 байтов.
Денежный
Используется для денежных значений и для предотвращения округления во время вычислений. Сохраняет 8 байтов.
Счетчик
Автоматическая вставка уникальных последовательных (увеличивающихся на 1) или случайных чисел при добавлении записи. Сохраняет 4 байта; 16 байтов для кодов репликации (GUID).
Логический
Данные, принимающие только одно из двух возможных значений, таких как «Да/Нет», «Истина/Ложь», «Вкл/Выкл». Значения Null не допускаются. (Null – значение, которое можно ввести в поле или использовать в выражениях и запросах для указания отсутствующих или неизвестных данных. В Visual Basic ключевое слово Null указывает значение Null. Некоторые поля, такие как поля первичного ключа, не могут содержать значения Null.).Сохраняет 1 бит.
Поле объекта OLE
Объекты OLE (такие как документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звукозапись или другие данные в двоичном формате), созданные в других программах, использующих протокол OLE (OLE. Технология связи программ, позволяющая приложениям совместно использовать данные. Все программы Microsoft Office поддерживают технологию OLE, что позволяет совместно работать с данными посредством внедрения и связывания объектов.). Сохраняет до 1 Гигабайта (ограничивается объемом диска).
Гиперссылка
Гиперссылки. Гиперссылка может иметь вид пути UNC (U niversal N aming C onvention – способ записи имени файла, который позволяет задать его местоположение независимо от конкретного компьютера. Вместо указания буквы диска и пути адреса UNC используют синтаксис \\Сервер\ОбщаяПапка\Путь\ИмяФайла.) либо адреса URL (Uniform Resource Locator – адрес, указывающий протокол (такой как HTTP или FTP) и расположение объекта, документа, веб-страницы или другого ресурса в Интернете или интрасети, например: http://www.microsoft.com/.). Сохраняет до 64 000 знаков.
Мастер подстановок
Создает поле, позволяющее выбрать значение из другой таблицы или из списка значений, используя поле со списком. При выборе данного параметра в списке типов данных запускается мастер для автоматического определения этого поля. Для сохранения требуется тот же размер, что и у первичного ключа, соответствующего полю подстановок, — обычно 4 байта.
Если свойство Тип данных (DataType) имеет значение «Числовой», то допустимыми являются следующие значения свойства Размер поля (FieldSize):
Значение | Описание | Дробная часть | Размер |
Байт | Числа от 0 до 255 (без дробной части). | Отсутствует | 1 байт |
Действительное | Числа от –10^38–1 до 10^38–1 (.adp). Числа от –10^28–1 до 10^28–1 (.mdb). | 12 байт | |
Целое | Числа от -32 768 до 32 767 (без дробной части). | Отсутствует | 2 байта |
Длинное целое | (Значение по умолчанию.) Числа от -2 147 483 648 до 2 147 483 647 (без дробной части). | Отсутствует | 4 байта |
Одинарное с плавающей точкой | Числа от –3,402823E38 до –1,401298E–45 для отрицательных значений, и от 1,401298E–45 до 3,402823E38 для положительных. | 4 байта | |
Двойное с плавающей точкой | Числа от –1,79769313486231E308 до –4,94065645841247E–324 для отрицательных значений и от 4,94065645841247E–324 до 1,79769313486231E308 для положительных. | 8 байт |
Все описанные выше таблицы связаны между собой по определенной схеме. Так отношение СПЕЦИФИКАЦИЯ дополняет ЗАКАЗ и связано с ним через атрибут Номер заказа. Причем эта связь один-ко-многим со стороны отношения ЗАКАЗ, так как каждой строке этого отношения соответствует 0,1 или несколько строк с таким же номером заказа в отношении СПЕЦИФИКАЦИЯ. В целом схема связей между отношениями в этой БД имеет вид:
Здесь 1 обозначает сторону один, а ¥ - сторону ко многим.