Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_БД.doc
Скачиваний:
16
Добавлен:
11.11.2019
Размер:
2.89 Mб
Скачать

Язык запросов в sql.

1. Отображение:

Select A1…An

from R

Where B1θ1b1…Bmθmbm

Выражение, следующее за where, может содержать атрибуты отношения, арифметические операции сравнения, булевские связки and, not, or, может содержать операции над множествами (union – , intersect – ∩, minus – /), операции принадлежности множеству (X in R, R contain X, R does not contain X, X not in S). Во всех этих операциях X – элемент множества, или кортеж, или множество.

  1. Выражение, следующее за where может содержать операнды, которые представляют собой отношения, сформированные другим предложением select _ from _ where.

  2. SQL может оперировать не только одним отношением в предложении from. На значение атрибута любого из отношений, указанных в предложении from, может ссылаться как в select, так и в where. Если А является атрибутом более одного отношения, то пишут R.А, указывая тем самым, что имеется в виду атрибут А из отношения R.

При наличии в запросе предложения from R1,…,Rn будут рассматриваться все списки t1,…,tn кортежей, где tiRi. Если данный список удовлетворяет условиям, указанным в предложении where, в результат оператора включается список компонентов, специфицированных в предложении select.

Операторы включения, удаления, модификации в SQL являются синтаксически улучшенной версией соответствующих операторов SQUARE.

2. Операция обновления:

Update имя_БД

Set <выражение1>

Where < выражение2 >

– обновление одной таблицы.

3. Операция удаления:

Delete имя_БД

Where

В – удаляет записи БД, удовлетворяющие условию.

Delete имя_БД – таблица есть, но она пустая.

Все операции SQL сами открывают БД.

4. Дополнение БД.

Дополняемая БД может быть не открыта, а после дополнения она остается открытой и активной.

1) Insert into <имя_БД> [(<поле1> [,<поле2> [,…]])]

Values (<выражение1> [,<выражение2> [,…]])

Добавляем записи в конец существующей БД; значение <вырi> записывается в <полеi>; если <полеi> опущено, то значение <вырi> записывается в поля в соответствии со структурой.

  1. Insert into <имя_БД> from array {из мн-ва}

<массив> from memvar {из врем. пер-х}

Временные переменные должны существовать и иметь имена полей = имени поля БД, но первая буква M. Такие переменные вырабатываются по команде Scatter memvar.

5. Операция создания БД:

Create dbf <имя dbf -файла>

(<имя поля> <тип> [(<размер>[,<дробный р-р>]

[,<имя поля>]]) / From array <массив>

массив из 4-х столбцов и строк = числу полей

Тип: C,N,D,M,F,L.

fix пл. точк.

Массив, соответствующий описанию полей, создается функцией Afields ( ) (при открытой БД).

Защита баз данных.

Защита данных в БнД – это решение двух проблем:

1) ограничение целостности данных;

2) секретность данных.

Проблема целостности данных заключается в обеспечении соответствия данных, хранящихся в БД, реальному текущему состоянию ПО. Логические ограничения, накладываемые на данные, называются ограничениями целостности. Ограничение целостности – это свойство, которое для данного множества или отношения либо истинно, либо ложно. Это значение должно сохраняться для каждого возможного значения, в котором находится объект. Существует 3 основных вида ограничений целостности:

  1. Внутренние (структурные) – те ограничения, которые лежат в основе структуры БД. Например, РМД присуще внутреннее ограничение, что сущности и связи между сущностями представлены в виде отношений (таблиц).

  2. Явные (семантические) ограничения целостности или утверждения.

  3. Ограничения, вводимые на основе внутренних и явных. Это подразумеваемые.

Семантические ограничения делятся на 2 вида:

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

  2. Показывает связь между атрибутами одного отношения. Записывается в виде функциональной зависимости.

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