Базы данных SQL, NoSQL и различия в моделях баз данных. Различные архитектурные решения, используемые при реализации многопользовательских субд. краткий обзор субд. Когда стоит использовать PostgreSQL

Базы данных SQL, NoSQL и различия в моделях баз данных. Различные архитектурные решения, используемые при реализации многопользовательских субд. краткий обзор субд. Когда стоит использовать PostgreSQL

Реляционные базы данных уже давно используются в программировании. В своё время они обрели популярность благодаря простоте и удобству реляционной модели работы с данными.

Данная статья анализирует различия между наиболее популярными реляционными системами управления базами данных (СУБД): SQLite, MySQL и PostgreSQL.

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

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

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

Реляционные СУБД для работы с данными используют реляционную модель. Эта модель хранит любую информацию в таблицах в виде связанных записей с атрибутами.

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

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

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

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

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

Примечание : Базы данных NoSQL не имеют таких строгих ограничений, поскольку они не выстраивают таких отношений между данными. Чтобы узнать больше о NoSQL, читайте .

Популярные реляционные базы данных

В данной статье мы рассмотрим три наиболее важные и популярные СУБД с открытым исходным кодом.

  • SQLite: встроенная мощная система управления базами данных.
  • MySQL: самая популярная и широко распространённая БД.
  • PostgreSQL: продвинутая SQL-совместимая объектная СУБД с открытым исходным кодом.

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

SQLite

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

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

Типы данных SQLite

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

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

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

Недостатки SQLite

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

Когда лучше использовать SQLite

  • Простые встроенные приложения, которым нужна портативность, например, однопользовательские локальные приложения, мобильные приложения, игры.
  • Замена диска. Обычно приложения, которым необходимо читать или записывать файлы на диск, могут использовать SQLite для получения дополнительных функций.
  • Тестирование.

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

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

MySQL

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

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

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

Типы данных MySQL

  • TINYINT: целое число в диапазоне от -128 до 127 (1 байт).
  • SMALLINT: целое число от -32768 до 32767 (2 байта).
  • MEDIUMINT: число от -8388608 до 8388608 (3 байта).
  • INT или INTEGER: число в диапазоне от -2147683648 до 2147683648 (4 байта).
  • BIGINT: число от -2 63 до 2 63 -1 (8 байт).
  • FLOAT: число с плавающей точкой (4 байта).
  • DOUBLE, DOUBLE PRECISION, REAL: число с двойной точностью и плавающей точкой.
  • DECIMAL, NUMERIC: величины повышенной точности.
  • DATE: дата.
  • DATETIME: дата и время.
  • TIMESTAMP: временная метка.
  • TIME: время в формате hh:mm:ss.
  • YEAR: год (по умолчанию хранится в виде 4 цифр, но можно настроить и 2).
  • CHAR: строка фиксированной длины.
  • VARCHAR: строки переменных.
  • TINYBLOB, TINYTEXT: Тип TEXT позволяет хранить текст, а BLOB — изображения, звук, электронные документы и т.п. Максимальная длина – 225 символов.
  • BLOB, TEXT: большие объемы текста, максимум 65535 символов.
  • MEDIUMBLOB, MEDIUMTEXT: аналогично предыдущему, но максимум до 16777215 символов.
  • LONGBLOB, LONGTEXT: аналогично предыдущему, но максимум до 4294967295 символов.
  • ENUM: принимает только одно из значений заданного множества.
  • SET: принимает любой или все элементы из значений заданного множества.

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

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

Недостатки MySQL

  • Ограничения: структура MySQL накладывает некоторые ограничения, из-за которых не смогут работать продвинутые приложения.
  • Уязвимости: метод обработки данных, применяемый в MySQL, делает эту СУБД немного менее надёжной по сравнению с другими СУБД.
  • Медленное развитие: хотя MySQL является продуктом с открытым исходным кодом, он очень медленно развивается. Однако тут следует заметить, что на MySQL основано несколько полноценных баз данных (например, MariaDB).

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

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

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

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

PostgreSQL

PostgreSQL – это продвинутая открытая объектно-ориентированная СУБД. PostgreSQL реализует SQL-стандарты ANSI/ISO.

В отличие от других СУБД, PostgreSQL поддерживает очень важные объектно-ориентированные и реляционные функции баз данных: надежные транзакции ACID (атомарность, согласованность, изолированность, долговечность) и т.п.

Основанная на надёжной технологии СУБД PostgreSQL может одновременно обрабатывать большое количество задач. Поддержка согласованности достигается без блокирования операций чтения благодаря MVCC.

Хотя СУБД PostgreSQL не так популярна, как MySQL, для неё тоже разработано большое количество дополнительных инструментов и библиотек, которые упрощают работу с данными и увеличивают производительность СУБД.

Типы данных PostgreSQL

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

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

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

Недостатки PostgreSQL

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

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

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

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

  • Если приложению нужны быстрые операции чтения.
  • Если приложению не нужна абсолютная целостность данных, ACID или сложная структура, PostgreSQL может стать слишком сложным решением.
  • Репликация данных сложнее, чем в MySQL, потому в кластерах PostgreSQL лучше не использовать.
Tags:

И Azure SQL Database .

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

Microsoft повысила свой конкурентоспособный уровень, запустив бесплатные инструменты Developer Edition of SQL Server и Database Migration Service для миграции баз данных SQL Server и Oracle в среду Azure SQL Database.

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

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

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

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

Говоря об IBM, аналитики Gartner указали на богатую функциональность (в том числе облачные и гибридные возможности), которой обладают продукты OPDBMS компании, а также активное использование популярных решений с (Hadoop , Kafka , Parquet, Spark и др.) и функций резервного копирования и восстановления данных в/из Swift и AWS S3 . На пользу IBM играет и глобальное присутствие корпорации.

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

Кроме того, как отмечают специалисты, база данных DB2 проигрывает большинству конкурентов по скорости обработки транзакций, загрузки данных (ingestion) и их автоматического распределения. IBM проделала большую работу в том, чтобы упростить восприятие бренда на рынке (в частности, DB2 переименовала в Db2), однако клиенты, по всей видимости, не увидели эти изменения или безразлично отнеслись к ним.

Расстановка сил на рынке СУБД может кардинально измениться - IDG

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

У компании 30-летняя история на рынке поставок хранилищ данных в сочетании с подготовленным оборудованием и специализированным ПО базы данных аналитики. Teradata имеет более 1 тыс. организаций-заказчиков по всему миру.

Продукты Teradata включают решения для интеллектуального анализа данных, ведомственные решения, ориентированные на поиск данных и корпоративные решения. Её портфолио содержит облачные решения и продукты для работы с большими данными. Aster Data добавила новые возможности в линейку продуктов Teradata (такие как MapReduce, неструктурированные данные и графический анализ).

В 2010 году Sybase была приобретена компанией SAP. В квадранте Gartner рассматривается СУБД SAP Sybase IQ , ставшая первой колоночной СУБД. Она же является основным хранилищем данных СУБД SAP/Sybase. У Sybase тысячи клиентов Sybase IQ во всём мире.

Oracle предлагает широкий спектр продуктов, позволяющий клиентам сделать выбор при разработке хранилища, использовать сертифицированную конфигурацию или приобрести устройство, готовое к настройке хранилища и нагрузке. В дополнение к СУБД и сертифицированным конфигурациям Oracle предлагает три фирменных продукта Exadata : Oracle Exadata X2-2 для хранилищ данных и смешанных рабочих нагрузок, Oracle Exadata X2-8 для облачных решений и Oracle Exadata Storage Expansion Rack X2-2 для увеличения ёмкости хранилища. Oracle сообщает о наличии более 300 тыс. клиентов по всему миру.

Корпорация IBM предлагает как автономные решения СУБД, так и устройства для хранилищ данных. В настоящее время на рынке представлено семейство IBM Smart Analytics System (ISAS) и бренд Netezza . ПО хранилищ данных IBM - InfoSphere Warehouse доступно для Unix , Linux , Windows и z/OS. IBM имеет тысячи клиентов баз данных по всему миру и более 500 клиентов на устройства (комбинация Netezza и ISAS).

Greenplum является частью подразделения компании EMC - Data Products, разрабатывающего хранилища данных СУБД массово-параллельной архитектуры (MPP), работающих на Linux и Unix. Продукт реализуется в виде устройства или автономной СУБД. Компания имеет в мире более 400 клиентов.

Microsoft продолжает продажу своих решений SQL Server 2008 DBMS (Release 2) Business Data Warehouse и Fast Track Data Warehouse для обеспечения хранилища данных клиентов, которым не требуется СУБД массово-параллельной архитектуры. Microsoft выпустила собственное ​​устройство хранилища данных массово-параллельной архитектуры - SQL Server 2008 R2 Parallel Data Warehouse (Microsoft) в ноябре 2010 года.

В состав претендентов в этом квадранте вошла лишь компания 1010data.

Компания 1010data создана 11 лет назад как провайдер управляемого сервиса хранилища данных с интегрированной СУБД и решением бизнес-аналитики () для финансового сектора. В последнее время её решения применяются и в секторе розничных/потребительских упакованных товаров (CPG). 1010data может разместить свои решения с использованием модели программного обеспечения как услуги (SaaS) или поддерживать управляемое решение на площадке клиента. У 1010data около 200 заказчиков.

Сектор дальновидных игроков представлен компанией Vertica

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

Одними из первых СУБД были так называемые dBase-совместимые программные системы, разработанные разными фирмами. Первой широко распространенной системой такого рода была система dBase III – PLUS (фирма Achton-Tate). Развитый язык программирования, удобный интерфейс, доступный для массового пользователя, способствовали широкому распространению системы. В то же время работа системы в режиме интерпретации обусловливала низкую производительность на стадии выполнения. Это привело к появлению новых систем-компиляторов, близких к системе dBase III – PLUS: Clipper (фирма Nantucket Inc.), FoxPro (фирма Fox Software), FoxBase+ (фирма Fox Software), Visual FoxPro (фирма Microsoft). Одно время достаточно широко использовалась СУБД PARADOX (фирма Borland International).

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

3.5.2. Серверные СУБД

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

Основными производителями таких систем обработки и хранения данных являются 3 корпорации: Oracle, Microsoft и IBM. Диаграмма соотношения объемов продаж соответствующих систем (источник: IDC Report, Май 2006) приводится на рис. 3.4 .


Рис. 3.4.

Наиболее распространенными клиент-серверными системами здесь соответственно являются системы Oracle (разработчик компания Oracle ), MS SQL Server (разработчик компания Microsoft), DB2 , Informix Dynamic Server (компания IBM).

Дадим краткую характеристику этим системам.

MS SQL Server

К настоящему времени разработано несколько версий систем: MS SQL Server-2000, MS SQL Server -2005, MS SQL Server-2008. Приведем информацию о системе MS SQL Server-2008 с сервера Microsoft (http://www.microsoft.com/rus/SQL/2008/default.mspx)

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

Платформа бизнес-анализа SQL Server 2008, тесно интегрированная с Microsoft Office, предоставляет развитую масштабируемую инфраструктуру для внедрения мощных возможностей бизнес-анализа в рабочий процесс всех бизнес-подразделений вашей компании, открывая доступ к нужной бизнес-информации через знакомый интерфейс MS Excel и MS Word.

MS SQL Server-2008 поддерживает создание и работу с корпоративным хранилищем данных, объединяющим информацию со всех систем и приложений, позволяющим получить единую комплексную картину бизнеса вашей компании.

MS SQL Server-2008 предоставляет масштабируемый и высокопроизводительный "процессор данных" - для самых ответственных и требовательных бизнес-приложений, тем, кому необходим высочайший уровень надежности и защиты, позволяя при этом снизить совокупную стоимость владения за счет расширенных возможностей по управлению серверной инфраструктурой.

MS SQL Server-2008 предлагает разработчикам развитую, удобную и функциональную среду программирования, включая средства работы с веб службами, инновационные технологии доступа к данным – все, что необходимо для эффективной работы с данными любых типов и форматов.

Отдельные аспекты MS SQL Server – 2008 будут описаны в лекциях "Структура современной СУБД на примере Microsoft SQL Server 2008" и "Направления развития баз данных" 14.

Oracle

К настоящему времени разработано несколько версий систем, каждая из которых включает целую линейку продуктов, например Oracle 8, Oracle 9i, Oracle 10g.

Соответствующие линейки продуктов включают как собственно СУБД (например Oracle Database 10g, Oracle Database 11g) , так и средства разработки и анализа данных.

Приведем информацию о системе с сервера Oracle http://www.oracle.com/global/ru/mid/oracle_products/database.html).

Oracle предлагает комплексные, открытые, доступные и удобные в использовании технологические решения. Готовые пакетируемые решения автоматически включают в свою стоимость базу данных, сервер приложений, интеграционную платформу, инструменты аналитики и управления неструктурированными данными. Масштабируемые бизнес-приложения Oracle могут быть легко интегрированы с ИТ-инфраструктурой предприятия без потери уже вложенных в IT инвестиций.

СУБД Oracle Database 11g обеспечивает улучшенные характеристики за счет автоматизации задач администрирования и обеспечения лучших в отрасли возможностей по безопасности и соответствию нормативно-правовым актам в области защиты информации. Появилось больше функций автоматизации, самодиагностики и управления. Среди характеристик системы можно отметить управление большими объемами данных с использованием распределенных таблиц и компрессии, эффективную защиту данных, возможность полного восстановления, возможность интеграции геофизических данных медиа-контента в бизнес-процеcc и т.д.

Серверы баз данных компании IBM

К настоящему времени разработаны линейки продуктов DB2 и Informix , включающие как собственно СУБД так и средства разработки и анализа данных (DB2 Universal Database DB2 Personal Edition, DB2 Enterprise 9 и др., а также Informix Dynamic Server, Informix Dynamic Server Express, Informix Extended Parallel Server и др.

Приведем информацию о части таких систем с сервера (

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

Какими бывают системы управления базами данных

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

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

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

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

Требования к современным СУБД

современным СУБД предъявляются следующие требования:

  • масштабируемость — отсутствие существенного снижения скорости выполнения пользовательских запросов при пропорциональном росте количества запросов и аппаратных ресурсов используемых данной СУБД (таких как объем оперативной памяти, количество процессоров и серверов);
  • доступность — возможность всегда выполнить запрос;
  • надежность — минимальная вероятность сбоев, наличие средств восстановления данных после сбоев, инструментов резервного копирования и дублирования данных (в последнее время производители СУБД нередко предлагают инструменты, позволяющие осуществлять подобные операции, не прерывая работу пользователей);
  • управляемость — простота администрирования, наличие средств автоматического конфигурирования (типичный современный набор средств администрирования включает средства создания баз данных и их объектов, инструменты описания правил репликации данных между различными серверами, утилиты управления пользователями, группами и их правами, средства мониторинга событий, средства просмотра планов выполнения запросов, утилиты миграции из других СУБД);
  • наличие средств защиты данных от потери и несанкционированного доступа;
  • поддержка доступа к данным с помощью Web-служб;
  • поддержка стандартных механизмов доступа к данным (таких как ODBC, JDBC, OLE DB, ADO .NET), позволяющая создавать приложения для СУБД с помощью различных средств разработки.

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

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

СУБД ведущих производителей

огласно данным ряда аналитических отчетов (см., например: Strange K. Magic Quadrant for Data Warehouse DBMSs// Gartner Research Note M-22-2154. 2004), лидерами рынка СУБД на данный момент являются давно и успешно представленные на российском рынке компании IBM, Oracle, Microsoft, Sybase и Teradata, а также относительно молодая компания Netezza, которая на отечественном рынке практически неизвестна. Далее мы кратко рассмотрим особенности продуктов этих компаний.

DB2 Universal Database (IBM)

Семейство серверных СУБД фирмы IBM, известное под названием DB2 Universal Database (DB2 UDB), впервые появилось в 1996 году и предназначалось для платформ UNIX, OS/2 и Microsoft Windows NT. Последняя версия этого продукта, DB2 UDB 8.2, функционирует под управлением операционных систем AIX, AIX, Linux, HP-UX, Sun и Windows.

Особенностями данной СУБД являются развитые средства самовосстановления и автоматического выполнения операций, связанных с поддержкой базы данных (таких как создание резервных копий и дефрагментация данных). Из механизмов доступа к данным DB2 UDB поддерживает ODBC, JDBC, ADO/OLE DB, ADO .NET. Данная СУБД позволяет создавать серверный код на CLR-совместимых языках, таких как C# и Visual Basic .NET.

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

К другим важнейшим техническим характеристикам DB2 Universal Database следует отнести поддержку реляционных и комплексных данных с помощью объектных расширений, возможность работы на мультипроцессорных платформах, поддержку кластеров, 64-разрядную архитектуру памяти, распараллеливание запросов, наличие средств для распределенного администрирования и обработки данных, поддержку выполнения распределенных транзакций. Некоторые из указанных технологий были заимствованы из СУБД Informix Dynamic Server, приобретенной IBM вместе с компанией Informix несколько лет назад.

Oracle 10g (Oracle)

Oracle, появившаяся в 1979 году, была первой коммерческой реляционной СУБД, которая поддерживала язык SQL, ставший ныне индустриальным стандартом. Ранние версии этой СУБД создавались для мэйнфреймов, однако в 1985 году появились версии Oracle, предназначенные для использования в архитектуре «клиент-сервер». Это была первая СУБД, использовавшая предоставляемые некоторыми серверными платформами средства параллельных вычислений.

В настоящее время последней ее версией является Oracle 10g. Эта СУБД отвечает самым строгим требованиям к качеству обслуживания, обладает возможностями кластеризации (для этого предназначен модуль Oracle Real Application Clusters), развитыми средствами безопасности.

СУБД Oracle 10g предоставляет средства параллельной обработки запросов, встроенные средства OLAP, средства быстрого извлечения, преобразования и загрузки данных, служб порталов, средств бизнес-анализа, распространения отчетов и анализа действий пользователей, инструменты анализа производительности СУБД, обеспечивает поддержку кластеров.

Из механизмов доступа к данным Oracle 10g поддерживает ODBC, JDBC и ADO/OLE DB, кроме того, для этой СУБД существует.NET-провайдер и соответствующий набор классов от Microsoft. Клиентская часть Oracle содержит также набор COM-объектов для доступа к данным (Oracle Objects for OLE). Отметим, что и многие другие компании производят ODBC-драйверы и OLE DB-провайдеры для доступа к Oracle — эту СУБД поддерживают все ведущие производители средств разработки, генераторов отчетов, средств аналитической обработки данных.

И на Западе, и в России нередко используются готовые корпоративные решения от Oracle Corporation, объединенные под общим названием Oracle Applications, такие как Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems и др., — собственно, продажа и поддержка именно этих приложений и составляют основную часть бизнеса компании.

SQL Server 2000 и SQL Server 2005 (Microsoft)

Первая версия Microsoft SQL Server — совместный продукт компаний Microsoft и Sybase, выпущенный в 1988 году, — была разработана для платформы OS/2. Последующие версии этого сервера баз данных предназначались для платформы Windows и со временем были тесно интегрированы с этой операционной системой. Для других платформ версии данного сервера не выпускались и не выпускаются.

Наиболее часто используемая версия этой СУБД — Microsoft SQL Server 2000 — отличается повышенной масштабируемостью и производительностью. Она позволяет использовать на одном компьютере несколько одновременно работающих серверов, поддерживает создание кластеров, параллельные вычисления в многопроцессорных системах, распределенные запросы. Средства администрирования Microsoft SQL Server 2000 считаются одними из наиболее простых и удобных. Помимо средств решения стандартных задач администрирования, таких как создание баз данных и их объектов, управление привилегиями пользователей и групп, резервное копирование и восстановление, репликация данных, они включают утилиты обмена данными с другими СУБД и хранилищами данных. В состав этого продукта входит OLAP-сервер — именно с его появления в составе SQL Server началось включение OLAP-средств в состав СУБД других производителей и перемещение их из категории дорогостоящих, элитных продуктов в категорию продуктов, широко применяемых даже в небольших компаниях.

Из механизмов доступа к данным этот продукт поддерживает ODBC, OLE DB/ADO, ADO .NET. Имеется также JDBC-драйвер производства компании Microsoft. Нельзя не отметить великолепные средства интеграции этой СУБД с Microsoft Office, вплоть до инструментов манипуляции OLAP-данными из этих приложений.

Последующая версия этой СУБД — SQL Server 2005, выпуск которой ожидается в этом году, будет поддерживать асинхронный обмен сообщениями между различными серверными процессами, содержать службы уведомления клиентов о событиях в базе данных, позволять создавать устойчивые к сбоям кластеры и осуществлять зеркалирование базы данных, производить репликации с базами данных, управляемыми СУБД других производителей, выполнять без остановки сервера такие операции, как изменение числа процессоров и объема памяти.

Еще одним из основных технологических новшеств ожидаемой версии SQL Server является интеграция с Microsoft .NET Framework 2.0 на уровне Common Language Runtime в самой СУБД, что позволит создавать серверный код на любом CLR-совместимом языке программирования, например на C# или на Visual Basic. Отметим также существенное расширение аналитических возможностей данной СУБД, например появление новых алгоритмов Data Mining.

SQL Server 2005 будет создана в виде не только 32-, но и 64-разрядной версии, поддерживающей процессоры Intel Itanium и AMD Opteron. А для решения относительно несложных задач, использующих небольшие базы данных, будет выпущена бесплатная версия Microsoft SQL Server 2005 Express Edition.

Adaptive Server Enterprise и Adaptive Server IQ (Sybase)

Серверные продукты компании Sybase происходят от одной из ранних версий Microsoft SQL Server, созданной совместно Microsoft и Sybase. Начиная с 1994 года Microsoft и Sybase разрабатывают свои серверные продукты независимо друг от друга, и результатом деятельности компании Sybase в этом направлении является продукт Adaptive Server Enterprise (ASE), последняя версия которого, 12.5.2, существует для Windows NT/2000 и некоторых версий UNIX и Linux.

В настоящее время Adaptive Server Enterprise поддерживает упреждающее асинхронное чтение, что повышает скорость выполнения сложных запросов; создание кластеров; наличие 64-разрядной версии; распределенную обработку запросов, в том числе к базам данных других производителей; расширенные хранимые процедуры, позволяющие осуществлять легкий доступ к функциям, которые написаны на языках, отличных от SQL; параллельную обработку запросов в многопроцессорных системах; параллельную работу утилит администрирования; динамическую конфигурацию сервера и резервное копирование данных с компрессией. Особо стоит отметить службы Sybase Real-Time Data Services, предназначенные для организации передачи сообщений в реальном времени при возникновении каких-либо событий в базах данных, в том числе в базах данных, управляемых СУБД других производителей.

Из универсальных механизмов доступа к данным ASE поддерживает ODBC, JDBC, OLE DB/ADO. Отметим, что нередко вместе с ASE используются средства разработки и проектирования данных самой компании Sybase.

Для создания многомерных хранилищ данных у Sybase существует еще один серверный продукт — Adaptive Server IQ, позволяющий создавать хранилища на основе данных из СУБД производства не только Sybase, но и других производителей. Высокая скорость выполнения запросов в этом продукте обусловлена нестандартным способом хранения данных. Отметим также, что существует ряд продуктов под общим названием Sybase Industry Warehouse Studio, ориентированных на обслуживание конкретных предметных областей.

Teradata Database V2R6.0 (Teradata)

В течение последних нескольких лет СУБД компании Teradata считаются лидирующими продуктами среди СУБД, предназначенных для создания хранилищ данных. Последняя версия этой СУБД, Teradata Database V2R6.0, доступна для Microsoft Windows, OS/2 и ряда версий UNIX и Linux.

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

Для создания клиентских приложений, использующих Teradata Database, существуют ODBC-драйвер, документированный клиентский API, совместимый с IBM DB2, и ряд других программных интерфейсов. Средства администрирования этой СУБД включают средства резервного копирования и восстановления, просмотра и редактирования данных, мониторинга производительности и нагрузки, а также утилиту администрирования для управления всеми перечисленными задачами, доступную для различных версий Windows.

Netezza Performance Server 8000 Series (Netezza)

Netezza Performance Server — это аппаратно-программное решение, представляющее собой сервер с системой хранения данных и предустановленной на нем операционной системой Linux , а также СУБД с открытым кодом, созданной на основе Postgress. Компания Netezza заявляет, что данное решение не уступает по производительности решениям на основе Teradata при заметно меньшей стоимости. В числе особенностей данного аппаратно-программного решения — поддержка параллельной обработки данных, разделение задач за счет разделения частей базы данных между подзадачами, высокая масштабируемость.

Из программных интерфейсов данным решением поддерживаются универсальные механизмы доступа к данным ODBC и JDBC.

***

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

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.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows