какие существуют субд по способу доступа
Базы данных и СУБД
Для правильной работы сайта нужны не только файлы с кодом страниц, но и базы данных. Для взаимодействия с БД используются системы управления базами данных (СУБД). В этой статье я расскажу о базах данных и СУБД, их разновидностях и основных отличиях.
Как работают базы данных
В базе данных может содержаться различная информация: личные данные пользователей, записи, даты, заказы, список клиентов и так далее. К примеру, если у вас интернет-магазин, то база данных вашего сайта может содержать прайс-листы, каталог товаров или услуг, отчеты, статистику и информацию о покупателях.
Любую информацию можно быстро заносить в базу данных и так же быстро извлекать ее при необходимости.
Важную роль играет взаимосвязь информации в базе данных: изменение одной строчки может привести к значительным изменениям других строк. Работать с данными таким образом гораздо проще и быстрее, чем если бы изменения касались только одного места.
Однако это не значит, что база данных обязательно должна быть у каждого сайта – к примеру, если у вас сайт-визитка, и никакой новой информации вы на сайте не размещаете, то база данных вам будет попросту не нужна.
Система управления базами данных (СУБД)
Система управления базами данных (сокращенно СУБД) – это программное обеспечение для создания и работы с базами данных.
Главная функция СУБД – это управление данными (которые могут быть как во внешней, так и в оперативной памяти). СУБД обязательно поддерживает языки баз данных, а также отвечает за копирование и восстановление информации после каких-либо сбоев.
Реляционные СУБД и язык SQL
Реляционные и объектно-реляционные СУБД являются одними из самых распространенных систем. Они представляют собой таблицы, в которых каждый столбец (он называется «field» или «поле») упорядочен и имеет определенное уникальное название. Последовательность строк (их называют «records» или «записи») определяется последовательностью ввода информации в таблицу. При этом обрабатывание столбцов и строк может происходить в любом порядке. Таблицы с данными связаны между собой специальными отношениями, благодаря чему с данными из разных таблиц можно работать – к примеру, объединять их при помощи одного запроса.
Для управления реляционными базами данных применяется особый язык программирования – SQL. Сокращение расшифровывается как «Structured query language», в переводе на русский – «язык структурированных запросов».
Команды, которые используются в SQL, делятся на:
Схема работы с базой данных выглядит следующим образом:
5 лучших СУБД
Далее я кратко расскажу о лучших СУБД, которые чаще всего используются при создании веб-проектов.
MySQL
MySQL является одной из самых популярных и распространенных СУБД, которая используется во многих компаниях (например, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba и других). MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License. Как правило, эту систему управления базами данных определяют как хорошую, быструю и гибкую, рекомендованную к применению в небольших или средних проектах.
У MySQL есть множество различных преимуществ. Например, она поддерживает различные типы таблиц – как известные MyISAM и InnoDB, так и более экзотичные HEAP и MERGE. Кроме того, количество поддерживаемых типов постоянно растет. MySQL выполняет все команды быстро – возможно, сейчас это самая быстрая СУБД из всех существующих. С этой системой управления базами данных может одновременно работать неограниченное количество пользователей, а число строк в таблицах может достигать 50 миллионов.
Так как в сравнении с некоторыми другими системами MySQL поддерживает меньшее количество возможностей, то и работать с ней значительно проще, чем, к примеру, с PostgreSQL, о которой будет рассказано ниже.
Для работы с MySQL используется не только текстовый, но и графический режим. Это становится реальным благодаря приложению phpMyAdmin: для работы в приложении вам даже не нужно знать SQL-команды, а администрировать свою базу данных можно прямо через браузер.
MySQL – это выбор тех, кому необходима СУБД для проекта небольшого или среднего размера, быстрая и удобная в работе и без сложностей с администрированием.
PostgreSQL
Эта свободно распространяемая система управления базами данных относится к объектно-реляционному типу СУБД. Как и в случае с MySQL, работа с PostgreSQL основывается на языке SQL, однако, в отличие от MySQL, PostgreSQL поддерживает стандарт SQL-2011. Эта СУБД не имеет ограничений ни по максимальному размеру базы данных, ни по максимуму записей или индексов в таблице.
Если говорить о преимуществах PostgreSQL, то в первую очередь это надежность транзакций и репликаций, возможность наследования и легкая расширяемость. PostgreSQL поддерживает различные расширения и варианты языков программирования, такие как PL/Perl, PL/Python и PL/Java. Также есть возможность загружать C-совместимые модули.
Многие отмечают, что в отличие от MySQL данная СУБД имеет хорошую и подробную документацию, которая дает ответы практически на все вопросы.
О том, что это более масштабная, чем MySQL, СУБД, говорит и тот факт, что PostgreSQL периодически сравнивают с такой мощной системой управления данных, как Oracle. Все это позволяет говорить о PostgreSQL как об одной из самых продвинутых СУБД на данный момент.
SQLite
На данный момент это одна из самых компактных СУБД. Также она является встраиваемой и реляционной.
SQLite позволяет хранить все данные в одном файле и, благодаря своему небольшому объему, отличается завидным быстродействием. SQLite значительно отличается от MySQL и PostgreSQL своей структурой: движок и интерфейс этой СУБД находятся в одной библиотеке – и именно это позволяет выполнять все запросы очень быстро. Другие СУБД (MySQL, PostgreSQL, Oracle и т.д.) используют парадигму «клиент-сервер», когда взаимодействие происходит через сетевой протокол.
Из недостатков можно отметить отсутствие системы пользователей и возможности увеличения производительности.
Oracle
Эта СУБД относится к объектно-реляционному типу. Название произошло от названия разработавшей эту систему фирмы Oracle. Наравне с SQL СУБД использует процедурное расширение под названием PL/SQL, а также язык Java.
Oracle – это система, отличающаяся стабильностью уже не один десяток лет, поэтому ее выбирают корпорации, для которых важна надежность восстановления после сбоев, отлаженная процедура бэкапа, возможность масштабирования и другие ценные возможности. К тому же эта СУБД обеспечивает отличную безопасность и эффектную защиту данных.
В отличие от других СУБД, стоимость покупки и использования Oracle достаточно высока, и именно это зачастую является значимым препятствием к ее использованию в небольших фирмах. Вероятно, именно это также является причиной того, что в рейтинге лучших СУБД на 2016 год в России Oracle находится лишь на 6-м месте.
MongoDB
Эта СУБД отличается тем, что она предназначена для хранения иерархических структур данных, и поэтому ее называют документоориентированной (она представляет собой документное хранилище без использования таблиц или схем). MongoDB имеет открытый исходный код.
Используя идентификатор, вы можете производить быстрые операции над объектом. Также эта СУБД хорошо показывает себя и при сложных взаимодействиях. В первую очередь речь идет о быстродействии – в некоторых случаях приложение, написанное на MongoDB, будет работать быстрее, чем такое же приложение, использующее SQL, т.к. MongoDB относится к классу СУБД NoSQL и пользуется объектным языком запросов, который значительно легче SQL.
Однако этот язык имеет и свои ограничения, и потому MongoDB следует использовать в случаях, когда нет необходимости в сложных и нетривиальных выборках.
Заключение
Выбор СУБД – это важный момент при создании своего ресурса. Отталкивайтесь от своих задач и возможностей, пробуйте и экспериментируйте, чтобы найти именно тот вариант, который будет наиболее подходящим.
Какую СУБД выбрать и почему? (Статья 1)
Заметил, что когда спрашиваешь кого-нибудь, особенно на собеседовании, какие типы СУБД существуют, то первое что вспоминают многие – это реляционные базы данных, и NoSQL, а вот про разновидности часто забывают или не могут сформулировать их отличие. Поэтому начнем с простого перечисления наиболее используемых.
Нужно обязательно сделать ремарку, что некоторые крупные производители, имеют в своем арсенале несколько типов СУБД, как в виде отдельных продуктов, так и в виде внутренней реализации. Например, у Oracle на самом деле чего только нет, начиная с классической реляционной СУБД, продолжая с отдельным продуктом Oracle NoSQL Database, который может использоваться и как документная, и как колоночная, и как ключ-значение. Отдельное решение от того же Oracle, Autonomous Data Warehouse – это уже специализированное решение для хранилищ данных. Еще один отдельный продукт от Oracle – Oracle Graph Server для работы с графами, и еще много другого. Этому можно посвятить отдельную серию статей.
Реляционные СУБД
Начнем по порядку, классические, реляционные СУБД чаще всего используются для построения решений OLTP (Online Transaction Processing). В таких решениях СУБД работает с небольшими по размерам транзакциями, но идущими большим потоком, и при этом от системы требуется минимальное время отклика, а так же возможность, при определенных условиях, отменить любые изменения выполняемых в рамках транзакции. Если вы строите систему, в рамках которой требуется хранить значительное количество сущностей (таблиц), с различными типами связей между ними (один-к-одному, один-к-многим, многие-ко-многим), то это скорее всего про реляционные СУБД.
Когда выбирать реляционную СУБД
Один из основных признаков, который говорит о том что нужно выбирать реляционную СУБД – это высокая нормализация данных. Дополнительными признаками будет необходимость обработки большого кол-ва коротких транзакций, с большей долей операций на вставку
Когда не выбирать реляционную СУБД
Если предполагается хранить не структурируемые данные, или наоборот очень простые структуры типа ключ-значение, то лучше посмотреть в сторону документных СУБД и специализированных СУБД типа ключ-значение соответственно.
Так же один из признаков, что имеет смысл подумать не о реляционных СУБД, это такой факт как необходимость часто обновлять значения в одних и тех же строках. Обычно это обходится «дорого» в реляционных СУБД, и нужно применять «продвинутую магию» что бы делать это корректно.
Конечно, тут есть много «но», или «а если очень хочется», и других ситуаций, когда данные рекомендации можно игнорировать. Это нормально, особенно когда за дело берется эксперт, который знает как это сделать.
СУБД типа ключ-значение
Наверное один из самых простых типов СУБД. В упрощенном виде, это некая таблица с уникальным ключом и собственно связанным с ним значением, в котором может быть что угодно. Чаще всего такие СУБД используют для кэширования, т.к. они очень быстро работают, а это и не сложно, когда есть уникальный ключ, и запрос возвращает только одно значение. У некоторых представителей данных СУБД есть возможность работать полностью в памяти, а так же есть возможность задавать срок жизни записи, после истечения которого, записи будут автоматически удаляться.
Когда выбирать СУБД ключ-значение
Если СУБД будет использоваться для кэширования данных или для брокеров сообщений, то это очень подходящий тип. Так же, такая СУБД хорошо подходит для баз где нужно хранить достаточно простые структуры, и иметь к ним очень быстрый доступ.
Когда не выбирать СУБД ключ-значение
Если вы предполагаете хранить в базе данных много сущностей (таблиц), а у сущностей будут сложные структуры с разными типами данных. Так же, если вы предполагаете делать из этой таблицы сложные запросы которые возвращают множества строк.
Документные СУБД
Иногда встречаются мнения что модель данных в документных БД похожа на модель данных в объектно-ориентированных базах данных. В этом есть доля правды, единственная реальная разница между ними заключается в том, что базы данных документов только сохраняют состояние, но не поведение.
Так же, само название «документо-ориентированная» подчас вводит в заблуждение, и мне встречались коллеги, которые считали, что это база для систем документооборота. Нет, это не так.
Интересно, что документные СУБД развиваются достаточно активно, и сейчас некоторые из них, в том числе, поддерживают проверку схемы.
Известными представителями таких СУБД являются CouchDB, MongoDB, Amazon DocumentDB.
Когда выбирать документную СУБД
Если нужно хранить объекты в одной сущности, но с разной структурой. Если нужно хранит структуры, включая объекты, списки и словари, особенно в формате близкому к JSON.
На самом деле область применения документных СУБД очень широкая. Их можно использовать как компактную базу данных для отдельно взятого микро-сервиса, так и для вполне масштабных решений, в качестве хранилища состояний чего-либо.
Когда не выбирать документную СУБД
Не самое лучшее решение для реализации транзакционная модели, и точно не лучший вариант для формирования отчетности.
Графовые СУБД
Очень простой пример, это организация связей в различного типа социальных сетях, где нужно хранить связи между пользователями (узлами) по разным критериям (родственные связи, коллеги, общие интересы).
Когда выбирать графовые СУБД
Точно стоит обратить внимание на графовые СУБД, если строите какое-то подобие социальной сети, или реализуете систему оценок и рекомендаций. Ну и во всех случаях когда вы хорошо понимаете что такое графы, и для чего это нужно.
Когда не выбирать графовые СУБД
Практически во всех остальных случаях, кроме указанных выше, лучше воздержаться от использования графовых СУБД.
Колоночные СУБД
Колоночные СУБД очень похожи на реляционные. Они так же состоят из строк, которые имеют атрибуты, а строки группируются в таблицах. Различия в логических моделях несущественные, а вот на уровне физического хранения данных различия значительные.
Основные преимущества колоночных СУБД – эффективное выполнения сложных аналитических запросов на больших объемах, и легкое, практически мгновенное, изменение структуры таблиц с данными, плюс существенная компрессия и сжатие, которое позволяет значительно экономить место.
Когда выбирать колоночные СУБД
Когда не выбирать колоночные СУБД
Учитывая специфику колоночных СУБД, будет не эффективно ее использовать, если выборки достаточно простые, параметры выборки статичны, и если преобладают выборки по ключевым значениям. Так же, если количество строк в таблице, из которой делается выборка, меньше сотен миллионов строк, то скорее всего не будет большого преимущества, по сравнению с реляционной СУБД.
Нужно так же иметь ввиду, что в колоночных СУБД могут быть и другие ограничения. Например, может отсутствовать поддержка транзакций, а язык запросов может отличаться от классического SQL, и прочее.
Итоги
Важное замечание – не пытайтесь сразу все задачи решить в рамках одной СУБД. Это более чем нормально иметь несколько разных типов СУБД. Так же, не пытайтесь сразу определиться с производителем СУБД, или связать свою жизнь с одним конкретным брендом.
При выборе типа СУБД следует, прежде всего, исходить из типа решаемых задач, типов обрабатываемых данных, перспектив роста и масштабирования.
Обращайте так же внимание на популярность и наличие широкого круга разработчиков и средств разработки – это даст вам возможность, при необходимости, найти ответ на возникший вопрос быстро.
Итак, в таблице представленной ниже, кратко собрано то, что описано выше в статье.
Тип СУБД
Когда выбирать
Примеры популярных СУБД
Нужна транзакционность; высокая нормализация; большая доля операций на вставку
Oracle, MySQL, Microsoft SQL Server, PostgreSQL
Задачи кэширования и брокеры сообщений
Для хранения объектов в одной сущности, но с разной структурой; хранение структур на основе JSON
CouchDB, MongoDB, Amazon DocumentDB
Задачи подобные социальным сетям; системы оценок и рекомендаций
Neo4j, Amazon Neptune, InfiniteGraph, InfoGrid
Хранилища данных; выборки со сложными аналитическими вычислениями; количество строк в таблице превышает сотни миллионов
Vertica, ClickHouse, Google BigTable, Sybase \ SAP IQ, InfoBright, Cassandra
Надеюсь данная статья оказалась полезной.
В следующих статьях посмотрим на выбор между облачными и on-premise СУБД, платными и бесплатными, и многое другое.
Системы управления базами данных¶
Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Основные функции СУБД¶
Обычно современная СУБД содержит следующие компоненты:
Классификации СУБД¶
По модели данных¶
Иерархические¶
Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре данных дерево устоялось название братья).
Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов.
Примеры: Caché, Google App Engine Datastore API.
Сетевые¶
Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.
Реляционные¶
Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.
Объектно-ориентированные¶
Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.
Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.
Объектно-реляционные¶
Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности объектно-ориентированного подхода: бъекты, классы и наследование.
Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными.
В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД.
Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server.
По степени распределённости¶
По способу доступа к БД¶
Файл-серверные¶
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверные¶
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемые¶
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы (API).
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Стратегии работы с внешней памятью¶
СУБД с непосредственной записью — это СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.
СУБД с отложенной записью — это СУБД, в которых изменения аккумулируются в буферах внешней памяти до наступления любого из следующих событий:
Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить эффективность работы СУБД.
Информатика. 11 класс
Конспект урока
Информатика, 11 класс. Урок № 15.
Тема — Системы управления базами данных
При разработке баз данных принято выделять определённые этапы.
Первый этап — постановка задачи. На этом этапе происходит следующее:
• определяется цель, для которой создаётся база данных;
• уточняется предметная область, при этом привлекаются специалисты этой предметной области для получения более качественного результата разработки;
• определяются предполагаемые виды работ: это может быть выборка данных, изменение данных, печать отчёта и др.;
• определяются потенциальные пользователи базы данных.
На втором этапе происходит проектирование базы данных. Этот этап включает в себя определение самих информационных объектов, из которых будет формироваться база данных, а также перечня атрибутов, характеризующих каждый информационный объект.
После чего определяется структура реляционных таблиц, свойства полей, связи между таблицами, а именно:
1. Формируется общий список полей для описания атрибутов таблиц БД.
2. Все поля распределяются по базовым таблицам.
3. Свойства каждого поля определяются в соответствии со свойствами данных.
4. Ключевые поля определяются для каждой таблицы.
5. Определяются связи между таблицами.
Третий этап — это собственно создание базы данных.
Возможны два варианта:
1. Если нужна уникальная база данных, то она пишется на одном из языков программирования, и в этом случае требуются высококвалифицированные программисты.
2. Существует и второй вариант, для которого достаточно базовых пользовательских навыков и понимания принципов работы базы данных (БД) — это использование специального программного обеспечения — систем управления баз данных (СУБД). В дальнейшем мы будем рассматривать только этот способ.
При создании БД происходит следующее:
— запуск СУБД и создание нового файла БД;
— создание таблиц и связей между ними;
— тестирование БД и коррекция;
— разработка требуемых элементов управления данными: это формы, запросы и отчёты;
— заполнение таблиц данными (это может выполнить пользователь БД).
Четвёртый этап — это эксплуатация БД, которая состоит из сортировки, фильтрации и поиска записей, отбора данных по соответствующим критериям, обработку данных и подготовку отчётов.
В общем виде этапы разработки базы данных представлены на схеме.
Программное обеспечение для создания БД, хранения и поиска в них необходимой информации называется СУБД (системой управления базами данных).
Существует настолько большое количество СУБД, что их можно классифицировать по моделям данных, по размещению или по способу доступа к БД.
В зависимости от модели данных СУБД бывают иерархические, сетевые, реляционные и другие.
Если все составляющие СУБД размещаются на одном компьютере, то она считается локальной. Когда данные могут храниться и обрабатываться на разных компьютерах локальной или глобальной сети, то речь идет о распределённых СУБД.
В файл-серверных СУБД файлы с данными размещаются на сервере и доступ с клиентского компьютера к данным осуществляется через локальную сеть. Частным случаем таких СУБД являются размещение как самих данных, так и СУБД на одном клиентском компьютере. Примерами являются Microsoft Access, OpenOffice Base, LibreOffice Base.
Встраиваемые входят в состав таких программных продуктов, как словари, поисковые системы, электронные энциклопедии и др. Примером может служить компактная встраиваемая СУБД SQLite.
Наиболее популярными являются клиент-серверные СУБД. В этом случае на сервере устанавливается полная версия СУБД и БД, где происходят все операции с данными. На клиентском компьютере устанавливается небольшая по объему клиентская версия СУБД для осуществления запросов и вывода результатов обработки, полученных от сервера. Известными клиент-серверными СУБД являются Oracle, MySQL, PostgreSQL.
Рассмотрим начало работы в программной среде СУБД на примере LibreOffice Base.
Для этого нужно открыть приложение.
Далее мастер БД предложит создать новую базу данных и нажать на кнопку «Дальше».
Следующее диалоговое окно предлагает зарегистрировать БД и открыть её для редактирования.
Оставляем предложенный выбор и нажимаем кнопку «Готово».
Далее в диалоговом окне указываем место сохранения БД и указываем имя.
После этого открывается для редактирования окно базы данных.
Одним из главных элементов интерфейса СУБД является окно базы данных.
В нём отражаются все объекты базы данных: таблицы, запросы, формы, отчёты.
Активный объект выделяется курсором. В нашем случае выделены таблицы.
Вся база данных состоит из таблиц и связей между ними.
Теперь перед заполнением необходимых таблиц нужно определиться с их количеством и структурой, типами связей при использовании нескольких таблиц, а также видами и количеством форм, запросов и отчётов.
Структура таблицы определяется набором и свойствами полей.
Вы уже знаете, что записью является строка таблицы, в ней содержится набор данных об одном объекте. А столбец — это поле, в нём содержатся однородные данные, относящиеся ко всем объектам. Основными свойствами полей являются:
После создания таблиц нужно установить связи между ними.
СУБД обеспечивает автоматический контроль взаимосвязанных данных из разных таблиц. Это гарантия целостности данных — одного из важнейших свойств БД.
Редактирование таблиц допустимо на любом этапе, т. е. возможны следующие действия:
• изменение типов и свойств полей;
При работе с таблицами пользователь видит все поля и записи в ней. Это не всегда удобно. Более комфортным для пользователя является работа с данными, представленными в формах.
Формы — это вспомогательные объекты БД, обеспечивающие удобный для пользователя интерфейс при вводе, просмотре или редактировании данных в БД.
Формы содержат не все поля таблицы, а только необходимые пользователю. Дизайн формы можно выбрать в соответствии с назначением и по своему усмотрению, включая в форму рисунки, тестовые надписи, диаграммы, а также используя элементы управления (кнопки, флажки, переключатели и т. п.). Для создания форм в СУБД имеются специальные инструменты.
В LibreOffice Base возможен вариант создания формы по шагам с помощью мастера или создания формы в режиме дизайна. В этом случае открывается окно с инструментами рисования, в котором создаётся форма.
Над данными, хранящимися в БД, можно выполнять различные действия, среди которых:
• обновление, удаление и добавление данных;
Действия, выполняемые над данными, хранящимися в БД, называются манипулированием данных.
Для этого существуют инструменты сортировки, фильтров и запросов.
Возможна сортировка по возрастанию или убыванию значений выбранного поля. Для осуществления сортировки в LibreOffice Base достаточно выделить значение одного из полей записи и нажать на кнопку сортировка по возрастанию или сортировка по убыванию. Всегда можно отказаться от сортировки, нажав на соответствующую кнопку.
Поиск данных происходит стандартным образом. Вызвать диалоговое окно поиска данных можно через пиктограмму меню или с помощью комбинации клавиш Ctrl + F.
Если нужно произвести отбор данных, соответствующих определённым условиям, то в этом случае удобно использовать фильтрацию данных.
Фильтр — это условие, по которому производится поиск и отбор записей.
В СУБД LibreOffice Base можно выбрать быстрый фильтр, с помощью которого можно выбрать все записи, у которых значение поля полностью совпадает с выделенным. Если таких записей нет, то фильтр отбирает только текущую запись. Когда необходимо более сложное условие для отбора записей, то можно использовать стандартный фильтр. В этом случае в диалоговом окне нужно указать условия для различных полей и выбрать необходимые логические операторы И, ИЛИ.
Одним из основных инструментов обработки данных являются запросы. Запросы, как и фильтры, осуществляют поиск записей в БД, но запрос — это самостоятельный объект БД, а фильтр привязан к конкретной таблице. Возможны различные способы создания запросов. Для LibreOffice Base — это самостоятельно в режиме дизайна, с помощью мастера или непосредственно указав инструкции в SQL.
Для красивого вывода на печать результатов обработки данных используют отчеты. В отчётах предусмотрены возможности оформления, используемые при печати документов. Кроме того, отчёты позволяют обобщать, сортировать, группировать данные и т. п.
В примере с базой данных «Процессоры» при формировании отчета данные сгруппированы по количеству ядер, расположенных по убыванию, а внутри групп произведена сортировка по цене.