- •Основные понятия и определения баз данных и знаний (бдз)
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Основы реляционной алгебры
- •Термины и определения реляционных бд
- •Основные термины, используемые при нормализации данных
- •Первая, вторая, третья нормальные формы
- •Вторая нормальная форма
- •Третья нормальная форма
- •9. Нормальная форма Бойса-Кодда, четвертая и пятая нф
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Проектирование связей между таблицами
- •11. Типы информационных моделей
- •Концептуальные и логические модели данных
- •Физические модели данных
- •Файловые структуры организации данных
- •Разрешение коллизий с помощью области переполнения
- •Разрешение коллизий методом свободного замещения
- •Индексные файлы и файлы с плотным индексом
- •Файлы с неплотным индексом
- •Иерархическая организация памяти
- •Организация кэш памяти
- •Алгоритм замещения lru и случайный алгоритм
- •Организация основной памяти
- •Виртуальная память
- •Бд и cals технологии
- •Системный подход при разработке многопользовательских ис
- •Стандартизация разработки ис
- •Организация многопользовательских субд
- •Разработка проекта субд в соответствии с тз в техническом задании необходимо:
- •Основные компоненты су реляционными бд
- •Язык запросов sql
- •Ddl (Data Definition Language) — операторы определения данных.
- •Язык определения данных
- •Язык манипулирования данными
- •Язык управления данными
- •Язык обработки транзакций
- •Язык управления курсором
- •Формат команды select
- •Простые запросы
- •Выборка по условию
- •Выборка на основе between …. And
- •Выборка на основе like, in
- •Сортировка строк
- •Группировка строк
- •Вычисляемые выражения и статистические функции
- •Выборка групп
- •Формализация знаний
- •Продукционная модель представления знаний
- •Исчисление предикатов первого порядка 1 вариант ответа:
- •2 Вариант ответа:
- •Семантическая сеть
Разработка концептуальной модели многопользовательской СУБД
Концептуальная модель — это модель, представленная множеством понятий и связей между ними, определяющих смысловую структуру рассматриваемой предметной области или её конкретного объекта.
Разработка концептуальной модели многопользовательской СУБД подразумевает разработку диаграмм и схем, которые не учитывают особенности конкретной СУБД.
По концептуальной диаграмме можно построить физическую диаграмму, которая уже будет учитывать такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п. на физическом уровне каждая сущность представляет собой таблицу базы данных, каждый атрибут становится колонкой соответствующей таблицы.
Для проектирования концептуальной модели используют ER – диаграммыe:
Для единообразия программирования баз данных введены следующие понятия для концептуальных баз данных:
Объект или сущность. Это фактическая вещь или объект (для людей) за которой пользователь (заказчик) хочет наблюдать. Например, Иванов Иван Иванович;
Атрибут это характеристика объекта, соответствующая его сущности. Например. Задаем себе вопрос: Какую информацию нужно хранить об Иванове Иване Ивановиче? Ответы на этот вопрос и будут атрибуты объекта Иванов Иван Иванович;
связь или отношения между объектами.
Разработка проекта субд в соответствии с тз в техническом задании необходимо:
Обосновать выбор архитектуры ЛВС и архитектуры БД
Обосновать выбор программной системы для разработки СУБД
Разработать требования к формам выходных документов, учитывая специфику каждого пользователя
Разработать требования к созданию пользовательского интерфейса с учетом задач каждого пользователя
Разработать требования к организационному обеспечению СУБД, определить права доступа пользователей к БД и ее компонентам в процессе заполнения таблиц БД и в процессе получения информации
На этапе этапе проектирования БД необходимо выполнить следующее :
Сбор, анализ и подготовка исходной информации об объектах конкретной предметной области
Разработка оптимального состава и структуры таблиц БД
Установление логических связей между таблицами
Разработка необходимого числа запросов для реализации задачи
Разработка необходимого числа отчетов
Разработка форм интерфейса
Разработка управляющих модулей, автоматизирующих работу пользователя с системой
Реализация проекта и разработка технической документации:
Заполнение таблиц БД информацией об объектах
Проверка функционирования СУБД при выполнении поставленных задач
Разработка инструкций для пользователей
Сдача системы заказчику
Основные компоненты су реляционными бд
Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Современная СУБД содержит следующие компоненты:
ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;
процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Проект СУБД должен содержать, как минимум, следующие основные компоненты:
таблицы
запросы
формы
отчеты
управляющие программы (для создания скриптов и автоматизации)
Основные действия, которые пользователь может выполнять с помощью СУБД:
создание структуры БД;
заполнение БД информацией;
изменение (редактирование) структуры и содержания БД;
поиск информации в БД;
сортировка данных;
защита БД;
проверка целостности БД.
Язык запросов sql
SQL — это структурированный язык запросов, созданный для того, чтобы получать из базы данных необходимую информацию. Если описать схему работы SQL простыми словами, то специалист формирует запрос и направляет его в базу. Та в свою очередь обрабатывает эту информацию,
«понимает», что именно нужно специалисту, и отправляет ответ.
SQL-запросы обращаются к данным в виде таблиц, то есть к реляционным базам данных.
Основные понятия реляционной модели:
Отношение — это сама таблица, она двумерная и состоит из столбцов и строк.
Атрибут — столбец в таблице, который содержит один конкретный параметр: название, тип, дату, стоимость или другую характеристику.
Домен — это допустимые значения для каждого атрибута. Например, в столбце «Имя» или «Название» значения должны представлять собой набор буквенных символов, но они не могут начинаться с «ь» или «ъ» и не могут быть записаны числами.
Кортеж (строка или запись) — это табличная строка с порядковым номером, в которой содержится информация об одном конкретном объекте.
Значение — элемент таблицы, который находится на пересечении столбцов и строк.
Ключ — это самый важный столбец в таблице, за счет этих значений и происходит взаимодействие в реляционной базе данных, он связывает таблицы между собой.
Операторы в SQL делятся на несколько групп в соответствии с задачами, которые они решают.
Ddl (Data Definition Language) — операторы определения данных.
Они работают с объектами, то есть с целыми таблицами.
CREATE — создание объекта в базе данных
ALTER — изменение объекта
DROP — удаление объекта
DML (Data Manipulation Language) — операторы манипуляции данными. Эти операторы уже работают с содержимым таблиц — строками, атрибутами и значениями.
SELECT — выборка данных в соответствии с условием
INSERT — добавление новых данных
UPDATE — изменение существующих данных
DELETE — удаление данных
DCL (Data Control Language) — оператор определения доступа к данным. Он определяет, кто из пользователей может отправлять запросы к базе, менять объекты и значения.
GRANT — предоставление доступа к объекту
REVOKE — отзыв ранее выданного разрешения
DENY — запрет, который является приоритетным над разрешением
TCL (Transaction Control Language) — язык управления транзакциями. Транзакции — это набор команд, которые выполняются поочередно. Если все команды выполнены, транзакция считается успешной, а если где-то произошла ошибка — транзакция откатывается назад, отменяя все выполненные команды.
BEGIN TRANSACTION — обозначение начала транзакции
COMMIT TRANSACTION — изменение команд внутри транзакции
ROLLBACK TRANSACTION — откат транзакции
SAVE TRANSACTION — указание промежуточной точки сохранения внутри транзакции
Язык определения данных
Язык определения данных (Data Definition Language), предназначен для описания данных на разных уровнях абстракции: внешнем, логическом и внутреннем. Группа команд позволяет создавать данные, создавать, изменять и уничтожать БД и записи внутри них.
CREATE - создает объекты базы данных (таблицы, представления и т.д.)
ALTER - Изменяет структуру и объекты базы данных
DROP - Удаляет объекты базы данных
TRUNCATE - Удаляет все записи из таблицы
COMMENT - Добавляет комментарии в словарь данных
RENAME - Переименовывает объект (alter table <old_name> rename to <new_name>
Язык манипулирования данными
Язык манипулирования данными (Data Manipulation Language) используется для обработки данных, их преобразований и написания программ. DML может быть базовым или автономным. Команды, позволяющие осуществлять операции с записями непосредственно.
SELECT - Возвращает данные из базы данных
INSERT - Вставляет данные в таблицу
UPDATE - Обновляет существующие данные в таблице
DELETE - Удаляет все записи в таблице
MERGE - UPSERT операция (insert или update)
CALL - вызов подпрограммы PL/SQL или Java
EXPLAIN PLAN - Предоставляет план запроса
LOCK TABLE - Управление параллелизмом
А)Базовый язык DML — это один из традиционных языков программирования (BASIC, C, FORTRAN и др.). Системы, которые
используют базовый язык, называют открытыми. Использование базовых языков как языков описания данных сужает круг лиц, которые могут непосредственно обращаться к БД, поскольку для этого нужно знать язык программирования. В таких случаях для упрощения общения конечных пользователей с БД предполагается язык ведения диалога, который значительно проще для овладения, чем язык программирования.
Б)Автономный язык DML — это собственный язык СУБД, который дает возможность выполнять различные операции с данными. Системы с собственным языком называют закрытыми.
Язык управления данными
Язык управления данными (Data Control Language). Язык управления привилегиями. Команды управления данными позволяют управлять доступом к информации, находящейся внутри БД. Как правило, используется для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями.
GRANT - Дает пользователю привелегии доступа к базе данных и ее объектам
REVOKE - Забирает у порльзователя привелегии данные командой GRANT
DENY — явный запрет для пользователя;
Язык обработки транзакций
Транзакция — это осуществление одного или нескольких изменений базы данных. Например, если вы создаете, обновляете или удаляете запись из таблицы, вы выполняете в этой таблице транзакцию. Важно контролировать транзакции, чтобы обеспечить целостность данных и обрабатывать ошибки базы данных.
Для управления транзакциями используются следующие команды:
COMMIT - Сохраняет изменения
SAVEPOINT - Определяет точку транзакции до которой потом можно откатиться
ROLLBACK - Восстанавливает базу данных на момент последней операции COMMIT. Откатывает транзакцию
SET TRANSACTION - Изменяет опции транзакции, такие как: уровень изоляции и какой сегмент отката использовать
Команды управление транзакциями используются только для DML команд: INSERT, UPDATE, DELETE. Они не могут использоваться при создании таблиц или их удалении, поскольку эти операции автоматически фиксируются в базе данных
Язык управления курсором
Язык управления курсором (Cursor Control Language) - операторы, позволяющие контролировать положение курсора в таблице (табличный указатель)
DECLARE CURSOR - Применяется для определения курсора для запроса
EXPLAIN - Применяется для описания плана запроса. Этот оператор представляет собой расширение SQL для Microsoft SQL Server 7.0. Он не обязан выполняться в других СУБД. Например, в случае Oracle следует использовать оператор EXPLAIN PLAN
OPEN CURSOR - Применяется для открытия курсора при получении результатов запроса
FETCH - Применяется для получения строки из результатов запроса
CLOSE CURSOR - Применяется для закрытия курсора
PREPARE - Применяется для подготовки оператора SQL для выполнения
EXECUTE - Применяется для выполнения оператора SQL
DESCRIBE - Применяется для описания подготовленного запроса