Teen MS Accessis currency veeru põhjal näiteks summeerimise või keskmise leidmise päringu. Tulemuses ei ole valuuta tähiseks Eur. Mida teha? Põhjus on Windowsi regionaalsetes sätetes. Tähis võetakse sealt ning järelikult peitub ka tulemu... euroMS Accessvaluutaregionaalsed sättedCurrencysümbol 01.06.2022 00:00 | Erki Eessaar
Miks peaks tabeliga seotud kitsenduse või indeksi nimi sisaldama tabeli nime? Hea praktika on sellistes nimedes tabeli nime kasutada. Üldine põhimõte on, et tabeli nimi aitab tagada kitsenduse/indeksi nime unikaalsust skeemi piires. Miks on nime unikaalsus skeemi piires vajalik? Miks kasutada indeksi nimes tabeli n... indekskitsendusnimetaminekitsendusedindeksidnimetamisreeglidPostgreSQLOracleunikaalsus 01.06.2022 00:00 | Erki Eessaar
Miks peavad ka rakenduste programmeerijad andmebaase hästi tundma? Väga eluline näide (seostub teemaga 6 - transaktsioonid ja lukustamine). 2017. aastal av... konkurentsjuhtimineturvalisusACIDRaintarkvara keerukusORMandmete terviklikkustransaktsioonid 01.06.2022 00:00 | Erki Eessaar
Kas uuendatavate vaadete (vaated, mille kaudu andmebaasisüsteem põhimõtteliselt lubaks INSERT/UPDATE lauseid käivitada) puhul on ikka vaja WITH CHECK OPTION kitsendust kasutada? Jah on. Näiteks, kui juhataja rollis kasutaja näeb sellise vaate CREATE VIEW kinnitamata_tellimuste_vaade ASSELECT tellimuse_kood, tellimuse_seisundi_liik_koodFROM TellimusWHEREtellimu... vaatedWITH CHECK OPTIONuuendatavad vaatedandmete terviklikkusturvalisusortogonaalne disainSQL standard 01.06.2022 00:00 | Erki Eessaar
Kas andmete andmebaasi tasemel valideerimine (eelnevalt defineeritud reeglitele vastavuse kontrollimine) on hea mõte või mitte? Minu arvates on hea mõte. Järgnev tekst üritab seda põhjendada.Väide: Kui rakenduse tasemel andmeid valideeritakse, siis andmebaasi tasemel pole seda enam vaja teha, sest see on liiga keeruline. Vastus: Kõik sõltub selle... trigerkitsendusconstrainttriggerprimaarvõtivälisvõtiuniqueprimary keyforeig keychecknot nullMongoDBPostgreSQL 01.06.2022 00:00 | Erki Eessaar
Kas ja miks peab rutiinis või trigeris kasutama SELECT ... FOR UPDATE? Kas ... FOR UPDATE on vajalik sõltub kõigepealt kasutatavast andmebaasisüsteemist. PostgreSQLis ja Oracles on SELECT ... FOR UPDATE vaja kasutada siis, kui teete trigeri protseduuris või lihtsalt rutiinis mingi tingimuse kontrolliks päringu (SELECT l... trigerrutiinlukustaminePostgreSQLOraclelukustaminetrigeridrutiinidSELECT FOR UPDATEkonkurentsjuhtimine 01.06.2022 00:00 | Erki Eessaar
Millised on PostgreSQLi ja Oracle eelised võrreldes üksteisega? Vastus peegeldab õppejõu isiklikku seisukohta, puudutab eeskätt andmebaaside programmeerimist ning välja toodud nimekirjad pole kaugeltki mitte ammendavad. Punktid ei ole tähtsuse järjekorras - erinevatele inimestele ja erinevates olukordades on täht... PostgreSQLOraclevõrdluseelisedlitsentsiminefunktsionaalsusSQL standard 01.06.2022 00:00 | Erki Eessaar
PostgreSQL ja Oracle pakuvad funktsioone, mis realiseerivad foneetilisi algoritme. Milleks neid vaja on? Mis nendest kasu on? Foneetilisi algoritme saab kasutada näiteks suguvõsauuringutes, et otsida sarnase kõlaga perekonnanimega inimesi. Need inimesed võivad, aga ei... foneetilised algoritmidSoundexandmekvaliteetnimeotsinghägune otsingisikuandmedPostgreSQL 01.06.2022 00:00 | Erki Eessaar
Kas päringute tegemine vaadete põhjal võib mõjutada päringute täitmise kiirust võrreldes päringute tegemisega otse baastabelite põhjal? Jah. Vaadete kasutamine mõjutab täitmisplaanide valikut ja võib mõnikord viia ebaotstarbekate plaanide valimiseni. Kašnikova, D., 2015. Vaadete mõju päringute täitmisplaanide koostamisele kahe andmebaasisüsteemi näitel. Magistritöö. TTÜ Informa... vaatedjõudlustäitmisplaanPostgreSQLOracleoptimeerimineturvabarjäär 01.06.2022 00:00 | Erki Eessaar
NoSQL süsteemid, sh MongoDB on "uus lahe tehnoloogia". Mida ma võiksin nende kohta teada? Kasutage, kui vaja, kuid olge tähelepanelikud ja säilitage kriitiline meel. Siin on Teile veidi mõtteainet edasiseks eluks. 2024. aa... NoSQLMongoDBandmekonsistentstehingudACIDandmekadukriitika 01.06.2022 00:00 | Erki Eessaar