Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на айфон. ответа по бд.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
972.8 Кб
Скачать

7)Целостность реляционных данных. Ключи (потенциальные, первичные, альтернативные, внешние)

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

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

Потенциальные ключи

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

1) уникальность, т.е. нет двух различных кортежей в текущем значении переменной отношения R с одинаковым значением K;

2) неизбыточность, т.е. никакое из подмножеств K не обладает свойством уникальности.

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

Пусть R2 – отношение. Тогда внешний ключ FK в отношении R2 – это подмножество множества атрибутов R2 такое, что:

1) существует базовое отношение R1 с потенциальным ключом CK;

2) каждое значение FK в текущем значении R2 всегда совпадает со значением CK некоторого кортежа в текущем значении R1.

Отношение R1 называется родительским отношением, отношение R2 называется дочерним отношением.

8)Язык sql. Составные части. Разновидностями языка sql. Отличие от процедурных языков программирования.

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

Язык SQL (Structured Query Language – структурированный язык запросов) применяется для общения пользователя с реляционной базой данных и состоит из трех частей [8]:

  • DDL (Data Definition Language) – язык определения данных. Предназначен для создания базы данных (таблиц, индексов и т.д.) и редактирования ее схемы.

  • DCL (Data Control Language) – язык управления данными. Содержит операторы для разграничения доступа пользователей к объектам базы данных.

  • DML (Data Manipulation Language) – язык обработки данных. Содержит операторы для внесения изменений в содержимое таблиц базы данных.

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

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

  • формирование непосредственно пользователем запроса на языке SQL в интерактивном режиме (интерактивный SQL);

  • формирование запроса на языке SQL в прикладной программе (программный или встроенный SQL:

  • статическое формирование запроса (статический SQL);

  • динамическое формирование запроса (динамический SQL);

  • формирование запроса с помощью библиотек (API – интерфейсы вызова подпрограмм).

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