PostgreSQLis saab luua/kasutada veergudeta (null veeruga) tabeleid. Miks ma peaksin tahtma sellist tabelit luua/kasutada?

Postitas Erki Eessaar
PostgreSQLis saan luua baastabeli, kus on null veergu (aste on null) ja lisada sinna null või rohkem rida (tabeli võimsus on null või rohkem).

CREATE TABLE on_avatud();
INSERT INTO on_avatud DEFAULT VALUES;

Saan selliseid tabeleid kasutada tõeväärtustüüpi juhtparameetrite realiseerimiseks. Need on disainitaseme abitabelid, mis kontseptuaalses andmemudelis ei kajastu.

SELECT Count(*) AS cnt FROM on_avatud;

  • Kui süsteem on avatud, siis cnt>=1
  • Kui süsteem on suletud, siis cnt=0

Alates PostgreSQL 9.4 saab kirjutada SELECT lauseid (ilma DISTINCT operatsioonita), kus SELECT klauslis olev veergude hulk on tühihulk. Päringu tulemuseks olevas nimetus tabelis ei ole ühtegi veergu.

SELECT FROM on_avatud;

  • Kui süsteem on avatud, siis leitud ridade arv >=1
  • Kui süsteem on suletud, siis leitud ridade arv =0

Tühja SELECT klausliga päringuid saab kasutada jah/ei küsimuste formuleerimiseks.

Kas osakonnas 10 on mõni töötaja?

SELECT FROM Emp WHERE empno=10;

  • Kui jah, siis leitud ridade arv >=1
  • Kui ei, siis leitud ridade arv =0

Erinevused relatsioonilisest mudelist.

  • Ei saa luua nimega tuletatud tabeleid (vaateid, hetktõmmiseid), mille aste on null.
  • Sellise tabeli võimsus võib olla ühest suurem.

SQLis üldiselt peab tabelis olema vähemalt üks veerg.

Hinda postitust:

Keskmine hinne : Pole veel hinnanguid!