Datentyp
Einführung
In der Programmierung werden Variabeln verwendet, um Daten abzulegen. Eine Variable ist ein reservierter Speicherbereich und belegt – abhängig vom Datentyp– eine feste Anzahl von Bytes. Alle Variablen haben einen Typ, der zur Übersetzungszeit bekannt ist. Der Typ wird auch Datentyp genannt, da eine Variable einen Datenwert, auch Datum genannt, enthält. Beispiele für einfache Datentypen sind: Ganze Zahlen, Fließkommazahlen, Wahrheitswerte und Zeichen.
Objektorientierte Programmierung
In der objektorientierten Programmierung treten Datentypen bei Instanz- und lokalen Variablen sowie bei Eingabe- und Rückgabeparametern von Konstruktoren bzw. Methoden auf.
Deklaration
Der Datentyp muss im Rahmen der Deklaration einer Variablen angegeben werden. Hier muss entschieden werden, welcher Datentyp für die Variablen angemessen ist. Einerseits muss ausreichend Speicherplatz reserviert werden, um alle denkbaren Werte der Variablen speichern zu können. Andererseits sollte der Datentyp nicht zu "groß" gewählt werden, da sonst unnötig viele Ressourcen blockiert werden, um Wertebereiche abzudecken die praktisch nie erreicht werden. Der Typ bestimmt auch die zulässigen Operationen, denn Wahrheitswerte lassen sich nicht addieren, Zahlen schon.
Arten
Die Datentypen in der objektorientierten Programmiersprache Java lassen sich in zwei Kategorien einteilen:
Die primitiven (einfachen) Typen sind die eingebauten Datentypen für Zahlen, Unicode-Zeichen und Wahrheitswerte.
Referenztypen (oder komplexe) Datentypen:
Mit diesem Datentyp lassen sich Objektverweise auf Instanzen bestimmter Klassen abbilden.
(Vergleiche openbook.galileocomputing.de/javainsel)
Beispiel
public class Termin
{
// Deklarationen von Instanzvariablen mit primitiven und komplexen Datentypen
String datum;
Kunde kunde;
Mitarbeiter mitarbeiter;
double rechnungsbetrag;
// Deklarationen von lokalen Variablen als Eingabeparameter mit primitiven und komplexen Datentypen
public Termin(Kunde kunde, Mitarbeiter mitarbeiter,String datum, double rechnungsbetrag){
this.kunde=kunde;
this.mitarbeiter=mitarbeiter;
this.datum=datum;
this.rechnungsbetrag = rechnungsbetrag;
}
....
}
Relationale Datenbanken
Bei der Entwicklung von Datenbanken muss für jede Spalte einer Tabelle ein Datentyp deklariert werden. Spalten werden auch Attribute genannt. Die Namen der Datentypen können je Datenbankhersteller variieren.
Die Datentypen einer Spalte können direkt in der Administrationsoberfläche eines DBMS angelegt werden, oder durch ein in DLL erstelltes Skirpt.
Beispiel generiertes DDL SQL-Skript zur Erzeugung eines Schemas
Die Datentypen wurden blau markiert.
CREATE SCHEMA `friseursalon`
CREATE TABLE `friseursalon`.`salon` (`idsalon` INT NOT NULL AUTO_INCREMENT ,`name` VARCHAR(45) NOT NULL ,PRIMARY KEY (`idsalon`) )
CREATE TABLE `friseursalon`.`mitarbeiter` (`idmitarbeiter` INT NOT NULL AUTO_INCREMENT ,`nachname` VARCHAR(45) NOT NULL ,
`vorname` VARCHAR(45) NOT NULL ,`idsalon` INT NOT NULL ,PRIMARY KEY (`idmitarbeiter`) ,INDEX `fksalon` (`idsalon` ASC) ,
CONSTRAINT `fksalon`FOREIGN KEY (`idsalon` ) REFERENCES `friseursalon`.`salon` (`idsalon` ) ON DELETE NO ACTION ON UPDATE NO ACTION)
CREATE TABLE `friseursalon`.`kunde` (`idkunde` INT NOT NULL AUTO_INCREMENT ,`nachname` VARCHAR(45) NOT NULL ,`vorname` VARCHAR(45) NOT NULL ,PRIMARY KEY (`idkunde`) )
CREATE TABLE `friseursalon`.`termin` (`idtermin` INT NOT NULL AUTO_INCREMENT ,`datum` VARCHAR(45) NULL ,
`rechnungsbetrag` DOUBLE NULL ,`idmitarbeiter` INT NOT NULL ,`idkunde` INT NOT NULL , PRIMARY KEY (`idtermin`) , INDEX `fkmitarbeiter` (`idmitarbeiter` ASC) , INDEX `fkkunde` (`idkunde` ASC) , CONSTRAINT `fkmitarbeiter`FOREIGN KEY (`idmitarbeiter` ) REFERENCES `friseursalon`.`mitarbeiter` (`idmitarbeiter` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fkkunde`
FOREIGN KEY (`idkunde` ) REFERENCES `friseursalon`.`kunde` (`idkunde` ) ON DELETE NO ACTION
ON UPDATE NO ACTION)