Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

16. Понятие домена.

С понятием отношение тесно связано понятие домена.

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

Пример: домен

N_Month

Short Int, Byte, I2

Отличие домена от подмножества простого типа состоит в том, что домен отражает семантику определенную данной предметной областью. Например могут быть несколько доменов, совпадающие как подмножества простого типа, но несущие различный смысл. Т е основное смысловое значение доменов состоит в том, что они ограничивают сравнение данных. В частности некорректно сравнивать значения из различных доменов даже если они одного типа. Именно понятие домена и позволяет корректно моделировать предметную область с помощью РМД.

17. Отношения, атрибуты и кортежи.

Основным структурным типом РМД является структура данных отношение.

Отношение как структура данных задается с помощью заголовка отношения и тела отношения. Заголовок отношения это структура вида – . Где R имя отношения, Аi – атрибуты. Атрибутом отношения называется пара вида , где – домен, т е каждый атрибут определяется на конкретном домене (через домен). Более того практически можно считать что атрибут и домен это одно и то же, если бы не одно НО: в отличие от домена, имя которого должно быть уникально в пределах БД, имя атрибута должно быть уникально только в пределах одного отношения.

НЕ нашли? Не то? Что вы ищете?

Тело отношения состоит из множества кортежей, где под кортежем понимается множество вида

те кортеж это декартово произведение значений атрибутов. Тело отношения может быть бесконечным. Число атрибутов в отношении называется степенью или арностью отношения. Мощность множества кортежей отношения называют мощностью отношения. Отношения как структура данных обладает 2 уникальными свойствами:

1. Заголовок отношения статичен и не меняется никогда в данной БД. Если в отношении изменить, удалить атрибут – это иная БД.

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

18. Формализация отношений в виде таблиц. Сравнение отношений и таблиц.

Таблицы являются внешним отображением файлов и отношений РМД. Поэтому все современные СУБД в своем интерфейсе используют терминологию таблицы. При этом важно помнить, несмотря на сходства и аналогии (отношения и таблицы) между структурой данных отношение и структурой данных таблицы существуют принципиальные отличия. По определению «тело отношения» в отношении не может быть двух одинаковых кортежей. Напротив, таблицы могут содержать одинаковые строки.

Благодаря этому св–ву СУБД автоматически контралирует целостность данных на уровне совпадения кортежей. 2) по опр–ю мн–ва кортежи отношения никак не упорядочены, а одно и тоже отношение может быть отображено разными таблицами, напр список студентов по алфавиту фамилия, порядок строк имеет оч важное значение. Замеч! с др стороны упорядоченность кортежей(записей файлов) не только не сущ–ет, но и в принципе не возможна. 3) по опр–ю заголовка отношения атрибуты никак не кпорядочены, напротив одно и тоже отн–е может быть отображено разными таблицами с разным порядком столбцов, те порядок столбцов в таблицах имеет принципиальное значение(так же как и строк). 4) по опр–ю атрибутов(доменов) все значения атрибутов в кортежах атомарны или скалярны, напротив в ячейках таблицы могут быть расположены не только сложные структуры данных, но и арифмитические выражения от атрибутов столбцов, ф–ий и прочее.

19. Единство трёхуровневой структуры БД.

В соответствии со стандартом ANSI–SPARC ис типа БД следует рассматривать как единую, но трехуровневую структуру, состоящую из след элементов.

Физический уровень<=>концептуальный уровень<=>Уровень представлений

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

2. внутренний (физический) уровень предназначен для физической реализации долговременного хранения больших массивов сложноструктурированных данных. Поэтому к физическому уровню относят как файлы так и ВЗУ.

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

3. уровень представлений ( внешний) служит для представления данных БД и результатов обработки данных БД на внешних устройствах. В конечном итоге внешний уровень – это интерфейсная часть – клиентская часть БД. Причем для удобства пользователя внешнее представление может отличаться от структуры внутреннего хранения.

20. Потенциальные ключи. Первичные и альтернативные ключи.

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

Определение 1. Пусть дано отношение Целостность. Подмножество атрибутов Целостность. отношения Целостность. будем называть потенциальным ключом, если Целостностьобладает следующими свойствами:

1. Свойством уникальности – в отношении не может быть двух различных кортежей, с одинаковым значением Целостность.

2. Свойством неизбыточности – никакое подмножество в Целостностьне обладает свойством уникальности.

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

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

Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные – альтернативными. Различия между первичным и альтернативными ключами могут быть важны в конкретной реализации реляционной СУБД, но с точки зрения реляционной модели данных, нет оснований выделять таким образом один из потенциальных ключей.

Замечание. Понятие потенциального ключа является семантическим понятием и отражает некоторый смысл (трактовку) понятий из конкретной предметной области.

21. Null–значения. Целостность сущностей.

Целостность данных имеет огромное значение для БД не только в семантическом смысле, но и в структурном. В любой РБД существует множество ограничений.

Целостность сущностей:

Главное назначение любой БД состоит в хранении больших массивов сложноструктурированных данных и мгновенного доступа к ним, причем эти данные должны представлять информацию по конкретной предметной области реального мира. Однако на практике часто встречаются ситуации, когда часть сложноструктурированных данных либо не известна, либо не полна. Для того чтобы решить проблему неполноты данных в БД ввели специальный тип данных Null – значение. Т е Null – значение – это не значение а маркер, указатель, показывающий, что данное значение не определено. Допущение Null – значения приводит к тому, что любое алгебраическое выражение, использующее в качестве операнда Null – значения, имеет по определению неопределенное значение. Поэтому СУБД определения истинности логических выражений используют вместо традиционной двухзначной матлогики нетрадиционную трехзначную: TRUE, FALSE, NILL. По определению тело отношения не может включать в себя одинаковые кортежи, это означает, что каждый кортеж каким либо образом должен обладать свойством уникальности, однако хорошо известно, что свойством уникальности могут обладать и отдельные атрибуты отношения, вот почему эти атрибуты можно использовать для идентификации кортежа. Опр. Пусть , подмножество атрибутов. Тогда К называется потенциальным ключом, если это подмножество обладает 2 свойствами: Уникальности, неизбыточности. Уникальность означает, что в отношении не может быть 2 одинаковых значений из К или не может быть двух кортежей с одинаковым значением из К. неизбыточность означает, что никакое подмножество в К не должно обладать свойством уникальности. Потенциальный ключ, состоящий из одного атрибута, называется простым. Потенциальный ключ, состоящий из нескольких атрибутов, называется составным. Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные – альтернативными. Различия между первичным и альтернативными ключами могут быть важны в конкретной реализации реляционной СУБД, но с точки зрения реляционной модели данных, нет оснований выделять таким образом один из потенциальных ключей. На практике большинство отношений имеют единственный потенциальный ключ, который по определению является первичным. Теперь можно однозначно утверждать, что потенц ключи служат средством идентификации не только объектов предметной области, но и единственным средством адресации в отношениях на уровне кортежей. Свойство потенциального ключа приводит к тому что его атрибуты не могут содержать неопределенные значения – это и есть правило целостности сущностей: атрибуты, входящие в состав некоторого потенц ключа не могут принимать Null – значения.

22. Внешние ключи. Ссылочная целостность. Родительские и дочерние отношения.

Различные объекты предметной области всегда взаимосвязаны друг с другом. Поэтому естественно ожидать, что РМД сможет учесть и реализовать эти взаимосвязи. В РМД такие взаимосвязи реализуются с помощью механизма внешних ключей. Если взять РМД в которой используются несколько отношений, то в них легко можно выделить взаимосвязи типа: Один–ко–многим, многие–к–одному (одно и то же), многие–ко–многим, один–к–одному. Взаимосвязь многие–ко–многим в РМД реализовать нельзя, они реализуются косвенно, как множество взаимосвязей один–ко–многим. Отношение входящее во взаимосвязь со стороны «Один» называют родительским отношением. Механизм создания родительского отношения очень прост, если в родительском отношении выделить атрибуты потенциального ключа, т е в дочернее отношение достаточно механически добавить атрибуты потенциального ключа родительских отношений, чтобы превратить в дочернее. Причем добавленные атрибуты потенциального ключа и будут называться внешним ключом дочернего отношения. В результате этого механизма внешние ключи однозначно определяют связь кортежей дочернего отношения с родительскими. Внешний ключ, так же как и потенциальный может быть простым или составным. Главное, что внешний ключ, а точнее его атрибуты должен быть определен на тех же доменах, что и соответствующий первичный ключ родительского отношения. Внешний ключ не должен обладать свойством уникальности, если же он уникален, то связь между отношениями имеет тип один–к–одному. Т к по определению внешние ключи служат для взаимосвязи дочернего и родительского отношения, они не должны указывать на несуществующие объекты родительского отношения. Это и есть правило целостности внешних ключей: внешние ключи всегда должны быть согласованными, т е для каждого значения внешнего ключа дочернего отношения всегда должно существовать соответствующее значение первичного ключа родительского отношения. Очевидно, что ссылочная целостность может быть нарушена в результате операций по изменению состояния БД, т е вставка, редактирование и удаление кортежей в отношении. Существует 4 типа таких критических операций: 1. Изменение кортежей в родительском отношении 2. удаление кортежей в родительском отношении 3. вставка нового кортежа в дочернее отношение 4. обновление кортежей в дочернем отношении.

23. Индексные файлы. Сортировка файлов БД.

Индексным файлом называется специальный рабочий файл СУБД который состоит из 2 полей:

1. физический номер записи исходного файла.

2. значение индексного ключа.

В результате индексный файл во–первых значительно меньше исходного файла и во–вторых, механизм переключения с одного индексного файла на другой осуществляется мгновенно. Как следствие, СУБД не нарушает избыточность данных т к одновременно позволяет использовать несколько индексных файлов

24. Поиск записей в файле БД. Индексные ключи. Алгоритмы поиска.

Любая СУБД при создании файла БД и внесения данных – записей, должна использовать уникальный ключ для адресации внешних записей. Таким ключом по умолчанию является номер записи. Но записи по любым полям по определению тела отношения не могут быть упорядоченными, поэтому возникает вопрос: «А как осуществить поиск искомых записей в БД?» наиболее эффективным алгоритмом поиска реализованы только на упорядоченных структурах данных. По этому для поиска записей в БД используют 2 специальных механизма, обеспечивающих сортировку данных:

1. метод сортировки

2. метод индексации.

Опр. Отсортированным файлом БД называется файл, записи в котором упорядочены в строгом соответствии со значением некоторого ключа сортировки.

Но метод сортировки чрезвычайно затрачен:

1. чрезмерная избыточность данных, т к данные исходного файла и данные отсортированного файла совпадают

2. метод сортировки требует монопольного доступа к данным в режиме сортировки

3. время. Поэтому метод сортировки используется крайне редко и для специальных файлов, например справочников.

Метод индексации. Индексным файлом называется специальный рабочий файл СУБД который состоит из 2 полей:

1. физический номер записи исходного файла.

2. значение индексного ключа.

В результате индексный файл во–первых значительно меньше исходного файла и во–вторых, механизм переключения с одного индексного файла на другой осуществляется мгновенно. Как следствие, СУБД не нарушает избыточность данных т к одновременно позволяет использовать несколько индексных файлов

25. Стратегии ссылочной целостности.

Учитывая проблемы целостности данных, современные СУБД предлагают специальные механизмы – стратегии для автоматического поддержания ссылочной целостности. Различают 2 базовые стратегии и ряд вспомогательных.

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

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

Доп стратегии:

3. SETNILL (установить в nill). Данная статегия разрешает выполнение критичных операций, но все возникшие при этом некорректные значения внешних ключей заменяются на nill – значения.

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

4.SETDEFAULT/ это обобщение пред стратегии, т к она разрешает выполнение критических операций, но все возникающие при этом некорректные значения внешних ключей заменяет на некоторое фиксированное значение по умолчанию. При этом, в род отношение рекомендуется вставить некий кортеж, потенциальный ключ которого = значению по умолчанию. Эта стратегия так же имеет недостатки, т к кортежи дочернего отношения теряют связь с истинными кортежами род отношения.

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

26. Основы реляционной алгебры. Операции «Объединение», «Пересечение», «Вычитание», «Де–картово произведение». Примеры.

Доступ к реляционным данным и их обработка осуществляется либо при помощи реляционной алгебры (РА), либо с помощью эквивалентного ей реляционного исчисления (РИ). РА – это алгебра над отношениями, а РИ это алгебра над доменами, атрибутами, кортежами. РА является замкнутой в том смысле, что применение любого оператора РА приводит тоже к отношению. В реляционных выражениях можно использовать вложенные выражения, сколь угодно сложной структуры. Т к РА предназначена для вычисления реляционных выражений, подразумевается использование оператора присваивания., т е , где – оператор РА. Это означает, что отношение, стоящее в левой части оператора присваивания тоже должно иметь уникальное имя в пределах БД, как и операнды реляционного выражения правой части. Однако, реляционные выражения допускают использование неименованных отношений, которые возникают в процессе промежуточных вычислений реляционного выражения, т е неименованные отношения реально не существуют, а вычисляются только во время выполнения действий заданных реляционными выражениями. Различают 8 реляционных операторов:

1. теоретико–множественные операторы: объединение, пересечение, вычитание, декартово произведение.

2. специальные реляционные операторы: выборка проекция, соединение, объединение.

По аналогии с арифметическими отношениями в которых иногда жестко требуется совместимость данных по типу, в РА так же необходимо чтобы для некоторых реляционных операторов отношения были совместимы по типу. Опр. Совместимыми по типу называются отношения , такие что 1. отношения имеют одно и то же множество имен атрибутов т е для любого атрибута так что и наоборот, для любого 2. атрибуты с одинаковыми именами должны быть определены на одних и тех же доменах.

1. объединением 2 совместимых по типу отношений А и В , называется отношение С с тем же заголовком и телом, состоящим из кортежей принадлежащих телу А или В или обоим одновременно, т е. В теле отношения С не могут дублироваться кортежи принадлежащие одновременно и А и В.

2.пересечением 2 совместимых по типу отношений А и В , называется отношение С с тем же заголовком и телом, состоящим из кортежей принадлежащих одновременно обоим телам А и В, т е

3. вычитание 2 совместимых по типу отношений А и В , называется отношение С с тем же заголовком и телом, состоящим из кортежей принадлежащих А но не принадлежащих В, т е

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

27. Специальные реляционные операции: «Выборка», «Проекция», «Соединение», «Деление». Примеры.

1. выборкой отношения с условием отбора называется отношение С с таким же заголовком и телом, состоящим из кортежей, значение атрибутов которых при подстановке в условие дают значение истина.. Выражение представляет из себя обычное логическое выражение, операндами которого могут служить не только атрибуты отношения А, но и скалярные выражения (константы, функции). Операция выборки дает горизонтальный срез отношения по заданному условию. . Операция выборки напоминает команду select но это абсолютно разные вещи.

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

Select в SQL может одновременно выполнять и выборку и проекцию.

3. соединением 2 произвольных отношений и по условию называется отношение С с заголовком и телом, состоящим из кортежей образованных декартовым произведением А на В одновременно удовлетворяющих условию .

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

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

28. Понятие о SQL и PL/SQL. Типы команд SQL.

SQL (Structure Query Language) – язык структурированных запросов. Это означает что SQL не яп – это язык запросов к данным РБД. SQL является средством работы с РБД и имеет основополагающее значение для современных Реляц СУБД. прежде всего в плане совместимости. Именно поэтому язык sql является международным стандартом. Поэтому любая из существующих реляц СУБД по определению должна поддерживать этот язык. Однако одновременно все СУБД поддерживают свой язык sql который принято называть расширением или релизами. При этом стандарт sql – подмножество релизов. Oracle – PL/SQL. SQL может использоваться как интерактивный язык запросов, т е клиент формирует запрос, отправляет серверу СУБД, который и обрабатывает текущий запрос. В то же время операторы sql совместим не только с расширениями но и многими языками программирования. Основы языка sql составляют операторы, которые можно условно разделить на несколько групп по их функциональному назначению.

1. DDL (Data Definition Language) – Команды языка определения данных. Create – создать, Drop – удалить, Alter – изменить.

2. DML (Data Manipulation Language). Операторы манипулирования данными. Insert, Update, Delete.

3. DSL (Date Select Language). Select – выборка данных

4. TML (Transaction Manipulation Language) – команды для работы с транзакциями. Commit, Rollback, Savepoint.

5. DCL (Data Control Language) – управление доступом к данным. Grant – разрешить, Revoke – запретить.

29. Типы данных в SQL.

Данные предназначены для обработки с помощью различных клиентских приложений, кот–е могут быть написаны на яп. Возникает вопрос совместимости типов данных БД и яп. В SQL выделяют базовые типы данных и подтипы данных. 1)числовой тип NUMBER(m, d) m–общая длина поля, d–число знаков после запятой (real, float, numeric); 2)BINARY INTEGER и любой из его подтипов (natural, positive) применяется для создания переменных и констант в двоичном формате. Этот тип явл–ся специфичным для БД и исп–ся в основном как рабочий тип для создания и хранения рабочих(вспомогательных) данных(индексы, специализированные рабочие данные); CHAR(n) подтипы:CHARACTER, STRING. Этот тип и любой из его подтипов исп–ся для создания и хранения переменных и констант, хранящих текстовые строки фиксированной длины max(n)=32767. этот тип независимо от кол–ва символов будет занимать n байт; 4) VARCHAR2(n), подтип – VARCHAR(n). Занимает ровно столько места в памяти ЭВМ сколько n (кратно размеру). VARCHAR дороже чем CHAR. Где можно исп–ть CHAR; 5) DATE подтипы: TIME DAY YEAR...; 6) BOOLEAN, подтип–LOGICAL

30. Команды языка определения данных. CREATE TABLE.

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

язык манипулирования данными (Data Manipulation Language, DML)(insert, update, delete); язык определения данных (Data Definition Language, DDL)(create, drop, alter); язык управления данными (Data Control Language, DCL)(grant| revore); Data Select Language – команды выборки данных Select; Transaction Manipulation Language – транзакция (commit, rollback, savepoint). Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд. Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд: SELECT (выбрать); INSERT (вставить); UPDATE (обновить); DELETE (удалить). Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей – таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур.

CREATE [TEMPORARY] TABLE ({столбец1 тип [(размер)][ограничение_столбца][,...]}{[, CONSTRAINT ограничение_таблицы][,...]}); CONSTRAINT–ограничение для всей таблицы. INSERT INTO – вставка данных в таблицу.

31. Команда SELECT. Примеры. Формальное описание.

Исп–ся как 1)самостоятельная команда на формирование данных одной или нескольких таблиц 2) элемент WHERE или HAVING условий, те как вложенный запрос, либо как фраза выбора команды CREATE VIEW, DECLARE CURSOR, INSERT, UPDETE, DELETE средства присвоения переменным значения БД SELECT... INTO.. Нас интересует команда выборки(формирования данных). Несмотря на созвучие имени выборки и оператора SELECT это абсолютно разные вещи. Напр SELECT может работать и по аналогии с выборкой, или по аналогии с проекцией, или одновременно.

Например:

SELECT fam, im

FROM student

WHERE n_gr=’131’.

В самом общем виде предложение SELECT имеет вид:

<подзапрос> [UNION[ALL] <подзапрос>]...[ORDER BY{[таблица]столбец / номер эл–та SELECT } [[ASC]/ DESC]...[, [таблица]столбец I номер эл–та SELECT } [[ASC]/ DESC]...

[ ]–необязательн, {}–список, ...–повторение. Т. е оператор UNION позволяет объединить, а затем упорядочить с помощью предложения ORDER BY результаты выбора данных получаемых с помощью нескольких подзапросов. При этом упорядочивание можно проводить либо в алфавитном порядке, либо по убыванию. Из синтаксиса предложения Select видно, что основным элементом является подзапрос

<подзапрос> ::= SELECT[[ALL]/ [DISTINCT] {*[элемент Select[,элемент Select]... } FROM {таблица/предложение}[псевдоним] {, таблица/предложение}[псевдоним]... [WHERE <условие выбора>] [GROUP BY<условие группировки>[HAVING <условие отбора групп>]]

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

32. Предложение UNION.

UNION отличается от подзапросов тем что в нем ни один из двух ( или больше ) запросов не управляются другим запросом. Все запросы выполняются независимо друг от друга, а уже вывод их – объединяется.

Запрос1 UNION Запрос2; В результатной таблице остаются только отличающиеся записи. Для сохранения всех: UNION ALL.

Оп–ор UNION можно применять к табл: кол–во столбцов в табл равны; данные в соот–щих столбцах объединяемых таблиц должны иметь совместимые типы. Напр символьные(строковые) char и varchar совместимы, а числовой и строковый не совместимы.

Для преобразования типа CAST(Сумма_заказа AS CHAR(10)).

UNION CORRESPONDING(список столбцов)–объединение соответствующих столбцов.

33. Предложения WHERE, HAVING, GROUP BY

В SQL логические выражения могут принимать значения: истина, ложь, неопределенное значение(NULL)–трехзначная логика. Выражение WHERE применяется ко всем записям исходной таблицы. Если оно истинно для данной записи, то она выбирается и будет представлена в результатной таблице. WHERE исп–ся при выборке данных с оператором SELECT, при вставке, модификации и удалении записей. Предикаты: Between–позволяет задать выражение проверки вхождения какого–либо значения в диапазон, определяемый граничными значениями для данных символьного битового и даты–времени типов. IN и NOT IN – для проверки вхождения значения в заданный список. LIKE и NOT LIKE – для проверки частичного соответствия символьных строк, критерий частичного соот–ия %. IS NULL – для выявления записей, в кот–ых тот или иной столбец не имеет значения. В выражении WHERE могут исп–ся выражения с оп–ом SELECT. Запросы к БД, подзапросы.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7