MySQL 5.0. Библиотека программиста - [5]

Шрифт
Интервал

• Для клиентов: идентификатор, имя (или название организации), номер контактного телефона, адрес, а также рейтинг, используемый для расчета скидки.

• Для товаров: идентификатор, наименование, описание, название склада, где хранится этот вид товара, и адрес склада.

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

• Нормализация.

Нормализация базы данных заключается в минимизации избыточности данных. Нормализация позволяет уменьшить объем БД и устранить потенциальную противоречивость данных (например, если в базе данных одна и та же информация дублируется в нескольких местах, то при ее обновлении есть риск появления разночтений).

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

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

Ответ на вопрос, является ли атрибут атомарным, зависит от функциональных требований к базе данных. Рассмотрим, например, столбец address (адрес) из таблицы Customers (Клиенты) (см. табл. 1.1). Если адрес клиента будет использоваться только целиком, то этот столбец является атомарным. Если же потребуется получать из базы отдельно название города, улицы и т. п., то для приведения таблицы Customers к первой нормальной форме столбец address следует разбить на столбцы city (город), street (улица), building (здание) и т. д.

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

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

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

...

Примечание

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

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

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

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

Итак, мы разработали логическую структуру базы данных, и можно переходить к созданию базы данных в СУБД MySQL. Если программа MySQL еще не установлена на вашем компьютере, из следующего раздела вы узнаете, как это сделать.

1.4. Установка и настройка MySQL

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

Загрузка MySQL

Как упоминалось ранее, дистрибутив MySQL можно бесплатно скачать с сайта компании-разработчика. Windows-версию MySQL вы найдете на веб-странице http://dev.mysql.com/downloads/mysql/5.0.html в одном следующих разделов:


Еще от автора Виктор Иосифович Гольцман
Ноутбук: секреты эффективного использования

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


Skype: бесплатные звонки через Интернет. Начали!

Из этой книги вы узнаете о программе Skype – популярнейшем средстве общения в Интернете, которое превратит ваш компьютер в очень удобный и эффективный видеотелефон. С его помощью вы найдете новых друзей, общаясь в аудио– и видеочатах. Если вы захотите позвонить в любое место земного шара, вам больше не потребуется нести непомерные затраты: программа Skype свяжет вас – бесплатно! – с любым другим пользователем Skype и даже позволит позвонить на обычный телефон. Если вам необходимо обсудить какую-то тему с несколькими людьми, причем находящимися в разных странах мира, Skype тоже придет вам на помощь, предложив средства для организации конференции.Все эти и другие темы изложены в популярной и доступной форме.


Компьютер + мобильник: эффективное взаимодействие

Мобильный телефон давно перестал быть просто средством связи, и при его выборе мы в основном обращаем внимание не на «телефонные», а скорее на «компьютерные» функции: поддержку мультимедийных сообщений, музыкальные возможности, объем и удобство использования записной книжки и органайзера, наличие игр и других Java-приложений.Данная книга расскажет вам, как повысить эффективность мобильного телефона и компьютера, реализовав широкие возможности такого тандема. Это практическое руководство, которое поможет вам разобраться с многочисленным инструментарием, объединяющим ПК и мобильный телефон, – от загрузки мелодий до создания GPRS-соединения.


Компьютер + TV: телевидение на ПК

Казалось бы, что общего между персональным компьютером и телевизором, помимо экрана? Один предназначен для работы, игр, серфинга по Интернету, второй – для просмотра любимых фильмов, телепередач, спортивных трансляций. Однако не все так просто, как может показаться на первый взгляд. Сегодняшний ПК с легкостью выполняет функции телевизора, ведь он способен принимать телевизионный сигнал (как эфирный, так и спутниковый), вещающие в Интернете теле– и радиостанции. Кроме того, именно при взаимодействии ПК и Интернета родилась относительно новая, но тем не менее уже успевшая зарекомендовать себя схема работы ТВ – интерактивное телевидение.Итак, если вы хотите овладеть современными телевизионными технологиями, а также превратить свой ПК в «комбайн», способный выполнять не только привычные для компьютера функции, но и массу других, то эта книга – для вас.


Рекомендуем почитать
Программирование приложений для мобильных устройств под управлением Android. Часть 1

Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android.


Симуляция частичной специализации

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


Платформа J2Me

Эта книга научит вас, как разрабатывать программное обеспечение для платформы J2ME компании «Sun Microsystems». Эта книга придерживается стиля учебного пособия, это не справочное руководство.Цель — дать вам твердую основу в понятиях и техниках, которая даст вам возможность решиться на самостоятельную разработку качественных приложений.


Обработка баз данных на Visual Basic.NET

Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000.


Исчерпывающее руководство по написанию всплывающих подсказок

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


Создаем порт для FreeBSD своими руками. Часть II

Система сборки программ, используемая во FreeBSD, имеет значительно большие возможности, чем те, которые мы задействовали. Какие это возможности и как их использовать в своих портах?