Developer's Diary

10 diciembre, 2010

Curso Oracle Rápido I – Comenzando Oracle.

Filed under: BBDD, Programación — Etiquetas: , , , , , — jnavero @ 9:02 PM

—- Nos mudamos: http://devthisblog.namocode.es
—————————————————————–
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.

Version descargable: Curso Oracle Rápido I.pdf

Índice del capítulo.

Índice del capítulo. 1

¿Qué es Oracle?. 1

Comenzando,  DDL. 1

Tipos de datos. 2

Creación de tablas. 2

Restricciones. 2

Anexo del capitulo. 4

¿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.

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:

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

);

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.
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
Anuncios

1 comentario »

  1. […] Articulos Actualizados : Curso Oracle Rápido I – Comenzando Oracle. […]

    Pingback por Articulo Indexado en la Blogosfera de Sysmaya — 17 diciembre, 2010 @ 4:16 AM


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: