- •Экзаменационный билет №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. Создание полей
Простые и составные ключи
Первичный ключ может состоять из единственного поля таблицы, значения которого уникальны для каждой записи. Так, например, на предприятии не может быть двух работников с одинаковыми табельными номерами, поэтому в таблице, содержащей записи о работниках, табельный номер может быть первичным ключом. Такой первичный ключ называют простым ключом.
Если таблица не имеет единственного уникального поля, первичный ключ может быть составлен из нескольких полей, совокупность значений которых гарантирует уникальность. Так, имя, фамилия, отчество, номер паспорта, серия паспорта не могут быть первичными ключами по отдельности, так как могут оказаться одинаковыми у двух и более людей. Но не бывает двух личных документов одного типа с одинаковыми серией и номером. Поэтому в таблице, содержащей записи о людях, первичным ключом может быть набор полей, состоящий из типа личного документа, его серии и номера. Такой первичный ключ называют составным ключом (англ. compound key, composite key, concatenated key).
Естественные и суррогатные ключи
Первичный ключ может состоять из информационных полей таблицы (то есть полей, содержащих полезную информацию об описываемых объектах). Такой первичный ключ называют естественным ключом. Теоретически, естественный ключ всегда можно сформировать, в этом случае мы получим т. н. интеллектуальный ключ. На практике, однако, использование естественных ключей наталкивается на определённые сложности:
Низкая эффективность — Естественный ключ может быть велик по размеру (особенно когда он составной), и его использование окажется технически неэффективным (ведь во всех таблицах, связанных с данной, понадобится создать поле того же размера, чтобы хранить ссылки).
Необходимость каскадных изменений — При изменении значения поля, входящего в естественный ключ, оказывается необходимым изменить значение поля не только в данной таблице, но и во всех таблицах, связанных с данной, в противном случае все ссылки на данную запись окажутся некорректными. В сложных базах данных таких связанных таблиц может быть очень много, и всегда остаётся опасность упустить из виду какую-то из них. При добавлении новых связанных таблиц приходится добавлять согласующие изменения во все места программ, где правится исходная таблица.
Несоответствие реальности — Уникальность естественного первичного ключа в реальных БД не всегда соблюдается. Допустим, например, что первичный ключ в таблице — данные личного документа. В такую таблицу окажется невозможным внести человека, о документах которого нет информации в момент добавления записи, а на практике такая необходимость может возникнуть.
Повторяемость — При использовании естественного ключа, содержание может повторяться (так, как могут повторятся поля, из которых состоит ключ), что недопустимо в первичном ключе
Вследствие этих и других соображений в практике проектирования БД чаще используют т.н. синтетические (суррогатные) ключи — искусственно созданные технические ключевые поля, не несущие информации об объектах.
2)
Формат оператора Select в языке SQL.
Язык SQL стал фактически стандартным языком доступа к базам данных. Все СУБД, претендующие на название "реляционные", реализуют тот или иной диалект SQL. Многие нереляционные системы также имеют в настоящее время средства доступа к реляционным данным. Целью стандартизации является переносимость приложений между различными СУБД.
Нужно заметить, что в настоящее время, ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект - это надмножество некоторого подмножества стандарта SQL. Это затрудняет переносимость приложений, разработанных для одних СУБД в другие СУБД.
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы".
Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия.
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.