Прежде всего позвольте мне сказать, зачем нам нужна база данных.
Нам нужна база данных, чтобы помочь организовать информацию таким образом, чтобы мы могли эффективно извлекать хранимые данные.
Примеры систем управления реляционными базами данных (SQL):
1) База данных Oracle
2) SQLite
3) PostgreSQL
4) MySQL
5) Microsoft SQL Server
6) IBM DB2
Примеры систем управления нереляционными базами данных (NoSQL)
1) MongoDB
2) Кассандра
3) Redis
4) Диван
5) HBase
6) DocumentDB
7) Neo4j
Реляционные базы данных имеют нормализованные данные, поскольку информация хранится в таблицах в виде строк и столбцов, и обычно, когда данные находятся в нормализованной форме, это помогает уменьшить избыточность данных, а данные в таблицах обычно связаны друг с другом, поэтому, когда мы хотим получить данные, мы можем запрашивать данные с помощью операторов соединения и извлекать данные в соответствии с нашими потребностями. Это подходит, когда мы хотим иметь больше операций записи, меньше операций чтения и не задействовать много данных, также это действительно легко относительно обновлять данные в таблицах, чем в нереляционных базах данных. Горизонтальное масштабирование невозможно, вертикальное масштабирование возможно до некоторой степени. Соответствие требованиям CAP (согласованность, доступность, устойчивость к разделам) и ACID (атомарность, согласованность, изоляция, продолжительность).
Позвольте мне показать ввод данных в реляционную базу данных на примере PostgreSQL.
Сначала создайте таблицу продуктов следующим образом:
CREATE TABLE products (
product_no integer,
name text,
price numeric
);
затем вставьте данные
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);
Давайте посмотрим на другой пример:
Здесь, в реляционной базе данных, мы можем связать таблицу учеников и таблицу предметов, используя отношения, через внешний ключ, идентификатор предмета, но в нереляционной базе данных нет необходимости иметь два документа, поскольку нет отношений, поэтому мы храним все детали предмета В сведениях о студенте в одном документе говорится, что это документ о студенте, а затем данные дублируются, что затрудняет обновление записей.
В нереляционных базах данных нет фиксированной схемы, данные не нормализованы. никаких связей между данными не создается, все данные в основном помещаются в один документ. Хорошо подходит для обработки большого количества данных и может передавать большое количество данных одновременно, лучше всего там, где большое количество операций чтения и меньше операций записи и меньше обновлений, что немного затрудняет запрос данных, так как нет фиксированной схемы. Возможно горизонтальное и вертикальное масштабирование, соответствие требованиям CAP (согласованность, доступность, устойчивость к разделам) и BASE (базовая доступность, мягкое состояние, согласованность в конечном итоге).
Позвольте мне показать пример ввода данных в нереляционную базу данных с помощью Mongodb.
db.users.insertOne({name: ‘Mary’, age: 28 , occupation: ‘writer’ })
db.users.insertOne({name: ‘Ben’ , age: 21})
Следовательно, вы можете понять, что в базе данных с именем db есть коллекции с именем users и документ с именем insertOne, в который мы добавляем данные, и нет фиксированной схемы, поскольку наша первая запись имеет 3 атрибута, а второй атрибут имеет только 2 атрибута , это не проблема в нереляционных базах данных, но не может быть сделано в реляционных базах данных, поскольку реляционные базы данных имеют фиксированную схему.
Давайте посмотрим на другой пример
({Studname: ‘Ash’, Subname: ‘Mathematics’, LecturerName: ‘Mr. Oak’})
Следовательно, мы можем видеть, что в нереляционной базе данных мы можем вводить как сведения о студенте, так и сведения о предмете в один документ, поскольку в нереляционных базах данных не определены отношения, но здесь этот способ может привести к дублированию данных, и, следовательно, могут возникнуть ошибки при обновлении.
Надеюсь, это все объясняет