Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematicheskie_osnovy_baz_dannykh.doc
Скачиваний:
3
Добавлен:
05.09.2019
Размер:
147.46 Кб
Скачать

Типы данных в бд

В языке sql поддерживаются следующие типы данных

-CHARACTER (n) или CHAR(n) – символьные строки фиксированной длины в n символов

-NUMERIC [(n,m)] – точные числа. Здесь n общее количество в числе, n количество цифр справа в десятичной точке

-DECIMAL [(n,m)]

-DEC[(n,m)]

-INTEGER или INT

-SMALLINT – целые числа меньшего диапазона, вещественный тип данных в одинарной точности.

-FLOA [(n)] – числа в большом формате, хранимы в плавающем формате, n – число байт, резервируемое для храниения одного числа.

-REAL – вещественный тип который соответствует числам в плавающем формате меньшей точности чем FLOAT.

-DOUBE PRECISION – большая точность чем REAL

-VARCHAR (n) – строки переменной длины n.

-NCHAR(N) – строки локализованных чисел, фиксируемой длины (n)

-NCHAR VARYING – строки локализованных чисел

-DATE – календарная дата

-TIMESTAMP(точность)- дата и время

-INTERVAL – временной интервал

Табл. Агрегат.ф

Функция

Результат

Count

Sum

Avg

Min

Минимальное значение

Max

Максимальное значение

Пр. Вычислить количество студентов сдававших экзамен по каждой дисциплине

Select r1.дисциплина, count(*)

From r1

Group by r.дисциплина;

Результат

Дисциплина

Count(*)

БД

6

а/я

4

Пр. найти количество студентов успешно сдавших экзамены

Select count(*)

From r1

Where оценка>2;

Пр. Вычислить количество разных оценок полученных по каждой дисциплине

Select r1.дисциплина, count(distinct r.оценка)

From r1

Where r1.оценка<>0

group by r1.дисциплина;

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

Select r2.группа, r1.дисциплина, count(*) avg(оценка)

From r1,r2

Where r1.фио = r2.фио and

R1.оценка>2 and r1.оценка<>0

Group by r1.группа, r1.дисциплина;

Пр.вывести группы в которых на экзаменах получено больше одной двойки

Select r2.группы

From r1,r2

Where r1.фио = r2.фио and

R1.лценка=2

Group by r2.группа, r1.дисциплина

Having count(*)>1;

22.03.2012

Вопросы по контрольной:

1.Операции соединения

2.Операции объединения.

3.Создание и удаление таблицы

4.Модификация таблиц

5.Транзакции. Определение и оператор транзакций

6.Краткая характеристика первых 3 нормальных форм

7.Нормализация БД

Декартово произведение множеств

Декартово произведение двух таблиц

Синтаксис: select список_столбцов from T1,T2,…,Tn – этот запрос возвращает набор строк(записей) полученный в результате декартово произведения наборов записей из указанных таблиц.

Примечание! Таблицы могут быть как таблицами БД, так и виртуальными таблицами, возвращаемыми запросами.

Иногда требуется получить декартово произведение таблицы самой на себя. В этом случае необходимо использовать разные псевдонимы для этой таблицы.

Пример: select список_столбцов from MyTab T1, My Tab T2;

В Майкрософт для получения декартово произведения возможно использование выражения (select список_столбцов from T1, T2,…,Tn;)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]