Tooge palun mõni andmebaasisüsteemi poolt tehtava semantilise teisenduse näide?! Andmebaasisüsteemi poolne päringu lihtsustamine tähendab, et andmebaasisüsteem asendab kasutaja poolt ette antud päringu lihtsama, kuid alati samasuguse tulemuse andva päringuga (loogiliselt samaväärse päringuga) ja täidab selle uue päringu. Lih... semantiline teisendusoptimeeriminetabeli elimineerimineOraclePostgreSQLkitsendusedpäringu lihtsustamine 01.06.2022 00:00:00 | 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? 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.Oletame, et andmebaasis on järgnevale konts... tabeli elimineerimise teisendusPostgreSQLOracletöökiirusjõudlusvälisühendamineühendamisoperatsioonpäringutöötlustäitmisplaanPostgreSQLOracleJOINjõudlusoptimeeriminevälisühendaminesisemine ühendamine 01.06.2022 00:00:00 | Erki Eessaar
Miks kasutab PostgreSQL unikaalsuse kitsenduse jõustamiseks B+ puu (tasakaalustatud puu) indeksit, aga mitte hash (räsiväärtustel põhinevat) indeksit? Võtmeveergudele loob PostgreSQL ja ka teised andmebaasisüsteemid automaatselt B+ puu (B+ tree) indeksi ( räsiväärtusräsiindeksindekseerimineindeksi tüüpPostgreSQLindeksidHash indeksB+ puuunikaalsusjõudlus 01.06.2022 00:00:00 | Erki Eessaar
Kuidas leida PostgreSQLis teatud kindla nimega andmebaas või andmebaas, millel on teatud kindel omanik? Otsin näitena andmebaasi, mille nimes sisaldub 990999 või mille omaniku kasutajanimes sisaldub 990999.Ühenduge psqlis suvalise kasutaja andmebaasiga (kuid mitte andmebaasiga postgres). Andke käsk PostgreSQLsüsteemikataloogpg_databasemetaandmedotsingadministreerimineomanik 01.06.2022 00:00:00 | Erki Eessaar
Kuidas leida päringuga koondandmed, kus iga olemi kohta on üks rida ning selles reas on massiiv selle olemiga otseselt või kaudselt seotud olemite andmetest? See, kas seda saab üldse SQLiga lahendada ja kuidas seda lahendada sõltub andmebaasisüsteemist.Järgnev näide on tehtud PostgreSQLis. Oletame, et andmebaasi kontseptuaalne struktuur on:[Hotell]-1------0..*-[Ruum]-1-----------0.... koondandmedmassiivPostgreSQLkoondandmedmassiividarray_aggJSON 01.06.2022 00:00:00 | Erki Eessaar
Ma olen informaatika üliõpilane. Ma arvan, et kursuse töö töövihik on suur dokument mida keegi ei kasuta päris elus. Aine projekti tegemine on täielik ajaraisk, sest kogu info mida õppejõud näha tahab tuleb temalt ning kui ise sellest väga õppida ei saa. Milliseid kasulikke teadmisi, lisaks andmebaasidele, see projekt annab? Miks see projekt kasulik on? (Ehk miks õppida süsteemianalüüsi TI ajastul?) Koodi genereerimine ei ole enam probleem – seda teeb tehisintellekt (TI). Uus pudelikael arenduses on: Tellija vajadu... iseseisev tööprojektdokumentdokumentatsioonmudelidprojectdiagrammdiagrammidpuhas koodallsüsteemfunktsionaalne allsüsteemregisterandmebaasioperatsioonandmebaasioperatsioonide lepingud 01.06.2022 00: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: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: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: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:00 | Erki Eessaar