Mis probleem tekib MS Accessi andmebaasi kasutamisel universaalse andmebaasi haldamise programmi (nt DBeaver ja DbSchema) kaudu? Nende vahendite kaudu saab käivitada SQL-lauseid, mis on illegaalne SQL, ei ole kooskõlas MS Accessi SQL dialektiga, st lauseid otse andmebaasisüsteemis käivitades need ei toimi. Põhjus saab olla selles, et ... MS AccessDBeaverDbSchemaSQL dialektuniversaalsed haldusvahendidSQL süntaksveateated 19.03.2023 13:38:49 | Erki Eessaar
Kas PostgreSQLis peaks vaate alampäringus kasutama SELECT ... FOR UPDATE? Ei! Tõsi on see, et PostgreSQLis saab erinevalt Oraclest (12.1) vaate alampäringus kasutada SELECT ... FOR UPDATE. lukustaminevaadePostgreSQLeksklusiivne lukktrigertrigeridalampäringPostgreSQLvaatedlukustamineSELECT FOR UPDATEtransaktsioonid 12.12.2022 10:37:38 | Erki Eessaar
Mida tähendab WITH CHECK OPTION vaate definitsioonis? See on vaatega seotud kitsendus, mida tuleks siduda sellise alampäringuga vaatega, mille korral lubab andmebaasisüsteem vaate kaudu andmeid muuta. Erinevates andmebaasisüsteemides on erinevad piirangud vaadetele, mille kaudu saab andmeid muuta. vaadetuletatud tabelWITH CHECK OPTIONvaatedWITH CHECK OPTIONandmete muutminekitsendused 12.12.2022 10:31:21 | Erki Eessaar
Kas Oracles saab defineerida vaadetele kitsendusi? Jah saab. Esiteks saab vaadetele lisada WITH CHECK OPTION (andmemuudatus vaate kaudu peab rahuldama vaate alampäringu tingimusi) ja WITH READ ONLY (vaade on ainult lugemiseks, st kirjutuskaitsega) kitsendused. Neid kitsendusi jõustatakse ... OraclevaadekitsendusOraclevaadekitsendusedWITH CHECK OPTIONWITH READ ONLY 27.11.2022 17:35:57 | 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
Kuidas jõustada MS Accessis kitsendus, et tuba saab aktiivsesse seisundisse viia ainult siis, kui see tuba on seotud vähemalt ühe kategooriaga? Eeldame, et seisund "Aktiivne" on koodiga 2. Tuleb luua CHECK-kitsendus.ALTER TABLE TubaADD CONSTRAINT chk_tuba_aktiivne_peab_olema_kategooriaga CHECK (NOT EXISTS (SELECT *FROM Tuba... valideerimisreegelcheckvalidation rulePostgreSQLOracleMS Accesskitsendusalampäringassertionpiirang 05.06.2022 12:17:00 | Erki Eessaar
Kuidas leida andmebaasist andmeid, mida seal justkui ei ole? Näiteks on andmebaasis andmed külaliste ja nende hotellide reserveerimiste kohta ja pean leidma külalised, kes EI OLE, 2014. aastal ühegi reserveerimist alustanud. Andmebaasi kontseptuaalne struktuur on antud juhul järgmine.[Külaline]-1----------------0..*-[Reserveerimine] Võimalik ülesande lahendus on selline. puuduvad andmedNOT INalampäringSQL strateegiaandmete otsiminehulgadvälistamine 01.06.2022 00:00:00 | Erki Eessaar
Kas uuendatavate vaadete (vaated, mille kaudu andmebaasisüsteem põhimõtteliselt lubaks INSERT/UPDATE lauseid käivitada) puhul on ikka vaja WITH CHECK OPTION kitsendust kasutada? Jah on. Näiteks, kui juhataja rollis kasutaja näeb sellise vaate CREATE VIEW kinnitamata_tellimuste_vaade ASSELECT tellimuse_kood, tellimuse_seisundi_liik_koodFROM TellimusWHEREtellimu... vaatedWITH CHECK OPTIONuuendatavad vaatedandmete terviklikkusturvalisusortogonaalne disainSQL standard 01.06.2022 00:00:00 | Erki Eessaar
Mida tähendab, et kirjutage INSERT lause nii, et see poleks tundlik veergude järjekorra muutmise suhtes? Halb: INSERT INTO Isik VALUES ('39107070123', 'Mets'); INSERT lauseveergude järjekordSQL parimad praktikadandmete lisaminekoodi stabiilsusINSERT INTO SELECT 01.06.2022 00:00:00 | Erki Eessaar