Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Management-ul de tabela si Dictionarul de Date
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
b6c17cm
In acest capitol secund al Limbajului de Definire a Datelor vom vedea comenzile pentru modificarea si mutarea tabelelor si constrangerilor lor. Deasemenea, vom vedea cum informatii despre baza de date pot fi extrase din Dictionarul de Date.

Modificarea unei tabele
Folositi comanda ALTER TABLE pentru a schimba definitia unei tabele.

Sintaxa:

ALTER TABLE nume-tabela

a ADD i(specificator coloanaaconstrangere de coloanai)aENABLE clauza i

aMODIFY i aDISABLE clauzai

aDROP optiunii

Clauza ADD
Folositi cuvantul cheie ADD pentru a adauga o coloana si/sau constran- geri pentru o tabela existenta. Pentru a adauga o coloana tabelei EMP care va tine numele sotului angajatului, introduceti:

ALTER TABLE EMP

ADD (SPOUSES_NAME CHAR (10));

Table altered.

Pentru a vedea descrierea tabelei revizuite, introduceti:

DESCRIBE EMP;

Pentru a adauga o constrangere de tabela unei tabele existente, care specifi- ca daca salariul lunar nu trebuie sa depaseasca 5000$, introduceti:

ALTER TABLE EMP

ADD(CHECK(SAL <=5000));

,/pre>

Clauza MODIFY

Folositi cuvantul cheie MODIFY pentru a modifica definitia unei coloane

existente.

ALTER TABLE nume

MODIFY (tip coloana aNULLi)

Pentru a schimba lungimea lui ENAME la 25 de caractere, introduceti :

ALTER TABLE EMP

MODIFY (ENAME CHAR (25));

Table altered.

DESCRIBE EMP;

Sunt 4 schimbari pe care nu le puteti face

Nu puteti schimba o coloana continand null-uri din NULL in NOT NULL.

Nu puteti adauga o noua coloana care este NOT NULL. Faceti-o null, um-

pleti-o complet si apoi schimbati-o in NOT NULL.

Nu puteti sa scadeti dimensiunea unei coloane sau sa-i schimbati tipul de




date, numai daca nu contine date.

Nu puteti folosi optiunea MODIFY pentru a defini constrangeri pe o coloana

exceptand NULL/NOT NULL.

Pentru a modifica alte constrangeri trebuie sa le eliminati si apoi sa le a-

daugati specificand modificarile.

Clauza DROP

Folositi clauza DROP pentru a muta o constrangere din alta tabela.

Sintaxa:

ALTER TABLE nume tabela

DROP aCONSTRAINT nume constrangere i aCASCADEi

aPRIMARY KEY i

aUNIQUE (coloana, coloana, ...)i

De exemplu:

ALTER TABLE EMP

DROP CONSTRAINT EMP_MGR;

ALTER TABLE EMP

DROP PRIMARY KEY;

Optiunea CASCADE (in clauza DROP)

Optiunea CASCADE a clauzei DROP face ca orice constrangere dependenta

sa fie deasemenea eliminata.

De exemplu:

ALTER TABLE DEPT

DROP PRIMARY KEY CASCADE;

ar putea deasemenea sa faca ca constrangerea chaii exetrne din EMP>DEPTNO sa

fie eliminata.

Clauza ENABLE/DISABLE

Aceasta clauza a comenzii ALTER TABLE permite constrangerilor sa fie fa-

cute posibile sau dezactivate fara a le elimina sau recrea.

Sintaxa:

aDISABLEi a UNIQUE (coloana, coloana, ...) i aCASCADEi

aENABLE i a PRIMARY KEY i

a CONSTRAINT nume constrangere i

Ca si la clauza DROP, adaugarea cuvantului cheie CASCADE semnifica ca con-

strangerile dependente sunt deasemenea afectate.

De exemplu:

ALTER TABLE DEPT

DISABLE CONSTRAINT DEPT_PRIM CASCADE;

Alte comenzi LDD

Eliminarea unei tabele

Pentru a sterge definitia unei tabele ORACLE, folositi comanda DROP

TABLE.

Sintaxa:

DROP TABLE nume tabela aCASCADE CONSTRAINTSi

De exemplu:

DROP TABLE EMP;

Stergerea unei tabele duce la pierderea tuturor datelor din ea si a tu-

turor indecsilor asociati ei. Optiunea CASCADE CONSTRAINTS va sterge deaseme-

nea referirile la constrangerile de integritate dependente.

Note:

Toate datele vor fi deasemenea sterse din tabela.

Orice VIEWS sau SYNONYMS vor ramane, dar vor deveni invalide.

Orice tranzactii nerezolvate sunt realizate.

Numai creatorul tabelei sau DBA poate sa o stearga.

Comanda COMMENT

Folositi comanda COMMENT pentru a insera un comentariu pana la 255 de

caractere, despre o tabela sau coloana, in dictionarul de date.

Pentru a adauga un comentariu unei tabele numita EMP, introduceti:

COMMENT ON TABLE EMP IS 'Employee Information';

Pentru a adauga un comentariu pe coloana EMPNO in tabela EMP, introduceti:

COMMENT ON COLUMN EMP.EMPNO IS 'Unique employee number';

Pentru a sterge un comentariu, emiteti comanda COMMENT fara un comentariu:

COMMENT ON COLUMN EMP.EMPNO IS '';

,/pre>

Pentru a vedea comentariul, selectati coloana COMMENTS din una din vederile

dictionarului:ALL_COL_COMMENTS sau USER_COL_COMMENTS. Dictionarul de Date

este acoperit mai tarziu in acest capitol.

Comanda RENAME

Comanda RENAME este folosita de creatorul lui TABLES, VIEWS si SYNONYMS

pentru a scimba numele obiectului bazei de date.

Pentru a redenumi un obiect al bazei de date sintaxa este:

RENAME vechi TO nou;

Pentru a redenumi tabela EMP in EMPLOYEE, introduceti:

RENAME EMP TO EMPLOYEE;

Pentru a redenumi tabela SALGRADE, introduceti:

RENAME SALGRADE TO EMPLOYEE_GRADES;

Este important de notat ca orice aplicatii/programe/rapoarte care se refera la obiecte ce

au fost redenumite, trebuie amendate.

Comanda TRUNCATE TABLE

Aceasta comanda va permite sa stergeti toate liniile dintr-o tabela. No-

tati ca comanda DELETE poate deasemenea realiza aceasta ca o parte a tran-

zactiei de manipulare a datelor (acoperita in capitolul urmator), dar comanda

TRUNCATE TABLE umple o tabela mai eficient ca o actiune de definire de date,

pana cand nu este retinuta nici o informatie de rollback.

Sintaxa:

TRUNCATE TABLE nume tabela aREUSE STORAGEi

Optiunea REUSE STORAGE pastreaza spatiul din liniile sterse pentru reutiliza-

rea tabelei. Implicit, acest spatiu este eliberat.

Dictionarul de Date Oracle

Dictionarul de Date este una din partile cele mai importante ale lui

ORACLE RDBMS. Consta dintr-un set de tabele si vederi care furnizeaza un ghid

de referinta accesibil doar la citire, despre baza de date. Dictionarul de

Date va va spune:

numele utilizatorilor ORACLE

drepturile si privilegiile care le-au fost acordate

numele obiectelor bazei de date (tabele, vederi, indecsi, sinonime,sec-

vente,...)

constrangeri aplicate tabelei

informatii de revizie, ca: cine a accesat si actualizat obiectele bazei

de date specificate.

Dictionarul de Date este creat cand este creata baza de date. Oricand baza de

date este in operatii, Dictionarul de Date este actualizat de ORACLE RDBMS.

Dictionarul de Date este o referinta pentru toti utilizatorii bazei de

date. Este o sursa valoroasa de informatii pentru utilizatori, proiectanti de

aplicatii si DBA. Dictionarul de Date este deasemenea critic pentru operatia

ORACLE RDBMS, care il reaseaza pentru a inregistra si verifica informatii

despre baza de date.

Accesul la Dictionarul de Date

Utilizatori

Accesul la obiectele Dictionarului de Date este prin SQL. Declaratiile

SELECT pot fi folosite pentru a cere informatii din Dictionarul de Date.

RDBMS

Nici un utilizator nu ar trebui sa schimbe vreodata (insereze, actualizeze

sau stearga) nici o linie sau obiect in Dictionarul de Date, este probabil sa

compromita integritatea datelor. RDBMS actualizeaza automat Dictionarul de

Date pentru a reflecta schimbarile structurii bazei de date, permisiuni, re-

vizii si alte date. In timpul operatiei bazei de date, RDBMS citeste dease-

menea Dictionarul de Date pentru a descoperi obiectele care exista si ca uti-

lizatorii sa aiba acces la ele.

Tabelele si vederile Dictionarului de Date

Tabele

Baza Dictionarului de Date sau fundamentul tabelelor sunt primele o-

biecte ce trebuie create in baza de date, pentru ca ele trebuie sa fie pre-

zente pentru toate obiectele ce trebuie create. Tabelel Dictionarului de Date

sunt create automat de declaratia SQL CREATE DATABASE si nu sunt in posesia

utilizatorului SYS. Tabelele de baza sunt rareori accesate direct, deoarece

informatia din ele nu este usor de inteles.

Vederi

Vederile Dictionarului de Date (tabele virtuale - acoprite in capitolul

15) contin informatii intr-o forma care este usor de inteles pentru utiliza-

tor. Accesul public la Dictionarul de Date este dat prin vederi mai degraba

decat prin tabele de baza. SYS poseda deasemenea vederile Dictionarului

de Date.

Vederile au fost numite pentru a reflecta tipul de utilizare dorit. Ve-

derile sunt clasificate in 3 grupe distingandu-se intre ele prin prefixele

USER, ALL si DBA.

Cele trei clase de vederi sunt:

USER_xxxxx Obiectele posedate de utilizator pot fi accesate. De e-

exemplu, vederile cu acest prefix permit utilizatorului

sa afiseze informatii despre tabelele create de utiliza-

tor si privilegiile acordate de utilizator.

ALL_xxxxx Utilizatorii pot accesa obiecte la care le-au fost permise

drepturile de acces, in plus fata de obiectele pe care le

poseda.

DBA_xxxxx Pentru utilizare de catre utilizatori cu privilegiu DBA -

pot accesa orice obiect in baza de date.

Unele dintre vederile Dictionarului de Date nu utilizeaza prefixele lis-

tate mai sus. Aceste vederi includ:

DICTIONARY Listeaza toate tabelele, vederile, Dictionarului

de Date, accesibile utilizatorului.

DICT_COLUMNS Listeaza coloanele in dictionarul obiectelor ac-

cesibile utilizatorului.

CONSTRAINT_DEFS Listeaza toate definitiile de constrangeri intro-

duse pentru tabelele accesibile utilizatorului.

CONSTRAINT_COLUMNS Listeaza toate coloanele care sunt accesibile u-

tilizatorului curent si numite in definitiile

constrangerilor.

Vederea DICTIONARY

DICTIONARY listeaza toate obiectele Dictionarului de Date accesibile u-

tilizatorului cu o scurta descriere a obiectului.

Urmatoarea declaratie SQL afiseaza continutul tabelei DICTIONARY :

SELECT *

FROM DICTIONARY;

Multe din vederile Dictionarului de Date au nume lung. Sinonimele publice au

fost furnizate, ca abreviatii, pentru accesul convenabil la unele din cele

mai comune vederi ale Dictionarului de Date utilizator.

Numele Tabelei Comentarii

-------------- ----------

ALL_CATALOG Toate tabelele, vederile, sinonimele, secven-

tele accesibile utilizatorului

ALL_COL_COMMENTS Comentarii pe coloanele tabelelor si vederi-

le accesibile

ALL_COL_PRIVS Permisiuni pe coloanele pentru care utiliza-

torul este "grantor", "grantee", proprietar,

sau un rol posibil sau PUBLIC este "grantee"

ALL_COL_PRIVS_MADE Permisiuni pe coloanele pentru care utiliza-

e proprietar sau "grantor"

ALL_COL_PRIVS_RECD Permisiuni pe coloanele pentru care utiliza-

torul, PUBLIC sau rolul posibil este "gran-

tee"

ALL_CONSTRAINTS Definitii de constrangeri pe tabele accesi-

bile

ALL_CONS_COLUMNS Informatii despre coloanele accesibile in

definitiile de constrangeri

ALL_DB_LINKS Legaturile bazei de date accesibile utiliza-

torului

ALL_DEF_AUDIT_OPTS Optiuni de revizuire pentru noile obiecte

create

ALL_DEPENDENCIES Dependente dinspre si inspre obiectele acce-

sibile utilizatorului

ALL_ERROR Erorile curente pe obiectele stocate la care

utilizatorul este permis sa creeze

(pag. 13-13)

ALL_INDEXES Descrierea indecsilor pe tabelele accesibile

utilizatorului

ALL_IND_COLUMNS Coloanele cuprinzand indecsi pe tabele acce-

sibile

ALL_OBJECTS Obiectele accesibile utilizatorului

ALL_SEQUENCES Descrierea SEQUENCE-urilor accesibile utili-

zatorului

ALL_SNAPSHOTS Instantanee la care poate privi utilizatorul

ALL_SOURCE Sursa curenta a obiectelor create pe care u-

tilizatorul are permisiunea sa le creeze

ALL_SYNONYMS Toate sinonimele accesibile utilizatorului

ALL_TABLES Descrierea tabelelor accesibile utilizatoru-

lui

ALL_TAB_COLUMNS Coloanele tuturor tabelelor, vederilor si

clusterelor

ALL_TAB_COMMENTS Comentarii pe tabele si vederi accesibile u-

tilizatorului

ALL_TAB_PRIVS Permisiuni pe obiecte pentru care utilizato-

rul e "grantor", "grantee" sau proprietar,

sau un rol posibil sau PUBLIC garantie

ALL_TAB_PRIVS_MADE Permisiunile utilizatorilor si permisiuni pe

obiectele utilizatorilor

ALL_TAB_PRIVS_RECD Permisiuni pe obiecte pentru care utilizato-

rul, PUBLIC sau un rol posibil este "gran-

tee"

ALL_TRIGGERS TRIGGER-uri accesibile utilizatorului curent

ALL_TRIGGER_COLS Utilizarea coloanelor in trigger-ul utiliza-

torilor sau in trigger-uri pe tabelele uti-

lizatorilor

ALL_USERS Informatii despre toti utilizatorii bazei de

date

ALL_VIEWS Textul vederilor accesibile utilizatorilor

AUDIT_ACTIONS Tabela de descriere pentru actiunea de urma-

rire a reviziei tipului de coduri

CAT Sinonim cu USER_CATALOG

CLU Sinonim cu USER_CLUSTERS

COLS Sinonim cu USER_TAB_COLUMNS

COLUMN_PRIVILEGES Permisiuni pe coloane pentru care utilizato-

rul e "grantor", "grantee", proprietar, sau

un rol posibil sau PUBLIC este "grantee"

DICT Sinonim cu DICTIONARY

DICTIONARY Descrierea tabelelor si vederilor Dictiona-

rului de Date

GLOBAL_NAME Numele bazei de date globale

IND Sinonim pentru USER_INDEXES

INDEX_HISTOGRAM Statistica pe chei cu numarare repetata

INDEX_STATS Statistica pe arbori-B

OBJ Sinonim pentru USER_OBJECTS

RESOURCE_COSTS Costul fiecarei resurse

ROLE_ROLE_PRIVS Roluri permise rolurile

ROLE_SYS_PRIVS Privilegiile sistem permise rolurilor

ROLE_TAB_PRIVS Privilegii de tabela permise rolurilor

SEQ Sinonim pentru USER_SEQUENCES

SESSION_PRIVS Privilegii pe care utilizatorul le-a setat

in mod curent

SESSION_ROLES Roluri pe care utilizatorul le-a facut posi-

bile in mod curent

SYN Sinonim pentru USER_SYNONYMS

TABLE_PRIVILEGES Alocatii pe obiecte pe care utilizatorul

este "grantor", "grantee", posesor, sau un

rol facut posibil, sau PUBLIC este "gran-

tee-ul"

TABS Sinonim pentru USER_TABLES

USER_AUDIT_OBJECTS Inregistrarea urmelor examinate pentru de-

claratii referitoare la obiecte, si anume:

tabel, cluster, vedere, index, secventa,

legatura bazei de date apublicai, sinonim

apublici, procedura, trigger, segment roll-

back, spatiu de tabela, rol, utilizator

USER_AUDIT_SESSION

USER_AUDIT_STATEMENT Inregistrarea urmelor examinate referitoare

la alocatie, anulare, examinare, neexamina-

re si sistem modificat

USER_AUDIT_TRAIL Intrari ale urmelor revizuite, relevante u-

tilizatorului

USER_CATALOG Tabele, vederi, sinonime si secvente poseda-

te de utilizator

USER_CLUSTERS Descrieri ale clusterelor utilizatorului

USER_CLU_COLUMNS Maparea coloanelor tabelei pentru a aduna

impreuna coloanele

TABLENAMECOMMENTS

USER_COL_COMMENTS Comentarii despre coloanele tabelelor si ve-

derile utilizatorului

USER_COL_PRIVS Permisiuni pe coloanele pentru care utiliza-

torul este posesorul, "grantor" sau "gran-

tee"

USER_COL_PRIVS_MADE Toate permisiunile pe coloanele obiectelor

posedate de utilizator

USER_COL_PRIVS_RECD Permisiuni pe coloane pentru care utilizato-

rul este "grantee"

USER_CONSTRAINTS Definitiile constrangerilor pe tabelele uti-

lizatorului

USER_CONS_COLUMNS Informatii despre coloanele accesibile in

definitiile constrangerilor

USER_DB_LINKS Legaturile bazei de date posedate de utili-

zator

USER_DEPENDENCIES Dependente dinspre si inspre obiectele uti-

lizatorilor

USER_ERRORS Erori curente pe obiecte stocate, posedate

de utilizator

USER_EXTENTS Extensii cuprinzand segmente ale utilizato-

rului

USER_FREE_SPACE Extensii libere in spatiul tabelelor accesi-

bile utilizatorului

USER_INDEXES Descrierea indecsilor utilizatorului

USER_IND_COLUMNS Coloanele cuprinzand indecsi ai utilizatoru-

lui sau pe tabele ale utilizatorului

USER_OBJECTS Obiecte posedate de utilizator

USER_OBJECT_SIZE Dimensiuni, in octeti, a diferitelor obiecte

pl/sql

USER_OBJ_AUDIT_OPTS Optiuni de revizuire pentru tabelele si vede-

rile utilizatorului

USER_RESOURCE_LIMITS Afiseaza limita resurselor utilizatorului

USER_ROLE_PRIVS Roluri permise utilizatorului curent

USER_SEGMENTS Spatiu de stocare alocat pentru segmentele

bazei de date

USER_SEQUENCES Descrierea SEQUENCE-lor utilizatorului

USER_SNAPSHOTS Instantanee pe care utilizatorul le poate ve-

dea

USER_SNAPSHOTS_LOGS Toate jurnalele instantanee posedate de uti-

lizator

USER_SOURCE Sursa obiectelor stocate accesibile utiliza-

torului

USER_SYNONYMS Sinonimele private ale utilizatorului

USER_SYS_PRIVS Privilegii de sistem permise utilizatorului

curent

USER_TABLES Descrierea tabelelor utilizatorului

USER_TABLESPACES Descrierea spatiilor tabelelor accesibile

USER_TAB_COLUMNS Coloane ale tabelelor, vederilor si clustere-

lor utilizatorului

USER_TAB_COMMENTS Comentarii despre tabelele si vederile pose-

date de utilizator

USER_TAB_PRIVS Permisiuni pe obiecte pentru care utilizato-

rul este posesorul, "grantor-ul", sau "gran-

tee-ul"

USER_TAB_PRIVS_MADE Toate permisiunile pe obiecte posedate de u-

tilizator

USER_TAB_PRIVS_RECD Permisiuni pe obiecte pentru care utilizato-

rul este "grantee-ul"

USER_TRIGGERS Tigger-uri posedate de utilizator

USER_TRIGGER_COLS Folosirea coloanei in trigger-ul utilizatoru-

lui

USER_TS_QUOTAS Cota spatiului de tabela pentru utilizator

USER_USERS Informatii despre utilizatorul curent

USER_VIEWS Text de vederi posedat de utilizator

Cateva vederi folositoare

Urmatoarele vederi sunt probabile de a fi de interes pentru majoritatea

utilizatorilor:

Nume vedere Sinonim Descriere

----------- ------- ----------

DICTIONARY Dict Lista tuturor obiectelor bazei de date

USER_OBJECTS Obj Obiectele posedate de utilizator

USER_CATALOG Cat Tabele, vederi, sinonime, secvente accesi-

bile utilizatorului

USER_TABLES Tabs Descrierea tabelelor utilizatorului

USER_TAB_COLUMNS Cols Coloanele din tabelele si vederile utili-

zatorului

USER_COL_COMMENTS Comentarii pe coloanele tabelelor si vede-

rilor utilizatorului

USER_TAB_COMMENTS Comenzi pe tabele si vederi posedate de u-

tilizator

USER_SEQUENCES Seq Descrierea secventelor posedate de utili-

zator

USER_SYNONYM Syn Sinonimul privat al utilizatorului

USER_VIEWS Textul vederilor posedate de utilizator

USER_INDEXES Ind Descrierea indecsilor proprii utilizatoru-

lui

ALL_OBJECTS Obiectele accesibile utilizatoruluI

ALL_TAB_COLUMNS Coloanele pentru toate tabelele si vederi-

le accesibile utilizatorului

Daca nu stiti definitia unei tabele sau vederi a Dictionarului de Date, sau

daca nu va puteti aminti numele unei coloane intr-o tabela/vedere specifica,

atunci folositi comanda DESCaRIBEi pentru a afisa definitia tabelei/vederii.

Pentru a vedea structura lui USER_OBJECTS, introduceti:

SQL>desc user_objects

O descriere a vederii DICTIONARY urmeaza:

SQL>desc dict

Notati ca sinonimul abreviat DICT poate fi folosit cu referire la DICTIONARY.

Odata ce stiti structura unei tabele/vederi, puteti selecta informatia dori-

ta:

SELECT OBJECT_NAME, OBJECT_TYPE, CREATED

FROM USER_OBJECTS

WHERE OBJECT_NAME = 'EMP'

Folosirea lui SQL pentru a genera SQL

SQL poate fi o unealta puternica pentru a genera alte declaratii SQL,

facand folosirea informatiei in Dictionarul de Date. Puteti folosi SQL din

SQL pentru:

a evita cod repetitiv

a primi ajutor de la Dictionarul de Date

a recrea tabele, vederi, index-uri

a genera predicate "dinamice", continand parametri din timpul exe-

cutiei

Amintiti-va, virtual puteti selecta orice.

De exemplu, pentru a genera declaratii SQL*PLUS pentru a descrie toate

tabelele voastre, folositi urmatorul SQL:

SELECT 'DESC '||OBJECT_NAME

FROM USER_OBJECTS

WHERE OBJECT_TYPE = 'TABLE'

/

OR

SELECT 'DESC '||TABLE_NAME

FROM USER_TABLES;

Exemplele de mai sus genereaza urmatoarea iesire:

DESC DEPT

DESC EMP

DESC SALGRADE

Pentru a executa declaratiile de mai sus, este necesara capturarea lor

intr-un fisier care poate fi pornit.

SET ECHO OFF

SET PAGES 0

SET FEEEDBACK OFF

SPOOL X

SELECT 'DESC '||TABLE_NAME

FROM USER_TABLES

/

SPOOL OFF

START X.LIS

In exemplul de mai susm PAGEaSIZEi este pus pe 0, pentru a elimina titlurile

din varf si de jos, ca si cele de tabel. Notati deasemenea ca extensia LIS

este specificata pe comanda START, deoarece START isi asuma o extensie a SQL.

Exemple mai sofisticate ale acestei tehnici sunt detailate in Apendicele G,

unde cererile din Dictionarul de Date sunt folosite pentru a produce comenzi

DML si DDL si iesire.

CAPITOLUL 13 Exercitii - Managementul de tabela si Dictionarul de Date

Atelier

Adaugati o coloana LONG numita COMMENTS , PROJECT TABLE-ului dumneavoas-

tra. Deasemenea, adaugati o coloana NUMBER, numita HOURS, tabelului

ASSIGNMENTS.

Folositi vizualizarea dictionarului USER_OBJECTS pentru a lista obiectele

posedate de contul dumneavoastra ORACLE. Cate obiecte posedati?

Acum definiti o constrangere pe tabela ASSIGNMENTS pentru a asigura combi-

natii unice de Project ID si numar de angajat.

Cereti vederea USER_OBJECTS; posedati acum vreun obiect viitor?

Priviti in Dictionarul de Date pentru informatii despre constrangeri pe

tabelele voastre (puteti folosi vederea USER_CONSTRAINTS).

Daca aveti timp :

Folositi vizualizarea dictionarului ALL_TABLES pentru a gasi posesorii si

numele tabelelor la care puteti avea acces, unde numele tabelei include

caracterele "EMP".

CAPITOLUL 13 Solutii

ALTER TABLE PROJECTS

ADD (COMMENTS LONG)

ALTER TABLE ASSIGNMENTS

ADD (HOURS NUMBER)

SELECT OBJECT_NAME, OBJECT_TYPE

FROM USER_OBJECTS

ALTER TABLE ASSIGNMENTS

ADD CONSTRAINT UNQ_KEY UNIQUE (PROJID,EMPNO)

Ati fi putut alternativ sa adaugati o cheie primara, pana cele doua coloane

nu permit null-uri. In fiecare caz, un index unic a fost adaugat listei

voastre de obiecte posedate.

O cerere posibila este:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME

SEARCH_CONDITION

FROM USER_CONSTRAINTS

Probabil veti vrea sa folositi comenzile COLUMN pentru a formata rezulta-

tele!

SELECT OWNER, TABLE_NAME

FROM ALL_TABLES

WHERE TABLE_NAME LIKE '%EMP%'


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta