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

Элементы реляционной модели.

Для любой реляционной модели выполняются 3 условия

  1. Данные в базе воспринимаются как таблицы.

  2. Обеспечивается целостность данных.

  3. Имеются специальные операторы для работы с данными.

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

  1. Все строки таблицы уникальны.

  2. Имена столбцов различны.

  3. Значения столбцов простые.

  4. Все строки имеют структуры соответствующую типам столбцов.

  5. Порядок размещения срок произвольный.

Атрибуты- это заголовки столбцов или свойство сущности.

Сущность- это объект данные о котором хранятся в базе.

Кортеж- строка таблиц. Схема отношения, список имен атрибутов. ( товары(Код товара, наименование, количество, цена за единицу)).

Код товара

наименование

количество

Цена за единицу

1

с ахар

100

20.00

2

молоко

50

18.00

картеж атрибуты вся таблица это отношение

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

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

2. ускорение выполнения запросов.

3. установление связей между отдельными таблицами.

4. использование ограничений ссылочной целостности.

Первичным ключом не могут быть поля с типами OLE (графический объект) и MEMO( текст неопределенной длинны).

Индекс- аналогичен ключу, но в отличии от него допускает повторение значений.

1. Для увеличения скорости доступа к данным.

2. для сортировки записей.

3. для установления связей между таблицами.

4. для установления ограничений ссылочной целостности.

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

Методы и способы доступа к данным.

Существует 3 метода.

  1. Последовательный.

  2. Прямой.

  3. Индексно-последовательный.

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

При прямом методе. Переход на нужную запись происходит по ссылке из индексного файла.

При индексно-последовательном на основании значений в индексном файле происходит отбор группы записей.

СУБД автоматически определяет какой метод поиска использовать.

Существует 2 способа к данным.

  1. Реляционный. Основан на обработке группы записей. В группу включаются записи на основании запроса на языке SQL . способ реализуется при помощи компонента QUERY.

  2. Навигационный. В этом свойстве обрабатываются все записи таблицы. Реализуется при помощи компонента Table.

Связи между таблицами

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

Подчиненные таблицы.

Ключ связи также называют внешним ключом. Для него рекомендуется создавать индексный файл.

Существуют следующие виды связей.

Один к одному, один ко многим и многие ко многим.

Связь 1:1

Означает что одной записи главной таблицы может соответствовать только одна или не одной подчиненной.

Один ко многим

Нет места когда одной записи главной таблицы может соответствовать несколько или не одной подчиненной.

Многие ко многим

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

Контроль целостности связей

Означает анализ содержимого 2 таблиц на соблюдение следующих правил.

  1. Каждая записи главной таблицы соответствуют несколько или не одной подчиненной.

  2. Подчиненные таблицы нет записей у которых отсутствует родитель.

  3. Каждая запись подчиненной таблицы может иметь только одну родительскую.

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

Бизнес правила.

Реализуют следующие ограничения.

  1. Задание допустимого диапазона значений.

  2. Задание значения по умолчанию.

  3. Требование уникальности значения.

  4. Запрет пустого значения.

  5. Ограничение ссылочной целостности.

Язык SQL

Выборка данных

Оператор выбора Select

Select[предикат] список атрибутов.

(Откуда) FROM список таблиц.

[Where условие отбора]

[Group By список атрибутов

[Having условие для группы]]

[ORDER By список полей]

[Union Selct…];

Имена полей которые содержат пробелы или спец символы заключаются в квадратные скобки. Для выбора всех полей используется * .

Например отобрать все записи из таблицы сотрудники

Select * FROM Сотрудники;

Select Фамилия, Имя From Сотрудники.

Задать другое имя для поля или создать вычисляемое поле с определенным именем используется зарезервированное слове As

Select[Дата рождения] As Рождение FROM Сотрудники;

Определить цену товара если она увеличится на 10%.

Select Название, Цена As [Текущая цена], цена*1.1 As [Новая цена] From Товары;

Для отбора записей удовлетворяющих условию используется приложение WHERE условие.

Условие является логическим выражением. Для формирования условий используется операция отношения (>,<,=,<>,>=,<=) кроме этого используются операция

  1. Like сравнение по шаблону. Эту операцию можно использовать только для символьных полей. В зависимости от версии SQL, в шаблоне можно использовать * или (%) для замещения одного символа ? или (_).

  2. NOT отрицание.

  3. Is Null проверка на пустое значение. (Is NOT Null)

  4. In проверка на вхождение. Для операции In элементы списка перечисляются в скобках через запятую.

  5. Between проверка на вхождение в диапазон. Указывается(Between) нижняя и (AND)верхняя граница.

Select * FROM Сотрудники

Where [заработная плата] Between 5000 AND 10000;

Отобрать всех студентов начинающихся на букву П.

Select * FROM Студент Where Фамилия Like ‘П*’;

С таблицы товары отобрать товары у которых не определена цена

Select * FROM Товары

Where Цена IS NULL;

Из таблицы заказы отобрать все записи у которых страна получателя не США и не Канада.

Select * FROM Заказы

Where [Страна получателя] NOT In(‘США’ , ’Канада’);

При формировании условия можно использовать логические операции И(AND), ИЛИ (OR). Даты в условии отбора должны заключаться в # и Американском формате. #mm/dd/gggg#

Отобрать все заказы на дату

Select * FROM Заказы

Where Дата =#02/03/2012#;

Можно использовать функцию DateValue. Параметр функции содержит дату в символьном виде в формате определенном в операционной системе.

Select * FROM Заказы

Where Дата = DateValue (‘02/03/2012’);