Студопедия — Гайдамакин Н. А. 8 страница
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Гайдамакин Н. А. 8 страница






SELECT... — выбрать данные из базы данных;

INSERT... — добавить данные в базу данных;

UPDATE... — обновить данные в базе данных;

DELETE... — удалить данные;

GRANT... — предоставить привилегии пользова­телю;

REVOKE... — отменить привилегии пользователю;

COMMIT... — зафиксировать текущую транзак­цию;

ROLLBACK... — прервать текущую транзакцию.

Важное значение имеют разновидности инструкции SELECT—SELECT... INTO... (выбрать из одной или несколь­ких таблиц набор записей, из которого создать новую таблицу) и UNION SELECT, которая в дополнении с исходной инструк­цией SELECT (SELECT... UNION SELECT...) реализует опера­цию объединения таблиц.

Помимо предложения CONSTRAINT в SQL-инструкциях используются следующие предложения:

FROM... — указывает таблицы или запросы, которые содержат поля, перечисленные в инструкции SELECT;

WHERE... — определяет, какие записи из таблиц, пе­речисленных в предложении FROM, следует включить в резуль­тат выполнения инструкции SELECT, UPDAТЕ или DELETE;

GROUP BY... — объединяет записи с одинаковыми зна­чениями в указанном списке полей в одну запись;

НАVING... — определяет, какие сгруппированные за­писи отображаются при использовании инструкции SELECT спредложением GROUP BY;

IN... — определяет таблицы в любой внешней базе данных, с которой ядро СУБД может установить связь;

ORDERBY... — сортирует записи, полученные в резуль­тате запроса, в порядке возрастания или убывания на основе значений указанного поля или полей.

В качестве источника данных по предложению FROM, помимо таблиц и запросов, могут использоваться также результаты операций соединения таблиц в трех разновидностях— INNER JOIN... ON..., LEFT JOIN...ON... и RIGHT JOIN...ON... (внутреннее соединение, левое и правое внешнее соединение, соответственно*).

* Особенности разновидностей операций соединения рассматриваются в п. 4.3.2.1.2.

 

Предикаты используются для задания способов и режи­мов использования записей, отбираемых на основе условий в инструкции SQL. Такими предикатами являются:

ALL... — отбирает все записи, соответству­ющие условиям, заданным в инст­рукции SQL, используется по умол­чанию;

DISTINCT... — исключает записи, которые содер­жат повторяющиеся значения в выбранных полях;

DISTINCTROW... — опускает данные, основанные на целиком повторяющихся записях, а не на отдельных повторяющихся полях;

ТОРп... — возвращает п записей, находящих­ся в начале или в конце диапазона, описанного с помощью предложе­ния ORDER BY;

Выражениями в инструкциях SQL являются любые ком­бинации операторов, констант, значений текстовых констант, функций, имен полей, построенные по правилам математичес­ких выражений и результатом которых является конкретное, в том числе и логическое значение.

Язык SQL, конечно же, с точки зрения профессиональных программистов построен довольно просто, но, вместе с тем, как уже отмечалось, надежды на то, что на нем станут общаться с базами данных пользователи-непрограммисты, не оправдались. Причина этого, вероятно, заключается в том, что, несмотря на простоту, язык SQL все же является формализованным искус­ственным языком, осваивание и использование которого в боль­шинстве случаев тяготит конечных пользователей. Исследова­ния основ и способов интерфейса человека с компьютером, эр­гономических и психологических основ работы с компьютерной информацией, проведенные в конце 70-х и в 80-х годах, показа­ли, что пользователи-специалисты в конкретных предметных областях (а не в области вычислительной техники и програм­мирования) более склонны к диалогово-визуальным формам работы с вычислительными системами и компьютерной инфор­мацией.

Поэтому с конца 80-х годов в развитии СУБД наметились две тенденции:

• СУБД для конечных пользователей;

• СУБД для программистов (профессионалов).

В СУБД для конечных пользователей имеется развитый набор диалоговых и визуально-наглядных средств работы с ба­зой данных в виде специальных диалоговых интерфейсов и по­шаговых «мастеров», которые «ведут» пользователя по пути выражения им своих потребностей в обработке данных. Напри­мер, при создании новой таблицы соответствующий «мастер» последовательно запрашивает у пользователя имя таблицы, имена, типы и другие параметры полей, индексов и т. д. При этом интерфейсная часть СУБД формирует для ядра СУБД (ма­шины данных) соответствующую и порой весьма сложную ин­струкцию SQL.

В профессиональных СУБД язык базы данных (SQL) до­полняется элементами, присущими процедурным языкам про­граммирования — описателями и средствами работы с различ­ного типа переменными, операторами, функциями, процедура­ми и т. д. В результате формируется специализированный на работу с данными декларативно-процедурный язык высокого уровня, который встроен в СУБД (точнее надстроен над ядром СУБД). Такие языки называют «включающими» (см. рис. 2.1). На основе включающего языка разрабатываются полностью автономные прикладные информационные системы, реализу­ющие более простой и понятный для специалистов в опреде­ленной предметной области (скажем, в бухгалтерии) интерфейс работы с информацией.

С учетом этапов в развитии программных средств СУБД такие языки получили название языков четвертого поколе­ния — 4GL (Forth Generation Language). Языки 4GL могут быть непосредственно встроены в сами СУБД, а могут существовать в виде отдельных сред программирования. В последнем слу­чае в таких средах разрабатываются прикладные части инфор­мационных систем, реализующие только интерфейс и высоко­уровневые функции по обработке данных. За низкоуровневым, как говорят, «сервисом» к данным такие прикладные системы обращаютсяк SQL-серверам, являющимися отдельными спе­циализированными разновидностями СУБД. «Общение» меж­ду прикладными системами и SQL-серверами происходит со­ответственно на языке SQL.

Свои языки 4GL имеют практически все развитые профес­сиональные СУБД—Orac/e, SyBase, Informix, Ingres, DB2, оте­чественная СУБД ЛИНТЕР. Распространенными отдельными средами программирования для создания информационных си­стем в настоящее время являются системы Visual Basic фирмы Microsoft и Delphi фирмы Borland Intemational. Кроме того, уже упоминавшиеся CASE-средства автоматизированного проекти­рования — PowerBuilder фирмы PowerSoft, Oracle Designer фирмы Oracle, SQLWindows фирмы Gupta и др., также, как правило, имеют свои встроенные языки 4GL.

В заключение следует отметить, что в последнее время на­метилась тенденция встраивания развитых языков уровня 4GL и в СУБД для конечных пользователей. В качестве примера можно привести СУБД Access фирмы Microsoft, имеющей один из наиболее развитых интерфейсов по созданию и работе с ба­зами данных для конечных пользователей, и в то же время ос­нащенной встроенным языком уровня 4GL — VBA (Visual Basic for Application), являющегося диалектом языка Visual Basic.

4.2. Ввод, загрузка и редактирование данных

Базы данных создаются для удовлетворения информаци­онных потребностей пользователей. Однако для выполнения этой главной задачи базу данных необходимо не только пра­вильно организовать и построить, но и наполнить самими дан­ными. Как правило, эта задача требует больших затрат особен­но на начальном этапе ввода информационных систем в эксп­луатацию. Поэтому способам, удобству ввода и редактирования данных в СУБД всегда придавалось и придается важное значе­ние.

4.2.1. Ввод и редактирование данных в реляционных СУБД

В настоящее время можно выделить четыре основных спо­соба ввода, загрузки и редактирования данных в современных реляционных СУБД:

• непосредственный ввод и редактирование данных в таб­личном режиме;

• ввод и редактирование данных через формы;*

• ввод, загрузка и редактирование данных через запросы на изменения;

• ввод данных через импорт из внешних источников.

* Если формы предназначены только для ввода, просмотра и изменения данных их еще называют входными (вводными) формами.

 

Ввод данных в табличном режиме и через формы явля­ется наиболее естественным с точки зрения табличного характера организации данных в реляционных СУБД. Как отмеча­лось при рассмотрении реляционной модели организации дан­ных, единичным элементом информации, имеющим отдельное смысловое значение, является кортеж, т. е. табличная строка-запись, состоящая из дискретного набора значений по полям таблицы. Иначе говоря, данные в реляционные базы вводятся или удаляются кортежами-записями.

Отображать кортежи-записи можно двумя способами, располагая поля записи вертикально или горизонтально (см. рис. 4.4 и рис. 4.5).

Рис. 4.4. Вертикальный способ расположения полей записей

В первом случае пользователь «видит» и имеет доступ, как правило, сразу ко всем полям одной записи и его внимание со­средоточивается на одной записи как отдельном объекте. Запи­си располагаются друг за другом вертикально, и на экране ком­пьютера обеспечивается вертикальная прокрутка (скроллинг) записей.

Рис. 4.5. Горизонтальный способ расположения полей записей

Во втором способе каждая запись отображается в виде таб­личной строки и на экране может отображаться не одна, а не­сколько строк, что дает возможность пользователю производить анализ и просмотр сразу группы записей. Вместе с тем при до­статочно большом количестве полей (столбцов) таблицы все они могут не уместиться на экране по горизонтальным строкам. В этом случае пользователь видит сразу не всю запись (записи), а лишь некоторый вертикальный фрагмент, и восприятие записи как отдельного объекта несколько расплывается. Для просмот­ра всех полей организуется их горизонтальная прокрутка. С уче­том того что, как правило, ключевые поля располагаются пер­выми в строках-записях, при использовании горизонтальной прокрутки происходит «отрыв» ключевой информации, иден­тифицирующей каждую конкретную строку, от информации по другим полям записи.

Таким образом, и тот и другой способ отображения запи­сей имеет свои преимущества и недостатки. Практически все реляционные СУБД предоставляют возможность работы с дан­ными и тем и другим способом.

Реализация непосредственного ввода данных в табличном режиме или через формы осуществляется через «открытие» соответствующей таблицы базы данных. При открытии таб­лицы страницы файла данных, содержащие просматриваемые записи таблицы, помещаются в буферы оперативной памяти и отображаются в том или ином режиме. Непосредственный ввод и корректировка данных при этом осуществляются через ис­пользование табличного курсора, позаимствованного из тех­нологии работы в табличных редакторах.

В табличном режиме табличный курсор может свободно перемещаться по ячейкам таблицы, определяя в каждый мо­мент так называемую текущую строку и текущую ячейку. Вво­димые с клавиатуры данные автоматически помещаются в те­кущую ячейку, т. е. имитируется работа с таблицами в таблич­ных редакторах. Вместе с тем по сравнению с табличными редакторами имеется все же одно принципиальное отличие. Единичным элементом ввода данных в СУБД, как уже отмеча­лось, является кортеж-запись, т. е. табличная строка целиком, а не отдельно взятая ячейка. Поэтому СУБД в режиме открытой таблицы явно (через специальные команды) или неявно (при перемещении табличного курсора на другую строку) осуществ­ляет фиксацию изменений в существующей строке или фикси­рует новую строку в файле базы данных, т. е. фиксирует соот­ветствующую транзакцию. При этом проверяется соответствие введенных или откорректированных данных установленным типам полей, уникальность значений ключевых полей, выпол­нение других ограничений целостности данных. Если обнару­живается какое-либо несоответствие, то отвергается фиксация сразу всей строки, а не конкретной ячейки.

Ввод новой записи осуществляется через активизацию в конце таблицы специальной «пустой» строки открытой табли­цы. В некоторых случаях таблицы могут открываться только для ввода новых данных—так называемый режим открытия на добавление. В этом случае в открытой таблице показывает­ся только одна «пустая» строка для ввода новых данных.

Вертикальный способ отображения полей записей в совре­менных СУБД вместе с идеями электронных бланков трансфор­мировался в технику форм. Естественным и интуитивно-понят­ным способом работы со структурированной информацией для большинства «обычных»* людей являются всевозможные блан­ки, анкеты и т.п. «бумажные» формы. Формы в СУБД как раз и выполняют функции предоставления пользователям привычно­го интерфейса при вводе структурированных данных с имита­цией «заполнения» бланков, анкет и т.п.

* То есть в данном контексте не являющихся профессиональными программистами.

 

Таким образом, форма в СУБД представляет собой специ­альный экранный объект, включающий поля для ввода данных одной записи базовой таблицы и другую поясняющую инфор­мацию. На рис. 4.6 приведен пример формы для ввода, про­смотра и изменения данных в таблице «Сотрудники» базы дан­ных известной организации.

Рис. 4.6. Пример формы для ввода/просмотра/изменения данных

Записи соответствующей таблицы через форму «прокручи­ваются» по вертикали. Присутствует также аналог табличного курсора, определяющий текущее поле для ввода/изменения дан­ных. Так же как и в табличном режиме, форма может откры­ваться только на ввод новых данных, т.е. в режиме добавления без возможности просмотра ранее введенных в таблицу дан­ных.

Форма может отображать записи или предоставлять воз­можность для ввода новых записей одной (базовой) таблицы. Однако идея экранных форм в реляционных СУБД оказалась более плодотворной, чем просто предоставление удобств для ввода/просмотра сразу всех полей одной записи. В определен­ных случаях «бумажная» информационная технология, которую автоматизирует банк данных АИС, предусматривает накопле­ние и образование данных сразу в комплексе по ряду информа­ционных задач. К примеру, при ведении учета командировок сотрудников в бухгалтерии используются специальные блан­ки, в которых отображается информация по сотруднику (ФИО, Подразделение, Должность, Сл. тел.) и данные собственно по командировке (Дата начала. Дата окончания, Полученный аванс, Фактические расходы, Пункты назначения, Служебные зада­ния). При проектировании базы данных для автоматизации та­кого учета, исходя из требований нормализации таблиц, перечисленные выше в «бумажном» бланке данные распределяют­ся сразу по нескольким связанным таблицам «Сотрудник», «Командировка», «Пункты», «Служебные задания».

Техника форм СУБД предоставляет возможность создавать «комплексные» электронные бланки для ввода информации сра­зу в несколько связанных таблиц. Такие формы называются структурными (сложными) и обеспечивают естественный в технологическом плане совместный ввод данных в связанные таблицы. Чаще всего такой способ позволяет вводить и про­сматривать записи, находящиеся в таблицах, связанных отно­шением «Один-ко-многим». При прокрутке записей в главной форме, отражающей записи базовой таблицы на стороне «один», в структурных элементах, называемых иногда «подчиненными» формами, прокручиваются связанные записи из таблиц на сто­роне «многие». На рис. 4.7 приведен пример такой формы.

Рис. 4.7. Пример формы для ввода данных в таблицы, связанные отношением «Один-ко-многнм»

Зачастую при создании базы данных новой АИС часть дан­ных уже имеется в электронном виде в других, ранее создан­ных базах данных. Если это базы данных того же формата, т. е. созданные и функционирующие под управлением той же СУБД, или другой реляционной СУБД, поддерживающей основанный на языке SQL специальный протокол обмена данными между реляционными СУБД — ODBC* (Open Database Connectivity), то имеется возможность вводить, или, как в этом случае гово­рят, загружать данные из таблиц, находящихся в файлах дру­гих (внешних) баз данных. Такая загрузка реализуется на осно­ве техники запросов на изменение данных, в качестве источни­ков которых указываются таблицы в других БД.**

* Стандартный протокол доступа к данным на серверах баз данных SQL...

** Запросы на изменения данных рассматриваются в п. 4.3.2.2.

 

Ряд СУБД предоставляет возможность загружать таблич­ные данные, созданные и находящиеся под управлением не СУБД, а приложений другого типа — табличных и текстовых редакторов. В этом случае говорят об импорте данных из вне­шних источников. Ввод данных при этом осуществляется на основе «знания» СУБД формата внешних табличных данных и соответствующей их трансформации в структуры реляционных таблиц. Некоторые СУБД предоставляют возможность ввода в реляционные таблицы текстовых данных, размеченных специ­альными разделителями на последовательно расположенные дискретные порции. Каждая такая порция помещается в соот­ветствующее поле табличной строки по принципу последова­тельного заполнения строк таблицы «Слева-направо, Сверху-вниз». При этом СУБД проверяет соответствие вводимых зна­чений установленным типам полей, а также другим параметрам полей и ограничениям целостности данных.

Таким образом, в современных реляционных СУБД имеет­ся развитый арсенал возможностей по вводу и загрузке дан­ных, который позволяет эффективно решать задачи по напол­нению БД данными.

4.2.2. Особенности ввода и загрузки данных в СУБД с сетевой моделью организации данных

Характерной особенностью логической и физической структуры данных в сетевых СУБД, как уже отмечалось, явля­ется хранение информации по связям между информационны­ми объектами как отдельных самостоятельных объектов — на­боров экземпляров связей. В результате более сложная, чем в реляционных СУБД структура данных, определяет использо­вание в сетевых СУБД преимущественно нелинейных струк­тур физической организации данных, что обеспечивает более эффективный доступ к данным, но вместе с тем вызывает по­вышенные затраты на изменения (добавление, удаление, редак­тирование) данных. Любые процессы модификации данных в большинстве случаев приводят к необходимости «перетряски» всего банка данных, что чрезвычайно замедляет ввод и редак­тирование данных.

Поэтому вСУБД с сетевой организацией данных непос­редственный ввод данных (ручной ввод с клавиатуры) чаще всего построен по принципу «стакана и емкости». Сначала данные вводятся в так называемое «входное сообщение». Спе­циальный интерфейс в таких СУБД предоставляет пользовате­лю возможности ввода данных во входное сообщение по ана­логии с непосредственным вводом данных в реляционных СУБД — табличном режиме или в режиме форм. При этом дан­ные физически размещаются во временном файле — стакане. Кроме того, в отличие от реляционных СУБД, пользователь может вводить данные сразу в различные (связанные) табли­цы, непосредственно «переходя» по полям-отсылкам из одного объекта (таблицы) в другой.

После подготовки файла входного сообщения, который раз­мещается, так же как и файл базы данных, на внешней диско­вой памяти, осуществляется загрузка входного сообщения в базу данных, т.е. «стакан» выливается в «емкость».* СУБД при этом «перетасовывает» всю базу данных, вставляя новые, изменяя месторасположение «старых» записей, модифицируя физичес­кие адреса отсылок и т.д.

* Отсюда, собственно, исторически и возникли различия в понимании терминов «ввод» и «загрузка».

 

Дополнительной проблемой при этом является отожде­ствление новых и старых записей. В реляционных СУБД эта проблема решается исключительно на основе уникальности значений ключевых полей. Новая запись с уже существующим значением ключевого поля в реляционных СУБД автоматичес­ки отвергается и данные по ней можно ввести только путем корректировки полей уже существующей записи с соответству­ющим значением ключевого поля.*

* В этом, кстати, проявляется один существенный недостаток реляционных СУБД—отсутствие возможностей темпорального отображения данных, т.е. отобра­жения данных с предысторией их изменения.

 

В сетевых СУБД, ввиду поддержки полей с множествен­ным характером значений, обеспечивается «слияние» данных. При слиянии записей из входного сообщения с уже существу­ющими записями в базе данных поля с множественным типом значений объединяются, а по полям с единичным характером значений устанавливаются дифференцированный режим заме­ны или отвержения нового значения.

4.3. Обработка данных

Обработка данных представляет собой емкое понятие, включающее широкий набор различных функций и операций по удовлетворению информационных потребностей пользова­теля. Тем не менее в технологическом плане этот широкий на­бор удобно разделить на три группы:

• поиск, фильтрация и сортировка данных;

• запросы к базе данных;

• механизм реализации событий, правил (триггеров) и про­цедур в базе данных.

На практике работа пользователя с базой данных может включать сразу весь комплекс операций, однако с методичес­кой точки зрения целесообразно рассмотреть их последователь­но.

4.3.1. Поиск, фильтрация и сортировка данных

Операции по поиску, фильтрации и сортировке данных ре­ализуют самые простые информационно-справочные потреб­ности пользователей, но являются, вероятно, наиболее часты­ми при работе с базами данных.

Отличительная особенность операций по поиску, фильтра­ции и сортировке данных заключается в том, что они осуще­ствляются в режиме открытой таблицы или формы. Забегая несколько вперед, следует отметить главную отличительную особенность этих операций по сравнению с запросами на вы­борку к базам данных — результатом операций по поиску или фильтрации данных является изменение состояния просмот­ра открытой таблицы (формы), но не самих данных, которые физически остаются в той же таблице и в том же порядке. На­пример, результатом поиска какой-либо конкретной записи в открытой таблице является установление табличного курсора на ключевое поле искомой записи-строки или «показ» (отобра­жение) в открытой форме полей искомой записи.

Собственно поиск данных реализуется в виде:

• поиска записи по ее номеру;

• поиска записи (записей) по значению (значениям) какого-либо поля;

• поиска записей с помощью фильтров (фильтрация).

Поиск записи по ее номеру производится на основе механизма распределения записей по страницам файла данных. Ре­зультатом такого поиска является перевод табличного курсора в ключевое поле соответствующей записи или «показ» в форме полей искомой записи.

Поиск записи по значению поля осуществляется также на основе механизма распределения записей по страницам файла данных с использованием техники вхождения образца в значе­ния просматриваемого поля. Результатом поиска является ус­тановка табличного курсора в соответствующее поле найден­ной записи. Если записей с искомым значением выделенного поля несколько, тогда, как правило, реализуется последователь­ная «остановка» (последовательный просмотр) табличного кур­сора в соответствующих полях найденных записей.

Фильтр представляет собой набор условий, применяемых для отбора подмножества записей. Результатом фильтрации является «показ» (отображение) в открытой таблице или фор­ме только отфильтрованных записей с временным «скрытием» всех остальных записей. При этом остальные записи физичес­ки никуда не перемещаются, не удаляются и вновь отобража­ются в открытой таблице после «снятия» фильтра.

Набор условий, определяющих фильтр, формируется в раз­личных СУБД по-разному, но общепринятым является исполь­зование выражений в условиях отбора данных. Под выраже­нием в данном случае понимается структура, подобная обыч­ному математическому выражению. Аргументами выражения могут быть числа, даты, текст, имена полей, которые соединя­ются знаками математических операций, неравенств (+, -, *, /, >, <, =) и логических операций (AND, OR, NOT). При этом тек­стовые значения и аргументы заключаются в кавычки («Ива­нов»), даты в символы # (#01.01.98#).

Как отмечалось при рассмотрении реляционной модели данных, строки в таблицах формируются и хранятся в неупорядоченном виде. Вместе с тем одной из простых, но частых информационных потребностей пользователя при работе с ба­зой данных является как раз упорядочение записей по возрас­танию/убыванию или по алфавиту по определенному полю (например, по полям дат, по полям с размерами должностных окладов, по полю с фамилией сотрудников и т. п.). Такие про­цедуры реализуются сортировкой данных, которая упорядо­чивает последовательность расположения строк открытой таб­лицы по значениям какого-либо поля. При этом в файле базы данных строки таблицы физически остаются не упорядочен­ными. Иначе говоря, сортировка строк открытой таблицы про­исходит только в буферах страниц в оперативной памяти. Но­вый порядок расположения строк таблицы (т. е. их размещение по страницам файла БД) может быть зафиксирован специаль­ной командой при закрытии таблицы.

При больших объемах таблиц (при большом количестве строк-записей) операции сортировки могут занимать продол­жительное время, которое существенно сокращается, если сор­тировка осуществляется по индексированному полю. В этом плане опыт эксплуатации базы данных может привести к уточ­нению списка индексированных полей в таблицах.

4.3.2. Запросы в реляционных СУБД

Запросы являются наиболее распространенным видом об­работки данных при решении пользователями АИС темати­ческих, логических, статистических и технологических инфор­мационных задач. Иначе говоря, для удовлетворения сложных информационных потребностей пользователи «общаются» с базой данных через запросы.

Запрос представляет собой спецификацию (предписание) на специальном языке (языке базы данных) для обработки дан­ных. В реляционных СУБД запросы к базе данных выражают­ся, соответственно, на языке SQL.

Формирование запросов в СУБД может осуществляться в специальном редакторе (командный режим) или через нагляд­но-диалоговые средства (конструкторы) и пошаговые масте­ра формирования запросов. Сформированный запрос в виде SQL-инструкции сохраняется в файле базы данных и впослед­ствии специальной командой СУБД может запускаться (откры­ваться) на выполнение.

Все многообразие запросов можно проклассифицировать схемой, приведенной на рис. 4.8. Сточки зрения решаемых ин­формационных задач и формы результатов исполнения запро­сов их можно разделить на три группы:

• запросы на выборку данных;

• запросы на изменение данных;

• управляющие запросы.

4.3.2.1. Запросы на выборку данных

Запросы на выборку применяются для решения темати­ческих, логических и статистических информационных задач и относятся к одному из наиболее часто применяемых видов запросов. Данный вид запросов реализуется SQL-инструкцией SELECT с предложением FROM.

Результатом исполнения запроса на выборку является набор данных, который представляет временную таблицу данных со структурой (поля, их типы и параметры), определяемой параметрами запроса и параметрами полей таблиц, из которых выбираются данные. В отличие от режимов поиска и фильтра­ции запросами на выборку данные выбираются из «не откры­тых» таблиц базы данных. Результаты запросов на выборку по­мещаются в специальную временную таблицу, размещаемую на период исполнения («открытия») запроса в оперативной па­мяти. В этом смысле с точки зрения дальнейшей обработки дан­ных запрос (как результат) в реляционных СУБД тождественен просто таблице данных, «открытие» которой осуществля­ется в результате выполнения запроса. Из этого следует возможность исполнения запросов над запросами, точнее над результатами исполнения других запросов, что существенно об­легчает построение сложных запросов при решении логичес­ких и статистических информационных задач.

Рис. 4.8. Классификация запросов в реляционных СУБД

В большинстве СУБД наборы данных, формируемые зап­росами на выборку, являются динамическими. Динамичность означает, что с результатом исполнения запроса можно произ­водить все те же операции, что и с данными в режиме откры­той таблицы. Иначе говоря, изменения данных, осуществляе­мые в наборе данных, сформированных по запросу, фиксиру­ются в исходных таблицах, из которых выбираются данные, и, наоборот, — изменения данных в исходных таблицах, если они производятся в открытых таблицах после исполнения запроса, отображаются в наборе данных по результатам «открытого», т. е. исполняемого в это же время, запроса.







Дата добавления: 2015-08-12; просмотров: 547. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Дизартрии у детей Выделение клинических форм дизартрии у детей является в большой степени условным, так как у них крайне редко бывают локальные поражения мозга, с которыми связаны четко определенные синдромы двигательных нарушений...

Studopedia.info - Студопедия - 2014-2024 год . (0.046 сек.) русская версия | украинская версия