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 | 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
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 | 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 | Erki Eessaar
Kas Oracle SQL Developeris saab teha nii, et korraga näeb mitme tabeli kirjeldusi? Jah saab. Täpsemalt kirjeldatakse seda siin: Oracle SQL Developertabelidkasutajaliidestöövahendidtabeli vaadeaknahaldus 22.09.2022 12:12 | Erki Eessaar
Milleks läheb vaja olemitüüpide ja atribuutide tähenduse e semantika kirjeldusi? Olemitüüpide ja atribuutide definitsioonid: aitavad saavutada arenduse osalistel ühise arusaama valdkonna mõistetest, aitavad luua kasutajaliidest ja kasutusjuhendeid, on aluseks valikute tegemisel andmebaasi andm... kontseptuaalne andmemudelWordpressWooCommercedokumentatsioonsemantikadefinitsioonidandmete integreerimineandmekvaliteet 13.09.2022 21:01 | Erki Eessaar
Mis vahe on tabelite ühendamisel (join) ja ühendi leidmisel (union)? Ühendamine (join) on selleks, et saada tabelist loetud ritta juurde uusi andmeid (enamasti mõnest teisest tabelist, ehki ka tabeli ühendamine iseendaga - self-join - on võimalik). Näiteks oletame, et andmebaasis on järgm... tabelite ühendamineJOINUNIONhulkade teooriaSQL süntakspäringudandmete kombineerimine 01.06.2022 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 | Erki Eessaar
Mida kujundab endast elementaarvõtme normaalkuju (EVNK)? Kui ma vaatan C.J Date ja J. Celko töid, siis nad mainivad seda normaalkuju lühidalt, ajaloolise tagasivaate ja esitluse täielikkuse huvides. C.J. Date osundab, et EVNK-le viidatakse kirjanduses vähe.EVNK on kolmanda normaalkuju (3N... elementary key normal formEKNDnormaliseeriminenormalizationBCNK3NKliitvõtiandmete liiasussõltuvused 01.06.2022 00:00 | Erki Eessaar
Kuidas salvestada PostgreSQL andmebaasis tabelite muudatuste ajalugu? Lahendus peaks olema üldine, mitte ühe konkreetse tabeli spetsiifiline. Kas siin artiklis toodud lahendus on mõistlik? https://www.cybertec-postgresql.com/en/tracking-changes-in-postgresql/ Andmebaasi kasutamise (sh andmemuudatuste jälgimist) nimetatakse auditeerimiseks (auditing). Andmebaasisüsteemid pakuvad sageli selleks erinevaid sisseehitatud võimalusi kuid kui neid ei ole või need pole sellised nagu vaja, siis trigerid on... PostgresPostgreSQLauditeerimineajalugutrigerJSONBlogimine 01.06.2022 00:00 | Erki Eessaar