Está en la página 1de 20

Bases de Datos en MySQL

Creación de tablas e
inserción de datos

L.I JOSE IGNACIO CAAMAL CHABLE


Modelo Entidad-Relación de una escuela…
Base de datos: Escuela
1. Genera las siguientes tablas:
ALUMNOS PROFESORES
DATO TIPO DE DATO TIPO DE
DATO DATO
CLAVE_ALUMNO INT CLAVE_PROFESOR INT
NOMBRE VARCHAR(60) NOMBRE VARCHAR(60)
EDAD INT
CURSO_ACTUAL INT 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)

AULAS ASIGNATURAS
DATO TIPO DE DATO TIPO DE
DATO DATO
CLAVE_AULA INT CLAVE_ASIGNATURA INT
CAPACIDAD INT CLAVE_AULA INT
CURSO VARCHAR(30)
DESCRIPCION VARCHAR(70)

EJEMPLO: Clave Foranea (FK)


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));
Tablas(3)
HORARIOS LISTAS
DATO TIPO DE DATO TIPO DE
DATO DATO
CLAVE_HORARIO INT
CLAVE_LISTA INT
CLAVE_ASIGNATURA INT
CLAVE_ALUMNO INT
DIA VARCHAR(10)
CLAVE_PROFESOR INT
HORA_INICIO TIME
CLAVE_ASIGNATURA INT
HORA_FIN TIME

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:
CLAVE_ALUMNO NOMBRE EDAD CURSO_ACTUAL

1 JUAN PEREZ ROSAS 12 3


2 JORGE LOPEZ FLORES 11 2
3 LAURA DIAZ HERNANDEZ 13 3

4 TANIA MONDRAGON GARCIA 11 2


5 ALEJANDRO CANSECO DIAZ 10 1

EJEMPLO:

Mysql> INSERT INTO ALUMNOS VALUES(‘1’, ‘JUAN PEREZ ROSAS’,


→ ’12’, ‘3’);
2. Inserta los siguientes datos en la tablas profesor:
CLAVE_PROFESOR NOMBRE

1 ADRIANA GONZALEZ ROBLES

2 JUAN GARCIA PEREZ

3 ADRIAN FERNANDEZ ROJAS

4 LAURA ITURRIA ESCOBAR

5 CLAUDIA GUZMAN JIMENEZ

EJEMPLO:

Mysql> INSERT INTO PROFESORES VALUES(‘1’, ‘ADRIANA


GONZALEZ ROBLES’);
2. Inserta los siguientes datos en la tablas aulas:

CLAVE_AULA CAPACIDAD

1 50

2 60

3 50

EJEMPLO:

Mysql> INSERT INTO AULAS VALUES(‘1’, ‘50’);


2. Inserta los siguientes datos en la tablas asignaturas:
CLAVE_ASIGNATURA CLAVE_AULA CURSO DESCRIPCION

1 2 HISTORIA HISTORIA DE MEXICO

2 3 MATEMATICAS ARITMETICA BASICA

3 FILOSOFIA LOGICA
3

4 QUIMICA QUIMICA ELEMENTAL


1

5 TICS INFORMATICA
2
BASICA

EJEMPLO:

Mysql> INSERT INTO ASIGNATURAS VALUES(‘1’, ‘2’,


→ ’HISTORIA’, ‘DESCRIPCION’);
2. Inserta los siguientes datos en la tablas horarios:
CLAVE_HORARIO CLAVE_ASIGNATURA DIA HORA_INICIO HORA_FIN

1 2 LUNES 10:00 11:00

2 3 MARTES 7:00 8:00

3 MIERCOLES 11:00 12:00


5

4 JUEVES 8:00 9:00


1

5 JUEVES 9:00 10:00


4

EJEMPLO:

Mysql> INSERT INTO HORARIOS VALUES(‘1’,’2’,’LUNES’,’10:00’,’11:00’);


2. Inserta los siguientes datos en la tabla listas:
CLAVE_LISTA CLAVE_ALUMNO CLAVE_PROFESOR CLAVE_ASIGNATURA

1 5 1 3

2 4 2 5

3 1 3
5

4 3 1
3

5 3 1
3

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 DISTINC alumnos.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
WHERE horarios.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

También podría gustarte