В чем разница между реляционной и нереляционной базой данных?

@throw([NSException exceptionWith…])
78
задан Billy ONeal 8 June 2011 в 01:40
поделиться

1 ответ

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

Нам нужна база данных, чтобы помочь организовать информацию таким способом, что мы можем получить те данные, хранившие эффективным способом.

Примеры систем управления реляционными базами данных (SQL):

1) База данных Oracle

2) SQLite

3) PostgreSQL

4) MySQL

5) Microsoft SQL Server

6) примеры IBM DB2

не системы управления реляционными базами данных (NoSQL)

1) MongoDB

2) Cassandra

3) Redis

4) Couchbase

5) HBase

6) DocumentDB

7) реляционные базы данных Neo4j

нормализовали данные, поскольку в информации хранится в таблицах в формах строк и столбцов, и обычно когда данные находятся в нормализованной форме, это помогает уменьшить избыточность данных, и данные в таблицах обычно связываются друг с другом, поэтому когда мы хотим получить данные, мы можем запросить данные при помощи операторов соединения и получить данные согласно нашей потребности. Это подходит, когда мы хотим иметь больше записей, меньше чтений и не много включенных данных, также его действительно легкое относительно для обновления данных в таблицах, чем в не реляционные базы данных. Горизонтальное масштабирование не возможное, вертикальное масштабирование, возможное в некоторой степени. ОГРАНИЧЕНИЕ (Непротиворечивость, Доступность, Терпимый Раздел), и ACID (Атомарность, Непротиворечивость, Изоляция, Продолжительность) соответствие.

Позволяют мне показать ввод данных использованию реляционной базы данных PostgreSQL как пример.

Первый создают таблицу product следующим образом:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric
);

тогда вставляют данные

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);

, Давайте посмотрим на другой другой пример: enter image description here

Здесь в реляционной базе данных, мы можем связать студенческую таблицу и рабочую таблицу с помощью отношений, через внешний ключ, подчиненный идентификатор, но в не реляционной базе данных никакая потребность иметь два документа, как никакие отношения, таким образом, мы храним все подчиненные детали и студенческие детали в одном документе, говорят, что студенческий документ, тогда данные становятся дублированными, который делает записи обновления неприятными.

В не реляционные базы данных, нет никакой фиксированной схемы, данные не нормализованы. никакие отношения между данными не создаются, все данные главным образом вставляют один документ. Хорошо удовлетворенный при обрабатывании большого количества данных, и может передать много данных сразу, лучше всего где большое количество чтений и меньшего количества записей и меньшего количества обновлений, укусило трудный запросить данные как никакая фиксированная схема. Горизонтальное и вертикальное масштабирование возможно. ОГРАНИЧЕНИЕ (Непротиворечивость, Доступность, Терпимый Раздел) и ОСНОВА (В основном Доступное, состояние наибольшей уязвимости, В конечном счете последовательное) соответствие.

Позволяют мне показать пример для ввода данных в не реляционную базу данных с помощью Mongodb

db.users.insertOne({name: ‘Mary’, age: 28 , occupation: ‘writer’ })
db.users.insertOne({name: ‘Ben’ , age: 21})

Следовательно, можно понять, что к базе данных, названной дб, и существует вызываемые пользователи наборов и документ, названный insertOne, к которому мы добавляем данные, и нет никакой фиксированной схемы, поскольку наша первая запись имеет 3 атрибута, и второй атрибут имеет 2 атрибута только, это не проблема в не реляционные базы данных, но это не может быть сделано в реляционных базах данных, поскольку реляционные базы данных имеют фиксированную схему.

Позволяют нам посмотреть на другой другой пример

({Studname: ‘Ash’, Subname: ‘Mathematics’, LecturerName: ‘Mr. Oak’})

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

Hope это объясняет все

0
ответ дан 24 November 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: