Базы данных. Уровни данных. Нормальные формы схем отношений. Аксиома дополнения (добавления). Способы размещения с применением Хэш-функции, страница 21

В данном запросе SQL работает так как если бы он соединял 3 разных таблицы. Псевдонимы могут исп в предложении SELECT до их объявления в предложении FROM , но SQL может отклонить команду если они не будут определены далее в запросе. Псевдоним Е-ет только тогда когда команда выполняется. Псевдонимы должны исп в любое время для создания альтернативных имен для таблиц запросов, например, в случае, если таблицы имеют длинные и сложные имена.

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

SELECT predmet.pname , first.snum, second.snum

FROM students first, students second, predmet

WHERE predmet.pnum=first.pnum, first.snum=second.pnum

PNAME SNUM SNUM

В выводе имеем: пару № студентов, сдавших тот или иной предмет, опр по названию таблицы учебных предметов. Т о операция объединения в SQL соединяет инф-цию из 2х таблиц , формируя пары связанных строк из них. Объед. таблицу обр.парой тех строк из различных таблиц, у кот в связанных столбцах содержатся одинак зн-я. Если строка одной из таблиц не имеет пары, то объединение может привести к некорректным результатам.

Лекция 24.11

FOX PRO

Можно открыть БД каждую в своей раб. обл. Каждый такой файл и все вспомогательные откр. в своей раб. обл. Переход из обл. в обл. осуществляется с пом. команды  SELECT< раб. обл / псевдоним.> Первые 10 раб. обл идентифицируются номерами 1-10 или буквами A-J, обл. с 11-25 обозначаются либо цифрами либо W11-W25. Если в качесте пар-ра указ. 0, произойдет переход в 1 раб. обл. Раб. обл. и файлы БД могут идентиф-ся псевдонимами. По умолчанию псевдонимом раб. обл. явл-ся само имя находящееся вне файла БД. Обл. в кот. Находимся в данный момент наз-ся активной раб. обл. Одновременно даже в одной команде можно иметь доступ к полям другой БД. В этом случае имя поля из не активной обл. явл-ся составным. Имени поля предшествует наименование имя раб. обл. и псевдонима разделенные точкой. <Раб. обл/ псевдоним>.< имя поля>. Раб. обл. в составе имени указывается буквой, именем ее БД, псевдонимом, но не номером. USE имя файла IN A- переход в др. раб. обл не происходит.

  Связьвида 1записьс 1

 SET RELATION TO <ключ>  IN TO <обл>[, <ключ> IN TO  <обл.>…][ADDITIVE]

Команда связывает указатель записи в акт. раб. обл. с указателем записи др. раб. обл., имена кот-х  указывают после слова IN TO по заданному общ. полю. Файл с которым устанавливают связь должен быть проиндексирован по этому полю. База в которой указатель движется произвольно называют старшим или родительским. А база, указатель в которой  следует за старшим указателем наз-ся младшим. Старшей и младшей базой должны быть поля, несущие какой –то общ. смысл. Если со старших файлов, которые связаны с др. необходимо связать некоторый третий, четвертый, и т. д., то необходимо во все последующие команды SET RELATION включить слово ADDITIVE , которое обеспечит сохранение связи, установленной ранее. Связь между всеми файлами разрывается командой SET RELATION TO  без параметров. Связь с отдельными файлами заданной обл. разрывается командой SET RELATION OF INTO <обл>

  Связь вида 1 запись со многими 

SET SKIP TO [<обл>,…]

Прежде чем использовать команду SET SKIP TO необходимо выполнить начальные сцепления вида: одна запись с одной, используя команду SET RELATION TO. Удаление связи  вида одна запись со многими осуществляется командой SET SKIP TO  без параметров. Для определения условий целостности данных используется окно построителя в условиях целостности данных ,REFERATIAL INTEQRITY BUILDER которая содержит перечень всех установленных отношений между табл. Для его открытия неоходимо выполнить: в окне конструктора БД установить курсор на линию отображающую отношение табл. И выбирать в комплексном меню команду EDIT REFERATIAL INREQRITY. Таблица описание условий содержит имена родительской и дочерней таблиц. Наименование индексов,использующихся для связей , а также выполняемых при модификации данных, добавлении и удалении записи. Тип действий можно выбрать также в полях UPDATE DELETE INSERT.