КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вопрос 6 Ключи и индексы
Реляционная модель БД. Основной единицей реляционной БД является отношение. Отношению соответствует, например, понятие файла в языке Паскаль, в котором файл - это последовательность однотипных связей. Более того, каждое отношение (таблица) хранится физически в форме отдельного файла. Элемент отношения, соответствующий отдельной записи файла, называется кортежем. Полям записи в отношении соответствуют атрибуты. О: Отношение - некоторое множество кортежей, имеющих одинаковые атрибуты (некоторое множество строк таблицы). В отличие от физического файла, записи которого упорядочены, кортежи отношения считаются неупорядоченными. Как правило, БД представлена более чем одним отношением и физически хранится на периферийных носителях как несколько файлов. Атрибуты в каждом отношении относятся к определенному типу. Тип определяет множество возможных значений данного атрибута. В реляционной модели это множество называется доменом. Считается, что в отношении кортежи никогда не дублируются, т. е. не может быть 2-х совершенно одинаковых кортежей. Кортежи должны различаться хотя бы по значению одного атрибута.
Ключ – комбинация атрибутов, значения которых однозначно определяют каждый кортеж таблицы. Простой ключ состоит из одного атрибута, а составной (сложный) - из нескольких атрибутов. В таблице может быть определен только один ключ. Ключ обеспечивает: 1. Однозначную идентификацию записей таблицы. 2. Предотвращение повторений значений ключа. 3. Ускорение выполнения запросов к БД. 4. Установление связи между отдельными таблицами БД. 5. Использование ограничений ссылочной целостности. Ключ также называют первичным ключом или первичным (главным) индексом. Информация о ключе может храниться в отдельном файле (Paradox) или совместно с данными таблицы (Access). Значения ключа располагаются в определенном порядке. Для каждого значения ключа имеется уникальная ссылка, указывающая на расположение соответствующей записи в таблице (в главном ее файле). Поэтому при поиске записи выполняется не последовательный просмотр всей таблицы, а прямой доступ к записи на основании упорядоченных значений ключа. Общие правила построения ключей: 1). Ключ должен быть уникальным. У составного ключа значения отдельных полей (но не всех одновременно) могут повторяться. 2). Ключ должен быть достаточным и неизбыточным, т. е. не должен содержать поля, которые можно удалить без нарушения уникальности ключа. 3). В состав ключа не могут входить поля некоторых типов, например, графическое поле или поле комментария. Индекс, как и ключ, строится по полям таблицы, однако он может допускать повторение значений составляющих его полей. Простой индекс состоит из одного поля, а составной (сложный) - из нескольких полей. Индексы при их создании именуются. В зависимости от СУБД индексы могут храниться в отдельных файлах или совместно с данными. Использование индекса обеспечивает: 1. Увеличение скорости доступа (поиска) к данным. 2. Сортировку записей. 3. Установление связи между отдельными таблицами БД. 4. Использование ограничений ссылочной целостности. Как и ключ, индекс представляет собой своеобразное оглавление таблицы, просмотр которого выполняется перед обращением к ее записям. Таким образом, использование индекса повышает скорость доступа к данным в таблице за счет того, что доступ выполняется не последовательным, а индексно-последовательным методом. Сортировка – упорядочивание записей по полю или группе полей в порядке возрастания или убывания их значений. Индекс служит для сортировки таблиц по индексным полям. Если индекс используется для установления связи между таблицами и ограничения ссылочной целостности, то он называется внешним ключом. Внешний ключ - это некоторый атрибут или несколько атрибутов, представляющих собой первичный ключ другого отношения. С помощью внешнего ключа кортеж в данном отношении ссылается на некоторый кортеж другого отношения. Значения внешнего ключа могут повторяться, т. е. несколько кортежей данного отношения могут ссылаться на один и тот же кортеж другого отношения. Благодаря наличию внешних ключей БД представляет собой совокупность логически взаимосвязанных таблиц. Для одной таблицы можно создать несколько индексов. В каждый момент времени один из них можно сделать текущим.
Вопрос 7 Наборы данных в Delphi. Состояния наборов данных Под набором данных в Delphi понимается группа записей из одной или нескольких ТБД, доступная для использования через компоненты TTable и TQuery. TTable содержит записи, источником которых может быть только одна таблица. Если в TTable производилась фильтрация по какому-нибудь условию, то в НД попадут только те записи, которые удовлетворяют этому условию, если нет, то все записи ТБД. Для связи таблицы с компонентом псевдоним БД, содержащей таблицу, указывается в свойстве DataBaseName, имя таблицы - в свойстве TableName TQuery содержит записи, источником которых могут являться несколько ТБД, а также агрегированные значения (сумма, минимум, максимум, среднее), просчитанные по полям одной или нескольких таблиц. НД формируется так: выполняется SQL-запрос, представленный оператором SELECT, который записывается в свойстве SQL компонента, и в качестве НД возвращаются записи из таблиц-источников, удовлетворяющие определенным условиям. ТБД-источники перечисляются в разделе FROM оператора SELECT. Условия выборки записей указываются в разделе WHERE. Записи результирующего НД состоят из полей, перечисленных после ключевого слова SELECT (или, если указан символ * - всех полей). Для связи таблиц с компонентом псевдоним БД, содержащей таблицы, указывается в свойстве DataBaseName. В случае, если псевдоним указан, все таблицы в разделе FROM считаются принадлежащими данной БД, в противном случае для каждой таблицы необходимо указать маршрут поиска, а если он не указан, ТБД должны располагаться в текущем каталоге ОС. Состояния наборов данных. НД могут находиться в одном из 7 состояний: 1. dsInactive - НД закрыт. 2. dsBrowse - НД открыт, записи просматриваются, но не изменяются. 3. dsEdit - НД находится в состоянии редактирования. 4. dsInsert - НД находится в состоянии вставки новой записи. 5. dsSetKey - НД находится в состоянии поиска записи. По окончании поиска НД переходит в состояние dsBrowse. 6. dsCalcFields - выполняется установление значений вычисляемых полей. Изменения в НД вноситься не могут. После выхода из этого режима НД переходит в предыдущее состояние. 7. dsFilter - обрабатывается фильтрация записей в НД. После выполнения фильтрации НД переходит в состояние dsBrowse. Открыть НД можно методом Open во время выполнения, или установив свойство Active в Тrue. Закрыть НД во время выполнения можно методом CIose или установив свойство Active в False. Перевести НД в режим редактирования можно методом Edit, в режим вставки - методами Insert и Append. Метод Post приводит к запоминанию изменений в НД, a Cancel - к отмене изменений. Оба метода переводят НД в состояние dsBrowse. Получить текущее состояние НД можно, используя метод State. Он возвращает константы:. dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter. Вопрос 8 Навигация по набору данных (способы работы с набором данных, методы для изменения курсора набора данных, определение начала и конца набора данных, порядок следования и порядок сортировки записей). Существует 2 способа работы с НД: 1. Использование операторов SQL. Он предполагает оперирование группами записей. SQL-операторы группового обновления: UPDATE, INSERT, DELETE и выборки групп записей - SELECT. 2. Оперирование единичными записями. Если необходимо изменить, добавить или удалить группу записей, необходимая операция выполняется для каждой из этих записей. Для этого такие записи в НД нужно отыскать, для чего применяются навигационные методы. Они всегда работают с единичной записью и связаны с понятием курсора НД. О: Под курсором НД понимается указатель текущей записи в конкретном НД. О: Текущая запись - запись, над которой в данный момент можно выполнять какие-либо действия (удаление, изменение, чтение значений полей). Методы для изменения курсора НД: 1. proc First - устанавливает курсор на первую запись НД. 2. proc Last - устанавливает курсор на последнюю запись НД. 3. proc Next - перемещает курсор на следующую запись в НД. 4. proc Prior - перемещает курсор на предыдущую запись в НД. 5. fun MoveBy (n: Integer): Integer - перемещает курсор на п записей к концу НД (п > 0) или к началу НД (п < 0). Определение начала и конца НД: 1. Свойство BOF: Boolean - возвращает True, если курсор установлен на первую запись в НД. 2. Свойство EOF: Boolean - возвращает True, если курсор установлен на последнюю запись НД.
Дата добавления: 2015-06-26; Просмотров: 424; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |