Базы данных SQLite для прикладных программ на Python
Страница находится в разработке, ориентировочная дата выхода крайнего видео по теме 30.09.2018
Введение в управление базами данных для прикладных программ на PythonВ предыдущих главах мы использовали файлы в форматах txt, csv, excel. для хранения данных. Это удобно для манипуляции данными малого объёма с простой структурой. Однако, чем больше становится данных, и чем их структура более развита нам становится сложнее ими оперировать, поэтому, для повышения эффективности управления данными необходим особый механизм. Этот механизм должен помогать в поиске данных, контролировать кто может их просматривать и модифицировать, проверять хранятся ли данные в необходимом формате. То есть, нам необходима база данных!!!. Существует множество типов баз данных, например, есть базы, которые хранят данные в виде словарей, таблиц, или хранят копии объектов программы. В конце концов Вы можете сконструировать свою собственную базу данных. На сегодняшний день значительной популярностью пользуются реляционные базы данных в которых иерархия данных основывается на таблицах. Каждая из таблиц в реляционной базе данных SQLite имеет фиксированное число столбцов и переменое число строк, при этом каждому столбцу присвоено имя, а ячейки столбца заполнены данными определённого типа. (INT, REAL, STRING, BLOB, и подобными). Данные каждой строки (они же записи, 1 строка = 1 запись) обычно связаны друг с другом по смыслу. В базу можно включить несколько таблиц. Осуществлять запросы к таблицам базы, дополнять их записями и изменять существующие записи. В упрощённом варианте можно представить базу данных в виде файла где каждая строка - это запись, но в реальных базах данных данные хранятся в определённом форме е, поэтому прочитать их в текстовом редакторе не получится. Функционал СУБД широк. Он помогает понять, что за значения и в каком формате записаны в базе, проследить связи между данными в различных таблицах базы, эффективно взаимодействовать с реляционными базами данных. То есть: -Читать из базы данные и её структуру; -Записывать информацию; -Обновлять уже имеющуюся информацию; -Удалять записи или таблицы, обнулять ячейки; -Устанавливать права пользования данными. Существует множество СУБД, часть из них коммерческие, например, Oracle, IBM’s DB2 и Microsoft Access, а часть с открытым кодом MySQL и PostgreSQL. Подробно о плюсах и минусах различных реляционных СУБД можно посмотреть перейдя по ссылке. Данный пример посвящён СУБД SQLite. Она не очень то быстра, чтобы оперировать гигантским ресурсами, но бесплатна и её просто использовать вместе с Python. Так как имеется стандартная - встроенная в python библиотека sqlite3. Документацию на библиотеку sqlite3 смотрите здесь , я же постараюсь передать основную суть библиотеки в контексте решаемых задач, базовых функций для управления данными. Итак начнём! Чтобы осуществить запрос к базе она должна существовать, потому создадим ее. Воспользуемся для этого Python, а в частности используем библиотеку sqlite3, которая была упомянута ранее, и с которой будем работать в дальнейшем.
Теперь, когда мы создали базу данных, нужно поместить туда какие либо записи. Это сделаем так...
Теперь очень важный момент - пока мы не сообщили базе, что нужно сохранить изменения, они ещё не вступили в силу. Поэтому, запомним то, что изменили базу. Сделаем это посредством метода commit, который применяем к соединению с базой.
Чтобы двигаться дальше необходимо убедиться, что база данных создана корректно, и туда, как нам и требовалось помещена необходимая информация.
Для этого... Скачиваем Database. NET (с помощью указанного программного продукта возможно просматривать базы созданные на Sqlite и нетолько), и смотрим, что получилось. Должно получиться вот так. Добавим ещё данных, возьмём их из xls файла. (как читать данные из Excel я рассказывал в одном из моих предыдущих уроков ) В качестве рабочего примера рассмотрим данные результатов лабораторного анализа керна (карбонатные породы). Они представляют из себя таблицу, в которой записаны результаты лабораторного измерения ФЕС (фильтрационно-емкостных свойств) образцов горных пород. Каждая строка таблицы характеризует набор параметров для одного образца (параметрами являются: скважина, лабораторный номер образца, глубина взятия, глубина увязки, Кп, Кпр, Кво). Усложним ситуацию тем, что добавим пустые значения (None) там где данных нет, что ~всегда бывает. Для того, чтобы загрузить эту информацию в базу подготовим функцию с помощью которой и будем переносить данные из Excel таблицы.
Теперь данные в базе данных Cделаем запрос к базе данных причём, в выдаче запроса сделаем сортировку по скважине, затем из сделанного запроса получим данные.
Интегрируем базу с помощью функций в программу.
Применительно к проекту PyScientist notes база данных проекта будет располагаться в рабочей директории программы. В базе данных будет храниться следующая информация: 1)Это прежде всего данные настроек среды, чтобы при повторном запуске программы, настройки не пропадали. 1.1 Настройки виджета импорта данных -файл импорта и директория импорта по умолчанию. -тип файла для импорта и параметры импорта. - 2)Данные о таблицах с которыми работаем. в частности это данные последних загруженных таблиц. 3)
На этом хочу завершить эту запись. В случае наличия ошибок в записи либо если Вы считаете, что необходимо добавить в текст какие либо детали которые я не упомянул прошу писать на форуме, в комментариях к видео, мне на e-mail: sergei-dmitriev@mail.ru
|