Está en la página 1de 21

Ampliación de Bases de Datos

ORACLE 10g
DDL
Oracle 10g

Application Server

Oracle server

IPC or network connections

Traditional Client
User Schema
Tables
Indexes
Views
Sequences
Functions
Procedures
Packages
Triggers
….

propietario

schema
Tablespaces & Data Files

 Oracle almacena la información de forma


lógica en Tablespaces y físicamente en
Data Files. Database
Tablespace
 Tablespaces:
 Sólo pertenecen a una BD.
 Consiste en uno más Data Files. Data files

 Se dividen en otras unidades lógicas de


almacenamiento.
 Puede almacenar datos de varios Schemma
 Data Files:
 Sólo pertencen a una BD y a un Tablespace.
 Almacenan los datos del esquema.
Estructuras de Almacenamiento

Database

Tablespace OS file

Segment

Extent

Oracle data OS
block block
Almacenamiento Lógico y Físico

block

Database

Tablespace
Datafile
Datafile-1 Datafile-2


Segment1
Segment S..
Segment ..egment2
Extent
Extent
Extent

Extent
Almacenamiento de datos de una tabla
Columns Blocks

Table A Table B

Rows

Segment Segment
Table
Tablespace

Row piece Extent


Segments, Extents & Data Blocks
Contenido de un bloque

Block header

Free space

Row data
Contenido de una fila de tabla

Row header
Database Column length
Column value
block
Tablas en Oracle

Regular Partitioned
table table

Index-organized Temporary
table table
Tipos de Datos

Data type

User-defined Built-in

Scalar Collection Relationship

CHAR(N), NCHAR(N) VARRAY REF


VARCHAR2(N),
NVARCHAR2(N) TABLE
NUMBER(P,S)
DATE
RAW(N)
BLOB, CLOB,
NCLOB, BFILE
LONG, LONG RAW
ROWID
Creación de Tablas
CREATE TABLE [esquema.] tabla
( atrib1 tipo1 [DEFAULT definicion] [NOT NULL],
[,atrib2 tipo2 [DEFAULT definicion] [NOT NULL]]...,

[CONSTRAINT nombre_restr UNIQUE|PRIMARY KEY (atrib1[,atrib2]...)],

[CONSTRAINT nombre_restr FOREIGN KEY (atrib1 [,atrib2]...)


REFERENCES [esquema.]tabla(atrib1[,atrib2]...)
[ON DELETE SET NULL|CASCADE]],

[CONSTRAINT nombre_restr CHECK condicion]

[AS consulta])
CREATE TYPE tipo1 AS OBJECT ( nombre varchar2(40),
domicilio varchar2(50));
CHECK (EMPNO BETWEEN 10 and 100)
CREATE
CHECKTABLE EMPLEADO
(LOC IN (‘ATENAS’,( ‘LONDON’,
empno
‘MADRID’)) varchar2(10),
identificación
CHECK ((LOC <> ‘ATENAS’) OR (DEPTNO = 20)) tipo1);
Creación de Tablas
CREATE TABLE DEPT(
DEPTNO NUMBER(4),
DNAME VARCHAR2(14),
LOC VARCHAR2(13),
PRIMARY KEY (DEPTNO) );

CREATE TABLE DEPT(


DEPTNO NUMBER(4) CONSTRAINT rest1 PRIMARY KEY,
DNAME VARCHAR2(14),
LOC VARCHAR2(13) );
Creación de tablas
CREATE TABLE EMP (
EMPNO NUMBER(4) NOT NULL ,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL DECIMAL(7,2),
COMM DECIMAL(7,2),
DEPTNO NUMBER(4),
PRIMARY KEY (EMPNO),
FOREIGN KEY (DEPTNO) REFERENCES DEPT);

DEPTNO CONSTRAINT rest2 REFERENCES dept(deptno)


Modificación de tablas
ALTER TABLE [esquema.]tabla

[ADD ( atrib1 tipo1 [DEFAULT definicion] [NOT NULL],


[,atrib2 tipo2 [DEFAULT definicion] [NOT NULL]] ...)]

[MODIFY(atrib1 tipo1 [DEFAULT definicion] [NOT NULL],


[,atrib2 tipo2 [DEFAULT definicion] [NOT NULL]] ...)]

[ADD CONSTRAINT restricción de clave 1ª/única/foránea ]

[DROP PRIMARY KEY [CASCADE KEEP|DROPINDEX]]


[DROP UNIQUE (col1 [, col2, …]]

[DROP CONSTRAINT restricción [CASCADE]]

[DROP COLUMN columna [CASCADE CONSTRAINTS]]

CASCADE: Elimina la restricción y las restricciones foráneas


CASCADE
Si se omite ... CONSTRAINTS: Se si
No se elimina elimina la columna
cualquier y sus restricciones
clave foránea la referencia
Si se omite ... No se elimina si cualquier clave foránea la referencia
Borrado de tablas

DROP TABLE [esquema.]tabla [CASCADE CONSTRAINTS]

Se elimina la tabla y las restricciones donde se encuentra alguna de sus columnas

Si se omite ... la tabla no se borra si existen restricciones sobre sus columnas


Creación de índices

CREATE [UNIQUE] INDEX [esquema.]indice

ON [esquema.]tabla (atrib1 [ASC|DESC] [,atrib2 [ASC|DESC]]...)

PRIMARIO SECUNDARIO
Creación de índices
Creación de índices
 Un índice agiliza las comparaciones (=, >, <, ...) sobre el
atributo(s)
 PERO... Inserciones, modificaciones y borrados son más
costosas

Borrado de índices

DROP INDEX [esquema.]indice


Sinónimos

CREATE [PUBLIC] SYNONYM [esquema.]sinonimo

FOR [esquema.]tabla

Permiten crear nombres alternativos de vistas y tablas


Para:
omitir el creador de la tabla
omitir la ubicación
darle otro nombre
....