Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
-6 / 1 / 0
Регистрация: 07.06.2019
Сообщений: 38

Для чего нужна база данных Python программисту?

27.06.2019, 12:57. Показов 6081. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Учу Пайтон уже почти как два месяца. Имею не плохие знание по нему как на свой стаж изучение. Почти прошёл свою первую книгу с которой начал AByteOfPython, и не знаю что дальше изучить после него для хорошего опыта. Все говорят учить базу данных СУБД. Но не понимаю для чего они вообще нужны.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2019, 12:57
Ответы с готовыми решениями:

Для чего нужно изучать базу данных Python программисту?
Учу Пайтон уже почти как два месяца. Имею не плохие знание по нему как на свой стаж изучение. Почти прошёл свою первую книгу с которой...

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

База данных для кино-сайта. Нужна или не нужна?
Рыскал интернет и наткнулся на комментарий на одном сайте: Вот сайт www.myfirstsite.ru/articles/database-for-website ,там внизу...

26
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.06.2019, 13:25
VictorDit, думаешь если создать много одинаковых тем с одним вопросом то можно получить разные ответы?
раз не понимаешь, значит еще рано тебе БД, читаем следующую книгу по пайтон -Лутца
0
-6 / 1 / 0
Регистрация: 07.06.2019
Сообщений: 38
27.06.2019, 13:52  [ТС]
Welemir1, я не чаяно создал пару тем с одним вопросом какбы
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
27.06.2019, 14:24
VictorDit, очевидно, чтобы хранить данные.
Они (базы) хранят в себе хитрую структуру разметки, которая позволяет быстро писать и читать данные, по сравнению с простыми, неструктурированными файлами.

На мой субъективный взгляд, этот вопрос неплохо описывается в книге "Джоэл о программировании", глава 2, "обращаясь к основам". Правда, там очень долгое подведение к этому вопросу, но уж чем богаты.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
27.06.2019, 14:28
Цитата Сообщение от VictorDit Посмотреть сообщение
я не чаяно создал пару тем с одним вопросом какбы
Все, срочно 7 лет расстрела(кара определяется, обычно, модератором).
Что касается баз данных, так они не только python - программисту нужны
0
-6 / 1 / 0
Регистрация: 07.06.2019
Сообщений: 38
27.06.2019, 14:35  [ТС]
Dax, Ну как бы понятно, я в пример просто сказал пайтон программисту
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
27.06.2019, 14:41
VictorDit, нужны базы данных, как заметилdondublon, для хранения данных и управления ими.

Добавлено через 3 минуты
Если уж на то пошло, я считаю, что отдельными языками, будь то python, delphi , c++ или что иное , инструментарий,который дает БД и SQL можно только дополнить, но, нельзя заменить.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.06.2019, 14:49
База данных нужна, чтобы хранить данные. Структурированные. Допустим, структуру Студент (фио, год рождения, номер студенческого) ты ещё может сохранить в текстовом файле. И вот тебе потребовалось добавить структуры Дисциплина (название предмета) и выставить оценки студентам по всем предметам за конкретный семестр.

Как будешь хранить всё это? И связи между объектами. Ладно, сотню-другую объектов ты сохранишь, а как будешь делать запросы вида: вывести всех студентов, у которых ни по одному предмету за все семестры нет троек?

В базе данных это все описывается легко и запросы к БД пишутся на отдельном языке запросов (SQL).
1
0 / 0 / 0
Регистрация: 27.06.2019
Сообщений: 3
27.06.2019, 14:50
чтобы,чтобы
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.06.2019, 14:52
Да и БД тупо быстрее работает, даже при полном обходе таблицы, чем если бы ты вручную перебирал данные в поисках чего-то конкретного.

Добавлено через 58 секунд
Наверное, СУБД всё-таки, нужно разделять эти понятия.
0
60 / 86 / 16
Регистрация: 25.03.2019
Сообщений: 235
27.06.2019, 16:20
Добавлю к написанному. Небольшую базу данных можно, как уже заметили, и в текстовом файле хранить. Но ведь ее обычно не только хранить надо, а еще и искать данные в ней. И если с помощью SQL вы просто пишите, что нужно выбрать что-то, то для текстового файла будете еще и дополнительный код для поиска в нем создавать.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
28.06.2019, 17:15
VictorDit, Вы понимаете зачем Вашему мозгу нужна память? Вот для этого же память в виде базы данных нужна и компьютеру. Почему база данных а не просто текстовый файл? Потому что в базе данных все разложено по полочкам (в таблицу), как и у Вас в памяти все разложено по полочкам, какая информация к чему относится.
Вот посмотрите мою телефонную книгу.
Телефонный справочник
Если бы я не использовал питоновскую базу данных на основе модуля shelve, то не смог бы хранить в этой телефонной книге телефоны. Тогда зачем она была бы нужна. Это все равно, что записывать в бумажную телефонную книгу телефоны ручкой с исчезающими чернилами.
А лучше всего вы поймете необходимость использования базы данных для хранения информации, и вообще как создается проект на питоне, если прочитаете первую главу в книге Лутц М. Программирование на Python. Том 1 (4-е издание, 2011)
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
28.06.2019, 19:10
Ладно, не откажу себе в удовольствии процитировать Спольски.

Каким образом реляционная база данных реализует SELECT author FROM
books? В реляционной базе данных каждая строка таблицы (например, таб-
лицы books) имеет одинаковый размер в байтах, и у каждого поля есть по-
стоянное смещение от начала строки. Например, если все записи таблицы
books имеют длину 100 байт, а поле author имеет смещение 23, то авторы
хранятся в байтах, начиная с 23, 123, 223, 323 и т. д. Какой же код позволит
перемещаться к следующей записи в результатах этого запроса? В принци-
пе он имеет такой вид:

pointer += 100;

Единственная команда CPU. Ну о-о-очень быстро.
Теперь взглянем на таблицу books в XML.
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml blah blah>
<books>
<book>
<title>UI Design for Programmers</title>
<author>Joel Spolsky</author>
</book>
<book>
<title>The Chop Suey Club</title>
<author>Bruce Weber</author>
</book>
</books>
Вопрос на сообразительность. Какой код позволит переместиться
к следующей записи?
Да-да...
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
28.06.2019, 20:10
dondublon, Не люблю, когда выражаются заумно. У нас на работе был один программист, который простые вещи излагал используя мало кому понятный жаргон, что его мало кто понимал. И он считал, что это его достоинство. Талант заключается в том, что бы сложные вещи объяснить, как можно более понятным языком. Увы, не все это умеют. Такие специалисты (может даже и очень хорошие специалисты в программировании), точно не могут быть хорошими преподавателями, если не могут понятно объяснять сложные вещи. Лутц именно потому написал хорошие книги по питону, что он кроме глубоких знаний питона, еще и опытный преподаватель. Поэтому его книги для того, что бы научить новичков, а не просто продемонстрировать свои глубокие познания, как это бывает у некоторых авторов.
Вопрос на сообразительность. Для чего существует данный раздел форума, для того что бы помочь новичкам или для того, что бы запудрить им мозги?
Для профессионалов на этом форуме существуют другие разделы.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
29.06.2019, 11:28
Viktorrus, по-моему, приведённый фрагмент объясняет именно на пальцах, проще некуда.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
29.06.2019, 19:18
dondublon, Извините, Я не профессионал, только изучаю питон. Однако когда то изучал теорию реляционных баз данных, правда сейчас уже подзабыл. На работе реализовал несколько проектов на базе MS Access, для планового отдела и для бухгалтерии. Я не понял, какое отношение теория реляционных баз данных имеет к вопросу "Для чего нужна база данных Python программисту?" Кстати в питоне, используя модуль shelve и ООП, мы получаем базу данных, которая является просто словарем, который кстати не упорядочен, с ключами и их значениями в виде экземпляров класса. И таблица фактически имитируется атрибутами экземпляров класса. Поэтому высказывание Спольски , которое Вы процитировали, здесь не применимо. Оно применимо только к реляционным базам данных, которые созданы в виде реальных таблиц со столбцами и строками, как например в SQL или в MS Access, и во многих других стандартных базах данных. Но работать с ними из питона, это отдельная тема, для начала проще всего работать с базой данных, используя встроенный в питон модуль shelve. Но если VictorDit, начнет с того, что изучит теорию реляционных баз данных и будет сразу работать с SQL, тогда ему будет интересно, понимать структуру реляционных баз данных, как в них избегать избыточность, разбивать на несколько таблиц и правильно их связывать. Извините, но я просто понял его вопрос по другому.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.06.2019, 21:55
Цитата Сообщение от Viktorrus Посмотреть сообщение
Я не понял, какое отношение теория реляционных баз данных имеет к вопросу
Цитата Сообщение от VictorDit Посмотреть сообщение
говорят учить базу данных СУБД
СУБД (Системы управления базами данных) по модели данных бывают либо SQL (Реляционные), либо всякие NoSQL (не реляционные) типа MongoDB или Redis, но никак не shelve\pickle, поскольку эти модули реализуют лишь функционал сериализации\десериализации Python структур в файл без всякой возможности поисковых запросов и не выполняют главных функций СУБД:
  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти с использованием дискового кэша;
  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

Собственно, и изучать поэтому тут нужно много, долго и кропотливо, потому что реляционная теория сама по себе очень сложна, диалектов SQL много, разновидностей СУБД (только основных) не меньше десятка... А работодатели требуют знать как можно больше. То есть знание СУБД это must have для программиста.
Ну а в pickle\shelve учить нечего - прочитал доку за 10 минут и готово.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
29.06.2019, 23:07
Цитата Сообщение от Viktorrus Посмотреть сообщение
Я не понял, какое отношение теория реляционных баз данных имеет к вопросу "Для чего нужна база данных Python программисту?"
Бывает.
Видимо, то отношение, что под "базами данных" обычно понимают именно реляционные, особенно начинающие.
Цитата Сообщение от Viktorrus Посмотреть сообщение
Кстати в питоне, используя модуль shelve и ООП, мы получаем базу данных,
А вот хранение данных в памяти базами данных не называют.
Цитата Сообщение от Viktorrus Посмотреть сообщение
Поэтому высказывание Спольски , которое Вы процитировали, здесь не применимо. Оно применимо только к реляционным базам данных
Спасибо, кэп.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
30.06.2019, 10:31
Цитата Сообщение от Garry Galler Посмотреть сообщение
СУБД (Системы управления базами данных) по модели данных бывают либо SQL (Реляционные), либо всякие NoSQL (не реляционные) типа MongoDB или Redis, но никак не shelve\pickle, поскольку эти модули реализуют лишь функционал сериализации\десериализации Python структур в файл без всякой возможности поисковых запросов и не выполняют главных функций СУБД
Извините, Вы как раз в своем высказывании и говорите о том, что достоинства реляционных баз данных используются благодаря СУБД.
Теперь немного о понятиях.
Базой обычно называют некоторое множество или предметов или информационных объектов, как то овощная база, или база основных знаний, которыми нужно овладеть, чтобы стать специалистом в той или иной области деятельности. Бумажный каталог в библиотеке, это база данных о наличии книг в библиотеке. Если бумажный каталог книг завести в компьютер в том виде списка, как он в каталоге (сгруппированный по некоторым признакам), то это будет электронная база, но не реляционная.
И так база данных не является синонимом реляционная база данных, Вы об этом написали.
Но где Вы увидели, что я называю модуль shelve базой данных? Тут Вы, извините, приписываете мне то, чего я не говорил.
Цитата Сообщение от Viktorrus Посмотреть сообщение
Кстати в питоне, используя модуль shelve и ООП, мы получаем базу данных
Я написал, что используя модуль получаем базу данных, а не то, что модуль shelve является базой данных.
И то, что с помощью модуля shelve создается база данных, говорит и Лутц, если хотите поспорьте с ним.

"Мы создали вполне функциональную базу данных: наши классы одновременно реализуют хранение данных записей и их обработку и заключают в себе реализацию поведения. А модули pickle и shelve обеспечивают простой способ сохранения нашей базы данных между запусками программы. Это не реляционная база данных (она хранит объекты, а не таблицы, и запросы имеют вид программного кода на языке Python, обрабатывающего объекты), но ее вполне достаточно для многих видов программ. Если потребуются более широкие функциональные возможности, мы сможем перевести это приложение на использование более мощных инструментов. Например, если нам потребуется полноценная поддержка запросов на языке SQL, мы сможем использовать библиотеки, позволяющие сценариям на языке Python путем переноса взаимодействовать с реляционными базами данных, такими как MySQL, PostgreSQL и Oracle."
Лутц М. Программирование на Python. Том 1 (4-е издание, 2011) стр.81-82.

Такая база данных не может быстро обрабатывать объемы с сотнями тысяч записей в отличие от СУБД работающих с реляционными базами данных типа SQL. Но для небольшого количества данных, питоновская база данных , созданная с помощью shelve, принимая во внимание современные мощности компьютеров, вполне достаточна. И на начальном этапе, вполне можно обойтись такой базой данных, пока вы не изучили SQL.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
30.06.2019, 11:47
Цитата Сообщение от Viktorrus Посмотреть сообщение
Но где Вы увидели, что я называю модуль shelve базой данных?
Нигде. СУБД и БД - разные понятия. Я же написал про СУБД и про то что shelve таковой (т.е. системой) не является и, следовательно, не отвечает вопросу ТС.

Цитата Сообщение от Viktorrus Посмотреть сообщение
на начальном этапе, вполне можно обойтись такой базой данных, пока вы не изучили SQL.
Да, можно. Но тут, как я уже написал, нечего изучать.
ТС, естественно, не понимает терминологии - поэтому написал в своем посте и база данных и СУБД. Изучать же ТС-у нужно именно СУБД (и, понятное дело, в первую очередь на основе реляционных БД, т.е. SQL) - как ему правильно и посоветовали на где-то на другом форуме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2019, 11:47
Помогаю со студенческими работами здесь

Нужна база данных для сайта
Добрый вечер!Помогите найти базу данных для сайта. Нужна база данных Калининградской области. Областной центр(Калининград)-Район(Район...

Объектная база данных для python
День добрый Нужна база данных, умеющая сохранять объекты как они есть в базу, что-то вроде ZODB Этот ZODB весьма хорош, для...

Нужна готовая база данных для курсовика
Мне нужна готовая база данных в Access c 5 таблицами на любую тему. А лучше готовый курсовик

нужна база данных для цветочного магазина
Помогите пожалуйста создать базу данных для цветочного магазина.=( никак не получается

Для чего программисту 1С нужно высшее техническое образование.
Очень часто вижу в требованиях на вакансю программиста 1С &quot;Высшее техническое образование&quot;. Мне интересно, почему. Мои доводы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru