ok ich bin neu im Datenbankdesign, bitte gib mir Ratschläge dazu.
1 Wann sollte ich einen zusammengesetzten Index verwenden?
Ich bin mir nicht sicher, was der Index tut, aber Ich weiß, wir sollten es sagen, wenn es wird wie für WHERE geladen werden verifiziert = 1 und bei der Suche wie company.name = etwas. Habe ich recht?
2 MySQL-Indizes - wie viele sind genug?
ist es gerade genug?
ist es genau richtig?
Alternativtext http://i28.tinypic.com/awp2cz.png
Danke.
Bearbeiten *
Regeln.
- Jeder Benutzer (Firmenmitglied oder Eigentümer) könnte Mitglied eines Firma
- Jedes Unternehmen hat ein Mitglied von Benutzern.
- Es gibt Firmenadministratoren (CEO, Admins) und es gibt Firmenmitglieder (fügt die Produkte ein)
- Jedes Unternehmen kann Produkte haben.
für die Nummer 3 werde ich ein bisschen bei users_company hinzufügen - 1 ist für Admin - 0 ist für Mitglieder
Sieht gut aus, gut normalisiert, zumindest für mich.
Ich stelle fest, dass jedes Produkt nur einer Firma gehören kann. Wenn das das ist, was Sie vorhatten, ist das in Ordnung, sonst könnte das Produkt eine eigene PID haben und eine product_company-Beziehungstabelle haben, die es mehr als einer Firma erlauben würde, ein bestimmtes Produkt zu verkaufen. Hängt davon ab, wer die Produkte verwaltet, denke ich.
Ich habe bemerkt, dass die Benutzertabelle "Benutzer" (Plural) heißt und die anderen Singular ("Firma", "Produkt") sind. Das ist aber nur eine Kleinigkeit.
Der einzige Kommentar, den ich habe, ist, dass Sie vielleicht eine Spalte mapping_id zu Ihrer Tabelle users_company hinzufügen und CID- und UID-Fremdschlüssel erstellen und eine UNIQUE-Einschränkung hinzufügen möchten.
Auf diese Weise können Sie einen eindeutigen Primärschlüssel für Datensätze in dieser Tabelle haben, der nicht von der Struktur Ihrer anderen Tabellen oder Ihrer Geschäftslogik abhängig ist.
Tags und Links mysql database-design normalization