- •Введение в базы данных
- •Основные понятия и определения
- •Традиционные файловые системы
- •Системы с базами данных
- •История развития субд
- •Обзор современных субд
- •Основные термины:
- •Архитектура баз данных
- •Уровни представления баз данных
- •Схемы и подсхемы бд
- •Независимость от данных
- •Модели данных
- •Архитектура баз данных и субд
- •Функции и компоненты субд
- •Понятие целостности данных
- •Компоненты субд
- •Многопользовательские субд и языки баз данных
- •Архитектура многопользовательских субд
- •Языки баз данных
- •Реляционные базы данных
- •Используемая терминология
- •Структуры данных
- •Свойства отношений
- •Реляционные ключи
- •Манипулирование данными
- •5.5.1. Специальные реляционные операции
- •5.5.2. Традиционные операции над множествами
- •Пример манипулирования данными
- •Реляционная алгебра
- •Реляционное исчисление
- •Нормализация отношений в реляционных базах данных
- •Нормализация отношений
- •Аномалии вставки
- •Аномалии удаления
- •Аномалии обновления
- •Функциональные зависимости
- •Процесс нормализации
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Проектирование реляционных баз данных
- •Подходы к проектированию бд
- •Понятия er- модели
- •Использование case-инструментов
- •Методология проектирования бд с помощью Case-инструментов silverrun
- •8.1.1. Использование silverrun-bpm
- •8.1.2. Контекстная диаграмма
- •Детализирующая диаграмма
- •8.1.4. Порядок работы с silverrun-врм
- •8.1.5. Использование silverrun-erx
- •8.1.6. Использование silverrun-rdm
- •Реляционные базы данных и субд InterBase
- •Субд InterBase, ее основные возможности и область применения
- •Типы данных
- •9.2.1. Целочисленные типы
- •9.2.2. Вещественные типы данных
- •Типы данных с фиксированной точкой
- •9.2.4. Типы данных для хранения текста
- •Типы для хранения даты и времени
- •Тип данных blob
- •Массивы
- •Язык реляционных баз данных sql
- •Sql и его история
- •Объекты реляционной базы данных
- •Операторы манипулирования данными
- •Агрегирование данных при выборке
- •Представления
- •Новые встроенные функции
- •Диалект базы данных
- •Типы с фиксированной точкой
- •Принципы физической организации баз данных
- •Безопасность данных и субд
- •Безопасность в операционной среде
- •Защита сервера
- •Безопасность на уровне базы данных
- •Файл конфигурации Firebird
- •Объектные субд
- •Сильные стороны реляционной модели субд
- •Недостатки реляционных субд
- •Недостатки оосубд
- •Заключение
- •Список литературы
Объекты реляционной базы данных
К числу основных объектов реляционных баз данных относятся таблица, представление и пользователь.
Таблица (Table) является базовой структурой реляционной базы данных. Она представляет собой единицу хранения данных - отношение. Таблица идентифицируется в базе данных своим уникальным именем, которое включает в себя идентификацию пользователя. Таблица может быть пустой или состоять из набора строк.
Представление (View) - это поименованная динамически поддерживаемая СУБД выборка из одной или нескольких таблиц базы данных. Оператор выборки ограничивает видимые пользователем данные. Обычно СУБД гарантирует актуальность представления - его формирование производится каждый раз, когда представление используется. Иногда представления называют виртуальными таблицами.
Пользователь (User) - это объект, обладающий возможностью создавать или использовать другие объекты базы данных и запрашивать выполнение функций СУБД, таких как организация сеанса работы, изменение состояние базы данных и т. д.
Для упрощения идентификации и именования объектов в базе данных поддерживаются такие объекты как синоним (алиас) и определенные пользователем типы данных.
Синоним (Alias) - это альтернативное имя объекта (псевдоним) реляционной базы данных, которое позволяет иметь доступ к данному объекту.
Определенные пользователем типы данных (User-defined data types) представляют собой определенные пользователем типы атрибутов (домены), которые отличаются от поддерживаемых (встроенных) СУБД типов. Они определяются на основе встроенных типов.
Для обеспечения эффективного доступа к данным в реляционных СУБД поддерживаются такие объекты как индекс и функция.
Индекс (Index) — это объект базы данных, создаваемый для повышения производительности выборки данных и контроля уникальности первичного ключа.
Функция (Function) - это объект базы данных, представляющий поименованный набор команд SQL и/или операторов специализированных языков обработки программирования базы данных, который при выполнении возвращает значение — результат вычислений.
Для обработки данных специальным образом или для реализации поддержки ссылочной целостности базы данных используются объекты: хранимая процедура, триггер.
Хранимая процедура (Stored procedure) — это объект базы данных, представляющий поименованный набор команд SQL.
Триггер (Trigger) - это объект базы данных, который представляет собой специальную хранимую процедуру. Эта процедура запускается автоматически, когда происходит связанное с триггером событие (например, до вставки строки в таблицу).
Данные объекты реляционной базы данных представляют собой программы, т.е. исполняемый код. Этого код обычно называют серверным кодом (server-side code), поскольку он выполняется компьютером, на котором установлена СУБД. Планирование и разработка такого кода является одной из задач проектировщика реляционной базы данных.
Для эффективного управления разграничением доступа к данным в Interbase/Firebird поддерживается объект роль.
Роль (Role) — это объект базы данных, представляющий собой поименованную совокупность привилегий, которые могут назначаться пользователям, категориям пользователей или другим ролям.
Таблица 24 содержит список команд SQL в соответствии с принятым стандартом, за исключением некоторых практически не используемых в диалекте СУБД Firebird команд.
Таблица 24: Список команд языка SQL
Команда |
Описание |
Команды определения данных |
|
ALTER TABLE |
Изменяет описание таблицы (схему отношения) |
ALTER EXCEPTION |
Изменяет текст сообщения об ошибке |
ALTER DOMAIN |
Изменяет описание домена |
ALTER INDEX |
Активирует или деактивирует существующий индекс |
CREATE INDEX |
Создает индекс для таблицы |
CREATE TABLE |
Определяет таблицу |
CREATE DOMAIN |
Создает в базе данных описание столбца |
CREATE EXCEPTION |
Создает исключение — определяемую пользователем ошибку со связанным с ней сообщением |
CREATE TRIGGER |
Создает триггер в базе данных |
CREATE VIEW |
Определяет представление на таблицах |
DROP INDEX |
Физически удаляет индекс из баз данных |
DROP TABLE |
Физически удаляет таблицу из базы данных |
DROP VIEW |
Удаляет представление |
Команды манипулирования данными |
|
DELETE |
Удаляет одну или более строк из таблицы базы данных |
INSERT |
Вставляет одну или более строк в таблицу баззы данных |
UPDATE |
Обновляет значения колонок в таблице базыы данных |
Команды выборки данных |
|
SELECT |
Выполняет запрос на выборку данных из таблиц и представлений |
UNION |
Объединяет в одной выборке результаты выполнения двух или более команд SELECT |
Команды управления транзакциями |
|
COMMIT |
Завершает транзакцию и физически актуализирует состояние базы данных |
ROLLBACK |
Завершает транзакцию и возвращает текущее состояние базы данных на момент последней завершенной транзакции и контрольной точки |
Команды управления данными |
|
ALTER DATABASE |
Изменяет группы хранения или журналы транзакций |
CREATE DATABASE |
Физически создает базу данных |
DROP DATABASE |
Физически удаляет базы данных |
GRANT |
Определяет привелеги пользователей и разграничение доступа к базе данных |
REVOKE |
Отменяет привилегии пользователей и разграничения доступа к базе данных |
Набор команд SQL, перечисленный в таблице, не является полным. Этот список приведен, чтобы составить представление о возможностях SQL в целом. Для получения полного списка команд следует обратиться к соответствующему руководству для конкретной СУБД. Следует помнить, что SQL является единственным средством общения всех категорий пользователей с реляционными базами данных.
Таблица 25 содержит список внутренних функций SQL, доступных в Firebird.
Таблица 15: Внутренние функции SQL
Функция |
Тип |
Назначение |
CAST() |
Преобразование |
Преобразует столбец из одного типа данных в другой |
EXTRACT() |
Преобразование |
Выделяет части даты и времени (год, месяц, день и т.д.) из значений DATE, TIME и TIMESTAMP |
SUBSTRING() |
Строка |
Отыскивает последовательность символов в строке |
UPPER() |
Строка |
Преобразует символы в строке в верхний регистр |
GEN_ID() |
Генерация |
Возвращает значение генератора |
AVG() |
Агрегат |
Вычисляет среднее значение набора значений |
COUNT() |
Агрегат |
Возвращает количество строк, которые удовлетворяют условию поиска запроса |
MAX() |
Агрегат |
Отыскивает максимальное значение в наборе значений |
MIN() |
Агрегат |
Отыскивает минимальное значение в наборе значений |
SUM() |
Агрегат |
Суммирует значения в наборе числовых значений |
