- •1.Информационные системы
- •2.Основные понятия теории баз данных
- •2.1.Предметная область
- •2.2.Пользователи информационной системы
- •2.3.Интеграция данных Достоинства интеграции данных
- •Проблемы, связанные с интеграцией данных
- •Функции администратора бд
- •Проектирование и развитие бд
- •3.Архитектура информационной системы
- •4.Сетевые базы данных
- •4.1.Способы упорядочения подчиненных записей
- •4.2.Режим включения подчиненных записей
- •4.3.Режим исключения подчиненных записей
- •4.4.Операции над данными
- •5.Иерархические базы данных
- •5.1.Операции над данными
- •6.Реляционные базы данных
- •6.1.Цели проектирования баз данных
- •6.2.Универсальные отношения
- •6.3.Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •6.4.Функциональные зависимости
- •6.5.Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •6.6.Общая схема проектирования баз данных
- •6.7.Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Избыточные зависимости
- •6.8.Схема проектирования баз данных методом декомпозиции
- •7.Метод проектирования бд «Сущность-связь»
- •7.1.Сущности и связи
- •Диаграмма еr–экземпляров:
- •Д иаграмма er–типа:
- •7.2.Степень связи
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Правило 4.
- •Правило 5.
- •7.3.Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •7.4.Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •7.5.Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
- •8.Постреляционные базы данных
- •8.1.Ограничения реляционных баз данных.
- •Недостатки реляционных баз данных
- •8.2.Системы управления базами данных следующего поколения
- •Абстрактные типы данных
- •Генерация систем баз данных, ориентированных на приложения
- •8.3.Ориентация на расширенную реляционную модель
- •Расширенная реляционная модель
- •9.Объектно-ориентированные субд.
- •9.1.Объектно-ориентированная парадигма.
- •Структура:
- •Целостность данных:
- •Средства манипулирования данными:
- •9.2.Анализ эффективности объектно-ориентированных баз данных Преимущества объектно-ориентированных баз данных:
- •Недостатки объектно-ориентированных баз данных:
- •9.3.Стандарт odmg.
- •Объектная модель
- •Язык описания объектов
- •Язык объектных запросов
- •Связывание с оо-языками
- •9.4.Объектные расширения реляционных субд. Язык sql-3.
- •10.Базы знаний
- •10.1.Понятие системы баз знаний.
- •10.2.Структура системы базы знаний Компоненты Системы баз знаний (сбз):
- •Экстенсиональная и интенсиональная части базы данных
- •10.3.Активные базы данных
- •10.4.Дедуктивные базы данных
- •10.5.Инструментальные средства построения систем баз знаний.
- •11.Язык sql
- •11.1.Стандарт языка доступа к бд
- •11.2.Классификация операторов sql
- •Ddl (data definition language) – операторы определения объектов бд.
- •Insert into (Вставка записей).
- •Update (Редактирование записей).
- •Delete (Удаление записей).
- •Оператор select.
- •Модификатор distinct (предотвращение выборки повторяющихся слов).
- •Order by (упорядочение строк в результате запроса).
- •Использование псевдонимов (alias).
- •11.4.Арифметические выражения.
- •11.5.Групповые функции.
- •Предложение having.
- •11.6.Вложенные запросы.
- •Подзапросы, возвращающие набор значений.
- •Подзапросы, возвращающие значения из нескольких столбцов.
- •Составные запросы с несколькими подзапросами.
- •Синхронизация повторяющихся подзапросов
- •Комбинация нескольких команд Select
- •11.7.Индексы
- •7. Метод проектирования бд «Сущность-связь» 41
- •8. Постреляционные базы данных 75
- •9. Объектно-ориентированные субд. 81
- •10. Базы знаний 87
- •11. Язык sql 93
11.1.Стандарт языка доступа к бд
SQL в настоящее время является промышленным стандартом, который в большей или меньшей степени поддерживает любая СУБД, претендующая на звание "реляционной".
Хотя SQL стандартизован, любая его версия отличается от стандарта. Бывает, что одни и те же конструкции не работают на разных платформах. Сам SQL покрывает все подмножество реляционной алгебры. И считается, что на нем можно написать любую реляционную БД.
11.2.Классификация операторов sql
Можно выделить следующие группы операторов:
Ddl (data definition language) – операторы определения объектов бд.
CREATE SCHEMA – создать схему БД,
DROP SCHEMA – удалить схему БД,
CREATE TABLE – создать таблицу,
ALTER TABLE – изменить таблицу,
DROP TABLE – удалить таблицу,
CREATE DOMAIN – создать домен,
ALTER DOMAIN – изменить домен,
DROP DOMAIN – удалить домен,
CREATE COLLECTION – создать последовательность,
ALTER COLLECTION – изменить последовательность,
DROP COLLECTION – удалить последовательность,
CREATE VIEW – создать представление,
ALTER VIEW – изменить представление,
DROP VIEW – удалить представление.
DML (data manipulate language) – операторы манипулирования данными.
SELECT – выбрать строки из таблиц,
INSERT – добавить строки в таблицы,
UPDATE – изменить строки в таблице,
DELETE – удалить строки,
COMMIT – зафиксировать внесенные изменения,
ROLLBACK – откатить внесенные изменения.
Операторы защиты и управления данными.
CREATE ASSERTION – создать ограничение,
DROP ASSERTION – удалить ограничение,
GRANT – предоставить привилегии пользователю или приложению на
манипулирование объектами,
REVOKE – отменить привилегию.
11.3.Операторы SQL
CREATE TABLE (создание таблиц)
CREATE TABLE <имя таблицы> (Имя столбца1, тип столбца1 [NOT NULL],…, Имя столбца n, тип столбца n [NOT NULL])
Тип столбца:
CHAR (m) – строка символов длиной m (240 – max),
NUMBER – числовые значения (+ или -, м.б. десятичная точка, не более 40 цифр),
NUMBER (m) – m – количество цифр (m<=40),
NUMBER (m,d) – d – количество знаков после запятой,
DATE – календарные даты.
Предположим, надо создать следующую таблицу:
Номер темы |
Название |
Бюджет |
101 |
|
250’000 |
102 |
|
175’000 |
103 |
|
95’000 |
CREATE TABLE Themes <BK>
(Theme_number NUMBER (3) NOT_NULL, <BK>, Name CHAR (10), <BK>, Budget NUMBER (8,2)); <BK>
Рассмотрим еще один пример:
SQL> CREATE TABLE Сотрудники
(Таб_номер NUMBER (6),
Фамилия CHAR (15),
Должность CHAR (15),
Руководитель NUMBER (6),
Дата_приема DATE,
Оклад NUMBER (6,2),
Премия NUMBER (5,2),
Отдел NUMBER (3));
Спецификация максимальных длин не означает обязательного соответствующего расходования физической памяти БД.
Insert into (Вставка записей).
Вставка записей в таблицу осуществляется с помощью оператора INSERT, который позволяет добавлять к таблицам одну или несколько записей. При добавлении одной записи оператор INSERT имеет формат:
INSERT INTO <имя таблицы>
(имя столбца 1… ,имя столбца n)
VALUES (значение 1,… ,значение n);
В результате выполнения этого оператора к таблице, имя которой указано после слова INTO, добавляется одна запись. Для добавления записи заполняются поля перечисленные в списке. Значения полей берутся из списка, расположенного после слова VALUES. Списки полей и списки значений должны соответствовать друг другу по числу и по типу их элементов. При присвоении значений для первого поля берется первое значение, для второго – второе и т. д. В команде INSERT можно указывать имена только тех столбцов в которые вводятся значения остальные столбцы остаются пустыми те принимают значение NULL.
Пример Добавляем информацию в таблицу ‘’Сотрудники’’:
INSERT INTO Сотрудники
VALUES (4954, 'Карпов', 'Бухгалтер', 7698, '4 NOV 86’, 120, NULL, 30);
Порядок ввода значений должен соответствовать объявленному порядку столбцов в таблице. В команде INSERT можно указывать не все столбцы, которые окажутся пустыми.
Пример:
INSERT INTO Сотрудники (ТабНомер, Фамилия, Дата приема, Отдел)
VALUES (7954, 'Волков' , ‘10 NOV 86’, 30);
