jueves, 12 de abril de 2012

EJERCICIO CURSORES SQL SERVER


Actividades
1.       Leer en la ayuda la teoría sobre CURSORES, FETCH, @@FETCH_STATUS

2.       Diseñar la siguiente tabla con los campos principales que usted estime conveniente de acuerdo a las relaciones existentes.


 
3.       Crear el trigger en la tabla matrículas

CREATE trigger IngresarNotas on Matriculas for Insert as
DECLARE
                @codMatricula int, @codCurso char(5), @ci char(10), @codMateria int
                select @codCurso=I.IdCurso, @codMatricula=I.IdMatricula, @ci=I.IdAlumno from inserted as I
DECLARE param_notas CURSOR FOR
                     SELECT IdMateria FROM MateriaCurso where IdCurso=@codCurso
                 
                OPEN param_notas
               
                FETCH NEXT FROM param_notas INTO @codMateria
                WHILE @@FETCH_STATUS = 0
                BEGIN
                    INSERT INTO Notas(IdMatricula,IdAlumno, IdMateria) VALUES(@codMatricula, @ci, @codMateria)  
                    FETCH NEXT FROM param_notas  INTO @codMateria
                END
               
                CLOSE param_notas
                DEALLOCATE param_notas

Ingresar unos pocos registros en tablas que intervienen,  para realizar la matrícula de un alumno por ejemplo:

 
 
 
4.       Probar el funcionamiento del trigger y que a su vez hace uso de un cursor




5.       Verificar el resultado en la tabla Notas.

RECUERDA QUE YO NO ESTOY PARA ENSEÑARTE, MI FUNCIÓN ES AYUDARTE, SER TU GUIA  EN LO QUE TU QUIERES APRENDER, EN NUESTRA CARRERA ES MUY IMPORTANTE LA AUTOEDUCACIÓN
 René

 

EJERCICIO DIAGNOSTICO BASES DE DATOS II


Ejercicio # 1
Se tiene una empresa desarrollando varios proyectos, a los que son asignados varios empleados, pero cada empleado solo esta vinculado a un proyecto, en un momento dado. Cada proyecto consume diferentes recursos en cantidades determinadas: los empleados están a cargo de un supervisor, que es un empleado también. Los empleados pueden tener personas beneficiarias (hijos, esposas, padres, etc.).

  • Realizar el diagrama Entidad Relación, 
  • Mapeo del Diagrama, 
  • Paso del Diagrama Entidad-Relación al Modelo Relacional, 
  • En Lenguaje SQL crear la Base de Datos.

jueves, 3 de febrero de 2011

TRABAJO PARCIAL II DISEÑO DE SISTEMAS

BASE DE DATOS DE INMOBILIARIA “EL LADRILLO”


Diseñar una base de datos para la empresa inmobiliaria “El Ladrillo”, dedicada a la compra – venta de terrenos, casas y departamentos. Sus clientes contratan a la empresa para que les ayude a vender ese tipo de bienes, por lo que cobran una comisión que va el 3 al 5% del valor de la transacción. De cada cliente se debe registrar sus datos personales: cédula de identidad, nombres, apellidos, dirección, ciudad, teléfono. De cada terreno a vender se debe registrar, el área en metros cuadrados, dimensiones frente y fondo en metros, dirección, sector, ciudad, precio mínimo de venta. De las casas indicar el área de terreno, el área deconstrucción, el número de pisos, el número de habitaciones, número de baños, si tiene teléfono y garaje, la dirección, sector, ciudad, y el precio mínimo de venta. De los departamentos registrar el área de construcción, número de habitaciones, número de baños, si tiene teléfono y garaje, la dirección, sector, ciudad y el precio mínimo de venta. De cada propiedad registrar la fecha en la que se contrata a la inmobiliaria, la fecha en la que se vende, el precio de venta, los datos personales del comprador y el porcentaje de comisión. Cada propiedad registrada en la base de datos puede tener dos estados: “en venta”, o “vendida”. De cada propiedad en venta, registrar los datos personales de personas interesadas.

REALIZAR

1. Diseñar el modelo entidad relación

2. Crear la base de datos en SQL Server, con las siguientes restricciones:


- El nombre y apellido de un cliente no debe ser nulo.

- El valor de un inmueble no debe ser negativo.

- El valor por defecto de todas las fechas es la fecha actual.

- La cédula de identidad no debe tener menos ni más de diez dígitos.

- No pueden repetirse el mismo nombre y apellido para dos clientes diferentes.

- La comisión por la compra o venta de un inmueble no puede ser menos del 3%.


3. Tomar en cuenta (NO HACER)  que el Diseño de la base de datos deberá satisfacer las siguientes consultas:

- Desplegar el nombre, apellido, dirección y teléfono de todos los clientes que compraron terrenos de más de 200 metros cuadrados en el norte de Quito.

- Desplegar el nombre y apellido de los empleados de la empresa inmobiliaria que vendieron inmuebles por más de 100000 dólares en los últimos tres meses.

- Nombres, apellidos y teléfonos de los clientes que vendieron departamentos de tres dormitorios en el Centro de Quito el último año.

- Total de ganancias de la inmobiliaria desglosado por mes en el último año.

- Departamentos de más de 150 metros cuadrados, de al menos 3 dormitorios, con garaje y teléfono, ubicados en la Avenida Gonzalez Suarez, y cuyo valor sea de hasta 80000 dólares.

- Estado en el que se encuentra el trámite de compra de la propiedad del Sr. René Pilataxi.

- Lista de clientes que quieren adquirir una propiedad en Sangolquí y que no viven en Quito.


4. También deberá permitir los siguientes procedimientos almacenados (NO HACER):

- Un Procedimiento Almacenado que reciba como parámetros el nombre y apellido de un cliente y despliegue en pantalla las propiedades vendidas de o en trámite de venta de ese cliente.

- Un Procedimiento Almacenado que presente en pantalla el nombre del comprador, el nombre del vendedor, el nombre del inmueble, ubicación del inmueble, precio de venta y fecha de venta de todos los inmuebles vendidos los últimos dos meses.

- Un Procedimiento Almacenado que ingrese como parámetros el tipo de inmueble y el sector, y despliegue en pantalla los nombres y precios de todos los inmuebles de ese tipo que están en venta en el sector.


5. Realizar los siguientes triggers:

- Cuando se realiza el proceso de venta, cambiar el estado de una propiedad a “vendida”.

- Cuando se vende una propiedad insertar en forma automática el valor a pagar a la inmobiliaria.

- Cuando se vende una propiedad, borrar de la base de datos las filas de las personas interesadas en esa propiedad.


6. Ingresar Datos a las tablas.

7.Elaborar un formulario en C# que permita registrar los contratos


PRESENTAR UN INFORME DETALLADO:


a. Diseño de la Base de datos (Modelos Entidad Relación)

b. Diagrama de la Base de Datos en SQL SERVER

c. Capturar las pantallas de los datos ingresados (Select * from TABLA).

d. Formulario C# que permita registar los contratos.

e. Código fuente de la Clase Conexión y del Formulario.


PUEDE REALIZAR EN GRUPOS DE HASTA 2 PERSONAS  Y PRESENTAR HASTA EL DIA DEL EXAMEN.

EXITOSsssssss!!!!!!!!!