4 - Tipos de datos |
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:
-nombre, cadena de caracteres de 20 de longitud, -actor, cadena de caracteres de 20 de longitud, -duración, valor numérico entero que no supera los 3 dígitos. -cantidad de copias: valor entero de un sólo dígito (no tienen más de 9 copias de cada película).
1- Elimine la tabla "peliculas" si ya existe.
2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo.
Note que los campos "duracion" y "cantidad", que almacenarán valores sin decimales, fueron definidos de maneras diferentes, en el primero especificamos el valor 0 como cantidad de decimales, en el segundo no especificamos cantidad de decimales, es decir, por defecto, asume el valor 0.
3- Vea la estructura de la tabla.
4- Ingrese los siguientes registros:
insert into peliculas (nombre, actor, duracion, cantidad) values ('Mision imposible','Tom Cruise',128,3); insert into peliculas (nombre, actor, duracion, cantidad) values ('Mision imposible 2','Tom Cruise',130,2); insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Julia Roberts',118,3); insert into peliculas (nombre, actor, duracion, cantidad) values ('Elsa y Fred','China Zorrilla',110,2);
5- Muestre todos los registros (4 registros)
6- Intente ingresar una película con valor de cantidad fuera del rango permitido:
insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Richard Gere',1200,10); Mensaje de error.
7- Ingrese un valor con decimales en un nuevo registro, en el campo "duracion":
insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Richard Gere',120.20,4);
8- Muestre todos los registros para ver cómo se almacenó el último registro ingresado.
9- Intente ingresar un nombre de película que supere los 20 caracteres.
Ver solucióndrop table peliculas; create table peliculas( nombre varchar2(20), actor varchar2(20), duracion number(3,0), cantidad number(1) ); describe peliculas; insert into peliculas (nombre, actor, duracion, cantidad) values ('Mision imposible','Tom Cruise',128,3); insert into peliculas (nombre, actor, duracion, cantidad) values ('Mision imposible 2','Tom Cruise',130,2); insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Julia Roberts',118,3); insert into peliculas (nombre, actor, duracion, cantidad) values ('Elsa y Fred','China Zorrilla',110,2); select *from peliculas; insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Richard Gere',1200,10); insert into peliculas (nombre, actor, duracion, cantidad) values ('Mujer bonita','Richard Gere',120.20,4); select *from peliculas: insert into peliculas (nombre, actor, duracion, cantidad) values ('Alicia en el pais de las maravillas','Animados',90,3);
Una empresa almacena los datos de sus empleados en una tabla "empleados" que guarda los siguientes datos: nombre, documento, sexo, domicilio, sueldobasico.
1- Elimine la tabla si existe.
2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo:
create table empleados( nombre varchar2(20), documento varchar2(8), sexo varchar2(1), domicilio varchar2(30), sueldobasico number(6,2) );
3- Verifique que la tabla existe consultando "all_tables"
4- Vea la estructura de la tabla (5 campos)
5- Ingrese algunos registros:
insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Juan Perez','22333444','m','Sarmiento 123',500); insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Ana Acosta','24555666','f','Colon 134',650); insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Bartolome Barrios','27888999','m','Urquiza 479',800);
6- Seleccione todos los registros (3 registros)
7- Intente ingresar un registro con el valor "masculino" en el campo "sexo"
Un mensaje indica que el campo está definido para almacenar 1 solo caracter como máximo y está intentando ingresar 9 caracteres.
8- Intente ingresar un valor fuera de rango, en un nuevo registro, para el campo "sueldobasico"
Mensaje de error.
9- Elimine la tabla
drop table empleados; create table empleados( nombre varchar2(20), documento varchar2(8), sexo varchar2(1), domicilio varchar2(30), sueldobasico number(6,2) ); select *from all_tables; describe empleados; insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Juan Perez','22333444','m','Sarmiento 123',500); insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Ana Acosta','24555666','f','Colon 134',650); insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Bartolome Barrios','27888999','m','Urquiza 479',800); select *from empleados; insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Carlos Caseres','33556688','masculino','Colon 235',900); insert into empleados (nombre, documento, sexo, domicilio, sueldobasico) values ('Carlos Caseres','33556688','m','Colon 235',10000.5); drop table empleados;