Разработка схемы данных

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

1. Работа начинается с составления генерального списка полей — он может насчитывать сотни позиций.

2. В соответствии с тем, какие данные размещаются в каждом поле, определяют наиболее подходящий тип для каждого поля.

3. Далее распределяют поля генерального списка по базовым таблицам. На первом этапе распределение производят но функциональному признаку. Принцип разделения очень прост: обеспечить, чтобы ввод данных в одну таблицу производился в рамках одного подразделения, а еще лучше — па одном рабочем месте.

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

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

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

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

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

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

Рассмотрим таблицу Клиенты (рис. 14.7). Здесь поле N Контракта является ключевым. Это понятно, поскольку с каждым клиентом заключается свой уникальный контракт, номер которого идентифицирует клиента однозначно. Если мы рассмотрим таблицу Состав пакетов, то увидим, что в ней уникально название пакета программ, поскольку у каждого пакета свой уникальный состав. Но если мы рассмотрим таблицу Подписка, то увидим, что номер контракта клиента уникален, а поле названия пакета подписки - пет, поскольку разные клиенты могли подписаться па одинаковые пакеты. Интересно отметить, что в таблице Оплата помер контракта уже не является уникальным. Один клиент мог оплачивать услуги много раз, и каждый раз его номер контракта фиксировался.

На схеме данных общие поля соединены линиями связи. С одной стороны эта линия всегда маркируется знаком “1”, с другой стороны — либо знаком “1” (связь один к одному), либо значком “бесконечность” (связь один ко многим). Понятно, что если связываются ключевые поля, то это всегда связь один к одному, а если ключевое поле связано с неключевым, то это связь один ко многим.

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

6. Разработкой схемы данных заканчивается “бумажный” этап работы над техническим предложением. Эту схему заказчик согласовывает с исполнителем, и лишь после этого исполнитель может приступать к непосредственному созданию базы данных.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: