Professional Documents
Culture Documents
Para este curso utilizaremos la versión Oracle 10g XE (Express Edition para Windows) Para
descargar el mismo debemos ingresar al sitio de Oracle:
1. Oracle 10g XE
2. Para permitir descargarlo del sitio seleccionamos con el mouse el control Radio
"Accept License Agreement".
3. Luego seleccionamos la versión "Oracle Database 10g Express Edition (Universal)"
(OracleXEUniv.exe (216,933,372 bytes))
4. El sitio de Oracle requiere que nos registremos. Debemos seleccionar "sign up now" y
luego "Create your Oracle account now", es decir crear una cuenta Oracle.
Luego de habernos registrado podemos descargar el motor de base de datos Oracle.
5. El paso siguiente es instalar el gestor de base de datos propiamente dicho.
Ejecutamos el archivo que acabamos de descargar: OracleXEUniv.exe
Debemos ir presionando el botón "siguiente" en el asistente de instalación, salvo
cuando nos pide ingresar la contraseña de la base de datos, es importante no olvidar
dicha clave.
Luego de algunos minutos ya tenemos instalado el gestor de bases de datos Oracle en
nuestro equipo.
Aparece una tabla que nos muestra en cada fila, los datos de una tabla específica; en la
columna "TABLE_NAME" aparece el nombre de cada tabla existente.
Al crear una tabla debemos resolver qué campos (columnas) tendrá y que tipo de datos
almacenarán cada uno de ellos, es decir, su estructura.
La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella.
Creamos una tabla llamada "usuarios" y entre paréntesis definimos los campos y sus tipos:
Cada campo con su tipo debe separarse con comas de los siguientes, excepto el último.
Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su
tipo de dato. En esta tabla "usuarios" definimos 2 campos:
Cada usuario ocupará un registro de esta tabla, con su respectivo nombre y clave.
Para nombres de tablas, se puede utilizar cualquier caracter permitido para nombres de
directorios, el primero debe ser un caracter alfabético y no puede contener espacios. La
longitud máxima es de 30 caracteres.
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre),
mostrará un mensaje indicando que a tal nombre ya lo está utilizando otro objeto y la
sentencia no se ejecutará.
Para ver la estructura de una tabla usamos el comando "describe" junto al nombre de la
tabla:
describe usuarios;
Esta es la estructura de la tabla "usuarios"; nos muestra cada campo, su tipo y longitud y
otros valores que no analizaremos por el momento.
Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar:
Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando tal
situación y la sentencia no se ejecuta.
Problema:
Para probar todos los ejercicios resueltos y propuestos debemos ingresar al sqldeveloper.exe y
luego en el entorno crear una nueva conexión:
1. Elegimos File -> New y seleccionamos "New Connection" y presionamos el botón "Aceptar".
2. Ingresamos los campos Connection Name (por ejemplo ingresamos "prueba"), en el campo
Username ingresamos el usuario SYSTEM y por último en el campo Password ingresamos la
clave que creamos al instalar Oracle.
3. Luego en la ventana que aparece el mansaje "Enter SQL Statement" debemos tipear los
comandos SQL y mediante el primer botón "triangulo verde" ejecutaremos el comando SQL
donde se encuentra el cursos (también podemos ejecutar todos los comando SQL mediante el
segundo botón.
Aparece una tabla que nos muestra todas las tablas; la columna "TABLE_NAME" contiene el nombre
de cada tabla.
Vamos a crear una tabla denominada "usuarios". En primer lugar vamos a eliminar la tabla "usuarios"
porque si ya existe no podremos crear otra con el mismo nombre.
Aparece un mensaje que indica que la sentencia "create table" ha sido procesada.
Cada usuario ocupará un registro de esta tabla, con su respectivo nombre y clave.
describe usuarios;
Intentemos crear una tabla con el mismo nombre, mostrará un mensaje indicando que ya hay un
objeto llamado "usuarios" y la sentencia no se ejecutará:
Eliminemos la tabla:
Verifiquemos si se ha eliminado:
Primer problema:
Necesita almacenar los datos de amigos en una tabla. Los datos que guardará serán: apellido,
nombre, domicilio y teléfono.
3- Cree una tabla llamada "agenda", debe tener los siguientes campos: apellido, varchar2(30);
nombre, varchar2(20); domicilio, varchar2 (30) y telefono, varchar2(11)
Un mensaje indica que la tabla ha sido creada exitosamente.
describe agenda;
Segundo problema:
Necesita almacenar información referente a los libros de su biblioteca personal. Los datos que
guardará serán: título del libro, nombre del autor y nombre de la editorial.
7- Elimine la tabla
describe libros;
Un registro es una fila de la tabla que contiene los datos propiamente dichos. Cada registro
tiene un dato por cada columna (campo). Nuestra tabla "usuarios" consta de 2 campos,
"nombre" y "clave".
Al ingresar los datos de cada registro debe tenerse en cuenta la cantidad y el orden de los
campos.
Usamos "insert into", luego el nombre de la tabla, detallamos los nombres de los campos
entre paréntesis y separados por comas y luego de la cláusula "values" colocamos los
valores para cada campo, también entre paréntesis y separados por comas.
Note que los datos ingresados, como corresponden a cadenas de caracteres se colocan
entre comillas simples.
El comando "select" recupera los registros de una tabla. Con el asterisco indicamos que
muestre todos los campos de la tabla "usuarios".
Es importante ingresar los valores en el mismo orden en que se nombran los campos: En el
siguiente ejemplo se lista primero el campo "clave" y luego el campo "nombre" por eso, los
valores también se colocan en ese orden:
Si ingresamos los datos en un orden distinto al orden en que se nombraron los campos, no
aparece un mensaje de error y los datos se guardan de modo incorrecto.
En el siguiente ejemplo se colocan los valores en distinto orden en que se nombran los
campos, el valor de la clave (la cadena "Boca") se guardará en el campo "nombre" y el valor
del nombre (la cadena "Luis") en el campo "clave":
Problema:
Si existe la eliminamos:
Creamos una nueva tabla denominada "usuarios" con los siguientes campos:
No tiene, la tabla aparece vacía, solamente vemos las columnas que muestran los nombres de sus
campos.
NOMBRE CLAVE
-------------
Mariano payaso
NOMBRE CLAVE
-------------
Mariano payaso
Juan River
Boca Luis
La tabla tiene 3 registros. Note que la clave "Boca" se guardó en el campo "nombre" y el nombre de
usuario "Luis" en el campo "clave".
Primer problema:
2- Cree una tabla llamada "agenda". Debe tener los siguientes campos: apellido (cadena de 30),
nombre (cadena de 20), domicilio (cadena de 30) y telefono (cadena de 11)
describe agenda;
Segundo problema:
Trabaje con la tabla "libros" que almacena los datos de los libros de su propia biblioteca.
2- Cree una tabla llamada "libros". Debe definirse con los siguientes campos: titulo (cadena de 20),
autor (cadena de 30) y editorial (cadena de 15)
describe libros;
Ya explicamos que al crear una tabla debemos resolver qué campos (columnas) tendrá y que
tipo de datos almacenará cada uno de ellos, es decir, su estructura.
El tipo de dato especifica el tipo de información que puede guardar un campo: caracteres,
números, etc.
Estos son algunos tipos de datos básicos de Oracle (posteriormente veremos otros y con
más detalle):
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato
adecuado para cada uno de ellos.
Por ejemplo, si en un campo almacenaremos números telefónicos o un números de
documento, usamos "varchar2", no "number" porque si bien son dígitos, con ellos no
realizamos operaciones matemáticas. Si en un campo guardaremos apellidos, y suponemos
que ningún apellido superará los 20 caracteres, definimos el campo "varchar2(20)". Si en un
campo almacenaremos precios con dos decimales que no superarán los 999.99 pesos
definimos un campo de tipo "number(5,2)", es decir, 5 dígitos en total, con 2 decimales. Si en
un campo almacenaremos valores enteros de no más de 3 dígitos, definimos un campo de
tipo "number(3,0)".
Problema:
Vamos a crear una tabla llamada "libros" para almacenar información de los libros de una librería.
Necesitamos los siguientes campos:
Al crear la tabla, entonces, elegimos el tipo de dato más adecuado para cada campo:
describe libros;
Note que al ingresar valores numéricos no se utilizan comillas y para el separador de decimales se
usa el caracter punto (.).
Veamos lo que sucede si intentamos ingresar para el campo "titulo" una cadena de más de 20
caracteres:
vamos a cortar la cadena para que SQL Server acepte el ingreso del registro:
Veamos qué sucede si intentamos ingresar para el campo "cantidad" un valor fuera de rango:
Veamos qué sucede si intentamos ingresar en el campo "precio" un valor con más decimales que los
permitidos:
Oracle omitió el último dígito decimal porque el campo sólo admitía 2 decimales.
Primer problema:
Un videoclub que alquila películas en video almacena la información de sus películas en una tabla
llamada "peliculas"; para cada película necesita los siguientes datos:
6- Intente ingresar una película con valor de cantidad fuera del rango permitido:
8- Muestre todos los registros para ver cómo se almacenó el último registro ingresado.
describe peliculas;
Segundo problema:
Una empresa almacena los datos de sus empleados en una tabla "empleados" que guarda los
siguientes datos: nombre, documento, sexo, domicilio, sueldobasico.
8- Intente ingresar un valor fuera de rango, en un nuevo registro, para el campo "sueldobasico"
Mensaje de error.
9- Elimine la tabla
describe empleados;
Hemos aprendido cómo ver todos los registros de una tabla, empleando la
instrucción "select".
La sintaxis básica y general es la siguiente:
select *from NOMBRETABLA;
Trabajamos con la tabla "libros" que almacena los datos de los libros de una librería.
Eliminamos la tabla:
Creamos la tabla:
describe libros;
Recuperamos solamente el título, autor y editorial de todos los libros especificando los nombres de
los campos separados por comas:
Con la siguiente sentencia seleccionamos los títulos y precios de todos los libros:
TITULO PRECIO
-----------------------------------------------
El aleph 25.50
Alicia en el pais de las maravillas 10
Matematica estas ahi 18.8
EDITORIAL CANTIDAD
-------------------------
Emece 100
Atlantida 200
Siglo XXI 200
Note que en todos los casos recuperamos TODOS los registros, pero solamente ALGUNOS campos
que especificamos.
Primer problema:
Un videoclub que alquila películas en video almacena la información de sus películas en alquiler en
una tabla llamada "peliculas".
describe peliculas;
Segundo problema:
Una empresa almacena los datos de sus empleados en una tabla llamada "empleados".
2- Cree la tabla:
7- Realice un "select" mostrando el documento, sexo y sueldo básico de todos los empleados.
describe empleados;
select nombre,documento,domicilio
from empleados;
select documento,sexo,sueldobasico
from empleados;