Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KR AIO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
69.38 Кб
Скачать
  1. Поняттня первинного і зовнішнього ключа в реляційній базі данних кларіон

Первичный ключ – это атрибут (поле) или группа атрибутов, однозначно идентифицирующая экземпляр сущности. Обычно это указатель на запись в таблице, представляющий собой поле (или поля), значение которого не может повторяться в таблице или быть пустым. В языке Clarion первичный ключ задается объявлением (оператором KEY) без атрибута DUP, причем для ввода данных поля-компоненты ключа должны иметь атрибут REQ (обязатеьный). При строгом соблюдении канонов разработки реляционной базы данных для каждой таблицы базы должен быть первичный ключ.

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

Ключи могут быть сложными, т. е. содержащими несколько атрибутов

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

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

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

Понятие ключа (KEY-объявление) языка Clarion никак не связано с реляционными понятиями первичного и внешнего ключей. Это значит, что, несмотря на существование этих ключей в теории, в языке ключ используется только тогда, когда в приложении необходим специфический доступ к файлу.

  1. Поняття черги в кларіон

Оператор QUEUE объявляет структуру записи очереди в памяти. Метка структуры QUEUE используется в операторах и функциях, манипулирующих с элементами очереди и с очередью в целом. При использовании в операторах присвоения, выражениях или списках параметров элемент очереди рассматривается как группа переменных. Очередь может рассматриваться как файл в памяти, реализованный как динамический массив из элементов очереди. При объявлении структуры QUEUE ей выделяется буфер. Каждый элемент очереди занимает точно такой объем памяти как буфер данных, без дополнительных издержек. Буфер данных для локальной по отношению к процедуре (объявленной в разделе данных процедуры или функции) очереди выделяется в стеке (если не указан атрибут STATIC и элемент очереди не слишком велик). Память, выделенная для элементов локальной по отношению к процедуре очереди без атрибута STATIC, распределяется для нее только до тех пор, пока не будет выполнен оператор FREE или не завершится выполнение процедуры или функции - в этом случае память, занимаемая очередью освобождается автоматически. Максимальное количество элементов в очереди равно 1000000. Объем памяти, занимаемой каждым элементом, равен сумме длин составляющих его полей. Операторы работы с очередью: ADD - добавить элемент в очередь, DELETE - удалить элемент очереди, FREE - удалить все элементы очереди, GET - прочитать элемент очереди, POINTER - получить относительный номер, PUT - записывает данные обратно в ту же самую относительную позицию внутри очереди, к которой обращался последний успешно выполненный оператор GET или ADD, RECORDS - получить число элементов в очереди, SORT - упорядочить очередь.

  1. … дозволити користувачеві самому видаляти запис з первинним зовнішнім ключем, а при зміні значення первинного ключа всі значення у зовнішніх ключів замінілося б атоматично? : 3) Обмеження дії, каскадування дії

Білет 5

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