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

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

СУБД с по­мо­щью ком­пи­ля­то­ра язы­ка за­про­сов об­ра­ба­ты­ва­ет об­ра­ще­ния к БД от поль­зо­ва­те­лей, про­ве­ря­ет кор­рект­ность по­сту­паю­щих опе­ра­то­ров и на ос­но­ве ме­та­дан­ных (све­де­ния о со­ста­ве дан­ных) фор­ми­ру­ет од­но или неск. про­це­дур­ных пред­став­ле­ний опе­ра­то­ра (пла­нов вы­пол­не­ния). Наи­бо­лее эф­фек­тив­ный план ис­пол­ня­ет­ся в СУБД при по­мо­щи внутр. под­сис­те­мы (яд­ра СУБД), под­дер­жи­ваю­щей ин­тер­фейс дос­ту­па к дан­ным на уров­не их отд. эле­мен­тов (за­пи­сей). Яд­ро СУБД обес­пе­чи­ва­ет бу­фе­ри­за­цию дан­ных — кэ­ши­ро­ва­ние, син­хро­ни­за­цию дос­ту­па к дан­ным и управ­ле­ние тран­зак­ция­ми (ко­рот­кий во вре­ме­ни цикл взаи­мо­дей­ст­вия объ­ек­тов, вклю­чаю­щий за­прос — вы­пол­не­ние за­да­ния — от­вет), а так­же жур­на­ли­за­цию из­ме­не­ний БД (со­хра­не­ние ис­то­рии). Ка­ж­дая СУБД ос­но­вы­ва­ет­ся на не­ко­то­рой мо­де­ли дан­ных (напр., ре­ля­ци­он­ной). В боль­шин­ст­ве совр. СУБД внеш­ний ин­тер­фейс обыч­но ос­но­вы­ва­ет­ся на ис­поль­зо­ва­нии спец. язы­ка (напр., SQL, Structured Query Language — стан­дарт­ный язык за­про­сов, язык оп­ре­де­ле­ния струк­тур и ма­ни­пу­ли­ро­ва­ния дан­ны­ми), в ко­то­ром от­ра­жа­ют­ся осн. чер­ты мо­де­ли дан­ных. [1]

Система управления базами данных | Информатика 9 класс #10 | Инфоурок

Виды

СУБД клас­си­фи­ци­ру­ют: на се­те­вые, ие­рар­хические, ре­ля­ци­он­ные (и SQL-ори­енти­ро­ван­ные), объ­ект­но ори­ен­ти­ро­ван­ные, XML-ори­ен­ти­ро­ван­ные (англ. eXtensible Markup Language — рас­ши­ряе­мый язык раз­мет­ки) и др., то есть по мо­де­ли дан­ных; уни­вер­саль­ные и спе­циа­ли­зир., ко­то­рые ори­ен­ти­ро­ва­ны на эф­фек­тив­ную под­держ­ку од­но­го клас­са ин­фор­мац. сис­тем (напр., тран­закц. или ана­ли­тич.); файл-сер­вер­ные (БД хра­нят­ся в фай­лах спе­циа­ли­зир. фай­ло­во­го сер­ве­ра), кли­ент-сер­вер­ные (все осн. ком­по­нен­ты СУБД вы­пол­ня­ют­ся на отд. сер­ве­ре, на ко­то­ром хра­нит­ся и БД, а на кли­ент­ской час­ти вы­пол­ня­ет­ся код при­ло­же­ния), встраи­вае­мые (СУБД тес­но свя­за­на с при­клад­ной про­грам­мой и пол­но­стью вы­пол­ня­ет­ся на том же ком­пь­ю­те­ре, не тре­буя проф. ад­ми­ни­ст­ри­ро­ва­ния); од­но­про­цес­сор­ные (не ис­поль­зу­ют ап­па­рат­ные воз­мож­но­сти па­рал­ле­лиз­ма, бы­ли рас­про­стра­не­ны до по­яв­ле­ния мно­го­ядер­ных про­цес­со­ров), па­рал­лель­ные с об­щей па­мя­тью (обес­пе­чи­ва­ют меж­за­прос­ный или внут­ри­за­прос­ный па­рал­ле­лизм с ис­поль­зо­ва­ни­ем не­сколь­ких ядер), па­рал­лель­ные с об­щи­ми дис­ка­ми (неск. эк­зем­п­ля­ров СУБД ра­бо­та­ют в раз­ных уз­лах вы­чис­лит. кла­сте­ра, но об­ра­ща­ют­ся к об­щей дис­ко­вой под­сис­те­ме, в ко­то­рой хра­нит­ся БД) и па­рал­лель­ные без ис­поль­зо­ва­ния об­щих ре­сур­сов СУБД (неск. СУБД ра­бо­та­ют в раз­ных уз­лах кла­сте­ра, ка­ж­дый со сво­им раз­де­лом БД, что обес­пе­чи­ва­ет го­ри­зон­таль­ное мас­шта­би­ро­ва­ние при рос­те объ­ё­ма дан­ных). [2]

Информатика 9 класс (Урок№10 — Система управления базами данных.)

История

Основная статья: История систем управления базами данных

Пер­вые СУБД (нач. 1960-х гг.) бы­ли ос­но­ва­ны на ие­рар­хич., се­те­вой и др. ран­них мо­де­лях дан­ных. В нач. 1970-х гг. Э. Кодд (США) пред­ло­жил но­вый — ре­ля­ци­он­ный — под­ход к ор­га­ни­за­ции БД и СУБД, на ос­но­ве ко­то­ро­го в 1970-е гг. вы­пол­не­ны экс­пе­рим. про­ек­ты System R (IBM) и Ingres (Ка­ли­фор­ний­ский ун-т в Берк­ли) и за­ло­же­ны ос­но­вы бу­ду­щих тех­но­ло­гий (язык SQL, прин­ци­пы оп­ти­ми­за­ции за­про­сов, ме­то­ды управ­ле­ния тран­зак­ция­ми и др.). В 1980-е гг. раз­ра­бо­та­ны объ­ект­но ори­ен­ти­ро­ван­ные, объ­ект­но ре­ля­ци­он­ные и пер­вые ком­мерч. ре­ля­ци­он­ные СУБД. [3]

В 1990-х годах поя­вил­ся ряд раз­ви­тых уни­вер­саль­ных SQL-ори­ен­ти­ро­ван­ных СУБД с объ­ект­но ре­ля­ци­он­ны­ми воз­мож­но­стя­ми (In­for­mix Universal Server, Oracle8, DB2, Universal Database). При­нят стан­дарт SQL:1999, в ко­то­ром эти воз­мож­но­сти, а так­же все осн. сред­ст­ва SQL-ори­ен­тиро­ван­ных СУБД бы­ли окон­ча­тель­но со­гла­со­ва­ны и ут­вер­жде­ны. Од­но­вре­мен­но раз­ви­ва­лись объ­ект­но ори­ен­ти­ро­ван­ные СУБД. [4]

В начале XXI века М. Стон­брей­кер (США) обос­но­вал ко­нец эпо­хи уни­вер­саль­ных СУБД и пе­ре­ход к спе­ци­а­ли­зир., ори­ен­ти­ро­ван­ным на под­дер­ж­ку отд. клас­сов ин­фор­ма­ци­он­ных сис­тем — XML-ори­ен­ти­ро­ван­ные (напр., Tamino, Sedna), по­то­ко­вые (Stream­ba­se), ана­ли­тические (Vertica, Greenplum), тран­закц. СУБД (VoltDB).

Из-за взры­во­об­раз­но­го рос­та дан­ных (BigData) ста­ла ак­ту­аль­ной воз­мож­ность го­ри­зон­таль­но­го мас­шта­би­ро­ва­ния; в ре­зуль­та­те прак­ти­че­ски все совр. СУБД яв­ля­ют­ся мас­сив­но-па­рал­лель­ны­ми. Про­бле­ма BigData при­ве­ла к по­яв­ле­нию ря­да сис­тем ка­тего­рии NoSQL, раз­ра­бот­чи­ки ко­то­рых опи­ра­ют­ся на опыт в об­лас­ти рас­пре­де­лён­ных сис­тем (со­во­куп­ность ло­ги­че­ски взаи­мо­свя­зан­ных баз дан­ных, рас­пре­де­лён­ных по уз­лам ком­пь­ю­тер­ной се­ти) и не сле­ду­ют ка­но­нам тра­ди­ци­он­ных СУБД. В СССР и России раз­ра­ба­ты­ва­ли СУБД ИНЕС и НИКА (1980-е гг., Ин-т сис­тем­но­го ана­ли­за РАН), ЛИНТЕР (ком­па­ния РЕЛЭКС, Во­ро­неж, с кон. 1980-х гг.), Sedna (2000-е гг., Ин-т сис­тем­но­го про­грам­ми­ро­ва­ния РАН). [5]

Типы

Oracle

Система Oracle популярна у разработчиков, проста в использовании, у нее понятная документация, поддержка длинных наименований, JSON, улучшенный тег списка и Oracle Cloud. [6]

Разработчик: Oracle Corporation. Написана на Assembly, C, C++. [7]

  • Обрабатывает большие данные.
  • Поддерживает SQL, к нему можно получить доступ из реляционных БД Oracle.
  • Oracle NoSQL Database с Java/C API для чтения и записи данных.

MySQL

Лицензия GPL с открытым исходным кодом позволяет модифицировать ПО MySQL. [10]

Эта система управления базами данных использует стандартную форму SQL. Утилиты для проектирования таблиц имеют интуитивно понятный интерфейс. MySQL поддерживает до 50 миллионов строк в таблице. Предельный размер файла для таблицы по умолчанию 4 ГБ, но его можно увеличить. Поддерживает секционирование и репликацию, а также Xpath и хранимые процедуры, триггеры и представления. [11]

СУБД MySQL есть практически на любом хостинге. Простая в установке, работает нормально без особых настроек. В любом языке программирования, фреймворке, CMS, CMF и так далее — есть интеграция с MySQL. [12]

Разработчик: Oracle Corporation. Написана на C, C++. [13]

  • Масштабируемость;
  • Лёгкость использования;
  • Поддержка Novell Cluster;
  • Поддержка многих операционных систем.
  • Посредственная производительность;
  • Изменение структуры данных может быть довольно трудоёмким процессом, особенно при большом количество связей между данными в разных таблицах и даже при простом добавлении полей;
  • Чувствительность к нестабильности сервера. Особенно это влияет при использовании XtraDB от Percona. Если неправильно завершить MySQL, можно настолько поломать таблицы и базы данных, что восстановить можно будет только из полного бекапа.

Microsoft SQL Server

Microsoft SQL Server — самая популярная коммерческая СУБД. Она привязана к Windows. Зависит от платформы. И графический интерфейс, и программное обеспечение основаны на командах. Поддерживает SQL, непроцедурные, нечувствительные к регистру и общие языки баз данных. [16]

Разработчик: Microsoft Corporation. Написана на C, C++. [17]

  • Высокая производительность;
  • Зависимость от платформы;
  • Возможность установить разные версии на одном компьютере;
  • Генерация скриптов для перемещения данных.

PostgreSQL

PostgreSQL — масштабируемая объектно-реляционная база данных, работающая на Linux, Windows, OSX и некоторых других системах. В PostgreSQL 10 есть такие функции, как логическая репликация, декларативное разбиение таблиц, улучшенные параллельные запросы, более безопасная аутентификация по паролю на основе SCRAM-SHA-256. [19]

PostgreSQL — очень старая СУБД. По мнение многих, очень стабильная СУБД, её практически невозможно уронить, порушить таблицы как в MySQL. [20]

Читайте также:
В какой программе можно сверстать книгу

Разработчик: PostgreSQL Global Development Group.Написана на C. Используется в компаниях: Apple, Cisco, Fujitsu. [21]

  • Поддержка табличных пространств, а также хранимых процедур, объединений, представлений и триггеров;
  • Восстановление на момент времени (PITR);
  • Асинхронная репликация.

MongoDB

MongoDB — самая популярная NoSQL СУБД. Лучше всего подходит для динамических запросов и определения индексов. Гибкая структура, которую можно модифицировать и расширять. Поддерживает Linux, OSX и Windows, но размер БД ограничен 2,5 ГБ в 32-битных системах. Использует платформы хранения MMAPv1 и WiredTiger. [23]

Разработчик: MongoDB Inc. в 2007 году. Написана на C++. [24]

  • Высокая производительность;
  • Автоматическая фрагментация;
  • Работа на нескольких серверах;
  • Поддержка репликации Master-Slave;
  • Данные хранятся в форме документов JSON;
  • Возможность индексировать все поля в документе;
  • Поддержка поиска по регулярным выражениям.

DB2

Работает на Linux, UNIX, Windows и мейнфреймах. Идеально подходит для хост-сред IBM. [26]

Разработчик: IBM. Написана на C, C++, Assembly. [27]

Microsoft Access

Microsoft Access — система управления базами данных от Microsoft, которая сочетает в себе реляционное ядро БД Microsoft Jet с графическим интерфейсом пользователя и инструментами разработки ПО. [28]

Производительность не рассчитана на большие проекты. В MS Access можно использовать C, C#, C++, Java, VBA и Visual Rudimental.NET. Access хранит все таблицы БД, запросы, формы, отчёты, макросы и модули в базе данных Access Jet в виде одного файла. [29]

Разработчик: Microsoft Corporation. [30]

  • Можно использовать VBA для создания многофункциональных решений с расширенными возможностями управления данными и пользовательским контролем;
  • Импорт и экспорт в форматы Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server и Oracle;
  • Формат базы данных Jet.

Redis

Redis — СУБД с открытым исходным кодом, которая снабжена механизмами журналирования и снимков. Поддерживаются списки, строки, хэши, наборы. Используется для БД, брокеров сообщений и кэшей. Все операции в Redis атомарные. Система написана на языке C и поддерживается практически всеми языками программирования. [32]

Разработчик: Salvatore Sanfilippo. [33]

Чаще всего СУБД Redis используют в качестве кеширующего слоя для работы с данными из другой, более медленной СУБД. Редко, но всё же может использоваться в качестве самостоятельно БД для данных. При этом Redis умеет работать с разными типами данных, в том числе списками, очередями. Работает в памяти, очень быстрая, умеет сохранять данные на диске, причём с поддержкой дозаписи (гораздо меньше нагружает диск) и загружать при запуске. [34]

  • Автоматическая обработка отказа;
  • Транзакции;
  • Сценарии LUA;
  • Вытеснение LRU-ключей;
  • Поддержка Publish/Subscribe.

Apache Cassandra

Apache Cassandra спроектирована и работает как распределенная NoSQL СУБД для больших данных. Данные хранит в виде семейства столбцов. [36]

СУБД активно используется в банковском деле, финансах, а также в Facebook и Twitter. Поддерживает Windows, Linux и OSX. Для запросов к БД Cassandra используется SQL-подобный язык — Cassandra Query Language (CQL). [37]

  • Линейная масштабируемость;
  • Быстрое время отклика;
  • Поддержка MapReduce и Apache Hadoop;
  • Максимальная гибкость;
  • P2P архитектура.

Ссылки

  • Администрирование баз данных
  • СУБД
  • Data.DB.TDataSet.Filter

Источник: newsruss.ru

X Международная студенческая научная конференция Студенческий научный форум — 2018

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

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

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

Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров [2, с. 10].

В процессе исследования нами были рассмотрены наиболее распространенные:

1. Lotus Approach- Approach предоставляет мощные, хотя и простые в использовании, инструментальные средства формирования запросов и отчетов, возможности связи с большим количеством разнообразных баз данных и высокую производительность при выполнении запроса [1].

Достоинства: Простота использования при формировании запроса и отчета для разнообразных баз данных; SmartMasters позволяют конечному пользователю быстро приступить к разработке приложений; простые инструментальные средства анализа, предоставляемые конечному пользователю через возможности углубленного анализа данных, таблицы перекрестных ссылок и непревзойденные фильтры; возможность настраивания приложений Approach с помощью языка программирования LotusScript и управляющих элементов OLE; лучшие в своем классе инструментальные средства построения отчетов по «живым» данным; возможность доступа к широкому разнообразию форматов баз данных с использованием технологии PowerKey.

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

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

Основные компоненты MS Access: построитель таблиц; построитель экранных форм; построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI); построитель отчётов, выводимых на печать [3, с. 114].

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

Microsoft Visual FoxPro- среда разработки систем баз данных, включающая объектно-ориентированную реляционную СУБД, объектно-ориентированный язык программирования для разработки приложений баз данных и систему построения отчётов.

Основой для данного программного продукта послужила система FoxPro, язык которой относится к семейству языков xBase, разработанных на базе синтаксиса языка программирования dBase. Другими членами данного семейства являются Clipper и Recital.

Первоначально FoxPro (исходное название — FoxBASE) разрабатывалась фирмой Fox Software, начиная с 1984 года. В 1992 году Fox Technologies была куплена Microsoft, новые версии продукта значительно видоизменились и приобрели префикс «Visual». Последняя версия оригинального FoxPro — версия 2.6 — работала под Mac OS, DOS, Windows и Unix; уже в версии Visual FoxPro 3.0 от MS список поддерживаемых платформ сократился до Mac OS и Windows, а в более поздних версиях от MS — уже только до Windows. Текущая версия MS Visual FoxPro основана на COM, и Microsoft утверждает, что .NET-версии продукта не будет. Существует проект Sedna, который должен обеспечить возможность взаимодействия Visual FoxPro с .NET.

Читайте также:
Программа как в фэс

Microsoft SQL Server- система управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

Развитие клиент-серверных технологий во второй половине 80-х было обусловлено развитием двух ключевых направлений, активно разрабатываемых с конца 70-х годов: персональных компьютеров с одной стороны, и компьютерных сетей — с другой. Долгое время СУБД были доступны лишь для мэйнфреймов, и лишь благодаря росту производительности процессоров для домашних компьютеров и мини-ЭВМ разработчики СУБД (как, например, Oracle) начали создавать соответствующие версии своих продуктов. Одной из первых СУРБД для ПК стала Oracle v3, выпущенная в 1983 году. На тот момент немногочисленные владельцы ПК использовали их в основном для разработки приложений и тестирования [4, с. 118].

Одним из ключевых этапов в развитии СУБД стал 1986 год. К этому времени появилось еще несколько компаний-разработчиков СУБД, одной из самых заметных из них стала компания Sybase, основанная двумя годами ранее. К 1986 году Sybase начала комплектовать интеллектуальные рабочие станции (как правило, разработки Sun Microsystems или Apollo Computer) с серверами базы данных (разработанных, например, Oracle). При этом сама клиент-серверная технология сделала возможным отделение модулей обработки информации (т. н. back end) от модулей интерфейса (т. н. front end). Учтя постоянный рост проникновения компьютерных сетей, поставщики решений перешли к задачам распределения остальных задач (например, форматирование отчётов, проверка данных и т. д.) среди рабочих станций сети, оставив серверу выполнять лишь задачи, требующие централизованного решения (хранение и защита данных, оптимизация потока выполнения запросов и т. д.)

В завершении можно отметить следующее: рынок систем управления базами данных продолжает развиваться и все больше склоняется к использованию NoSQL-решений. Естественно, на «классическом» SQL реализовано существенное количество программных систем разной сложности, и за ним стоят такие гиганты рынка как Microsoft и ORACLE. Однако, с большой долей уверенности можно говорить о том, что NoSQL в ближайшее время достаточно сильно потеснят лидеров в разработке сложных информационных систем.

Список использованных источников

Выбор системы управления базой данных (СУБД) и других инструментальных программных средств [Электронный ресурс] Режим доступа: https://studfiles.net/preview/720364/page:3/ Дата обращения: 11.12.2017

Дейт, К. Введение в системы базы данных [Текст] : Учебное пособие / К. Дж. Дейт. — М.: изд-во Вильямс, 2013 — 1328 с.

Советов, Б.Я. Базы данных: теория и практика [Текст]: Учебник для вузов/ Б.Я. Советов. — М.: изд-во Высшая школа, 2015. — 463 с.

Хоменко, А.Д. Базы данных [Текст]: Учебник для вузов/ А. Д. Хоменко, В. М. Цыганков, М. Г. Мальцев. — М.: изд-во Корона-Принт, 2012. — 325 с.

Источник: scienceforum.ru

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

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

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

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

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

Примечание: Чтобы узнать больше о СУБД, читайте статью SQL, NoSQL и другие модели баз данных.

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

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

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

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

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

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

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

Примечание: Базы данных 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

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

Недостатки SQLite

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

Когда лучше использовать 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 [fields] [(p)]: промежуток времени.
  • line: бесконечная линия на плоскости.
  • lseg: сегмент линии на плоскости.
  • macaddr: MAC (Media Access Control) адрес.
  • money: валюта.
  • numeric [(p, s)]: точное числовое значение с выбранной точностью.
  • path: геометрический путь на плоскости.
  • point: геометрическая точка на плоскости.
  • polygon: закрытый геометрический путь на плоскости (полигон)
  • real: число с плавающей точкой одинарной точности (4 байта).
  • smallint: знаковое двухбайтное целое число.
  • serial: четырёхбайтное целое число с автоинкрементом.
  • text: строка символов с переменной длиной.
  • time [(p)] [without time zone]: время дня (без часового пояса).
  • time [(p)] with time zone: время дня и часовой пояс.
  • timestamp [(p)] [without time zone]: временная метка (дата и время) без часового пояса.
  • 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 лучше не использовать.

Источник: www.8host.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru