Está en la página 1de 7

Control semana 5

ADMINISTRACIÓN DE BASES DE DATOS

Instituto IACC

09-08-2021
Desarrollo

La empresa para la cual usted trabaja le ha asignado el desarrollo de una aplicación para

el control de su proceso de nómina. Para ello, debe utilizar la teoría de bases de datos en

conjunto con SQL como gestor de bases de datos y realizar las siguientes actividades: a)

Definir la estructura lógica de la base de datos, indicando cuáles tablas serán necesarias (2

puntos). b) Crear las diferentes tablas que se requieren para este proceso (2 puntos). c)

Indexar dichas tablas de manera que pueda realizar consultas utilizando SQL, de forma

rápida y eficiente (1 punto). d) Ingresar un mínimo de 10 registros en cada una de las

tablas que decida crear. Recuerde establecer las relaciones entre las mismas para evitar la

duplicidad de los datos (2 puntos). e) Ejecutar una consulta donde se muestren todos los

empleados existentes con sus beneficios contractuales asociados (2 puntos). Nota: Debe

escribir las sentencias SQL requeridas para los puntos b, c, d y e.

USE [iacc6s]

GO

/****** Object: Table [dbo].[empleados1] Script Date: 09/08/2021 0:33:30 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO
/******Aquí creamos tabla empleados donde el campo id es de tipo entero y los demás son de

tipo varchar con una longitud de 30, donde no se les permitirá campos vacíos y en donde su

clave primaria de esta tabla será id******/

CREATE TABLE [dbo].[empleados1](

[id] [int] NOT NULL,

[nombre] [varchar](30) NULL,

[apellido] [varchar](30) NULL,

[cargo] [varchar](30) NULL,

CONSTRAINT [PK_empleados1] PRIMARY KEY CLUSTERED

[id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY

= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,

OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[nominas] Script Date: 09/08/2021 0:33:30 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO
/******Aquí creamos la tabla nominas con un id de tipo entero, además de un monto y fecha de

tipo varchar que en el caso de monto podría de tipo entero y en el caso de fecha tendría que

haber sido de tipo date , estos dos últimos con una longitud de 30 y niun campo en la tabla

permite campos vacíos ******/

CREATE TABLE [dbo].[nominas](

[id] [int] NOT NULL,

[monto] [varchar](30) NULL,

[fecha] [varchar](30) NULL

) ON [PRIMARY]

GO

/******En esta parte se ingresan los datos o insertan a la tabla empleados, correspondientes al

id, nombre y cargo del personal ******/

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (1, N'juan',

N'Contrera', N'inspector')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (2, N'Maria',

N'Urrutia', N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (3, N'Carmen',

N'Aguilar', N'director')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (4, N'Luis',

N'Contrera', N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (5, N'Mirta',

N'Contrera', N'Profesor')
INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (6, N'Ana', N'Palma',

N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (7, N'Karina',

N'Gallardo', N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (8, N'Camilo',

N'Sanchez', N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (9, N'Juan',

N'Inostroza', N'Profesor')

INSERT [dbo].[empleados1] ([id], [nombre], [apellido], [cargo]) VALUES (10, N'Antonio',

N'Turra', N'Profesor')

GO

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (1, N'340000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (2, N'340000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (3, N'980000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (4, N'1200000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (5, N'970000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (6, N'1250000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (7, N'1200000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (8, N'1100000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (9, N'1150000', N'30-08-2021')

INSERT [dbo].[nominas] ([id], [monto], [fecha]) VALUES (10, N'1220000', N'30-08-2021')

GO
/******En esta sección del script se crea crea la clave foránea y primaria, además de que se le

asigna que tanto en update como en delete sea en cascada , o sea que lo que suceda en una tabla

se actualizara en la otra ******/

ALTER TABLE [dbo].[nominas] WITH CHECK ADD CONSTRAINT

[FK_nominas_empleados11] FOREIGN KEY([id])

REFERENCES [dbo].[empleados1] ([id])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[nominas] CHECK CONSTRAINT [FK_nominas_empleados11]

GO

/******aquí realizamos una consulta donde se ejecuten consulta donde se muestren todos los

empleados existentes con sus beneficios contractuales asociados ******/

select * from empleados1 INNER JOIN nominas on nominas.id = empleados1.id

Bibliografía

 Contenido semana 6

 Youtube

 Whatsapp grupo

También podría gustarte