Модели разработки нового продукта. Концептуальная модель, имитационная модель и другие модели


Download 0.67 Mb.
bet10/13
Sana30.04.2023
Hajmi0.67 Mb.
#1403832
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
Модели разработки нового продукта

Третья нормальная форма

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

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

Посмотрим на нашу таблицу Товар. В ней есть поле Цена, но цены, как известно, имеют свойство меняться. Если мы будем их менять прямо здесь, то будет пропадать вся информация о предыдущих ценах. Чтобы не терять эту информацию, надо добавить поле Дата (когда изменилась цена). Тогда наша таблица будет выглядеть так:



Даже не прибегая к 3НФ видно, что такая таблица будет содержать избыточную информацию. Но посмотрим на ее поля: поля Наименование и Дата зависят от id товара, а поле Цена зависит также и от Даты. Т.е. таблица не находится в 3НФ. Для устранения транзитивной зависимости необходимо провести "расщепление" объекта на два:



Все остальные таблицы нашей базы данных находятся в 3НФ. Кстати, в таблице Товар можно было и не вводить поле id товара, а сделать первичным ключом поле Наименование, но как уже говорилось в третьем уроке суррогатные ключи все-таки предпочтительнее.

Подведем итог. Схема нашей базы данных после нормализации несколько изменилась и выглядит теперь так:



Таким образом, мы преобразовали нашу концептуальную модель в реляционную. Дальше необходимо эту модель реализовать в конкретной СУБД. Для этого нам понадобится сама СУБД и знание языка SQL. Этим вопросам будут посвящены Уроки SQL.

А пока подведем итог уроков "Основы БД". Проектирование БД процесс, как правило, трудоемкий и небыстрый. Ведь нужно очень хорошо изучить предметную область, чтобы учесть все нюансы, пожелания и требования пользователей. Затем всю собранную информацию изобразить в виде объектов, атрибутов и связей. Причем сделать это надо наиболее рационально.

Вообще, среди разработчиков наблюдаются различные взгляды на процесс проектирования БД. Одни игнорируют всякую теорию и руководствуются только своим опытом и здравым смыслом. Другие считают этот процесс искусством, отводя главную роль интуиции. Но в любом случае, знания не бывают лишними. И если вы к интуиции и здравому смыслу добавите теорию, то результат будет гораздо лучше.

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

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

Для реализации этого вопроса вам потребуется создать БД, которая будет хранить информацию о пользователях, их логинах и паролях. А также сделать html-формы регистрации и входа в закрытый раздел.

Когда пользователь регистрируется, эти данные программными средствами (например, с помощью языка PHP) заносятся в созданную вами БД. Когда пользователь вводит логин и пароль в форме входа в закрытый раздел, к базе данных отправляется запрос (на языке SQL), есть ли пользователь с такими данными. И если ответ положительный, то пользователю посылается запрашиваемая страница (разумеется тоже с помощью программы на PHP).

Таким образом, чтобы реализовывать такие приложения вам необходимо уметь создавать БД, строить запросы на языке SQL к БД и знать какой-нибудь язык программирования, применимый для разработки динамических web-страниц (например, PHP).

Основные этапы составления имитационной модели приведены ниже:


1.Точная формулировка цели исследования и сбор информации и данных.
2.Разработка концептуальной модели и проверка ее на адекватность поставленной задаче и выполнение структурного критического анализа (концептуальная модель и способ формализации).
3.Перевод концептуальной модели с помощью программных средств в машинное представление (программирование имитационной модели – имитационная модель).
4.Верификация запрограммированной модели. На этом этапе выполняются анализ чувствительности и валидация выходных данных
5.Разработка, выполнение и анализ экспериментов (план и условия имитационного эксперимента).
6.Документирование и представление полученных результатов.
Результатом работ на первого этапа является содержательное описание объекта моделирования с указанием целей имитации и тех аспектов функционирования объекта моделирования, которые необходимо изучить на имитационной модели. В ходе составления содержательного описания объекта моделирования устанавливаются границы изучения моделируемого объекта, дается описание внешней среды, с которой он взаимодействует.
1.2.2. Пример построения концептуальной модели для базы данных «Магазины»
В базе данных «Магазины города» сущностями будут:

  • магазин (номер магазина, название, адрес, время работы, фамилия директора);

  • товар (код товара, название товара, единица измерения цена);

  • поставщик (код фирмы, название, адрес, телефон).

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

Рис. 1. Концептуальная модель базы данных
Между сущностями существует связь «многое ко многим».
В соответствии с концептуальной моделью база данных должна содержать три таблицы: МАГАЗИН, ТОВАР, ПОСТАВЩИК. Для замены связи «многое ко многим» на две связи «один ко многим» вводится дополнительная таблица (таблица пересечения). В конкретном случае вводятся две таблицы пересечения: ПОСТАВКА (код товара, код фирмы, количество), НАЛИЧИЕ (код товара, номер магазина, количество). Схема базы данных будет иметь вид:

Рис. 2. Концептуальная модель базы данных
Разработка таблиц
При разработке таблиц в первую очередь устанавливаются типы данных, которые будут занесены в поля таблицы (текстовые, числовые, денежные, дата-время и т.д.). Все поля, с которыми в дальнейшем не будут производится математические действия, должны быть текстовые (номер магазина, код фирмы и т.д.).
Выбор размера поля и формат зависит от данных, которые будут внесены в это поле.
Во-вторых, определяются первичные ключи и внешние ключи, с помощью которых будет осуществляться связь между таблицами. Для первичного ключа удобно использовать тип данных «Счетчик». Это означает, что при заполнении таблицы данное поле будет формироваться автоматически увеличением на 1.
Связанные поля во всех таблицах должны быть одного типа, размера и формата. Желательно, чтобы связанные поля имели одинаковые наименования. В таблице 1 приведены свойства полей для база данных «Магазины города».
Таблица 1


Download 0.67 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling