BD-1st-2.4-lab7.tresc-1.1-Slajd8

Z Studia Informatyczne
Wersja z dnia 09:13, 9 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Typy danych – daty i czas

Typy danych – daty i czas


Typ DATE pozwala na definiowanie atrybutów przechowujących daty. Poprawną datą jest tutaj dowolna data z kalendarza gregoriańskiego pomiędzy 01 stycznia 1 roku a 31 grudnia 9999. W SZBD Oracle typ DATE pozwala również na przechowywanie czasu w postaci wartości ułamkowych (1=dzień, 0,5=12 godzin itp.).

Typ TIME pozwala przechowywać informacje o czasie dnia z dokładnością do ułamkowych części sekundy. Parametr określa liczbę pozycji dziesiętnych rozwinięcia dziesiętnego ułamków sekundy. Musi istnieć możliwość podania tutaj przynajmniej wartości 6. Parametr (n) jest opcjonalny, a jego domyślna wartość wynosi 0.

Typ TIMESTAMP reprezentuje połączenie możliwości typów DATE i TIME i pozwala na składowanie zarówno dat, jak i czasu. Podobnie jak typy DATE i TIME pozwala na przechowywanie w atrybutach dat z kalendarza gregoriańskiego pomiędzy 01 stycznia 1 roku a 31 grudnia 9999 oraz czasu z dokładnością do ułamkowych części sekundy. Parametr (n) ma identyczne znaczenie jak w typie TIME i również jest opcjonalny.

Typ INTERVAL reprezentuje okres czasu. Okres czasu definiowany jest za pomocą pewnej liczby różnych „jednostek” takich jak: lata, miesiące, dnie, godziny itp. Na nazwę typu składa się słowo kluczowe INTERVAL i specyfikacja przechowywanych wielkości. Specyfikacja ma postać:

najdłuższy_okres [TO najkrótszy okres]

gdzie: najdłuższy_okres może przyjmować następujące wartości:

YEAR(n), MONTH(n), DAY(n), HOUR(n), MINUTE(n), SECOND(n,f) (n to liczba cyfr liczby danych jednostek czasu, jaka może być składowana, a f to liczba cyfr rozwinięcia dziesiętnego ułamka sekundy),

A najkrótszy_okres może przyjmować wartości:

MONTH, DAY, HOUR, MINUTE, SECOND(f).

Podając opcjonalny najkrótszy okres należy pamiętać o tym, że musi on być krótszy od najdłuższego okresu. Przykładowo, poprawnym typem jest INTERVAL YEAR TO MONTH, ale nie jest nim INTERVAL MONTH TO YEAR. Nie jest również możliwe łączenie w jednej specyfikacji roku (YEAR) i miesiąca (MONTH) z pozostałymi okresami. Tym samym, lista poprawnych typów wygląda następująco:

- INTERVAL YEAR – pozwala na przechowywanie pewnej liczby lat.

- INTERVAL MONTH – pozwala na przechowywanie pewnej liczby miesięcy.

- INTERVAL YEAR TO MONTH – pozwala na przechowywanie pewnej liczby lat i miesięcy.

- INTERVAL DAY – pozwala na przechowywanie pewnej liczby dni.

- INTERVAL HOUR – pozwala na przechowywanie pewnej liczby godzin.

- INTERVAL MINUTE – pozwala na przechowywanie pewnej liczby minut.

- INTERVAL SECOND – pozwala na przechowywanie pewnej liczby sekund.

- INTERVAL DAY TO HOUR – pozwala na przechowywanie pewnej liczby dni i godzin.

- INTERVAL DAY TO MINUTE – pozwala na przechowywanie pewnej liczby dni, godzin i minut.

- INTERVAL DAY TO SECOND – pozwala na przechowywanie pewnej liczby dni, godzin, minut i sekund.

- INTERVAL HOUR TO MINUTE – pozwala na przechowywanie pewnej liczby godzin i minut.

- INTERVAL HOUR TO SECOND – pozwala na przechowywanie pewnej liczby godzin, minut i sekund.

- INTERVAL MINUTE TO SECOND – pozwala na przechowywanie pewnej liczby minut i sekund.

Do powyższych typów, zgodnie z wcześniejszym opisem można również dodać parametry określające dokładność i maksymalną wielkość przechowywanych wartości.

W SZBD Oracle możliwe jest definiowanie relacji z atrybutami jedynie typów: INTERVAL YEAR TO MONTH i INTERVAL DAY TO SECOND. Nie stanowi to jednak dużego problemu, gdyż są to typy najbardziej ogólne.




<< Poprzedni slajd | Spis treści | Następny slajd >>