Краткий обзор реляционных систем управления базами данных. Обзор систем управления базами данных Наиболее популярные субд




Если вы планируете участвовать в сколь угодно серьезной разработке, знать базы данных - жизненно необходимо. Они повсюду, даже если вы об этом не догадываетесь. Рейтинг PYPL , который вычисляет популярность , и баз данных, выделяет 14 систем управления базами данных, которыми пользуется, по крайней мере, 1% пользователей. PYPL индексирует популярность исходя из количества запросов в поиске Google. Согласно обработке результатов коллективного разума, по состоянию на октябрь 2017 года самой популярной базой данных остается Oracle с результатом 32.26%. Эта кроссплатформенная СУБД - старейшина мира баз данных. Сложно поверить, но, первая версия, которая по неизвестным нам причинам называется Oracle v2, вышла ещё в 1979 году. Самая новая на сегодняшний день - Oracle 12.2 - в сентябре 2016 года. Базу данных Oracle чаще всего используют крупные компании, но есть и бесплатная версия, если захотите потренироваться, чтобы затем найти работу, связанную со «взрослой» версией. Называется она Oracle Database Express Edition, её можно загрузить с сайта Oracle . Разумеется, она имеет большое количество ограничений (она использует до 1 ГБ ОЗУ, только 1 процессор, всего одна БД до 11 ГБ).

Второе место досталось MySQL . Те, кто изучал базы данных в университете или пробовал освоить их самостоятельно, скорее всего, пользовались этой бесплатной базой данных. Это интересное решение для средних и малых приложений, сейчас также принадлежит Oracle. Кстати, во владения этой компании MySQL перешла вместе с нашим любимым языком Java, в процессе поглощения Sun Microsystems. Согласно данным PYPL, MySQL интересует 21.15% от общего числа пользователей или программистов.

На третьем месте с комфортом и 16.78% расположилась SQL Server производства Microsoft. Эта СУБД отлично подходит для управления базами данных самого разного размера, от персональных до Enterprise. Она также на рынке уже очень давно, хоть и на декаду меньше, чем Oracle: датой её рождения считается 24 апреля 1989 года. Как и подавляющее число продуктов Microsoft, SQL Server - платная (в случае с Enterprise-версией - даже очень платная), но есть и бесплатные варианты. Самый простой из них - SQL Server Express, она хорошо подходит для учебных целей и её можно развернуть на малых серверах или обычных компьютерах. Размер базы данных - до 10 ГБ. Также есть бесплатная версия для программистов. Предназначена она для создания, тестирования и демонстрации приложения на базе «настоящей» SQL Server. За продуктом Microsoft с большим отрывом следует PostgreSQL . Эта opens-source разработка Калифорнийского университета в Беркли долгое время была в тени своих конкурентов, но в последние годы её доля медленно, но верно растёт. А всё благодаря её бесплатности, лёгкой расширяемости и системе встроенных языков программирования.

Пятое и шестое место достались нереляционным базам данных MongoDB и совсем ещё молодой Firebase. Интерес к обеим явно растёт, особенно к Firebase: по сравнению с октябрём прошлого года, интерес к ней вырос на 1.4% и теперь её результат - 2.19%. Замыкают десятку SQLite, elasticsearch, Apache Hive и DB2.

Рейтинг PYPL популярности СУБД, октябрь 2017 и рост по сравнению с октябрём-2016

Rank Change Database Share Trend
1 Oracle 32.26 % -2.7 %
2 MySQL 21.15 % -0.7 %
3 SQL Server 16.78 % -0.7 %
4 PostgreSQL 3.65 % +0.4 %
5 MongoDB 3.34 % +0.4 %
6 Firebase 2.6 % +1.4 %
7 SQLite 2.19 % -0.0 %
8 elasticsearch 2.1 % +0.5 %
9 Apache Hive 1.99 % +0.2 %
10 ↓↓↓ DB2 1.89 % -0.0 %
А вы уже работали с СУБД? Если да, то с какими?

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

И среди СУБД есть свои фавориты

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

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

Безусловно, самих систем управления базами данных невероятно много, но тех, что у всех на слуху, едва ли наберется с десяток. Чтобы определить, какая из существующих СУБД по праву попадает в список самых популярных, в DB-Engines составили своеобразный рейтинг фаворитов. Для этого специалисты проанализировали ряд факторов: количество упоминаний систем на веб-сайтах (использовались поисковики Google, Yandex и Bing), общий интерес пользователей в Google Trends, упоминания в дискуссиях на специализированных сайтах Stack Overflow и DBA Stack Exchange, на сайтах-агрегаторах вакансий Indeed и Simply Hired, в профессиональных профилях специалистов в Linkedin и Upwork, и, наконец, количество релевантных твитов. Однако отметим, что общее число установок СУБД не считалось, поэтому этот топ получился хоть и интересным, но все-таки относительным. Согласно DB-Engines, первая тройка популярных систем управления выглядит так: Oracle, MySQL, Microsoft SQL Server.

Интересно, что в среде программистов самыми востребованными оказались навыки работы с такими СУБД как MySQL, MongoDB и PostgreSQL, причем Oracle разработчики вообще поставили на последнее место, так как эту систему отметило лишь 12% респондентов (источник: Stack Exchange (Stack Overflow Talent)).

Таким образом, по результатам двух исследований видим, что пока пользователи больше всего интересуются системой MySQL. Возможно, не последнюю роль здесь играет тот факт, что это продукт с открытым исходным кодом. К слову, именно по этой причине в 2016 году в MySQL было устранено самое большое количество уязвимостей - 133. И этот факт совсем не означает, что сама система плохо защищена, а наоборот свидетельствует о том, что ее работоспособность проверяло большее число специалистов, что увеличило шансы на определение ее «слабых мест» в информационной безопасности.

Распространенные угрозы безопасности

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

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

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

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

Чтобы лучше разобраться в СУБД, ознакомьтесь с .

Реляционные системы управления базами данных

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

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

Отношения и типы данных

Отношения можно определить как математические множества, содержащие наборы атрибутов, отображающие хранящуюся информацию.

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

Такого рода ограничения обычны для реляционных баз данных. Фактически, они и формируют суть отношений.

Популярные РСУБД

В этой статье мы расскажем о 3 наиболее популярных РСУБД:

  • SQLite: очень мощная встраиваемая РСУБД.
  • MySQL: самая популярная и часто используемая РСУБД.
  • PostgreSQL: самая продвинутая и гибкая РСУБД.

SQLite

SQLite - это изумительная библиотека, встраиваемая в приложение, которое её использует. Будучи файловой БД, она предоставляет отличный набор инструментов для более простой (в сравнении с серверными БД) обработки любых видов данных.

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

Поддерживаемые типы данных

  • NULL: NULL-значение.
  • INTEGER: целое со знаком, хранящееся в 1, 2, 3, 4, 6, или 8 байтах.
  • REAL: число с плавающей запятой, хранящееся в 8-байтовом формате IEEE.
  • TEXT: текстовая строка с кодировкойUTF-8, UTF-16BE или UTF-16LE.
  • BLOB: тип данных, хранящийся точно в таком же виде, в каком и был получен.

Note: для получения более подробной информации ознакомьтесь с документацией .

Преимущества

  • Файловая: вся база данных хранится в одном файле, что облегчает перемещение.
  • Стандартизированная: SQLite использует SQL; некоторые функции опущены (RIGHT OUTER JOIN или FOR EACH STATEMENT), однако, есть и некоторые новые.
  • Отлично подходит для разработки и даже тестирования: во время этапа разработки большинству требуется масштабируемое решение. SQLite, со своим богатым набором функций, может предоставить более чем достаточный функционал, при этом будучи достаточно простой для работы с одним файлом и связанной сишной библиотекой.

Недостатки

  • Отсутствие пользовательского управления: продвинутые БД предоставляют пользователям возможность управлять связями в таблицах в соответствии с привилегиями, но у SQLite такой функции нет.
  • Невозможность дополнительной настройки: опять-таки, SQLite нельзя сделать более производительной, поковырявшись в настройках - так уж она устроена.

Когда стоит использовать SQLite

  • Встроенные приложения: все портируемые не предназначенные для масштабирования приложения - например, локальные однопользовательские приложения, мобильные приложения или игры.
  • Система доступа к дисковой памяти: в большинстве случаев приложения, часто производящие прямые операции чтения/записи на диск, можно перевести на SQLite для повышения производительности.
  • Тестирование: отлично подойдёт для большинства приложений, частью функционала которых является тестирование бизнес-логики.

Когда не стоит использовать SQLite

  • Многопользовательские приложения: если вы работаете над приложением, доступом к БД в котором будут одновременно пользоваться несколько человек, лучше выбрать полнофункциональную РСУБД - например, MySQL.
  • Приложения, записывающие большие объёмы данных: одним из ограничений SQLite являются операции записи. Эта РСУБД допускает единовременное исполнение лишь одной операции записи.

MySQL

MySQL - это самая популярная из всех крупных серверных БД. Разобраться в ней очень просто, да и в сети о ней можно найти большое количество информации. Хотя MySQL и не пытается полностью реализовать SQL-стандарты, она предлагает широкий функционал. Приложения общаются с базой данных через процесс-демон.

Поддерживаемые типы данных

  • TINYINT: очень маленькое целое.
  • SMALLINT: маленькое целое.
  • MEDIUMINT: целое среднего размера.
  • INT или INTEGER: целое нормального размера.
  • BIGINT: большое целое.
  • FLOAT: знаковое число с плавающей запятой одинарной точности.
  • DOUBLE, DOUBLE PRECISION, REAL: знаковое число с плавающей запятой двойной точности.
  • DECIMAL, NUMERIC: знаковое число с плавающей запятой.
  • DATE: дата.
  • DATETIME: комбинация даты и времени.
  • TIMESTAMP: отметка времени.
  • TIME: время.
  • YEAR: год в формате YY или YYYY.
  • CHAR: строка фиксированного размера, дополняемая справа пробелами до максимальной длины.
  • VARCHAR: строка переменной длины.
  • TINYBLOB, TINYTEXT: BLOB- или TEXT-столбец длиной максимум 255 (2^8 – 1) символов.
  • BLOB, TEXT: BLOB- или TEXT-столбец длиной максимум 65535 (2^16 – 1) символов.
  • MEDIUMBLOB, MEDIUMTEXT: BLOB- или TEXT-столбец длиной максимум 16777215 (2^24 – 1) символов.
  • LONGBLOB, LONGTEXT: BLOB- или TEXT-столбец длиной максимум 4294967295 (2^32 – 1) символов.
  • ENUM: перечисление.
  • SET: множества.

Преимущества

  • Простота: MySQL легко устанавливается. Существует много сторонних инструментов, включая визуальные, облегчающих начало работы с БД.
  • Много функций: MySQL поддерживает большую часть функционала SQL.
  • Безопасность: в MySQL встроено много функций безопасности.
  • Мощность и масштабируемость: MySQL может работать с действительно большими объёмами данных, и неплохо походит для масштабируемых приложений.
  • Скорость: пренебрежение некоторыми стандартами позволяет MySQL работать производительнее, местами срезая на поворотах.

Недостатки

  • Известные ограничения: по определению, MySQL не может сделать всё, что угодно, и в ней присутствуют определённые ограничения функциональности.
  • Вопросы надёжности: некоторые операции реализованы менее надёжно, чем в других РСУБД.
  • Застой в разработке: хотя MySQL и является open-source продуктом, работа над ней сильно заторможена. Тем не менее, существует несколько БД, полностью основанных на MySQL (например, MariaDB). Кстати, подробнее о родстве MariaDB и MySQL можно из нашего с создателем обеих РСУБД - Джеймсом Боттомли.

Когда стоит использовать MySQL

  • Распределённые операции: когда вам нужен функционал бо́льший, чем может предоставить SQLite, стоит использовать MySQL.
  • Высокая безопасность: функции безопасности MySQL предоставляют надёжную защиту доступа и использования данных.
  • Веб-сайты и приложения: большая часть веб-ресурсов вполне может работать с MySQL, несмотря на ограничения. Этот инструмент весьма гибок и прост в обращении, что только на руку в длительной перспективе.
  • Кастомные решения: если вы работаете над очень специфичным продуктом, MySQL подстроится под ваши потребности благодаря широкому спектру настроек и режимов работы.

Когда не стоит использовать MySQL

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

PostgreSQL

PostgreSQL - это самая продвинутая РСУБД, ориентирующаяся в первую очередь на полное соответствие стандартам и расширяемость. PostgreSQL, или Postgres, пытается полностью соответствовать SQL-стандартам ANSI/ISO.

PostgreSQL отличается от других РСУБД тем, что обладает объектно-ориентированным функционалом, в том числе полной поддержкой концепта ACID (Atomicity, Consistency, Isolation, Durability).

Будучи основанным на мощной технологии Postgres отлично справляется с одновременной обработкой нескольких заданий. Поддержка конкурентности реализована с использованием MVCC (Multiversion Concurrency Control), что также обеспечивает совместимость с ACID.

Хотя эта РСУБД не так популярна, как MySQL, существует много сторонних инструментов и библиотек для облегчения работы с PostgreSQL.

Поддерживаемые типы данных

  • bigint: знаковое 8-байтное целое.
  • bigserial: автоматически инкрементируемое 8-битное целое.
  • bit [(n)]: битовая строка фиксированной длины.
  • bit varying [(n)]: битовая строка переменной длины.
  • boolean: булевская величина.
  • box: прямоугольник на плоскости.
  • bytea: бинарные данные.
  • character varying [(n)]: строка символов фиксированной длины.
  • character [(n)]:
  • cidr: сетевой адрес IPv4 или IPv6.
  • circle: круг на плоскости.
  • date: календарная дата.
  • double precision: число с плавающей запятой двойной точности.
  • inet: адрес хоста IPv4 или IPv6.
  • integer: знаковое 4-байтное целое.
  • interval [(p)]: временной промежуток.
  • line: бесконечная прямая на плоскости.
  • lseg: отрезок на плоскости.
  • macaddr: MAC-адрес.
  • money: денежная величина.
  • path: геометрический путь на плоскости.
  • point: геометрическая точка на плоскости.
  • polygon: многоугольник на плоскости.
  • real: число с плавающей запятой одинарной точности.
  • smallint: знаковое 2-байтное целое.
  • serial: автоматически инкрементируемое 4-битное целое.
  • text: строка символов переменной длины.
  • time [(p)] : время суток (без часового пояса).
  • time [(p)] with time zone: время суток (с часовым поясом).
  • timestamp [(p)] : дата ивремя (без часового пояса).
  • timestamp [(p)] with time zone: дата и время (с часовым поясом).
  • tsquery: запрос текстового поиска.
  • tsvector: документ текстового поиска.
  • txid_snapshot: снэпшот ID пользовательской транзакции.
  • uuid: уникальный идентификатор.
  • xml: XML-данные.

Преимущества

  • Полная SQL-совместимость .
  • Сообщество: PostgreSQL поддерживается опытным сообществом 24/7.
  • Поддержка сторонними организациями: несмотря на очень продвинутые функции, PostgreSQL используется в многих инструментах, связанных с РСУБД.
  • Расширяемость: PostgreSQL можно программно расширить за счёт хранимых процедур.
  • Объектно-ориентированность: PostgreSQL - не только реляционная, но и объектно-ориентированная СУБД.

Недостатки

  • Производительность: В простых операциях чтения PostgreSQL может уступать своим соперникам.
  • Популярность: из-за своей сложности инструмент не очень популярен.
  • Хостинг: из-за вышеперечисленных факторов проблематично найти подходящего провайдера.

Когда стоит использовать PostgreSQL

  • Целостность данных: если приоритет стоит на надёжность и целостность данных, PostgreSQL - лучший выбор.
  • Сложные процедуры: если ваша БД должна выполнять сложные процедуры, стоит выбрать PostgreSQL в силу её расширяемости.
  • Интеграция: если в будущем вам предстоит перемещать всю базу на другое решение, меньше всего проблем возникнет с PostgreSQL.

Когда не стоит использовать PostgreSQL

  • Скорость: если всё, что нужно - это быстрые операции чтения, не стоит использовать PostgreSQL.
  • Простые ситуации: если вам не требуется повышенная надёжность, поддержка ACID и всё такое, использование PostgreSQL - это стрельба из пушки по мухам.

Microsoft Access – это интерактивная реляционная СУБД (relational database management system – RDBMS) для WINDOWS. Это программа, которую вы можете использовать для хранения и извлечения данных в зависимости от отношений, которые вы установили. Работа с ней упрощена посредством манипулятора мыши. Графические возможности оболочки производят большое впечатление при изготовлении высококачественных отчетов и распечаток. Все это благодаря поддержки True-type шрифтов и встраивания OLE-объектов (Object Linking and Embeding) в рамках среды WINDOWS. OLE – объект представляет собой ссылку на определенную информацию, которая остается в своей первоначальной форме. OLE-объектом может быть EXCEL –таблица, Paintbrush – иллюстрация или Sound –файл.

Новинкой программы Access является Cue Cards – Система суфлирования. Это обучающая система, предоставляющая пользователю рекомендации по выходу из реальных ситуаций при решении прикладных задач. При знании английского языка пользователь всегда сможет получить подсказку о том, что следует делать далее.

Access также предоставляет в распоряжение пользователя механизмы работы с базами данных различных форматов. К примеру, можно прямо обращаться к базам данных dBASE, Paradox или Btrieve без конвертирования их в формат, используемый Access. В состав пакета Access также входит язык Access Basic (встроенный диалект языка Visual Basic), дающий возможность формирования специализированных систем управления базами данных.

Теперь перейдем к более подробному рассмотрению системы Access. Основными понятиями или объектами этой системы являются: таблицы, запросы, формуляры, отчеты, макросы и модули. И, конечно же, главным понятием будет база данных (database).

Для создания базы данных необходимо выполнить следующие шаги:

Активизируйте окно Microsoft Access и выберите в меню File директиву New Database (или щелкните кнопкой New Database в строке пиктограмм). Microsoft Access высвечивает диалоговое окно New Database и автоматически дает имя вашей базе данных, которое вы можете заменить.

В строке File Name, напечатайте ваш вариант имени базы данных. Оно может содержать до 8 символов без пробелов. Microsoft Access автоматически добавляет расширение. MDB к имени вашей базы данных, если Вы этого не сделали.

Если вы хотите хранить базу данных в определенном месте, выберите соответствующую директорию в списке директорий Directories list.

Нажмите на кнопку OK.

Microsoft Access создает пустой файл базы данных и открывает окно базы данных Database window.

Базу данных можно наполнить объектами различного рода и выполнять операции с ними. Но с базой данных можно выполнять операции как с неделимым образованием. Все операции такого рода – операции управления базой данных – сосредоточены в меню File прикладного окна Access или в окне базы данных.

При открытии базы данных можно ограничить возможные операции с базой данных только чтением и ограничить круг пользователей, имеющих доступ к базе данных только собственной персоной. Если необходимо только просмотреть базу данных и содержащиеся в ней объекты, но не изменять их, то при открытии базы данных необходимо активизировать контрольный индикатор Read Only. Если необходимо предотвратить изменения данных и объектов данной базы данных со стороны других пользователей, то при открытии базы данных необходимо установить опцию Exlusive.

Если пользователь закончил работу с базой данных, то ее следует закрыть при помощи директивы Close Database в меню File, с помощью двойного щелчка мышью на кнопке вызова управляющего меню окна базы данных или нажатием клавиш (Ctrl + F4).

Таблицы.

Следующим шагом в построении базы данных будет ее заполнение, т. е. создание объектов и присвоение последним необходимых свойств. Какого бы типа ни были ваши данные, вам придется хранить их в одной или нескольких таблицах.

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

Каждому полю, включаемому в запись, приписывается тип данных, определяющий вид информации, которая будет храниться в данном поле. Тип данных вносится в колонку Data Type, причем его можно выбрать из списка доступных типов.

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

В Access-таблицы можно встроить объекты из других поддерживающих интерфейс OLE прикладных программ и связать эти объекты с их родительскими программами.

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

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

Запросы.

Запросы служат для селекции и фильтрации набора данных. Они позволяют выбрать из базы только необходимую информацию, т. е. ту, которая соответствует определенному критерию(условию) и нужна для решения конкретной задачи. Например, вам может понадобиться информация о поставщиках и поставляемых ими товарах. Вы можете создать запрос типа "Какие товары поставляют московские поставщики" или "Кто из петербургских поставщиков сигарет продал за последний квартал наибольшую партию". Результат обработки программой Access такого запроса представляет собой таблицу называемую Dynaset. В эту таблицу включены выбранные из основной таблицы(или нескольких таблиц) блоки данных, которые удовлетворяют критериям запроса. Dynaset – динамический, временный набор данных, поэтому при каждом выполнении запроса он строится вновь на основе "свежих" табличных данных.

Выделяют два типа запросов:

QBE-запросы (Query by Example –Запрос по образцу). Пользователь дает им определения, специфицируя отдельные параметры в окне проектирования с использованием подсказок(образцов).

SQL - запросы (Structured Query Language – Структурированный язык запросов). Пользователь формулирует их с использованием инструкций и функций, выстраивая описание. QBE-запрос Access легко транслирует в соответствующий SQL-запрос. Обратная операция тоже не составляет труда. Вообще для Access безразлично, с каким типом запроса работает пользователь.

Запросы можно создавать с помощью Конструктора запросов, а также без помощи Конструктора запросов. Однако первый способ ускоряет проектирование нескольких специальных типов запросов.

Критерии отбора – это инструкции, посредством которых пользователь сообщает Access, какие блоки данных должны отбираться по запросу и индицироваться в Dynaset. Критерии могут задаваться для одного или нескольких полей запроса.

Пользователь может воспользоваться запросом для проведения вычислений с блоками данных. Он может задать в каждом поле некоторую функцию, обрабатывающую содержимое этого поля. Результат обработки выдается в Dynaset. Функция обработки задается в строке Total, которая появляется после нажатия в пиктографическом меню кнопки с греческой литерой "сигма". Саму функцию можно выбрать в этой строке, развернув список возможных значений.

После того как запрос спроектирован, его можно выполнить, щелкнув мышью в строке пиктограмм на кнопке с восклицательным знаком или вызывая в меню Query директиву Run. Access индицирует отобранные по запросу в Dynaset блоки в виде таблицы.

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

Если пользователь хочет иметь разработанный проект запроса в своем распоряжении и во время следующих сеансов работы, то он должен его сохранить с помощью директивы Save в меню File. Если проект сохраняется впервые, то после обращения к этой директиве появится диалоговое окно Save As. В нем следует назначить запросу имя, под которым он будет сохранен и включен в список запросов в окне банка данных. Имя запроса не должно совпадать с именем таблицы.

Если данный запрос уже был однажды сохранен и пользователь выбрал директиву Save, то старая версия будет заменена новым, измененным проектом запроса. Если изменения не должны испортить предыдущую версию, а должны быть сохранены в другом запросе, то следует вызвать директиву Save As и назначить сохраняемому проекту новое имя. Для сохранения табличного представления запроса следует выбрать директиву Save Query в меню File. Эта директива сохраняет изменения в проекте имеющегося запроса и заменяет предыдущую версию запроса на активную версию. Для того чтобы сохранить запрос впервые или создать копию активного запроса, Dynaset которого виден на экране, следует выбрать директиву Save Query As.

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

Формуляры.

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

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

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

Для индикации инструментального окна установите в меню View опцию Toolbox. Каждый инструмент, а точнее, создаваемый с его помощью элемент управления/оформления, располагает собственным окном характеристик, и в нем в виде списка представлены стандартные установки для соответствующего управляющего элемента.

Включаемые в формуляр поля можно выбрать из списка полей, который будет виден на экране после обращения к директиве Field List в менюView.

При проектировании формуляра в него можно вставить управляющие элементы. Каждый управляющий элемент может быть связан с некоторым объектом в таблице, на которой базируется форма.

Отчеты.

Отчет – это информация, которую вы оформили в соответствии с Вашими спецификациями. Отчет позволяет извлекать и представлять данные как значимую информацию, которую вы можете использовать и распространять. Примерами отчетов могут служить почтовые адреса, накладные, суммы продаж или списки телефонов. С помощью Microsoft Access вы можете спроектировать отчет который представит информацию в том виде, в котором Вы пожелаете. Вы можете использовать множество различных элементов проектирования, таких как текст, данные, рисунки, линии, поля и графики для создания вашего отчета. От вас зависит, как и какие элементы использовать для построения отчета.

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

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

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

Вы можете создавать отчеты как при помощи, так и без помощи Конструктора Отчетов. Конструктор намного ускорит процесс создания отчета, так как он сделает за Вас основную работу.

В прототип отчета в процессе проектирования можно встроить управляющие элементы. Управляющие элементы, встроенные в прототип отчета, могут использоваться для оформления заголовков, надписей и иллюстраций.

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

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

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

Связывание управляющего элемента можно выполнить одним из двух способов:

Если пользователь хочет, чтобы Access автоматически создала управляющий элемент, связанный с базовой для данного отчета таблицей, то следует воспользоваться списком полей таблицы. Он виден на экране, если установлена опция View/Field List. Управляющий элемент, изготовленный с помощью списка полей, имеет те же значения характеристик, что и поле таблицы, с которым он связан. Для выполнения связывания следует отбуксировать выбранное поле или поля из списка в отчет. Там надлежит поместить курсор мыши в позицию, где должен находиться левый верхний угол управляющего элемента (но не поля названного данного управляющего элемента), и затем отпустить кнопку мыши. Access создает для каждого поля, выбранного в списке полей, связанный управляющий элемент (текстовое поле).

Если задним числом необходимо связать с полем уже имеющийся, несвязанный управляющий элемент, то это можно выполнить с помощью окна характеристик. В этом окне после маркирования управляющего элемента в прототипе отчета перечислены характеристики этого элемента. При занесении имени связываемого поля в это окно в качестве значения характеристики ControlSource выполняется связывание.

Сохраняя только его проект, структуру отчета, без данных.

В меню File выберите директиву Save.

Если отчет не был назван, напечатайте имя в строке Report Name.

Нажмите OK.

Сохраняя результат, полный отчет - проект вместе с данными – в файле, который вы сможете использовать в других поддерживаемых Windows приложениях, например, Microsoft Excel.

В меню File выберите Output To.

Следуйте инструкциям в диалоговых полях Output To.