Вы находитесь на странице: 1из 20

LABORATORIO DE BASE

DE DATOS
1. Creacin de tablas
2. Modificacin de tablas
3. Creacin de User
4. Eliminacin User
5. Borrado de tablas
6. Renombre de tabla de vistas
En el momento de crear las tablas se definen caractersticas a
dos niveles: Tabla y Columna, como se muestra a continuacin:

A nivel de Tabla
Nombre: Nombre de la tabla puede ser de 1 a 30 caracteres.
Propietario: La tabla tiene como propietario al usuario que las
crea En nuestro caso somos el usuario EIDOS. Otro usuario que
desee usar nuestras tablas debe tener autorizacin para ello y
hacer referencia a la tabla como eidos.clientes (propietario.tabla)
Cantidad de Columnas: Una tabla puede tener un mximo de
254 columnas.
A nivel de Columna
Nombre: Puede tener de 1 a 30 caracteres.
Tipo de dato y su ancho
CHAR Mximo de 255. Por defecto 1.
NUMBER Mximo de 105 dgitos. Por defecto 44.
INTEGER Numrico sin decimal. Por defecto 38.
DATE Hasta el 31 de diciembre de 4712.
LONG Tipo caracter con tamao variable hasta 65535
bytes. Permite una sola columna LONG por tabla. No se
puede usar en subconsultas, funciones o ndices.
RAW Dato en binario puro (imgenes y sonido) con un
ancho mximo de 255.
LONGRAW Igual que LONG, pero para almacenar datos en
binario puro.
Valor obligatorio: En Oracle existe el concepto de valor
nulo (NULL), como un valor indefinido o ausencia de valor y que es
diferente al numero 0 o al carcter espacio. Por lo tanto, para que
una columna siempre tenga valor (sea obligatoria) se define como
NOT NULL.
Rango de valores: Sirven para chequear que el valor sea
mayor a un valor determinado o para que se encuentre entre dos
valores.
Clave Primaria: Columnas que identifican de forma nica al
registro, es un valor nico y no nulo (NOT NULL). Por ejemplo: el
cdigo del cliente es una clave primaria que identifica de forma nica
e irrepetible a cada cliente.
Clave Externa: Columna de la tabla que hace referencia a un valor
que tiene que estar registrado en otra tabla. Por ejemplo: la columna
cdigo de la tabla VENTAS es una clave externa que hace referencia
a un valor de la columna cdigo (clave primaria) de la tabla Clientes.
Vamos a crear la tablar ALUMNOS, pero para ello observamos que
podemos realizar de 2 formas.
S U P O N G A M O S Q U E E N C I E R T O L O C A L
C O M E R C I A L N E C E S I T A Q U E C R E E M O S U N A
C I E R T A B A S E D E D A T O S

CREATE TABLE tCoches
(
matricula char(8) not null,
marca varchar(255) null,
modelo varchar(255) null,
color varchar(255) null,
numero_kilometros numeric(14,2) null
default 0,
constraint PK_Coches primary key (matricula)
) ;
Vamos a simular una base de datos para un negocio de alquiler de coches,
por lo que vamos a empezar creando una tabla para almacenar los
coches que tenemos.

La orden DROP TABLE seguida del nombre de
una tabla, permite eliminar la tabla en cuestin.


Al borrar una tabla:

Desaparecen todos los datos

Cualquier vista y sinnimo referente a la tabla
seguir existiendo, pero ya no funcionar
(conviene eliminarlos).

Lgicamente, slo se pueden eliminar las tablas
sobre las que tenemos permiso de borrado.
Normalmente, el borrado de una tabla es irreversible, y
no hay ninguna peticin de confirmacin, por lo
que conviene ser muy cuidadoso con esta operacin.

A.Quitar una tabla de la base de datos actual

En el siguiente ejemplo se quita la
tabla ProductVendor1, y sus datos e ndices de la
base de datos actual.
DROP TABLE ProductVendor1;


CREAR UNA CONTRASEA DE USUARIO
Oracle permite crear un usuario con autenticacin de contrasea mediante
la sentencia CREATE USER.

Creamos un usuario con la siguiente sintaxis:

create user usuario identified by contrasea;

CREATE USER
Cuando creamos un usuario con "default tablespace users" especificamos
el espacio en la tabla users, si no lo pusieras se pondra por defecto en
la tabla system.

CREATE user usuario IDENTIFIED BY contrasea default tablespace users;

Account lock indica el cierre de la cuenta

CREATE user usuario INDENTIFIED BY contrasea account lock;


ELIMINACIN DE USUARIOS
Oracle permite eliminar usuarios mediante la sentencia
DROP USER, y su sintaxis es :

DROP USER usuario [cascade];

Se especifica CASCADE para borrar todos los objetos del
esquema antes de borrar el usuario.
Aadir una columna a una tabla:

ALTER TABLE T_PEDIDOS ADD
TEXTOPEDIDO Varchar2(35);

Cambiar el tamao de una columna en una
tabla:

ALTER TABLE T_PEDIDOS MODIFY
TEXTOPEDIDO Varchar2(135);

Hacer NOT NULL una columna en una tabla:

ALTER TABLE T_PEDIDOS MODIFY (TEXTOPEDIDO NOT
NULL);

Eliminar una columna a una tabla:

ALTER TABLE T_PEDIDOS DROP COLUMN TEXTOPEDIDO;

Valor por defecto de una columna:

ALTER TABLE T_PEDIDOS MODIFY TEXTOPEDIDO
Varchar(135) DEFAULT 'ABC...' ;

Aade dos columnas:

ALTER TABLE T_PEDIDOS
ADD (SO_PEDIDOS_ID INT , TEXTOPEDIDO Varchar2(135)) ;


SINTAXIS-MODIFICACIN DE TABLAS
ALTER TABLE<nombre_de_tabla>;
Permite:
1. Cambiar la definicion de una columna.
2. Permitir valores nulos o no.
3. Modificar el tipo de datos.
4. Aumentas o disminuir el tamao de una columna.
5. Aadir columnas.
SINTAXIS-MODIFICACIN DE TABLAS
ALTER
TABLE<nombretabla>ADD(<nombre_de_la_nueva_columna1><tipo_de_datos
>[NOT NULL][constraint],

<nombre_de_la_nueva_columnaN><tipo_de_datos>[NOT NULL][constraint]);


ALTER TABLE<nombre_de_la_tabla>ADD
(CONSTRAINT<nombre_de_constraint><constraint><columnas>);
_
SINTAXIS-MODIFICACIN DE TABLAS
ALTER TABLE
<nombreTabla>MODIFY(<nombrecolumna1><tipo_de_datos>[NULL|NOT
NULL][constraint],
.
<nombrecolumnaN><tipo_de_datos>[NULL|NOT NULL][constraint]);

ALTER TABLEA<nombreTabla>DROP
(<constraint><nombre_de_la_columna|s>CASCADE;
EJEMPLITO:
ALTER TABLA profesor ADD(Sueldo NUMBER(10,3));

ALTER TABLE Profesor ADD(Dept CHAR(50));

_
RENAME

El estamento RENAME nos permite renombrar o cambiar el
nombre a tablas, vistas, secuencias o sinnimos privado para
una tabla.

Transfiere automticamente las restricciones
de integridad, los ndices y los privilegios del
objeto antiguo al nuevo objeto.

Invalida todos los objetos que dependen del
objeto renombrado, como vistas, sinnimos, y
procedimientos almacenados y funciones que
hacen referencia a una tabla renombrada.

Precaucin!!
La sentencia RENAME no se puede revertir.
En Oracle 9i, Oracle 10g, Oracle 11g.


Sintaxis:



Ejemplo:


RENAME nombre_antiguo TO nombre_nuevo

RENAME clientes TO cliente_actual;