Ejercicio Mysql
description
Transcript of Ejercicio Mysql
Bases de Datos en MySQL
Creacin de tablas e insercin de datosBases de Datos en MySQLProfa: Blanca Estela Conde Hernndez
Modelo Entidad-Relacin de una escuela
Base de datos: Escuela1. Genera las siguientes tablas:ALUMNOSDATOTIPO DE DATOCLAVE_ALUMNOINTNOMBREVARCHAR(60)EDADINTCURSO_ACTUALINT
PROFESORESDATOTIPO DE DATOCLAVE_PROFESORINTNOMBREVARCHAR(60)
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)AULASDATOTIPO DE DATOCLAVE_AULAINTCAPACIDADINT
ASIGNATURASDATOTIPO DE DATOCLAVE_ASIGNATURAINTCLAVE_AULAINTCURSOVARCHAR(30)DESCRIPCIONVARCHAR(70)
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)LISTASDATOTIPO DE DATOCLAVE_LISTAINTCLAVE_ALUMNOINTCLAVE_PROFESORINTCLAVE_ASIGNATURAINT
HORARIOSDATOTIPO DE DATOCLAVE_HORARIOINTCLAVE_ASIGNATURAINTDIAVARCHAR(10)HORA_INICIOTIMEHORA_FINTIME
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));
CLAVE_ALUMNONOMBREEDADCURSO_ACTUAL1JUAN PEREZ ROSAS1232JORGE LOPEZ FLORES1123LAURA DIAZ HERNANDEZ1334TANIA MONDRAGON GARCIA1125ALEJANDRO CANSECO DIAZ101
2. Inserta los siguientes datos en la tablas alumnos:EJEMPLO:
Mysql> INSERT INTO ALUMNOS VALUES(1, JUAN PEREZ ROSAS, 12, 3);
CLAVE_PROFESORNOMBRE1ADRIANA GONZALEZ ROBLES2JUAN GARCIA PEREZ3ADRIAN FERNANDEZ ROJAS4LAURA ITURRIA ESCOBAR5CLAUDIA GUZMAN JIMENEZ
2. Inserta los siguientes datos en la tablas profesor:EJEMPLO:
Mysql> INSERT INTO PROFESORES VALUES(1, ADRIANA GONZALEZ ROBLES);
CLAVE_AULACAPACIDAD150260350
2. Inserta los siguientes datos en la tablas aulas:EJEMPLO:
Mysql> INSERT INTO AULAS VALUES(1, 50);
CLAVE_ASIGNATURACLAVE_AULACURSODESCRIPCION12HISTORIAHISTORIA DE MEXICO23MATEMATICASARITMETICA BASICA33FILOSOFIALOGICA41QUIMICAQUIMICA ELEMENTAL52TICSINFORMATICA BASICA
2. Inserta los siguientes datos en la tablas asignaturas:EJEMPLO:
Mysql> INSERT INTO ASIGNATURAS VALUES(1, 2, HISTORIA, DESCRIPCION);
CLAVE_HORARIOCLAVE_ASIGNATURADIAHORA_INICIOHORA_FIN12LUNES10:0011:0023MARTES7:008:0035MIERCOLES11:0012:0041JUEVES8:009:0054JUEVES9:0010:00
2. Inserta los siguientes datos en la tablas horarios:EJEMPLO:
Mysql> INSERT INTO HORARIOS VALUES(1,2,LUNES,10:00,11:00);
CLAVE_LISTACLAVE_ALUMNOCLAVE_PROFESORCLAVE_ASIGNATURA15132425351343315331
2. Inserta los siguientes datos en la tabla listas:EJEMPLO:
Mysql> INSERT INTO LISTAS VALUES(1,5,1,3);
Consultas de datos: SELECTMostrar todos los campos de la tabla alumnosSELECT * FROM alumnos;
Muestra el nombre y curso actual de los alumnos que tienen 10 aosSELECT nombre,curso FROM alumnos WHERE edad=10;
Muestra el nombre de los alumnos que cursan 3 y tienen 10 o mas aos 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 aos 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: ConsultasObtener el nombre de los alumnos que actualmente estan cursando 2 ao
Obtener los datos de los alumnos cuya edad sea menor o igual a 11 aos o que estn cursando 3
Obtener el nombre de los alumnos donde su nombre empiece con J
Obtener los datos de los alumnos que estn cursando entre 2 y 3er ao
Ordenar datos: ORDER BYOrdenar ascendentemente los nombres de los alumnosSELECT * FROM alumnos ORDER BY nombre;
Muestra el nombre y la edad de los alumnos ordenndolos del mayor al menor SELECT nombre, edad FROM alumnos ORDER BY edad DESC;
Muestra los nombres de los alumnos que cursan 3 ordenados alfabticamente SELECT nombre FROM alumnos WHERE curso_actual=3 ORDER BY nombre;
Ejercicios de ordenacinMuestra los datos de los profesores ordenados alfabticamente
Muestra el nombre y edad de los alumnos que cursan 2 ordenando de la Z a la A
Muestra los datos de los alumnos ordenndolos por curso del mayor a menor
Consultas a varias tablasMuestra el nombre de la asignatura y el numero de aula donde esta asignadaSELECT asignaturas.curso, aulas.clave_aulaFROM asignaturas, aulasWHERE aulas.clave_aula=asignaturas.clave_aula;
Muestra las aulas donde se imparte la asignatura de historiaSELECT aulas.clave_aula FROM aulas,asignaturas WHERE asignaturas.curso=Historia AND aulas.clave_aula=asignaturas.clave_aulas;
Consultas a varias tablas(2)Muestra los das y horarios en los que se imparte la asignatura de historiaSELECT horarios.hora_inicio, horarios.hora_fin,horarios.diaFROM horarios, asignaturasWHERE asignaturas.nombre=Historia AND horarios.clave_asignatura=asignaturas.clave_asignaturaORDER BY horarios.dia,horarios.hora_inicio
Consultas a varias tablas(3)Muestra los alumnos cuyo profesor es Adrian Fernandez RojasSELECT DISTINC alumnos.nombreFROM alumnos, profesores, listasWHERE profesores.nombre=Adrian Fernandez Rojas AND listas.clave_profesor=profesores.clave_profesor AND alumnos.clave_alumno=listas.clave_alumnoORDER BY alumnos.nombre;
Consultas a varias tablas(4)Muestra las asignaturas que comienzan entre 8 y 10 el da JuevesSELECT asignaturas.curso, horarios.hora_inicio, horarios.hora_fin, horarios.diaFROM horarios, asignaturasWHERE horarios.clave_asignatura=asignaturas.clave_asignaturaAND horarios.hora_inicio BETWEEN 08:00:00 AND 10:00:00AND horarios.dia=lunesORDER BY horarios.dia,horarios.hora_inicio, asignaturas.nombre