Hallo,
Ich setze mich gerade mit CoreData und SQLite auseinander. Ich habe eine Beispielanwendung, die mir Rezepte Speichert. Diese werden Kategorien zugeordnet, haben Zutaten und Zubereitungsschritte. Das ganze soll auch Cloud-Fähig sein. Um mal eine Größenordnung vorzugeben nehme ich mal an, die Anzahl der Rezepte soll bei ca 1000 liegen und jedes Rezept etwa 3 Bilder, 20 Zubereitungsschritte und 20 Zutaten haben. Jetzt stellen sich mir folgende Fragen:
1) Ich lese oft, dass CoreData heute eher verwendet wird, als SQLite. Ich erkenne aber keinen Vorteil, der sich mir daraus ergibt. Einige Threads unter diesem hier ("Grenzen von Core Data" oder ähnlich) habe ich gelesen, dass nur CD Cloud-Fähig wäre. Wobei ich mir denke, dass ich doch genausogut von mir erstellte SQLite-Dateien über die Cloud synchronisieren kann. Oder gibt es da größere Hindernisse? Zumal steht in dem eben erwähnten thread, dass CD doch nicht unbedingt geeignet ist für Cloud-Dienste...
2) Ich muss viele Join-Abfragen machen. Dazu ist CD ja scheinbar nicht so gut geeignet. Spielt das auch bei überschaubaren Datenmengen eine Rolle?
3) Für mich ist es aber wichtig, dass ich Daten über andere DBMS einfügen und diese dann in SQLite importieren/überführen kann. Ist dies bei der Arbeit mit CD ohne großen Aufwand möglich? Die Frage stellt sich mir, da ja Metadaten (-tabellen) automatisch erstellt werden, wenn ich ein CD-Modell erstelle.
3) Etwas praktisches, auf Frage 2 Bezogen. Wie gestalte ich bei CD mein Datenmodell? Es heißt ja man soll Tabellen so granular wie möglich halten, um direkte Abfragen zu ermöglichen (falls ich das richtig verstanden habe). In SQL würde ich das in etwa wie unten aufbauen. Wäre dieses Modell ungeeignet für CD?
Rezept (RName,)
Zubereitungsschritte (SchrittNr, RName,Beschreibung)
Kategorie (KName)
Zutat (ZName, Menge,Einheit)
Bild (id, RName, BildName)
HatKategorie (RName, KName)
HatZutaten (RName, ZName)
Ich setze mich gerade mit CoreData und SQLite auseinander. Ich habe eine Beispielanwendung, die mir Rezepte Speichert. Diese werden Kategorien zugeordnet, haben Zutaten und Zubereitungsschritte. Das ganze soll auch Cloud-Fähig sein. Um mal eine Größenordnung vorzugeben nehme ich mal an, die Anzahl der Rezepte soll bei ca 1000 liegen und jedes Rezept etwa 3 Bilder, 20 Zubereitungsschritte und 20 Zutaten haben. Jetzt stellen sich mir folgende Fragen:
1) Ich lese oft, dass CoreData heute eher verwendet wird, als SQLite. Ich erkenne aber keinen Vorteil, der sich mir daraus ergibt. Einige Threads unter diesem hier ("Grenzen von Core Data" oder ähnlich) habe ich gelesen, dass nur CD Cloud-Fähig wäre. Wobei ich mir denke, dass ich doch genausogut von mir erstellte SQLite-Dateien über die Cloud synchronisieren kann. Oder gibt es da größere Hindernisse? Zumal steht in dem eben erwähnten thread, dass CD doch nicht unbedingt geeignet ist für Cloud-Dienste...
2) Ich muss viele Join-Abfragen machen. Dazu ist CD ja scheinbar nicht so gut geeignet. Spielt das auch bei überschaubaren Datenmengen eine Rolle?
3) Für mich ist es aber wichtig, dass ich Daten über andere DBMS einfügen und diese dann in SQLite importieren/überführen kann. Ist dies bei der Arbeit mit CD ohne großen Aufwand möglich? Die Frage stellt sich mir, da ja Metadaten (-tabellen) automatisch erstellt werden, wenn ich ein CD-Modell erstelle.
3) Etwas praktisches, auf Frage 2 Bezogen. Wie gestalte ich bei CD mein Datenmodell? Es heißt ja man soll Tabellen so granular wie möglich halten, um direkte Abfragen zu ermöglichen (falls ich das richtig verstanden habe). In SQL würde ich das in etwa wie unten aufbauen. Wäre dieses Modell ungeeignet für CD?
Rezept (RName,)
Zubereitungsschritte (SchrittNr, RName,Beschreibung)
Kategorie (KName)
Zutat (ZName, Menge,Einheit)
Bild (id, RName, BildName)
HatKategorie (RName, KName)
HatZutaten (RName, ZName)
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von urindanger ()