Чтение онлайн

на главную - закладки

Жанры

Базы данных: конспект лекций
Шрифт:

Применение здесь опции as означает, что мы присвоили этому запросу псевдоним «Оценки „Базы данных“. Сделали мы это для удобства дальнейшей работы с этим запросом.

Далее, в этом запросе подзапрос:

SelectКод предмета

FromПредметы

WhereИмя предмета = «Базы данных»;

позволяет выделить из отношения «Сессия» те кортежи, которые относятся к рассматриваемому

предмету, т. е. к базам данных.

Интересно, что этот внутренний подзапрос может возвращать не более одного значения, так как атрибут «Имя предмета» является ключом отношения «Предметы», т. е. все его значения уникальны.

А весь запрос «Оценки „Базы данных“ позволяет выделить из отношения «Сессия» данные о тех студентах (их номера зачетных книжек и оценки), которые удовлетворяют условию, оговоренному в подзапросе, т. е. информацию о предмете под названием «База данных».

Теперь составим основной запрос, используя уже полученные результаты.

SelectСтуденты.зачетной книжки,

Trim (Фамилия) + « » + Left (Имя, 1) + «.» + Left (Отчество, 1) + «.»asФИО, Оценки «Базы данных». Оценка

FromСтудентыinner join

(

Selectзачетной книжки, Оценка

FromСессия

WhereКод предмета = (SelectКод предмета

FromПредметы

WhereИмя предмета = «Базы данных»)

) as«Оценки „Базы данных“.

onСтуденты.зачетной книжки = Оценки «Базы данных».зачетной книжки.

Итак, сначала мы перечисляем атрибуты, которые будет необходимо вывести, после окончания работы запроса. Необходимо упомянуть, что атрибут «№ зачетной книжки» из отношения Студенты, оттуда же – атрибуты «Фамилия», «Имя» и «Отчество». Правда, два последних атрибута выводим не полностью, а только первые буквы. Также мы упоминаем атрибут «Оценка» из запроса Оценки «Базы данных, которое ввели раньше.

Выбираем мы все эти атрибуты из внутреннего соединения отношения «Студенты» и запроса «Оценки „Базы данных“. Это внутреннее соединение, как мы можем видеть, берется нами по условию равенства номеров зачетной книжки. В результате этой операции внутреннего соединения, к отношению «Студенты» добавляются оценки.

Надо заметить, что так как атрибуты «Фамилия», «Имя» и «Отчество» по условию не допускают Null-значений и не являются

пустыми, то формула вычисления, возвращающая атрибут «ФИО» (Trim (Фамилия) + « » + Left (Имя, 1) + «.» + Left (Отчество, 1) + «.»as ФИО), соответственно не требует дополнительных проверок, упрощается.

Лекция № 7. Базовые отношения

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

Необходимо знать, что в зависимости от своей природы и структуры, отношения делятся на:

1) базовые отношения;

2) виртуальные отношения.

Отношения базового вида содержат только независимые данные и не могут быть выражены через какие-либо другие отношения баз данных.

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

1. Базовые типы данных

Типы данных, как и отношения, делятся на базовые и виртуальные.

(О виртуальных типах данных мы поговорим чуть позже, посвятим этой теме отдельную главу.)

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

Прежде чем перейти к рассмотрению собственно базовых типов данных, перечислим, каких типов данные вообще бывают:

1) числовые данные;

2) логические данные;

3) строковые данные;

4) данные, определяющие дату и время;

5) идентификационные данные.

В системах управления базами данных по умолчанию ввели несколько наиболее распространенных типов данных, каждый из которых принадлежит какому-то из перечисленных типов данных.

Назовем их.

1. В числовом типе данных выделяют:

1) Integer. Этим ключевым словом обычно обозначают целый тип данных;

2) Real, соответствующий вещественному типу данных;

3) Decimal (n, m). Это десятичный тип данных. Причем в обозначении n – это число, фиксирующее общее количество знаков числа, а m показывает, сколько символов из них стоит после десятичной точки;

4) Money или Currency, введен специально для удобного представления данных денежного типа данных.

2. В логическом типе данных обычно выделяют только один базовый тип, это Logical.

3. Строковый тип данных насчитывает четыре базовых типа (имеются в виду, разумеется, наиболее распространенные):

1) Bit (n). Это строки бит с фиксированной длиной n;

2) Varbit (n). Это тоже строки бит, но с переменной длиной, не превышающей n бит;

3) Char (n). Это строки символов с постоянной длиной n;

4) Varchar (n). Это строки символов, с переменной длиной, не превышающей n символов.

4. Тип дата и время включает в себя следующие базовые типы данных:

Поделиться:
Популярные книги

Кодекс Крови. Книга IV

Борзых М.
4. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IV

Девятый

Каменистый Артем
1. Девятый
Фантастика:
боевая фантастика
попаданцы
9.15
рейтинг книги
Девятый

Кодекс Охотника. Книга XII

Винокуров Юрий
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XII

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Саженец

Ланцов Михаил Алексеевич
3. Хозяин дубравы
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Саженец

Свет во мраке

Михайлов Дем Алексеевич
8. Изгой
Фантастика:
фэнтези
7.30
рейтинг книги
Свет во мраке

(Не)свободные, или Фиктивная жена драконьего военачальника

Найт Алекс
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
(Не)свободные, или Фиктивная жена драконьего военачальника

Вамп

Парсиев Дмитрий
3. История одного эволюционера
Фантастика:
рпг
городское фэнтези
постапокалипсис
5.00
рейтинг книги
Вамп

Инвестиго, из медика в маги 2

Рэд Илья
2. Инвестиго
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Инвестиго, из медика в маги 2

Последняя Арена 4

Греков Сергей
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 4

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Двойник Короля 2

Скабер Артемий
2. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля 2