
- •2. Перечислите основные функции системы управления базами данных и охарактеризуйте их.
- •Управление данными во внешней памяти;
- •Управление буферами оперативной памяти;
- •Управление транзакциями;
- •Ведение журнала изменений в бд;
- •Поддержка языков бд.
- •Обеспечение целостности и безопасности бд.
- •3. Охарактеризуйте типовую организацию системы управления базами данных.
- •4. Раскройте сущность понятия «модель представления данных». Перечислите и опишите виды моделей данных.
- •6. Перечислите и охарактеризуйте основные виды связей реляционной базы данных. Приведите примеры. Перечислите достоинства связывания таблиц.
- •7. Напишите, как вы понимаете контроль целостности связей. Опишите действие контроля целостности при манипулировании данными в таблицах на примере связи 1:м.
- •Ввод новых записей.
- •16. Опишите функции преобразования символов в строке (lower, upper, initcap), строковые функции (lpad, ltrim, substr, instr, length и др.), функции работы с числами. Приведите примеры.
- •17. Опишите функции преобразования типов данных: cast, convert; и функции агрегирования. Приведите примеры.
- •18. Опишите назначение ключевых слов group by, having, order by оператора select. Приведите примеры использования указанных ключевых слов.
- •19. Вложенный подзапрос. Перечислите и дайте характеристику видам вложенных подзапросов. Приведите примеры. Опишите использование операторов any, all с операторами сравнения.
- •20. Перечислите и охарактеризуйте команды, предназначенные для модификации данных: вставка, обновление, удаление. Приведите примеры.
6. Перечислите и охарактеризуйте основные виды связей реляционной базы данных. Приведите примеры. Перечислите достоинства связывания таблиц.
При проектировании реальных БД информацию обычно размещают в нескольких таблицах. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания.
Достоинства связывания таблиц.
Многие СУБД при связывании таблиц автоматически выполняют контроль целостности вводимых в базу данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации. Кроме того, установление связи между таблицами облегчает доступ к данным. Связывание таблиц при выполнении таких операций, как поиск, просмотр, редактирование, выборка и подготовка отчетов, обычно обеспечивает возможность обращения к произвольным полям связанных записей. Это уменьшает количество явных обращений к таблицам данных и число манипуляций в каждой из них.
Основные виды связи таблиц
Между таблицами могут устанавливаться бинарные (между двумя таблицами), тернарные (между тремя таблицами) и, в общем случае, n-арные связи.
При связывании двух таблиц выделяют основную и дополнительную (подчиненную) таблицы. Логическое связывание таблиц производится с помощью ключа связи. Ключ связи, по аналогии с обычным ключом таблицы, состоит из одного или нескольких полей, которые в данном случае называют полями связи. Суть связывания состоит в установлении соответствия полей связи основной и дополнительной таблиц. Поля связи основной таблицы могут быть обычными и ключевыми. В качестве полей связи подчиненной таблицы чаще всего используют ключевые поля.
В зависимости от того, как определены поля связи основной и дополнительной таблиц (как соотносятся ключевые поля с полями связи), между двумя таблицами в общем случае могут устанавливаться четыре основных вида связи
Связь вида 1:1 (один к одному)
Связь вида 1:1 образуется в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми. Поскольку значения в ключевых полях обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей из этих таблиц. Сами таблицы, по сути, здесь становятся равноправными.
Пример 1.
Пусть имеются основная Ol и дополнительная Д1 таблицы. Ключевые поля выделены курсивом. Используемые для связи поля выделены подчеркиванием.
Таблица О1 |
|
Инв. № |
Кол-во |
1234 |
12 |
2314 |
34 |
7853 |
56 |
Таблица Д1 |
|
Инв. № |
Название |
1234 |
Шкаф |
7853 |
Стол |
В приведенных таблицах установлена связь между записью (1234, 12) таблицы Ol и записью (1234, шкаф) таблицы Д1. Основанием этого является совпадение значений в полях связи. Аналогичная связь существует и между записями (7853, 56) и (7853, стол) этих же таблиц.
Сопоставление записей двух таблиц по существу означает образование новых «виртуальных записей» (псевдозаписей). Так, первую пару записей логически можно считать новой псевдозаписью вида (1234, 12, шкаф), а вторую пару — псевдозаписью вида (7853, 56, стол).
Связь вида 1:М (один ко многим)
Таблица Д2 |
|
|
Инв. № |
Фирма_произв |
Наличие |
1234 |
Acer |
Да |
1234 |
NEC |
Нет |
1234 |
Sony |
Да |
2314 |
Philips |
Да |
2314 |
Sony |
Нет |
Пример 3.
Таблица О2 |
|
Инв. № |
Вид_устр-ва |
1234 |
CD-ROM |
2314 |
CD-Recorder |
Таблица Д2 имеет два ключевых поля, так как одна и та же фирма может производить устройства различных видов. Сопоставление записей обеих таблиц по полю «Инв. №» порождает псевдозаписи вида: (1234, CD-ROM, Acer, да), (1234, CD-ROM, NEC, нет) и т. д.
Если свести псевдозаписи в новую таблицу, то получим полную информацию обо всех видах мультимедиа-устройств ПЭВМ, фирмах их производящих, а также сведения о наличии конкретных видов устройств на складе.
Связь вида М:1 (многие к одному)
Связь М:1 имеет место в случае, когда одной или нескольким записям основной таблицы ставится в соответствие одна запись дополнительной таблицы.
Пример 4.
Рассмотрим связь таблиц О3 и Д3.
Таблица О3 |
|
|
Наз_детали |
Вид_материал |
Марка_материал |
Деталь 1 |
Чугун |
Марка 1 |
Деталь 1 |
Чугун |
Марка 2 |
Деталь 2 |
Сталь |
Марка 1 |
Деталь 2 |
Сталь |
Марка 2 |
Деталь 2 |
Сталь |
Марка 3 |
Деталь 3 |
Алюминий |
Марка 2 |
Таблица Д3 |
|
|
Наз_детали |
Срок_изготовл |
Стоимость |
Деталь 1 |
23.01.2011 |
102 000 |
Деталь 2 |
05.12.2010 |
56 000 |
Деталь 3 |
13.12.2010 |
46 000 |
Связывание этих таблиц обеспечивает такое установление соответствия между записями, которое эквивалентно образованию следующих псевдозаписей: (деталь 1, чугун, марка 1, 23.01.2011, 102 000), (деталь 1, чугун, марка 2, 23.01.2011, 102 000), (деталь 2, сталь, марка 1, 05.12.2010, 56 000), (деталь 2, сталь, марка 2, 05.12.2010, 56 000), (деталь 2, сталь, марка 3, 05.12.2010, 56 000), (деталь 3, алюминий, марка 2, 13.12.2010, 46 000).
Полученная псевдотаблица может быть полезна при планировании или принятии управленческих решений, когда необходимо иметь все возможные варианты исполнения заказов по каждому изделию. Если таблицу Д3 сделать основной, а таблицу О3 — дополнительной, получим связь вида 1:М. Поступив аналогично с таблицами О2 и Д2, можно получить связь вида М: 1. Отсюда следует, что вид связи 1: М или М: 1 зависит от того, какая таблица является главной, а какая дополнительной.
Связь вида М:N (многие ко многим)
Связь М:N возникает в случаях, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы.
Пример 5.
Пусть в основной таблице О4 содержится информация о том, на каких станках могут работать рабочие некоторой бригады. Таблица Д4 содержит сведения о том, кто из бригады ремонтников какие станки обслуживает.
Таблица О4 |
|
ФИО_работает |
№_станка |
Плотин Р.О. |
4657 |
Плотин Р.О. |
4323 |
Ролик Л.П. |
4657 |
Ролик Л.П. |
7533 |
Авдеев Д.А. |
4323 |
Таблица Д4 |
|
ФИО_обслужив |
№_станка |
Гриб Е.Р. |
4657 |
Гриб Е.Р. |
7533 |
Шилов О.П. |
4323 |
Шилов О.П. |
7533 |
Первой и третьей записям таблицы О4 соответствует первая запись таблицы Д4 (у всех этих записей значение второго поля — «4657»). Четвертой записи таблицы О4 соответствуют вторая и четвертая записи таблицы Д4 (во втором поле этих записей содержится «7533»).
В случаях, когда связанные таблицы, в свою очередь, имеют связи с другими таблицами, образуется иерархия или дерево связей.