Раздел СУБД: 12 правил Кодда: что такое система управления базами данных
СУБД (система управления базами данных), на английском DBMS (database management system).
Реляционная база данных - это база данных, в которой все данные, доступные пользователю, организованы в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. Таблицы разделены на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы должно быть уникальное имя. Строки в таблицах обычно называют записями, а столбцы - полями.
Все о базах данных
- Движок БД MySQL: установка. my.cnf. Движки InnoDB, MyISAM и др.
- MariaDB форк MySQL
- mongodb - документ-ориентированная СУБД.
Первичный ключ. Чтобы отличать одну строку от другой используется понятие первичного ключа. Первичным ключом называется столбец или группа столбцов таблицы, значения которых уникальным образом идентифицируют каждую строку таблицы. У таблицы может быть только один первичный ключ.
Индекс - это средство, обеспечивающее быстрый доступ к строкам таблицы на основе значений одного или нескольких столбцов. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Значения данных в индексе располагаются в убывающем или возрастающем порядке, чтобы СУБД могла быстро найти требуемое значение.
12 правил Кодда
12 правил Кодда (Codd’s 12 rules) — 12 правил (на самом деле их 13), которым должна удовлетворять каждая система управления реляционными базами данных.
- Правило информации. Вся информация в базе данных должна быть представлена исключительно на логическом уровне и только одним способом – в виде значений, содержащихся в таблицах.
- Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в реляционной базе данных должна обеспечиваться путем использования комбинации имени таблицы, первичного ключа и имени столбца. Правило 2 указывает на роль первичного ключа при поиске информации в базе данных.Имя таблицы позволяет найти требуемую таблицу, имя столбца позволяет найти требуемый столбец, а первичный ключ позволяет найти строку, содержащую искомый элемент данных.
- Правило поддержки недействительных значений. В настоящей реляционной базе данных должна быть реализована поддержка недействительных(отсутствующих) значений (NULL), которые отличаются от строки символов нулевой длины, строки пробельных символов и от нуля или любого другого числа т.е. для числовых данных неизвестные значения не должны рассматриваться как нули, а для символьных данных — как пустые строки.
- Правило динамического каталога. Правило 4 гласит, что реляционная база данных должна сама себя описывать. Другими словами, база данных должна содержать набор системных таблиц(словарь данных), описывающих структуру самой базы данных.
- Правило исчерпывающего подъязыка данных. СУБД должна поддерживать хотя бы один реляционный язык, который имеет линейный синтаксис,может использоваться как интерактивно, так и в прикладных программах, поддерживает операции определения данных, определения представлений, манипулирования данными (интерактивные и программные), ограничители целостности, управления доступом и операции управления транзакциями (begin, commit и rollback).
- Возможность модификации представлений (View Updating Rule). Правило 6 касается представлений, которые являются виртуальными таблицами, позволяюцими показывать различным пользователям различные фрагменты структуры базы данных.
- Правило добавления, обновления и удаления. Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных. Правило 7 акцентирует внимание на том, что базы данных по своей природе ориентированы на множества. Оно требует, чтобы операции вставки, модификации и удаления данных поддерживались не только по отношению к одной строке реляционной таблицы, но по отношению к любому множеству строк.
- Физическая независимость данных (Physical Data Independence). Приложения не должны зависеть от используемых способов хранения данных на носителях, от аппаратного обеспечения компьютеров, на которых находится реляционная база данных.
- Логическая независимость данных (Logical Data Independence). Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить нетронутыми содержащиеся в этих таблицах данные. <note>Правила 8 и 9 означают отделение пользователя и прикладной программы от низкоуровневой реализации базы данных.</note>
- Независимость контроля целостности (Integrity Independence). Вся информация, необходимая для поддержания целостности, должна находиться в словаре данных т.е. храниться в каталоге, а не в прикладной программе. Язык для работы с данными должен выполнять проверку входных данных и автоматически поддерживать целостность данных.
- Дистрибутивная независимость (Distribution Independence). Реляционная СУБД не должна зависеть от потребностей конкретного клиента. Правило 11 гласит, что язык базы данных должен обеспечивать возможность работы с распределенными данными, расположенными на других компьютерных системах. Перенос базы данных на другой компьютер не должен оказывать влияния на приложения.
- Согласование языковых уровней (The Nonsubversion Rule). Если в реляционной системе есть низкоуровневой язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за один раз). Правило 12 предотвращает использование других возможностей для работы с базой данных помимо языка базы данных, поскольку это может нарушить ее целостность.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах