flank: Datenbank verkleinern

Beitrag lesen

Hallo,

Also nach all den guten Tipps (auch von einem Guten Freund von mir) stelle ich mir meine Datenbank so vor:

CREATE TABLE kd_anrede (
  id INT NOT NULL,
  anrede TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE kd_bereich (
  id INT NOT NULL,
  bereich TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE kd_firma (
  id INT NOT NULL AUTO_INCREMENT,
  firma TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE kd_titel (
  id INT NOT NULL,
  titel TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE kd_funktion (
  id INT NOT NULL,
  funktion TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE kd_firma_adr (
  id INT NOT NULL AUTO_INCREMENT,
  kd_firma_id INT NOT NULL,
  str TEXT NULL,
  plz TEXT NULL,
  ort TEXT NULL,
  PRIMARY KEY(id),
  INDEX kd_firma_adr_FKIndex1(kd_firma_id)
);

CREATE TABLE kd_mitarbeiter (
  id INT NOT NULL AUTO_INCREMENT,
  kd_firma_adr_id INT NOT NULL,
  kd_stamm_id INT NOT NULL,
  kd_funktion_id INT NOT NULL,
  kd_bereich_id INT NOT NULL,
  vorwahl INT NULL,
  tel TEXT NULL,
  fax TEXT NULL,
  mobil TEXT NULL,
  mobil2 TEXT NULL,
  email TEXT NULL,
  email2 TEXT NULL,
  PRIMARY KEY(id),
  INDEX kd_mitarbeiter_FKIndex2(kd_bereich_id),
  INDEX kd_mitarbeiter_FKIndex3(kd_funktion_id),
  INDEX kd_mitarbeiter_FKIndex3(kd_stamm_id),
  INDEX kd_mitarbeiter_FKIndex4(kd_firma_adr_id)
);

CREATE TABLE kd_stamm (
  id INT NOT NULL AUTO_INCREMENT,
  kd_anrede_id INT NOT NULL,
  kd_titel_id INT NOT NULL,
  vname TEXT NULL,
  nname TEXT NULL,
  str TEXT NULL,
  plz TEXT NULL,
  ort TEXT NULL,
  vorwahl INT NULL,
  tel TEXT NULL,
  fax TEXT NULL,
  mobil TEXT NULL,
  mobil2 TEXT NULL,
  email TEXT NULL,
  email2 TEXT NULL,
  PRIMARY KEY(id),
  INDEX kd_stamm_FKIndex1(kd_anrede_id),
  INDEX kd_stamm_FKIndex2(kd_titel_id)
);

CREATE TABLE kd_combine (
  id INT NOT NULL AUTO_INCREMENT,
  kd_mitarbeiter_id INT NOT NULL,
  combine_id INT NOT NULL,
  PRIMARY KEY(id),
  INDEX kd_combine_FKIndex1(kd_mitarbeiter_id)
);

'kd_combine' möchte ich noch erläutern:
damit möchte ich Kunden/Mitarbeiter verknüpfen (Eine Firma - Vertrieb/Buchhaltung/Produktion)

MfG
flank