Frage von RamiKarma, 32

SQL CREATE Hausaufgabe(Hilfe)?

Hallo zusammen, Ich habe eine tabelle : wo drins teht: KdNr Vorname Nachname Geburtsdatum Straße HausNr PLZ Ort

Die aufgabe lautet:

Erstellen Sie manuellalle CREATE - Befehle für die Tabelle .Nutzen Sie sofern möglich -alle Optionender Ausgestaltung ihrer Tabelle / der Spaltendefinitionen und Integritätsregeln:

Prüfung auf Vorhandensein der Tabelle

Verwendung der AUTO_INCREMENT-Option

Verwendung der UNSIGNED-Option

Vorgabe von DEFAULT-Werten

Verwaltung von Kandidatenschlüsseln (UNIQUE)

Verhinderung von leeren Spaltenwerten (NOT NULL)

Speicherplatzsparende Verwendung von Datentypen

Längenangaben der Datentypen (sofern möglich)

Nutzung der Beschränkung von Wertebereichen (z.B. ENUM)

Definition Primärschlüssel

Definition Fremdschl üssel

bei den ersten teil würde ja so aussehen:

CREATE TABLE Kunde ( Vorname VARCHAR (100), Nachname VARCHAR (30), Geburtsdatum INTEGER, STRAße VARCHAR (30), HausNr etc.. );

aber den anderen part mit "Nutzen Sie sofern möglich -alle Optionender Ausgestaltung ihrer Tabelle / der Spaltendefinitionen und Integritätsregeln:"

verstehe ich nicht wie ich es machen soll.

kann jemand mir helfen?

danke

Antwort
von wotan38, 9

Wie kommst Du beim Geburtsdatum auf INTEGER? Für Datum gibt es einen eigenen Datentyp DATE. Ein ß (auch Umlaute) sind bei Tabellen- und Spaltennamen bei meiner Datenbank nicht erlaubt (z.B. STRAßE).

Kommentar von maximilianus7 ,

@nicht erlaubt: was für ein datenbanksytem benutzt du? (bei mysql ists erlaubt)

Kommentar von wotan38 ,

Ich benutze die Datenbank DB2. Ich habe das jetzt nochmals getestet. Du hast Recht, die Datenbank selbst erlaubt das. Ich habe nur Probleme damit im Zusammenhang mit der Programmiersprache, weil bei mir z.T. im Programm automatisch die gleichen Bezeichnungen verwendet werden wie bei der Datenbank. Ich würde aber trotzdem keine Umlaute und ß für Bezeichnungen verwenden, da man damit öfter aneckt. Es kann z.B. vorkommen, dass Deine im Programm korrekt geschriebene SQL-Anweisung in der Datenbank fehlerhaft ankommt, weil irgendwo dazwischen eine andere Codetabelle verwendet wird. Solche Fehler zu finden ist meist sehr aufwändig.

Es gibt leider mehrere Stellen, wo diese Zeichen nicht erlaubt sind, etwa bei emails und im Verkehr mit Banken.

Antwort
von derobert, 7

Was Du suchst wäre sowas hier z.b.:

COLLATE='utf8_general_ci' // Zeichensatz
ENGINE=InnoDB // Tabellen Typ
AUTO_INCREMENT=19 // Autoincrement (für CREATE -> 1)

Da es Offensichtlich eine Hausaufgabe ist, solltest du dich lieber auf mysql.com rumtreiben, dort wirst du alle deine Fragen beantwortet bekommen, durch lesen.


Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten