所以,我一直在阅读我的数据库devise中的识别关系和非识别关系,而对于我而言,一些答案似乎与我矛盾。 以下是我所看到的两个问题: 识别和非识别关系有什么区别? 麻烦决定识别或不识别关系 从每个问题的顶部答案看,我似乎得到了两个不同的想法是什么一个识别关系。 第一个问题的回答是,一个识别关系“描述了一个情况,即子表中的一行的存在取决于父表中的一行。 给出的一个例子是:“一个作者可以写很多书(一对多的关系),但是没有一个作者就不可能存在一本书。 这对我有意义。 但是,当我读到第二个问题的回答时,我感到困惑,因为它说:“如果一个孩子识别了他的父母,这是一个识别关系。 答案然后举例说明社会安全号码 (是识别一个人),但地址不是(因为很多人可以住在一个地址)。 对我来说,这听起来更像是主键和非主键之间的决定。 我自己的直觉(和其他网站的其他研究)指出了第一个问题,其答案是正确的。 然而,在我继续前进之前,我想validation一下,因为我正在努力理解数据库devise,所以我不想学习错误。 提前致谢。
当遇到theta连接,equijoins和自然连接时,我无法理解关系代数。 有人能帮助我更好地理解吗? 如果我在theta上使用=号,那么和刚才使用的自然连接完全一样吗?
我知道像MySQL,PostgreSQL和MS SQL Server这样的解决scheme是关系型数据库系统,而NoSQL,MongoDB等是非关系型DBMS。 但是,这两种系统有什么区别呢? 外行条件是可取的。 谢谢。
交叉连接对两组元组执行笛卡尔乘积。 SELECT * FROM Table1 CROSS JOIN Table2 哪种情况使得这样的SQL操作特别有用?
我发现这些方法背后的概念和含义有点令人困惑,有人有可能在一个例子(如果可能的话)的背景下向我解释什么是和之间的区别?
这个例子来自w3schools 。 CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) ) 我的理解是,两个列在一起( P_Id和LastName )代表人员的主键。 它是否正确? 为什么有人想使用多列作为主键而不是单列? 多less列可以一起用作给定表中的主键?
我在我的数据库中有3个相关的表。 CREATE TABLE dbo.Group ( ID int NOT NULL, Name varchar(50) NOT NULL ) CREATE TABLE dbo.User ( ID int NOT NULL, Name varchar(50) NOT NULL ) CREATE TABLE dbo.Ticket ( ID int NOT NULL, Owner int NOT NULL, Subject varchar(50) NULL ) 用户属于多个组。 这是通过多对多的关系来完成的,但在这种情况下是不相关的。 门票可以由组或用户通过dbo.Ticket.Owner字段拥有。 最正确的方法是什么才能描述票证和可选用户或组之间的这种关系? 我想我应该在票据表中添加一个标志,说明什么types拥有它。
一对多和多对一关系的真正区别是什么? 这只是颠倒过来的那种? 除此之外,我找不到任何有关此主题的“易于理解”的教程: 适用于初学者的SQL:第3部分 – 数据库关系
在开发购物车应用程序时,我发现我需要根据pipe理员的偏好和要求保存设置和configuration。 这些信息可以来自公司信息,运输账户ID,PayPal API密钥,通知首选项等等。 在关系数据库系统中创build一个表来存储单行似乎是非常不合适的。 什么是适当的方式来存储这些信息? 注意:我的DBMS是SQL Server 2008,编程层是用ASP.NET(在C#中)实现的。
NoSQL近来在业界引起了很多关注。 我真的很感兴趣的是人们对于关系数据库存储的最佳使用案例。 什么应该引发开发人员认为特定的数据集更适合于NoSQL解决scheme。 我对MongoDB和CouchDB特别感兴趣,因为他们似乎获得了有关PHP开发的最多报道,这是我的焦点。