LAS TABLAS QUE LA CONFORMAN SON:
TRABAJADOR
ASIGNACION
EDIFICIO
--QUERY A EJECUTAR (COPIAR ESTE CODIGO Y EJECUTARLO EN SQL)
create database Constructora
GO
USE Constructora
GO
/****** Object: Table [dbo].[Trabajador] Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[Trabajador](
[ID_TRABAJADOR] [varchar](5) NOT NULL,
[NOMB_TRABAJADOR] [varchar](12) NULL,
[TARIFA_HR] [float] NULL,
[OFICIO] [varchar](15) NULL,
[ID_SUPLY] [int] NULL,
CONSTRAINT [PK_TRABAJADOR_ID_TRABAJADOR] PRIMARY KEY CLUSTERED
(
[ID_TRABAJADOR] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1235', N'M Faraday', 12.5, N'Electricista', 1311)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1311', N'C Coulomb', 15.5, N'Electricista', 1311)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1412', N'C Nemo', 13.75, N'Fontanero', 1520)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1520', N'H Rickover', 11.75, N'Fontanero', 1520)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'2920', N'R Garret', 10, N'Albanil', 2920)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'3001', N'J Barrister', 8.2, N'Carpintero', 3231)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'3231', N'P Mason', 17.4, N'Carpintero', 3231)
go
/****** Object: Table [dbo].[edificio] Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[edificio](
[ID_EDIFICIO] [varchar](5) NOT NULL,
[DIR_EDIFICIO] [varchar](12) NULL,
[TIPO] [varchar](11) NULL,
[NIVEL_CALIDAD] [int] NULL,
[CATEGORIA] [int] NULL,
CONSTRAINT [PK_EDIFICIO] PRIMARY KEY CLUSTERED
(
[ID_EDIFICIO] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'111', N'1213 Aspen', N'Oficina', 4, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'210', N'1011Birch', N'Oficina', 3, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'312', N'123 Elm', N'Oficina', 2, 2)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'435', N'456 Maple', N'Comercio', 1, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'460', N'1415 Beech', N'Almacen', 3, 3)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'515', N'789 Oak', N'Residencia', 3, 1)
GO
/****** Object: Table [dbo].[ASIGNACION] Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[ASIGNACION](
[ID_TRABAJADOR] [varchar](5) NULL,
[ID_EDIFICIO] [varchar](5) NULL,
[FECHA_INICIO] [datetime] NULL,
[NUM_DIAS] [int] NULL
) ON [PRIMARY]
GO
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1235', N'312', CAST(0x0000979F00000000 AS DateTime), 5)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'312', CAST(0x0000979600000000 AS DateTime), 10)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1235', N'515', CAST(0x000097A600000000 AS DateTime), 22)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'460', CAST(0x0000979A00000000 AS DateTime), 18)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'460', CAST(0x0000989100000000 AS DateTime), 18)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'435', CAST(0x000097B100000000 AS DateTime), 10)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'210', CAST(0x000097BD00000000 AS DateTime), 15)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3231', N'111', CAST(0x0000979F00000000 AS DateTime), 8)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'435', CAST(0x000097A400000000 AS DateTime), 15)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'515', CAST(0x000097B800000000 AS DateTime), 8)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3231', N'312', CAST(0x000097AD00000000 AS DateTime), 20)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1520', N'515', CAST(0x0000979E00000000 AS DateTime), 14)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1311', N'435', CAST(0x0000979D00000000 AS DateTime), 12)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'210', CAST(0x000097C200000000 AS DateTime), 12)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'111', CAST(0x000097D300000000 AS DateTime), 4)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3001', N'111', CAST(0x0000979D00000000 AS DateTime), 14)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1311', N'460', CAST(0x000097AC00000000 AS DateTime), 24)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1520', N'312', CAST(0x000097B300000000 AS DateTime), 17)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3001', N'210', CAST(0x000097B000000000 AS DateTime), 14)
/****** Object: Default [DF__edificio__TIPO__7F60ED59] Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio] ADD DEFAULT ('OFICINA') FOR [TIPO]
GO
/****** Object: Default [DF__edificio__CATEGO__00551192] Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio] ADD DEFAULT ((1)) FOR [CATEGORIA]
GO
/****** Object: Check [CK_CATEGORIA] Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio] WITH CHECK ADD CONSTRAINT [CK_CATEGORIA] CHECK (([CATEGORIA]>=(0) AND [CATEGORIA]<=(4)))
GO
ALTER TABLE [dbo].[edificio] CHECK CONSTRAINT [CK_CATEGORIA]
GO
/****** Object: ForeignKey [FK_ID_EDIFICIO] Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[ASIGNACION] WITH CHECK ADD CONSTRAINT [FK_ID_EDIFICIO] FOREIGN KEY([ID_EDIFICIO])
REFERENCES [dbo].[edificio] ([ID_EDIFICIO])
GO
ALTER TABLE [dbo].[ASIGNACION] CHECK CONSTRAINT [FK_ID_EDIFICIO]
GO
/****** Object: ForeignKey [FK_ID_TRABAJADOR] Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[ASIGNACION] WITH CHECK ADD CONSTRAINT [FK_ID_TRABAJADOR] FOREIGN KEY([ID_TRABAJADOR])
REFERENCES [dbo].[Trabajador] ([ID_TRABAJADOR])
GO
ALTER TABLE [dbo].[ASIGNACION] CHECK CONSTRAINT [FK_ID_TRABAJADOR]
GO
ANEXO:
Realizar las siguientes consultas:
1. Cual es el número total de días asignados a fontanería en el edificio 312
2. Cuales son los oficios de los trabajadores asignados al edificio 435
3. Quienes tienen una tarifa por hora entre $10 y $12
4. Indicar los trabajadores que están asignados a todos los edificios
5. Cual es el promedio de días que los trabajadores están asignados al edificio 435
6. Para cada tipo de edificio, Cual es el nivel de calidad medio de los edificios con categoría 1. Considere solo aquellos tipos de edificios que tienen un nivel de calidad máximo no mayor de 3
7. Cuantos tipos de oficio diferentes hay en la tabla trabajador