martes, 5 de julio de 2011

Base de datos Trabajo


Modelo físico


Sentencias BASE DE DATOS ZOOLOGICO

Creación de la base de datos
create database lab2

Creación tabla pais
create table pais
(pais_id int unsigned primary key auto_increment, nombre varchar(35))

Creación tabla ciudad
create table ciudad
(ciudad_id int unsigned primary key auto_increment, nombre varchar(35), pais_id int unsigned references pais(pais_id))

Creación tabla sucursal
create table sucursal
(sucursal_id int unsigned primary key auto_increment, nombre varchar(35), ciudad_id int unsigned references ciudad(ciudad_id))

Creación tabla Genero
create table genero
(genero_id int unsigned primary key auto_increment,nombre varchar(35))

Creación tabla tipo
create table tipo
(tipo_id int unsigned primary key auto_increment,nombre varchar(35))

Creación tabla Continente
create table continente
(continente_id int unsigned primary key auto_increment, nombre varchar(35))

Creación tabla Especie
create table especie
(especie_id int unsigned primary key auto_increment, nombre varchar(35), tipo_id int unsigned references tipo(tipo_id),c_patas int unsigned,c_cuernos int unsigned,c_colas int unsigned)

Creación tabla Animal
create table animal
(animal_id int unsigned primary key auto_increment, num_unico int unsigned, nombre varchar(35), fecha date, genero_id int unsigned references genero(genero_id), especie_id int unsigned references especie(especie_id), patas int unsigned,  plumas int unsigned, pelos int unsigned, cuernos int unsigned, cola int unsigned, sucursal_id int unsigned references sucursal(sucursal_id))

Creación tabla origen
create table origen
(origen_id int unsigned primary key auto_increment, especie_id int unsigned references especie(especie_id), continente_id int unsigned references continente(continente_id)

Descargar sentencias en archivo WORD: Descargar


Consultas a la base de datos:


1) indique un query para cambiar o trasladar un animal.

      UPDATE animal
      set sucursal_id =(select sucursal_id from sucursal where nombre      ='nombredelasucursal' )
      where nombre='nombredel animal'

2) indique un query para detectar a los animales cojos.
   SELECT animal.nombre
FROM animal, especie
WHERE animal.patas < especie.c_patas
AND animal.especie_id = especie.especie_id
LIMIT 0 , 30

3) indique un query para informar cuantos animales de cada especie hay cada sucursal del zoológico.

   SELECT COUNT( animal_id ) AS Cant_animales, especie.nombre, sucursal.nombre
FROM animal, sucursal, especie
WHERE especie.especie_id = animal.especie_id
AND sucursal.sucursal_id = animal.sucursal_id
GROUP BY sucursal.nombre, especie.nombre
LIMIT 0 , 30

4) indique un query para detectar que especies de animales no están presentes en alguna sucursal.

      SELECT e.nombre, s.nombre
      FROM especie e, sucursal s, animal a
      WHERE e.nombre NOT
      IN (
      SELECT e.nombre
      FROM animal a, especie e, sucursal s
      WHERE a.especie_id = e.especie_id
      AND s.sucursal_id = a.sucursal_id
      AND s.sucursal_id =3
      )
      AND a.sucursal_id = s.sucursal_id
      AND s.sucursal_id =3
      GROUP BY e.nombre, s.nombre
      ORDER BY s.nombre

5) indique un query para ingresar el nacimiento de un animal
  
   INSERT INTO animal
VALUES (NULL , '123123', 'tuga', '1882-07-05', '2', '12', '4', '0', '0', '0', '1', '4')


6) indique un query para detectar el tipo de animal más cornudo.

SELECT tipo.nombre, MAX( c_cuernos )
FROM tipo, especie
WHERE tipo.tipo_id = especie.tipo_id


7) indique un query cantidad promedio de plumas por especie.

SELECT AVG( a.plumas ) AS promedio_plumas, e.nombre
FROM animal a, especie e
WHERE a.especie_id = e.especie_id
GROUP BY e.nombre
LIMIT 0 , 30

8) indique un query para alistar los animales de cumpleaños este mes.

   SELECT nombre
FROM animal
WHERE MONTH( fecha ) = MONTH( CURDATE( ) )
LIMIT 0 , 30

9) indique un query para detectar los animales de cumple años este día.

   SELECT nombre
FROM animal
WHERE MONTH( fecha ) = MONTH( CURDATE( ) )
WHERE DAY( fecha ) = DAY( CURDATE( ) )

Descargar sentencias en archivo WORD: Descargar

Integrantes : Christian Ahlborn, Sebastian Reich