Программа субд для хранения файлов. Обзор программ для создания баз данных

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

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

Используя EMS SQL Manager Freeware, вы сможете работать c серверами, базами данных и схемами, просматривать, редактировать, искать, группировать, сортировать и фильтровать данные, создавать и выполнять запросы SQL с помощью мощного редактора SQL, работать с несколькими выбранными объектами одновременно и многое другое.

Мы предлагаем широкий набор бесплатных программ для администрирования баз данных наиболее популярных серверов. EMS SQL Manager Freeware поддерживает все серверные объекты, объекты баз данных и таблиц, а также последние версии серверов и функциональные возможности соответствующих РСУБД.

DbVisualizer 9.1.5

DbVisualizer is a database tool for developers and database administrators, helping you with both the development and maintenance of your databases.

Firebird 2.5.2

Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers.

Reitec.PMM 1.2.1.0

Reitec.PMM is a free tool for the management of test equipment as part of quality assurance.

WowBase 1.1

Create your own database quickly and easily.

MyContacts 3.1

Managing contacts, birthdays and dates/tasks.

LibreOffice Rus для Windows 3.6.4

Офисный пакет LibreOffice - лучшая бесплатная альтернатива для Microsoft Office 2003, 2007 и даже 2010.

PhpMyAdmin 3.5.3

phpMyAdmin Rus - программа для управления базой данных MySQL, скачать и использовать которую можно бесплатно - как дома, так и в организации. Русская версия.

Oracle MySQL для Linux, UNIX, *BSD и других *nix 5.5.28 Final / 6.0.6 Beta

Oracle MySQL - Известный сервер базы данных. Знаменит безупречной стабильностью работы и скоростью.

Oracle MySQL для Windows 5.5.28 Final / 6.0.6 Beta

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

  • Разработка под Android ,
  • SQLite
    • Tutorial
    • Recovery Mode

    Всем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
    Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.

    О вечном вопросе: почему?

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


    Если в нашем приложении больше 5 таблиц, то уже было бы не плохо использовать какой-нибудь инструмент для визуального проектирования архитектуры БД. Поскольку для меня это хобби, то и использую я абсолютно бесплатный инструмент под названием Oracle SQL Developer Data Modeler (скачать его можно ).

    Данная программа позволяет визуально рисовать таблицы, и строить взаимосвязи с ними. Многие ошибки проектирования архитектуры БД можно избежать при таком подходе проектирования (это я уже вам говорю как профессиональный программист БД). Выглядит это примерно так:

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

    Данный инструмент является аналогом таких известных продуктов как SQL Naviagator, Toad etc. Но как следует из названия, заточен он под работу с SQLite. Он позволяет визуально создать БД и получить DDL код создаваемых таблиц. Кстати, он также позволяет создавать представления (View), которые вы тоже при желании можете использовать в своем приложении. Не знаю насколько правильный подход использования представлений в программах для Android, но в одном из своих приложений я использовал их.

    Собственно говоря я больше не каких сторонних инструментов не использую, и дальше начинается магия с Android Studio. Как я уже писал выше, если начать внедрять SQL код в Java код, то на выходе мы получим плохочитаемый, а значит и плохо расширяемый код. Поэтому я выношу все SQL инструкции во внешние файлы, которые у меня находятся в директории assets . В Android Studio выглядит это примерно так:


    О директориях db и data

    Внутри директории assets я создал две директории db_01 и data_01 . Цифры в названиях директорий соответствуют номеру версии моей БД с которой я работаю. В директории db у меня хранятся сами SQL скрипты создания таблиц. А в директории data хранятся данные необходимые для начального заполнения таблиц.


    Теперь давайте посмотрим на код внутри моего DBHelper который я использую в своих проектах. Сначала переменные класса и конструктор (тут без каких либо неожиданностей):

    Private static final String TAG = "RoadMap4.DBHelper"; String mDb = "db_"; String mData = "data_"; Context mContext; int mVersion; public DBHelper(Context context, String name, int version) { super(context, name, null, version); mContext = context; mVersion = version; }
    Теперь метод onCreate и тут становится уже интереснее:

    @Override public void onCreate(SQLiteDatabase db) { ArrayList tables = getSQLTables(); for (String table: tables){ db.execSQL(table); } ArrayList> dataSQL = getSQLDatas(); for (HashMap hm: dataSQL){ for (String table: hm.keySet()){ Log.d(TAG, "insert into " + table + " " + hm.get(table)); long rowId = db.insert(table, null, hm.get(table)); } } }
    Логически он разделен на два цикла, в первом цикле я получаю список SQL - инструкций для создания БД и затем выполняю их, во втором цикле я уже заполняю созданные ранее таблицы начальными данными. И так, шаг первый:

    Private ArrayList getSQLTables() { ArrayList tables = new ArrayList<>(); ArrayList files = new ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mDb + mVersion; try { String listFiles = assetManager.list(dir); for (String file: listFiles){ files.add(file); } Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String query; String line; for (String file: files){ Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); query = ""; while ((line = bufferedReader.readLine()) != null){ query = query + line; } bufferedReader.close(); tables.add(query); } } catch (IOException e) { e.printStackTrace(); } return tables; }
    Тут все достаточно просто, мы просто читаем содержимое файлов, и конкатенируем содержимое каждого файла в элемент массива. Обратите внимание, что я произвожу сортировку списка файлов, так как таблицы могут иметь внешние ключи, а значит таблицы должны создаваться в определенном порядке. Я использую нумерацию в название файлов, и с помощью нею и произвожу сортировку.

    Private class QueryFilesComparator implements Comparator{ @Override public int compare(String file1, String file2) { Integer f2 = Integer.parseInt(file1.substring(0, 2)); Integer f1 = Integer.parseInt(file2.substring(0, 2)); return f2.compareTo(f1); } }
    С заполнением таблиц все веселей. Таблицы у меня заполняются не только жестко заданными значениями, но также значениями из ресурсов и UUID ключами (я надеюсь когда-нибудь прийти к сетевой версии своей программы, что бы мои пользователи могли работать с общими данными). Сама структура файлов с начальными данными выглядит так:


    Несмотря на то, что файлы у меня имеют расширение sql, внутри не sql код а вот такая штука:

    Prioritys
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:color:colorGreen
    pri_default:int:1
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:hold
    pri_color:color:colorBlue
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:important
    pri_color:color:colorRed
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:color:colorGreen
    pri_default:int:1
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_project
    pri_name:string:hold
    pri_color:color:colorBlue
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_project
    pri_name:string:important
    pri_color:color:colorRed
    pri_default:int:0

    Структура файла такая: я выполняю вызов функции split(":") применительно к строчке и если получаю что ее размер равен 1 то значит это название таблицы, куда надо записать данные. Иначе это сами данные. Первое поле это название поля в таблице. Второе поле тип, по которому я определяю что мне надо в это самое поле записать. Если это UUID - это значит мне надо сгенерировать уникальное значение UUID. Если string значит мне надо из ресурсов вытащить строковое значение. Если color, то опять-таки, из ресурсов надо вытащить код цвета. Если int или text, то я просто преобразую данное значение в int или String без каких либо телодвижений. Сам код выглядит вот так:

    Private ArrayList> getSQLDatas() { ArrayList> data = new ArrayList<>(); ArrayList files = new ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mData + mVersion; try { String listFiles = assetManager.list(dir); for (String file: listFiles){ files.add(file); } Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String line; int separator = 0; ContentValues cv = null; String fields; String nameTable = null; String packageName = mContext.getPackageName(); boolean flag = false; HashMap hm; for (String file: files){ Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); while ((line = bufferedReader.readLine()) != null){ fields = line.trim().split(":"); if (fields.length == 1){ if (flag == true){ hm = new HashMap<>(); hm.put(nameTable, cv); data.add(hm); } // наименование таблицы nameTable = line.trim(); cv = new ContentValues(); continue; } else { if (fields.equals("UUID")){ cv.put(fields, UUID.randomUUID().toString()); } else if (fields.equals("color") || fields.equals("string")){ int resId = mContext.getResources().getIdentifier(fields, fields, packageName); Log.d(TAG, fields + " " + resId); switch (fields){ case "color": cv.put(fields, resId); break; case "string": cv.put(fields, mContext.getString(resId)); break; default: break; } } else if (fields.equals("text")){ cv.put(fields, fields); } else if (fields.equals("int")){ cv.put(fields, Integer.parseInt(fields)); } } flag = true; } bufferedReader.close(); } } catch (IOException e) { e.printStackTrace(); } return data; }

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

    Когда имеется готовая база данных в Delphi, то не нужно затрачивать свое время на изучение и написание программного кода для курсовой или дипломной работе по программированию баз данных. В наличии имеется много реализованных проектов баз данных, позволяющих написать свою работу на хорошую оценку. Большой выбор проектов на субд Access в Delphi 7 позволит выбрать самый подходящий проект для защиты, такие исходники как учет товаров, учет программ и т.д.. Также имеются проекты с базой данных MySQL и InterBase.

    Сферы, где применяются базы данных

    • Государственные учебные заведения;
    • Перепись населения. Такая база данных позволяет специальным органам проводить быстрый просчет статистики по населению страны. К примеру, можно выполнить сравнение по количеству жителей в разные года выбранного города. Вести базу сотрудников, которые выполняют обход по закрепленным адресам.
    • Коммерческие организации . К ним относятся муниципальные предприятия (унитарные), производственные кооперативы, хозяйственные общества и хозяйства.
    • Торговые предприятия;
    • Агентства недвижимости;
    • Тур-агентства;
    • и прочие предприятия.
  • MySQL
  • Многие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.

    Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» - пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.

    В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.

    1. Workbench

    Первое место, по праву принадлежит инструменту Workbench (разработка компании Sun Systems/Oracle), который может работать на платформах Microsoft Windows, Mac OS X и Linux. Workbench объединяет в себе разработку и администрирование баз данных и является преемником DBDesigner4.

    MySQL Workbench распространяется под свободной лицензией - Community Edition и с ежегодной оплачиваемой подпиской - Standard Edition. Последняя включает в себя дополнительные возможности, которые способны существенно улучшить производительность, как разработчиков, так и администраторов баз данных.

    Стоимость - бесплатно.

    Что делает Workbench популярным?

    • возможность представить модель БД в графическом виде, а также редактирование данных в таблице;
    • наличие простого и функционального механизма по созданию связей между полями таблиц, среди которых реализована связь «многие-ко-многим» с возможностью создания таблицы связей;
    • функция Reverse Engineering позволяет восстанавливать структуру таблиц и связей из той, которая была реализована ранее и хранится на сервере БД;
    • наличие редактора SQL-запросов, который дает возможность при отправке на сервер получать ответ в табличном виде и другие возможности.

    2. Navicat

    Второе место занимает Navicat (разработка компании PremiumSoft CyberTech Ltd) - инструмент для разработки и администрирования баз данных, который работает на любом сервере MySQL, начиная с версии 3.21. Для MySQL, Navicat доступен для работы на платформах Microsoft Windows, Mac OS X и Linux.

    Стоимость продукта варьируется от 199 до 379 долл. США.

    Что делает Navicat популярным?

    • наличие визуального конструктора запросов;
    • возможность импорта, экспорта и резервного копирования данных;
    • возможность создавать отчеты;
    • SSH и HTTP туннелинг;
    • миграция и синхронизация данных и структуры;
    • инструмент для планирования задач и другие возможности.

    3. PHPMyAdmin

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

    Стоимость - бесплатно.

    Что делает PHPMyAdmin популярным?

    • возможность управлять СУБД MySQL без непосредственного ввода SQL команд;
    • как панель управления PHPMyAdmin предоставляет возможность администрирования выделенных БД;
    • интенсивное развитие;
    • возможность интегрировать PHPMyAdmin в собственные разработки благодаря лицензии GNU General Public License и другие возможности.

    4. dbForge Studio for MySQL

    dbForge Studio for MySQL - инструмент, представляющий интерес как для пользователей MySQL, так и для разработчиков БД. С его помощью вы сумеете легко автоматизировать рутинную работу и сэкономить время. Сегодня dbForge Studio for MySQL представлен в трех редакциях: Express, Standard и Professional, что позволяет выбрать тот инструмент, который нужен именно вам. Пользоваться dbForge Studio for MySQL можно как коммерческой, так и бесплатной версией.

    Существует как бесплатная, так и платная версии, цена последней составляет 49,95 долл. США (стандартное издание) и 99,99 долл. США (профессиональное издание).

    Что делает dbForge Studio популярным?

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

    5. HeidiSQL

    HeidiSQL - бесплатный инструмент для управления базами данных. Достойная альтернатива PHPMyAdmin, которая позволяет создавать и редактировать таблицы, представления, триггеры, процедура, а также просматривать и редактировать данные. Также HeidiSQL предоставляет возможность экспорта данных как в SQL файл, так и в буфер обмена на других серверах.

    Стоимость - бесплатно.

    Что делает HeidiSQL популярным?

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

    6. SQL Maestro для MySQL

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

    В зависимости от выбранной лицензии и варианта использования, стоимость данного инструмента варьируется от 99 до 1949 долл. США.

    Что делает SQL Maestro для MySQL популярным?

    • поддержка версий MySQL сервера с версии 3.23;
    • наличие конструктора баз данных;
    • возможность редактирование, группировки, сортировки и фильтрации данных;
    • визуальный конструктор запросов;
    • SSH и HTTP туннелинг;
    • BLOB-редактор и другие возможности.

    7. EMS SQL Manager для MySQL

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

    Существует платная и бесплатная версии приложения. Последняя имеет ряд функциональных ограничений. Стоимость платной версии варьируется в пределах 95 – 245 долл. США.

    Что делает EMS SQL Manager for MySQLпопулярным?

    • поддержка данных UTF8;
    • простое управление различными объектами MySQL;
    • совместимость со всеми версиями с 3.23 по 6.0 включительно;
    • наличие графических и текстовых инструментов для формирования запросов;
    • SSH и HTTP туннелинг;
    • удобный конструктор отчетов и другие возможности.

    8. SQLyog

    SQLyog - один из наиболее мощных инструментов, который сочетает в себе возможности MySQL Administrator, PHPMyAdmin и некоторые другие инструменты для администрирования и разработки баз данных. SQLyog работает на платформах Microsoft Windows, Windows NT. и Linux с помощью Wine.

    Доступна как бесплатная, так и платная версия SQLyog. Стоимость платной версии - от 99 до 1499 долл. США (варьируется в зависимости от количества пользователей и лицензии, с поддержкой или без нее).

    Что делает SQLyog популярным?

    • удобный конструктор запросов;
    • возможность синхронизации данных;
    • поддержка юникода;
    • SSH и HTTP, HTTPS туннелинг;
    • «умное» автозавершение работы;
    • интеллектуальное дополнение кода и другие возможности.

    9. DBTools Manager

    DBTools Manager - приложение для управления данными, с встроенной поддержкой MySQL, PostgreSQL, MSAccess, MSSQL Server, Oracle и других БД. Поддерживаемые платформы: Windows 2000, XP, Vista, 7.

    DBTools Manager представлен в бесплатном (Standard) и платном варианте (Enterprise). Стоимость составляет 69.90 долл. США за одну лицензию, при покупке нескольких лицензий предусмотрены скидки.

    Подробнее ознакомиться и приобрести DBTools Manager можно здесь