Эскорт-услуги в Москве от Queens Palace


GOUSPO студенческий портал!

форум, учебники, лекции, и многое другое

Мар

30

Принципы проектирования баз данных. Системы управления базами данных

Автор: admin

Принципы проектирования баз данных. Системы управления базами данных

1. Требования, предъявляемые к базе данных.

Разрабатываемые на предприятиях информационные системы и базы данных долж­ны быть многопользовательскими.

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

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

• учет интересов всех потенциальных пользователей систем;

•  модульный принцип разработки и внедрения.

Учет интересов всех потенциальных пользователей систем. Этот принцип означает следующую последовательность разработки БД.

1. Установить, каким специалистам и в каких подразделениях предприятия необходима информация о конкретном информаци­онном объекте.

2. Установить признаки описания объектов различными пользо­вателями.

3. Установить общий состав признаков объектов одного класса.

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

Для пояснения этого принципа можно привести следующий реальный пример разработки БД на одном из предприятий. Появ­ление программ создания баз данных было по достоинству оцене­но сотрудниками и они «бросились» разрабатывать необходимые для себя базы данных.

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

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

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

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

• информационный;

• программный;

• аппаратный.

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

компьютером.

Этот аспект разработки БД означает, что на все информацион­ные объекты должны быть установлены четкие правила их иден­тификации (грамматические правила их написания). Так, устано­вив название инструмента для механической обработки детали «Резец расточной», не допускается никакого другого способа его обозначения (например, название «Расточной резец» не идентич­но названию «Резец расточной»).

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

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

2. Приведение таблицы к требуемому уровню нормальности: первый, второй и третий уровни.

Реляционная база данных представляет собой некоторое мно­жество таблиц, связанных между собой. Число таблиц в одном файле или одной базе данных зависит от многих факторов, основ­ными из которых являются:

-        состав пользователей базы данных,

-        обеспечение целостности информации (особенно важно в мно­гопользовательских информационных системах),

-        обеспечение наименьшего объем требуемой памяти и мини­мального времени обработки данных.

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

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

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

- первая нормальная форма;

- вторая нормальная форма;

- третья нормальная;

- нормальная форма Бойса— Кодда;

- четвертая нормальная форма;

- пятая нормальная форма, или нормальная форма проекции-соединения.

При описании нормальных форм используются следующие по­нятия: «функциональная зависимость между полями»; «полная функциональная зависимость между полями»; «многозначная функ­циональная зависимость между полями»; «транзитивная функцио­нальная зависимость между полями»; «взаимная независимость между полями».

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

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

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

Транзитивная функциональная зависимость между полями А и С существует в том случае, если поле С функционально зависит от поля В, а поле В функционально зависит от поля А; при этом не существует функциональной зависимости поля А от поля В.

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

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

Первая нормальная форма является основой реляционной мо­дели данных. Любая таблица в реляционной базе данных автома­тически находится в первой нормальной форме, иное просто не­возможно по определению. В такой таблице не должно содержаться полей (признаков), которые можно было бы разделить на несколько полей (признаков).

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

Пример. В таблице показан  бланк зачетно экзаменационной ведомости, который изначально не предназначался для компь­ютерной обработки.

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

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

• добавление новых данных в таблицы требует ввода значений для всех полей;

• в каждую строку каждой таблицы необходимо вводить повто­ряющиеся значения полей «Дисциплина», «ФИО преподавателя», «Шифр группы».

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

Чтобы избежать перечисленных недостатков, необходимо при­вести таблицы ко второй или третьей нормальной форме.

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

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

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

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

В первой таблице нет прямой связи между ключевым полем и полем «ФИО преподавателя», поскольку зачет или экзамен по одному предмету могут принимать разные преподаватели. В табли­це существует полная функциональная зависимость только между всеми остальными полями и ключевым полем «Дисциплина».

Аналогично во второй таблице нет прямой связи между ключе­вым полем и полем «ФИО преподавателя».

Для оптимизации базы данных, в частности для уменьшения требуемого объема памяти из-за необходимости повторения в каждой записи значений полей «Дисциплина» и «ФИО препо­давателя», необходимо изменить структуру базы данных — пре­образовать исходные таблицы во вторую нормальную форму.

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

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

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

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

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

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

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

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

преподавателя

ФИО

преподавателя

дисциплины

Дисциплина

группы

Шифр

группы

студента

группы

ФИО студента

Счетчик

группы

дисциплины

Счетчик

студента

Дата

сдачи

Оценка

Подписьпреподавателя

Счетчик

преподавателя

Количество 5 Количество 4 Количество 3 Количество 2 Средняя успеваемость


3. Сравнительная характеристика различных СУБД.

Широкий спектр применений программных средств накопле­ния и хранения информации диктует необходимость разработки СУБД, отличающихся друг от друга функциональными возмож­ностями и предназначенных для широкого круга пользователей: от новичка до системного программиста.

Современные базы данных можно разделить на три категории:

1. Программные продукты корпоративного направления — Oracle и MS SQL Server;

2.  СУБД, предназначенные для работы с информационными массивами в небольших компаниях, — MS Access и Borland Interbase;

3.  СУБД для Web, реализующих создание web-сайтов с неболь­шими базами данных, — MySQL и опять-таки Borland Interbase.

Какими свойствами должна обладать СУБД в зависимости от  этих категорий?

СУБД корпоративного направления должны быть надежными, что обеспечивается резервным копированием; безопасными —  иметь защиту от несанкционированного доступа; работать с огромными объемами данных и обладать широкими функциональ­ными возможностями.

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

СУБД для Web присуща высокая скорость обработки данных, нетребовательность к ресурсам и удобное удаленное администри­рование.

Сегодня наиболее популярными СУБД являются Oracle, MS SQL Server-2000, Borland Interbase, MySQL и MS Access-2000.

СУБД Oracle

Oracle — одна из наиболее мощных современных СУБД, пред­назначенных для реализации баз данных уровня корпорации, что предъявляет серьезные требования к серверу.

Oracle может работать в большинстве операционных систем: Windows-NT, -2000, Linux, UNIX, AIX, Nowell Netware. А это в свою очередь позволяет выбирать наиболее удобную для корпора­тивных задач платформу сервера. Например, если организация пред­почитает использовать операционные системы не от Windows, то она легко может себе это позволить. Некоторые организации мо­гут ориентироваться на решения на базе UNIX-систем, славя­щихся надежностью и устойчивостью в качестве серверной плат­формы, при этом продолжая использовать привычный пользова­телям Windows на клиентских компьютерах.

Использование Oracle в качестве СУБД дает возможность вы­бора языка программирования. Традиционно для этого использу­ется языкPL/SQL, но можно использовать и гораздо более мощ­ный язык программирования Java.

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

Основными преимуществами Oracle можно считать поддержку баз данных очень большого объема (до 64 Гбайт), мощные сред­ства разработки и администрирования, поддержку многопроцес­сорности и двух языковых сред, а также интеграцию с Web. Вмес­те с этим программа предъявляет серьезные аппаратные требова­ния и высокую цену.

СУБД MS SQL Server-2000

MS SQL Server-2000 получила широкое распространение как у нас в стране, так и зарубежом, поскольку она предлагает широ­кий спектр услуг администрирования и легко масштабируется. Это позволяет использовать ее в информационных системах для сред­него бизнеса и больших компьютерных информационных систе­мах (КИС).

В основе платформы MS SQL Server используется среда Windows. Главное преимущество программы — тесная интеграция с про­граммными продуктами от Microsoft и возможность экспорта/им­порта данных в большинство распространенных форматов дан­ных, что позволяет использовать MS SQL Server как центральное хранилище данных.

СУБД Borland Interbase

Borland Interbase содержит все, что требуется от СУБД, пред­назначенной для нужд малого и среднего бизнеса. К тому же на­чиная с версии 6.0 программа стала бесплатной, что тоже суще­ственно. Программа нетребовательна к аппаратной части — ми­нимальная конфигурация: Pentium 100, оперативная память — 32 Мбайт, RAM (объем дисковой памяти), необходимой для хра­нения базы, — 50 Мбайт.Borland Interbase поддерживается плат­формами Windows и Linux, а также UNIX, NetBSD, FreeBSD.

Borland Interbase является одной из самых быстродействующих СУБД, уступая разве что MySQL.

Как существенное преимущество следует рассматривать то, что такие популярные языки программирования от Borland, как Delphi,Kylix и C++Builder, поставляются с компонентами, позволяю­щими работать с данной СУБД. Именно это позволяет достичь очень высокого быстродействия программы.

СУБД MySQL

СУБД MySQL заслужила популярность, благодаря своей вы­сокой производительности при создании Web-приложений. Она получила широкое распространение в качестве средства работы с базами данных в Интернете. Программа совершенно нетребо­вательна к ресурсам сервера, на котором работает, очень быст­рая и к тому же совершенно бесплатная: исходные коды и дис­трибутивы для различных платформ доступны на сайте в Ин­тернете. MySQL предназначена в первую очередь для работы в сети.

Изначально программа была ориентирована на операционную систему Linux, но сейчас уже существуют версии программы для операционных систем Windows, UNIX, NetBSD, FreeBSD, AIX. В последнее время программа завоевывает популярность у поль­зователейMacintosh с использованием операционной системой Mac OSX. И это происходит несмотря на то, что MySQL не может похвастаться очень богатым набором возможностей.

СУБД MS Access-2000

Назначение этого широко известного программного продукта — решение локальных офисных задач с ограниченным объемом дан­ных и формирование отчетов по результатам работы, при этом отчеты могут быть представлены в стандартном для офисных при­ложений виде.

Большинство пользователей знают MS Access как компонент MS Office, предназначенный для работы с базами данных. Мно­гие ли знают о его возможностях, достоинствах и недостатках?

А ведь MS Access — феноменальный программный продукт, реализованный по принципу «все в одном». Он одновременно яв­ляется и средой разработки на двух языках программирования (Visual Basic и сильно усеченный диалект SQL), и CASE-сред-ством, а также мощным и наглядным средством создания отчетов по результатам работы.

Используя только MS Access, можно производить полный цикл работ от проектирования до внедрения готовой программы. Толь­коMS Access позволяет создавать программы, состоящие из од­ного файла, содержащего как текст программы, так и реляцион­ную базу данных сложной структуры.

Программа позволяет формировать необходимые элементы как в электронном виде, так и в печатном. Кроме всего прочего, MSAccess легко интегрируется с другими решениями от Microsoft. Это по­зволяет использовать программу MS Access как клиентскую часть информационного комплекса в связке с MS SQL Server, выступа­ющей в качестве серверной части.

К недостаткам программы можно отнести ограниченный объем обрабатываемых данных и медлительность, поскольку MS Accessявляется одной из самых медленных СУБД. Это накладывает огра­ничения на использование программы — не рекомендуется приме­нятьMS Access для базы, которая может разрастись свыше 100 Мбайт. Поэтому ее надо осторожно использовать в проектах, которые с высокой степенью вероятности будут расширяться в дальнейшем.

Ваш отзыв


2 × = шесть