Está en la página 1de 20

Bases de Datos en MySQL

Creacin de tablas
e insercin de datos

Profa: Blanca Estela Conde Hernnde

Modelo Entidad-Relacin de una


escuela

Base de datos: Escuela


1. Genera las siguientes
tablas:
ALUMNOS
DATO
TIPO DE
DATO

PROFESORES
DATO
TIPO DE
DATO

CLAVE_ALUMN
O

INT

CLAVE_PROFES
OR

INT

NOMBRE

VARCHAR(60
)

NOMBRE

VARCHAR(6
0)

EDAD

INT

CURSO_ACTUA

INT

EJEMPLO:
L

Clave principal
(PK)

Mysql> CREATE TABLE ALUMNOS(CLAVE_ALUMNO


INT,
-> NOMBRE VARCHAR(60), EDAD INT,

Tablas(2)
AULAS
DATO
TIPO DE
DATO
CLAVE_AULA

INT

CAPACIDAD

INT

EJEMPLO:

ASIGNATURAS
DATO
TIPO DE
DATO
CLAVE_ASIGNATU INT
RA
CLAVE_AULA

INT

CURSO

VARCHAR(30
)

DESCRIPCION

Clave
(FK)

VARCHAR(70
Foranea
)

Mysql> CREATE TABLE


ASIGNATURAS(CLAVE_ASIGNATURA -> INT,
CLAVE_AULA INT, CURSO VARCHAR(30),
-> DESCRIPCION VARCHAR(60) , PRIMARY KEY
-> (CLAVE_ASIGNATURA ), FOREING KEY
(CLAVE_AULA)

Tablas(3)
HORARIOS
DATO
TIPO DE
DATO
CLAVE_HORARIO

INT

CLAVE_ASIGNATU
RA

INT

DIA

VARCHAR(1
0)

HORA_INICIO

TIME

HORA_FIN

TIME

EJEMPLO:

LISTAS
DATO
TIPO DE
DATO
CLAVE_LISTA

INT

CLAVE_ALUMNO

INT

CLAVE_PROFESO
R

INT

CLAVE_ASIGNATU INT
RA

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

2. Inserta los siguientes datos en la tablas


alumnos:
CLAVE_ALUM
NO

NOMBRE

1
2
3

JUAN PEREZ ROSAS

4
5

EDA
D

CURSO_ACTU
AL

12
11
13

3
2
3

TANIA MONDRAGON
GARCIA

11

ALEJANDRO CANSECO
DIAZ

10

JORGE LOPEZ FLORES


LAURA DIAZ HERNANDEZ

EJEMPLO:
Mysql> INSERT INTO ALUMNOS VALUES(1, JUAN
PEREZ ROSAS, 12, 3);

2. Inserta los siguientes datos en la tablas


profesor:
CLAVE_PROFES
OR

NOMBRE

ADRIANA GONZALEZ
ROBLES

2
3

JUAN GARCIA PEREZ

4
5

LAURA ITURRIA ESCOBAR

ADRIAN FERNANDEZ
ROJAS
CLAUDIA GUZMAN
JIMENEZ

EJEMPLO:
Mysql> INSERT INTO PROFESORES VALUES(1,
ADRIANA GONZALEZ ROBLES);

2. Inserta los siguientes datos en la tablas


aulas:
CLAVE_AU
LA

CAPACIDAD

1
2
3

50
60
50

EJEMPLO:
Mysql> INSERT INTO AULAS VALUES(1, 50);

2. Inserta los siguientes datos en la tablas


asignaturas:
CLAVE_ASIGNAT CLAVE_AUL
CURSO
DESCRIPCION
URA

2
3
4
5

HISTORIA

HISTORIA DE
MEXICO

MATEMATIC
AS

ARITMETICA
BASICA

FILOSOFIA

LOGICA

QUIMICA

QUIMICA
ELEMENTAL

TICS

INFORMATICA
BASICA

1
2

EJEMPLO:
Mysql> INSERT INTO ASIGNATURAS VALUES(1, 2,
HISTORIA, DESCRIPCION);

2. Inserta los siguientes datos en la tablas


horarios:
CLAVE_HORAR CLAVE_ASIGNATU
DIA
HORA_INICI HORA_FIN
IO

RA

LUNES

10:00

11:00

MARTES

7:00

8:00

MIERCOLE
S

11:00

12:00

JUEVES

8:00

9:00

JUEVES

9:00

10:00

3
4
5

1
4

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

2. Inserta los siguientes datos en la tabla


listas:
CLAVE_LIST CLAVE_ALUM
CLAVE_PROFE CLAVE_ASIGNATURA
A

NO

SOR

3
4
5

5
3
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 aos


SELECT 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

edad

SELECT * FROM alumnos WHERE


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 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 BY


Ordenar ascendentemente los nombres de los

alumnos
SELECT * 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 ordenacin
Muestra 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 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

Consultas a varias tablas(2)


Muestra los das 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_profe
sor
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 da Jueves
SELECT asignaturas.curso, horarios.hora_inicio,
horarios.hora_fin, horarios.dia
FROM horarios, asignaturas
WHERE
horarios.clave_asignatura=asignaturas.clave_asi
gnatura
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