Лекция №6 Реляционная алгебра.

Рассмотрим пример.

Лекция №6 Реляционная алгебра. - student2.ru Здесь отношения уже нормализованы.

Допустим, нам надо получить информацию вида: ФИО, Номер_телефона. Но информация находится в разных таблицах. Как ее получить? Или еще пример. Две абсолютно не связанные таблицы

R1(ID, Bank, sch, summa) – поступления денежных средств на расчетный счет;

R2(ID, Bank, sch, summa) – выбытие денежных средств с расчетного счета.

Предположим клиенту нужен отчет обо всех операциях того или иного расчетного счета. Как получить эту информацию из двух совершенно не связанных таблиц в БД?

Для этого предназначены операции реляционной алгебры:

1. Объединение;

2. Пересечение;

3. Разность;

4. Декартово произведение;

5. Выборка;

6. Проекция;

7. Соединение;

8. Деление.

Разберем их подробно.

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

Выражения реляционной алгебры определяются над отношениями, результатом является тоже отношение.

Операции объединения, пересечения и разности требуют от отношений совместимости по типу. Два отношения являются совместимыми по типу, если каждое отношение имеет одинаковые атрибуты, определенные на одинаковых доменах.

1. Объединение. Результатом объединения двух отношений является третье отношение, состоящее из множества записей, принадлежащих и первому отношению и второму.

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

2. Лекция №6 Реляционная алгебра. - student2.ru Пересечение. Результатом пересечения двух отношений является третье отношение, состоящее из множества записей, принадлежащих одновременно обоим отношениям.

Лекция №6 Реляционная алгебра. - student2.ru

3. Разность. Результатом разности двух отношений является третье отношение, состоящее из множества записей, принадлежащих первому отношению и не принадлежащих второму отношению.

Лекция №6 Реляционная алгебра. - student2.ru Лекция №6 Реляционная алгебра. - student2.ru

4. Произведение. Результатом произведения двух отношений является третье отношение, атрибуты которого есть и в первом отношении и во втором отношении, записи множество всевозможных комбинаций между отношениями.

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

5. Выборка. Результатом выборки записей из отношения является другое отношение, записи которого удовлетворяют некоторому условию.

Лекция №6 Реляционная алгебра. - student2.ru

6. Проекция. Результатом выполнения проекции над отношением является «вертикальное» подмножество этого отношения.

Лекция №6 Реляционная алгебра. - student2.ru

7. Соединение. Результатом соединения является последовательное применения к двум отношениям операции произведения и выборки.

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

8. Деление. Деление одного отношения на другое создает новое отношение, содержащее атрибуты первого отношения, отсутствующие во втором отношении и кортежи первого отношения, которые совпали с кортежами во втором отношении.

Лекция №6 Реляционная алгебра. - student2.ru

Лекция №6 Реляционная алгебра. - student2.ru

MYSQL.

Типы данных.

Целочисленные типы.

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

При создании столбца одного из целых типов MySQL выделит для хранения данных соответствующее количество памяти – от 1 байта для типа tinyint до 8 байт для bigint. Поэтому попытайтесь подобрать тип достаточного размера для хранения самого большого из предполагаемых чисел без неоправданного расхода памяти.

Tinyint

Smallint

Mediumint

Int

Bigint

Вещественные типы.

Для чисел с плавающей точкой (таких как 3,1415927) можно выбрать один из типов

Float(p,s)

Double(p,s)

Real

Decimal(m,n)

Numeric

Для типа с плавающей точкой можно задать точность (precision) (об­ щее допустимое число разрядов, как справа, так и слева от десятичной точки) и масштаб (scale) (допустимое число разрядов справа от десятич­ ной точки), но эти параметры не являются обязательными.

Типы дата/время.

Наряду со строками и числами довольно часто приходится работать с ин­ формацией о датах и/или времени. Этот тип данных называют временным (temporal).

Date YYYY­MM­DD

Datetime YYYY­MM­DD HH:MI:SS от

Timestamp YYYY­MM­DD HH:MI:SS

Year YYYY

Time HHH:MI:SS

Символьные типы

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

CHAR(20) /* строка фиксированной длины */

VARCHAR(20) /* строка переменной длины */ В

Наши рекомендации