ist meine Datenbank überdimensioniert?

8

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?

3 Datenbanknormalisierung

  

ist es genau richtig?

Alternativtext http://i28.tinypic.com/awp2cz.png

Danke.

Bearbeiten *

Regeln.

  
  1. Jeder Benutzer (Firmenmitglied oder Eigentümer) könnte Mitglied eines   Firma
  2.   
  3. Jedes Unternehmen hat ein Mitglied von Benutzern.
  4.   
  5. Es gibt Firmenadministratoren (CEO, Admins) und es gibt Firmenmitglieder   (fügt die Produkte ein)
  6.   
  7. Jedes Unternehmen kann Produkte haben.
  8.   

für die Nummer 3 werde ich ein bisschen bei users_company hinzufügen - 1 ist für Admin - 0 ist für Mitglieder

    
Community 22.07.2010, 04:43
quelle

3 Antworten

4

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.

    
thomasrutter 22.07.2010, 04:52
quelle
2

Nicht gut.

Beispiel: Ich möchte mehrere Bilder von meinem Produkt. Bitte lassen Sie mich mehr als ein Bild von meinem Produkt hochladen!

    
Paul 22.07.2010 05:05
quelle
0

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.

    
kdmurray 22.07.2010 04:57
quelle