Frage von Maroc97, 41

Hilfe! Datenbanken : Datum und Zeitberechnung?

Hallo liebe Community, Ich besuche eine Berufsschule wo ich derzeit mein Fachabitur absolviere als Informationstechnischer Assistent. Aktuell muss ich ein Referat im Fach Datenbanken halten dabei brauche ich eure Hilfe. Mein Thema lautet Datum und Zeitberechnung und habe davon um ehrlich gesagt kein Plan. Ich habe es zwar in Google recherchiert aber ich verstehe es nicht. Ich freue mich über eure Antworten :)

Antwort
von wotan38, 12

Also meine Datenbank, das ist eine professionelle (IBM DB2), speichert gar kein Datum, sondern ein Nummernäquivalent dazu. Dieses besteht aus den ab 1 fortlaufend durchnummerierten Tagen, beginnend mit 01.01.0001 bis 31.12.9999. Bei der Ausgabe werden diese dann gemäß dem gregoreanischen Kalender (Berücksichtigung der Schaltjahre) in eines der vom Anwender festgelegten Datumsformate umgewandelt. Umgekehrt wird bei der Eingabe des Datums daraus das Tagesäquivalent ermittelt und gespeichert oder auch als Abfragewert verwendet. So ist es auch kein Problem für den Anwender, ein Datum um einige Tage zu erhöhen

... SET DAYS(datum) = DAYS(datum) + 1

oder eine Differenz zwischen zwei Kalendertagen zu bilden:

((DAYS(datum1)) - (DAYS(datum2)))

Neben den Tagen kann man auch mit Jahren und Monaten rechnen:

YEAR(datum), MONTH(datum)

Das Datenfeld muss natürlich vom Typ DATE sein, sonst geht das nicht. Dass für die Datenbank das Sortieren nach Datum auf diese Weise sehr einfach ist, leuchtet ein. Vor allem unabhängig davon, welche formale Darstellung man gewählt hat. Diese kann man auch beliebig ändern, ohne dass die Datenbank die Datenfelder ändern muss.

In den 70-ger Jahren , als es noch keine Datenbanken gab, habe ich mir selbst so ein System programmiert. Es umfasste ca 65000 Tage und hat in den Dateien nur 2 Byte belegt, was damals viel bedeutet hat. Mit meiner Datumsrechnung habe ich beim Programmieren immer wieder meine Mitbewerber ausstechen können. Insofern ist die heute in den Datenbanken verwendete Technik zumindest für mich nicht neu, nur eine Bestätigung dafür, dass ich damit richtig lag.

Antwort
von Kiboman, 26

ann hast du nicht gut gegoogelt...

mysql z.b. Bietet sämtliche funktionen um datums berechnungen anzustellen.

addieren, subtrahieren, differenzen umwandlungen ect.

Kommentar von Maroc97 ,

Es wäre lieb wenn du mir ein Link senden würdest und ist das gut erklärt? Ich muss wie gesagt es sehr gut erklären können ;)

Kommentar von Kiboman ,

hier die manual von mysql natürlich in english.

alles datum funktionen

http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

ich hab keine ahnung was man da erklären soll, ich finde es selbat erklärend

Kommentar von Maroc97 ,

Dann erzähl das mal mein Fachlehrer haha .Wenn der ein Referat so will muss ich es halt machen.

Kommentar von Kiboman ,

jetzt mal ehrlich, ich hab grade ernsthaft versucht nach zu denken was man erzählen soll, ich komme auf nicht mehr als ein paar sätze

das ist ein dämliches thema.

das datum wird in der datenbank gespeichert weil alle anderen daten auch gespeichert sind.

die berechnungs funktionen der daten bank machen mehr sinn als in einer hochsprache

-weil es kein konflikt mit der formatierung gibt

-weil die berechnungen in einem rutsch erfolgen,

in einer hochsprache müssen sie erst ausgelesen zerlegt und dann berechnet werden.

und weil sie es kann.

mehr fällt mir echt nicht ein.

die datenbank engine ist garnicht vorgegeben?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten