SQLAzure是关系数据库吗?

SQLAzure是关系数据库吗?,sql,database,azure,azure-sql-database,Sql,Database,Azure,Azure Sql Database,我真的不明白。也许这是个愚蠢的问题 SQLAzure是关系数据库还是与之类似 我使用ADO.NET和LINQ创建了关系数据库还是非关系数据库 (我知道这些问题听起来很奇怪……) 编辑: 好的,有了其中一个答案,我明白了一件重要的事情,我可以更好地理解和解释我的问题 i、 e:我已经为我的应用程序创建了一个非关系数据库。在Azure上发布数据库并在SQL Azure上加载数据库数据库数据库是否为关系数据库 我认为主键和外键的丢失仍然是不相关的。我会有错误吗 那么,表存储服务的效用是什么呢?你试过谷

我真的不明白。也许这是个愚蠢的问题

SQLAzure是关系数据库还是与之类似


我使用ADO.NET和LINQ创建了关系数据库还是非关系数据库

(我知道这些问题听起来很奇怪……)

编辑:

好的,有了其中一个答案,我明白了一件重要的事情,我可以更好地理解和解释我的问题

i、 e:我已经为我的应用程序创建了一个非关系数据库。在Azure上发布数据库并在SQL Azure上加载数据库数据库数据库是否为关系数据库

我认为主键和外键的丢失仍然是不相关的。我会有错误吗


那么,表存储服务的效用是什么呢?

你试过谷歌吗?“is sql azure relational”的第一个结果:


Microsoft SQL Azure数据库是基于SQL Server技术构建的基于云的关系数据库平台

是的,SQL Azure是一个关系数据库管理系统。SQL Azure与传统MS SQL Server之间的区别在于,SQL Azure旨在以高冗余(即多个实例)运行。

是的,SQL Azure是完全关系型云数据库解决方案


“Microsoft SQL Azure数据库是基于SQL Server技术构建的基于云的关系数据库平台。”摘自SQL Azure数据库介绍。

ADO.NET和LINQ可以创建关系数据库和非关系数据库(模式)

关系数据库必须具有具有主键的表和具有引用第一个表中主键的外键的表

所有表都应该有主键,这样数据库才是真正的关系数据库


你应该做一些关于规范化的研究。检查Codd的规则(Edgar F.Codd)

对于您的评论:“教授给了我一个“错误”的提示,告诉我相反的情况”我们可能应该区分关系数据库管理系统RDBMS和关系数据库

SQL Server和SQL Azure是RDBMS,但您可以创建非关系型数据库,因为它们没有必要的密钥,等等

使用RDBMS的功能有助于保持数据的安全并保持数据的完整性。如果不使用这些功能,则必须依赖于应用程序(可能是您编写的)

正确规范化的数据库将消除孤立记录,并且不允许一定数量的无效数据,无论您使用的是哪种客户端/应用程序

以下是编号为0到13的Codd规则。我不相信任何商业上可用的RDBMS(SQL Server、Oracle等)都实现了所有这些功能,但通常会实现一些功能

仔细阅读这篇文章也可能会有所帮助

首先,术语“数据库”指的是数据的收集,而术语“数据库管理系统”(“DBMS”)指的是管理数据的软件系统。我认为你的问题应该有框架

SQL DBMS(如Azure)可以被视为关系DBMS吗

简而言之,历史就是这样:Codd发明了关系模型。出现了各种实现。SQL成为唯一被广泛采用的实现,但就Codd对该术语的定义而言,需要很长时间才能在关系上完成,到那时,它已经包含了不忠实于关系模型的特性(由于兼容性的束缚,这些特性永远无法消除),其中一些是由Codd提出的,但后来被放弃(例如主键、空值等),而另一些只是因为对模型的明显误解(例如重复行、依赖列顺序等)。SQL标准一直有意避免使用“关系”一词及其派生词,但SQL产品的供应商却不能这样说

我认为一个简单的答案是,入门级SQL-92标准(因此标准的所有后续迭代)在Codd对该术语的定义方面被认为是相对完整的,但就当前的关系理论而言,并不被认为是真正相关的。然而,确定一个SQL产品是否真正实现了入门级SQL-92本身是主观的:我们可以依赖供应商的合规性声明吗


我认为您的老师鼓励您采取的调查路线是测试SQL标准和产品包含不符合关系模型的功能的假设。克里斯·达特(Chris Date)的新书中可能有一个很好的信息来源。

显然我已经尝试过了,但一位教授给了我一个“错误”的暗示,告诉我相反的情况,并继续查看谷歌,我发现了不同的意见。另一个问题呢?“使用ADO.NET和LINQ我创建了一个关系型或非关系型数据库?”不是问题。(这取决于:您创建了关系数据库还是非关系数据库?ADO.NET/LINQ让您这样做)SQL Azure是一种RDMS,即它可以“创建”关系数据库。如果有带有PKs和FKs的表,则有一个关系数据库。如果你把它放在Azure上,它仍然是关系型的。如果您有一个没有PKs和FKs的数据库,那么它不是关系数据库。你可以把它放在RDMS上,比如Azure,但它不会神奇地变成关系数据库。最后,表存储服务是一个非关系数据库存储,谢谢,这非常有用。也许我真的没有弄清楚两者之间的区别。请检查问题的编辑。-1您对关系模型的描述完全不正确。+1用于区分“DBMS”和“数据库”。然而,我对您未能区分“SQL DBMS”和“真正的关系DBMS”表示不满。我想您的意思是,“SQL Azure是一个关系数据库管理系统”。