elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ejercicio SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio SQL  (Leído 2,809 veces)
Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Ejercicio SQL
« en: 7 Diciembre 2014, 21:17 pm »

Muy buenas, acabo de hacer un ejercicio de SQL y me gustaría saber si está todo correcto o he cometido algún fallo, ya que soy principiante en SQL. Para ser más exactos, se supone que el ejercicio es para MySQL.

El enunciado es el siguiente : Cread un script SQL para la siguiente definición de base de datos:

BASE DE DATOS: RESERVAS

TABLA

USUARIO: codigo, nombre, apellidos, teléfono, mail, activo
   
CP: codigo (automático)

CAlt: mail

VNN: teléfono
   
* El campo activo será booleano, indicando si el usuario está de alta o de baja



TABLA RESTAURANTE: codigo, nombre, dirección, teléfono, web, coordenadas
      
El código será una cadena de texto de 10 caracteres,
por ejemplo: BARVLC0001, CAFEMDR500, ...
         
CP: codigo

         

TABLA RESERVAS_RESTAURANTE: restaurante, usuario, fecha_hora, comentarios, estado
         
CP: restaurante, usuario, fecha_hora
         
CAj: restaurante --> Restaurante(codigo)
         
CAj: usuario --> Usuario(codigo)
   
      
         
* Los posibles estados de la reserva será: RESERVADO, CANCELADO, VISITADO, NO VISITADO,
por defecto
el valor será RESERVADO.
(http://otroblogmas.com/diferencias-entre-enum-y-set-en-mysql/)
         
         
* Al eliminar un usuario, se eliminarán todas las reservas del mismo         
         
* No se podrá eliminar un restaurante mientras existan reservas activas
         
* Al actualizar un restaurante, se actualizarán las reservas.



Y como yo lo he resuelto:

Código
  1. CREATE DATABASE IF NOT EXISTS reservastabla COLLATE utf8_bin;
  2.  
  3. USE reservastabla;
  4.  
  5. CREATE TABLE usuario(
  6. codigo INT PRIMARY KEY,
  7. nombre VARCHAR(20),
  8. apellidos VARCHAR(40),
  9. telefono VARCHAR(15) NOT NULL,
  10. mail VARCHAR(30) UNIQUE,
  11. activo BOOLEAN
  12. );
  13.  
  14. CREATE TABLE restaurante(
  15. codigo VARCHAR(10) PRIMARY KEY,
  16. nombre VARCHAR(20),
  17. direccion VARCHAR(40),
  18. telefono VARCHAR(15),
  19. web VARCHAR(30),
  20. coordenadas VARCHAR(20)
  21. );
  22.  
  23. CREATE reservas_restaurante(
  24. restaurante VARCHAR(20),
  25. usuario INT,
  26. fecha_hora DATETIME,
  27. comentarios VARCHAR(200),
  28. estado ENUM('reservado', 'cancelado', 'visitado', 'no visitado') DEFAULT 'reservado',
  29. PRIMARY KEY(restaurante, usuario, fecha_hora),
  30. CONSTRAINT restaurante FOREING KEY (restaurante) REFERENCES restaurante(codigo),
  31. ON DELETE RESTRICT,
  32. ON UPDATE CASCADE,
  33. CONSTRAINT usuario FOREING KEY (usuario) REFERENCES usuario(codigo),
  34. ON DELETE CASCADE
  35. );
  36.  


Gracias de antemano y un saludo.


En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio 506
Ejercicios
ieman 0 3,780 Último mensaje 13 Mayo 2005, 17:42 pm
por ieman
Ejercicio en C
Ejercicios
ߣ@î§ 3 10,623 Último mensaje 4 Septiembre 2005, 06:31 am
por ߣ@î§
Help Ejercicio 122 en C
Ejercicios
ANELKAOS 4 4,904 Último mensaje 15 Septiembre 2005, 23:41 pm
por Arcangel_RZ
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,762 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,312 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines