Más ejercicios modelo entidad relación

Acabas de empezar tu colección de películas y quieres hacer una base de datos para construir su ficha técnica. De cada película, necesitas su título, año, nacionalidad y algunos datos de su director: el nombre, la fecha de nacimiento y su país de origen. Además, quieres saber su idioma, si es en blanco y negro o en color, si tiene alguna restricción de edad, un resumen y poder poner tus propias observaciones.

La ficha técnica de cada película también debe incluir el reparto de actores, donde aparecerá su nombre, su nacionalidad y el nombre del personaje que tiene en la película.

 

 

Se desea crear una base de datos que contenga información sobre las revistas a las que estás suscrito o compras habitualmente. De cada revista, se pide su título, el ISSN (un código que identifica a la publicación), el número y el año de publicación. También se desea almacenar información de cada uno de los artículos publicados: el título, la página de inicio y la página de fin. Se asume que no hay dos artículos con el mismo título.

Cada artículo puede estar escrito por varios autores, de quienes interesa conocer su nombre, una dirección de correo electrónico y su país de nacimiento, así como un número que indique la posición en la que aparece en cada artículo: un 1 si es el primer autor, un 2 si aparece en segundo lugar, etc.

 

 

Una ONG desea elaborar una base de datos para llevar el seguimiento de todos sus proyectos. Tiene diversas sedes en varios países que se encargan de gestionar y coordinar los proyectos de ese país, cada uno de los cuales puede afectar a una o varias poblaciones.

Sobre la sedes se desea mantener un identificador, la ciudad y país en el que se encuentra, junto con su dirección, un teléfono de contacto y el nombre del director. Cada sede gestiona un conjunto de proyectos, con un código, un título, fechas de inicio y finalización, el presupuesto asignado y el nombre del responsable.

De cada proyecto es necesario conocer qué actuaciones se realizan en cada población, almacenando el nombre, país y nº de habitantes y un identificador para diferenciarlas. Además se desea la inversión del proyecto que corresponde a la población y una pequeña descripción de la actuación.

 

Un parque zoológico quiere construir una BD para organizar las especies que posee y los distintos itinerarios para visitar el parque. La información se estructura de la siguiente forma. De las especies, se desea conocer su nombre común y su nombre científico, así como una descripción general y una fotografía. Cada especie puede vivir en distintos hábitats naturales, definidos por su nombre, clima y vegetación predominante. Cada especie tiene asociado un índice de vulnerabilidad dentro de cada hábitat, que mide el riesgo de extinción de la especie en el dicho hábitat. Para organizar las visitas, y en función de los hábitats que desee recorrer un visitante, el parque le ofrece una serie de recorridos por los hábitats, que se identifican por su código y se caracterizan por su duración estimada, longitud y número máximo de visitantes permitidos. Un hábitat sólo puede formar parte de un itinerario.

 

Una compañía aérea necesita una base de datos para registrar la información de sus vuelos. Los vuelos están caracterizados por un Id, la fecha y los aeropuertos de origen y destino. Cada vuelo es realizado por un avión. Los aviones tienen una matrícula que los identifica, el fabricante, un modelo e información sobre su capacidad (número máximo de pasajeros) y autonomía de vuelo (en horas). La tripulación asignada al vuelo está formada por el personal de la propia compañía. De cada trabajador se conoce su id, su nombre y su categoría profesional, así como el puesto que ocupa en cada vuelo en particular.

Por último, para cada vuelo, se almacena la lista completa de pasajeros, con su dni, el nombre, el asiento que ocupa y su clase (turista, primera o business).

Ejercicio academia

Crear un diseño entidad relación que permita controlar el sistema de información de una academia de cursos siguiendo estas premisas:

  • Se dan clases a trabajadores y desempleados. Los datos que se almacenan de los alumnos son el DNI, dirección, nombre, teléfono y la edad
  • Además de los que trabajan necesitamos saber el CIF, nombre, teléfono y dirección de la empresa en la que trabajan
  • Los cursos que imparte la academia se identifican con un código de curso. Además se almacena el programa del curso, las horas de duración del mismo, el título y cada vez que se imparte se anotará las fechas de inicio y fin del curso junto con un número concreto de curso (distinto del código) y los datos del profesor o profesora (sólo uno por curso) que son: dni, nombre, apellidos, dirección y teléfono
  • Se almacena la nota obtenida por cada alumno en cada curso teniendo en cuenta que un mismo alumno o alumna puede realizar varios cursos y en cada cual obtendrá una nota.

Tutoriales Laravel

https://richos.gitbooks.io/laravel-5/content/

https://www.cloudways.com/blog/laravel-tutorials-for-beginners/

https://www.ecodeup.com/category/programacion-con-laravel/

https://laravel-news.com/your-first-laravel-application

https://desarrolloweb.com/manuales/manual-laravel-5.html

Ejercicio entidad relación

Una empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por
varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y dirección.

Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar
los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los
profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno
está matriculado en uno o varios módulos. De cada alumno se desea guardar el nº de
expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir
varios módulos, pero un módulo sólo puede ser impartido por un profesor.

Se desea diseñar una base de datos para almacenar y gestionar la información
empleada por una empresa dedicada a la venta de automóviles, teniendo en cuenta los
siguientes aspectos:
La empresa dispone de una serie de coches para su venta. Se necesita conocer la
matrícula, marca y modelo, el color y el precio de venta de cada coche.
Los datos que interesa conocer de cada cliente son el NIF, nombre, dirección, ciudad y
número de teléfono: además, los clientes se diferencian por un código interno de la
empresa que se incrementa automáticamente cuando un cliente se da de alta en ella. Un
cliente puede comprar tantos coches como desee a la empresa. Un coche determinado
solo puede ser comprado por un único cliente.
El concesionario también se encarga de llevar a cabo las revisiones que se realizan a
cada coche. Cada revisión tiene asociado un código que se incrementa automáticamente
por cada revisión que se haga. De cada revisión se desea saber si se ha hecho cambio de
filtro, si se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. Los
coches pueden pasar varias revisiones en el concesionario

Soluciones examen


<?php
//1 Muestra 56
//2
$colores=["Rojo","naranja","amarillo","verde","cian","azul","magenta"];

//3
$res=1;
for($i=1;$i<=12;$i++){
$res*=$i;
}
echo $res;

//4

function inicioFin($cadena){
return substr($cadena,0,1)==substr($cadena,-1);
}
//5
function sumaArray($array){
$suma=0;
foreach($array as $v){
$suma+=$v;
}
return $suma;
}
function sumaArrayPro($array){
return array_sum($array);
}
//6
function invertirCad($array){
$res=[];
foreach($array as $v){
$res[]= strrev($v);
}
return $res;
}

//7
function arrayAleatorio($tam,$min,$max){
$res=[];
for($i=0;$i<$tam;$i++){
$res[]=mt_rand($min,$max);
}
return $res;
}

//8
function finde(){
return date("w")==0 || date("w")==6;
}

//9
function quitar($cadena,$letras){
$cadena= utf8_encode($cadena);
for($i=0;$i<strlen($letras);$i++){
$cadena=
str_replace(substr($letras,$i,1), "", $cadena);
}
return utf8_decode($cadena);
}
function contarConsonantes($cadena){
$cadena= strtolower($cadena);
$c=quitar($cadena,"bcdfghjklmnñpqrstvwxyz");
return strlen($cadena)-strlen($c);
}

function masConsonantes($a,$b){
if (contarConsonantes($a)> contarConsonantes($b)){
return $a;
} else {
return $b;
}
}

Soluciones ejercicios

<?php

//Ejercicio 15
function medio($a,$b,$c){
   $tabla=[$a,$b,$c];
   sort($tabla);
   return $tabla[1];
}
function medio2($a,$b,$c){
    if (($a>=$b && $a<=$c) || 
        ($a>=$c && $a<=$b)){
        return $a;
    }
     if (($b>=$a && $b<=$c) || 
        ($b>=$c && $b<=$a)){
        return $b;
    }
     if (($c>=$b && $c<=$a) || 
        ($c>=$a && $c<=$b)){
        return $c;
    }
}
echo medio2(1,1,3);
echo "<hr>";
echo medio2(3,1,3);
echo "<hr>";
echo medio2(7,1,3);
echo "<hr>";
echo medio2(6,6,3);
echo "<hr>";
echo medio2(1,14,3);
echo "<hr>";
function inicioFin($cadena){
    if(strlen($cadena)<4){
        return $cadena;
    } else {
        $inicio=substr($cadena,0,2);
        $fin=substr($cadena,-2);
        return $inicio.$fin;
    }
}
echo inicioFin("patata");

function masCorta($array){
    $corta=$array[0];
    foreach($array as $v){
        if(strlen($v)<strlen($corta)){
            $corta=$v;
        }
    }
    return $corta;
}

echo masCorta(['hola','que','tal']);

function mezcla($a,$b){
    $c=[];
    foreach($a as $v){
        $c[]=$v;
    }
    foreach($b as $v){
        $c[]=$v;
    }
    return $c;
}
function mezcla2($a,$b){
    return array_merge($a,$b);
}
function quitar($cadena,$letras){
    $cadena= utf8_encode($cadena);
    for($i=0;$i<strlen($letras);$i++){
        $cadena= 
        str_replace(substr($letras,$i,1), "", $cadena);
    }
    return utf8_decode($cadena);
}
function contarConsonantes($cadena){
    $cadena= strtolower($cadena);
    $c=quitar($cadena,"bcdfghjklmnñpqrstvwxyz");
    return strlen($cadena)-strlen($c);
}
//Asumiendo palabra normal
function contarConsonatesNormal($palabra){
    $cont=0;
    for($i=0;$i<strlen($palabra);$i++){
        $letra=substr($palabra,$i,1);
        if ($letra!="a" && $letra!="e"&& $letra!="i" 
            && $letra!="o" && $letra!="u"  ){
            $cont++;
        }
    }
    return $cont++;
}
echo "<hr>";
echo contarConsonantes("cacaípéíü    ..&%/&%/&hudfete");
echo contarConsonatesNormal("cacahuete");


function masConsonantes($cadena){
    $palabras=explode(" ",$cadena);
    $almacen="";
    foreach($palabras as $palabra){
        if(contarConsonantes($palabra)>
                contarConsonantes($almacen)){
            $almacen=$palabra;
        }
    }
    return $almacen;
}
echo "<hr>";
echo masConsonantes("En un lugar de la mancha");
echo "<hr>";
function malditosLunes(){
    $lunes=[];
    $inicio= mktime(0,0,0,1,1,2019);
    for($i=1;$i<=365;$i++){
        $fecha= mktime(0,0,0,1,$i,2019);
      /*  echo date("d-m-Y",$fecha)."<br>";
        echo date("d-m-Y",$inicio)."<br>";*/
        //Otra manera
        $inicio= strtotime("+1day",$inicio);
        if(date("w",$fecha)==1){
            $lunes[]=date("d-m-Y",$fecha);
        }
    }
    return $lunes;
}
print_r(malditosLunes());