Miks mitte kasutada klassifikaatori tabeli, välisvõtme veeru ja sellel oleva välisvõtme kitsenduse asemel loendustüüpi veergu? Sest see: vähendab lahenduse porditavust e ülekantavust, vähendab lahenduse paindlikkust, suurendab keerukust, suurendab PostgreSQL näitel salvestusruumi kasutamist. Kirjutan järgnevalt se... klassifikaatorloendustüüpenumeration typeenumerationreference dataPostgreSQLloendustüüpklassifikaatoridandmebaasi disainporditavus 13.06.2023 19:53 | Erki Eessaar
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
Kui tabelis Riik on (nimetus) alternatiivvõti, siis miks ei piisa selle jõustamiseks UNIQUE kitsendusest? Miks on vaja veerule nimetus ka NOT NULL kitsendust? Hästi kavandatud tabelis peaks olema üks või rohkem kandidaatvõtit. Kandidaatvõtme väärtus + kandidaatvõtme veergude nimed + tabeli nimi on loogiline aadress, mille järgi andmebaasist tabeli rida üles leida. Kui aadressi pole või see on väärtuste puu... alternatiivvõtiUNIQUE kitsendusNOT NULL kitsenduskandidaatvõtiprimaarvõtiandmete terviklikkustabeli disain 23.02.2023 01:01 | Erki Eessaar
Kui pikad võivad olla isikunimed ja millist väljapikkust kasutada isikunimede puhul andmebaasis? Erinevates kultuurides on isikunimedel erinevaid komponente (lugege selle kohta lõputööst). Levinud lahenduseks andmeb... isikunimieesnimiperenimiväljapikkusisikunimiisikunimedisikunimedandmebaasi disainväljapikkusrahvusvahelistuminestandardid 14.10.2022 11:20 | Erki Eessaar
Kas olemasolevates "päriselu" SQL-andmebaasides jõustatakse välisvõtme kitsendusi? Mitte nii palju kui peaks.B. Karwini SQL-andmebaasi disaini antimustrite raamatu peatükis 5 (Keyle... võõrvõtivälisvõtiforeign keyfkdeklaratiivne kitsendusdeclarative constraintWordpressWooCommercetehniline võlgantimuster 27.09.2022 01:49 | 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
Kas Oracle SQL Developer vahendi abil on võimalik töötada PostgreSQL andmebaasiga? Jah on (vt seda artiklit ja allpool kasutamise juhendit).Oracl... Oracle SQL DeveloperPostgreSQLJDBC draiverühendaminetöövahendidmigreerimineseadistamine 01.06.2022 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? SIIN on üks pildirida süsteemiarenduse ideaalist vs. tegelikkusest. Nagu näete la... iseseisev tööprojektdokumentdokumentatsioonmudelidprojectdiagrammdiagrammidpuhas koodallsüsteemfunktsionaalne allsüsteemregisterandmebaasioperatsioonandmebaasioperatsioonide lepingud 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
Kui soovin kontrollida, et nimi tohib sisaldada vaid tähti ja tühikuid, siis kas sobib selline regulaaravaldise muster: '^([a-zA-Z]|[[:space:]])+$' ? Ei, kahjuks ei sobi, sest Te välistate nimedes näiteks täpitähed. Märkide hulga [a-zA-Z] asemel tuleks kasutada märkide klassi [:alpha:]. PostgreSQL SELECT 'Õnne Pärl'~'^( regulaaravaldismärkide klassidnimekontrollPostgreSQLOracletäpitähedvalideerimine 01.06.2022 00:00 | Erki Eessaar