Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД ответы на экз вопросы.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.66 Mб
Скачать

16 Сравнение однотабличной и многотабличной баз данных.

Могут возникать проблемы вставки, обновления, удаления.

Проблема вставки

В любой БД не должно быть полей с неопределенными или пустыми значениями.

Например: для однотабличной БД жителей Зеленограда, появляется новорожденный, у которого отсутствует источники дохода. Мы не можем внести его в таблицу, учитывая ограничение, приведенное выше. Для многотабличной БД: занесем в общую базу, указав, что источник дохода = 0.

Проблема обновления

Явная избыточность однотабличной БД может проявляться в том, что фамилия жителей и др. Могут встречаться несколько раз.

Например: Петрова поменяла место жительства. Придется изменять адрес во всех строках, относящихся к фамилии Петрова. В спроектированной БД изменится значение адреса в одной строке таблицы PERSON и информация в таблице FLAT.

Неявная избыточность в однотабличной БД проявляется в том, что все жители одной квартиры имеют один и тот же номер телефона. Если Иванов 1928г.р. сообщает об изменении телефона, то изменяется информация в графе Иванов 1928г.р., а информация об остальных жителях квартиры остается неизмененной.

В многотабличной БД ищем в таблице PERSON номер квартиры. Затем по номеру квартиры находим номер телефона и обновляем его.

Проблема удаления

Если житель лишится единственного источника дохода, то информация о нем будет удалена полностью. В многотабличной БД в таблице HAVED общий доход станет = 0, остальная информация сохранится.

17 Операции Реляционной Алгебры.

РА – мат. основа РБД, это алгебра взаимосвязи между особыми множествами, называемыми отношениями. В РА предусматриваются проекция, выборка, соединение, объединение отношений, пересечение и вычитание отношений, умножение и деление.

R

НП

ЗАВКАФ

НТЕЛ

104

Шангин

2854

103

Вернер

2533

110

Вернер

2533

101

Шангин

2854

r – конкретный картеж в R,

X – подмножество атрибутов в отношении,

r[X] – расположенные в ряд значения атрибутов картежа r, входящих в подмножество Х.

X = {НП, ЗАВК}; r[X] = <103, Вернер>.

Результат операции ПРОЕКЦИЯ – проекция исходного отношения R на подмножество X, которое состоит из R[X] = {z[x] | z R}

R1=R[НП ЗАВКАФ]

НП

ЗАВКАФ

104

Шангин

103

Вернер

110

Вернер

101

Шангин

R1=R[ЗАВКАФ НТЕЛ]

ЗАВКАФ

НТЕЛ

Шангин

2854

Вернер

2533

ВЫБОРКА – операция, при которой отношения исследуют по строкам и выбирают из отношения строки, удовлетворяющие некоторым условиям.

R[ (x)] = {r | z R (r[x])}; X={ЗАВКАВ}; (x)=(ЗАВКАФ = ‘Шангин’)

НП

ЗАВКАФ

НТЕЛ

104

Шангин

2854

101

Шангин

2854

СОЕДИНЕНИЕ (ОБРАТНАЯ ПРОЕКЦИИ) – для создания 1 нового отношения из двух уже существующих, путем сцепления кортежей 1 отношения с картежами второго. Причем сцепляются только кортежи, в которых значения атрибута Х в первом отношении = значению Y во втором отношении.

R1->r1; R2->r2;

R1[X=Y]R2 = {<r1, r2> | r1 R1 r2 R2 (r1[X]=r2[Y])}

R1 = [ЗАВКАФ= ЗАВКАФ]R2

НП

ЗАВКАФ

ЗАВКАФ

НТЕЛ

104

Шангин

Шангин

2854

103

Вернер

Вернер

2533

110

Вернер

Вернер

2533

101

Шангин

Шангин

2854

ОБЪЕДИНЕНИЕ – получение отношения, полностью объединяющего картежи, содержащиеся в отношениях R и S. Эти отношения ДОЛЖНЫ иметь одинаковое количество атрибутов и одинаковый порядок их следования. Результат объединения равен сумме отношений

R S = {x | x R x S}

ПЕРЕСЕЧЕНИЕ – отношение, состоящее из картежей, одновременно присутствующих в отношениях R и S.

R S = {x | x R x S}

ВЫЧИТАНИЕ – отношение, состоящее из картежей, присутствующих в R и неявляющимися картежами S.

R – S = {x | x R x S}

УМНОЖЕНИЕ – декартово или прямое произведение. Получаем путем скрепления каждого картежа R с каждым из картежей S.

R S = {<r,S> | r R s S}

В первом m атрибутов, во втором n, тогда в итоге m+n атрибутов. Количество атрибутов – степень отношения. Количество кортежей – мощность множества. Мощность R S = произведению количества кортежей 1-го и 2-го отношений.

18 Structured Query Language

Конкретные реализации SQL учитывают требования стандарта, но предоставляют и дополнительные возможности (SQL1, SQL2(1992), SQL3(1999))

SQL можно использовать в 2-х режимах:

  1. Интерактивном (диалоговом)

  2. Прикладном

Отсюда две разновидности: интерактивный SQL и программный SQL. В функциональном отношении мало отличаются.

Применение программного:

1. Встроенный SQL. Оператор языка SQL записывается непосредственно в тексте программы (встроенный статический SQL), составленной на обычном языке программирования. Либо формируется в спец. обл. памяти (встроенный динамический SQL). Затем выполняется в ходе исполнения программы.

2. Интерфейс прикладной программы API. Программа взаимодействует с СУБД посредством совокупности функций. Вызывая API-функции, программа передает операторы SQL и получает обратно результаты запроса.

Элементы языка: литералы.

Точные числовые литералы (-22, 300.435)

Числовые литералы (10E-3, 4E2)

Строковые константы заключаются в апострофы