主键是为给定表select的选定候选键吗?
有“把FK给你的父母”的方法 ,即每个logging指向它的父母。 这是一个难以阅读的行动,但很容易维护。 然后有一个“目录结构键”的方法: 0001.0000.0000.0000 main branch 1 0001.0001.0000.0000 child of main branch one etc 这是超级容易阅读,但很难维护。 什么是其他的方式和他们的利弊?
我想开始在一个新的项目中使用表关系。 一些Googlesearch后,我有两个表设置为InnoDB: 我想链接的关键是 – > users-> userid(primary) – > sessions-> userid(index) 在这个过程中唯一不能理解的是“On update”和“On delete”的不同设置 这里的选项是: – (没有?) 级联(???) 设置为空(将所有内容设置为空?) 没有行动(呃…) 限制 (???) 我基本上希望会话中的数据被删除,当一个用户被完全删除这是因为会话将只被删除,当过期被检测到我的会话pipe理器… 所以,如果任何人都可以告诉我这些选项做什么,将不胜感激。
最近我一直玩Node.js一点点。 在我个人的情况下,我使用了MongoDB,部分原因是因为它非常简单,部分原因是Mongoose似乎是一个非常简单的方法来开始使用它。 我注意到,在使用Node.js时,似乎对于关系数据库有一定程度的反感。 与Node.js生态系统中的非关系数据库相比,它们好像得不到支持,但我似乎无法find一个简明的理由。 所以,我的问题是, 为什么关系数据库比Node.js更适合使用比MongoDB更好的select呢? 编辑:只是想澄清一些事情: 我特别不在寻找与我正在构build的特定应用程序有关的细节 我也不是在寻找非技术性的原因(例如,我没有像“Node和MongoDB都是新的,所以开发人员一起使用它们”之类的答案) 我所寻找的仅仅是技术上的原因。 例如,如果有一个技术原因,为什么关系数据库在与Node.js一起使用时performanceexception差,那么这就是我正在寻找的东西(请注意,从迄今为止的答案来看,案子)
有几种types的数据库用于不同的目的,但是通常情况下MySQL是用于一切的,因为是最知名的数据库。 只是举一个例子,我公司的一个大数据应用程序在初始阶段就有一个MySQL数据库,这是令人难以置信的,会给公司带来严重的后果。 为什么MySQL? 只是因为没有人知道如何(以及何时)应该使用另一个DBMS。 所以,我的问题不是关于供应商,而是数据库的types。 你能给我一个具体情况(或应用程序)的实际例子,强烈build议使用它的每种types的数据库? 例: •由于Y,社交networking应使用Xtypes。 •MongoDB或沙发数据库不能支持事务处理,所以文档数据库对银行或拍卖网站的应用程序并不好。 等等… 关系: MySQL , PostgreSQL , SQLite , Firebird , MariaDB , Oracle数据库 , SQL服务器 , IBM DB2 , IBM Informix , Teradata 对象: ZODB , DB4O , Eloquera , Versant , Objectivity DB , VelocityDB graphics数据库: AllegroGraph , Neo4j , OrientDB , InfiniteGraph , graphbase […]
我有两个表,你会看到我的posgresql代码下面。 第一个表的学生有两列,一个是student_name,另一个是主键student_id。 在我的第二个名为tests的表中,它有4列,一个用于subject_id,一个用于subject_name,然后一个用于学生最高评分最高的学生。 我试图让我的学生表中的student_id指向highestStudent_id。 这是我下面的代码,不知道如果语法是正确的: CREATE TABLE students ( student_id SERIAL PRIMARY KEY, player_name TEXT); CREATE TABLE tests ( subject_id SERIAL, subject_name, highestStudent_id SERIAL REFERENCES students); highestStudent_id SERIAL REFERENCES students是否正确地使用了最highestStudent_id SERIAL REFERENCES students ? 因为我看过另一个像highestStudent_id REFERENCES students(student_id)) 请问在postgresql中创build外键的正确方法是什么?
有人可以向我解释关系数据库(如MySQL)与graphics数据库(如Neo4j)相比的优缺点吗? 在SQL中,你有多个表与不同的ID链接它们。 那么你必须join连接表。 从一个新手的angular度来看,为什么要devise数据库来要求连接,而不是从一开始就像graphics数据库那样将连接明确地视为边缘。 从概念上讲,这对新手来说是没有意义的。 据推测,这有一个非常技术性但非概念性的原因?
我有两个表/集合; 用户和组。 用户可以是任何数量的组的成员,并且用户也可以是任何数量的组的拥有者。 在关系型数据库中,我可能会有第三个名为UserGroups的表,其中包含一个UserID列,一个GroupID列和一个IsOwner列。 我正在使用MongoDB,我相信在文档数据库中有这种关系的不同方法。 我是否应该将用户表中的组和组作为所有者列表作为两个ObjectID数组embedded? 我是否也应该将成员和所有者列表作为两个数组存储在组表中,从而有效地映射引起关系信息重复的关系? 或者是一个桥梁UserGroups表格合法的概念在文件数据库中的多对多的关系? 谢谢
对不起,这个noob问题,但有什么真正的需要使用数据库中的表一对一的关系? 您可以在一个表内实现所有必要的字段。 即使数据变得非常大,您也可以在SELECT语句中枚举所需的列名,而不是使用SELECT * 。 你什么时候真的需要这种分离?
除了google / bigtable场景,什么时候不应该使用关系数据库? 为什么不,你应该使用什么? (你学会了“艰难的路”吗?)