Milline on tüüpiline viga LIMIT klausli kasutamisel? LIMIT klauslit ei saa kasutada MS Accessis, kuid saab kasutada mitmes teises SQL andmebaasisüsteemis. LIMIT n võimaldab päringu tulemusest väljastada esimesed n rida. SQL-standard ei näe samuti ette LIMIT klauslit. Samas saab SQL-standardi kohaselt k... LIMIT klauselTOP predikaatsorteerimineSQL veadMS AccessPostgreSQLWITH TIES 16.02.2023 15:58:30 | Erki Eessaar
Miks on halb mõte kasutada erinevates tabelites ühesuguse nimega (id, kood või code) primaarvõtme veergu? See muudab keerulisemaks tabelites olevatest andmetest arusaamise ja tabelite põhjal päringute tegemise.Sellise nimega primaarvõtme veerud on üks sümptom, mis viitab sellele, et andmebaasi disainis esineb primaarvõtiveergude nimetamineSQL antimustridandmebaasi disainloetavustabelite ühendamineSQL päringud 16.02.2023 15:43:46 | Erki Eessaar
Mille poolest erineb MS Accessi andmetüüp BIT (YESNO) SQL standardis ettenähtud andmetüübist BOOLEAN? MS Accessis on BIT tüüp selline, mille korral tehakse teisendus NULL=>FALSECREATE TABLE Toode (toode_kood INTEGER,on_aktiivne BIT DEFAULT TRUE,CONSTRAINT pk_toode PRIMARY KEY (toode_kood)); PostgreSQLMS AccessBITBOOLEANYESNOtõeväärtusNULL 16.02.2023 15:24:14 | Erki Eessaar
Kas PostgreSQLis peaks vaate alampäringus kasutama SELECT ... FOR UPDATE? Ei! Tõsi on see, et PostgreSQLis saab erinevalt Oraclest (12.1) vaate alampäringus kasutada SELECT ... FOR UPDATE. lukustaminevaadePostgreSQLeksklusiivne lukktrigertrigeridalampäringPostgreSQLvaatedlukustamineSELECT FOR UPDATEtransaktsioonid 12.12.2022 10:37:38 | Erki Eessaar
Kuidas sisestada phpPgAdmin programmi graafilise kasutajaliidese kaudu tekstilisse veergu NULL'i? Vastava veeru juures on märkeruut NULL, mis tuleb märgistada (vt lisatud pilti). Vastasel juhul, kui jätta kirjelduse veerg täitmata, lisatakse veergu tühi string. SQLis üldiselt ja PostgreSQLis spetsiifiliselt on NULL (märgend, mis tähistab väärtuse... PostgreSQLphpPgAdmingraafiline kasutajaliidestühi stringNULLCHECK kitsendusphpPgAdminPostgreSQLandmesisestusNULLtühi string 12.12.2022 09:28:26 | Erki Eessaar
Juhul kui välisühendamist ei ole lause õige tulemuse saavutamiseks vaja, siis kas OUTER JOIN operatsiooni kasutamine INNER JOIN asemel mõjutab lause täitmisplaani valikut ja seega ka lause täitmise kiirust? (2) Sõltub päringust ja andmebaasisüsteemist.Katsetasin Oracles (12.1) ja PostgreSQL (14) põhjal, mis olid samas serverarvutis. Katsetamisel kasutatud andmebaas ja andmed olid ühesugused.Vähemalt konkreetsete süsteemide ja katseta... tabeli elimineerimise teisendusPostgreSQLOracletöökiirusjõudlusvälisühendamineühendamisoperatsioonpäringutöötlustäitmisplaanPostgreSQLOracleJOINjõudlusoptimeeriminevälisühendaminesisemine ühendamine 03.12.2022 14:03:46 | Erki Eessaar
Loon PostgreSQLis uue andmebaasi, kuid selles on kellegi teise loodud tabelid, domeenid või muud andmebaasiobjektid? Miks see nii on ja mida teha? PostgreSQLis luuakse uus andmebaas tehes koopia mallandmebaasist (template1). Üli... template1skriptandmebaasiobjektide kustutaminePostgreSQLandmebaasi loominetemplate1skeemidpuhastamine 10.11.2022 20:19:49 | Erki Eessaar
Kui muuta PostgreSQL tabeli FILLFACTOR omaduse väärtust, siis kuidas see mõjutab olemasolevaid tabeli plokke? FILLFACTOR parameetri väärtus määrab kui palju jäetakse tabeli plokkidesse vaba ruumi,... PostgreSQLFILLFACTORjõudlusoptimeerimineVACUUM FULLsalvestusruumUPDATE lause 01.11.2022 18:52:54 | Erki Eessaar
Kas PostgreSQLi DATE ja TIMESTAMP tüüpi veergude kitsenduste puhul tuleb arvestada spetsiaalväärtusega 'infinity'? Jah, mõnikord tuleb. Toon näite.PostgreSQLi DATE ja TIMESTAMP tüüpidesse kuuluvad spetsiaalväärtused 'infinity' (suurem kui kõik ülejäänud DATE/TIMESTAMP väärtused) ja '-infinity' (väiksem kui kõik ülejää... PosgtreSQLandmetüüpandmetüübidspetsiaalväärtusspetsiaalväärtusedCHECK kitsendusPostgreSQLDATETIMESTAMPinfinitykitsendusedajavöönderiväärtused 27.10.2022 10:30:05 | Erki Eessaar
Kuidas saab PostgreSQLis ühe lausega lisada tabelisse puuduvad read ja uuendada olemasolevaid ridu? Sellist operatsiooni tuntakse ka nime all upsert (kombinatsioon INSERT ja UPDATE operatsiooniks).Selle realiseerimiseks saab PostgreSQLis kasutada INSERT ... ON CONFLICT lauset. Alates PostgreSQL 15 saab selleks kasutada ka upsertmergePostgreSQLUPSERTMERGEandmemuudatusedkonfliktide lahendamine 24.10.2022 00:06:18 | Erki Eessaar