WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 || 3 | 4 |   ...   | 7 |

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

В таком случае при проектировании данное отношение разбивают на два:

Наименование Код Товара = Количество КодТовара + Марка НомерСклада Цена Атрибут Y находится в транзитивной зависимости от атрибута Х, если он находится в функциональной зависимости от атрибута Z, а атрибут Z – в функциональной зависимости от атрибута X.

АдресСклада НомерСклада Телефон КодФирмы АдресФирмы Атрибут АдресФирмы находится в транзитивной зависимости от атрибута НомерСклада.

В таком случае при проектировании данное отношение разбивают на два:

НомерСклада КодФирмы АдресФ = + Отношение R находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от первичного ключа.

Отношение R находится в 3НФ, если оно находится во 2НФ и при этом любой неключевой атрибут зависит от ключа нетранзитивно.

Отношение R находится в 4НФ, если оно находится в 3НФ и каждый кортеж отношения состоит из значения первичного ключа, которое идентифицирует некоторый объект, и из множества взаимно независимых произвольных значений атрибутов, некоторым образом описывающих этот объект.

4НФ заключает в себя очень простую и общедоступную идею. Понятие 4НФ можно на интуитивном уровне сформулировать так: «один факт хранится один раз».

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

Введение нормализации отношений при разработке модели базы данных обеспечивает ее работоспособность. Это вовсе не означает, что ненормализованная концептуальная модель обязательно окажется неработоспособной. Просто ненормализованная модель может вызвать определенные трудности при работе базы данных и ее модификации.

Уточним шаги нормализации.

1-й шаг заключается в образовании двумерной таблицы, содержащей элементы данных.

2-й шаг нормализации состоит в том, чтобы выделить ключи и зависящие от них атрибуты. Для того чтобы привести отношение ко 2НФ, нужно выделить группы атрибутов, зависящие от частей составного ключа. Эти группы могут образовывать отдельные отношения (таблицы).

Выделение из отношения, находящегося в 1НФ, таких отношений, в которых неключевые атрибуты зависят только от ключа в целом, называется приведением ко 2НФ.

3 шаг заключается в выделении в отдельные отношения те отношения, в которых атрибуты находятся в транзитивной зависимости от ключа.

Процессу приведения отношения произвольной формы к 4НФ предшествует большая предварительная работа по созданию этого первичного или произвольного отношения. Это не менее важный момент в проектировании базы данных.

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

Проектирование концептуальной модели основано на анализе решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей. При проектировании концептуальной модели все усилия разработчика должны быть направлены на структуризацию данных и выявление взаимосвязей между ними.

4. Пример проектирования БД Задача: Разработать БД реализации товаров со складов фирмами Холдинг-центра.

Пояснения и ограничения:

Холдинг – объединение четырех фирм: Citilink, Dinikin, Elce, Lizarin. Каждая из этих фирм имеет несколько складов в Москве, где хранятся товары.

Номенклатура товаров единая для Холдинг-центра. Любой товар может храниться на одном или нескольких складах; на каждом складе хранятся различные товары.

Со складов осуществляется оптовая торговля. Каждая фирма осуществляет продажи только со своих складов.

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

С целью наглядности в таблице заполнены не все поля.

Выделим ключи и зависящие от них атрибуты:

1. Атрибуты Название Фирмы, Адрес Фирмы, Телефон Фирмы, находятся в функциональной зависимости от Кода фирмы;

2. Атрибуты АдресСклада, Телефон, Код фирмы (т.к. каждый склад принадлежит конкретной фирме) находятся в функциональной зависимости от поля № склада;

3. Атрибуты Наименование, Марка, Цена находятся в функциональной зависимости от поля Код Товара.

4. Атрибут Количество (это количество данного товара, хранящегося на данном складе) находится в полной функциональной зависимости от составного ключа Код товара, № склада.

5. Атрибуты Количество проданного товара и Скидка находятся в полной функциональной зависимости от составного ключа Дата Продажи, Код товара, № склада.

Таким образом, из первичного отношения образовалось пять отношений:

Склады Фирмы Товары КодФирмы КодТовара № склада НазваниеФирмы Наименование АдресСклада АдресФирмы Марка Телефон Цена Телефон КодФирмы Хранение Продажи КодТовара Дата Продажи № склада КодТовара Количество № склада Количество Скидка Сочетание полей КодТовара, № склада определяется в таблице Хранение. Чтобы избежать противоречивости данных (нельзя продать товар со склада, если он там не хранится) создадим поле ID в таблице Хранение, которое «закрепит» сочетания КодТовара – № склада. И будем использовать его в таблице Продажи.

Тогда получим следующую схему данных:

5. Соз дан ие нов ой (пу сто й) базы данных Чтобы создать новую БД, находясь в главном окне MS Access:

1. Выберите команду Создать базу данных… (меню Файл).

2. Перейдите на вкладку Общие с ярлыком Новая база данных.

3. Введите имя новой БД в поле «Имя файла».

4. Нажмите кнопку Создать.

MS Access открывает окно для создания базы данных.

Создание таблицы в режиме конструктора Существует несколько инструментов для создания таблиц в Access (режим таблицы, Конструктор, Мастер таблиц, Импорт таблиц). Но гораздо полезнее изучить технологию построения таблиц в режиме конструктора, т.к. этот инструмент предоставляет ряд дополнительных возможностей для настройки таблиц.

Создание таблицы в MS Access осуществляется в окне базы данных.

1. Перейдите на вкладку Таблицы и нажмите кнопку Создать.

2. В появившемся окне диалога Новая таблица выберите пункт конструктор.

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

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

В столбце Тип данных определяется тип данных этого поля.

В столбце Описание печатаются комментарии, описывающие данное поле.

Типы данных MS Access поддерживает девять типов данных:

Тип данных Использование Размер Текстовый Алфавитно-цифровые данные До 255 байт Поле МЕМО Алфавитно-цифровые данные До 64 000 байт Числовой Числовые данные 1,2,4,8 или 12 байт Дата/время Даты и время 8 байт Денежный Данные о денежных суммах 8 байт Счетчик Уникальное длинное целое, генерируется Access при 4 байта создании каждой новой записи Логический Логические данные 1 бит Поле объекта OLE Картинки, диаграммы До 1 Гбайт Гиперссылка Адрес ссылки (путь) на документ или файл До 2048 символов Для каждого поля таблицы выберите тип данных в соответствии с назначением и использованием поля.

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

Тип данных Дата/время используется для хранения календарных дат или значений времени и позволяет выполнять вычисления в единицах измерения времени: минутах, секундах, часах, днях, месяцах и годах.

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

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

Поле OLE позволяет хранить такие данные, как рисунки, диаграммы или звуковые фрагменты, которые могут иметь динамические связи с другими приложениями Windows.

Тип данных Гиперссылка предназначен для хранения простых или сложных «ссылок» на внешний файл или документ.

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

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

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

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

Свойство Назначение Свойство Назначение Размер поля Задает максимальное число символов для ввода в данное поле Новые значения Определяет способ генерации новых значений для поля счетчика Формат поля Задает формат вывода значений данного поля Число десятичных Определяет число десятичных знаков, используемых при знаков отображении чисел Маска ввода Задает маску ввода, облегчающую ввод данных в поле Подпись Определяет более содержательное название поля, которое выводится в качестве подписи поля Значение по умолчанию Позволяет указать значение, автоматически вводящееся в поле при создании новой записи Условие на значение Определяет требования к данным, вводимым в поле Сообщение об ошибке Позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве Условие на значение Обязательное поле Указывает, требует ли поле обязательного ввода значения Пустые строки Определяет, допускается ли ввод в данное поле пустых строк («») Индексированное поле Определяет индекс, создаваемый по одному полю Прокомментируем некоторые свойства.

Для символьных данных обычно выбирают тип данных текстовый. Свойство Размер поля определяет объем памяти, необходимый для хранения данных (по умолчанию 255 символов).

Указав максимальную длину текстового поля в свойстве Размер поля, можно сэкономить память, необходимую для хранения данных. Например, очевидно, что для поля Название Фирмы достаточно установить Размер поля 20 символов.

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

Свойство Условие на значение. Заданное условие всегда будет проверяться при вводе или изменении значения поля в таблице. Access не позволит ввести данные, не удовлетворяющие этому условию.

Условие на значение задается выражением, которое состоит из операторов сравнения и операндов.

Операторы сравнения: <, <=, >, >=, =, <>, IN (проверяется на равенство любому значению из списка), BETWEEN (проверяется, что значение поля находится в заданном диапазоне; верхняя и нижняя границы разделяются логическим оператором AND); LIKE (проверяется соответствие текстового поля заданному шаблону символов).

Если выражение не содержит оператора, Access использует оператор «=». Можно использовать несколько сравнений, связанных логическими операторами OR, AND.

Текстовые значения всегда должны заключаться в кавычки. Например, чтобы ограничить ввод в поле Название Фирмы двумя фирмами Sitilink и Lizarin можно использовать в качестве условия на значение для этого поля выражение: «Sitilink» OR «Lizarin», или IN («Sitilink», «Lizarin»).

Если в качестве операнда используется дата, она должна быть заключена в символы (#), например, BETWEEN #01/01/2000# AND #31/12/2000#. Тогда Access позволит вводить в данное поле только данные за 2000 год.

Оператор LIKE проверяется соответствие текстового поля заданному шаблону символов. Для задания шаблона используются следующие подстановочные символы:

– один произвольный символ;

* – любое (включая нулевое) количество произвольных символов; используется для замены последовательности символов;

# – одна произвольная цифра;

[ ] – позволяют определить условие, чтобы определенная позиция текстового поля содержала только символы, указанные в квадратных скобках; [А–Я] – любая буква; [0–9] – любая цифра;

! – позволяет определить условие, чтобы указать, что определенная позиция может содержать любой не входящий в список символ: условие LIKE«[!0–9АВ]» проверяет строку, начинающуюся с любого символа кроме цифры и букв А и В.

Индексированное поле. Индекс - средство MS Access, ускоряющее поиск и сортировку в таблице. Ключевое поле таблицы индексируется автоматически. Не допускается создание индексов для полей типа MEMO и «Гиперссылка» или полей объектов OLE.

Задание маски ввода Чтобы облегчить ввод форматированных данных (например, номеров телефонов или дат), Access позволяет задать маску ввода.

Некоторые символы, используемые для задания маски ввода:

Символ маски Описание В данную позицию должна быть введена цифра; не допускается ввод знаков «плюс» и «минус» В данную позицию может быть введена цифра или пробел; не допускается ввод знаков «плюс» и «минус» # В данную позицию может быть введена цифра, пробел, знак «плюс» или «минус» L В данную позицию должна быть введена произвольная буква В данную позицию может быть введена буква А В данную позицию должна быть введена буква или цифра а В данную позицию может быть введена буква или цифра & В данную позицию должен быть введен произвольный символ или пробел \ Указывает, что следующий символ следует рассматривать в качестве постоянного символа.

> Преобразует все цифры справа к верхнему регистру < Преобразует все цифры справа к нижнему регистру Маска ввода состоит из трех частей, разделенных точкой с запятой. Первая часть представляет собственно маску ввода, состоящую из символов маски и постоянных символов. Необязательная вторая часть указывает Access, нужно ли сохранять постоянные символы маски в этом поле (0 – постоянные символы маски включаются в значение поля, 1 – сохраняться будут только введенные символы). Необязательным третьим компонентом маски ввода является символ, используемый для указания заполняемых при вводе позиций (по умолчанию используется знак подчеркивания).

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

Щелкните на ней, чтобы воспользоваться помощью мастера по созданию масок ввода.

Создание первичного ключа Каждая таблица в реляционной базе данных должна иметь первичный ключ.

Первичный ключ создается в режиме Конструктора таблиц:

1. Выделите поле (или поля в случае составного ключа), которое должно стать полем первичного ключа.

2. Вызовите команду Ключевое поле (меню Правка) или нажмите кнопку КЛЮЧ панели инструментов.

Pages:     | 1 || 3 | 4 |   ...   | 7 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.