СУБД
Материал из Lurkmore
В эту статью нужно добавить как можно больше данных. Также сюда можно добавить интересные факты, картинки и прочие кошерные вещи. |
СУБД — система управления базами данных. СУБД позволяет сосредоточиться на работе с данными, абстрагировавшись от их физического размещения, а также берет на себя заботу эффективного их сохранения и выборки. С СУБД связаны такие понятия, как запрос, транзакция и модель данных. Все эти прекрасные возможности побеждаются индусскими кодерами в один аккорд на клавиатуре созданием таблицы вида
id (int) | object (blob) |
---|---|
1 | (binary) |
2 | (binary) |
Данная операция моментально превращает сложную систему в подобие громадного текстового файла, уничтожая любые преимущества СУБД по скорости и все возможности по работе с данными. При этом данная модель данных настолько распространена, что практически является локальным мемом на Ежедневном ЧтоЗаНахе[1].
В случае, если индусский говнокодер не знаком с Java, но знаком с иерархиями — структура таблички несколько изменится[2].
id (int) | parent_id (int) | value (varchar(1024)) |
---|---|---|
1 | 0 | документ1 |
2 | 1 | строка документа1 |
3 | 1 | строка документа2 |
4 | 0 | документ2 |
Таким образом, одной таблички более чем достаточно для описания системы любой сложности. Хотя существуют ООСУБД и документ-ориентированные СУБД. Разница в том, что нормальная OO или документ-ориентированная БД оптимизирует хранение этих самых объектов/документов. И предоставляет возможность делать запросы (например, XQuery/XPath в случае с XML). Индусский «аналог» этого не умеет.
Содержание |
[править] К. О. сообщает
Весь смысл использования базы данных в том, чтобы по этим данным можно было делать запросы. Вы видите в этой таблице данные? И я не вижу. А они есть.
[править] В интернетах
В интернетах СУБД являются темой срача и фаллометрии, как, впрочем, и все остальное в этой вселенной. Уровень ФГМ на тематических форумах зашкаливает при упоминании вражьей базы данных. Вечные темы:
- MySQL — хранилище данных с интерфейсом, похожим на SQL.
- Зато быстро, а этот ваш Postgres тормозит.
- MS SQL Server — это труъ (потому что бывший sybase).
- Труъ-сервер может быть только под никсами.
- Стоит ли Oracle своих денег?
- Слишком ли тормозят БД на Java, или можно жить.
- Как лучше всего умертвить создателей Access?
- Не наезжайте на Access: у меня на нем гостевуха, и все летает.
- Говнокоды на SQL.
- Изредка встречаются даже холивары «SQL vs Oracle».
[править] Новые разработки
Многие современные СУБД произошли (прямо или косвенно) от Ingres, написанной в Университете Беркели в 70-х (ОМГ! BSD оттуда же!). После того как основные алгоритмы поиска и хранения данных вместе с языком SQL стабилизировались, разработчики современных систем заняты в основном:
- Добавлением поддержки малопопулярных возможностей SQL;
- Добавлением тучи малопопулярных функций и типов;
- Написанием новой СУБД с нуля (теперь и на PHP);
- Написанием трансляторов из базы данных в объекты (облегчая тем самым работу быдлокодерам);
- Перепиливанием системы частично или полностью для поддержки XML.
Последний пункт является причиной отдельной темы срача, где участники делятся на лагерь, поклоняющийся Oracle и DB2 за умение работать с XML без бубна, и лагерь, старающийся убедить противника в том, что XML = УГ.
[править] Примечания
- ↑ «Хороший» пример данного подхода приведен в книге Мартина Фаулера «Архитектура корпоративных программных приложений» ISBN 5-8459-0579-6.
- ↑ Справедливо для реляционных СУБД. Объектные, объектно-реляционные СУБД хранят объекты в полях объектного типа, например Oracle.
[ + ] Любой программист без словаря поймёт, что такое СУБД
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|