русс | укр

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

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

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

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


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

Типы связей


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


В реляционных БД связи между таблицами могут быть трех типов:

1. В случае таблиц «Жители» и «Машины» одному значению ключа «ФИО» главной таблицы может соответствовать более одного значения внешнего ключа, так как один человек может владеть более чем одной машиной. В общем случае: если значению ключа главной таблицы может соответствовать одно, несколько или ни одного значения внешнего ключа, то такая связь между таблицами называется связью «Один–ко–многим». Такая связь возможна, когда поле связи является ключом только в главной таблице.

2. Связь «Один-к-Одному» можно установить, если поля связи в обеих таблицах являются ключами. Как следует из раздела «Таблицы реляционной БД», каждое значение ключа может встречаться в записях только один раз. Поэтому при связи по ключевым полям каждой записи в одной таблице может найтись только одна соответствующая запись или ее не найдется. Такой тип связи называется связью «Один-к-Одному». Разберем этот тип связи подробнее на примере. Предположим, что в Красноярске проведен выборочный социологический опрос (опрошены не все жители). В результате появилась таблица «Опрос» (рисунок 5). Пусть поля «ФИО» выбраны полями связи для таблиц «Жители» и «Опрос». Число опрошенных меньше числа жителей, поэтому каждой записи в таблице «Жители» будет соответствовать одна запись в «Опросе» или ни одной. Для записи в «Опросе» также всегда найдется одна соответствующая запись в «Жители». (Отметим, что удаление записи из «Жители» требует удаления записи из «Опроса». Потому таблица «Жители» при связи по полю «ФИО» является главной. Однако, при задании рассматриваемого типа связи это не существенно.)

3. Еще один тип связи «Многие-ко-Многим» между двумя таблицами осуществляется с помощью третьей, «промежуточной» таблицы. Этот, более сложный, вид связи мы не рассматриваем. Используйте «Справку» Access для получения сведений на эту тему: вызовите «Справку», введите в текстовое поле «Мастера ответов» текст «Связи между таблицами».



ФИО адрес возраст За/Против
……………………. …………..    
Кулев Иван Иваныч      

Рис. 5. Таблица «Опрос»

*

С помощью СУБД Access можно создать БД, состоящую из таблиц «Жители», «Машины» и «Опрос». Если задать описанные выше, в пунктах 1 и 2, два типа связи, то они изобразятся в окне «Схема данных» как это показано на рисунке 6.

 

 

 

Рис. 6

Контрольные вопросы

В БД созданы две, приведенные ниже таблицы.

1. Дайте определение ключа таблицы. Что является ключом в первой таблице? Какого типа этот ключ?

2. Что нужно взять за поле связи для приведенных таблиц? Какого типа будет связь? Какая из таблиц будет главной и почему?

 

фамилия имя телефон
…………. ………… 33-23-16
Кулев Петр 33-23-00
…………..   ………

 

 

фамилия имя вид услуг разряд
Кулев Петр сантехника
Сомов Денис монтаж окон
………

 

2.3. Работа с СУБД. Запросы

В качестве начального уровня освоения СУБД могут рассматриваться следующие операции:

1) создание и редактирование таблиц,

2) создание и редактирование связей между таблицами,

3) обмен таблицами с Excel,

4) сортировка данных в таблицах,

5) создание запросов,

6) перенос таблиц в WORD.

Один из основных объектов СУБД является запрос.

Запрос – это указание (инструкция), согласно которому СУБД должна выполнить определенные операции или с данными БД (выполнить манипулирование данными), или с самой БД (определение данных) [5]. Один из видов запроса на манипулирование данными – запрос на выборку: согласно критериям, которые заданы пользователем в запросе, из таблиц БД отбираются записи. Результатом запроса на выборку является определенная таблица (будем называть ее «таблица-результат»). Если отбираемые данные находятся в разных таблицах, то записи в таблице-результате будут получаться объединением записей, соответствующих друг другу (см. выше раздел «Связи между таблицами»). Подробнее запросы на выборку рассмотрены в разделе 3.5.

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

При помощи запросов на определениеданных можно изменять БД целиком или ее объекты: таблицы, другие запросы и так далее.

Запросы создаются на языке SQL (Structured Query Language). Это простой язык, который «понимают» все современные СУБД. Приведем пример запроса на том варианте языка SQL, который используется в Access. А именно, пусть требуется из таблицы «Жители» вывести ФИО и место работы лиц с возрастом от 20 до 70 лет. Запрос выглядит так:

SELECT жители.ФИО, жители.[место работы]

FROM жители

WHERE (((жители.возраст)>20 And (жители.возраст)<70));

Дадим некоторые пояснения:

– SELECT означает «выбрать». В данном случае выбирается таблица (для работы с ней). Далее в строке в квадратных скобках выписываются неключевые поля;

– FROM означает «из»;

– стоящий в третьей строчке логический оператор And означает, что одновременно должны быть выполнены условия [возраст]>20 И [возраст])<70.

При работе с СУБД Access многие виды запросов создаются с помощью окна «Конструктор», то есть с помощью заполнения бланков и выбора в меню. Знания SQL при этом не требуется. (При создании запроса с помощью «Конструктора» Access одновременно создает соответствующую инструкцию на языке SQL. и ее можно и посмотреть, и отредактировать: в режиме «Конструктора» открыть список-меню кнопки «Вид» и выбрать «SQL».)

2.4. Проектирование БД

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



<== предыдущая лекция | следующая лекция ==>
Обеспечение (поддержка) целостности данных | Нормализация таблиц


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


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

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

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


 


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

 
 

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

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