2 Stimmen

Speicherung in der SQLite-Datenbank

Ich erstelle eine Android-Anwendung für eine Lehrerbewertung.

Im Moment plane ich, ~900 Tabellen zu erstellen, die jeweils einen Professor repräsentieren. Jeder Tabelleneintrag wird ein Feld für Benutzerkommentare über den Lehrer haben. Jedes Mal, wenn ein Benutzer einen Kommentar hinzufügt, wird ein neuer Eintrag unter diesem Professor hinzugefügt

Ist dies eine logische Vorgehensweise? Ich habe das Gefühl, es könnte eine effizientere effizienteren Weg geben könnte. Wären 900 Tabellen zu viel zu viel für MySQLite?

Ich habe auch daran gedacht, eine Tabelle zu haben, die alle Professoren enthält, und die Benutzerkommentare als ein Feld zu haben. Dann, wenn jeder neue Kommentar hinzugefügt wird, würde ich irgendwie 1 zusätzliches Feld hinzufügen. Ich glaube nicht, dass dies Datenbanken richtig verwendet, aber ist es möglich (um +1 die Anzahl der Felder)

7voto

nicholas.hauschild Punkte 41528

Sie wollen nicht 900 Tabellen, sondern eher eine Lehrertabelle mit 900 Einträgen. Sie sollten sich vielleicht über einige Grundsätze der Datenbankgestaltung とのことです。 Relationales Modell . Der hilfreichste Teil der Links sind vielleicht die Beispiele im Relationenmodell.

0voto

TWA Punkte 12464

Ich würde Ihnen empfehlen, einige Artikel über die Grundlagen des Datenbankdesigns zu lesen.

Hier ist ein ziemlich gutes Beispiel, das Sie auf den richtigen Weg bringen sollte:

Grundlagen des relationalen Datenbankdesigns

0voto

Harald Wilhelm Punkte 6576

Ohne zu sehr ins Detail zu gehen, benötigen Sie mindestens eine Tabelle für alle Professoren, eine Tabelle für alle Benutzer und eine Tabelle für die Kommentare.

create table tbl_professor (id integer primary key, name text, ...)
create table tbl_user (id integer primary key, name text, ...)
create table tbl_comment (user_id integer, professor_id integer, thecomment text, ...)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X