SlideShare a Scribd company logo
1 of 14
22/07/04 Ing. Ronchi Sergio 1
SQL (Structured Query language)
SELECT Data retrieving
INSERT
UPDATE
DELETE
MERGE
DML
Data manipulation Language
CREATE
ALTER
DROP
RENAME
TRUNCATE
DDL
Data Definition Language
COMMIT
ROLLBACK
SAVEPOINT
Gestione delle transazioni
GRANT
REVOKE
DCL
Data Control Language
22/07/04 Ing. Ronchi Sergio 2
Oggetti di un DB Oracle
Tabelle: Strutture base per memorizzare i dati
Viste: Estrapolazione logica dei dati delle tabelle
Sequenze: Generatori di sequenze numeriche
Indici: Elementi utili ad aumentare la performance delle query
Sinonimi: nomi alternativi per gli oggetti
I nomi degli oggetti devono iniziare con una lettera e al massimo possono essere lunghi 30
caratteri: alcuni nomi sono riservati a oggetti di sistema Oracle o sono parole chiave. I nomi
devono essere il più possibile descrittivi del contenuto.
Oracle 9i è case insensitive (alcuni database come MySQL invece sono case sensitive)
Per usare le istruzioni CREATE bisogna avere l’autorizzazione, assegnata dal DBA tramite
istruzioni DCL, di creazione in una certa storage area. Le tabelle di un certo utente finiscono in
un dato schema del database. Ogni utente ha un suo schema le tabelle appartenenti ad uno
schema non proprio vanno precedute con il nome dello schema:
SCOTT.EMP è la tabella EMP dello schema SCOTT
22/07/04 Ing. Ronchi Sergio 3
Creazione di una tabella
CREATE TABLE dept
( deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13)
);
Una volta creata la tabella è possibile vedere il risultato dell’operazione con
DESCRIBE dept
22/07/04 Ing. Ronchi Sergio 4
TIPI DI DATI ORACLE
NUMERI
•NUMBER Numeri reali Corrispondente a tipi standard DOUBLE, FLOAT
•NUMBER(38) Numeri interi, corrisponde ai tipi standard INTEGER, SMALLINT
•NUMBER(p,s) Numeri decimali di precisione p (da 1 a 38) e scala s (da –84 a +127)
corrisponde al tipo standard DECIMAL
la scala negativa consente degli arrotondamenti ad esempio
7456123,89 come NUMBER(9,-2) viene memorizzato 7456100
22/07/04 Ing. Ronchi Sergio 5
TIPI DI DATI
DATA E ORA
• DATE data: formato standard YYYY-MM-DD
• TIMESTAMP(p) assume la data e l'ora dell'ultima operazione fatta sulla riga
p (da 1 a 9 di default 6) è la precisione come frazione di secondo
tale tipo può avere le seguenti due specifiche
WITH TIME ZONE
WITH LOCAL TIME ZONE
• INTERVAL (yp) YEAR TO MONTH periodo di tempo in anni e mesi.
• INTERVAL (dp) DAY TO SECOND(sp) periodo di tempo in giorni, ore, min, sec.
•
22/07/04 Ing. Ronchi Sergio 6
TIPI DI DATI
STRINGHE
•CHAR stringa di dimensione fissa 1 carattere
•CHAR(size) stringa di dimensione fissa (max 2000 bytes)
•NCHAR(size) stringa di dimensione fissa (max 2000 bytes)
•VARCHAR2(size) stringa di dimensione variabile (max 4000 bytes)
•NVARCHAR2(size) stringa di dimensione variabile (max 4000 bytes) usando come
base la codifica nazionale dei caratteri (Unicode)
CHAR e VARCHAR possono avere la specifica BYTE o CHAR
STRINGHE DI GRANDI DIMENSIONI
•LONG campo di testo al massimo di 2 Gbytes
•CLOB campo di testo al massimo di 4 Gbytes
•NCLOB campo di testo al massimo di 4 Gbytes Caratteri Nazionali
22/07/04 Ing. Ronchi Sergio 7
TIPI DI DATI
ALTRI TIPI DI DATI
•RAW(size) campo binario puro al massimo di 2000 bytes
•LONG RAW campo binario puro al massimo di 2 GBytes
•BLOB campo binario di 4 GByte
•BFILE file binario di 4GByte
•ROWID stringa che rappresenta l’indirizzo di una riga in una tabella in
base 64
•UROWID indirizzo logico di una riga di una tabella in base a un indice
22/07/04 Ing. Ronchi Sergio 8
Constraint (Unique key – Primary key- NOT NULL)
CREATE TABLE promotions_var2
( promo_id NUMBER(6), promo_name VARCHAR2(20), promo_category
VARCHAR2(15),
promo_cost NUMBER(10,2), promo_begin_date DATE, promo_end_date
DATE,
CONSTRAINT promo_id_u UNIQUE (promo_id));
CREATE TABLE locations_demo
( location_id NUMBER(4), street_address VARCHAR2(40),
postal_code VARCHAR2(12),
city VARCHAR2(30), state_province VARCHAR2(25), country_id
CHAR(2) NOT NULL,
CONSTRAINT loc_id_pk PRIMARY KEY (location_id));
CREATE TABLE sales
( prod_id NUMBER(6,0), cust_id NUMBER, time_id DATE,
Channel_id CHAR, promo_id NUMBER(6,0), quantity_sold
NUMBER(3,0),
22/07/04 Ing. Ronchi Sergio 9
Constraint (Foreign key)
CREATE TABLE dept_20
(employee_id NUMBER(4) PRIMARY KEY, last_name VARCHAR2(10),
job_id VARCHAR2(9), manager_id NUMBER(4),
hire_date DATE, salary NUMBER(7,2), commission_pct
NUMBER(7,2),
department_id NUMBER(6),
CONSTRAINT fk_deptno FOREIGN KEY (department_id)
REFERENCES departments(department_id) ON DELETE CASCADE,
CONSTRAINT fk_mgr FOREIGN KEY (manager_id )
REFERENCES employees(manager_id ) ON DELETE SET NULL
);
Non precisando ON DELETE la Delete Rule sarà Restict cioè non
sarà possibile eliminare un record padre se non avendo
eliminato prima tutti i record figli.
22/07/04 Ing. Ronchi Sergio 10
Constraint check
CREATE TABLE divisions
(div_no NUMBER CONSTRAINT check_divno
CHECK (div_no BETWEEN 10 AND 99),
div_name VARCHAR2(9) CONSTRAINT check_divname
CHECK (div_name = UPPER(div_name)),
office VARCHAR2(10) CONSTRAINT check_office CHECK (office IN
(’DALLAS’,’BOSTON’, ’PARIS’,’TOKYO’)));
CREATE TABLE dept_20
(employee_id NUMBER(4) PRIMARY KEY, last_name VARCHAR2(10),
job_id VARCHAR2(9), manager_id NUMBER(4), salary NUMBER(7,2),
commission_pct NUMBER(7,2), department_id NUMBER(2),
CONSTRAINT check_sal CHECK (salary * commission_pct <= 5000));
SELECT * FROM USER_CONSTRAINTS;
22/07/04 Ing. Ronchi Sergio 11
Creazione di una tabella tramite una query
CREATE TABLE dept_80
AS
SELECT emp_id, emp_name, salary, hire_date
FROM employees
WHERE departmet_id=80;
In questo caso viene creata una nuova tabella in base alla query, conservando i nomi
e i tipi di dati.
22/07/04 Ing. Ronchi Sergio 12
DDL (data definition language)
Eliminazione e rinomina di tabelle:
DROP TABLE PRODOTTI;
DROP TABLE PRODOTTI CASCADE CONSTRAINTS;
RENAME dept TO detail_dept;
modifica
ALTER TABLE CLIENTI ADD (INDIRIZZO VARCHAR2(50));
ALTER TABLE CLIENTI DROP COLUMN DESCRIZIONE;
ALTER TABLE CLIENTI SET UNUSED (TELEFAX);
ALTER TABLE CLIENTI DROP UNUSED COLUMNS;
ALTER TABLE CLIENTI MODIFY (NOME VARCHAR(50));
Aggiunta vincoli:
ALTER TABLE CLIENTI ADD CONSTRAINT
pk PRIMARY KEY(client_ID)
Troncamento: eliminazione di tutte le righe con impaccamento dello
spazio disco
TRUNCATE TABLE detail_dept;
Commentare una tabella o un campo
COMMENT ON TABLE Employee IS ‘Informazioni Impiegati’;
22/07/04 Ing. Ronchi Sergio 13
DDL (data definition language)
Modifica vincoli:
ALTER TABLE CLIENTI ADD CONSTRAINT
pk PRIMARY KEY(client_ID)
ALTER TABLE CLIENTI DROP CONSTRAINT unic_key;
ALTER TABLE CLIENTI DROP CONSTRAINT PK CASCADE;
(CASCADE permette l’eliminazione di tutti i vincoli collegati)
ALTER TABLE CLIENTI DISABLE CONSTRAINT PK
CASCADE;
ALTER TABLE CLIENTI ENABLE CONSTRAINT PK
CASCADE;
22/07/04 Ing. Ronchi Sergio 14
Visualizzare le tabelle e i vincoli creati
In Oracle esistono delle viste dette “Data Dictionary” che contengono
informazioni sugli oggetti del database:
USER_TABLES
USER_CONSTRAINTS
USER_TAB_COMMENTS
USER_COL_COMMENTS
……
Su queste viste è possibile eseguire delle query di SELECT per vederne il
contenuto informativo

More Related Content

Viewers also liked (16)

Oracle PL sql 2
Oracle PL sql 2Oracle PL sql 2
Oracle PL sql 2
 
Java lezione 9
Java lezione 9Java lezione 9
Java lezione 9
 
Java lezione 2
Java lezione 2Java lezione 2
Java lezione 2
 
Java lezione 8
Java lezione 8Java lezione 8
Java lezione 8
 
Sql 3
Sql 3Sql 3
Sql 3
 
Sql 4
Sql 4Sql 4
Sql 4
 
Oracle 3 (sq lnet)
Oracle 3 (sq lnet)Oracle 3 (sq lnet)
Oracle 3 (sq lnet)
 
Java lezione 11
Java lezione 11Java lezione 11
Java lezione 11
 
Java lezione 14
Java lezione 14Java lezione 14
Java lezione 14
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Oracle 2 (sqlplus)
Oracle 2 (sqlplus)Oracle 2 (sqlplus)
Oracle 2 (sqlplus)
 
Java lezione 15
Java lezione 15Java lezione 15
Java lezione 15
 
MySQL
MySQLMySQL
MySQL
 
Java lezione 19
Java lezione 19Java lezione 19
Java lezione 19
 
Oracle PL sql 3
Oracle PL sql 3Oracle PL sql 3
Oracle PL sql 3
 
Java lezione 10
Java lezione 10Java lezione 10
Java lezione 10
 

Similar to Sql 1

IBM i db2 udb vs Microsoft SQL Server
IBM i db2 udb vs Microsoft SQL ServerIBM i db2 udb vs Microsoft SQL Server
IBM i db2 udb vs Microsoft SQL ServerRiccardo De Mattia
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]Andrea Maddalena
 
Assembly and Reverse Engineering
Assembly and Reverse EngineeringAssembly and Reverse Engineering
Assembly and Reverse Engineeringluigi capuzzello
 
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...laboratoridalbasso
 
corso oracle plsql.ppt
corso oracle plsql.pptcorso oracle plsql.ppt
corso oracle plsql.pptssuserf7962d
 
Creare tabelle sul database MySql
Creare tabelle sul database MySqlCreare tabelle sul database MySql
Creare tabelle sul database MySqlNicola Iantomasi
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)STELITANO
 
What is new in C# 2018
What is new in C# 2018What is new in C# 2018
What is new in C# 2018Marco Parenzan
 
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
 
XE - Azure in the real world
XE - Azure in the real worldXE - Azure in the real world
XE - Azure in the real worldAlessio Biasiutti
 
RDBMS: pregi e difetti
RDBMS: pregi e difettiRDBMS: pregi e difetti
RDBMS: pregi e difettiGianluca Hotz
 

Similar to Sql 1 (20)

primi comandi SQL con Mysql
primi comandi SQL con Mysqlprimi comandi SQL con Mysql
primi comandi SQL con Mysql
 
Basi Di Dati 03
Basi Di Dati 03Basi Di Dati 03
Basi Di Dati 03
 
C3 Ddl1
C3 Ddl1C3 Ddl1
C3 Ddl1
 
IBM i db2 udb vs Microsoft SQL Server
IBM i db2 udb vs Microsoft SQL ServerIBM i db2 udb vs Microsoft SQL Server
IBM i db2 udb vs Microsoft SQL Server
 
Sql ddl
Sql ddlSql ddl
Sql ddl
 
Basi Di Dati 05
Basi Di Dati 05Basi Di Dati 05
Basi Di Dati 05
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]
 
Assembly and Reverse Engineering
Assembly and Reverse EngineeringAssembly and Reverse Engineering
Assembly and Reverse Engineering
 
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...
Ldb 25 strumenti gis e webgis_2014-05-15 gullotta - 4 tabelle attributi e lor...
 
corso oracle plsql.ppt
corso oracle plsql.pptcorso oracle plsql.ppt
corso oracle plsql.ppt
 
Creare tabelle sul database MySql
Creare tabelle sul database MySqlCreare tabelle sul database MySql
Creare tabelle sul database MySql
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)
 
What is new in C# 2018
What is new in C# 2018What is new in C# 2018
What is new in C# 2018
 
Database
DatabaseDatabase
Database
 
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...
 
Corso Oracle
Corso OracleCorso Oracle
Corso Oracle
 
XE - Azure in the real world
XE - Azure in the real worldXE - Azure in the real world
XE - Azure in the real world
 
RDBMS: pregi e difetti
RDBMS: pregi e difettiRDBMS: pregi e difetti
RDBMS: pregi e difetti
 
Sql stored procedures
Sql stored proceduresSql stored procedures
Sql stored procedures
 

More from Sergio Ronchi (14)

Java lezione 18
Java lezione 18Java lezione 18
Java lezione 18
 
Java lezione 17
Java lezione 17Java lezione 17
Java lezione 17
 
Java lezione 16
Java lezione 16Java lezione 16
Java lezione 16
 
Java lezione 12
Java lezione 12Java lezione 12
Java lezione 12
 
Java lezione 7
Java lezione 7Java lezione 7
Java lezione 7
 
Java lezione 6
Java lezione 6Java lezione 6
Java lezione 6
 
Java lezione 5
Java lezione 5Java lezione 5
Java lezione 5
 
Java lezione 4
Java lezione 4Java lezione 4
Java lezione 4
 
Java lezione 3
Java lezione 3Java lezione 3
Java lezione 3
 
Java introduzione
Java introduzioneJava introduzione
Java introduzione
 
Oracle PLSql 4
Oracle PLSql 4Oracle PLSql 4
Oracle PLSql 4
 
Oracle PL sql 1
Oracle PL sql 1Oracle PL sql 1
Oracle PL sql 1
 
Oracle 1
Oracle 1Oracle 1
Oracle 1
 
Sql 5
Sql 5Sql 5
Sql 5
 

Sql 1

  • 1. 22/07/04 Ing. Ronchi Sergio 1 SQL (Structured Query language) SELECT Data retrieving INSERT UPDATE DELETE MERGE DML Data manipulation Language CREATE ALTER DROP RENAME TRUNCATE DDL Data Definition Language COMMIT ROLLBACK SAVEPOINT Gestione delle transazioni GRANT REVOKE DCL Data Control Language
  • 2. 22/07/04 Ing. Ronchi Sergio 2 Oggetti di un DB Oracle Tabelle: Strutture base per memorizzare i dati Viste: Estrapolazione logica dei dati delle tabelle Sequenze: Generatori di sequenze numeriche Indici: Elementi utili ad aumentare la performance delle query Sinonimi: nomi alternativi per gli oggetti I nomi degli oggetti devono iniziare con una lettera e al massimo possono essere lunghi 30 caratteri: alcuni nomi sono riservati a oggetti di sistema Oracle o sono parole chiave. I nomi devono essere il più possibile descrittivi del contenuto. Oracle 9i è case insensitive (alcuni database come MySQL invece sono case sensitive) Per usare le istruzioni CREATE bisogna avere l’autorizzazione, assegnata dal DBA tramite istruzioni DCL, di creazione in una certa storage area. Le tabelle di un certo utente finiscono in un dato schema del database. Ogni utente ha un suo schema le tabelle appartenenti ad uno schema non proprio vanno precedute con il nome dello schema: SCOTT.EMP è la tabella EMP dello schema SCOTT
  • 3. 22/07/04 Ing. Ronchi Sergio 3 Creazione di una tabella CREATE TABLE dept ( deptno NUMBER(2), dname VARCHAR2(14), loc VARCHAR2(13) ); Una volta creata la tabella è possibile vedere il risultato dell’operazione con DESCRIBE dept
  • 4. 22/07/04 Ing. Ronchi Sergio 4 TIPI DI DATI ORACLE NUMERI •NUMBER Numeri reali Corrispondente a tipi standard DOUBLE, FLOAT •NUMBER(38) Numeri interi, corrisponde ai tipi standard INTEGER, SMALLINT •NUMBER(p,s) Numeri decimali di precisione p (da 1 a 38) e scala s (da –84 a +127) corrisponde al tipo standard DECIMAL la scala negativa consente degli arrotondamenti ad esempio 7456123,89 come NUMBER(9,-2) viene memorizzato 7456100
  • 5. 22/07/04 Ing. Ronchi Sergio 5 TIPI DI DATI DATA E ORA • DATE data: formato standard YYYY-MM-DD • TIMESTAMP(p) assume la data e l'ora dell'ultima operazione fatta sulla riga p (da 1 a 9 di default 6) è la precisione come frazione di secondo tale tipo può avere le seguenti due specifiche WITH TIME ZONE WITH LOCAL TIME ZONE • INTERVAL (yp) YEAR TO MONTH periodo di tempo in anni e mesi. • INTERVAL (dp) DAY TO SECOND(sp) periodo di tempo in giorni, ore, min, sec. •
  • 6. 22/07/04 Ing. Ronchi Sergio 6 TIPI DI DATI STRINGHE •CHAR stringa di dimensione fissa 1 carattere •CHAR(size) stringa di dimensione fissa (max 2000 bytes) •NCHAR(size) stringa di dimensione fissa (max 2000 bytes) •VARCHAR2(size) stringa di dimensione variabile (max 4000 bytes) •NVARCHAR2(size) stringa di dimensione variabile (max 4000 bytes) usando come base la codifica nazionale dei caratteri (Unicode) CHAR e VARCHAR possono avere la specifica BYTE o CHAR STRINGHE DI GRANDI DIMENSIONI •LONG campo di testo al massimo di 2 Gbytes •CLOB campo di testo al massimo di 4 Gbytes •NCLOB campo di testo al massimo di 4 Gbytes Caratteri Nazionali
  • 7. 22/07/04 Ing. Ronchi Sergio 7 TIPI DI DATI ALTRI TIPI DI DATI •RAW(size) campo binario puro al massimo di 2000 bytes •LONG RAW campo binario puro al massimo di 2 GBytes •BLOB campo binario di 4 GByte •BFILE file binario di 4GByte •ROWID stringa che rappresenta l’indirizzo di una riga in una tabella in base 64 •UROWID indirizzo logico di una riga di una tabella in base a un indice
  • 8. 22/07/04 Ing. Ronchi Sergio 8 Constraint (Unique key – Primary key- NOT NULL) CREATE TABLE promotions_var2 ( promo_id NUMBER(6), promo_name VARCHAR2(20), promo_category VARCHAR2(15), promo_cost NUMBER(10,2), promo_begin_date DATE, promo_end_date DATE, CONSTRAINT promo_id_u UNIQUE (promo_id)); CREATE TABLE locations_demo ( location_id NUMBER(4), street_address VARCHAR2(40), postal_code VARCHAR2(12), city VARCHAR2(30), state_province VARCHAR2(25), country_id CHAR(2) NOT NULL, CONSTRAINT loc_id_pk PRIMARY KEY (location_id)); CREATE TABLE sales ( prod_id NUMBER(6,0), cust_id NUMBER, time_id DATE, Channel_id CHAR, promo_id NUMBER(6,0), quantity_sold NUMBER(3,0),
  • 9. 22/07/04 Ing. Ronchi Sergio 9 Constraint (Foreign key) CREATE TABLE dept_20 (employee_id NUMBER(4) PRIMARY KEY, last_name VARCHAR2(10), job_id VARCHAR2(9), manager_id NUMBER(4), hire_date DATE, salary NUMBER(7,2), commission_pct NUMBER(7,2), department_id NUMBER(6), CONSTRAINT fk_deptno FOREIGN KEY (department_id) REFERENCES departments(department_id) ON DELETE CASCADE, CONSTRAINT fk_mgr FOREIGN KEY (manager_id ) REFERENCES employees(manager_id ) ON DELETE SET NULL ); Non precisando ON DELETE la Delete Rule sarà Restict cioè non sarà possibile eliminare un record padre se non avendo eliminato prima tutti i record figli.
  • 10. 22/07/04 Ing. Ronchi Sergio 10 Constraint check CREATE TABLE divisions (div_no NUMBER CONSTRAINT check_divno CHECK (div_no BETWEEN 10 AND 99), div_name VARCHAR2(9) CONSTRAINT check_divname CHECK (div_name = UPPER(div_name)), office VARCHAR2(10) CONSTRAINT check_office CHECK (office IN (’DALLAS’,’BOSTON’, ’PARIS’,’TOKYO’))); CREATE TABLE dept_20 (employee_id NUMBER(4) PRIMARY KEY, last_name VARCHAR2(10), job_id VARCHAR2(9), manager_id NUMBER(4), salary NUMBER(7,2), commission_pct NUMBER(7,2), department_id NUMBER(2), CONSTRAINT check_sal CHECK (salary * commission_pct <= 5000)); SELECT * FROM USER_CONSTRAINTS;
  • 11. 22/07/04 Ing. Ronchi Sergio 11 Creazione di una tabella tramite una query CREATE TABLE dept_80 AS SELECT emp_id, emp_name, salary, hire_date FROM employees WHERE departmet_id=80; In questo caso viene creata una nuova tabella in base alla query, conservando i nomi e i tipi di dati.
  • 12. 22/07/04 Ing. Ronchi Sergio 12 DDL (data definition language) Eliminazione e rinomina di tabelle: DROP TABLE PRODOTTI; DROP TABLE PRODOTTI CASCADE CONSTRAINTS; RENAME dept TO detail_dept; modifica ALTER TABLE CLIENTI ADD (INDIRIZZO VARCHAR2(50)); ALTER TABLE CLIENTI DROP COLUMN DESCRIZIONE; ALTER TABLE CLIENTI SET UNUSED (TELEFAX); ALTER TABLE CLIENTI DROP UNUSED COLUMNS; ALTER TABLE CLIENTI MODIFY (NOME VARCHAR(50)); Aggiunta vincoli: ALTER TABLE CLIENTI ADD CONSTRAINT pk PRIMARY KEY(client_ID) Troncamento: eliminazione di tutte le righe con impaccamento dello spazio disco TRUNCATE TABLE detail_dept; Commentare una tabella o un campo COMMENT ON TABLE Employee IS ‘Informazioni Impiegati’;
  • 13. 22/07/04 Ing. Ronchi Sergio 13 DDL (data definition language) Modifica vincoli: ALTER TABLE CLIENTI ADD CONSTRAINT pk PRIMARY KEY(client_ID) ALTER TABLE CLIENTI DROP CONSTRAINT unic_key; ALTER TABLE CLIENTI DROP CONSTRAINT PK CASCADE; (CASCADE permette l’eliminazione di tutti i vincoli collegati) ALTER TABLE CLIENTI DISABLE CONSTRAINT PK CASCADE; ALTER TABLE CLIENTI ENABLE CONSTRAINT PK CASCADE;
  • 14. 22/07/04 Ing. Ronchi Sergio 14 Visualizzare le tabelle e i vincoli creati In Oracle esistono delle viste dette “Data Dictionary” che contengono informazioni sugli oggetti del database: USER_TABLES USER_CONSTRAINTS USER_TAB_COMMENTS USER_COL_COMMENTS …… Su queste viste è possibile eseguire delle query di SELECT per vederne il contenuto informativo