我在android中有一个项目,所以我决定制作一个Quiz应用程序,并在其中使用了Firebase。 但是我还需要为此项目设计UML图表,我想知道是否可以这样做,因为Firebase是一个无表数据库。
答案 0 :(得分:0)
Firebase 数据库,无论是它的 realtime database 还是 cloud firestore,都是 document-oriented NoSQL 数据库。确实没有表格,只有文档集合,其中每个文档都是类似 JSON 的结构,文档可以包含其他嵌入的集合或文档。
理论上,集合中的每个文档都可能与其他文档完全不同。在这种情况下,UML 类图将毫无意义,因为类假设有共同的属性和行为。
db.collection("ouch"): // Not recommended
[ {name: "Spiderman"},
{size: "XXL", item: "T-Shirt},
{date: "July 4 1776", event:"independence day"} ]
实际上,然而,集合中的文档通常是一组非常相似的对象,或者至少是相关的对象。可能是集合中的一个对象多一些属性,或者少一些属性。但它们代表的是同一种东西:
db.collection("users"): // example 1, small variations
[ { id: "AL", first: "Ada",last: "Lovelace"},
{ id: "JSMITH", last: "Smith", first: "Joe", lastLogin:"2021-07-10"} ]
db.collection("shopItems"): // example 2, more variations but common ground
[ { id: 123, type: "Book", title: "The definitive guide to Firebase", author:"L.Moroney", price: 34.23 },
{ id: 124, type: "Record", title: "Get lucky", artist: "Daft Punk", price: 16.20}
{ id: 125, type: "Shirt", brand: "Seidensticker", model:"Classic", size: "XL", color:"white", price: 65.00 } ]
在这种情况下,您可以完美地使用 UML 类图,因为 UML 不是基于表的,而是基于类的:
lastLogin
中的 users
示例)。shopItems
示例,我们可以在其中猜测类 ShopItem
及其专业化,例如 {{1 }}、BookItem
、RecordItem
)。原则上,UML 类图不会仅用于数据库(仅限数据),而是用于独立设计应用程序的对象模型(数据和行为)你的数据库。然后,该模型可以根据满足您的用户需求所需的对象类型help you to design 建立数据库。