Главная страница
Навигация по странице:

  • 18. Агрегатные функции в операторе выбора. Вложенные запросы.

  • Вложенные запросы.

  • WHERE

  • Проект

  • Рис. Этапы проектирования БД.

  • Ответы к экзамену по БД. 1. Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi). 3


    Скачать 2.24 Mb.
    Название1. Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi). 3
    АнкорОтветы к экзамену по БД
    Дата08.11.2022
    Размер2.24 Mb.
    Формат файлаdocx
    Имя файлаVoprosy-otvety_BD_ekzamen.docx
    ТипДокументы
    #776756
    страница7 из 14
    1   2   3   4   5   6   7   8   9   10   ...   14

    17. Null-значения, трехзначная логика.


    Кратко:

    В SQL используется трехзначная логика, т.е. результат логического выражения может принимать три значения – истина (True), ложь (False) и неизвестно (NULL).

    Если значение в ячейке отсутствует (ячейка пуста, не заполнена), то говорят, что значение в этой ячейке есть NULL.

    Следует четко понимать, что NULL – это не ноль, это вообще не значение, это отсутствие всякого значения.



    NULL в Системах управления базами данных (СУБД) — специальное значение (псевдозначение), которое может быть записано в поле таблицы базы данных (БД). NULL соответствует понятию «пустое поле», то есть «поле, не содержащее никакого значения». Введено для того, чтобы различать в полях БД пустые (визуально не отображаемые) значения (например, строку нулевой длины) и отсутствующие значения (когда в поле не записано вообще никакого значения, даже пустого).

    NULL означает отсутствие, неизвестность информации. Значение NULL не является значением в полном смысле слова: по определению оно означает отсутствие значения и может иметь тип NULL или иметь любой другой тип (CREATE TABLE new_tab AS (SELECT NULL) - специальный тип null, CREATE TABLE new_table AS (SELECT 10+NULL) - тип integer). Поэтому NULL не равно ни логическому значению FALSE, ни пустой строке, ни нулю. При сравнении NULL с любым значением будет получен результат NULL, а не FALSE и не 0. Более того, NULL не равно NULL!

    18. Агрегатные функции в операторе выбора. Вложенные запросы.


    Применение агрегатных функций и вложенных запросов в SELECT.

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



    Агрегатные функции используются подобно именам полей в операторе SELECT, но с одним исключением: они берут имя поля как аргумент. С функциями SUM и AVG могут использоваться только числовые поля. С функциями COUNT, MAX и MIN могут использоваться как числовые, так и символьные поля.

    !!! Нельзя использовать агрегатные функции в предложении WHERE, потому что предикаты оцениваются в терминах одиночной строки, а агрегатные функции — в терминах групп строк.

    Предложение GROUP BY позволяет определять подмножество значений в особом поле в терминах другого поля и применять функцию агрегата к подмножеству. Это дает возможность объединять поля и агрегатные функции в едином предложении SELECT. Агрегатные функции могут применяться как в выражении вывода результатов строки SELECT, так и в выражении условия обработки сформированных групп HAVING. В этом случае каждая агрегатная функция вычисляется для каждой выделенной группы.

    Вложенные запросы.

    С помощью SQL можно вкладывать запросы внутрь друг друга. Обычно внутренний запрос генерирует значение, которое проверяется в предикате внешнего запроса (в предложении WHERE или HAVING), определяющего, верно оно или нет. Совместно с подзапросом можно использовать предикат EXISTS, который возвращает истину, если вывод подзапроса не пуст.

    Предикат EXISTS (SubQuery) истинен, когда подзапрос SubQuery не пуст, то есть содержит хотя бы один кортеж, в противном случае предикат EXISTS ложен.

    Предикат NOT EXISTS обратно — истинен только тогда, когда подзапрос SubQuery пуст.

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

    ANY в любом предикате сравнения, означает, что предикат будет истинен, если хотя бы для одного значения из подзапроса предикат сравнения истинен. ALL требует, чтобы предикат сравнения был бы истинен при сравнении со всеми строками подзапроса.

    19. Этапы жизненного цикла ИС. Этапы проектирования БД.


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



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

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

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

    Рис. Этапы проектирования БД.

    1. Системный анализ и словесное описание информационных объектов предметной области.

    2. Проектирование инфологической модели предметной области – частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ER-модели.

    3. Выбор модели данных(иерарх., сетев., …)+ СУБД

    4. Даталогичеcкое или логическое проектирование БД, то есть описание БД в терминах принятой даталогической модели данных.

    5. Физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложений.
    1   2   3   4   5   6   7   8   9   10   ...   14


    написать администратору сайта