Какие данные очень реляционные - PullRequest
3 голосов
/ 23 июня 2011

Я новичок в базах данных и изучаю SQL по сравнению с noSQL.

Какие данные являются высокореляционными и имеют преимущества от SQL, а какие нет?

Пожалуйста, укажитенесколько примеров.

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Реляционные данные вписываются в определение отношения :

  • Заголовок определяет конечный набор столбцов.
  • Каждый столбец имеет имя и тип данных .
  • Типы данных - это именованный конечный набор различных значений.
  • Каждый столбец в данной строке отношения содержит одно значение соответствующего типа данных для соответствующего столбца.
  • Строки не имеют неявного порядка.
  • Столбцы имеютнет неявного порядка.
  • Повторяющиеся строки не допускаются.

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

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

На самом деле NoSQL - это маркетинговый термин, используемый для обозначения бренда и продвижения некоторых продуктов управления данными.Это не термин информатики.

Но если вы имеете в виду нереляционный , то вы можете видеть, что хранилище нереляционных данных может нарушать некоторые из приведенных выше правил:

  • Две записи (строки) в данной коллекции могут быть дубликатами.
  • Поля могут варьироваться в зависимости от записи.Разное число, разные имена, разные типы данных.
  • В данном поле может содержаться одно и то же значение в двух записях, но по некоторым причинам это значение считается различным (например, в зависимости от значения в другом поле).
  • Порядок записей значим (например, записи предполагаются в хронологическом порядке).
  • Порядок полей значим (например, первое поле считается ключевымв некотором роде).

Но нарушая эти правила, вы теряете основу, на которой работают реляционные операции.

2 голосов
/ 23 июня 2011

Ваш вопрос, кажется, обременен несколькими заблуждениями. Реляционная , как и в Реляционной базе данных, относится к типу модели данных - системе представления данных. Любая информация, которая состоит из фактов (предложений), может быть представлена ​​реляционно, если ваша СУБД поддерживает этот тип информации. Никакой внутренней информации, которая делает ее более или менее подходящей для СУБД, не существует.

SQL - это (строго нереляционный) язык баз данных.

NOSQL - это свободный термин, который может применяться к любой системе баз данных, которая не использует SQL или расширяет возможности SQL. NOSQL и реляционные понятия являются не взаимоисключающими понятиями. NOSQL не обязательно должен означать «нереляционный», он просто означает «не SQL».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...