Kas Count(1) ridade arvu loendamiseks on kiirem kui Count(*)? Oletame, et SQL-andmebaasis on tabel:Isik(isikukood, perenimi)Primaarvõti (isikukood)LauseSELECT Count(*) AS arvFROM Isik;leiab tabelis Isik olevate ridade... kokkuvõttefunktsioonjõudlustöökiirusPostgreSQLCountoptimeeriminepäringu plaanEXPLAIN ANALYZE 17.03.2024 17:26:19 | Erki Eessaar
Kas tühja stringi esinemise keelamine ja NOT NULL kitsendus on üks ja sama asi? Ei ole! Tühi string on väärtus (kuigi väga lühike).NULL on tähis, et väärtust ei ole.NOT NULL veergu saab seega tühja stringi panna, sest see täidab tingimuse, et väljas peab väärtus olema.Kui näiteks s... tühi stringNULLNOT NULLCHECK kitsendusOracle erinevusedandmekvaliteetpuuduvad väärtused 03.03.2024 12:21:36 | Erki Eessaar
Kuidas kasutada PostgreSQLi küsitlustulemuste analüüsimiseks sh vabatekstiliste vastuste analüüsimiseks? Moraal on selles, et vaba teksti väljas olevate väärtuste analüüsimine nõuab rohkem tööd ning kui andmebaasis oleks vaja registreerida andmeid millegi kohta, et nende andmete alusel saaks hiljem teha otsinguid, siis vabateksti asemel tuleks eelistada... tekstikaevevabatekstPostgresPostgresuur keelemudelllmpromptviipGeminiväline tabelvälised tabelid 16.02.2024 13:40:07 | Erki Eessaar
Kas SQL-andmebaasis saab jõustada deklaratiivsete kitsendustena assotisatsioonireegleid? Jah saab. Vaatame konkreetset näidet. Oletame, et SQL-andmebaasis on tabel Kaup:Kaup(kauba_kood, hind, on_aktiivne)Primaarvõti(kauba_kood)Oletame, et kehtib reegel: Kui kaup on aktiivne, siis selle h... assotsiatsioonireegelimplikatsioontingimuslauseCHECK kitsendusloogikakitsendusandmebaasi disainreeglid 10.02.2024 10:37:55 | Erki Eessaar
Kas on mingit vahet selles osas, kui otsingutingimusse kirjutada IS TRUE või =TRUE? Tegelikult ei ole. Teen väikese katsetuse PostgreSQLis (ver 16).CREATE TABLE Bool_test (bool_test_id SERIAL,flag BOOLEAN NOT NULL,CONSTRAINT pk_bool_test PRIMARY KEY (bool_tes... PostgreSQLBOOLEANtõeväärtusSQL süntaksNULLkolmene loogikaNOT NULL 16.01.2024 19:00:01 | Erki Eessaar
Lõin andmebaasis tabeli, kus võtmeveeru puhul oleks tulnud selle väärtused süsteemil genereerida, kuid unustasin seda määrata. Lisasin tabelisse juba ridu. Kuidas see omadus tabelile tagantjärgi lisada? Toon näite.CREATE TABLE Kasutaja_rolli_omamine (kasutaja_rolli_omamine_id INTEGER NOT NULL,kasutaja_id INTEGER NOT NULL,rolli_kood SMALLINT NOT NULL,alguse_aeg TIMESTAMP(0) NO... identiteedi veergserial notatsioonarvujada generaatorPostgreSQLidentiteedi veergSERIALSEQUENCEandmete parandamine 18.11.2023 11:55:33 | Erki Eessaar
Kuidas piirata ridu, mille põhjal kokkuvõttefunktsioon arvutab tulemuse? Oletame, et andmebaasi kontseptuaalne struktuur on selline:[Dept]-1---------0..*-[Emp]Iga osakond (Dept) on seotud null või rohkem töötajaga (Emp).Iga töötaja (Emp) on seotud täpselt ühe osakon... ühine tabel avaldiscommon table expressionctewithfilteragregeeriminekokkuvõttefunktsioondense_rankaknafunktsioonPostgreSQLkokkuvõttefunktsioonidFILTER klauselgrupeeriminetingimuslikud arvutused 10.11.2023 13:41:50 | Erki Eessaar
Kuidas registreerida PostgreSQLi andmebaasis hetke kuupäev+kellaaeg ilma ajavööndi infota ja ilma sekundi murdosadeta? 1. PostgreSQLis on eraldi andmetüübid TIMESTAMP (sama, mis TIMESTAMP WITHOUT TIME ZONE) ja TIMESTAMPTZ (sama, mis TIMESTAMP WITH TIME ZONE). sekundi murdosaPostgreSQLTIMESTAMPTIMESTAMPTZajavööndtäpsussekundi murdosa 02.11.2023 15:26:47 | Erki Eessaar
Kuidas teha nii, et Enterprise Architect vahendis ei genereeritaks PostgreSQL andmebaasi disaini mudeli põhjal koodi, mida peab käsitsi parandama? Tuleb muuta malle (template), mille põhjal koodi genereeritakse. Malle tuleb muuta eraldi iga faili puhul, milles olevast mudelist soovitakse koodi genereerida.Järgnevad probleemid esinevad EA12-ga vaikimisi kaasa tulevates mallides... koodi genereerimineSQLCREATE TABLEjutumärgidPostgreSQLkoodi genereerimineSERIALmallandmetüübidjutumärgidEnterprise Architect 29.10.2023 15:14:53 | Erki Eessaar
Kuidas kiirendada PostgreSQLis päringuid, kus päringu tingimuses kontrollitakse stringi vastavust mustrile (nt leia isikud, kelle perenimi algab M tähega)? Looge tekstilisele veerule indeks ja kasutage selle puhul operaatori klassi, mis pole vaikimisi klass. TEXT tüüpi veeru korral kas... generate_seriestestandmete genereerimineindeksPostgreSQLindeksidmustripõhine otsingjõudlusoperaatoriklassid 27.10.2023 16:28:47 | Erki Eessaar