Kas uuema ühendamise süntaksi korral võib WHERE klauslis olevad lisapiirangud kirjutada FROM klauslis ühendamise tingimusse? Vaatlen näitena andmebaasi, millel on kontseptuaalne struktuur: [Dept]-0..1-----------0..*-[Emp]SIIN on Postgr... tabelite ühendamineJOIN tingimusedWHERE klauselFROM klauselOUTER JOINpäringu optimeerimineloetavus 25.03.2023 12:34 | Erki Eessaar
Kust võiks saada infot PostgreSQL funktsioonide testimise kohta? Mõned mõtted sellel teemal on PostgreSQLfunktsioonidtestiminetrigeridühiktestidarendusprotsesskvaliteedikontroll 23.03.2023 10:40 | Erki Eessaar
Millest alustada, kui sooviks õppida (PostgreSQLis) päringute optimeerimist? Minu arvates võiks alustada sellest, et õppida kirjutama mitte-ebaefektiivseid päringuid (lihtsustamata tingimused, üleliigsete tabelite lugemine, samade andmete mitmekordne lugemine jne).... PostgreSQLoptimeeriminetäitmisplaanEXPLAINjõudlusSQL häälestamineressursikulu 23.03.2023 10:37 | Erki Eessaar
Kas oskate soovitada kirjandust, kust saaks näiteid ja infot kuidas PostgreSQLis objekt-relatsioonilisest tulenevaid võimalusi ära kasutada ning sellega kaasnevaid plusse ja miinuseid (lisaks kasvavale keerukusele)? PostgreSQL on objekt-relatsiooniline andmebaasisüsteem. Kirjutan objekt-relatsioonilisusest SIIN. Muuhulgas on seal ka pikemalt koos koodinäidetega juttu PostgreSQLi objekt-relatsioonilisuse võimalustest. Objekt-relatsi... objekt-relatsioonilinemassiivarrayenumeration typeoperaatorpäriminePostgreSQLobjekt-relatsioonilinepäriminetüübidmassiivid 22.03.2023 20:13 | Erki Eessaar
Mis võib mõjutada andmebaasis toimuvate lugemis ja muutmisoperatsioonide töökiirust? Millele võiks töökiiruse parandamisel tähelepanu pöörata? Nimetan järgnevalt mõningaid aspekte koos viidetega lõputöödele, mis seda aspekti käsitlevad. Indekseid ei ole piisavalt, indekseid on liiga palju, indeksid on üleliigsed. jõudlusoptimeerimineindeksidandmebaasi disainSQL häälestaminematerialiseeritud vaateddenormaliseerimine 19.03.2023 13:57 | Erki Eessaar
Miks ei ole hea mõte kasutada kõikides tabelites surrogaatvõtit? Surrogaatvõti on lihtvõti, mille väärtused on süsteemi genereeritud unikaalsed täisarvud. Need väärtused on kasutusel tarkvara siseselt ridade identifitseerimiseks, kuid andmebaasi kasutavatele inimestele ei tähenda need väärtused mi... surrogaatvõtisisuline võtiprimaarvõtivälisvõtiandmebaasi disainpäringute kiirusindeksid 20.02.2023 17:41 | Erki Eessaar
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 | 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 | 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 | 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 | Erki Eessaar