HELIA 1 (13) Luento 2.9 Tietohakemistot 2 2 Coddin 12 säännöstä RDBMS:lle... 3 Oraclen tietohakemistonäkymät (osa) 4 Yleiset 4 Taulut 4 Säännöt 4 Näkymät 4 Synonyymit 5 Talletetut rutiinit 5 Käyttöoikeudet 5 Indeksit 6 Sekvenssit 6 Tilankäyttö 6 Hajautus 6 Riippuvuudet 7 Abstraktit tietotyypit 7 Määrittelytietoa tietohakemistoon - COMMENT 8 Solidin tietohakemisto (osa) 9 Taulut 9 Säännöt 9 Näkymät 9 Synonyymit 9 Talletetut rutiinit 9 Käyttöoikeudet 10 Sekvenssit 10 Tietotyypit 10 Tietohakemiston hyväksikäyttö 11 DDL-lauseiden luonti tietohakemisto-kyselynä 11 Oracle Schema Manager Error! Bookmark not defined.
HELIA 2 (13) Tietohakemistot Tietokanta tietokannasta Tallentaa tietokannan objektien määrittelyt Tietokannan suunnittelijan / ohjelmoijan / ylläpitäjän tietolähde Metadataa Ä SQL-92 määrittelee tietohakemiston taulut ja näkymät Ä Tietokantatuotteissa oma rakenteensa Å Tietohakemistonäkymät (information_schema) tulevat ehkä yhtenäistymään Å Tietohakemistotaulujen (definition_schema) muutokset ovat epätodennäköisiä ainakin hitaita
HELIA 3 (13) 2 Coddin 12 säännöstä RDBMS:lle... 1. Information Rule All information in a relational database is represented explicitly at the logical level and in exactly one way by values in tables. 4. Database Description Rule The database description is represented at the logical level in the same way as ordinary data, so that authorised users can apply the same relational language to its interrogation as they apply to regular data. Ä Tietohakemistoista löytyvät kuvaukset Tauluista Pääavaimista Viiteavaimista Arvojoukkotarkistuksista Oletusarvoista Näkymistä Herätetoiminnoista Proseduureista Indekseistä...
HELIA 4 (13) Oraclen tietohakemistonäkymät (osa) USER_xxx ALL_xxx DBA_xxx käyttäjän omistamat käyttäjällä käyttöoikeus kaikki (vain DBA-roolilla käytettävissä) Yleiset USER_OBJECTS USER_CATALOG ALL_OBJECTS Kaikki omat Taulut, näkymät, synonyymit, sekvenssit Kaikki joihin käyttöoikeus Taulut USER_TABLES USER_TAB_COMMENTS USER_TAB_COLUMNS USER_COL_COMMENTS Kuvaustekstiä Kuvaustekstiä Säännöt USER_CONSTRAINTS USER_CONS_COLUMNS Näkymät USER_VIEWS USER_UPDATABLE_ COLUMNS columns that are updatable in a join view.
HELIA 5 (13) Synonyymit Talletetut rutiinit USER_SYNONYMS USER_TRIGGERS USER_TRIGGER_COLS USER_SOURCE Funktiot ja proseduurit Käyttöoikeudet USER_USERS USER_SYS_PRIVS USER_ROLE_PRIVS USER_TAB_PRIVS USER_TAB_PRIVS_MADE ALL_TAB_PRIVS_MADE USER_COL_PRIVS USER_COL_PRIVS_MADE ALL_COL_PRIVS_MADE ROLE_SYS_PRIVS ROLE_ROLE_PRIVS ROLE_TAB_PRIVS SESSION_PRIVS SESSION_ROLES Omiin tauluihin Omiin tauluihin tai edelleenannettu käyttöoikeus Omiin tauluihin Omiin tauluihin tai edelleenannettu käyttöoikeus
HELIA 6 (13) Indeksit USER_INDEXES USER_IND_COLUMNS Sekvenssit USER_SEQUENCES Tilankäyttö USER_TABLESPACES USER_SEGMENTS USER_EXTENTS USER_FREE_SPACE Hajautus USER_DB_LINKS ALL_DB_LINKS USER_SNAPSHOTS
HELIA 7 (13) Riippuvuudet USER_DEPENDENCIES Abstraktit tietotyypit USER_TYPES USER_TYPE_ATTRS USER_TYPE_METHODS USER_METHOD_RESULTS USER_METHOD_PARAMS
HELIA 8 (13) Määrittelytietoa tietohakemistoon - COMMENT Ä RDBMS:n ylläpitämässä tietohakemistossa on vain järjestelmän tarvitsemaa tietoa Ä Ainoa tapa lisätä sovelluskohtaista tietoa, esim. objektien ja ominaisuuksien määrittelyjä on COMMENT komento
HELIA 9 (13) Solidin tietohakemisto (osa) Taulut TABLES (näkymä) SYS_TABLES COLUMNS (näkymä) SYS_COLUMNS Säännöt SYS_KEYS SYS_KEYPARTS SYS_FORKEYS SYS_FORKEYPARTS Näkymät SYS_VIEWS Synonyymit SYS_SYNONYM Talletetut rutiinit SYS_PROCEDURES SYS_TRIGGERS
HELIA 10 (13) Käyttöoikeudet SYS_USERS SYS_UROLE SYS_RELAUTH SYS_ATTAUTH Myös roolit Sekvenssit SYS_SEQUENCES Tietotyypit SYS_TYPES
HELIA 11 (13) Tietohakemiston hyväksikäyttö a) Kuvauksien luku b) DDL-lauseiden luonti DDL-lauseiden luonti tietohakemisto-kyselynä -- viite-eheyssääntöjen poisto -- pääavainten päivityksen ajaksi -- TTITLE OFF SET PAGESIZE 999 SET HEADING OFF SET FEEDBACK OFF COL rivi FORMAT a80 spool R_disable_const.sql select 'alter table ' table_name rivi, ' disable constraint ' constraint_name ';' rivi from user_constraints where constraint_type = 'R' / spool off Ï alter table anekdootti disable constraint fk_elokuva; alter table anekdootti disable constraint fk_organisaatio;...
HELIA 12 (13) -- Luo SQL-plus komennot, joilla voi tulostaa -- tietokannan taulukuvaukset -- SET PAGESIZE 0 SET HEADING OFF COL rivi format a80 COL type format a5 COL table_name format a50 spool LUE_taulut.sql select 'COL apu noprint' rivi, 'COL apu2 noprint' rivi, 'select user '':N TAULUT JA NÄKYMÄT'' apu, sysdate apu2 from dual;' rivi from dual / select 'prompt ', Initcap(substr(table_type,1,5)) type, table_name, ' ' rivi, 'desc ', table_name from user_catalog where (table_type = 'TABLE' or table_type = 'VIEW') order by 2, 3 / spool off Ï
HELIA 13 (13) COL apu noprint COL apu2 noprint select user '':N TAULUT JA NÄKYMÄT'' apu, sysdate apu2 from dual; prompt Table ANEKDOOTTI desc ANEKDOOTTI prompt Table ANEK_HLO desc ANEK_HLO... Ï TKS00:N TAULUT JA NÄKYMÄT 27.04.1999 Table ANEKDOOTTI Name Null? Type ------------------------------- -------- ---- ANE_NO NOT NULL NUMBER(5) ANEKDOOTTI VARCHAR2(500) ELOKUVA_NO NUMBER(5) ORGANISAATIO_NO NUMBER(5) Table ANEK_HLO Name Null? Type ------------------------------- -------- ---- ANE_NO NOT NULL NUMBER(5) HLO_NO NUMBER(5)