Video: Setting Up Data Access Restrictions 2024
Er kan een situatie ontstaan waarin u SQL-privileges moet verlenen levels. Veel van de architectuur van gestructureerde typen is afgeleid van de ideeën van objectgeoriënteerd programmeren. Een van de ideeën die daaruit voortkomt, is het idee van een hiërarchie , waarin een type subtypen kan hebben die sommige van hun attributen ontlenen aan het type waarvan ze afkomstig zijn (hun supertype ).
Naast deze overgeërfde attributen, kunnen ze ook attributen hebben die uitsluitend van hen zijn. Er kunnen meerdere niveaus van een dergelijke hiërarchie zijn, met het type onderaan een bladtype .
Een getypte tabel is een tabel waarin elke rij die is opgeslagen in de tabel een exemplaar is van het bijbehorende gestructureerde type. Een getypte tabel heeft één kolom voor elk attribuut van het bijbehorende gestructureerde type. De naam en het gegevenstype van de kolom zijn hetzelfde als de naam en het gegevenstype van het attribuut.
Stel dat u een maker bent van schilderijen die u verkoopt via galerijen. Naast originele kunstwerken, verkoopt u ook ondertekende, genummerde, beperkte edities, niet-ondertekende, niet genummerde open edities en posters. U kunt als volgt een gestructureerd type voor uw illustraties maken:
CREATE TYPE-illustraties (artiest CHARACTER VARYING (30), titel CHARACTER VARYING (50), beschrijving CHARACTER VARYING (256), medium CHARACTER VARYING (20), creationDate DATE) NOT FINAL
Hier is nog een geval van een functie die niet op alle DBMS-producten aanwezig is. PostgreSQL heeft echter de instructie CREATE TYPE, evenals Oracle 11g en SQL Server 2012.
Als een kunstenaar probeert om je inventaris bij te houden, wil je onderscheid maken tussen originelen en reproducties. Misschien wilt u onderscheid maken tussen verschillende soorten reproducties. Het kunstwerktype kan subtypes hebben, die op hun beurt subtypen van zichzelf kunnen hebben.
Er is een één-op-één-correspondentie tussen de typen in de typehiërarchie en de tabellen in de getypte tabelhiërarchie. Standaardtabellen kunnen niet worden geplaatst in een hiërarchie die lijkt op de hiërarchie die hier wordt besproken voor getypte tabellen.
In plaats van een primaire sleutel heeft een getypte tabel een zelfverwijzende kolom die de uniekheid garandeert, niet alleen voor de maximale supetabel van een hiërarchie, maar ook voor al zijn subtabellen. De zelfverwijzende kolom wordt gespecificeerd door een REF IS-clausule in de CREATE-instructie van de maximale supertabel. Wanneer de referentie door het systeem wordt gegenereerd, is uniciteit over de hele linie gegarandeerd.