1 Bases de Datos MySQL
2 Bases de Datos MySQL Propiedades de las entidades.
3 La entidad alumnos se convierte en la tabla: Entidad Propiedad Tabla Columna Cada fila representa un Registro. La clave puede estar formada por una o mas columnas
4 Ventajas de MySQL: * Robusto * Código abierto * Forma parte de LAMP
5 Existe una herramienta, llamada phpmyadmin, que permite administrar las bases de datos MySQL mediante una interfaz sencilla creada en PHP...
6 Ejercicio: En una base de datos nueva, crear la tabla alumnos, con los campos clave_alumno, nombre, edad y curso_actual utilizando phpmyadmin.
7 Creación de una tabla: Indicar, para cada campo de la tabla los siguientes datos: Field : Nombre del atributo. Type : Tipo de dato del atributo. Length/Values : Indica la longitud máxima del tipo de dato (especialmente para VARCHAR). Attributes : UNSIGNED : Sólo toma valores positivos (para INTEGER, SMALLINT,...). Null : El atributo puede tomar valores nulos? (la clave o identificador de la tabla nunca puede tener valores nulos!!!). Default : Valor por defecto del atributo al añadir una nueva fila. Extra : AUTO_INCREMENT (normalmente se usa para generar, automáticamente, valores de la clave). Primary : Se debe marcar si el atributo es Clave Primaria (el identificador) de la tabla. Index : Crea un índice dentro de la tabla. Unique: Se debe marcar si el valor del atributo es único para toda la tabla.
8 Tipos de Datos en MySQL: Los tipos de datos que puede haber en un campo o atributo de una tabla forman tres grandes grupos: 1. Tipos Numéricos 2. Tipos de Fecha 3. Tipos de Cadena de Caracteres
9 Ejercicio: Insertar registros en la nueva tabla alumnos. Insertar al menos 4 registros de este tipo:
10 Ejercicios: 1. Obtener el nombre de todos los alumnos que actualmente estén cursando cuarto año. 2. Obtener todos los datos de los alumnos cuya edad sea menor o igual que diez años, o que estén en un curso anterior al tercero.
11 Bases de Datos MySQL
12 Ejercicios extra: 1. Crear y ejecutar el comando SELECT para obtener los nombres (ordenados alfabéticamente) de los alumnos que tengan 10 años y estén en el tercer curso. 2. Crear y ejecutar el comando SELECT para obtener el nombre y curso actual de los alumnos cuya edad esté entre 11 y 12. 3. Obtener el número de alumnos cuya edad sean 10 años.
13 Relaciones entre tablas: Recordemos que un aula puede tener varias asignaturas, según nuestro modelo Por lo tanto, la relación entre las tablas está dada por la relación entre sus campos
14 Aulas (clave_aula, nombre ) Asignaturas (clave_asignatura, clave_aula ) En la tabla Asignaturas, clave_aula hace referencia a la clave del mismo nombre en la tabla Aulas.
15 Consultas en más de una tabla Notación: SELECT <nom_cols> FROM <nom_tabla>, <nom_tabla>,..., <nom_tabla> [ WHERE <condiciones_booleanas> ] Ejemplo: SELECT asignaturas.nombre, aulas.nombre FROM asignaturas, aulas WHERE aulas.clave_aula = asignaturas.clave_aula;
16 Ejemplo 1. Nombres de las aulas donde se hace la asignatura de Historia: SELECT aulas.nombre FROM aulas, asignaturas WHERE asignaturas.nombre = 'Historia' AND aulas.clave_aula = asignaturas.clave_aula
17 Ejemplo 2. Horarios y dias en los que se imparte la asignatura de Historia: SELECT horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM horarios, asignaturas WHERE asignaturas.nombre = 'Historia' AND horarios.clave_asignatura = asignaturas.clave_asignatura ORDER BY horarios.dia, horarios.hora_inicio
18 Ejemplo 3. Asignaturas que comienzan entre 8:00 y 10:00: SELECT asignaturas.nombre, horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM asignaturas, horarios WHERE asignaturas.clave_asignatura = horarios.clave_asignatura AND horarios.hora_inicio BETWEEN '08:00:00' AND '10:00:00' ORDER BY horarios.dia, horarios.hora_inicio, asignaturas.nombre
19 Ejemplo 5. Alumnos cuyo profesor es 'Roberto Juarez': SELECT DISTINCT alumnos.nombre FROM alumnos, profesores, listas WHERE profesores.nombre = 'Roberto Juarez' AND listas.clave_profesor = profesores.clave_profesor AND alumnos.clave_alumno = listas.clave_alumno ORDER BY alumnos.nombre