我已经建立了一个网络应用程序(PHP/MySQL),供人们预测足球比赛。
对于leagues表中的每个条目,matches表中有许多条目。
对于matches表中的每个条目,predictions表中有许多条目。
是否应该显式地将predictions表中的关系设置为leagues表?换句话说,我应该向league_id表中添加一个predictions列吗?
PRO
在某些情况下,查询更容易,需要读取的表更少。示例查询以查找某个人的预测,这些预测与关系有关:
SELECT * FROM predictions p
WHERE p.league_id:league_id AND
我试图将一个现有的关系数据库映射到一个键值存储区。下面表示了两个示例表。
例如,上面的“雇员详细信息”表可以在Redis (或任何类似的键值存储)中表示如下。
set emp_details.first_name.01 "John"
set emp_details.last_name.01 "Newman"
set emp_details.address.01 "New York"
set emp_details.first_name.02 "Michael"
set emp_details.last_name.02
我对数据库很陌生,我从未使用过任何RDBMS。但是,我了解了关系数据库的基本概念。至少我想我知道;-)
假设我有一个用户数据库,每个用户都有以下属性:
用户
id
名字
zip
城市
例如,在关系数据库中,我将把它建模在一个名为user的表中。
用户
id
名字
location_id
并有第二个表,名为location
位置
id
zip
城市
location_id是location表中一个条目的外键(引用)。如果我理解得对,优势就在这里,如果某个城市的邮政编码
我想列出所有艺术家的轨道按轨道长度排序。
artists albums tracks
---------- ------------ ------------
id id id
name artist_id album_id
name name
或
artists albums tracks
---------- ------------ ------------
id id id
name