Вы находитесь на странице: 1из 18

CASO DE ESTUDIO UNIVERSIDAD

http://localhost:81/dashboard/

http://localhost:81/phpmyadmin/

La Universidad Sacaba requiere contar con una base de datos capaz de almacenar información correspondiente a las carreras que ofrece, los cursos pertenecientes a cada
carrera, los alumnos pertenecientes a dicha universidad y la carrera que estudian, así como las matrículas realizadas por cada uno de los alumnos:

 De la carrera, se desea conocer el nombre de la carrera


 De los alumnos, sus datos personales, sexo y fecha de nacimiento
 De los cursos, se desea conocer su nombre y cantidad de créditos(creditaje)
 De las matrículas, el alumno matriculado y en qué curso se encuentra matriculado y además de la fecha de matricula

Se necesitarán consultas adicionales basadas en la estructura y requerimientos mencionados

Matricula Apellidos Nombres Sexo FechaNacimient Curso CodigoCurso Creditos Carrera FechaMatricul
o a
1 Poveda Pedro M 03-09-2000 Base de 850 80 Sistemas 15-02-2019
Datos
1 Poveda Pedro M 03-09-2000 Web I 900 100 Sistemas 15-02-2019
1 Poveda Pedro M 03-09-2000 Ing de 800 80 Sistemas 15-02-2019
Software
2 Mamani María F 02-07-1998 Web I 900 100 Sistemas 18-02-2019
3 Ramos Rosa F 13-05-1995 Web I 900 100 Sistemas 17-02-2019

PRIMER FORMA NORMAL

 No debe haber filas duplicadas


 La tabla debe tener una clave primaria
 No debe haber campos multivaluados (más de un teléfono en el campo teléfono)

Matricula Apellidos Nombres Sexo FechaNacimient Carrera FechaMatricul


o a
1 Poveda Pedro M 03-09-2000 Sistemas 15-02-2019
2 Mamani Maria F 02-07-1998 Sistemas 18-02-2019
3 Ramos Rosa F 13-05-1995 Sistemas 17-02-2019
Matricula Curso CodigoCurso Creditos
1 Base de 850 80
Datos
1 Web I 900 100
1 Ing de 800 80
Software
2 Web I 900 100
3 Web I 900 100

SEGUNDA FORMA NORMAL

 Primera forma normal


 Identificar dependencias entre campos y clave primaria

Matricula Apellidos Nombres Sexo FechaNacimient Carrera FechaMatricul


o a
1 Poveda Pedro M 03-09-2000 Sistemas 15-02-2019
2 Mamani Maria F 02-07-1998 Sistemas 18-02-2019
3 Ramos Rosa F 13-05-1995 Sistemas 17-02-2019

Matricula CodigoCurso FechaMatricul


a
1 850 15-02-2019
1 900 15-02-2019
1 800 15-02-2019
2 900 18-02-2019
3 900 17-02-2019

CodigoCurs Curso Creditos


o
850 Base de 80
Datos
900 Web I 100
800 Ing de 80
Software
900 Web I 100
900 Web I 100

TERCERA FORMA NORMAL

 Segunda forma normal


 Identificar dependencias transitivas con la clave primaria

Matricula Apellidos Nombres Sexo FechaNacimient IdCarrera


o
1 Poveda Pedro M 03-09-2000 111
2 Mamani Maria F 02-07-1998 111
3 Ramos Rosa F 13-05-1995 111

IdCarrera Carrera
111 Sistemas
211 Electrónica

Matricula CodigoCurso FechaMatricul


a
1 850 15-02-2019
1 900 15-02-2019
1 800 15-02-2019
2 900 18-02-2019
3 900 17-02-2019
CodigoCurs Curso Creditos
o
850 Base de Datos 80
900 Web I 100
800 Ing de Software 80
900 Web I 100
900 Web I 100

BASE DE DATOS
Model ER
1. DISEÑO CONCEPTUAL
2. DISEÑO LOGICO
3. DISEÑO FISICO
https://www.w3schools.com/sql/
DISEÑO DE TABLAS PARA LA BASE DE DATOS (MYSQL)

CARRERA

codigo_carrer nombre_carrer
a a
TINYINT(2) VARCHAR(50)
ESTUDIANTE

codigo_es apellidoPaterno_es apellidoMaterno_es nombres_est sexo_es fechaNac_es codigo_carrer


t t t t t a
INT(11) VARCHAR(35) VARCHAR(35) VARCHAR(35 CHAR(1) DATE TINYINT(2)
)
CURSO

codigo_curs nombre_curs creditos_curs codigo_carrer estado


o o o a
SMALLINT(4) VARCHAR(50) TINYINT(2) TINYINT(2) TINYINT(1
) MATRICULA

codigo_matricul codigo_est codigo_curs fecha


a o
INT(11) INT(11) SMALLINT(4) DATE
CREACION DE BASE DE DATOS EN MYSQL
DEFINIR LLAVES PRIMARIAS Y COLOCARLAS COMO AUTOINCREMENTABLES
 CARRERA
ALTER TABLE carrera ADD PRIMARY KEY(codigo_carrera);
ALTER TABLE carrera CHANGE codigo_carrera codigo_carrera TINYINT(2) NOT NULL AUTO_INCREMENT;
 CURSO
ALTER TABLE curso ADD PRIMARY KEY(codigo_curso);
ALTER TABLE curso CHANGE codigo_curso codigo_curso SMALLINT(4) NOT NULL AUTO_INCREMENT;
 ESTUDIANTE
ALTER TABLE estudiante ADD PRIMARY KEY(codigo_est);
ALTER TABLE estudiante CHANGE codigo_est codigo_est INT NOT NULL AUTO_INCREMENT;

 MATRICULA
ALTER TABLE matricula ADD PRIMARY KEY(codigo_matricula);
ALTER TABLE matricula CHANGE codigo_matricula codigo_matricula INT NOT NULL AUTO_INCREMENT;

DEFINIR RELACIONES ENTRE TABLAS MEDIANTE LLAVES FORANEAS


 MATRICULA-ESTUDIANTE
ALTER TABLE matricula ADD FOREIGN KEY(codigo_est) REFERENCES estudiante(codigo_est);

 MATRICULA-CURSO
ALTER TABLE matricula ADD FOREIGN KEY(codigo_curso) REFERENCES curso(codigo_curso);

 ESTUDIANTE-CARRERA
ALTER TABLE estudiante ADD FOREIGN KEY(codigo_carrera) REFERENCES carrera(codigo_carrera);

 CURSO-CARRERA
ALTER TABLE curso ADD FOREIGN KEY(codigo_carrera) REFERENCES carrera(codigo_carrera);
LLENAR REGISTROS EN LAS TABLAS
 CARRERA

INSERT INTO carrera(nombre_carrera) VALUES ("INGENIERIA DE SISTEMAS");


INSERT INTO carrera(nombre_carrera) VALUES ("BIOQUIMICA");
INSERT INTO carrera(nombre_carrera) VALUES ("INGENIERIA DE SONIDO");
INSERT INTO carrera(nombre_carrera) VALUES ("INGENIERIA DE CIVIL");

 CURSO
 ESTUDIANTE
 MATRICULA

Вам также может понравиться