Verschillen
Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.
Beide kanten vorige revisie Vorige revisie Volgende revisie | Vorige revisie | ||
openwave:1.31:techniek:database_lees_schrijfrechten [2024/11/26 06:07] – Externe bewerking (Ongeldige datum) 127.0.0.1 | openwave:1.31:techniek:database_lees_schrijfrechten [2025/07/17 16:27] (huidige) – Spaces needed Kars Gottschal | ||
---|---|---|---|
Regel 4: | Regel 4: | ||
===== Doel/ | ===== Doel/ | ||
+ | |||
Er is voor iedere OpenWave omgeving (zowel acceptatie als productie) een generiek leesaccount (wavereader001) en generiek schrijfaccount (wavewriter001) aanwezig op de database. De rechten voor deze wavereader001 en wavewriter001 zijn voor alle omgevingen gelijk en worden door REM onderhouden en bijgewerkt bij iedere grote OpenWave release (update van de database). Het leesaccount en/of schrijfaccount wordt pas geactiveerd nadat de daarvoor benodigde contracten akkoord zijn. Voor het schrijfaccount gelden nog extra voorwaarden. Zie kopje // | Er is voor iedere OpenWave omgeving (zowel acceptatie als productie) een generiek leesaccount (wavereader001) en generiek schrijfaccount (wavewriter001) aanwezig op de database. De rechten voor deze wavereader001 en wavewriter001 zijn voor alle omgevingen gelijk en worden door REM onderhouden en bijgewerkt bij iedere grote OpenWave release (update van de database). Het leesaccount en/of schrijfaccount wordt pas geactiveerd nadat de daarvoor benodigde contracten akkoord zijn. Voor het schrijfaccount gelden nog extra voorwaarden. Zie kopje // | ||
Regel 11: | Regel 12: | ||
===== Leesaccount (wavereader001) ===== | ===== Leesaccount (wavereader001) ===== | ||
+ | |||
Het leesaccount (de zogenaamde wavewreader001) wordt alleen geactiveerd voor de klant na contractovereenkomst en zal daarna altijd toegankelijk zijn. Met het leesaccount kan de database bevraagd worden om gegevens op te halen via zogenaamde **select statements** (het is niet mogelijk om gegevens in de database te wijzigen, data aan te maken of data te verwijderen. Voor deze acties is het schrijfaccount benodigd). Met het leesaccount kan men via tools als Pgadmin een connectie maken met de database en vervolgens select statements maken/de database bevragen. Het is ook mogelijk om zogenaamde BI tools toegang te geven tot het leesaccount. Zo kunnen deze tools de benodigde rapportages maken met de gegevens uit de OpenWave database. | Het leesaccount (de zogenaamde wavewreader001) wordt alleen geactiveerd voor de klant na contractovereenkomst en zal daarna altijd toegankelijk zijn. Met het leesaccount kan de database bevraagd worden om gegevens op te halen via zogenaamde **select statements** (het is niet mogelijk om gegevens in de database te wijzigen, data aan te maken of data te verwijderen. Voor deze acties is het schrijfaccount benodigd). Met het leesaccount kan men via tools als Pgadmin een connectie maken met de database en vervolgens select statements maken/de database bevragen. Het is ook mogelijk om zogenaamde BI tools toegang te geven tot het leesaccount. Zo kunnen deze tools de benodigde rapportages maken met de gegevens uit de OpenWave database. | ||
Regel 20: | Regel 22: | ||
===== Schrijfaccount (wavewriter001) ===== | ===== Schrijfaccount (wavewriter001) ===== | ||
+ | |||
Het schrijfaccount (de zogenaamde wavewriter001) wordt alleen geactiveerd voor de klant na contractovereenkomst en zal altijd tijdelijk toegankelijk zijn. Dit betekent dat alleen in overleg met support en ICT van OpenWave op afgesproken dag/ | Het schrijfaccount (de zogenaamde wavewriter001) wordt alleen geactiveerd voor de klant na contractovereenkomst en zal altijd tijdelijk toegankelijk zijn. Dit betekent dat alleen in overleg met support en ICT van OpenWave op afgesproken dag/ | ||
==== Select statements ==== | ==== Select statements ==== | ||
+ | |||
In principe mag op alle tabellen en views van OpenWave data gelezen worden via select statements. Echter geldt hierop de uitzondering dat men geen ongecrypte wachtwoorden mag inzien. Voor de tabellen die zulke informatie bevatten (voor views komt dit nu nog niet voor) geldt dat ze wel te bevragen zijn met een select statement maar niet met een select *. Men zal dan de select moeten specificeren door ieder veld van interesse in de select op te nemen m.u.v. de niet toegestane velden. | In principe mag op alle tabellen en views van OpenWave data gelezen worden via select statements. Echter geldt hierop de uitzondering dat men geen ongecrypte wachtwoorden mag inzien. Voor de tabellen die zulke informatie bevatten (voor views komt dit nu nog niet voor) geldt dat ze wel te bevragen zijn met een select statement maar niet met een select *. Men zal dan de select moeten specificeren door ieder veld van interesse in de select op te nemen m.u.v. de niet toegestane velden. | ||
- | === Concrete voorbeelden welke selects NIET mogen === | + | === Concrete voorbeelden welke selects NIET mogen=== |
<code sql> | <code sql> | ||
| | ||
Regel 37: | Regel 42: | ||
Indien men voor deze tabellen toch de data wil zien kan men of select * op de views doen, of dus select op aparte velden van de tabel doen. Uitzondering: | Indien men voor deze tabellen toch de data wil zien kan men of select * op de views doen, of dus select op aparte velden van de tabel doen. Uitzondering: | ||
- | === Voorbeelden hoe dan toch de data uit deze tabellen te bekijken === | + | === Voorbeelden hoe dan toch de data uit deze tabellen te bekijken=== |
<code sql> | <code sql> | ||
| | ||
Regel 52: | Regel 58: | ||
==== Update statements ==== | ==== Update statements ==== | ||
+ | |||
Ook hier geldt de uitzondering dat men geen velden mag updaten die wachtwoorden bevatten. Men mag geen updates uitvoeren op tabel tbinitialisatie en tabel tbaudit. | Ook hier geldt de uitzondering dat men geen velden mag updaten die wachtwoorden bevatten. Men mag geen updates uitvoeren op tabel tbinitialisatie en tabel tbaudit. | ||
Alle overige velden van alle tabellen mogen geüpdate worden. Mits de nieuwe waarde aan eventuele constraints voldoet. Met constraints wordt bedoeld bijvoorbeeld een null waarde proberen te zetten voor een veld wat niet null mag zijn. Dit zal niet mogelijk zijn: als er in pgadmin gewerkt wordt geeft het programma een melding met de specifieke constraint die het uitvoeren van update statement verhinderd. | Alle overige velden van alle tabellen mogen geüpdate worden. Mits de nieuwe waarde aan eventuele constraints voldoet. Met constraints wordt bedoeld bijvoorbeeld een null waarde proberen te zetten voor een veld wat niet null mag zijn. Dit zal niet mogelijk zijn: als er in pgadmin gewerkt wordt geeft het programma een melding met de specifieke constraint die het uitvoeren van update statement verhinderd. | ||
==== Insert statements ==== | ==== Insert statements ==== | ||
+ | |||
Insert statements kunnen uitgevoerd worden op alle tabellen (m.u.v. tbinitialisatie en tbaudit). Het kan zijn dat men tegen constraints aanloopt als het insert statement niet alle verplichte velden meegeeft. Men dient dan het insert statement aan te passen en de verplichte velden mee te geven. | Insert statements kunnen uitgevoerd worden op alle tabellen (m.u.v. tbinitialisatie en tbaudit). Het kan zijn dat men tegen constraints aanloopt als het insert statement niet alle verplichte velden meegeeft. Men dient dan het insert statement aan te passen en de verplichte velden mee te geven. | ||
Regel 67: | Regel 75: | ||
==== Delete statements ==== | ==== Delete statements ==== | ||
+ | |||
Ook voor delete statements geldt dat ze kunnen worden uitgevoerd op alle tabellen (m.u.v. tbinitialisatie en tbaudit). Ook hier kan men tegen constraints aanlopen. Bijvoorbeeld als het te verwijderen record 1 of meer velden heeft die verwijzen naar een record in een andere tabel EN waarvoor geldt dat deze geen delete cascade heeft. In dat geval dient men eerst de verwijzingen in de andere tabellen te updaten (of ook te verwijderen) alvorens het delete statement uitgevoerd kan worden. | Ook voor delete statements geldt dat ze kunnen worden uitgevoerd op alle tabellen (m.u.v. tbinitialisatie en tbaudit). Ook hier kan men tegen constraints aanlopen. Bijvoorbeeld als het te verwijderen record 1 of meer velden heeft die verwijzen naar een record in een andere tabel EN waarvoor geldt dat deze geen delete cascade heeft. In dat geval dient men eerst de verwijzingen in de andere tabellen te updaten (of ook te verwijderen) alvorens het delete statement uitgevoerd kan worden. | ||
==== Create/ alter en drop statements ==== | ==== Create/ alter en drop statements ==== | ||
+ | |||
De door REM uitgeleverde tabellen en views kunnen NOOIT per ongeluk gedropt worden met het schrijfaccount. Het schrijfaccount is daarvoor niet bevoegd en er zal een foutmelding verschijnen. Idem dito kan men geen alter table statements uitvoeren voor de door REM uitgeleverde tabellen. | De door REM uitgeleverde tabellen en views kunnen NOOIT per ongeluk gedropt worden met het schrijfaccount. Het schrijfaccount is daarvoor niet bevoegd en er zal een foutmelding verschijnen. Idem dito kan men geen alter table statements uitvoeren voor de door REM uitgeleverde tabellen. | ||
Regel 75: | Regel 85: | ||
==== Overige statements/ | ==== Overige statements/ | ||
+ | |||
Het schrijfaccount heeft geen rechten om een eigen nieuwe rol aan te maken of om zichzelf meer rechten toe te kennen. Wat wel mag is het bekijken en zetten van sequences: dit om bijvoorbeeld de nieuwe primary key value van een tabel goed te zetten. De sequences kunnen niet verwijderd worden en men kan geen nieuwe sequences aanmaken. Het is ook niet mogelijk om constraints/ | Het schrijfaccount heeft geen rechten om een eigen nieuwe rol aan te maken of om zichzelf meer rechten toe te kennen. Wat wel mag is het bekijken en zetten van sequences: dit om bijvoorbeeld de nieuwe primary key value van een tabel goed te zetten. De sequences kunnen niet verwijderd worden en men kan geen nieuwe sequences aanmaken. Het is ook niet mogelijk om constraints/ | ||