Kas kino infosüsteemis kontseptuaalses andmemudelis on istekohaga seotud 0..* või 0..1 piletit? Kontseptuaalse struktuuri fragment:[Istekoht]-1----------0..*-[Pilet]-0..*-------1-[Seanss] Peame siinkohal eristama füüsilist istekohta saalis ja sellele istekohale aja jooksul müüdavaid pileteid. Kuna üks ja seesama is... kontseptuaalne andmemudelvõimsustikunikaalsuse kitsendus 14.06.2026 12:53:25 | Erki Eessaar
Kas PostgreSQL andmebaasi tabelile EXCLUDE kitsenduse lisamine võib muuta mõne selle tabeli UNIQUE kitsenduse üleliigseks? Oletame, et PostgreSQL andmebaasis on tabel: Tootaja_projektis_osalemine (tootaja_projektis_id, alg_aeg, lopp_aeg, projekt_id, tootaja_id, roll_kood) Primaarvõti (tootaja_projektis_id) kitsenduspiirangconstraintexclusionduplikaatdubleerimineindeksPostgreSQLkitsendusedEXCLUDEUNIQUEdubleerimineoptimeerimine 01.11.2025 10:19:16 | Erki Eessaar
Süsteemi genereeritud võtmeväärtustena saab kasutada nii täisarve kui universaalselt unikaalseid identifikaatoreid (uuid). Millised on kummagi lähenemise eelised ja puudused? Süsteemi genereeritud võtmeväärtustena võib kasutada täisarve. PostgreSQLis saab selleks kasutada SMALLSERIAL/SERIAL/BIGSERIAL notatsiooni või määrata, et vastav veerg on identiteedi veerg. Genereeritud väärtus on täisarv, mis on kas 2 baiti (SMALLSE... PostgreSQLUUIDprimaarvõtijõudlussalvestusruumtäisarvudvõtmed 03.10.2024 10:33:58 | Erki Eessaar
Mul on sellised ja sellised tabelid ning ma pean nende põhjal lahendama sellise ja sellise andmete otsimise ülesande. Milline oleks selle ülesande kõige parema jõudlusega lahendus? Tuleb korraldada eksperiment ja erinevaid lahendusi katsetada. Kui Teil pole käepärast serverit, kus saate "liivakastis" mängida, siis isegi keskkonnas nagu DB Fiddle PostgreSQLjõudlustestidoptimeerimineEXPLAIN ANALYZEmaterialiseeritud vaatedtestandmedeksperiment 10.10.2023 10:19: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:02 | Erki Eessaar
Kuidas saab PostgreSQLis ühe lausega lisada tabelisse puuduvad read ja uuendada olemasolevaid ridu? Sellist operatsiooni tuntakse ka nime all upsert (kombinatsioon INSERT ja UPDATE operatsiooniks).Selle realiseerimiseks saab PostgreSQLis kasutada INSERT ... ON CONFLICT lauset. Alates PostgreSQL 15 saab selleks kasutada ka upsertmergePostgreSQLUPSERTMERGEandmemuudatusedkonfliktide lahendamine 24.10.2022 00:06:18 | 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:12 | Erki Eessaar
Kuidas jõustada PostgreSQLis kitsendus, et kui üks ja sama töötaja omab ühte ja sama rolli mitu korda, siis ei tohi rolli omamise ajaperioodid kattuda? Tuleb luua EXCLUDE kitsendus. EXCLUDE kitsendus on unikaalsuse kitsenduse edasiarendus, mille puhul saab väärtuste unikaalsuse e kordumatuse kontrollimiseks kasutada ka mõnda muud operaatorit kui võrdsuse kontrolli operaator (=), mida kasutab UNIQUE ... PostgreSQLEXCLUDE kitsendusajaperioodidkattuvusandmete terviklikkuskitsendusedajalised andmed 05.06.2022 20:40:02 | Erki Eessaar
Kuidas jõustada MS Accessis kitsendus, et kui üks ja sama töötaja omab ühte ja sama rolli mitu korda, siis ei tohi rolli omamise ajaperioodid kattuda? Saan jõustada nõrgema kitsenduse, mille kohaselt andmete registreerimise hetke seisuga ei tohi ühel ja samal töötajal olla ühe ja sama rolli kohta rohkem kui üks kehtiv rolli omamine. Kehtiv rolli omamine on selline, mille puhul hetke aeg jääb rolli ... valideerimisreegelcheckvalidation rulePostgreSQLMS Accesskattuvad perioodidajalised andmedalampäringkitsenduspiirang 05.06.2022 20:17:10 | 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