Sie sind auf Seite 1von 5

Aca veremos el desarrollo de un ejemplo un poco mas complejo.

Nos referiremos a una Constructora.

Sintaxis para la creación de la Base de Datos.

CREATE DATABASE CONSTRUCTORA


On
(NAME= CONSTRUCTORA_Data,
Filename='C:\Documents and
Settings\LABADMIN\Escritorio\CONSTRUCTORA\CONSTRUCTORA_data.mdf',
size = 10mb,
maxsize = 50mb,
filegrowth = 5mb)
log ON
(NAME= CONSTRUCTORA_log,
Filename= 'C:\Documents and
Settings\LABADMIN\Escritorio\CONSTRUCTORA\CONSTRUCTORA_log.ldf',
size= 5 mb,
maxsize= 25 mb,
filegrowth= 5mb)

Creamos las tablas y le insertamos datos:

create table PROYECTOS


(
codp varchar(4),
descripcion varchar(25),
localidad varchar(25),
cliente varchar(25),
telefono numeric null,
Constraint PROYECTOS_pk primary key(codp)
);

insert into Proyectos values('P01','Garate','Arganda','Felipe


Sol','600111111');
insert into Proyectos values('P02','Solado','Rivas','Josè
Pèrez','912222222');
insert into Proyectos values('P03','Garate','Arganda','Rosa
Lòpez','669999666');
insert into Proyectos values('P04','Techado','Loeches','Josè
Pèrez','913333333');
insert into Proyectos values('P05','Buhardia','Rivas','Ana
Brito',null);

Mostramos la tabla.
select * from PROYECTOS

create table MAQUINAS


(
codm varchar(4),
nombre varchar(25),
precio money,
Constraint MAQUINAS_pk primary key(codm)
);

insert into Maquinas values('M01','Excabadora','1500');


insert into Maquinas values('M02','Hormigonera','10000');
insert into Maquinas values('M03','Volqueta','11000');
insert into Maquinas values('M04','Apisonadora','18000');

select * from MAQUINAS

create table CONDUCTORES


(
codc varchar(4),
nombre varchar(25),
cat int,
Constraint CONDUCTORES_pk primary key(codc)
);

insert into Conductores values('C01','Josè Sanchez',18);


insert into Conductores values('C02','Manuel Diaz',15);
insert into Conductores values('C03','Juan Pèrez',20);
insert into Conductores values('C04','Luis Ortiz',18);
insert into Conductores values('C05','Javier Martin',12);
insert into Conductores values('C06','Carmen Perez',15);

select * from CONDUCTORES


create table TRABAJOS
(
codc varchar(4),
codm varchar(4),
codp varchar(4),
fecha datetime,
tiempo numeric(4) null,
Constraint TRABAJOS_fk foreign key(codp) References PROYECTOS(codp),
Constraint TRABAJOS_fk1 foreign key(codm) References MAQUINAS(codm),
Constraint TRABAJOS_fk2 foreign key(codc) References
CONDUCTORES(codc)
);

insert into Trabajos values('C02','M03','P01','10/09/02','100');


insert into Trabajos values('C03','M01','P02','10/09/02','100');
insert into Trabajos values('C05','M03','P02','10/09/02','150');
insert into Trabajos values('C05','M03','P02','10/09/02','150');

select * from CONDUCTORES

Generando consultas.

Resolucion de las consultas

select nombre from conductores where cat=15;


select codp from trabajos where fecha between '11/09/02' and
'15/09/02';

select descripcion from proyectos where codp in (select codp from


trabajos where fecha between '11/09/02' and '15/09/02');

select descripcion from proyectos,trabajos where proyectos.codp =


trabajos.codp and fecha between '11/09/02' and '15/09/02';
select descripcion from proyectos inner join trabajos on
proyectos.codp =
trabajos.codp where fecha between '11/09/02' and '15/09/02';

NOTA: si se hace una consulta con otra tabla se le llama


subconsulta,si dentro de es puede existir otra subconsultas