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
Milline on tüüpiline viga LIMIT klausli kasutamisel? LIMIT klauslit ei saa kasutada MS Accessis, kuid saab kasutada mitmes teises SQL andmebaasisüsteemis. LIMIT n võimaldab päringu tulemusest väljastada esimesed n rida. SQL-standard ei näe samuti ette LIMIT klauslit. Samas saab SQL-standardi kohaselt k... LIMIT klauselTOP predikaatsorteerimineSQL veadMS AccessPostgreSQLWITH TIES 16.02.2023 15:58:30 | 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:46 | Erki Eessaar
Mille poolest erineb MS Accessi andmetüüp BIT (YESNO) SQL standardis ettenähtud andmetüübist BOOLEAN? MS Accessis on BIT tüüp selline, mille korral tehakse teisendus NULL=>FALSECREATE TABLE Toode (toode_kood INTEGER,on_aktiivne BIT DEFAULT TRUE,CONSTRAINT pk_toode PRIMARY KEY (toode_kood)); PostgreSQLMS AccessBITBOOLEANYESNOtõeväärtusNULL 16.02.2023 15:24:14 | Erki Eessaar
Kuidas realiseerida see, et põhiobjekti X (nt Auto või Kaup) eksemplari andmete muutmine on võimalik vaid siis, kus see eksemplar on mingis kindlas seisundis? Kui loote rutiini X andmete muutmiseks, siis kirjutage see kontroll sisse rutiinis sisalduvatesse lausetesse. Näiteks oletame, et kauba andmeid saab muuta (v.a. seisundi muutmine) vaid siis, kui muudetav kaup on seisundis ootel või mitteaktiivne. Ole... andmebaasiserveris talletatud rutiinfunktsioonprotseduurrutiinidandmemuudatusedpiirangudtrigeridolekkontroll 27.11.2022 14:19:31 | 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
Kas olemasolevate "päriselu" SQL-andmebaaside disaini kvaliteet on hea? Selliseid andmebaase on loodud nii palju, et üldistavalt kõigi kohta midagi öelda on võimatu. Saan öelda, et andmebaasides, mida olen ise lähemalt uurinud, mida on uurinud minu juhendatavad üliõpilased või mida on uuritud avaldatud teadustöödes, leid... WordpressWooCommerceandmekvaliteetandmebaasi disainantimustertehniline võlgkitsenduseduuring 14.09.2022 10:34: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 riigi kood koosneb täpselt kolmest suurtähest, kusjuures täpitähed ja katusega tähed pole lubatud? MS Access ei paku täielikku toetust regulaaravaldiste kasutamisele, kuid selle LIKE predikaadi mustrite koostamise võimalusi on laiendatud valideerimisreegelcheckvalidation rulePostgreSQLOracleMS AccessLIKEmusterriigi koodregulaaravaldiskitsenduspiirang 05.06.2022 13:40:08 | 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