Bienvenidos

Objetivos Generales: Con este Material de Microsoft SQL Server Gota a Gota en las Bases de Datos Relacionales pretendo dejar claro los conceptos de su funcionamiento y estructura, consiguiendo los siguientes objetivos:
 Aclarar el funcionamiento en todos los aspectos de las Bases de datos relacionales y la Gestión de las mismas
 Comprender los lenguajes que conforman las Bases de Datos (DDL, DML, DCL)
Objetivos Específicos: Especificando un poco más los objetivos de este material, podemos declarar que el alumno conseguirá entender el funcionamiento y estructura para saber como aprovechar todas las capacidades de este tipo de bases de datos en la creación de programas informáticos de cualquier nivel aprender la utilización de las bases de datos de SQL SERVER de cara a la programación.
Estudiar el funcionamiento de las mismas, para una mejor base de cara a la utilización de sentencias SQL y de bases de datos de mayor complejidad.

domingo, 19 de agosto de 2012

PRACTICA DE ENVIO FINAL GRUPOS SPUERTO PLATA 2014

EJECUTAR EL SIGUIENTE QUERY EN SQL, EL MISMO CREARA UNA BASE DE DATOS LLAMADA CONSTRUCTORA, LA CUAL A SU VEZ INSERTARA TODOS LOS REGISTROS; CON LA CUAL PODRAN CREAR LAS CONSULTAS QUE SE MOSTRARAN EN EL ANEXO:

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

 

No hay comentarios:

Publicar un comentario