Bases de Datos MySQL 1

Bases de Datos MySQL 2

Propiedades de las entidades.

Bases de Datos MySQL 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

Bases de Datos MySQL 4

Ventajas de MySQL: * Robusto * Código abierto * Forma parte de LAMP

Bases de Datos MySQL 5

Existe una herramienta, llamada phpMyAdmin, que permite administrar las bases de datos MySQL mediante una interfaz sencilla creada en PHP...

Bases de Datos MySQL 6

Ejercicio:

En una base de datos nueva, crear la tabla “alumnos”, con los campos clave_alumno, nombre, edad y curso_actual utilizando phpMyAdmin.

Bases de Datos MySQL 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.

Bases de Datos MySQL 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

Bases de Datos MySQL 9

Ejercicio: Insertar registros en la nueva tabla “alumnos”. Insertar al menos 4 registros de este tipo:

Bases de Datos MySQL 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.

Bases de Datos MySQL 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.

Bases de Datos MySQL 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…

Bases de Datos MySQL 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”.

Bases de Datos MySQL 15

Consultas en más de una tabla Notación: SELECT FROM , , ... , [ WHERE ] Ejemplo: SELECT asignaturas.nombre, aulas.nombre FROM asignaturas, aulas WHERE aulas.clave_aula = asignaturas.clave_aula;

Bases de Datos MySQL 16

Ejemplo 1. Nombres de las aulas donde se hace la asignatura de Historia:

SELECT aulas.nombre FROM aulas, asignaturas WHERE asignaturas.nombre = 'Historia' aulas.clave_aula = asignaturas.clave_aula

AND

Bases de Datos MySQL 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

Bases de Datos MySQL 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

Bases de Datos MySQL 19

Ejemplo 5. Alumnos cuyo profesor es 'Roberto Juarez': SELECT DISTINCT alumnos.nombre FROM alumnos, profesores, listas WHERE profesores.nombre = 'Roberto Juarez' listas.clave_profesor = profesores.clave_profesor alumnos.clave_alumno = listas.clave_alumno ORDER BY alumnos.nombre

AND AND