domingo, 11 de junio de 2017

Evaluacion Nro 3   Consultas SQL

a.-Puede hacerse en grupos de mas de dos personas como maximo 5, son 15 Item..

b.-Entregar impresa la tabla de Sacerdotes y la tabla de Iglesias y los resultados de las 10 consultas(pueden tener subconsultas adicionales si eso le facilita mas el trabajo) que se proponen en esta asignacion, debe imprimir el codigo de la consulta y las tabla de consulta resultante.

c.-Deben verificar estar cargados completamente todas las listas de datos correspondiente a Sacerdotes, Iglesias y las Parroquias para ello se publicaron las dos listas en el web-blog previamente...

Debe realizar los comandos correspondientes para obtener los resultados a las siguiientes 10 preguntas de un potencial Gerente:

1.- Indique en cuales parroquias dan misa los sacerdotes dominicos sin importar su rango(sin tomar en cuenta el rango del mismo).

2.- Indique solo para los rangos de Obispos en la Iglesia donde dan misa(solo nombre de la iglesia y su parroquia respectiva).

3.-Indique los datos del sacerdote y en que Iglesia y parroquia estan los Asuncionistas, y donde la capacidad de la iglesia esté entre 700 personas y 1000 personas.

4.-Indique toda la informacion(todas las tablas pero sin mostrar los id claves) de los sacerdotes que empiezan su apellido por la letra 'S' y la letra 'D'

5.-Indique la cantidad de parroquias donde dan misa los jesuitas( solo se quiere el numero total de parroquias)(recuerde usar las funciones de agregacion)

6.-Indique la cantidad de iglesias que hay por parroquias, (para ello debera agruparlas previamente)

7.- Indique en el nombre, capacodad y telefono de iglesia y parroquia donde dan misa los sacerdotes de pueblo y los misioneros.

8.- De la pregunta 7 indique cuantos son estos sacerdotes y misioneros juntos.

9.- Indique solamente el nombre de iglesia y solamente el nombre de la congregacion de los sacerdotes que dan misa alli.

10.-Indique en que iglesias y su respectiva parroquias donde no se asignaron sacerdotes.( es decir Iglesias donde no hay sacerdotes)

11.- Verifique si Algun integrante de su equipo aparece como sacerdote en esta base de datos...si es afirmativo muestre toda su informacion completa usando todas la tablas.( con un solo integrante es suficiente)

12.-Agrupe a los sacerdote por su rango e indique cuantos hay por cada rango( solo se quiere el numero total).

13- Liste toda la informacion de las tablas solo en las parroquias que empicen por la letra "S".

14.-Indique Cual es la parroquia que tiene mas iglesias.

15.-Indique la iglesia que su numero de telefono local termine en 8.

jueves, 8 de junio de 2017

Codigo DDL de evaluacion 3

-- phpMyAdmin SQL Dump
-- version 4.3.13
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 20-06-2016 a las 09:17:17
-- Versión del servidor: 5.6.23
-- Versión de PHP: 5.4.39

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `practicaconsulta`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `congregaci_n`
--

CREATE TABLE IF NOT EXISTS `congregaci_n` (
  `idcongre` int(11) NOT NULL,
  `nombrecongre` char(20) DEFAULT NULL
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `congregaci_n`
--

INSERT INTO `congregaci_n` (`idcongre`, `nombrecongre`) VALUES
(1, 'Jacobino'),
(2, 'Jesuita'),
(3, 'Dominico'),
(4, 'Capuchino'),
(5, 'iluminati'),
(6, 'Franciscanos'),
(7, 'Asuncionistas'),
(8, 'Hijos de la Caridad');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `iglesia`
--

CREATE TABLE IF NOT EXISTS `iglesia` (
  `idIgle` int(11) NOT NULL,
  `nombreigle` char(100) DEFAULT NULL,
  `capacidad` char(20) DEFAULT NULL,
  `telefono` char(20) DEFAULT NULL,
  `idparr` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `iglesia`
--

INSERT INTO `iglesia` (`idIgle`, `nombreigle`, `capacidad`, `telefono`, `idparr`) VALUES
(1, 'San José', '300', '0212-519586', 1),
(2, 'El Sagrario', '900', '8624963', 2),
(3, 'Nuestra Señota del Rosario', '580', '021-931784', 3),
(4, 'Santo Cristo de la Vega', '690', '0212-4426021', 4),
(5, 'Nuestra Señora de la Encarnación del Valle', '1450', '0212-6710083', 5),
(6, 'Dulce Nombre de Jesús', '1420', '0212-213681', 6),
(7, 'Candelaria', '1840', '0212-5725957', 7),
(8, 'Ntra. Señora del Rosario de Curucay', '320', '0212-4318304', 8),
(9, 'Altagracia', '630', '0212-8625480', 9),
(10, 'Santa Teresa', '910', '0212-5454380', 10),
(11, 'Santa Rosalía de El Hatillo', '240', '0212-9634229', 11),
(12, 'Santa Rosalia', '650', '0212-5452673', 12),
(13, 'Ntra. Señora del Rosario', '355', '0212-495463', 13),
(14, 'San Juan Bautista', '422', '0212-4822220', 14),
(15, 'La Inmaculada Concepción', '0000', '0212-716032', 15),
(16, 'La Divina Pastora', '1840', '0212-8620130', 16),
(17, 'Nuestra Señora del Carmen', '410', '0212-8621464', 17),
(18, 'La Milagrosa', '0000', '0212-626173', 18),
(19, 'Niño Jesús y Madre Cabrini', '540', '0212-890877', 19),
(20, 'Ntra. Señora del Valle', '1200', '0212-492407', 20);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `parroquia`
--

CREATE TABLE IF NOT EXISTS `parroquia` (
  `idparr` int(11) NOT NULL,
  `nombreparr` char(20) DEFAULT NULL
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `parroquia`
--

INSERT INTO `parroquia` (`idparr`, `nombreparr`) VALUES
(1, 'San Jose'),
(2, 'Catedral'),
(3, 'Baruta'),
(4, 'La Vega'),
(5, 'El Valle'),
(6, 'Petare'),
(7, 'La Candelaria'),
(8, 'Macarao'),
(9, 'Altagracia'),
(10, 'Santa Teresa'),
(11, 'Santa Rosalía'),
(12, 'Antímano'),
(13, 'Capuchinos'),
(14, 'Sabana Grande'),
(15, 'Pastora'),
(16, 'Catia'),
(17, 'Prado de María'),
(18, 'Vista Alegre'),
(19, 'El Conde'),
(20, 'Simón Rodríguez');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `rango`
--

CREATE TABLE IF NOT EXISTS `rango` (
  `idran` int(11) NOT NULL,
  `nombreran` char(20) DEFAULT NULL
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `rango`
--

INSERT INTO `rango` (`idran`, `nombreran`) VALUES
(1, 'Misionero'),
(2, 'Cura Rural'),
(5, 'Monseñor'),
(3, 'Cura Urbano'),
(4, 'Obispo'),
(6, 'Cardenal'),
(7, 'Papa');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sacerdote`
--

CREATE TABLE IF NOT EXISTS `sacerdote` (
  `idsacer` int(11) NOT NULL,
  `nombresac` char(20) DEFAULT NULL,
  `apesac` char(20) DEFAULT NULL,
  `telefonocel` char(20) DEFAULT NULL,
  `idigle` int(11) NOT NULL,
  `idcongre` int(11) NOT NULL,
  `idran` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `sacerdote`
--

INSERT INTO `sacerdote` (`idsacer`, `nombresac`, `apesac`, `telefonocel`, `idigle`, `idcongre`, `idran`) VALUES
(1, 'GILLES', 'ANDRADE', '0000', 1, 2, 3),
(2, ' LUIS', 'BELLO', '0000', 2, 3, 2),
(3, 'LUCIO', 'BOLIVAR', '0000', 3, 3, 2),
(4, 'IVAN', 'CARRILLO', '0000', 4, 2, 2),
(5, 'RAQUELIO', 'DE OLIVEIRA', '0000', 5, 4, 4),
(6, 'JOAQUIN', 'DIAZ', '0000', 6, 2, 2),
(7, 'REYEL', 'ESCALONA', '0000', 7, 4, 2),
(8, 'LUIGGI', 'FLORES', '0000', 8, 3, 3),
(9, 'ANDRES', 'ITRIAGO', '0000', 9, 7, 3),
(10, 'MIGUEL', 'MARQUEZ', '0000', 10, 3, 4),
(11, 'RICARDO', 'MORENO', '0000', 11, 5, 3),
(12, 'ISAAC', 'MUNDO', '0000', 12, 3, 3),
(13, 'MARCOS', 'PEDRÓN', '0000', 13, 4, 4),
(14, 'JOSÉ', 'RAMIREZ', '0000', 14, 3, 4),
(15, 'LEAMSI', 'SALCEDO', '0000', 15, 4, 4),
(16, 'JUAN', 'SEQUERA', '0000', 16, 3, 4),
(17, 'BARBARO', 'VASQUEZ', '0000', 17, 2, 5),
(18, 'JOSE', 'ARAUJO', '0000', 18, 3, 7),
(19, 'ALEX', 'BETANCOURT', '0000', 19, 2, 1),
(20, ' EMIR', 'BOSQUES', '0000', 20, 2, 1);

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `congregaci_n`
--
ALTER TABLE `congregaci_n`
  ADD PRIMARY KEY (`idcongre`), ADD KEY `AI_idcongre` (`idcongre`);

--
-- Indices de la tabla `iglesia`
--
ALTER TABLE `iglesia`
  ADD PRIMARY KEY (`idIgle`), ADD KEY `AI_idIgle` (`idIgle`), ADD KEY `idparr` (`idparr`);

--
-- Indices de la tabla `parroquia`
--
ALTER TABLE `parroquia`
  ADD PRIMARY KEY (`idparr`), ADD KEY `AI_idparr` (`idparr`);

--
-- Indices de la tabla `rango`
--
ALTER TABLE `rango`
  ADD PRIMARY KEY (`idran`), ADD KEY `AI_idran` (`idran`);

--
-- Indices de la tabla `sacerdote`
--
ALTER TABLE `sacerdote`
  ADD PRIMARY KEY (`idsacer`), ADD KEY `AI_idsacer` (`idsacer`), ADD KEY `idIgle` (`idigle`), ADD KEY `idcongre` (`idcongre`), ADD KEY `idran` (`idran`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `congregaci_n`
--
ALTER TABLE `congregaci_n`
  MODIFY `idcongre` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT de la tabla `iglesia`
--
ALTER TABLE `iglesia`
  MODIFY `idIgle` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=21;
--
-- AUTO_INCREMENT de la tabla `parroquia`
--
ALTER TABLE `parroquia`
  MODIFY `idparr` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=21;
--
-- AUTO_INCREMENT de la tabla `rango`
--
ALTER TABLE `rango`
  MODIFY `idran` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT de la tabla `sacerdote`
--
ALTER TABLE `sacerdote`
  MODIFY `idsacer` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=21;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

lunes, 8 de mayo de 2017

Enunciado Ejercicios Nro 1

Supongamos el siguiente Universo del Discursosobre Municipios, Viviendas y Personas. Cada persona puede habitar en una Vivienda y estar empadronada solo en un municipio, pero puede ser propietaria de varias viviendas. Nos interesa saber las personas que son cabeza de Familia (C.F)
El Profesor indicara los supuestos semanticos que se consideren oportunos para justificar todas las decisiones de diseño:
1er Paso Listar los candidatos a Entidades, Relaciones y Atributos, recuerde que no siempre un problema te ofrece explicitamente o claramente todos estos conceptos, por tanto es importante el aspecto creativo que surge del analisis lógico, por ejemplo  ¿Cabeza de Familia?...¿tengo Claro que significa?
2do Establecer Enumerando los supuestos explicitos en el enunciado,e ir descubriendo los supuestos implicitos u ocultos del enunciado
3er Paso Construir una Matriz de Entidades, las celdas contienen los nombres de las Relaciones, en otros caso el numero de cardinalidad que puede ser 1 o N.
4ro paso Generar version Inicial del Diagrama E/R para ello se recomienda apoyarse en el software DIA.
5to paso Comprobar las cardinalidades minimas, derecha e izquierda de los rombos de Relaciones, verificando que estas sean correctasy analizar que no existan conexiones de rombos relaciones que sean redundante.
6to Paso Agregar al Diagrama E/R inicial los atributos Simples, Claves, Derivados y Multivaluados
 Observacion: Los atributos Multivaluados pueden ser separados de las entidades y convertirse en Entidades Debiles asociadas a las Entidades Fuertes a la cual pertenecian, sin embargo esto podria hacer el diagrama muy dificil de leer o de analizar, en este ejercicio se realizará esta separación para ayudar a los alumnos que por primera vez estan aprendiendo esta metodología, pero no es obligatorio presentar los diagramas demasiado expandidos.

domingo, 30 de abril de 2017

BIENVENIDOS A LA CATEDRA DE MODELADO DE BASE DE DATOS Periodo II-2017

 

i.- Plan  de Evaluación     

a.- Entrega de 4 Ejercicios Prácticos Resueltos de Modelado ER
     Condición: Individual         Estilo:  Impreso o Manual          Fecha: 26 de mayo
     Observaciones: debera indicar forma normal máxima alcanzada y grado maximo por cada   problema planteado 
       PESO: 40%
b.- Entrega de 4 Ejercicios Prácticos Resueltos de Modelado Relacional
    Condición: Individual         Estilo:  Impreso o Manual    Fecha: 16 de junio
      Observaciones: debera indicar forma normal máxima alcanzada y grado maximo por cada problema planteado 
     PESO: 40%
  
c.- Entrega de 1 Ejercicio Practico Resuelto Modelo relacional Fisico con minimo el uso de 10 comandos con las consultas o vistas resultantes de diferentes filtros de consultas SQL (agregación, extensión, Junta, Producto…etc)
    Condición: Equipo Max 5 personas   Estilo: Impreso Obligatoriamente
  Fecha: 7 de julio
    Sistema Gestor de BD: MYSQL alternativamente tambien puedde ser  ACCESS de Microsoft( 2010 en adelante)/BASE de Libreoffice y POSTGRESQL (solo enseñare en clases el dialecto de mysql)
PESO: 10%
d.- Entrega de Modelado Completo del Proyecto Socio tecnológico ( en su defecto un prototipo posible, de no tenerlo em profesor le asignata un problema real)
    Condición: En Equipo Estilo: Impreso      Fecha de entrega: 21 de julio
    Documentos Entregables: Modelo ER, Modelo Relacional lógico, Modelo Relacional Físico.     PESO: 10%
Penalizaciones: si entrega después de la fecha tendrá un descuento de 5% acumulativo por cada dia de clase que se retarde…después de 4 clases de retardo el trabajo perderá 25% por tanto no será recibido.