- •Банки и базы данных. Модели данных. Системы управления базами данных
- •Введение
- •Система баз данных
- •Файловые системы
- •Структуры файлов
- •Именование файлов
- •Понятие БД и СУБД
- •Система баз данных
- •Понятие СУБД
- •Уровни абстракции в СУБД. Функции абстрактных данных
- •Функции СУБД
- •Экспертные системы и базы знаний
- •Экспертные системы и базы знаний
- •Классификация баз данных
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •2) Классификация БД по организации хранения данных и обращения к ним :
- •3) Классификация БД по типу хранимой информации:
- •Свойства БД
- •Компоненты СУБД
- •Логическое и физическое описание данных
- •Компоненты банка данных
- •Требования,
- •Компоненты инфологической модели
- •ПОСТРОЕНИЕ МОДЕЛИ
- •Связи «объект - свойство»
- •Модель сущность-связь
- •Модель сущность-связь
- •Три типа бинарных связей
- •Более сложные элементы модели сущность-связь
- •Более сложные элементы модели сущность-связь
- •Диаграммы сущность- связь
- •Общие характеристики ранних систем
- •Системы, основанные на инвертированных списках
- •Структуры данных на инвертированных списках
- •Манипулирование данными
- •Иерархическая модель
- •Иерархические структуры данных
- •Ограничения целостности в иерархической модели
- •Сетевая модель
- •Сетевые структуры данных
- •Основные достоинства и недостатки ранних СУБД
- •История реляционной модели
- •Недостатки реляционной модели
- •Основные определения
- •Основные определения
- •Эквиваленты
- •Ограничения
- •Ограничения
- •Языки манипулирования данными
- •Получение реляционной схемы из ER-схемы
- •Получение реляционной схемы из ER-схемы
- •Реляционная алгебра
- •Традиционные операции
- •Специальные операции
- •Специальные операции
- •Свойства операций реляционной алгебры
- •Реляционное исчисление
- •Разница между реляционной алгеброй и реляционным исчислением
- •Алгебраическая версия этого запроса
- •Этот же запрос в терминах реляционного исчисления
- •Вывод
- •Зачем нужна нормализация
- •Нормальные формы
- •Нормальные формы
- •Определение
- •Функциональная
- •1-я нормальная форма
- •2-я нормальная форма
- •3-я нормальная форма
- •Нормальная форма Бойса- Кодда
- •4-я нормальная форма
- •5-я нормальная форма
- •Доменно-ключевая нормальная форма
- •История SQL
- •История SQL
- •Некоторые популярные диалекты SQL:
- •Достоинства языка SQL:
- •Синтаксические
- •Соглашения об именах
- •Правила создания идентификаторов
- •Константы
- •Операторы
- •Категории операторов:
- •Арифметические
- •Оператор присваивания
- •Побитовые операторы
- •Операторы сравнения
- •Логические операторы
- •Унарные операторы
- •Приоритет операторов
- •Язык определения данных
- •Типы данных
- •Типы данных
- •Типы данных
- •Создание домена
- •Изменение домена
- •Схема
- •Создание таблицы
- •Параметры
- •Изменение таблицы
- •Изменение таблицы
- •Изменение таблицы
- •Язык манипулирования данными
- •Оператор INSERT
- •Оператор UPDATE
- •Оператор DELETE
- •Оператор SELECT
- •Оператор SELECT
- •Агрегатные функции в SQL
- •Виды агрегатный функций
- •Использование агрегатных функций
- •Выполнение агрегатных функций
- •Группировка для агрегатных функций
- •Использование HAVING
- •Проекция и выборка
- •Декартовое произведение
- •Предварительные
- •Локальная автономия
- •Независимость от центрального узла
- •Непрерывное функционирование
- •Независимость от расположения
- •Независимость от фрагментации
- •Независимость от репликации
- •Обработка распределенных запросов
- •Управление распределенными транзакциями
- •Распространение
- •Распределенные базы данных и Интернет.
- •Системы типа клиент/сервер
- •Серверы баз данных
- •БАЗЫ ДАННЫХ В INTERNET
- •Обзор ПТК данного вида
- •Техническое задание на разработку структур ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Эскизный проект структуры ПО ПТК
- •Эксплуатация баз данных. Защита баз данных. Управление транзакциями. Управление параллельным доступом. Заключение.
- •Понятие восстановления системы
- •Понятие транзакции
- •Восстановление
- •Свойства АСИД
- •Восстановление после отказов системы
- •Параллелизм. Проблемы параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема несовместимого анализа
- •Понятие блокировки
- •Решение проблем параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема незафиксированной зависимости
- •Тупиковые ситуации
- •СПАСИБО ЗА ВНИМАНИЕ !
Синтаксические
конструкции SQL делятся на 4 основные категории
3.Операторы. Символы, показывающие, какое действие выполняется над одним или
1несколькими. Идентификатовыражениями,ы. Представляютчащесобойвсего в
пользовательские или системные имена
инструкциях DELETE, INSERT, SELECT или
объектов баз данных, таких, как база данных,
UPDATEтаблица,. Операторыог аничениетакжев таблице,частостолбцыприменяются
таблицы, представления и т. п.
для создания объектов базы данных.
2. Константы. Представляют собой созданные 4. Зарезервированныепользователем или системойи ключевыестроки илисловазначе .
ния, не являющиеся идентификаторами или
Имеют специальный смысл для обработчика
ключевыми словами. Константы могут кодапредставлятьSQL. Например,собой строки,SELECT,напримерGRANT,«hello»,DELETE
числа, например «1234», даты, например «1
или CREATE. Зарезервированные слова
января 2002», или булевы значения, например
(ReservedTRUE. words), обычно команды и инструкции SQL, нельзя использовать в качестве идентификаторов на данной
Соглашения об именах
Не используйте слишком очевидные префиксы
и суффикс.
Выбирайте имя так, чтобы оно было осмысленным,
Не заполняйте все пространство, отведенное
наглядным и соответствовало назначению объекта. дляИспользуйтеимени объектав именах. один и тот же регистр по
всей базе.
Не используйте идентификаторы с
Будьте последовательны в использовании
разделителями.
сокращений.
Для удобства восприятия используйте полные, наглядные и осмысленные имена с символами подчеркивания.
Не помещайте название компании и продуктов в имена объектов баз данных.
Правила создания идентификаторов
Идентификаторы должны быть уникальны в пределах своей области действия. Таким образом, в иерархии объектов имена баз данных не должны повторяться в пределах данного экземпляра сервера базы, а имена таблиц, представлений, функций, триггеров и хранимых процедур - уникальны в пределах данной схемы.
Имена столбцов, ключей и индексов должны быть уникальны в пределах одной таблицы или представления и т. д.
Константы
ТакимБулевыобразом,значения,числовыестроковыеконстантыконстантымогути даты выглядетьвыглядят примернотак. так.:
30TRUEВ SQL константами считаются любые числовые
значения, строки символов, значения, связанные с-'Hello17представлениемworld!' времени (дата и время), и булевы
-10СT853значения,38-28-81966которые22:14:30:00'не являются идентификаторами или ключевыми словами. Базы данных на основе
-6.66SQL разрешают использовать в коде SQL$70000различные константы. Допустимы большинство
числовых, символьных и булевых типов данных, а
2Е5
также даты. Например, к числовым типам данных7Е-SQL3 Server можно (среди прочих) отнести типы
INTEGER, REAL и MONEY.
Операторы
Оператор - это символ, обозначающий действие, выполняемое над одним или несколькими выражениями. Операторы наиболее часто используются в инструкциях DELETE, INSERT, SELECT или UPDATE, а также часто применяются при создании объектов базы данных, таких, как хранимые процедуры, функции, триггеры и представления.
Категории операторов:
Арифметические операторы. Поддерживаются всеми базами данных.
Операторы присваивания. Поддерживаются всеми базами данных.
Побитовые операторы. Поддерживаются Microsoft SQL Server.
Операторы сравнения. Поддерживаются всеми базами данных.
Логические операторы. Поддерживаются в DB2, Oracle, SQL Server и PostgreSQL. Унарные операторы. Поддерживаются в DB2, Oracle и SQL Server.
Арифметические
операторы
Арифметические операторы выполняют математические действия над двумя значениями любого типа, относящегося к числовой категории.
Арифметический |
Действие |
|
оператор |
||
|
||
+ |
Сложение |
|
- |
Вычитание |
|
* |
Умножение |
|
/ |
Деление |
|
|
Остаток отделения (только SQL Server). Возвращает |
|
% |
остаток от операции деления в виде целого числа |
|
|
(integer) |
Оператор присваивания
За исключением Oracle, где для этой цели применяется оператор := , оператор присваивания (=) присваивает значение переменной или псевдониму (alias) заголовка столбца. В SQL Server в качестве оператора для присваивания псевдонимов таблицам или заголовкам столбцов может служить ключевое слово
AS.
Побитовые операторы
В Microsoft SQL Server существуют побитовые операторы, являющиеся удобным средством манипулирования битами в двух выражениях целого типа (см. табл. 2). Для побитовых операторов доступны следующие типы данных: binary, hit, int,
smallint, tinyint и varbinary.
Побитовый |
Действие |
|
оператор |
||
|
||
& |
Поразрядное И (два операнда) |
|
| |
Поразрядное ИЛИ (два операнда) |
|
^ |
Поразрядное исключающее ИЛИ (два операнда) |
Операторы сравнения
Операторы сравнения проверяют равенство или |
|
||
Оператор |
Действие |
|
|
сравнения |
|
||
сравнения |
|
||
= |
|
Равно |
|
> |
|
или |
|
|
Больше |
|
|
< |
|
ANSI |
|
|
Меньше |
. |
|
>= |
значения |
||
|
Больше или равно |
|
|
<= |
|
Меньше или равно |
|
<> |
|
Не равно |
|
! = |
|
Не равно (не соответствует стандарту ANSI) |
|
!< |
|
Не меньше (не соответствует стандарту ANSI) |
|
!> |
|
Не больше (не соответствует стандарту ANSI) |
|
