我在关系数据库方面有很强的背景知识。但是,我总是希望提高自己的技能。最近,我接触过Firebase。看起来很有意思。但是,我对"架构"稍微感到困惑。如果这甚至是正确的术语。
据我所知,每个Firebase" app"基本上代表一个"表"。因此,如果我正在构建一个具有两个相关但单独的实体的Web应用程序,我将不得不拥有两个firebase" apps"。例如,也许我正在构建一个拥有足球队,教练员和球员的网络应用程序。在关系数据库中,我可能会有这样的事情:
关系数据库
</head>
<body bgcolor="#E6E6FA">
<font color=black size=+3>Modifying Sentiment</font>
<table>
<tr>
<td>Text to Save:</td>
</tr>
<tr>
<td colspan="3">
Add positive adjective:
<img Adjective src="http://findicons.com/files/icons/2776/android_icons/96/ic_question_mark.png" alt="question" title="Adjective: is a word naming an attribute of a noun, such as sweet, red, or technical."
width=20 />
<br>
<textarea cols=40 rows=3 id="textbox" ></textarea>
<textarea id="textbox" style="width:512px;height:256px"></textarea>
</td>
</tr>
<tr>
<td>Filename to Save As:</td>
<td><input id="inputFileNameToSaveAs"></input></td>
<td><button onclick="saveTextAsFile()">Save Text to File</button></td>
</tr>
<tr>
<td>Select a File to Load:</td>
<td><input type="file" id="fileToLoad"></td>
<td><button onclick="loadFileAsText()">Load Selected File</button>
<td>
</tr>
</table>
<script type='text/javascript'>
function saveTextAsFile(){
var textBoxes = document.querySelectorAll('textbox');
var textToWrite;
for(var i in textBoxes){
textToWrite = textBoxes[i].value;
window.alert(textToWrite);
}
var textToWrite = document.getElementById("textbox").value;
var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value;
}
</script>
以上显示了可能的关系数据库结构。有些人可能希望Team Coach TeamCoachLookup Player TeamPlayerLookup
---- ----- --------------- ------ ----------------
ID ID ID ID ID
Name FirstName TeamID FirstName TeamID
Location LastName CoachID LastName PlayerID
表格带有Person
来表示此人是玩家还是教练。这是一种方法。不过,当我查看Firebase模型时,我无法理解上面的结构。它会是:
http://teams.firebaseio.com http://coaches.firebaseio.com http://players.firebaseio.com
每个项目的JSON代表数据库中的一行?或者,它应该只是RoleID
,架构看起来像这样:
http://teams.firebaseio.com
第二种方法似乎对我更有意义。但是,我不知道Firebase如何支持它。相反,在我看来,Firebase看起来像每个&#34;表&#34;并且JSON不是真正的层次结构。我离开了吗?有没有人可以推荐给我的文件?
谢谢!
答案 0 :(得分:4)
相应的概念应该是(Firebase&lt; =&gt; relational):
在你的具体例子中:
另见https://www.firebase.com/docs/web/guide/structuring-data.html。