- •Экзаменационный билет №1
- •1. База данных: определения, признаки базы данных.
- •2. DataBase Desktop: задание ключей в базе данных формата «Paradox».
- •Экзаменационный билет №2
- •1. Классификация баз данных.
- •2. DataBase Desktop: задание связей в базе данных формата «Paradox»
- •Экзаменационный билет №3
- •1. Иерархические базы данных.
- •2. Компоненты Delphi для работы с бд: tDatabase (назначение, свойства, методы события).
- •Свойства компонента
- •Методы компонента
- •Экзаменационный билет №4
- •1. Сетевые базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для подключения таблиц).
- •Экзаменационный билет №5
- •1. Реляционные базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для перемещения по таблице).
- •Экзаменационный билет №6
- •1. Объектно-ориентированные базы данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для сортировки таблиц).
- •Экзаменационный билет №7
- •1. Реляционная модель данных.
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для фильтрования данных таблиц).
- •Экзаменационный билет №8
- •1. Структурная часть реляционной модели данных: типы данных, используемых в реляционной модели данных.
- •Типы данных
- •Простые типы данных
- •2. Компоненты Delphi для работы с бд: tTable (свойства и методы, используемые для манипулирования данными в таблицах).
- •Экзаменационный билет №9
- •1. Домен.
- •2. Компоненты Delphi для работы с бд: tDataSource (назначение, свойства, методы события).
- •Свойства компонента
- •Методы компонента
- •Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
- •1 Иванов 1000 1
- •2 Петров 2000 2
- •3 Сидоров 3000 1
- •Вычисляемые Поля
- •Управление tdbGrid во время выполнения
- •Вычисляемые поля
- •Экзаменационный билет №13
- •Простые и составные ключи
- •Естественные и суррогатные ключи
- •Операторы sql
- •Операторы ddl (Data Definition Language) - операторы определения объектов базы данных
- •Операторы dml (Data Manipulation Language) - операторы манипулирования данными
- •Операторы защиты и управления данными
- •Отбор данных из одной таблицы
- •Отбор данных из нескольких таблиц
- •Использование имен корреляции (алиасов, псевдонимов)
- •Использование агрегатных функций в запросах
- •Использование агрегатных функций с группировками
- •Использование подзапросов
- •Использование объединения, пересечения и разности
- •Синтаксис оператора выборки данных (select)
- •Синтаксис оператора выборки
- •Синтаксис соединенных таблиц
- •Синтаксис условных выражений раздела where
- •Порядок выполнения оператора select
- •Стадия 1. Выполнение одиночного оператора select
- •Стадия 2. Выполнение операций union, except, intersect
- •Стадия 3. Упорядочение результата
- •Как на самом деле выполняется оператор select
- •Оператор соединения
- •Оператор пересечения
- •Оператор деления
- •1) Первая нормальная форма (1nf)
- •1) Вторая нормальная форма (2nf)
- •Панель компонент Rave
- •Компоненты вывода
- •Классы Rave
- •Целостность сущностей
- •Внешние ключи
- •2) Мост к данным
- •Об именовании компонент подключения данных
- •Управление видимостью подключения
- •Пользовательские подключения данных
- •5. Настройка подключений данных Использование событий для настройки ваших подключений данных
- •Замечания к правилам целостности сущностей и внешних ключей
- •2) Визуальная среда создания отчетов
- •Для родительского отношения
- •2) Описание tRvRenderPreview
- •Свойства tRvRenderPreview
- •События tRvRenderPreview
- •Свойства и события tRvRenderPrinter
- •Описание tRvRenderPdf
- •Описание tRvRenderHtml
- •Описание tRvRenderRtf
- •Описание tRvRenderText
- •Применение стратегий поддержания ссылочной целостности
- •При обновлении кортежа в родительском отношении
- •При удалении кортежа в родительском отношении
- •При вставке кортежа в дочернее отношение
- •При обновлении кортежа в дочернем отношении
- •2) 4. Rave подключения данных Мост к данным
- •Об именовании компонент подключения данных
- •Управление видимостью подключения
- •Пользовательские подключения данных
- •5. Настройка подключений данных Использование событий для настройки ваших подключений данных
- •Событие OnGetCols
- •Событие OnValidateRow
- •Событие OnRestore
- •2.2. Создание таблицы
- •2.3. Создание полей
2. DataBase Desktop: задание связей в базе данных формата «Paradox»
Организация связей в реляционных БД
Организация связей в реляционных БД возможна благодаря наличию одинаковых данных в связываемых таблицах. Рассмотрим пример связи между таблицами «Сотрудники» и «Должности».
Таблица 1.2
Таблица «Сотрудники»
ИНН |
Фамилия |
Имя |
Отчество |
282211024022 |
Иванов |
Петр |
Иванович |
271122400222 |
Петров |
Иван |
Петрович |
228422120245 |
Сидоров |
Михаил |
Викторович |
271225224665 |
Михайлов |
Виктор |
Валерьевич |
Таблица 1.3
Таблица «Должности»
ID_должности |
Должность |
121 |
Директор |
128 |
Бухгалтер |
205 |
Экономист |
Для организации связи таблицы «Должности» с таблицей «Сотрудники», в таблицу «Сотрудники» необходимо добавить дополнительное поле, в котором для каждой записи будет храниться идентификатор соответствующей записи таблицы «Должности». Это поле – вторичный ключ, который представляет собой отображение первичного ключа связанной таблицы «Должности», так как содержит только те данные, которые содержатся в поле «ID_должности». Пример связи представлен на рис. 1.7.
Рис. 1.7. Связь таблицы «Должности» с таблицей «Сотрудники»
Таким же образом организуются связи между остальными таблицами БД. Окончательный вариант контейнера БД представлен на рис. 1.8.
Рис. 1.8. Контейнер БД сотрудников предприятия
1.6.5. Недостатки нормализованной БД
Недостатком нормализованной БД является необходимость считывать связанные данные из нескольких таблиц при выполнении одного запроса, что негативно сказывается на производительности, т.к. замечено, что ненормализованные или не вполне нормализованные данные отыскиваются быстрее, если они хранятся в одной таблице, по сравнению со случаем поиска данных в связанных таблицах. Подобное ускорение тем заметнее, чем больше число записей в связанных таблицах.
Таким образом, при работе с данными большого объема приходится искать компромисс между требованиями нормализации и необходимостью улучшения быстродействия системы. Поэтому в практике проектирования реляционных баз данных существует понятие денормализации, когда осознанно нарушаются правила нормализации, для упрощения и увеличения производительности системы. Денормализацию БД проводят только после ее полной нормализации, иначе существует вероятность допустить серьезные ошибки.