Igal isikul on null või rohkem meiliaadressi. Võib juhtuda, et mitu isikut jagavad ühte ja sama meiliaadressi. Kas selliste andmete hoidmiseks peaks tegema kokku kolm tabelit: meiliaadresside tabeli, isikute tabeli ja meiliaadresside ja isikute vahelist M:N seost esitava vahetabeli? Ma arvan, et ei peaks.Kui andmebaasis oleksid tabelid:Isik (isik_id, ...)Primaarvõti (isik_id)E_meil (e_meil_id, e_meil)Primaarvõti (e_meil_id)Alternatiivvõti (e_meil)Isiku_meiliaadres... andmebaasi disainM:N seos1:N seosnõrk olemitüüpliitvõtiandmete modelleeriminevälisvõti 23.02.2023 15:50:41 | 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:01 | 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
Milliste andmeaida või andmevaka tabelite veergude puhul tasuks Oracles luua bitmap indekseid? Iga erineva veerus oleva väärtuse kohta luuakse indeksis eraldi bitivektor. Seega, mida vähem on veerus erinevaid väärtuseid (teiste sõnadega, mida väiksem on erinevate väärtuste koguarvu protsent ridade koguarvust), seda vähem tuleb luua erinevaid b... bitmap indeksandmeaitandmevakkdimensiooni tabel 24.11.2022 11:06:15 | Erki Eessaar
Kuidas jõustada MS Accessis kitsendus, et mittelõpetatud tubade nimetused peavad olema unikaalsed? Kui andmebaasis defineerida tabelis Tuba unikaalsuse kitsendus UNIQUE (nimetus), siis on nimetus globaalselt unikaalne. Seega, kui tuba on lõpetatud, siis uuesti sama nimetusega tuba registreerida ei saa. Järelikult selline UNIQUE kitsendus ... PostgreSQLMS AccessCHECKalampäringosaline unikaalsusunikaalsuskitsenduspiirang 05.06.2022 12:58:28 | Erki Eessaar
Kuidas jõustada MS Accessis kitsendus, et meiliaadress on isiku tõstutundetu unikaalne identifikaator? Tõstutundetu unikaalsus tähendab näiteks, et kui süsteemis on registreeritud isiku meiliaadress Mati@mets.ee, siis mõnele teisele isikule meiliaadressi mati@mets.ee registreerida ei saa.Tõstutundetu unikaalsuse jaoks MS Accessis piisab ku... PostgreSQLOracleMS Accesstõstutundetusunikaalsusemailindekskitsenduspiirang 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
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
Kas oleks mõistlik hoida andmebaasis asukoha andmeid aadressi ja riigi kombinatsiooni asemel koordinaatidena? Kui jah, siis mis oleks sobivaim andmetüüp selleks(nii Oracles kui Postgresis)? Kõik sõltub sellest, millisel otstarbel on plaanis neid andmeid kasutada. Kui tegemist on taustainfoga, mille alusel ei tehta täpseid otsinguid ja mida võibolla trükitakse kirjadele/arvetele, siis piisab veerust aadress. Tõstaksin... osaline unikaalne indeksexclude kitsenduspoint andmetüüpdecimalnumericarvutatav veergtüübiteisendusasukoha andmedkoordinaadidandmetüübidPostgreSQLOracleGIS 01.06.2022 00: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:00 | Erki Eessaar