15 - Tipos de datos alfanuméricos |
Una concesionaria de autos vende autos usados y almacena los datos de los autos en una tabla llamada "autos".
1- Elimine la tabla "autos"
2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo, estableciendo el campo "patente" como clave primaria:
create table autos( patente char(6), marca varchar2(20), modelo char(4), precio number(8,2), primary key (patente) );
Hemos definido el campo "patente" de tipo "char" y no "varchar2" porque la cadena de caracteres siempre tendrá la misma longitud (6 caracteres). Lo mismo sucede con el campo "modelo", en el cual almacenaremos el año, necesitamos 4 caracteres fijos.
3- Ingrese los siguientes registros:
insert into autos (patente,marca,modelo,precio)
values('ABC123','Fiat 128','1970',15000);
insert into autos (patente,marca,modelo,precio)
values('BCD456','Renault 11','1990',40000);
insert into autos (patente,marca,modelo,precio)
values('CDE789','Peugeot 505','1990',80000);
insert into autos (patente,marca,modelo,precio)
values('DEF012','Renault Megane','1998',95000);
4- Ingrese un registro omitiendo las comillas en el valor de "modelo"
Oracle convierte el valor a cadena.
5- Vea cómo se almacenó.
6- Seleccione todos los autos modelo "1990"
7- Intente ingresar un registro con un valor de patente de 7 caracteres
8- Intente ingresar un registro con valor de patente repetida.
drop table autos;
create table autos(
patente char(6),
marca varchar2(20),
modelo char(4),
precio number(8,2),
primary key (patente)
);
insert into autos (patente,marca,modelo,precio)
values('ABC123','Fiat 128','1970',15000);
insert into autos (patente,marca,modelo,precio)
values('BCD456','Renault 11','1990',40000);
insert into autos (patente,marca,modelo,precio)
values('CDE789','Peugeot 505','1990',80000);
insert into autos (patente,marca,modelo,precio)
values('DEF012','Renault Megane','1998',95000);
insert into autos (patente,marca,modelo,precio)
values('HIJ678','Renault Clio',1990,70000);
select *from autos;
select *from autos
where modelo='1990';
insert into autos (patente,marca,modelo,precio)
values('FGH3457','Fiat 128','1975',20000);
insert into autos (patente,marca,modelo,precio)
values('HIJ678','Fiat 128','1975',20000);
Una empresa almacena los datos de sus clientes en una tabla llamada "clientes".
1- Elimine la tabla "clientes"
2- Créela eligiendo el tipo de dato más adecuado para cada campo:
create table clientes( documento char(8) not null, apellido varchar2(20), nombre varchar2(20), domicilio varchar2(30), telefono varchar2 (11) );
3- Analice la definición de los campos. Se utiliza char(8) para el documento porque siempre constará de 8 caracteres. Para el número telefónico se usar "varchar2" y no un tipo numérico porque si bien es un número, con él no se realizarán operaciones matemáticas.
4- Ingrese algunos registros:
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('22333444','Perez','Juan','Sarmiento 980','4223344');
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('23444555','Perez','Ana','Colon 234',null);
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('30444555','Garcia','Luciana','Caseros 634',null);
5- Intente ingresar un registro con más caracteres que los permitidos para el campo "telefono"
6- Intente ingresar un registro con más caracteres que los permitidos para el campo "documento"
7- Intente ingresar un registro omitiendo las comillas en el campo "apellido"
8- Seleccione todos los clientes de apellido "Perez" (2 registros)
drop table clientes;
create table clientes(
documento char(8) not null,
apellido varchar2(20),
nombre varchar2(20),
domicilio varchar2(30),
telefono varchar2 (11)
);
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('22333444','Perez','Juan','Sarmiento 980','4223344');
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('23444555','Perez','Ana','Colon 234',null);
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('30444555','Garcia','Luciana','Caseros 634',null);
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('24555666','Juarez','Ana','Urquiza 444','035145566778');
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('256667778','Garcia','Luis','Avellaneda 1454','4558877');
insert into clientes (documento,apellido,nombre,domicilio,telefono)
values('25666777',Garcia,'Luis','Avellaneda 1454','4558877');
select *from clientes
where apellido='Perez';