210 likes | 429 Views
Bases de Datos en MySQL. Creación de tablas e inserción de datos. Profa : Blanca Estela Conde Hernández. Modelo Entidad-Relación de una escuela…. Base de datos: Escuela. 1. Genera las siguientes tablas:. Clave principal (PK). EJEMPLO: Mysql > CREATE TABLE ALUMNOS(CLAVE_ALUMNO INT,
E N D
Bases de Datos en MySQL Creación de tablas e inserción de datos Profa: Blanca Estela Conde Hernández
Base de datos: Escuela 1. Genera las siguientes tablas: Clave principal (PK) EJEMPLO: Mysql> CREATE TABLE ALUMNOS(CLAVE_ALUMNO INT, -> NOMBRE VARCHAR(60), EDAD INT, -> CURSO_ACTUAL INT, PRIMARY KEY (CLAVE_ALUMNO ));
Tablas(2) EJEMPLO: Mysql> CREATE TABLE ASIGNATURAS(CLAVE_ASIGNATURA -> INT, CLAVE_AULA INT, CURSO VARCHAR(30), -> DESCRIPCION VARCHAR(60) , PRIMARY KEY -> (CLAVE_ASIGNATURA ), FOREING KEY (CLAVE_AULA) -> REFERENCES AULAS(CLAVE_AULA)); Clave Foranea (FK)
Tablas(3) EJEMPLO: Mysql> CREATE TABLE LISTAS(CLAVE_LISTA INT, CLAVE_ALUMNO INT, -> CLAVE_PROFESOR INT, CLAVE_ASIGNATURA INT, PRIMARY KEY -> (CLAVE_LISTA), FOREING KEY (CLAVE_ALUMNO) REFERENCES -> ALUMNOS(CLAVE_ALUMNO), FOREIGN KEY(CLAVE_PROFESOR) REFERENCES -> PROFESORES(CLAVE_PROFESOR), FOREIGN KEY(CLAVE_ASIGNATURA) -> REFERENCES ASIGNATURAS(CLAVE_ASIGNATURA));
2. Inserta los siguientes datos en la tablas alumnos: EJEMPLO: Mysql> INSERT INTO ALUMNOS VALUES(‘1’, ‘JUAN PEREZ ROSAS’, ’12’, ‘3’);
2. Inserta los siguientes datos en la tablas profesor: EJEMPLO: Mysql> INSERT INTO PROFESORES VALUES(‘1’, ‘ADRIANA GONZALEZ ROBLES’);
2. Inserta los siguientes datos en la tablas aulas: EJEMPLO: Mysql> INSERT INTO AULAS VALUES(‘1’, ‘50’);
2. Inserta los siguientes datos en la tablas asignaturas: EJEMPLO: Mysql> INSERT INTO ASIGNATURAS VALUES(‘1’, ‘2’, ’HISTORIA’, ‘DESCRIPCION’);
2. Inserta los siguientes datos en la tablas horarios: EJEMPLO: Mysql> INSERT INTO HORARIOS VALUES(‘1’,’2’,’LUNES’,’10:00’,’11:00’);
2. Inserta los siguientes datos en la tabla listas: EJEMPLO: Mysql> INSERT INTO LISTAS VALUES(‘1’,’5’,’1’,’3’);
Consultas de datos: SELECT • Mostrar todos los campos de la tabla alumnos SELECT * FROM alumnos; • Muestra el nombre y curso actual de los alumnos que tienen 10 años SELECT nombre,curso FROM alumnos WHERE edad=10; • Muestra el nombre de los alumnos que cursan 3º y tienen 10 o mas años SELECT nombre FROM alumnos WHERE curso_actual=3 AND edad>=10;
Consultas de datos: SELECT (2) • Muestra todos los datos de los alumnos donde su edad este entre 8 y 12 años SELECT * FROM alumnos WHERE edad BETWEEN 8 AND 12; • Muestra los datos de los alumnos donde el nombre empiece con “M” y cursen 3º SELECT * FROM alumnos WHERE nombre LIKE “M%” AND curso_actual=3;
Ejercicios: Consultas • Obtener el nombre de los alumnos que actualmente estan cursando 2º año • Obtener los datos de los alumnos cuya edad sea menor o igual a 11 años o que estén cursando 3º • Obtener el nombre de los alumnos donde su nombre empiece con “J” • Obtener los datos de los alumnos que están cursando entre 2º y 3er año
Ordenar datos: ORDER BY • Ordenar ascendentemente los nombres de los alumnos SELECT * FROM alumnos ORDER BY nombre; • Muestra el nombre y la edad de los alumnos ordenándolos del mayor al menor SELECT nombre, edad FROM alumnos ORDER BY edad DESC; • Muestra los nombres de los alumnos que cursan 3º ordenados alfabéticamente SELECT nombre FROM alumnos WHERE curso_actual=3 ORDER BY nombre;
Ejercicios de ordenación • Muestra los datos de los profesores ordenados alfabéticamente • Muestra el nombre y edad de los alumnos que cursan 2º ordenando de la Z a la A • Muestra los datos de los alumnos ordenándolos por curso del mayor a menor
Consultas a varias tablas • Muestra el nombre de la asignatura y el numero de aula donde esta asignada SELECT asignaturas.curso, aulas.clave_aula FROM asignaturas, aulas WHERE aulas.clave_aula=asignaturas.clave_aula; • Muestra las aulas donde se imparte la asignatura de historia SELECT aulas.clave_aula FROM aulas,asignaturas WHERE asignaturas.curso=‘Historia’ AND aulas.clave_aula=asignaturas.clave_aulas;
Consultas a varias tablas(2) • Muestra los días y horarios 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
Consultas a varias tablas(3) • Muestra los alumnos cuyo profesor es ‘Adrian Fernandez Rojas’ SELECT DISTINCalumnos.nombre FROM alumnos, profesores, listas WHERE profesores.nombre=‘Adrian Fernandez Rojas’ AND listas.clave_profesor=profesores.clave_profesor AND alumnos.clave_alumno=listas.clave_alumno ORDER BY alumnos.nombre;
Consultas a varias tablas(4) • Muestra las asignaturas que comienzan entre 8 y 10 el día Jueves SELECT asignaturas.curso,horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM horarios, asignaturas WHEREhorarios.clave_asignatura=asignaturas.clave_asignatura AND horarios.hora_inicio BETWEEN ‘08:00:00’ AND ‘10:00:00’ AND horarios.dia=‘lunes’ ORDER BY horarios.dia,horarios.hora_inicio, asignaturas.nombre