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
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
Mida teha, kui MS Teams annab veateate "Me ei saanud ühendust luua"? SIIN on tegevusjuhend, mida tasub proovida sellisest veast vabanemiseks. MS Teamskaugkaugtööveaotsingühendusvigamandaadihaldurvahemälu 24.08.2022 12:06:50 | Erki Eessaar
Kas andmebaasi disainiprobleemid mõjutavad andmebaasirakenduste loomist ja nende rakenduste toimimist? Jah, mõjutavad küll. Ja kuidas veel. Mulle meenub reklaam, kuidas hästi korrastatud laost on võimalik kaupa kergesti üles leida, samas kui korratust laost on kauba ülesleidmine keeruline ja ettevõtte töö on tänu sellele raskendatud. Sama kehtib ... andmebaasi disainEhitisregisterarendusveadandmekvaliteetriigi infosüsteemidebaõnnestuminemigreerimine 25.06.2022 12:19:05 | Erki Eessaar
Käivitan MS Accessis päringu (query), mis ei ole SELECT lause. Tulemuseks on teade: Päringul peab olema vähemalt üks sihtväli/Query must have at least one destination field. Mida ma teen valesti? Te olete avanud ekraanil päringu (query) ning käivitamiseks teete topeltklõpsu selle päringu ikoonil Accessi objektide nimekirjas (vt lisatud pilti). Selle peale arvab MS Access, et tahate käivitada SELECT lauset ja tulemuseks on nimetatud v... MS Accessveateadepäringkujundusvaadekäivitamine 01.06.2022 00:00:00 | Erki Eessaar
Mis vahe on välisvõtme spetsifikatsioonis ON UPDATE/ON DELETE RESTRICT ja ON UPDATE/ON DELETE NO ACTION vahel? ON DELETE/ON UPDATE RESTRICT tähendab, et viidete terviklikkust... viidete terviklikkuskompenseeriv tegevusvälisvõtivõõrvõtiPostgreSQLOraclevälisvõtiviitamisterviklikkusON DELETEON UPDATERESTRICTNO ACTIONPostgreSQLOracle 01.06.2022 00:00:00 | Erki Eessaar
Kas andmete andmebaasi tasemel valideerimine (eelnevalt defineeritud reeglitele vastavuse kontrollimine) on hea mõte või mitte? Minu arvates on hea mõte. Järgnev tekst üritab seda põhjendada.Väide: Kui rakenduse tasemel andmeid valideeritakse, siis andmebaasi tasemel pole seda enam vaja teha, sest see on liiga keeruline. Vastus: Kõik sõltub selle... trigerkitsendusconstrainttriggerprimaarvõtivälisvõtiuniqueprimary keyforeig keychecknot nullMongoDBPostgreSQL 01.06.2022 00:00:00 | Erki Eessaar
PostgreSQL ja Oracle pakuvad funktsioone, mis realiseerivad foneetilisi algoritme. Milleks neid vaja on? Mis nendest kasu on? Foneetilisi algoritme saab kasutada näiteks suguvõsauuringutes, et otsida sarnase kõlaga perekonnanimega inimesi. Need inimesed võivad, aga ei... foneetilised algoritmidSoundexandmekvaliteetnimeotsinghägune otsingisikuandmedPostgreSQL 01.06.2022 00:00:00 | Erki Eessaar
Kas isiku rollide omamise registreerimise võiks realiseerida nii, et luua loendustüüp rollide nimedega ning kasutajate tabelis luua veerg, mille väärtuseks on seda loendustüüpi väärtuste massiiv? See on võimalik, aga ma ei soovita. Soovitan rollide jaoks luua eraldi klassifikaatori tabeli ja luua eraldi tabeli rollide omamiste kohta.CREATE TYPE t_roll AS ENUM('juhataja','administraator','tavakasutaja'); enumenumeration typePostgreSQLmassiividloendustüüpdisainandmemudelnormaliseerimine 01.06.2022 00:00:00 | Erki Eessaar