Другие языки программирования и технологии

А зачем нужны всякие базы данных? Почему нельзя хранить данные в файле? Так же легче?

Да! Так действительно легче когда их мало и разновидностей их тоже мало (ну или очень много уникальных) . Зачем использовать БД для хранения, к примеру, файла записей с двумя полями, кол-во которых не больше десятка или двух десятков уникальных записей.
Но, в большинстве случаев, приходится работать с огромной кучей однотипных данных. Например: сведения о заказчиках, тел. справочник, прайс-листы и т. д. Количество единиц этих данных, обычно, бывает очень большое (телефонный справочник города Москвы).. .
Любой хороший программист в состоянии реализовать небольшую БД для собственных нужд (затратив на её разработку больше времени чем на весь проект).. . Но зачем? Когда это может сделать группа профессионалов и намного лучше. Программисту останется только научиться работать с функциями. Конечно есть накладные расходы. Но они компенсируются приростом производительности.
И еще важный момент. Абстракция. Базы данных дают возможность организовать правильное хранение данных.

Базы данных, обычно, как раз и хранят данные в файл (е) ах.. .
Ну и вообще баз данных немало видов придумано было.. .
P.S. Википедия: "По принципу иерархической БД построены иерархические файловые системы и Реестр Windows."
ВА
Вадим Аксёнов
9 996
Лучший ответ
файл - это просто текст. а базы данных - это структура в виде таблицы.
Александр Григорик интересно, а что можно прочесть в тексте файла .exe? :-)
Тихонов Игорь ога, или в avi, например???
Ник у тебя что надо....
Чтобы облегчить поиск данных. И работать только с необходимыми.
Суржко Сергей
Суржко Сергей
28 760
Сергей Каратеев А я сохраняю в файл только необходимые.
данные в файле и хранятся, а вот его структурный вопрос - это уже другое
Потому что файл-серверная архитектура не богоугодна.
хранить легче, искать нужную информацию-легче повеситца!
Базы данных-это особые таблицы, способные взаимодействовать со скриптами на сайте, которые в Word-e сделать невозможно.
MM
Maykl Mayk
3 834
Сергей Каратеев а если я сайт не делаю, то лучше в файле хранить данные?
Нет, в файле просто нереально хранить данные.
Сергей Каратеев а я храню в файле и все работает! Получается что реально.
Нурлан Мамеев ну как обоснуй, Санек. Linux, например построен на взаимодейсвии файлов, даже устройства как файлы определятся(ну это так к слову)
чтобы оперировать с данными в файле - тебе придется писать свой движок для выполнения запросов. а субд - это и есть тот самый движок. так что зачем изоретать велосипед? тем более текстовыми файлами для хранения данных пользуются только быдлокодеры. нормальный программисты работат с бд. имхо - лучше использовать sqlite - Он не требует регистрации в системе, достаточно кинуть дллку в папку с программой
Вадим Аксёнов а почему текстовыми файлами для хранения данных пользуются только быдлокодеры?
Нурлан Мамеев бедаааа....
Э.. . Немного смешной даже, я бы сказал, вопрос, но все же хочу ответить :) ...

СУБД ведет работу не с чем-то там, а именно с теми самыми "данными в файле", так как файлы БД они хранятся в виде физических файлов на жестком диске, только в отличии от обычного тупого считывания там применяются специальные алгоритмы (файловые индексы) итп, что гарантирует более быстрое получение результата. Говорить, что хранить данные просто в файле удобнее - это не совсем верно, так как в обычном программировании считывание файла довольно ограничено рамками времени выполнения программы, что не позволяет в полной мере использовать возможности кеш. Более того постоянное обращение непосредственно к жесткому диску для скачивания файла сегодня считается как долгим так и ирроциональным процессом :) Потому и понадобился отдельный, постоянно висящий на некотором порту, сервер БД; наличие такой отдельной программы СУБД, которая не зависит от клиентского приложения и его времени выполнения, как раз и позволяет в полной мере использовать кеш (те же индексы) , чтобы доступ к данным с помощью считывания файла был сведем к самому минимуму и в крайнем случае ограничивался запуском СУБД и такому виду запросов как вставка, правка и удаление, так как они все же требуют непосредственного взаимодействия с физическим файлом БД из за требуемой его модификации.. .

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

Удачи
Идият Тукулов
Идият Тукулов
1 330
Понял, хоть что ляпнул? База данных это и есть файловые данные. Просто для удобства существуют механизмы отбора, что-бы из миллиардов записей найти ту, что тебе нужна, а не перерывать все миллионы.
Базы данных обеспечивают более быстрый (ОЧЕНЬ БЫСТРЫЙ) доступ к информации за счет специальной структуры хранения данных. Кроме того в базах данных имеется удобный язык запросов SQL, помощью которого можно делать сложные запросы данных. А еще базы данных ориентированы на то, чтобы данные запрашивали сразу несколько субъектов.

Например, числовые таблицы вы можете хранить в обычном текстовом файле *.txt и использовать Блокнот для их просмотра и редактирования. А можете воспользоваться Excel, который предоставляет вам более мощные и удобные средства для работы с таблицами. Также и СУБД MySQL, Oracle, MSSQL и т. д. предоставляют вам более мощные и удобные инструменты для хранения информации.
Ты никогда не пробовал хранить все свои документы в одной коробке?
Ulukbek Kasymaliev
Ulukbek Kasymaliev
810