Curso Oracle Rápido I
Click here to load reader
-
Upload
cesar-augusto-rosales-feijoo -
Category
Documents
-
view
214 -
download
0
description
Transcript of Curso Oracle Rápido I
José Navero
Curso de Oracle
Curso Oracle Rápido
http://www.namocode.com
http://devthisblog.wordpress.com/
http://www.namocode.com
http://devthisblog.wordpress.
com/
2
Curso Oracle Rápido I – Comenzando Oracle.
Hace unos días, puse un pequeño índice sobre los temas que voy a tratar en el curso, así que
ahora que tengo un momento voy escribir lo que sería el primer capítulo.
Índice del capítulo.
Índice del capítulo. .................................................................................................................... 2
¿Qué es Oracle? ........................................................................................................................ 2
Comenzando, DDL .................................................................................................................... 2
Tipos de datos........................................................................................................................... 3
Creación de tablas .................................................................................................................... 3
Restricciones............................................................................................................................. 3
Anexo del capitulo .................................................................................................................... 5
¿Qué es Oracle?
Una definición Breve de Oracle, nos vendrá bien:
Según Wikipedia:
“Se considera a Oracle como uno de los sistemas de bases de datos más completos,
destacando:
- soporte de transacciones
- estabilidad
- escalabilidad
- Soporte multiplataforma.
Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco,
recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de
otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de
Oracle han sido certificadas para poder trabajar bajo GNU/Linux.”
Básica y brevemente, es un potente gestor de bases de datos.
Comenzando, DDL
Lenguaje de definición de Datos (Languaje Data Definition (DDL)) es un lenguaje que sirve para
gestionar la organización de la base de datos además de otros objetos como por ejemplo,
creación, modificación y borrado de las tablas, índices, disparadores, procedimientos
almacenados, etc.
http://www.namocode.com
http://devthisblog.wordpress.
com/
3
Tipos de datos
Hay multitud de tipos de datos que se pueden utilizar en DDL, a continuación expongo algunos
de los tipos que vamos a utilizar. Si se desea información adicional sobre todos los tipos de
datos existentes convendría consultar la documentación de la versión instalada de Oracle.
Números enteros, como pueden ser (integer o smallint) Cadenas: varchar (tamaño), char(tamaño) Números: Number(precisión, escala) ejemplo: number(3,2) podría almacenar 333,22. Si la escala es negativa, redondea hacia el 0 (por arriba o por abajo). Fecha: Date, esta variable almacena siglo/año/mes/dia/hora/min/seg. Estos son los principales tipos de datos con los que trabajaremos en este curso. Solamente
debemos recordar que hay multitud más.
Creación de tablas
Para crear una tabla utilizamos la sentencia Create table, la sentencia es la siguiente:
Create table [esquema.]tabla( Columna tipodato [Default][,…] …);
Donde:
Esquema: Es la estructura lógica que se refiere directamente a la base de datos. Tabla: Es la tabla que vamos a crear Columna: indica las columnas que contendrán la tabla Tipodato: es el tipo de dato y su longitud para una columna concreta. Defaullt: Especifica un tipo de dato por defecto. Además podemos añadirle características que veremos más adelante en el curso.
Ejemplo:
Create table equipo ( Denom varchar(15), País varchar(15), N_corredores number(3),
);
Restricciones
Las restricciones permiten prevenir la entrada de datos no validos en las tablas, estas restricciones pueden ser las siguientes: Not Null, Unique, Primary key, Foreign key, check. Estas restricciones se pueden aplicar durante la creación de la tabla o bien en cualquier otro momento. Para ello usamos constraint Si queremos crear una restricción a la hora de crear una tabla, usamos create table de la siguiente forma:
http://www.namocode.com
http://devthisblog.wordpress.
com/
4
CREATE TABLE Nombre_Tabla ( Campo1 tipoCampo [CONSTRAINT nombre-restricción] [NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor] [REFERENCES Nombre_Tabla [(Campo [,Campo])] [ON DELETE CASCADE]] [CHECK (condición)] ... CampoN tipoCampo …[NOT NULL]… ) [TABLESPACE espacio_de_tabla];
O bien, CREATE TABLE nombre_tabla ( Campo1 TIPO_CAMPO, Campo2 TIPO_CAMPO, … Campoi TIPO_CAMPO, … [CONSTRAINT nombrerestricción] {[UNIQUE] | [PRIMARY KEY] (Campo [,Campo])}, [CONSTRAINT nombrerestricción] [FOREIGN KEY (Campo [,Campo]) REFERENCES nombre_tabla [(Campo [,Campo])] [ON DELETE CASCADE]], [CONSTRAINT nombrerestricción][CHECK (condición)], … ) [TABLESPACE espacio_de_tabla];
Para definir la primary key, foreign key o hacer checks (mostrado posteriormente en el manual) se usa constraint, sin embargo para campos not null o unique, podemos ponerlos después del tipo de dato. Ejemplos:
Create table equipo ( Denom varchar(15) primary key, País varchar(15), N_corredores number(3),
); Create table prestamo (
cod_socio number(6), isbn varchar2(16), fecha_prestamo date, constraint pk_prestamo primary key(cod_socio, isbn), constraint fk1_prestamo foreign key(isbn) references libros, constraint fk2_prestamo foreign key(cod_socio) references socios
);
http://www.namocode.com
http://devthisblog.wordpress.
com/
5
Anexo del capitulo
Tipos de datos en Oracle:
TIPO DE DATOS CARACTERÍSTICAS
INTEGER Entero.
SMALLINT Igual a Integer.
REAL Número en coma flotante; no se predetermina el número de cifras decimales.
FLOAT(n) Número en coma flotante de al menos n dígitos.
VARCHAR2(tamaño) Almacena cadenas de caracteres de longitud variable, la longitud se expresa en
tamaño. La longitud máxima es de 4.000 caracteres (bytes), y la mínima es de 1. (No
rellena con blancos los espacios sobrantes) Si se produce una cadena de mayor
longitud a la fijada, Oracle devolverá un error.
CHAR(tamaño) Almacena caracteres con una longitud fija especificada en tamaño. La longitud
máxima es de 2.000 bytes. El tamaño mínimo y por defecto es de 1 byte.
NUMBER(precisión, escala) Almacena datos numéricos, tanto enteros como decimales, con o sin signo. Precisión
representa el número total de dígitos que va a tener el dato que se define; el rango va
de 1 a 38. Escala representa el número de dígitos a la derecha del punto decimal. El
rango va de -84 a 127. Si se especifica una escala negativa, el número es
redondeado tantos dígitos a la izquierda del punto decimal como se indicó en la
escala. Si el número no tiene decimales, se puede omitir la escala.
El carácter con el que se separa la parte entera de la decimal (por defecto el punto)
se puede modificar mediante el parámetro NLS_NUMERIC_CHARACTERS, con la
orden ALTER SESSION.
LONG Almacena cadenas de caracteres de longitud variable que contengan hasta 2
gigabytes de información. Se puede usar este tipo para almacenar textos muy
grandes. Este tipo de datos está sujeto a algunas restricciones: sólo se puede definir
una columna LONG por tabla, no pueden aparecer en restricciones de integridad
(constraints), no sirve para indexar, una función almacenada no puede devolver un
valor LONG, no se puede utilizar como argumento de funciones, no se puede
referenciar como subconsulta en la creación de tablas ni inserción de filas, las
variables o argumentos de PL/SQL no se pueden declarar como tipo LONG, no es
posible su uso en cláusulas WHERE, GROUP BY, ORDER BY, CONNECT BY o
DISTINCT, ni con operaciones de UNION, INTERSECT y MINUS.
DATE Almacena información de fechas y horas. Para cada tipo DATE se almacena la
siguiente información: Siglo/Año/Mes/Día/Hora/Minutos/Segundos. Por omisión, el
calor para el formato de la fecha se especifica con el parámetro
NLS_DATE_FORMAT, y es una cadena de caracteres, como ésta “DD/MM/YY”, que
representa día del mes/dos dígitos del mes/dos últimos dígitos del año. El formato de
la fecha se puede cambiar mediante la orden ALTER SESSION y variando el
parámetro NLS_DATE_FORMAT.
RAW(tamaño) Almacena datos binarios. Es similar al tipo VARCHAR2, con la diferencia de que
maneja cadenas de bytes en lugar de cadenas de caracteres. El tamaño máximo es
de 2.000 bytes.
LONG ROW Almacena datos binarios. Es similar al tipo LONG; se emplea para el almacenamiento
de gráficos, sonidos, etc. El tamaño máximo es de 2 gigabytes.
ROWID Cadena hexadecimal que representa la dirección de una fila en su tabla.
http://www.namocode.com
http://devthisblog.wordpress.
com/
6
NVARCHAR2(tamaño) Tipo similar al VARCHAR2 solo que el tamaño de un carácter depende de la elección
del juego de caracteres. El máximo tamaño es de 4.000 bytes.
NCHAR(tamaño) Tipo similar al CHAR solo que el tamaño de un carácter depende de la elección del
juego de caracteres. El máximo tamaño es de 2.000bytes.
CLOB Similar a LONG, se usa para objetos carácter. El tamaño máximo es de 4 gigabytes.
NCLOB Similar al anterior pero el tamaño del carácter depende del juego de caracteres
BLOB Similar a LONG ROW, se usa para objetos binarios. El tamaño máximo es de 4 GB