- •Базы Данных
- •Первичные и вторичные ключи
- •Реляционные отношения между таблицами
- •Реляционные отношения между таблицами
- •Реляционные отношения между таблицами
- •Реляционные отношения между таблицами
- •Ссылочная целостность
- •Индексы
- •Нормализация таблиц бд
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Транзакции
- •Visual Fox Pro. Типы полей. Ограничения. Типы полей
- •Временные переменные Удаление временных переменных
- •Просмотр переменных
- •Структура команд FoxPro. Правила записи
- •Команды установки управление статус-строкой
- •Установка типа даты
- •Управление редактированием таблицы
- •Константы различных типов
- •Функции субд
- •Арифметические функции
- •Степенные функции
- •Тригонометрические функции
- •Создание файла бд
- •Добавление таблиц в базу данных
- •Освобождение таблицы
- •Открытие базы данных
- •Browse-окно
- •Управление доступом к полям базы
- •Отбор данных
- •Вычисляемые поля
- •Разделение окна
- •Конфигурирование browse-окна
- •Change/edit-окно
- •Перемещения в базе данных
- •Просмотр данных
- •Удаление данных
- •Изменение данных
- •Фильтрация данных
- •Ограничение на количество строк
- •Ограничение на количество полей
- •Индексирование баз данных
- •Создание индекса
- •Открытие индексного файла
- •Замена текущего индекса
- •Перестройка индексных файлов
- •Преобразование однойндексного файла в тег
- •Удаление тега из мультииндексного файла
- •Вывод на экран имен индексных файлов и имен тегов
- •Команды ввода-вывода
- •Простейшие команды вывода
- •Универсальная команда ввода-вывода
- •Команды для работы с переменными
- •Сохранение переменных
- •Загрузка переменных в оперативную память
- •Просмотр переменных
- •Удаление переменных
- •Команды управления
- •Команды циклов
- •Цикл по условию
- •Фиксированный цикл
- •Цикл сканирования
- •Световое меню
- •Типы логических моделей
- •1.2.1. Иерархическая модель
- •1.2.2. Сетевая модель
- •1.2.3. Реляционная модель
- •Модульность программ
- •Внешние процедуры
- •Вызов внешней процедуры
- •Команда описания заголовка процедуры
- •Команда восприятия параметров
- •Команда окончания процедуры
- •Команда возврата
- •Второй этап проектирования базы данных: определение взаимосвязей между сущностями
- •Третий этап проектирования базы данных: задание первичных и альтернативных ключей
- •Четвертый этап проектирования базы данных: приведение модели к требуемому уровню нормальной формы
- •Пятый этап проектирования базы данных: физическое описание модели
- •Модификация структуры таблицы
- •Работа с несколькими базами
- •Понятие о рабочих областях
- •Связь вида одна-с-одной
- •Связь вида одна-ко-многим.
Индексы
По определениям ключей СУБД автоматически строит индексы, которые представляют собой механизмы быстрого доступа к хранящимся в таблицах данным.
Сущность индексов состоит в том, что они хранят отсортированные значения индексных полей (т.е. полей, по которым будет осуществляться поиск и по которым построен индекс) и указатель на запись в таблице.
Значения полей в индексе сортируются по возрастанию, что существенно ускоряет поиск нужных значений.
Если, например, нужно выбрать все записи с наименованием товара «свекла», нет нужды просматривать всю таблицу. Достаточно найти в индексе, построенном по столбцу наименование товара, первый указатель на запись, содержащую товар – свекла, и считать из таблицы эту запись, а затем повторить то же самое для всех иных указателей в индексе на записи с товаром «свекла».
Поскольку значения полей отсортированы, поиск первого указателя осуществляется специальными методами быстрого поиска и реализуется значительно быстрее, чем если бы поиск шёл по неотсортированным полям таблицы.
Такой метод доступа к записям таблицы называют индексно-последовательным, потому что:
Поиск ведётся по индексу, а не по таблице.
Доступ начинается с первой строки, удовлетворяющей условию запроса или его части.
Строки в индексе, начиная с первой найденной записи, просматриваются последовательно.
В том случае, если в условия запроса входят поля, по которым не построено индексов, ищется иной пригодный индекс, а если такого индекса нет, производится последовательный перебор записей таблицы БД.
Нормализация таблиц бд
При проектировании структуры новой БД, определяют сущности (объекты, события, явления) предметной области, которые должны найти своё отражение в БД. Анализ предметной области обычно осуществляется на основании известных сведений о ней с учетом цели проектирования программной системы. В результате анализа создается проект БД. Существует специальные программные комплексы (называемые CASE-средствами), которые в значительной мере автоматизируют процесс создания проекта БД.
Процесс проектирования БД в немалой степени зависит от опыта и интуиции разработчика, то есть является творческим. Однако некоторые его моменты можно формализовать. Одной из таких формализаций является требование, согласно которому реляционная БД должна быть нормализована.
Процесс нормализации имеет своей целью устранение избыточных данных и заключается в приведению к 3-ей нормальной форме.
Первая нормальная форма
Для таблицы будут выполнены условия первой нормальной формы, если:
• каждое поле (концептуальное требование) неделимо;
• отсутствуют повторяющиеся поля или группы полей.
Если перечисленные выше условия выполняются, то все концептуальные требования могут быть сведены либо в одну общую таблицу, либо можно создать по одной таблице для каждого структурного подразделения.
Вторая нормальная форма
Условия второй нормальной формы:
• выполняются условия первой нормальной формы;
• первичный ключ однозначно определяет всю запись;
• все поля зависят от первичного ключа;
• первичный ключ не должен быть избыточным.
Сохраняя первичные и альтернативные ключи, назначенные на третьем этапе, назначаем, при необходимости, дополнительные первичные и внешние ключи, в результате чего выделяем из таблицы структурного подразделения одну или несколько таблиц. Таким образом, данные для одного структурного подразделения могут быть представлены как одной таблицей, так и несколькими таблицами. Переход между таблицами разных структурных подразделений осуществляется по первичным ключам, назначенным на третьем этапе, а переход между таблицами внутри одного структурного подразделения осуществляется по первичным ключам, назначенным при выполнении второй нормальной формы.