русс | укр

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

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

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

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


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

Цели проектирования баз данных


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


Замечание.

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

 

Пример: реляционной базы данных.

 

Таблица 6.3 «Поставщик»

№ поставщика Название поставщика Город
Нормаль Н.Новгород
Красная Этна Н.Новгород
Уралмаш Екатеринбург
Нормаль Москва

 

Таблица 6.4 «Деталь»

№ детали Название детали
Болт 17
Шпильки
Гайка 22
Гайка 10

 

Таблица 6.5 «Поставщик – Деталь»

№ поставщика № детали Количество

 

БД содержит три типа информации.

· Информация о поставщиках деталей на предприятие (таблица 6.3):

номер поставщика;

наименование детали;

название города.

· Информация о деталях, используемых на предприятии (таблица 6.4):

номер детали;

наименование детали.

· Информация о номере и количестве поступления деталей от каждого поставщика (таблица 6.5)

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

 

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



В таблице 6.6 описаны типы данных для атрибутов БД «Поставщики и детали».

 

Таблица 6.6 Типы Атрибутов.

Атрибуты Тип
Пном Числовой (3)
Пназ Символьный(16)
Гор Символьный(15)
Дназ Символьный(10)
Штук Числовой (5)
Дном Числовой (5)

 

Отношения и первичные ключи:

Поставщик (Пном, Пназ, Гор)

Деталь (Дном, Дназ)

Поставщик-Деталь (Пном, Дном, Штук)

Результатом проектирования является концептуальная модель БД.

 

Наиболее важными целями проектирования являются:

 

· Хранение всех необходимых данных в БД, т.е. централизация данных;

· Исключение избыточности данных;

· Уменьшение количества отношений в БД;

· Нормализация отношений для решения проблем, связанных с обновлением или удалением данных.

 

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

 

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

Необходимо различать дублирование данных и дублирование с избыточностью:

 

Пример:

Таблица 6.7 Пример дублирования данных.

 

Табельный номер Номер лаборатории В таблице 6.7 Числа 12 и 17 дублируются, но не избыточны.

 

Таблица 6.8 Пример избыточного дублирования данных

В таблице 6.8 телефон лаборатории, как видно, дублируется, и это уже избыточное дублирование.

 

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

Лучший способ устранения – разбиение отношения

«Служащий – лаборатория – телефон» (таблица 6.8) на два:

«Лаборатория – телефон» (таблица 6.9)

«Служащий – лаборатория» (таблица 6.10)

 

Таблица 6.9 «Лаборатория-телефон»   Таблица 6.10 «Служащий-лаборатория»
Номер лаборатории Телефон лаборатории   Табельный номер Номер лаборатории
2-17
4-41
 

 

Разбиение отношений на два или несколько – рабочая процедура проектирования.

 

Разбиение отношения на два или более приводит к увеличению числа файлов, хранящихся в БД, что порождает проблемы по обработке данных, в данном случае – замедление.

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



<== предыдущая лекция | следующая лекция ==>
Реляционные базы данных | Универсальные отношения


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


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

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

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


 


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

 
 

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

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