Ich darf/muss mich mit MySQL auseinandersetzen als DB für Access.
Nun habe ich zwar Erfahrungen mit Datenbanken aber erstens ist das etwas her und zweitens ist MySQL Neuland für mich.
Alles ist installiert und läuft.
Doch bei den Tabellen- und Felddefinitionen habe ich deutlich Startprobleme.
Es handelt sich dabei um eine reine kaufmännische Lösung. An sich nicht Wildes wenn man sich mit SQL auskennt
Sind nachfolgende Variabelentypen / Primary Keys und Index halbwegs sinnvoll?
Tabelle-1
Kunden\_ID MEDIUMINT Primary-Key
Level Bit (Wert 1 - 9)
Anrede TINYTEXT
Vorname VARCHAR(20) Index
Nachname VARCHAR(30) Index
Geburtsdatum DATE
Strasse VARCHAR(40)
Hausnummer TINYTEXT
Plz TINYINT(5)
Ort VARCHAR(40)
Tabelle-2
Telefonnmmer VARCHAR(15) Primary-Key
Fax VARCHAR(15)
Email VARCHAR(50)
Kunden\_ID MEDIUMINT
Tabelle-3 (2ter Ansprechpartner)
Telefonnummer VARCHAR(15) Primary-Key
Fax VARCHAR(15)
Email VARCHAR(50)
Kunden\_ID MEDIUMINT
Ohne Tabelle
Preis DOUBLE(6,2)
Gibt es darüber hinaus ein Fortgeschrittener / Experte (MySQL) in Hamburg der Zeit / Lust hätte mir gelegentlich zur Hand zu gehen?
Jetzt wird es suspekt? ¿Eine Information in einer Datenbank ohne Tabelle? Okay, hier fehlt als erstes die Information für was der Preis sein soll (Ware, Rechnung) etc.
Ohne Tabelle
Preis DOUBLE(6,2)
Übrigens solltest Du nicht so sparsam mit den Wertebereichen sein. Nichts ist schwieriger die Datenbank und das Programm entsprechend auf größere Datentypen anzupassen.
MfG Georg V.
P.S. Kein Hamburger, der Rest würde aber schon passen
Tabelle-1
Kunden_ID MEDIUMINT Primary-Key
Level TinyInt //Bit (Wert 1 - 9)
Anrede Enum //TINYTEXT
Vorname VARCHAR(20) Index
Nachname VARCHAR(30) Index
Geburtsdatum DATE
Strasse VARCHAR(40)
Hausnummer VARCHAR (4) //TINYTEXT
Plz VARCHAR (5) wenn es nur für Deutschland ist//TINYINT(5)
Ort VARCHAR(40)
Ohne Tabelle
ID MEDIUMINT Primary Key
Preis DOUBLE(6,2)
Ich hab das noch so gelernt das man in MySQL Datenbanken immer eine ID drin sein sollte die autoincrement ist und Primary Key
Also das wäre mein Vorschlag für die Tabellen. Wobei die Indizies noch nicht gesetzt sind da ich dort nach den Abfragen gehen würde. Und auf die Daten die du Abfragst dementsprechend die Indizies setzen.
Nichts ist schwieriger die Datenbank und das Programm
entsprechend auf größere Datentypen anzupassen.
Naja, die Datenbank selber ist sehr einfach angepaßt und in den Programmen sollten halt die DB-Felder mit den Datentypen (und deren Skalierung) definiert sein.
Umgekehrt (also das Verkleinern des Wertebereiches) wird’s schon happiger - oder gar Typumstellung von VARCHAR auf NUMBER oder so