
- •Для чего нужны базы данных? Основные термины и определения. Компоненты субд.
- •Системы, основанные на файлах. Свойства, недостатки и пути их устранения.
- •Основные типы данных и их классификация. Модели данных и их компоненты. Типы моделей субд.
- •Методы доступа к данным. Поиск по дереву. Хеширование.
- •Назначение модели «сущность-связь». Элементы модели «сущность-связь».
- •Обор нотаций, используемых при построении диаграмм «сущность-связь». Нотация Чена
- •Нотация idef1x
- •Нотация Баркера
- •Иерархическая модель данных. Структура данных. Операции над данными. Ограничения целостности.
- •Сетевая модель данных. Структура данных. Операции над данными. Ограничения целостности.
- •10. Реляционная модель данных. Структура данных. Отношения. Свойство отношений.
- •Целостность реляционных данных. Null – значения. Трехзначная логика. Потенциальные ключи. Целостность сущностей.
- •Целостность реляционных данных. Внешние ключи. Родительские и дочерние отношения. Целостность внешних ключей.
- •Целостность реляционных данных. Операции, влияющие на целостность внешних ключей. Стратегии поддержания ссылочной целостности.
- •Этапы разработки баз данных. Критерии оценки качества логической модели данных.
- •15. Нормальные формы отношений. Первая нормальная форма (1нф). Аномалии обновления 1нф.
- •1Нф (Первая Нормальная Форма)
- •Третья нормальная форма (3нф). Сравнение нормализованных и ненормализованных моделей данных. Oltp и olap-системы.
- •Нормальная форма Бойса-Кодда (нфбк).
- •Многозначная зависимость. Четвертая нормальная форма (4нф).
- •Зависимость соединения. Пятая нормальная форма (5нф).
- •Обзор реляционной алгебры. Замкнутость реляционной алгебры. Отношения, совместимые по типу. Оператор переименования атрибутов.
- •Операции реляционной алгебры: объединение, пересечение, вычитание.
- •Операции реляционной алгебры: декартово произведение, выборка, проекция.
- •Операции реляционной алгебры: соединение, разновидности соединения, общая операция соединения, тэта-соединение.
- •Операции реляционной алгебры: соединение, разновидности соединения, экви-соединение, естественное соединение.
- •Операции реляционной алгебры: деление.
- •27.Язык sql. История развития. Структура языка. Типы данных sql.
- •Язык sql. Операторы создания и модификации схемы базы данных (database, table). Примеры написания операторов.
- •Язык sql. Операторы создания индексов. Операторы управления правами доступа. Примеры написания операторов
- •Язык sql. Команды модификации данных, условия отбора записей. Примеры написания операторов.
- •31.Язык sql. Оператор select. Синтаксис оператора, простые формы оператора, условия отбора записей. Примеры написания операторов.
- •32.Язык sql. Выборка из нескольких таблиц, синтаксис соединения таблиц. Примеры написания операторов.
- •33. ЯзыкSql. Использование алиасов и псевдонимов, вложенные запросы (подзапросы). Примеры написания операторов.
- •34.ЯзыкSql.Вычисления внутри оператора, группировка данных, сортировка данных, операция объединения. Примеры написания операторов
- •Оператор select. Формальный порядок выполнения оператора select. Как на самом деле выполняется оператор select.
- •37.ЯзыкSql. Использование представлений (View). Изменение данных в представлениях. Хранимые процедуры. Триггеры.
- •38.Транзакции, блокировки и многопользовательский доступ к данным.
- •1. Концептуальное проектирование;
- •2. Логическое проектирование;
- •3. Физическое проектирование.
- •41.Концептуальное моделирование. Пример построения модели «сущность-связь».
- •43.Проектирование реляционной базы данных на основе декомпозиции универсального отношения.
- •44.Создание приложений, работающих с базами данных при помощи языка sql. Общие подходы. Специализированные библиотеки доступа. Cli-интерфейс уровня вызова.
- •46.Архитектура "клиент-сервер". Структура сервера базы данных.
Для чего нужны базы данных? Основные термины и определения. Компоненты субд.
Информационная система требует создания в памяти ЭВМ динамически обновляемой модели внешнего мира с использованием единого хранилища - базы данных.
Предметная область - часть реального мира, подлежащая изучению с целью организации управления и автоматизации.
Обновляемая означает, что соответствие базы данных текущему состоянию предметной области обеспечивается не периодически, а в режиме реального времени.
Отличительной чертой баз данных следует считать то, что данные хранятся совместно с их описанием, а в прикладных программах описание данных не содержится. Независимые от программ пользователя данные обычно называются метаданными.
Система управления базой данных (СУБД) - важнейший компонент информационной системы. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор.
СУБД содержит следующие компоненты:
- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;
- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
- сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Системы, основанные на файлах. Свойства, недостатки и пути их устранения.
Рассмотрим в общих чертах идею построения систем, основанных на файлах.
Допустим, что мы планируем создать программу, хранящую сведения об именах и днях рождений наших сотрудников. Получивший задание программист поступает следующим образом.
Во-первых, он готовит структуру, подходящую для хранения указанных данных. Для этого программист просматривает список персонала и выясняет максимальное число символов в фамилии, имени и отчестве (допустим, это значения: 20, 15 и 15 байтов). Затем программист выделяет какое-то число байтов для хранения даты (пусть это будет 8 байтов). Узнав все необходимые размерности, разработчик описывает структуру непосредственно в коде программы.
Во-вторых, программист разрабатывает процедуры, осуществляющие основные операции по работе с файлом. Как минимум это добавление новой записи, редактирование, удаление и чтение записи. Ни одну из этих операций невозможно осуществить без знания размерности и состава полей исходной структуры.
При вставке новой строки в файл к нему следует добавить 20+15+15+8=58 байтов, причем процедура добавления должна знать, что фамилия начинается с 1-го байта, имя с 21-го и т. д. При просмотре файла необходимо осуществлять последовательные операции чтения порциями по 58 байтов, опять же процедура чтения должна иметь информацию, сколько байт отводится тому или иному полю. Операции редактирования и удаления не являются исключением из правил и также нуждаются в знаниях об исходной структуре. Эти сведения искать не нужно — все данные о составе полей нашей программе хорошо известны, ведь описание структуры спрятано внутри нее.
Недостатки систем:
- зависимость от данных
- несовместимость файлов
- разделение и изоляция файлов
- разрастание количества приложений
- избыточность данных
Пути устранения недостатков:
Во-первых, разработчики в принципе отказались от хранения физической структуры данных в коде приложений. Вместо этого описание данных стали выносить в отдельное хранилище, называемое системным каталогом (systemcatalog).Таким образом, во всех современных БД помимо собственно хранимых в них данных еще имеются метаданные.
Во-вторых, стали предпринимать активные попытки стандартизировать способы описания и хранения данных. Наличие стандарта, единого для всех разработчиков, значительно упростило доступ к данным.
В-третьих, возникла необходимость создания единого универсальногоязыка, позволяющего производить с данными наиболее важные операции: (вставки, редактирования, удаления и просмотра).