русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Состав СУБД


Дата добавления: 2013-12-24; просмотров: 1088; Нарушение авторских прав


Пример.Имеем сплошную таблицуСотрудники- проекты.

Номер Сотруд. Номер проекта Номер задания Фам. Должн. Оклад Отдел Тел.
AB-115 1.1 Петров Инженер 6-15
KN-20 1.3 Петров Инженер 6-15
ZT-14 5.2 Васильев Инженер 6-15
ZT-14 5.4 Куликов Техник 5-46
AK-177 1.2 Зорин Администратор 6-88
BC-18 3.6 Зорин Администратор 6-88

В данной таблице отметим те «аномалии», которые наблюдаются для такого представления данных.

1. Дублируется информация о сотрудниках, поскольку сотрудник может участвовать в нескольких проектах;

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

3. Если сотрудник увольняется, запись о нем удаляется из таблицы, а вместе с ней – и проект, хотя работа над ним должна продолжаться.

Чтобы исключить «аномалии», необходимо преобразовать таблицу – разбить ее на две. Разобьем ее на две: ПРОЕКТЫ и СОТРУДНИКИ.

 

СОТРУДНИКИ

 

Номер Сотруд. Фам. Должн. Оклад Отдел Тел.
Петров Инженер 6-15
Петров Инженер 6-15
Васильев Инженер 6-15
Куликов Техник 5-46
Зорин Администратор 6-88
Зорин Администратор 6-88

 

ПРОЕКТЫ

Номер Сотруд. Номер проекта Номер задания
AB-115 1.1
KN-20 1.3
ZT-14 5.2
ZT-14 5.4
AK-177 1.2
BC-18 3.6

 



Рассмотрим табл. Сотрудники. Заметны следующие особенности:

1. Дублируется информация о телефонах для сотрудников одного отдела;

2. Если изменяется телефон отдела, необходимо изменять его у всех сотрудников отдела. То же самое с изменением размера окладов.

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

4. При увольнении всех сотрудников не сохраняются данные о самом отделе.

Поэтому, следуя правилам нормализации, необходимо выполнить декомпозицию таблицы СОТРУДНИКИ и разбить ее на три таблицы: СОТРУДНИКИ, ДОЛЖНОСТИ, ОТДЕЛЫ

СОТРУДНИКИ

 

Номер Сотруд. Фам. Должн. Отдел
Петров Инженер
Васильев Инженер
Куликов Техник
Зорин Администратор

 

ДОЛЖНОСТИ

Должн. Оклад
Инженер
Техник
Администратор

 

ОТДЕЛЫ

Отдел Тел.
6-15
5-46
6-88

 

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

2. Виды логической связи.

Связь устанавливается между двумя общими полями (столбцами) двух таблиц. Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-многим».
Отношения, которые могут существовать между записями двух таблиц:

· один – к - одному, каждой записи из одной таблицы соответствует одна запись в другой таблице;

· один – ко - многим, каждой записи из одной таблицы соответствует несколько записей другой таблице;

· многие – к - одному, множеству записей из одной таблице соответствует одна запись в другой таблице;

· многие – ко - многим, множеству записей из одной таблицы соответствует несколько записей в другой таблице.

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

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

Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение.
Простой ключ. Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как первичный ключ. В качестве ключа можно определить любое поле, содержащее данные, если это поле не содержит повторяющиеся значения или значения Null.
Составной ключ. В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц многие - ко - многим.
В поле первичного ключа должны быть только уникальные значения в каждой строке таблицы, т.е. совпадение не допускается, а в поле вторичного или внешнего ключа совпадение значений в строках таблицы допускается.
Построение структуры данных происходит в следующем порядке:

• определяются объекты описания;

• определяются структуры этих объектов;

• выбирается тип структуры, отображающий отношения между объектами (табличная, иерархическая, сети);

• строится конкретная информационная структура.

Характеритстики БД:

полнота - чем полнее БД, тем вероятнее, что она содержит нужную информацию;

• правильная организация - чем лучше структурирована БД,тем легче вней найти необходимые сведения;

• актуальность - любая БД может быть точной и полной, если она

по­стоянно обновляется;

• удобство для использования - БД должна быть проста и удобна в

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

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

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



<== предыдущая лекция | следующая лекция ==>
Кортеж, отношение | Другие функции СУБД


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.