Базы данных, Информационные системы и технологии. Вопросы к Государственному экзамену по направлению «Прикладная информатика» Базы данных, Информационные системы и технологии. 1. Документальный поиск: релевантность, пертинентность, информационная потребность. Важные понятия в информационном поиске - документ и запрос. Документ определяется как средство закрепления любым способом на специальном материале любой информации о фактах, событиях, явлениях объективной действительности и мыслительной деятельности человека. Запрос представляет собой информационную потребность, сформулированную на естественном языке. Информационная потребность - потребность, возникающая, когда цель, стоящая перед пользователем в процессе его профессиональной деятельности, не может быть достигнута без привлечения дополнительной информации. Пертинентность - соответствие найденных информационно-поисковой системой документов информационным потребностям пользователя, независимо от того, как полно и как точно эта информационная потребность выражена в тексте информационного запроса. Иначе говоря, это соотношение объёма полезной информации к общему объёму полученной информации. Релевантность в информационном поиске - соответствие поискового запроса и поискового образа документа, то есть не только оценка степени соответствия, но и степени практической применимости результата, а также степени социальной применимости варианта решения задачи. 2. Модели поиска для информационно-поисковых систем Под моделью поиска понимается сочетание: способа формирования представлений документов; способа формирования представлений поисковых запросов; вида критерия релевантности документов. Простейшие модели поиска. Примером простейших моделей поиска являются модели, основанные на классификаторах. В модели, основанной на классификаторе, документы представляются идентификаторами классов в иерархической структуре классификатора, к которым относится данный документ. Модели контекстного поиска. В моделях контекстного поиска используется представление документа как совокупности всевозможных встречающихся в его тексте слов и словосочетаний, не считая так называемых служебных слов. Служебные слова - это слова, которые встречаются практически в любом документе. Булевские модели поиска.В системах текстового поиска широко используются булевские модели поиска. Пользователь может формулировать запрос в виде булевского выражения с использованием операторов И, ИЛИ, НЕТ. Это может быть, например, условие вхождения данного слова или словосочетания (с точностью до грамматических форм) в текст документа в булевском расширении контекстной модели поиска. Векторные модели поиска. В векторных моделях предполагается, что документы и запросы представляются векторами. В простейшем случае координаты вектора соответствуют словам или словосочетаниям, принадлежащим словарю системы, который представляет общеязыковую лексику или лексику предметной области. 3. Индексирование документальной информации Индексирование –процесс выражения содержания документа и (или) запросана информационно-поисковом языкес помощью терминов индексирования– классификационных индексов, предметных рубрик, ключевых слов, дескрипторов, кодов. Иными словами, индексирование – процесс перевода содержания документов и запросов с естественного языка на информационно-поисковой язык, в результате чего создается поисковый образ документа и поисковый образ запроса. Таким образом, происходит «свертывание» информации, содержащейся в документе, и изложение ее на информационно-поисковом языке в виде индекса, дескриптора, ключевого слова. Информационно-поисковый язык -это специально созданный искусственный язык, предназначенный для выражения содержания документов и (или) запросов с целью их последующего поиска. 4. Реляционная модель данных В математических дисциплинах существует понятие «отношение», физическим представлением которого является таблица. Отсюда и произошло название модели – реляционная. Применительно к БД понятия «реляционная БД» и «табличная БД» являются синонимами. Реляционная модель является удобной и наиболее привычной формой представления данных в виде таблицы (отношения). Каждое отношение имеет имя и состоит из поименованных атрибутов (столбцов) данных. Одним из основных преимуществ реляционной модели является неоднородность. Все данные хранятся в таблицах, в которых каждая строка имеет один и тот же формат. Каждая строка в таблице представляет некоторый объект реального мира или соотношение между объектами. Основными понятиями, с помощью которых определяется реляционная модель: · реляционная БД – набор нормализованных отношений; · отношение – файл, плоская таблица, состоящая из столбцов и строк; таблица, в которой каждое поле является атомарным; · кортеж – запись, строка таблицы; · атрибуты – поименованные поля, столбцы таблицы; · степень отношения - количество полей (столбцов); Каждая реляционная таблица обладает следующими свойствами: · имеет имя, которое отличается от имен всех других таблиц; · данные в ячейках таблицы должны быть структурно неделимыми. Недопустимо, чтобы в ячейке таблицы содержалось более одной порции информации. Например, номер и серия паспорта должны располагаться в разных столбцах таблицы; · все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину; · каждый столбец имеет уникальное имя; · одинаковые строки в таблице отсутствуют; · порядок следования строк и столбцов может быть произвольным, независимо от их переупорядочивания отношение будет оставаться одним и тем же, а потому иметь тот же смысл. 5. Основные операторы языка SQL. Операторы разграничения доступа пользователей к объектам базы данных (DCL). GRANT – создание в системе безопасности записи, разрешающей пользователю работать с данными или выполнять определенные операции SQL. DENY - создание в системе безопасности записи, запрещающей доступ для определенной учетной записи. Операторы определения данных (язык DDL). Соответствующие операторы предназначены для создания, удаления, изменения основных объектов модели данных реляционных СУБД: таблиц, представлений, индексов. CREATE TABLE <имя> - создание новой таблицы в базе данных. DROP TABLE <имя> - удаление таблицы из базы данных. ALTER TABLE <имя> - изменение структуры существующей таблицы или ограничений целостности, задаваемых для данной таблицы. При выполнении аналогичных операций с представлениями или индексами в указанных операторах вместо служебного слова TABLE записывается слово VIEW или слово INDEX Операторы манипулирования данными (язык DML). Операторы DML работают с базой данных и используются для изменения данных и получения необходимых сведений. SELECT – выборка строк, удовлетворяющих заданным условиям. Оператор реализует, в частности, такие операции реляционной алгебры как "селекция" и "проекция". UPDATE – изменение значений определенных полей в строках таблицы, удовлетворяющих заданным условиям. INSERT – вставка новых строк в таблицу. DELETE – удаление строк таблицы, удовлетворяющих заданным условиям. Применение этого оператора учитывает принципы поддержки целостности, поэтому он не всегда может быть выполнен корректно. 6. Транзакция, ее свойства, проблемы выполнения, блокирование ресурсов, сериализуемость. Транзакция – последовательность операций, производимых над БД и переводящих БД из одного непротиворечивого состояния в другое непротиворечивое (согласованное), осуществляет доступ к БД с использованием примитивов чтения и записи. Согласованное состояние БД – выполнены все ограничения целостности. Свойства транзакций: · атомарность - транзакция либо выполняется полностью, либо вообще не выполняется; · согласованность - выполнение транзакции не нарушает целостности базы данных; · изолированность - данные, используемые транзакцией, не могут быть затронуты другой транзакцией. · устойчивость - после завершения транзакции результаты её выполнения не могут быть потеряны из-за каких либо сбоев ПО или оборудования. Один из способов предотвратить проблемы при параллельной обработке - запретить совместное использование ресурсов путем блокировки данных, которые считываются для обновления. В этом случае, если блок записей или одна запись «занята» какой-либо транзакцией, то другая транзакция не сможет их изменить. Блокировки различаются также по типу. При монопольной блокировке полностью блокируется доступ к блоку данных. Коллективная блокировка блокирует блок данных от изменения, но не от чтения. Когда две или более транзакции обрабатываются параллельно, их результаты, сохраняемые в базе данных, должны быть логически согласованы с результатами, которые получились бы, если бы данные транзакции обрабатывались каким-нибудь последовательным способом. Такая схема обработки параллельных транзакций называется сериализуемой. 7. Хранимые процедуры и их использование Хранимая процедура представляет собой подпрограмму, расположенную на сервере и вызываемую из приложения клиента. Использование этих объектов увеличивает скорость доступа к БД по следующим причинам: 1. вместо текста запроса, который может быть достаточно длинным, серверу передается по сети относительно короткое обращение к хранимой процедуре; 2. хранимая процедура, в отличие от запроса, не требует предварительной синтаксической проверки. Еще одним преимуществом при обращении к хранимым процедурам является то, что будучи общими для всех приложений-клиентов, они реализуют единые для них правила работы с БД. Например, каждый месяц сотрудникам надо пересчитывать зарплату. Можно создать хранимую процедуру, производящую перерасчет, и таким образом сэкономить время. Хранимая процедура может принимать параметры и возвращать результаты работы. CREATE PROC give_raise AS UPDATE EMPLOYEES SET salary = salary * 1.10 В данном примере создается хранимая процедура give_raise, модифицирующая таблицу EMPLOYEES. Значение поля salary увеличивается на 10%. Триггер - хранимая процедура, вызов которой происходит автоматически при выполнении с базой данных определенных действий: удаление, изменение, добавление записей. В зависимости от того, какой оператор модификации данных активизирует триггер, он называется триггером вставки, триггером удаления или триггером обновления. 8. Основные операторы языка SQL. Использование при работе с базами данных. 1. Оператор создания таблицы имеет формат вида: CREATE TABLE <имя таблицы> (<имя столбца> <тип данных> [NOT NULL] [,<имя столбца> <тип данных> [NOT NULL]] ... ) 2. Оператор удаления индекса имеет формат вида: DROP INDEX <имя индекса> 3. Оператор создания представления имеет формат вида: CREATE VIEW <имя представления> [(<имя столбца> [,<имя столбца> ]... )] AS <оператор SELECT> 4. Оператор удаления представления имеет формат вида: DROP VIEW <имя представления> 5. Оператор выборки записей имеет формат вида: SELECT [ALL | DISTINCT] <список данных> FROM <список таблиц> [WHERE <условие выборки>] [GROUP BY <имя столбца> [,<имя столбца>]... ] [HAVING <условие поиска>] [ORDER BY <спецификация> [,<снецификация>] ...] 6. Оператор изменения записей имеет формат вида: UPDATE <имя та6лицы> SET <имя столбца> " {<выражение> , NULL } [, SET <имя столбца> ° {<выражение> , NULL }... ] [WHERE <условие>] 7. Оператор вставки новых записей имеет форматы двух видов: INSERT INTO <имя таблицы> [(<список столбцов>)] VALUES (<список значений?-) и INSERT INTO <имя таблицы> [(<список столбцов>)] <предложение SELECT> 8. Оператор удаления записей имеет формат вида: DELETE FROM <имя таблицы> [WHERE <условие>] 9. Реляционная модель данных. Любую структуру данных можно представить в виде простой двумерной таблицы. Базы данных, составленные из двумерных таблиц, называются реляционными. Достоинства: простота и доступность; независимость данных; гибкость. Реляционная модель позволяет: · определить структуру данных; · определить операции по поиску и запоминанию данных; · определить ограничения, связанные с обеспечением целостности данных. Реляционная база данных обладает следующими свойствами: · Реляционная таблица двумерна; · Каждый элемент таблицы – один элемент данных; · Все элементы в столбце таблицы имеют одинаковый тип и длину; · Каждый столбец имеет уникальное имя; · Одинаковые строки в таблице отсутствуют; · Порядок следования строк и столбцов – произвольный. Структурные элементы: · Таблица – это совокупность данных, характеризующих объект. Состоит из фиксированного числа столбцов и переменного числа строк. · Запись – строка таблицы. Система сама нумерует записи. · Макет – описание столбцов в таблице. · Поле – столбец таблицы. 10. Основные понятия БД: СУБД, модели данных, предметная область. База данных – это интегрированная совокупность структурированных и взаимосвязанных данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных. Обычно база данных создается для предметной области. Предметная область – часть реального мира, подлежащая изучению с целью автоматизации процесса управления в этой сфере (например, банк, академия, больница). Система управления базой данных (СУБД) – программа, которая управляет всем доступом к базе данных. Система управления базами данных основывается на использовании определенной модели данных. Модель данных – это метод (принцип) логической организации данных, реализуемый в СУБД. 11. Общие принципы организации БД: компоненты доступа к данным, состояния и режимы наборов данных. Компоненты доступа к данным являются невизуальными. Таблицы БД располагаются на диске и являются физическими объектами. В терминах системы Delphi набор данных представляет собой совокупность записей, взятых из одной или нескольких таблиц БД. В Delphi для работы с наборами данных служат такие компоненты, как Table, Query, UpdateSQL, DecisionQuery или StoredProc. Для выполнения операций с наборами данных используются два способа доступа к данным: · навигационный; способ доступа заключается в обработке каждой отдельной записи набора данных. · реляционный способ доступа основан на обработке группы записей. Наборы данных могут находиться в открытом или закрытом состояниях, на что указывает свойство Active типа Boolean. Если свойству Active установлено значение True, то набор данных открыт. Наборы данных могутнаходиться в различных режимах. Текущий режим набора данных определяется свойством State типа TDataSetState. Для перевода набора данных в требуемый режим используются специальные методы. Они могут вызываться указанием имени метода или путем управления соответствующими визуальными компонентами (DBNavigator или сеткой DBGrid). 12. Классификация моделей данных. Разработать модель сущность-связь для конкретной предметной области. Модель, которая выражает информацию о предметной области в виде независимом от используемой СУБД, называется инфологической или семантическая модель (используется на ранних стадиях проектирования приложений). Даталогические– служат для описания структур данных в виде зависимом от используемой СУБД. Физическая - оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной операционной среде.  13. Теория нормальных форм. Приведение таблиц базы данных к третьей нормальной форме. В рамках реляционной модели данных разработан аппарат нормализации отношений, позволяющих устранить некоторые из перечисленных ранее недостатков схем БД. Нормализация широко используется как в системах автоматизации проектирования, так и при ручном проектировании БД. Простым атрибутом называется атрибут, значения которого неделимы (атомарны). Сложный (составной) – тот, который может иметь значения, состоящие из нескольких простых значений (конкатенация или множество). Рассмотрим приведение отношения к нормальным формам на примере «отдела кадров». Исходная таблица: Id сотрудника | ФИО сотрудника | Телефон сотрудника | Название должности | Оклад, руб. | Номер отдела | Начальник отдела | | Иванов П. Н. | | Водитель | | | Николаев А. П. | | Семенова И. С. | | Повар | | | Соколова С. В. | | Хакимов С. Р. | | Охранник | | | Николаев А. П. | Атрибут Телефон сотрудника имеет несколько значений, значит нужно привести к 1НФ, т.е. чтобы каждая строка содержала только одно значение для каждого атрибута. Первая нормальная форма Схема отношения называется нормализованной, находится в первой нормальной форме (1НФ), если все ее атрибуты – простые. Приведение ненормализованной схемы к 1НФ достигается заменой сложного атрибута набором простых. Id сотрудника | ФИО сотрудника | Телефон сотрудника | Название должности | Оклад, руб. | Номер отдела | Начальник отдела | | Иванов П. Н. | | Водитель | | | Николаев А. П. | | Иванов П. Н. | | Водитель | | | Николаев А. П. | | Семенова И. С. | | Повар | | | Соколова С. В. | | Семенова И. С. | | Повар | | | Соколова С. В. | | Хакимов С. Р. | | Охранник | | | Николаев А. П. | Теперь видим, что каждая строка содержит только один Телефон сотрудника, т.е. отношение является атомарным. Недостаток 1НФ – это избыточность, значит нужно привести к 2НФ. Вторая нормальная форма Не ключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой его части. В противном случае имеет место частичная функциональная зависимость не ключевого атрибута от составного ключа. Частичные зависимости приводят к дублированию информации. Схема отношения находится во второй нормальной форме (2НФ), если она находится в 1НФ и каждый не ключевой атрибут функционально полно зависит от составного ключа. Для приведения схемы в 2НФ нужно: · Исключить из схемы отношения атрибуты, не находящиеся в полной функциональной зависимости от составного ключа. · Построить дополнительно одну или несколько схем отношений, включающие часть атрибутов составного ключа и не ключевые атрибуты, функционально зависящие от этой части ключа. Разбиваем наше одно отношение на два отношения, т.е. создаем второе отношение «Телефоны», а с первого отношения атрибут Телефон сотрудника убираем. Id сотрудника | ФИО сотрудника | Название должности | Оклад, руб. | Номер отдела | Начальник отдела | | Иванов П. Н. | Водитель | | | Николаев А. П. | | Семенова И. С. | Повар | | | Соколова С. В. | | Хакимов С. Р. | Охранник | | | Николаев А. П. | Телефоны Id сотрудника | Телефон сотрудника | | | | | | | | | | | Видим, что Номера отделов и Начальники отделов повторяются и не зависят от Id сотрудника, значит нужно привести отношение к 3НФ, т.е. необходимо исключить транзитивные зависимости. Третья нормальная форма Схема отношения находится в 3НФ, если она находится в 2НФ и каждый не ключевой атрибут не транзитивно зависит от первичного ключа. Исключаем с первого отношения избыточный атрибут Начальник отдела и создаем отношение «Отделы», которое будет иметь атрибуты Номер отдела и Начальник отдела. Id сотрудника | ФИО сотрудника | Название должности | Оклад, руб. | Номер отдела | | Иванов П. Н. | Водитель | | | | Семенова И. С. | Повар | | | | Хакимов С. Р. | Охранник | | | Отделы Номер отдела | Начальник отдела | | Николаев А. П. | | Соколова С. В. | 14. Визуальные компоненты БД Визуальные компоненты– это видимые элементы пользовательского интерфейса: кнопки, метки, блоки списков и др. Они выглядят одинаково и на стадии проектирования, и во время работы приложения. Компоненты в среде Delphi – это особые объекты, которые являются строительными кирпичиками визуальной среды разработки и приспособлены к визуальной установке свойств. Конструируя приложение, вы берете компоненты из Палитры Компонентов, располагаете на форме и устанавливаете их свойства в окне Инспектора Объектов. Состояние компонента определяется его свойствами. Поведение компонента описывается с помощью его процедур и функций. Вызовы методов компонента помещаются в исходный код программы и происходят только во время выполнения приложения. Обратная реакция компонента – это его события. События позволяют, например, связать нажатие кнопки с вызовом метода формы. События реализуются с помощью свойств, содержащих указатели на методы. 15. Проектирование реляционной БД. Этапы жизненного цикла БД Этапы проектирования и создания БД определяются следующей последовательностью: · построение информационно-логической модели данных предметной области; · определение логической структуры реляционной БД; · конструирование таблиц БД; · создание схемы данных; · ввод данных в таблицы (создание записей); · разработка необходимых форм, запросов, модулей, отчетов; · разработка пользовательского интерфейса. Жизненный цикл базы данных (ЖЦБД) – это процесс проектирования, реализации и поддержки базы данных. ЖЦБД состоит из семи этапов: · предварительное планирование; · проверка осуществимости; · определение требований; · концептуальное проектирование; · логическое проектирование; · физическое проектирование; · оценка работы и поддержка базы данных. Предварительное планирование базы данных. На этом этапе собирается информация об используемых и находящихся в процессе разработки прикладных программах и файлах, связанных с ними. Кроме того, позволяет определить будущие требования к базе данных. Проверка осуществимости предполагает подготовку отчетов по трем вопросам: 1) есть ли технология – необходимое оборудование и программное обеспечение – для реализации запланированной базы данных (технологическая осуществимость); 2) имеются ли персонал, средства и эксперты для успешного осуществления плана создания базы данных (операционная осуществимость); 3) окупится ли запланированная база данных (экономическая эффективность). Определение требований: · цели базы данных; · информационные потребности различных структурных подразделений и их руководителей; · требования к оборудованию; · требования к программному обеспечению. Концептуальное проектирование. Создаются подробные модели пользовательских представлений данных предметной области. Затем они интегрируются в концептуальную модель, которая фиксирует все элементы корпоративных данных, подлежащих загрузке в базу данных. Логическое проектирование. Осуществляется выбор типа модели данных. Концептуальная модель отображается в логическую модель, основанную уже на структурах, характерных для выбранной модели. Физическое проектирование. Логическая модель расширяется характеристиками, необходимыми для определения способов физического хранения базы данных, типа устройств для хранения, методов доступа к данным базы, требуемого объема памяти, правил сопровождения базы данных и др. Оценка и поддержка базы данных. Оценка включает опрос пользователей на предмет выяснения, какие их информационные потребности остались неучтенными. При необходимости в спроектированную базу данных вносятся изменения. Пользователи обучаются работе с базой данных. По мере расширения и изменения потребностей поддержка базы данных обеспечивается путем внесения изменений, добавления новых данных, разработки новых прикладных программ, работающих с базой данных. 16. Сортировка и навигация в наборах данных, фильтрация наборов данных Сортировка.Для таблиц одних СУБД (например, dBASE) записи располагаются в порядке поступления в файл таблицы, а в других (например, в Paradox) они сортируются по первичному индексу. Однако очень часто требуется вывести записи в определенном порядке, для чего используется сортировка данных. Для набора данных типа Table сортировка выполняется автоматически по выбранному индексу. Соответственно, если изменить индекс, например, при помощи свойств IndexFieldNames или IndexName, то записи будут упорядочены заново. В качестве значения для IndexName указывают имя индекса, а для IndexFieldNames указывают имена полей, из которых индекс состоит. Навигация по набору данных состоит в том, что выбирается указатель на ту или иную запись в таблице БД. Этот указатель так же называется курсором и определяет запись, с которой будут производиться операции в данный момент. Для перемещения на несколько записей сразу используют функцию MoveBy - она принимает в качестве аргумента число, на которое должно произойти перемещение, а возвращает число записей, на которое реально переместился курсор. Перемещение при помощи этой функции можно производить в обоих направлениях. Фильтрациейназывают определение ограничений для записей, отбираемых для набора данных. По умолчанию фильтрация отключена, однако всегда можно ею воспользоваться, определив параметры фильтра в свойстве Filter и установив другое свойство - Filtered - в истину. В состав фильтра могут входить такие элементы, как имена полей таблиц, литералы, скобки, операции сравнения, а так же арифметические и логические операции. BILL_SUMM > 150 BILL_CUST > 2 AND BILL_CUST < 5 17. Аномалии схем базы данных. Функциональные зависимости. Аномалии – это проблемы, возникающие в данных из-за дефектов проектирования БД. Существуют три вида аномалий: вставки, удаления и модификации. Аномалии вставки проявляются при вводе данных в дефектную таблицу. Добавляя информацию о новом сотруднике, мы должны добавить номер и название отдела. Аномалии удаления возникают при удалении данных из дефектной схемы. Предположим, что все сотрудники отдела 128 уволились в один и тот же день. После удаления записей этих сотрудников в БД больше не будет ни одной записи, содержащей информацию об отделе 128. Аномалии модификации возникают при изменении данных дефектной схемы. Предположим, что отдел 128 решили переименовать в отдел передовых технологий. Необходимо изменить соответствующие данные о каждом сотруднике отдела. Если мы пропустим хотя бы одну запись, возникнет аномалия модификации. Если даны два атрибута X и У некоторого отношения, то говорят, что У функционально зависит от Х, если в любой момент времени каждому значению Х соответствует ровно одно значение У. Зависимость при которой каждый неключевой элемент зависит от всего составного ключа и не зависит от его частей называется полной функциональной зависимостью. Если атрибут А зависти от В , а атрибут В зависит от С, но обратная зависимость отсутствует, то зависимость А от С наз. Транзитивной. Многозначная зависимость: один атрибут многозначно определяет др. атрибут того же отношения, если для каждого значения одного атрибута существует множество соответствующих значений второго атрибута. Многознаяная зависимость м.б : (1:М) (М:1) (М:М) Сотрудники_отделения: Nсотр -> ФИО, Адрес, Должность, З/П, Nотд, Адрес_отд, Nтел_отд. Nотд -> Адрес_отд, Nтел_отд. Адрес_отд -> Nотд, Nтел_отд. Nтел_отд -> Nотд, Адрес_отд. Первичный ключ - Nотд, поскольку все остальные атрибуты функционально зависят отNотд. 18. Основные понятия БД: СУБД, модели данных, предметная область. База данных – это интегрированная совокупность структурированных и взаимосвязанных данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных. Обычно база данных создается для предметной области. Предметная область – часть реального мира, подлежащая изучению с целью автоматизации процесса управления в этой сфере (например, банк, академия, больница). Система управления базой данных (СУБД) – программа, которая управляет всем доступом к базе данных. Система управления базами данных основывается на использовании определенной модели данных. Модель данных – это метод (принцип) логической организации данных, реализуемый в СУБД. 19. Классификация моделей данных. Модель сущность-связь Модель, которая выражает информацию о предметной области в виде независимом от используемой СУБД, называется инфологической или семантическая модель (используется на ранних стадиях проектирования приложений). Даталогические– служат для описания структур данных в виде зависимом от используемой СУБД. Физическая - оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной операционной среде.  20. Поиск записей, модификация наборов данных Поиск- это нахождение записи, удовлетворяющей определенным условиям, и возврат значений ее полей с возможным переходом на найденную запись. При организации поиска записей важное значение имеет наличие индекса для полей, по которым ведется поиск. Индексирование значительно повышает скорость обработки данных, кроме того, ряд методов может работать только с индексированными полями. К средствам поиска можно отнести методы FindFirst, FindLast, FindNext и FindPrior, осуществляющие переход на записи, удовлетворяющие условиям фильтра. Модификация набора данных представляет собой редактирование, добавление и удаление его записей. Модифицируемость набора данных зависит от различных условий. Разработчик может разрешить или запретить изменение набора данных с помощью соответствующих свойств. 21. Операции над отношениями: объединение, пересечение, вычитание Объединением множеств A и B называется множество элементов, принадлежащих по крайней мере одному из данных множеств (т. е. либо A, либо B, либо одновременно и A и B). Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение , и отношение , то в объединение он входит один раз. Пересечением множеств A и B называется множество элементов, принадлежащих одновременно и A и B. Разностью множеств A и B называется множество элементов, принадлежащих A и не принадлежащих B. (А минус B). 22. Оператор SELECT: примеры использования SELECT Ключевое слово, которое сообщает базе данных о том, что оператор является запросом. Все запросы начинаются с этого слова, за ним следует пробел. Column_list Список столбцов таблицы, которые выбираются запросом. Столбцы, не указанные в операторе, не будут включены в результат. Если необходимо вывести данные всех столбцов, можно использовать сокращенную запись. Звездочка (*) означает полный список столбцов. FROM table_name Ключевое слово, которое должно присутствовать в каждом запросе. После него через пробел указывается имя таблицы, являющейся источником данных. snum | sname | city | comm | | Peel | London | 0,12 | | Serres | San Jose | 0,13 | | Axelrod | New York | 0,1 | | Motika | London | 0,11 | | Rifkin | Barcelona | 0,15 | · Необходимо вывести список продавцов, и отобразить их имена (sname) SELECT sname FROM Salespeople · Необходимо вывести комиссионные (comm) продавцов в виде процентов, а не десятичных чисел и изменить название столбца SELECT snum, sname, city, comm * 100 AS 'percent' FROM Salespeople · Вывести города без повторения SELECT DISTINCT city FROM salespeople · Пример – сортировка по возрастанию: SELECT * FROM Salespeople ORDER BY sname ASC · Пример – сортировка по убыванию: SELECT * FROM Salespeople ORDER BY sname DESC 23. Операции над отношениями: произведение, деление, выборка, проекция Операция Выборка позволяет выбрать из отношения только те кортежи, которые удовлетворяют заданному условию. Пусть даны следующие соотношения: Персоны Имя Возраст Вес Harry 34 80 Sally 28 64 George 29 70 Helena 54 54 Peter 34 80 Тогда результаты выборок будут следующими: Имя Возраст Вес Harry 34 80 Helena 54 54 Peter 34 80 SELECT * FROM Персоны WHERE Возраст >= 34 При Проекции отношения на заданный набор его атрибутов получается новое отношение, создаваемое посредством извлечения из исходного отношения кортежей, содержащих указанные атрибуты. SELECT DISTINCT Возраст, Вес FROM Персоны При Умножении (декартовом произведении) двух отношений получается новое отношение, кортежи которого являются сцеплением (конкатенацией) кортежей первого и второго отношений. Эквивалентный SQL-запрос: SELECT * FROM Мультфильмы, Каналы Реляционное деление: целом, из таблицы A берутся значения строк, для которых присутствуют все комбинации значений из таблицы B. 24. Агрегатные функции Агрегатные функции используются в запросах SQL, чтобы из группы записей сформировать одиночное значение одного поля. Имеются следующие агрегатные функции: AVG - Функция возвращает среднее арифметическое значение из всех значений данного поля. Предположим, нам требуется выяснить средний стаж всех сотрудников предприятия. Такие данные могут быть сформированы следующим запросом: SELECT AVG (Стаж) FROM LichData; MAX - Функция возвращает максимальное значение указанного поля. Синтаксис аналогичен функции AVG. MIN - Функция возвращает минимальное значение указанного поля. Синтаксис аналогичен функции AVG. SUM - Функция возвращает максимальное значение указанного поля. Синтаксис аналогичен функции AVG. COUNT - Функция возвращает общее количество строк, сформированных запросом. С помощью агрегатных функций можно формировать более сложные значения. Предположим, у нас есть таблица покупателей. В ней указан покупатель, код приобретенного товара, его стоимость и количество. Если требуется, например, вычислить общую сумму проданного товара, то можно выполнить запрос: SELECT SUM (Стоимость * Количество) FROM Pokupateli; |