SQL - Dudas con MYSQL

   
Vista:
Imágen de perfil de Raúl

Dudas con MYSQL

Publicado por Raúl (3 intervenciones) el 09/06/2013 14:10:45
Hola buenas, el otro dia tuve un examen de MySQL workbentch 5.6.11

en el cual uno de los ejercicios que me mandaron fue el siguiente:

Queremos crear una base de datos para almacenar información sobre PDAs.
En un primer acercamiento, usaremos una única tabla llamada PDA, que tendrá como campos:
- Código
- Nombre
- Sistema Operativo
- Memoria (mb)
- Bluetooth (s/n)

1- Crear la tabla.

2- Introducir en ella los datos:

- ptx, Palm Tungsten TX, PalmOS, 128, s
- p22, Palm Zire 22, PalmOS, 16, n
- i3870, Compaq Ipaq 3870, Windows Pocket PC 2002, 64, s

Realizar las consultas

3- Equipos con mas de 64 mb de memoria.

4- Equipos cuyo sistema operativo no sea "PalmOS".

5- Equipos cuyo sistema operativo contenga la palabra "Windows".

6- Lista de sistemas operativos (sin duplicados)

7- Nombre y código del equipo que más memoria tiene.

8- Nombre y marca (supondremos que la marca es la primera palabra del nombre, hasta el primer espacio) de cada equipo, ordenado por marca y a continuación por nombre.

9- Equipos con menos memoria que la media.

10- Cantidad de equipos con cada sistema operativo.

11- Sistemas operativos para los que tengamos 2 o más equipos en la base de datos.

12- Añadir a la tabla PDA un campo "precio", con valor NULL por defecto.

13- Modificar el dato del equipo con código "p22", para indicar que su precio es 119,50. Listar los equipos cuyo precio no conocemos.

yo me quedé a cuadro en el ejercicio 13, 12, 11, 10, 9, 8, 7 y 4 sobre todo.
Para mí fue un mal rato el examen, aun así entre todo lo que preguntó me quedé a las puertas de aprobar. Me gustaría prepararmelo lo mejor posible antes del dia 11.

Otro de los ejercicios que puso fue:

1
2
3
4
5
6
7
8
9
DELIMITER |
 
CREATE TRIGGER validacionPersona BEFORE INSERT ON persona
FOR EACH ROW BEGIN
  SET NEW.codigo = UPPER(NEW.codigo);
  SET NEW.edad = IF(NEW.edad = 0, NULL, NEW.edad);
END;
|
DELIMITER ;


Explicar detalladamente lo que hace este codigo.

Gracias de antemano.Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Dudas con MYSQL

Publicado por xve (238 intervenciones) el 09/06/2013 17:35:20
Hola Raúl, lo que hace ese trigger al que haces referencia, es modificar el campo edad antes de guardar los datos con un insert.

Si edad vale 0 te la modificara por el valor null.

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raúl

Dudas con MYSQL

Publicado por Raúl (3 intervenciones) el 09/06/2013 17:38:10
claro que si me sirve, y las consultas SQL del ejercicio de encima como se haría? agradecido de antemano por las molestias. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar