русс | укр

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

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

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

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


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

Таблицы и связи


Дата добавления: 2015-07-09; просмотров: 754; Нарушение авторских прав


Доктор Кодд выделил 12 принципов (правил) реляционных баз данных. Начнем с первого правила, которое позволит понять суть реляционной модели:

вся информация логически представлена в виде таблиц.

Таблица состоит из строк и столбцов (в реляционной теории строке соответствует кортеж, а столбцу — атрибут, однако в стандарте SQL используются общепринятые термины «строка» и «столбец»).

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

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

· порядковый номер (личный код) клиента;

· фамилия, имя, отчество;

· контактные телефоны.

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

Возможный вариант заполнения таблиц показан на рис. 1.10

Рис.1.10 - Информация о клиентах с указанием контактных телефонов

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



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

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

Рис. 1.11 - Информация о товарах и их поставщиках



<== предыдущая лекция | следующая лекция ==>
Реляционная модель данных | Первичные, альтернативные и внешние ключи


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


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

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

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


 


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

 
 

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

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