Является ли SQL Azure реляционной базой данных? - PullRequest
2 голосов
/ 09 января 2012

Я действительно не понимаю этого. Может быть, это глупый вопрос.

Является ли SQL Azure реляционной БД или она действует так же, как она?

Используя ADO.NET и LINQ, я создал реляционную или нереляционную базу данных?

(я знаю, эти вопросы звучат странно ......!)

EDIT:

Хорошо, с одним из ответов я понял важную вещь, и я могу знать, лучше объяснить мой вопрос.

т.е.: я создал нереляционный дБ для своего приложения. Публикация в Azure и загрузка в SQL Azure базы данных будет реляционной БД или нет?

Я думаю, что он все еще будет нереляционным из-за отсутствия первичных ключей и внешних ключей. Буду ли я получать какие-либо ошибки?

Так в чем же заключается полезность сервиса Table Storage?

Ответы [ 7 ]

4 голосов
/ 09 января 2012

Да, SQL Azure - это система управления реляционными базами данных. Разница между SQL Azure и традиционным MS SQL Server заключается в том, что SQL Azure предназначен для работы с высокой избыточностью (то есть несколько экземпляров).

3 голосов
/ 09 января 2012

Да, SQL Azure - это полностью реляционное решение для облачной базы данных.

«База данных Microsoft SQL Azure - это облачная платформа реляционной базы данных, построенная на технологиях SQL Server».извлечено из введения в базу данных SQL Azure http://msdn.microsoft.com/en-us/library/windowsazure/ee336230.aspx.

1 голос
/ 10 января 2012

Во-первых, термин «база данных» относится к сбору данных, тогда как термин «система управления базой данных» («СУБД») относится к системе программного обеспечения, управляющей данными. Я думаю, что ваш вопрос должен быть оформлен

Можно ли считать СУБД SQL (например, Azure) реляционной СУБД?

Вот история в двух словах: Кодд изобретает реляционную модель. Различные реализации появляются. SQL становится единственной широко распространенной реализацией, но требуется много времени, чтобы стать полностью реляционной в отношении определения этого термина Коддом, к которому к тому времени были добавлены функции (которые, благодаря оковам совместимости, никогда не могут быть удалены), которые не верный реляционной модели, некоторые из которых были предложены Коддом, но позднее заброшены (например, первичный ключ, нулевые значения и т. д.), а другие просто из-за очевидного недопонимания модели (например, повторяющиеся строки, зависимость от порядка столбцов и т. д.). Стандарт SQL всегда намеренно избегал слова «отношение» и его производных, но этого нельзя сказать о поставщиках продуктов SQL.

Я думаю, что простой ответ заключается в том, что Стандарт начального уровня SQL-92 (следовательно, все последующие итерации Стандарта) считается относительно полным с точки зрения определения этого термина Коддом, но не считается действительно реляционным с точки зрения современной теории отношений. Однако определение того, действительно ли продукт SQL реализует SQL-92 начального уровня, само по себе субъективно: можем ли мы полагаться на заявление поставщика о соответствии.

Я думаю, что вопрос, который ваш учитель поощряет, заключается в проверке гипотезы о том, что стандарты и продукты SQL содержат функции, которые не соответствуют реляционной модели. Хороший источник информации по этому вопросу можно найти в недавней книге Криса Дейта SQL и реляционная теория: как определить код SQL (2009) .

1 голос
/ 09 января 2012

Вероятно, следует различать СУБД реляционной базы данных и реляционную базу данных.

SQL Server и SQL Azure являются СУБД, но вы можете создавать базы данных, которые не являются реляционными, поскольку они не имеют необходимых ключей и т. Д.

Использование функций СУБД помогает защитить ваши данные и сохранить целостность этих данных. Если вы не используете эти функции, вы должны полагаться на свою прикладную программу (которую, вероятно, вы написали)

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

Вот правила Кодда, пронумерованные от 0 до 13. Я не верю, что какие-либо коммерчески доступные СУБД (SQL Server, Oracle и т. Д.) Реализуют все из них, но обычно некоторые из них реализованы.

12 правил Кодда

Внимательное прочтение этого также может быть полезно Нормализация

1 голос
/ 09 января 2012

ты пробовал гугл?Первый результат для "is sql azure реляционный":

http://msdn.microsoft.com/en-us/library/windowsazure/ee336230.aspx

База данных Microsoft SQL Azure - это облачная платформа реляционной базы данных, построенная на технологиях SQL Server

0 голосов
/ 09 января 2012

К вашему комментарию: «Профессор дал мне« ложный »намек, говорящий об обратном» <- тогда как SQL Azure - это реляционная СУБД, как и все остальные. Ваш профессор, возможно, хотел бы, чтобы вы ссылались на это: <a href="http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in-sql-azure-federations.aspx" rel="nofollow">http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in-sql-azure-federations.aspx

0 голосов
/ 09 января 2012

ADO.NET и LINQ могут создавать базы данных (схемы) как реляционные, так и не реляционные.

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

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

Вы должны провести некоторое исследование по нормализации. Проверьте в правилах Кодда (Эдгар Ф. Кодд). http://en.wikipedia.org/wiki/Edgar_F._Codd

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