Está en la página 1de 130

Universidad Mariano Gálvez de Guatemala

Facultad de Ingeniería en Sistemas y Ciencias de la Computación

Base de Datos I

Ingeniero José Manuel González Chúa

Proyecto Final-Asociación.

Fernando Amado Escobar Pérez 1790-18-14963

Hector Armando García González 1790-19-9189

José Isaí Ixcoy Morales 1790-19-10940

Lester Josué García Valladares 1790-19-13011

José Damián Veliz Hernández 1790-19-14176

Carlos Daniel Vela Luna 1790-19-15391

Chiquimulilla, Santa Rosa 15 de octubre de 2021


Índice.
Introducción...................................................................................................................................... I

Carta de Acompañamiento .............................................................................................................. II

Fase I. ............................................................................................................................................... 1

Capítulo I .......................................................................................................................................... 1

1. Marco Teórico. ......................................................................................................................... 1

2. Visión. ...................................................................................................................................... 1

3. Misión....................................................................................................................................... 1

4. Valores. .................................................................................................................................... 2

5. Organigrama. ............................................................................................................................ 3

6. Objetivos del proyecto: ............................................................................................................ 4

6.1. Objetivo General. ........................................................................................................... 4

6.2. Objetivos Específicos..................................................................................................... 4

Fase II. .............................................................................................................................................. 5

Capítulo II......................................................................................................................................... 5

7. Análisis y diseño del sistema propuesta. ............................................................................... 5

7.1. Modelo de la tabla Feria. ................................................................................................... 6

7.2. Modelo de la tabla Plaza. ................................................................................................... 7

7.3. Modelo de la tabla Ganadería. ........................................................................................... 7

7.4. Modelo de la tabla Padrino. ............................................................................................... 7

7.5. Modelo de la tabla Apoderado........................................................................................... 7

7.6. Modelo de la tabla Torero.................................................................................................. 8

7.7. Modelo de la tabla Regalo. ................................................................................................ 8

7.8. Modelo de la tabla Toro..................................................................................................... 8

7.9. Modelo de la tabla Corrida. ............................................................................................... 8

7.10. Entidad Relación de la base de datos. ............................................................................ 9


Fase III. ........................................................................................................................................... 10

Capítulo III ..................................................................................................................................... 10

Diseño. ............................................................................................................................................ 10

Implementación de la base de datos. .............................................................................................. 10

8. Hecho desde el CMD (SQLPLUS). ....................................................................................... 10

8.1. Creación del Usuario y Contraseña. ................................................................................ 10

8.2. Asignación de Roles. ....................................................................................................... 11

8.3. Asignación de Privilegios. ............................................................................................... 12

8.4. Inicio de sesión con el nuevo usuario. ............................................................................. 13

8.5. Creación de la tabla Feria. ............................................................................................... 13

8.6. Creación de la tabla Plaza. ............................................................................................... 14

8.7. Creación de la tabla Ganadería. ....................................................................................... 14

8.8. Creación de la tabla Padrino. ........................................................................................... 14

8.9. Creación de la tabla Apoderado....................................................................................... 15

8.10. Creación de la tabla Torero. ......................................................................................... 15

8.11. Creación de la tabla Regalo. ........................................................................................ 15

8.12. Creación de la tabla Toro. ............................................................................................ 16

8.13. Creación de la tabla Corrida......................................................................................... 16

8.14. Insertando datos en la tabla Feria................................................................................. 16

8.15. Mostrando datos de la tabla Feria. ............................................................................... 17

8.16. Insertando datos en la tabla Plaza. ............................................................................... 17

8.17. Mostrando datos de la tabla Plaza. ............................................................................... 17

8.18. Insertando dato en la tabla Ganadería. ......................................................................... 18

8.19. Mostrando datos de la tabla Ganadería. ....................................................................... 18

8.20. Insertando datos en la tabla Padrino. ........................................................................... 18


8.21. Mostrando datos de la tabla Padrino. ........................................................................... 19

8.22. Insertando datos en la tabla Apoderado. ...................................................................... 19

8.23. Mostrando dato de la tabla Apoderado. ....................................................................... 19

8.24. Insertando datos en la tabla Torero. ............................................................................. 20

8.25. Mostrando datos de la tabla Torero.............................................................................. 20

8.26. Insertando datos en la tabla Regalo.............................................................................. 20

8.27. Mostrando datos de la tabla Regalo. ............................................................................ 21

8.28. Insertando datos en la tabla Toro. ................................................................................ 21

8.29. Mostrando dato de la tabla Toro. ................................................................................. 21

8.30. Insertando datos en la tabla Corrida............................................................................. 22

8.31. Mostrando datos de la tabla Corrida. ........................................................................... 22

9. Hecho desde la interfaz de Oracle. ......................................................................................... 23

9.1. Creación de Usuario Asociación. .................................................................................... 23

9.2. Usuario Asociación Creado ................................................................................................. 24

9.3. Inicio de sesión con usuario Asociación. ............................................................................ 24

9.4. Creación de tablas, inserción de comandos ......................................................................... 25

9.5. Creación de la tabla FERIA................................................................................................. 25

9.6. Creación de la tabla PLAZA ............................................................................................... 26

9.7. Creación de la tabla GANADERIA .................................................................................... 26

9.8. Creación de la tabla PADRINO .......................................................................................... 27

9.9. Creación de la tabla APODERADO ................................................................................ 27

9.10. Creación de la tabla TORERO ..................................................................................... 28

9.11. Creación de tabla REGALO ........................................................................................ 29

9.12. Creación de la tabla TORO .......................................................................................... 29

9.13. Creación de la tabla CORRIDA ........................................................................................ 30


9.14. Insertando datos en la tabla Feria................................................................................. 31

9.15. Insertando datos en la tabla Plaza. ............................................................................... 31

9.16. Insertando datos en la tabla Ganadería. ....................................................................... 32

9.17. Insertando datos en la tabla Padrino. ........................................................................... 32

9.18. Insertando datos en la tabla Apoderado. ...................................................................... 33

9.19. Insertando datos en la tabla Torero. ............................................................................. 33

9.20. Insertando datos en la tabla Regalo.............................................................................. 34

9.21. Insertando datos en la tabla Toro. ................................................................................ 34

9.22. Insertando datos en la tabla Corrida............................................................................. 35

9.23. Mostrando datos de la tabla Feria. ............................................................................... 36

9.24. Mostrando dato de la tabla Plaza. ................................................................................ 36

9.25. Mostrando datos de la tabla Ganadería. ....................................................................... 36

9.26. Mostrando datos de la tabla Padrino. ........................................................................... 37

9.27. Mostrando datos de la tabla Apoderado....................................................................... 37

9.28. Mostrando datos de la tabla Torero.............................................................................. 37

9.29. Mostrando datos de la tabla Regalo. ............................................................................ 37

9.30. Mostrando datos de la tabla Toro................................................................................. 38

9.31. Mostrando datos de la tabla Corrida. ........................................................................... 38

10. Hecho desde PHP y MySQL ............................................................................................... 39

10.1. Interfaz de MySQL ...................................................................................................... 39

10.2. Creación de la tabla Usuario ........................................................................................ 39

10.3. Creación de la tabla Feria............................................................................................. 40

10.4. Creación de la tabla Plaza ............................................................................................ 40

10.5. Creación de la tabla Ganadería .................................................................................... 40

10.6. Creación de la tabla Padrino ........................................................................................ 40


10.7. Creación de la tabla Apoderado ........................................................................................ 41

10.8. Creación de la tabla Torero .......................................................................................... 41

10.9. Creación de la tabla Regalo ......................................................................................... 41

10.10. Creación de la tabla Toro ............................................................................................. 42

10.11. Creación de la tabla Corrida......................................................................................... 42

10.12. Tablas Creadas ............................................................................................................. 43

10.13. Estructura de las Tablas Creadas ................................................................................. 44

11. Normalización ..................................................................................................................... 38

11.1. Primera forma Normal ................................................................................................. 38

11.2. Segunda forma Normal ................................................................................................ 39

11.3. Tercera forma Normal.................................................................................................. 40

Fase IV............................................................................................................................................ 41

Capítulo IV ..................................................................................................................................... 41

12. ENUNCIADO DEL PROBLEMA ...................................................................................... 41

13. Cronograma ......................................................................................................................... 42

14. Consejos en la implementación ........................................................................................... 43

15. Script de la base de datos .................................................................................................... 44

15.1. Script de Oracle............................................................................................................ 44

15.1.1. CREATE TABLE Feria........................................................................................ 44

15.1.2. CREATE TABLE Plaza ....................................................................................... 44

15.1.3. CREATE TABLE Ganaderia ............................................................................... 44

15.1.4. CREATE TABLE Padrino ................................................................................... 45

15.1.5. CREATE TABLE Apoderado .............................................................................. 45

15.1.6. CREATE TABLE Torero ..................................................................................... 45

15.1.7. CREATE TABLE Regalo .................................................................................... 46


15.1.8. CREATE TABLE Toro ........................................................................................ 47

15.1.9. CREATE TABLE Corrida.................................................................................... 47

15.1.10. INSERT INTO Feria ............................................................................................ 48

15.1.11. INSERT INTO Plaza ............................................................................................ 48

15.1.12. INSERT INTO Padrino ........................................................................................ 48

15.1.13. INSERT INTO Apoderado ................................................................................... 48

15.1.14. INSERT INTO Torero .......................................................................................... 48

15.1.15. INSERT INTO Regalo ......................................................................................... 49

15.1.16. INSERT INTO Toro ............................................................................................. 49

15.1.17. INSERT INTO Corrida ........................................................................................ 49

16. Script de MySQL (phpmyadmin) ........................................................................................ 50

16.1. Creación de la tabla Usuario .................................................................................... 50

16.2. Creación de la tabla Feria ......................................................................................... 50

16.3. Creación de la tabla Plaza ........................................................................................ 51

16.4. Creación de la tabla Ganadería................................................................................. 51

16.5. Creación de la tabla Padrino..................................................................................... 51

16.6. Creación de la tabla Apoderado ............................................................................... 52

16.7. Creación de la tabla Torero ...................................................................................... 52

16.8. Creación de la tabla Regalo ...................................................................................... 53

16.9. Creación de la tabla Toro ......................................................................................... 53

16.10. Creación de la tabla Corrida ..................................................................................... 54

17. Script de PHP ...................................................................................................................... 55

17.1. Conexión a la base de datos (Conexión.MySQL.php) ............................................. 55

17.2. Código para la validación del login (ControladorLogin.php) .................................. 55

17.3. Código para insertar datos en la tabla Usuario (ControladorRegistroUsuario.php). 56


17.4. Código para insertar datos en la tabla Feria y en la tabla Plaza
(ControladorRegistroFiestas.php) .......................................................................................... 59

17.5. Código para insertar datos en la tabla Padrino y en la tabla Apoderado


(ControladorRegistroPadrino.php) ......................................................................................... 61

17.6. Código para insertar datos en la tabla Torero (ControladorRegistroTorero.php) .... 63

17.7. Código para insertar datos en la tabla Regalo y tabla Corrida


(ControladorRegistroTorero2.php)......................................................................................... 65

17.8. Código para insertar datos en la tabla Ganadería (ControladorRegistroToro.php) .. 67

17.9. Código para insertar datos en la tabla Toro (ControladorRegistroToro2.php) ........ 68

17.10. Código para ver registro de la tabla Usuario (ControladorVerRegistroUsuario.php)


70

17.11. Código para ver registro de la tabla Feria y tabla Plaza


(ControladorVerRegistroFiesta.php) ...................................................................................... 73

17.12. Código para ver registro de la tabla Padrino y tabla Apoderado


(ControladorVerRegistroPadrino.php) ................................................................................... 77

17.13. Código para ver registro de la tabla Torero, tabla Regalo y tabla Corrida
(ControladorVerRegistroTorero.php)..................................................................................... 80

17.14. Código para ver registro de la tabla Ganadería y tabla Toro


(ControladorVerRegistroToro.php)........................................................................................ 85

17.15. Código para borrar registro de la tabla Usuario


(ControladorBorrarRegistroUsuario.php) .............................................................................. 89

18. Código para crear un backup en caliente desde el cmd ....................................................... 91

18.1. Código para crear un backup en caliente desde el botón Crear Backup de la vista
perfil.html ............................................................................................................................... 91

Conclusiones................................................................................................................................... III

Recomendaciones. ......................................................................................................................... IV

Anexos. ............................................................................................................................................ V
Imagen # 1: “Página principal” ................................................................................................... V

Imagen # 2: “Quienes somos” ................................................................................................... VI

Imagen # 3: “Página Principal de Contáctanos”........................................................................ VI

Imagen #4: “Formulario Contáctanos” ..................................................................................... VII

Imagen # 5: “Misión” ............................................................................................................... VII

Imagen # 6: “Visión” ............................................................................................................... VIII

Imagen # 7: “Nuestro equipo” ................................................................................................. VIII

Imagen # 8: “Login para los usuarios” .................................................................................... VIII

Imagen # 9: “Perfil del Administrador de la Base de Datos DBA” .......................................... IX

Imagen # 10: “Perfil DBA-Opción Avanzada-Administrar Usuarios” ....................................... X

Imagen # 11: “Perfil DBA-Opción Avanzada-Ver Registros”.................................................... X

Imagen # 12: “Perfil del Usuario Común” .................................................................................. X

Imagen # 14: “Registro de Usuarios-Tabla Usuario” ................................................................ XI

Imagen # 14: “Registro de Ferias-Tabla Feria y Tabla Plaza” ................................................. XII

Imagen # 15: “Registro de Toros-Tabla Ganadería” ............................................................... XIII

Imagen # 16: “Registro de Toros-Tabla Toros” ...................................................................... XIII

Imagen # 17: “Registro de Padrinos-Tabla Padrino y Tabla Apoderado” ..............................XIV

Imagen # 18: “Registro de Toreros-Tabla Torero” .................................................................XVI

Imagen # 19: “Registro de Toreros- Tabla Regalo y Tabla Corrida”......................................XVI

Imagen # 20: “Ver registro de la tabla Usuario” ................................................................... XVII

Imagen # 21: “Ver registro de la tabla Feria y tabla Plaza” ................................................. XVIII

Imagen # 22: “Ver registro de la tabla Ganadería y tabla Toro” .......................................... XVIII

Imagen # 23: “Ver registro de la tabla Padrino y tabla Apoderado” .......................................XIX

Imagen # 24: “Parte 1-Ver registro de la tabla Torero y tabla Regalo” ..................................XIX

Imagen # 25: “Parte 2-Ver registro de la tabla Corrida” .........................................................XIX


Imagen # 26: “Vista para borrar registros del usuario” ............................................................ XX

Imagen # 27: “Crear backup en caliente desde el cmd” ........................................................... XX

E-grafía. .......................................................................................................................................XXI
Introducción

En el presente documento se detalla la estructura de una institución enfocada a la organización de


corridas de toros, dando información desde sus características bases como lo son visión, misión,
objetivos, entre otros, además estructuras más detalladas y de control como lo que con las
entidades para una base de datos sus atributos y relaciones entre entidades, a su vez se detalla la
estructura del personal, sus mejores toreros y organizadores de eventos, en las estructuras de
datos que son las bases de datos se muestran de diversas formas como lo con la implementación
por medio de consola y por medio de la interfaz de Oracle, a su vez se incluyen los diagramas de
forma más simple de ver lo que son las relaciones de las entidades.

También encontraremos información de creación de usuarios, asignación de roles y permisos de


los usuarios, los modelos de las entidades, análisis y diseño de las bases de datos, inserción de
datos, etc.

I|Página
Carta de Acompañamiento

España, 29 de septiembre de 2021.


Señor:
Marco Pérez.
Gerente Asociación Amigos de la Fiesta.

Estimado Señor Morales:

El grupo de Estudiantes de la Facultad de Ingeniería en Sistemas y Ciencias de la Computación


en la realización de un proyecto se realizó una Investigación sobre las corridas de toros que
realizan en su asociación.

El proyecto está basado en las técnicas de negocio y lo que se distribuyen, el propósito del
proyecto es crear una base de datos para almacenar todos los archivos y movimientos del
negocio, también se elaborará un informe sobre la estructura de la base de datos y la información
del negocio.

Estamos seguros que este proyecto le servirá para que se lleve un control de los registros de su
Asociación Amigos de la Fiesta.

Agradecemos de antemano su atención al presente informe.


Atentamente,

Equipo Estudiantes - UMG -

II | P á g i n a
Fase I.

Capítulo I

1. Marco Teórico.

2. Visión.

Ser una empresa reconocida a nivel nacional e innovadora, con el fin de devolverle la
integridad al espectáculo se puede promocionar y difundir en el marco de nuestra
cultura y a través de ello brindarle un buen ambiente a nuestros clientes.

3. Misión.

En toreros de la casa somos apasionados de la fiesta brava, con la idea clara de


proyectarla en una nueva dimensión, que involucre a todos los aficionados de forma
muy especial, al protagonismo de cada ciudad y pueblo en donde se ofrecen festejos
por tradición.

1|Página
4. Valores.
➢ Solidaridad: En nuestra asociación todos buscamos ayudar y cumplir con los
objetivos que nos planteamos con una anterior preparación, todos somos
equipo.

➢ Responsabilidad: En nuestra asociación asumimos el valor de la


responsabilidad por el compromiso hacia la sociedad y el entorno que nos
rodean, para así brindarles lo mejor de nosotros

➢ Orientación al usuario: Nuestros clientes son el centro de nuestra asociación. La


evolución, mejoras y transformaciones llevadas a cabo en nuestra asociación
siempre están diseñadas con intención de mejorar el servicio al usuario, basadas
en sus necesidades.

➢ Respeto: En esta asociación reconocemos el valor de una persona y sus


derechos. Por eso trabajamos por el respeto como vía de convivencia y
enriquecimiento.

➢ No discriminación: Todos trabajamos en esta asociación con un objetivo en


común el cual es la igualdad de oportunidades y la erradicación de toda
discriminación por, raza, sexo, religión u opinión entre muchas más.

2|Página
5. Organigrama.

3|Página
6. Objetivos del proyecto:

6.1.Objetivo General.

➢ Llevar un control exacto sobre los registros que se llevan a cabo en el negocio, llevando
estos de una manera estructurada y ordenada, evitando así las ambigüedades de llevar todos
los registros de manera física arriesgándose a perder datos importantes por el extravío de
papelería. Tener todos los datos que la empresa realiza en su día a día teniendo
almacenados estos en la base de datos, llevando un registro sobre todas las transacciones y
todos los bienes que la empresa posee, así como un registro sobre todos los clientes y
socios que adquieren productos de la misma. Todos los registros que se almacenan en la
base de datos están ordenados de una manera estructura y relacionada, impidiendo así la
perdida de los datos o manipulación de los mismos.

6.2. Objetivos Específicos.

➢ Realizar la planificación estratégica para llevar a cabo los proyectos en base a calidad y
menor tiempo.
➢ Adquirir maquinaria nueva a la vanguardia de la tecnología para satisfacer a nuestros
clientes en base a calidad.
➢ Brindar un ambiente laboral donde el personal se pueda desenvolver con capacidad,
brindando una capacitación constante a nuestro personal en las diferentes ciencias
aplicadas a la construcción y tecnología.

4|Página
Fase II.

Capítulo II
7. Análisis y diseño del sistema propuesta.
Leyendo el problema identificamos que deberíamos implementar una identidad para almacenar la
información de las corridas de toros y llamando la identidad “CorridaToros” teniendo como
atributos año celebración y la fecha que fue celebrada al igual teniendo un identificador único. Al
igual necesitamos una entidad torero para así llevar el control de las personas que desempeñan
ese rol teniendo en cuenta los siguientes datos:

NombreTorero, ApellidoTorero, ApodoTorero, PadrinoTorero, CantidadTorero,


FechaAlternativa, además de su identificador único DNI.

Como hablamos sobre corridas de toros necesitamos una entidad para llevar el control de los
toros en posesión guardando los siguientes datos:

AñoNacimiento, NumeroOrden, NombreToro, ColorToro, OrdenEfectuado, además de su


identificador único CodToro.

Además, esta entidad se relaciona con las dos entidades antes analizadas CorridaToros y Toreros
con una relación de muchos a uno.

Además, necesitamos una entidad para llevar el control de los premios que llevaría como
atributos:

NoOrejas, NoRabos, PuertaGrande, además de un identificador IdPremio.

Este se relacionará con la entidad torero de muchos a uno.

También necesitamos una entidad para saber de qué ganadería provienen los toros guardados los
siguientes datos:

Nombre Ganadería, LocalidadGanaderia, ProcedenciaGanaderia, Antigüedad con un


identificador único CodGanaderia.

5|Página
Relacionándola con la entidad Toro de uno a muchos.

También necesitamos guardar la información de donde se realizan las corridas, la cual se crea una
entidad plaza con los siguientes atributos:

NombrePlaza, LocalidadPlaza, DireccionPlaza, AforoPlaza y con su identificador único IdPlaza.

Está relacionado con la entidad Corrida y la entidad Premio ambas de uno a muchos.

También necesitamos guardar la información sobre los apoderados o jefes del torero quedando de
la siguiente manera:

NombreApoderado, ApellidoApoderado, DireccionApoderado, TelefonoApoderado,


CorreoApoderado y con su identificador único DNI.

Esa entidad la relacionaremos con la entidad Torero de uno a muchos.

También necesitamos guardar información sobre los que apadrinan a los toreros y lo guardaremos
con los siguientes atributos:

NombrePadrino, Alternativa, CantidadAlternativa y su identificador único DNIPadrino.

Esa entidad la relacionamos con la entidad Torero de uno a muchos.

A continuación, se mostrarán los modelos de la base de datos:

7.1.Modelo de la tabla Feria.

6|Página
7.2.Modelo de la tabla Plaza.

7.3.Modelo de la tabla Ganadería.

7.4. Modelo de la tabla Padrino.

7.5. Modelo de la tabla Apoderado.

7|Página
7.6.Modelo de la tabla Torero.

7.7.Modelo de la tabla Regalo.

7.8.Modelo de la tabla Toro.

7.9.Modelo de la tabla Corrida.

8|Página
7.10. Entidad Relación de la base de datos.

9|Página
Fase III.

Capítulo III

Diseño.

Implementación de la base de datos.

8. Hecho desde el CMD (SQLPLUS).

8.1. Creación del Usuario y Contraseña.

10 | P á g i n a
8.2.Asignación de Roles.

11 | P á g i n a
8.3.Asignación de Privilegios.

12 | P á g i n a
8.4.Inicio de sesión con el nuevo usuario.

8.5.Creación de la tabla Feria.

13 | P á g i n a
8.6.Creación de la tabla Plaza.

8.7.Creación de la tabla Ganadería.

8.8.Creación de la tabla Padrino.

14 | P á g i n a
8.9.Creación de la tabla Apoderado.

8.10. Creación de la tabla Torero.

8.11. Creación de la tabla Regalo.

15 | P á g i n a
8.12. Creación de la tabla Toro.

8.13. Creación de la tabla Corrida.

8.14. Insertando datos en la tabla Feria.

16 | P á g i n a
8.15. Mostrando datos de la tabla Feria.

8.16. Insertando datos en la tabla Plaza.

8.17. Mostrando datos de la tabla Plaza.

17 | P á g i n a
8.18. Insertando dato en la tabla Ganadería.

8.19. Mostrando datos de la tabla Ganadería.

8.20. Insertando datos en la tabla Padrino.

18 | P á g i n a
8.21. Mostrando datos de la tabla Padrino.

8.22. Insertando datos en la tabla Apoderado.

8.23. Mostrando dato de la tabla Apoderado.

19 | P á g i n a
8.24. Insertando datos en la tabla Torero.

8.25. Mostrando datos de la tabla Torero.

8.26. Insertando datos en la tabla Regalo.

20 | P á g i n a
8.27. Mostrando datos de la tabla Regalo.

8.28. Insertando datos en la tabla Toro.

8.29. Mostrando dato de la tabla Toro.

21 | P á g i n a
8.30. Insertando datos en la tabla Corrida.

8.31. Mostrando datos de la tabla Corrida.

22 | P á g i n a
9. Hecho desde la interfaz de Oracle.
9.1.Creación de Usuario Asociación.

23 | P á g i n a
9.2. Usuario Asociación Creado

9.3. Inicio de sesión con usuario Asociación.

24 | P á g i n a
9.4. Creación de tablas, inserción de comandos

9.5. Creación de la tabla FERIA

25 | P á g i n a
9.6. Creación de la tabla PLAZA

9.7. Creación de la tabla GANADERIA

26 | P á g i n a
9.8. Creación de la tabla PADRINO

9.9.Creación de la tabla APODERADO

27 | P á g i n a
9.10.Creación de la tabla TORERO

28 | P á g i n a
9.11.Creación de tabla REGALO

9.12.Creación de la tabla TORO

29 | P á g i n a
9.13. Creación de la tabla CORRIDA

30 | P á g i n a
9.14. Insertando datos en la tabla Feria.

9.15.Insertando datos en la tabla Plaza.

31 | P á g i n a
9.16.Insertando datos en la tabla Ganadería.

9.17.Insertando datos en la tabla Padrino.

32 | P á g i n a
9.18.Insertando datos en la tabla Apoderado.

9.19.Insertando datos en la tabla Torero.

33 | P á g i n a
9.20.Insertando datos en la tabla Regalo.

9.21.Insertando datos en la tabla Toro.

34 | P á g i n a
9.22.Insertando datos en la tabla Corrida.

35 | P á g i n a
9.23.Mostrando datos de la tabla Feria.

9.24.Mostrando dato de la tabla Plaza.

9.25.Mostrando datos de la tabla Ganadería.

36 | P á g i n a
9.26.Mostrando datos de la tabla Padrino.

9.27.Mostrando datos de la tabla Apoderado.

9.28.Mostrando datos de la tabla Torero.

9.29. Mostrando datos de la tabla Regalo.

37 | P á g i n a
9.30.Mostrando datos de la tabla Toro.

9.31.Mostrando datos de la tabla Corrida.

38 | P á g i n a
10. Hecho desde PHP y MySQL

10.1.Interfaz de MySQL

10.2.Creación de la tabla Usuario

39 | P á g i n a
10.3.Creación de la tabla Feria

10.4. Creación de la tabla Plaza

10.5. Creación de la tabla Ganadería

10.6. Creación de la tabla Padrino

40 | P á g i n a
10.7. Creación de la tabla Apoderado

10.8. Creación de la tabla Torero

10.9. Creación de la tabla Regalo

41 | P á g i n a
10.10. Creación de la tabla Toro

10.11. Creación de la tabla Corrida

42 | P á g i n a
10.12. Tablas Creadas

43 | P á g i n a
10.13. Estructura de las Tablas Creadas

44 | P á g i n a
11. Normalización
Tabla no normalizada Parte 1

No_Orden_Corrida Nombre_Feria Año_Celebracion Cantidad_Toreros DNI_Torero1 DNI_Torero2 DNI_Torero3 Nombre_Torero1 Nombre_Torero2 Nombre_Torero3 Apodo_Torero1 Apodo_Torero2 Apodo_Torero3 Edad_Torero1 Edad_Torero2 Edad_Torero3 Sexo_Torero1

Tabla no normalizada Parte 2

Sexo_Torero2 Sexo_Torero3 Direccion_Torero1 Direccion_Torero2 Direccion_Torero3 Telefono_Torero1 Telefono_Torero2 Telefono_Torero3 Fecha_Alternativa1 Fecha_Alternativa2 Fecha_Alternativa3 Nombre_Padrino Edad_Padrino Sexo_Padrino Direccion_Padrino Telefono_Padrino No_Orejas1

Tabla no normalizada Parte 3

No_Orejas2 No_Orejas3 No_Rabos1 No_Rabos2 No_Rabos3 Puerta_Grande1 Puerta_Grande2 Puerta_Grande3 DNI_Apoderado Nombre_Apoderado Edad_Apoderado Sexo_Apoderado Direccion_Plaza Aforo_Plaza Codigo_Ganaderia Nombre_Ganaderia

Tabla no normalizada Parte 4

Localidad_Ganaderia Procedencia_Ganaderia Fecha_Creacion_Ganaderia Nombre_Toro1 Nombre_Toro2 Nombre_Toro3 Color_Toro1 Color_Toro2 Color_Toro3 Orden_Toreado1 Orden_Toreado2 Orden_Toreado3 Fecha_Nacimiento1 Fecha_Nacimiento2 Fecha_Nacimiento3

11.1.Primera forma Normal

Primera Forma Normal Parte 1

No_Orden_Corrida Nombre_Feria Año_Celebracion Cantidad_Toreros DNI_Torero Nombre_Torero Apellido_Torero Apodo_Torero Edad_Torero Sexo_Torero Direccion_Torero Telefono_Torero Fecha_Alternativa DNI_Padrino Nombre_Padrino

Primera Forma Normal Parte 2

Apellido_Padrino Edad_Padrino Sexo_Padrino Direccion_Padrino Telefono_Padrino No_Orejas No_Rabos Puerta_Grande DNI_Apoderado Nombre_Apoderado Apellido_Apoderado Edad_Apoderado Sexo_Apoderado Direccion_Apoderado Telefono_Apoderado

Primera Forma Normal Parte 3

Nombre_Plaza Localidad_Plaza Direccion_Plaza Aforo_Plaza Codigo_Ganaderia Nombre_Ganaderia Localidad_Ganaderia Procedencia_Ganaderia Fecha_Creacion_Ganaderia Nombre_Toro Color_Toro Orden_Toreado Fecha_Nacimiento

38 | P á g i n a
11.2. Segunda forma Normal

Segunda Forma Normal

Tabla_Feria

ID_Feria No_Orden_Corrida Nombre_Feria Año_Celebracion Cantidad_Toreros

Tabla_Torero Parte 1

DNI_Torero Nombre_Torero Apellido_Torero Apodo_Torero Fecha_Alternativa Puerta_Grande Nombre_Padrino Apellido_Padrino Edad_Padrino Sexo_Padrino

Tabla_Torero Parte 2

Direccion_Padrino Telefono_Padrino No_Orejas No_Rabos Nombre_Apoderado Apellido_Apoderado Edad_Apoderado Sexo_Apoderado Direccion_Apoderado Telefono_Apoderado

Tabla_Plaza Parte 1

ID_Plaza Nombre_Plaza Localidad_Plaza Direccion_Plaza Aforo_Plaza Codigo_Ganaderia Nombre_Ganaderia

Tabla_Plaza Parte 1

Localidad_Ganaderia Procedencia_Ganaderia Fecha_Creacion_Ganaderia Nombre_Toro Color_Toro Orden_Toreado Fecha_Nacimiento

39 | P á g i n a
11.3.Tercera forma Normal
Tercera Forma Normal

Tabla_Feria

ID_Feria Nombre_Feria Año_Celebracion

Tabla_Plaza

ID_Plaza Nombre_Plaza Localidad_Plaza Direccion_Plaza Aforo_Plaza

Tabla_Ganaderia

Codigo_Ganaderia Nombre_Ganaderia Localidad_Ganaderia Procedencia_Ganaderia Fecha_Creacion_Ganaderia

Tabla_Apoderado

DNI_Apoderado Nombre_Apoderado Apellido_Apoderado Edad_Apoderado Sexo_Apoderado Direccion_Apoderado Telefono_Apoderado

Tabla_Padrino

DNI_Padrino Nombre_Padrino Apellido_Padrino Edad_Padrino Sexo_Padrino Direccion_Padrino Telefono_Padrino

Tabla_Torero

DNI_Torero Nombre_Torero Apellido_Torero Apodo_Torero Edad_Torero Sexo_Torero Direccion_Torero Telefono_Torero Fecha_Alternativa Puerta_Grande Codigo_Ganaderia DNI_Apoderado DNI_Padrino

Tabla_Regalo

ID_Regalo No_Orejas No_Rabos DNI_Torero DNI_Apoderado DNI_Padrino

Tabla_Toro

ID_Toro Nombre_Toro Color_Toro Orden_Toreado Fecha_Nacimiento Codigo_Ganaderia DNI_Torero DNI_Apoderado DNI_Padrino

Tabla_Corrida

No_Orden_Corrida Cantidad_Toreros ID_Feria DNI_Torero DNI_Apoderado DNI_Padrino ID_Plaza

40 | P á g i n a
Fase IV.

Capítulo IV

12. ENUNCIADO DEL PROBLEMA

La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda la


información acerca de las corridas de toros que se celebran en España y de todos los datos
relacionados con ellas.

 Se desea tener información acerca de cada corrida, identificada conjuntamente por


un número de orden, la feria en la que se celebra y el año de celebración (por ejemplo:
orden = 2, feria = San Isidro, año = 1990); las corridas que no se celebran durante una
feria tienen 0 en el campo Feria y se numeran correlativamente dentro de ese año.
 En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 6) de
los que se desea guardar su dni, nombre, apodo y fecha en que tomó la alternativa.
Además, se desea saber quién fue el torero (padrino) que le dio la alternativa en su día (un
torero puede dar la alternativa a varios compañeros o a ninguno).
 En cada corrida un torero obtiene una serie de premios (número de orejas, de rabos
y si salió por la puerta grande) de los que se desea mantener información.
 Cada torero puede tener un apoderado. A su vez, un apoderado lo puede ser de
varios toreros. De él se desea saber su dni, nombre, dirección y teléfono.
 Una corrida se celebra en una plaza de toros de la que se desea saber su nombre
(que se supone único), localidad, dirección y aforo. En una misma plaza se pueden
celebrar varias corridas de toros.
 Cada toro pertenece a una ganadería determinada. De cada ganadería se quiere
conocer su código, nombre, localidad, procedencia y antigüedad (fecha de creación).
 En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado
por el código de la ganadería a la que pertenece, el año en que nació y un número de
orden.
Además, se desea mantener información acerca de su nombre.

41 | P á g i n a
13. Cronograma

CRONOGRAMA

FECHA ACTIVIDAD

03-04 de septiembre Se buscaron los datos de la asociación (su visión,


su misión y organigrama) a quien se le
implementara la base de datos.

11 de septiembre Entrega de fase I del proyecto.

18 de septiembre Análisis de entidades para poder colocar en el


diagrama

19 de septiembre Realización de diagrama de flujo y diagrama


entidad-relación

25 de septiembre Entrega de fase II del proyecto.

02 de octubre Realización del diseño de la base de datos

03 de octubre Implementación de las normalizaciones

09 de octubre Entrega de fase III del proyecto.

11 de octubre Implementación de la base de datos en proyecto


externo.

23 de octubre Entrega de fase IV del proyecto.

05 de noviembre Entrega del proyecto completo.

06 de noviembre Exposición del proyecto.

42 | P á g i n a
14. Consejos en la implementación

Es necesario tomar en cuenta muchos conceptos y procedimientos básicos antes de empezar con
el desarrollo de una base de datos, por ello se le dan unos consejos prácticos para tomar en cuenta
antes de empezar con el desarrollo.

1. Si se tendrá una base de datos se debe procurar que solamente el administrador de


la base de datos es el único que debe tener acceso a la base de datos.
2. El administrador de la base de datos debe ser el encargado de ingresar los SQL.
3. Antes de crear una base de datos es conveniente realizar un modelo de entidad
relación para poder relacionar los datos.
4. Es recomendable que solo el DBA pueda realizar modificaciones y tenga acceso a
la documentación de la base de datos.
5. El constante mejoramiento y optimización de las consultas SQL puede generar un
espacio de trabajo con base de datos más cómodo y con un acceso más rápido a la
información.
6. El uso de las normalizaciones es algo que no puede dejarse pasar por alto si se
desea tener una base de datos estable.

43 | P á g i n a
15. Script de la base de datos

15.1.Script de Oracle
15.1.1. CREATE TABLE Feria(
ID_Feria VARCHAR2(15) NOT NULL,
Nombre_Feria VARCHAR(20) NOT NULL,
Fecha_Celebracion DATE NOT NULL,
PRIMARY KEY (ID_Feria)
);

15.1.2. CREATE TABLE Plaza(


ID_Plaza VARCHAR2(15) NOT NULL,
Nombre_Plaza VARCHAR2(20),
Localidad_Plaza VARCHAR2(50),
Direccion_Plaza VARCHAR2(50),
Aforo_Plaza VARCHAR2(40),
PRIMARY KEY (ID_Plaza)
);

15.1.3. CREATE TABLE Ganaderia(


Codigo_Ganaderia VARCHAR2(15) NOT NULL,
Nombre_Ganaderia VARCHAR2(20),
Localidad_Ganaderia VARCHAR2(50),
Procedencia_Ganaderia VARCHAR2(30),
Fecha_Creacion_Ganaderia DATE,
PRIMARY KEY (Codigo_Ganaderia)
);

44 | P á g i n a
15.1.4. CREATE TABLE Padrino(
DNI_Padrino VARCHAR2(20) NOT NULL,
Nombre_Padrino VARCHAR2(20) NOT NULL,
Apellido_Padrino VARCHAR2(20) NOT NULL,
Edad_Padrino NUMBER(2,0),
Sexo_Padrino VARCHAR2(15),
Direccion_Padrino VARCHAR2(50) NOT NULL,
Telefono_Padrino VARCHAR2(15) NOT NULL,
PRIMARY KEY (DNI_Padrino)
);

15.1.5. CREATE TABLE Apoderado(


DNI_Apoderado VARCHAR2(20) NOT NULL,
Nombre_Apodrado VARCHAR2(20) NOT NULL,
Apellido_Apoderado VARCHAR2(20) NOT NULL,
Edad_Apoderado NUMBER(2,0),
Sexo_Apoderado VARCHAR2(15),
Telefono_Apoderado VARCHAR2(15) NOT NULL,
Direccion_Apoderado VARCHAR2(50) NOT NULL,
PRIMARY KEY (DNI_Apoderado)
);

15.1.6. CREATE TABLE Torero(


DNI_Torero VARCHAR2(15) NOT NULL, DNI_Apoderado VARCHAR2(20) NOT
NULL,
DNI_Padrino VARCHAR2(20) NOT NULL,
Nombre_Torero VARCHAR2(20) NOT NULL,
Apellido_Torero VARCHAR2(20) NOT NULL,
Apodo_Torero VARCHAR2(20) NOT NULL,
Edad_Torero NUMBER(2,0),
Sexo_Torero VARCHAR2(15),

45 | P á g i n a
Direccion_Torero VARCHAR2(50) NOT NULL,
Telefono_Torero VARCHAR2(15) NOT NULL,
Fecha_Alternativa DATE NOT NULL,
Puerta_Grande VARCHAR2(20) NOT NULL,
PRIMARY KEY (DNI_Torero),
CONSTRAINT FORE_Apod1 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr2 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

15.1.7. CREATE TABLE Regalo(


ID_Regalo VARCHAR2(20) NOT NULL,
DNI_Torero VARCHAR2(15) NOT NULL,
DNI_Apoderado VARCHAR2(20) NOT NULL,
DNI_Padrino VARCHAR2(20) NOT NULL,
No_Orejas NUMBER(5,0) NOT NULL,
No_Rabos NUMBER(5,0) NOT NULL,
PRIMARY KEY (ID_Regalo),
CONSTRAINT FORE_Tore3 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod4 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr5 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

46 | P á g i n a
15.1.8. CREATE TABLE Toro(
ID_Toro VARCHAR2(20) NOT NULL,
Codigo_Ganaderia VARCHAR2(15) NOT NULL,
DNI_Torero VARCHAR2(15) NOT NULL,
DNI_Apoderado VARCHAR2(20) NOT NULL,
DNI_Padrino VARCHAR2(20) NOT NULL,
Nombre_Toro VARCHAR2(20) NOT NULL,
Color_Toro VARCHAR2(15) NOT NULL,
Orden_Toreado VARCHAR2(20) NOT NULL,
Fecha_Nacimiento DATE NOT NULL,
PRIMARY KEY (ID_Toro),
CONSTRAINT FORE_Ganad6 FOREIGN KEY(Codigo_Ganaderia) REFERENCES
GANADERIA(Codigo_Ganaderia),
CONSTRAINT FORE_Tore7 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod8 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr9 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

15.1.9. CREATE TABLE Corrida(


No_Orden_Corrida VARCHAR2(20) NOT NULL,
ID_Feria VARCHAR2(15) NOT NULL,
DNI_Torero VARCHAR2(15) NOT NULL,
DNI_Apoderado VARCHAR2(20) NOT NULL,
DNI_Padrino VARCHAR2(20) NOT NULL,
ID_Plaza VARCHAR2(15) NOT NULL,
Cantidad_Toreros NUMBER(3,0) NOT NULL,
PRIMARY KEY (No_Orden_Corrida),
CONSTRAINT FORE_Feri10 FOREIGN KEY(ID_Feria) REFERENCES FERIA(ID_Feria),

47 | P á g i n a
CONSTRAINT FORE_Tore11 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod12 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr13 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino),
CONSTRAINT FORE_Plaz14 FOREIGN KEY(ID_Plaza) REFERENCES PLAZA(ID_Plaza)
);

15.1.10. INSERT INTO Feria


(ID_Feria, Nombre_Feria, Fecha_Celebracion)
VALUES ('1925', 'San Miguel', '15/01/1995');

15.1.11. INSERT INTO Plaza


(ID_Plaza, Nombre_Plaza, Localidad_Plaza, Direccion_Plaza, Aforo_Plaza)
VALUES ('198-02', 'El valle', 'Guatemala', 'San Rafael', '150');
INSERT INTO Ganaderia
(Codigo_Ganaderia, Nombre_Ganaderia, Localidad_Ganaderia, Procedencia_Ganaderia,
Fecha_Creacion_Ganaderia)
VALUES ('1774', 'La Estanzuela', 'Guatemala', 'El Progreso', '19/02/1950');

15.1.12. INSERT INTO Padrino


VALUES ('274561', 'Juan Manuel', 'Valencia', '54', 'Masculino', 'Nueva York', '60212');

15.1.13. INSERT INTO Apoderado


VALUES ('39658', 'Santiago', 'Martinez', '35', 'Maculino', '5898', 'DF Mexico');

15.1.14. INSERT INTO Torero


VALUES ('98758', '39658', '274561', 'Oscar', 'Garcia', 'El Rayo', '30', 'Masculino', 'Argentina',
'35998', '19/09/1990', 'si');

48 | P á g i n a
15.1.15. INSERT INTO Regalo
VALUES ('123', '98758', '39658', '274561', '28', '31');

15.1.16. INSERT INTO Toro


VALUES ('001-21', '1774', '98758', '39658', '274561', 'Maluco', 'Rojizo', '23-10-05', '10/05/1997');

15.1.17. INSERT INTO Corrida


VALUES ('02-09-18', '1925', '98758', '39658', '274561', '198-02', '10');

49 | P á g i n a
16. Script de MySQL (phpmyadmin)

Observación: “Oracle y MySQL poseen la misma sintaxis de código”

16.1.Creación de la tabla Usuario


CREATE TABLE Usuario(
DPI_Usuario VARCHAR(20) NOT NULL,
Nombre_Usuario VARCHAR(30) NOT NULL,
Apellid_Usuario VARCHAR(30) NOT NULL,
Fecha_NacimientoU DATE NOT NULL,
Sexo_Usuario VARCHAR(15) NOT NULL,
Telefono_Usuario VARCHAR(20) NOT NULL,
Direccion_Usuario VARCHAR(50) NOT NULL,
Correo_Usuario VARCHAR(40) NOT NULL,
Usuario VARCHAR(20) NOT NULL,
Contraseña VARCHAR(30) NOT NULL,
Tipo_Usuario VARCHAR(20) NOT NULL,
PRIMARY KEY(DPI_Usuario)
);

16.2.Creación de la tabla Feria


CREATE TABLE Feria(
ID_Feria VARCHAR(15) NOT NULL,
Nombre_Feria VARCHAR(20) NOT NULL,
Fecha_Celebracion DATE NOT NULL,
No_Corrida VARCHAR(15) NOT NULL,
Cantidad_Toros INT(3) NOT NULL,
PRIMARY KEY (ID_Feria)
);

50 | P á g i n a
16.3.Creación de la tabla Plaza
CREATE TABLE Plaza(
ID_Plaza VARCHAR(15) NOT NULL,
Nombre_Plaza VARCHAR(20),
Localidad_Plaza VARCHAR(50),
Direccion_Plaza VARCHAR(50),
Aforo_Plaza VARCHAR(40),
PRIMARY KEY (ID_Plaza)
);

16.4.Creación de la tabla Ganadería


CREATE TABLE Ganaderia(
Codigo_Ganaderia VARCHAR(15) NOT NULL,
Nombre_Ganaderia VARCHAR(20),
Localidad_Ganaderia VARCHAR(50),
Procedencia_Ganaderia VARCHAR(30),
Fecha_Creacion_Ganaderia DATE,
PRIMARY KEY (Codigo_Ganaderia)
);

16.5.Creación de la tabla Padrino


CREATE TABLE Padrino(
DNI_Padrino VARCHAR(20) NOT NULL,
Nombre_Padrino VARCHAR(20) NOT NULL,
Apellido_Padrino VARCHAR(20) NOT NULL,
Edad_Padrino INT(2),
Sexo_Padrino VARCHAR(15),
Direccion_Padrino VARCHAR(50) NOT NULL,
Telefono_Padrino VARCHAR(15) NOT NULL,
PRIMARY KEY (DNI_Padrino)
);

51 | P á g i n a
16.6.Creación de la tabla Apoderado
CREATE TABLE Apoderado(
DNI_Apoderado VARCHAR(20) NOT NULL,
Nombre_Apodrado VARCHAR(20) NOT NULL,
Apellido_Apoderado VARCHAR(20) NOT NULL,
Edad_Apoderado INT(2),
Sexo_Apoderado VARCHAR(15),
Telefono_Apoderado VARCHAR(15) NOT NULL,
Direccion_Apoderado VARCHAR(50) NOT NULL,
PRIMARY KEY (DNI_Apoderado)
);

16.7.Creación de la tabla Torero


CREATE TABLE Torero(
DNI_Torero VARCHAR(15) NOT NULL,
DNI_Apoderado VARCHAR(20) NOT NULL,
DNI_Padrino VARCHAR(20) NOT NULL,
Nombre_Torero VARCHAR(20) NOT NULL,
Apellido_Torero VARCHAR(20) NOT NULL,
Apodo_Torero VARCHAR(20) NOT NULL,
Edad_Torero INT(2),
Sexo_Torero VARCHAR(15),
Direccion_Torero VARCHAR(50) NOT NULL,
Fecha_Alternativa DATE NOT NULL,
Puerta_Grande VARCHAR(20) NOT NULL,
PRIMARY KEY (DNI_Torero),
CONSTRAINT FORE_Apod1 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr2 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

52 | P á g i n a
16.8.Creación de la tabla Regalo
CREATE TABLE Regalo(
ID_Regalo VARCHAR(20) NOT NULL,
DNI_Torero VARCHAR(15) NOT NULL,
DNI_Apoderado VARCHAR(20) NOT NULL,
DNI_Padrino VARCHAR(20) NOT NULL,
No_Orejas INT(5) NOT NULL,
No_Rabos INT(5) NOT NULL,
PRIMARY KEY (ID_Regalo),
CONSTRAINT FORE_Tore3 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod4 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr5 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

16.9.Creación de la tabla Toro


CREATE TABLE Toro(
ID_Toro VARCHAR(20) NOT NULL,
Codigo_Ganaderia VARCHAR(15) NOT NULL,
DNI_Torero VARCHAR(15) NOT NULL,
DNI_Apoderado VARCHAR(20) NOT NULL,
DNI_Padrino VARCHAR(20) NOT NULL,
Nombre_Toro VARCHAR(20) NOT NULL,
Color_Toro VARCHAR(15) NOT NULL,
Orden_Toreado VARCHAR(20) NOT NULL,
Fecha_Nacimiento DATE NOT NULL,
PRIMARY KEY (ID_Toro),
CONSTRAINT FORE_Ganad6 FOREIGN KEY(Codigo_Ganaderia) REFERENCES
GANADERIA(Codigo_Ganaderia),

53 | P á g i n a
CONSTRAINT FORE_Tore7 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod8 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr9 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino)
);

16.10. Creación de la tabla Corrida


CREATE TABLE Corrida(
No_Orden_Corrida VARCHAR(20) NOT NULL,
ID_Feria VARCHAR(15) NOT NULL,
DNI_Torero VARCHAR(15) NOT NULL,
DNI_Apoderado VARCHAR(20) NOT NULL,
DNI_Padrino VARCHAR(20) NOT NULL,
ID_Plaza VARCHAR(15) NOT NULL,
Cantidad_Toreros INT(3) NOT NULL,
PRIMARY KEY (No_Orden_Corrida),
CONSTRAINT FORE_Feri10 FOREIGN KEY(ID_Feria) REFERENCES FERIA(ID_Feria),
CONSTRAINT FORE_Tore11 FOREIGN KEY(DNI_Torero) REFERENCES
TORERO(DNI_Torero),
CONSTRAINT FORE_Apod12 FOREIGN KEY(DNI_Apoderado) REFERENCES
APODERADO(DNI_Apoderado),
CONSTRAINT FORE_Padr13 FOREIGN KEY(DNI_Padrino) REFERENCES
PADRINO(DNI_Padrino),
CONSTRAINT FORE_Plaz14 FOREIGN KEY(ID_Plaza) REFERENCES PLAZA(ID_Plaza)
);

54 | P á g i n a
17. Script de PHP
17.1.Conexión a la base de datos (Conexión.MySQL.php)
<?php
//conexion de MySQL
$servername = "localhost"; //por defecto a menos que no use un
servidor local
$username = "root"; //por defecto a menos que haya
cambiado el usuario
$password = ""; //por defecto a menos que haya
cambidado la contraseña
$dbname = "ProyectoFinalBD1"; //nombre de la base de datos creada
en MySQL (phpmyadmin)

//creando la conexion
$conn = new mysqli($servername, $username, $password, $dbname);

//checando la conexion
if($conn->connect_error){
die("Ha ocurrido un error al conectar la base de datos");
}
?>

17.2.Código para la validación del login (ControladorLogin.php)

<?php
if(isset($_POST['InicioSesion'])){
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para el login
$UsuarioIngresado = $_POST["Usuario"];
$ContraseñaIngresada = $_POST["Contraseña"];

//Consulta y Verificacion para la tabla Usuario


$Consulta_Usuario = mysqli_query($conn, "SELECT* FROM Usuario WHERE
Usuario = '$UsuarioIngresado' && Contraseña = '$ContraseñaIngresada'");
$Verificar_Usuario = mysqli_num_rows($Consulta_Usuario);

if($Verificar_Usuario == TRUE){
while($DatosUsuario = mysqli_fetch_array($Consulta_Usuario)){
echo '<script language="javascript">alert("Iniciando sesión como:
'.$DatosUsuario['Nombre_Usuario'].'");</script>';

55 | P á g i n a
if($DatosUsuario['Tipo_Usuario'] == 'DBA'){
?> <script language = 'javascript'>
window.location = '/AMIGOS-DE-LA-FIESTA/perfil.html';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
window.location = '/AMIGOS-DE-LA-FIESTA/perfil2.html';
</script> '; <?php
}
}
}
else{
?> <script language = 'javascript'>
alert("Lo siento, usuario/contraseña incorrectos. Por favor intente
de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/index.html';
</script> '; <?php
}
}
?>

17.3.Código para insertar datos en la tabla Usuario (ControladorRegistroUsuario.php)

<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input


//Para la tabla Usuario
$DPI_Usuario = $_POST["DPI_Usuario"];
$Nombre_Usuario = $_POST["Nombre_Usuario"];
$Apellido_Usuario = $_POST["Apellido_Usuario"];
$FechaNac_Usuario = $_POST["Fecha_Nacimiento"];
$Sexo_Usuario = $_POST["Sexo_Usuario"];
$Telefono_Usuario = $_POST["Telefono_Usuario"];
$Direccion_Usuario = $_POST["Direccion_Usuario"];
$Correo_Usuario = $_POST["Correo_Usuario"];
$Usuario = $_POST["Usuario"];
$Contraseña = $_POST["Contraseña"];
$ContraseñaRep = $_POST["RepContraseña"];
$TipoUsuario = $_POST["TipoUsuario"];

56 | P á g i n a
//Consulta y Verificacion para la tabla Usuario
$Consulta_Usuario = mysqli_query($conn, "SELECT* FROM Usuario WHERE
DPI_Usuario = '$DPI_Usuario'");
$Verificar_Usuario = mysqli_num_rows($Consulta_Usuario);
$Consulta_Usuario2 = mysqli_query($conn, "SELECT* FROM Usuario WHERE Usuario
= '$Usuario'");
$Verificar_Usuario2 = mysqli_num_rows($Consulta_Usuario2);

//Validar si la llave primaria está repetida o no


if($Verificar_Usuario> 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe un dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroUsuario.php';
</script> '; <?php
}
else if($Verificar_Usuario2> 0){
?> <script language = 'javascript'>
alert("Lo siento, ya existe ese nombre de usuario!!! Por favor intente
ingresar otro...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroUsuario.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//antes verificamos si ambas contraseñas coinciden
if($Contraseña == $ContraseñaRep){//si coinciden verificamos si
seleccionó tipo de usuario
if($TipoUsuario == 'DBA' || $TipoUsuario == 'Usuario'){//si hay tipo
de usuario insertamos datos
//Para la tabla Usuario
$insert_usuario = "INSERT INTO Usuario(
DPI_Usuario,
Nombre_Usuario,
Apellid_Usuario,
Fecha_NacimientoU,
Sexo_Usuario,
Telefono_Usuario,
Direccion_Usuario,
Correo_Usuario,
Usuario,
Contraseña,
Tipo_Usuario)
VALUES(
'$DPI_Usuario',
'$Nombre_Usuario',

57 | P á g i n a
'$Apellido_Usuario',
'$FechaNac_Usuario',
'$Sexo_Usuario',
'$Telefono_Usuario',
'$Direccion_Usuario',
'$Correo_Usuario',
'$Usuario',
'$Contraseña',
'$TipoUsuario')";

//Verificamos si los datos fueron insertados en ambas tablas


if($conn -> query($insert_usuario)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/loading2.html';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso.
Por favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroUsuario.php';
</script> '; <?php
}
}
else{
?> <script language = 'javascript'>
alert("Lo siento, no puede crear un usuario sin especificar
sus privilegios!!!");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroUsuario.php';
</script> '; <?php
}
}
else{
?> <script language = 'javascript'>
alert("Lo siento, las contraseñas no coinciden. Por favor intente
de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroUsuario.php';
</script> '; <?php
}
}
?>

58 | P á g i n a
17.4.Código para insertar datos en la tabla Feria y en la tabla Plaza
(ControladorRegistroFiestas.php)
<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para la tabla Feria


$ID_Feria = $_POST["ID_Feria"];
$Nombre_Feria = $_POST["Nombre_Feria"];
$Año_Cele = $_POST["Año_Cele"];
$No_Corrida = $_POST["No_Corrida"];
$Cant_Toros = $_POST["Cant_Toros"];

//Para la tabla Plaza


$ID_Plaza = $_POST["ID_Plaza"];
$Nombre_Plaza = $_POST["Nombre_Plaza"];
$Localidad_Plaza = $_POST["Localidad_Plaza"];
$Direccion_Plaza = $_POST["Direccion_Plaza"];
$Aforo_Plaza = $_POST["Aforo_Plaza"];

//Consulta y Verificacion para la tabla Feria


$Consulta_Feria = mysqli_query($conn, "SELECT* FROM Feria WHERE ID_Feria =
'$ID_Feria'");
$Verificar_Feria = mysqli_num_rows($Consulta_Feria);

//Consulta y Verificacion para la tabla Plaza


$Consulta_Plaza = mysqli_query($conn, "SELECT* FROM Plaza WHERE ID_Plaza =
'$ID_Plaza'");
$Verificar_Plaza = mysqli_num_rows($Consulta_Plaza);

//Validar si la llave primaria está repetida o no para ambas tablas


if($Verificar_Feria > 0 || $Verificar_Plaza > 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe un dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroFiestas.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//Para la tabla Feria
$insert_feria = "INSERT INTO Feria(
ID_Feria,
Nombre_Feria,

59 | P á g i n a
Fecha_Celebracion,
No_Corrida,
Cantidad_Toros)
VALUES(
'$ID_Feria',
'$Nombre_Feria',
'$Año_Cele',
'$No_Corrida',
$Cant_Toros)";

//Para la tabla Plaza


$insert_plaza = "INSERT INTO Plaza(
ID_Plaza,
Nombre_Plaza,
Localidad_Plaza,
Direccion_Plaza,
Aforo_Plaza)
VALUES(
'$ID_Plaza',
'$Nombre_Plaza',
'$Localidad_Plaza',
'$Direccion_Plaza',
'$Aforo_Plaza')";

//Verificamos si los datos fueron insertados en ambas tablas


if($conn -> query($insert_feria)===TRUE && $conn ->
query($insert_plaza)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/loading.html';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroFiestas.php';
</script> '; <?php
}
}
?>

60 | P á g i n a
17.5.Código para insertar datos en la tabla Padrino y en la tabla Apoderado
(ControladorRegistroPadrino.php)
<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para la tabla Padrino


$DNI_Padrino = $_POST["DNI_Padrino"];
$Nombre_Padrino = $_POST["Nombre_Padrino"];
$Apellido_Padrino= $_POST["Apellido_Padrino"];
$Edad_Padrino = $_POST["Edad_Padrino"];
$Sexo_Padrino = $_POST["Sexo_Padrino"];
$Direccion_Padrino = $_POST["Direccion_Padrino"];
$Telefono_Padrino = $_POST["Telefono_Padrino"];

//Para la tabla Apoderado


$DNI_Apoderado = $_POST["DNI_Apoderado"];
$Nombre_Apoderado = $_POST["Nombre_Apoderado"];
$Apellido_Apoderado = $_POST["Apellido_Apoderado"];
$Edad_Apoderado = $_POST["Edad_Apoderado"];
$Sexo_Apoderado = $_POST["Sexo_Apoderado"];
$Telefono_Apoderado = $_POST["Telefono_Apoderado"];
$Direccion_Apoderado = $_POST["Direccion_Apoderado"];

//Consulta y Verificacion para la tabla Padrino


$Consulta_Padrino = mysqli_query($conn, "SELECT* FROM Padrino WHERE
DNI_Padrino = '$DNI_Padrino'");
$Verificar_Padrino = mysqli_num_rows($Consulta_Padrino);

//Consulta y Verificacion para la tabla Apoderado


$Consulta_Apoderado = mysqli_query($conn, "SELECT* FROM Apoderado WHERE
DNI_Apoderado = '$DNI_Apoderado'");
$Verificar_Apoderado = mysqli_num_rows($Consulta_Apoderado);

//Validar si la llave primaria está repetida o no para ambas tablas


if($Verificar_Padrino > 0 || $Verificar_Apoderado > 0){//en el caso que
exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe una persona con el mismo ID regitrado!!!
Por favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroPadrino.php';
</script> '; <?php
}

61 | P á g i n a
else{//en el caso que no exista insertamos datos
//Para la tabla Padrino
$insert_padrino = "INSERT INTO Padrino(
DNI_Padrino,
Nombre_Padrino,
Apellido_Padrino,
Edad_Padrino,
Sexo_Padrino,
Direccion_Padrino,
Telefono_Padrino)
VALUES(
'$DNI_Padrino',
'$Nombre_Padrino',
'$Apellido_Padrino',
$Edad_Padrino,
'$Sexo_Padrino',
'$Direccion_Padrino',
'$Telefono_Padrino')";

//Para la tabla Apoderado


$insert_apoderado = "INSERT INTO Apoderado(
DNI_Apoderado,
Nombre_Apodrado,
Apellido_Apoderado,
Edad_Apoderado,
Sexo_Apoderado,
Telefono_Apoderado,
Direccion_Apoderado)
VALUES(
'$DNI_Apoderado',
'$Nombre_Apoderado',
'$Apellido_Apoderado',
$Edad_Apoderado,
'$Sexo_Apoderado',
'$Telefono_Apoderado',
'$Direccion_Apoderado')";

//Verificamos si los datos fueron insertados en ambas tablas


if($conn -> query($insert_padrino)===TRUE && $conn ->
query($insert_apoderado)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero.php';
</script> '; <?php
}

62 | P á g i n a
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroPadrino.php';
</script> '; <?php
}
}
?>

17.6.Código para insertar datos en la tabla Torero (ControladorRegistroTorero.php)


<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input


//Para la tabla Torero
$DNI_Torero = $_POST["DNI_Torero"];
$FKApoderado = $_POST["FKNombre_Apoderado"];
$FKPadrino = $_POST["FKNombre_Padrino"];
$Nombre_Torero = $_POST["Nombre_Torero"];
$Apellido_Torero= $_POST["Apellido_Torero"];
$Apodo_Torero = $_POST["Apodo_Torero"];
$Edad_Torero = $_POST["Edad_Torero"];
$Sexo_Torero = $_POST["Sexo_Torero"];
$Direccion_Torero = $_POST["Direccion_Torero"];
$FechaA_Torero = $_POST["FechaA_Torero"];
$PuertaG_Torero = $_POST["PuertaG_Torero"];

//Consulta y Verificacion para la tabla Torero


$Consulta_Torero = mysqli_query($conn, "SELECT* FROM Torero WHERE DNI_Torero
= '$DNI_Torero'");
$Verificar_Torero = mysqli_num_rows($Consulta_Torero);

//Validar si la llave primaria está repetida o no


if($Verificar_Torero > 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe una dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//Para la tabla Torero

63 | P á g i n a
$insert_torero = "INSERT INTO Torero(
DNI_Torero,
DNI_Apoderado,
DNI_Padrino,
Nombre_Torero,
Apellido_Torero,
Apodo_Torero,
Edad_Torero,
Sexo_Torero,
Direccion_Torero,
Fecha_Alternativa,
Puerta_Grande)
VALUES(
'$DNI_Torero',
'$FKApoderado',
'$FKPadrino',
'$Nombre_Torero',
'$Apellido_Torero',
'$Apodo_Torero',
$Edad_Torero,
'$Sexo_Torero',
'$Direccion_Torero',
'$FechaA_Torero',
'$PuertaG_Torero')";

//Verificamos si los datos fueron insertados en ambas tablas


if($conn -> query($insert_torero)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero2.php';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero.php';
</script> '; <?php
}
}
?>

64 | P á g i n a
17.7.Código para insertar datos en la tabla Regalo y tabla Corrida
(ControladorRegistroTorero2.php)
<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para la tabla Regalo


$ID_Regalo = $_POST["ID_Regalo"];
$NOreja_Regalo = $_POST["NOreja_Regalo"];
$NRabo_Regalo = $_POST["NRabo_Regalo"];
$FKTorero = $_POST["FKNombre_Torero"];
$FKApoderado = $_POST["FKNombre_Apoderado"];
$FKPadrino = $_POST["FKNombre_Padrino"];

//Para la tabla Corrida


$NOrden_Corrida = $_POST["NOrden_Corrida"];
$Cantidad_Toreros = $_POST["Cantidad_Toreros"];
$FKFeria = $_POST["FKNombre_Feria"];
$FKTorero = $_POST["FKNombre_Torero"];
$FKApoderado = $_POST["FKNombre_Apoderado"];
$FKPadrino = $_POST["FKNombre_Padrino"];
$FKPlaza = $_POST["FKNombre_Plaza"];

//Consulta y Verificacion para la tabla Regalo


$Consulta_Regalo = mysqli_query($conn, "SELECT* FROM Regalo WHERE ID_Regalo =
'$ID_Regalo'");
$Verificar_Regalo = mysqli_num_rows($Consulta_Regalo);

//Consulta y Verificacion para la tabla Corrida


$Consulta_Corrida = mysqli_query($conn, "SELECT* FROM Corrida WHERE
No_Orden_Corrida = '$NOrden_Corrida'");
$Verificar_Corrida = mysqli_num_rows($Consulta_Corrida);

//Validar si la llave primaria está repetida o no para ambas tablas


if($Verificar_Regalo > 0 || $Verificar_Corrida > 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe una dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero2.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//Para la tabla Regalo

65 | P á g i n a
$insert_regalo = "INSERT INTO Regalo(
ID_Regalo,
DNI_Torero,
DNI_Apoderado,
DNI_Padrino,
No_Orejas,
No_Rabos)
VALUES(
'$ID_Regalo',
'$FKTorero',
'$FKApoderado',
'$FKPadrino',
$NOreja_Regalo,
$NRabo_Regalo)";

//Para la tabla Corrida


$insert_corrida = "INSERT INTO Corrida(
No_Orden_Corrida,
ID_Feria,
DNI_Torero,
DNI_Apoderado,
DNI_Padrino,
ID_Plaza,
Cantidad_Toreros)
VALUES(
'$NOrden_Corrida',
'$FKFeria',
'$FKTorero',
'$FKApoderado',
'$FKPadrino',
'$FKPlaza',
$Cantidad_Toreros)";

//Verificamos si los datos fueron insertados en ambas tablas


if($conn -> query($insert_regalo)===TRUE && $conn ->
query($insert_corrida)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/loading.html';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");

66 | P á g i n a
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroTorero2.php';
</script> '; <?php
}
}
?>

17.8.Código para insertar datos en la tabla Ganadería (ControladorRegistroToro.php)


<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para la tabla Ganaderia


$Codigo_Ganaderia = $_POST["Codigo_Ganaderia"];
$Nombre_Ganaderia = $_POST["Nombre_Ganaderia"];
$Localidad_Ganaderia = $_POST["Localidad_Ganaderia"];
$Procedencia_Ganaderia = $_POST["Procedencia_Ganaderia"];
$Fecha_FundacionG = $_POST["Fecha_FundacionG"];

//Consulta y Verificacion para la tabla Ganaderia


$Consulta_Ganaderia = mysqli_query($conn, "SELECT* FROM Ganaderia WHERE
Codigo_Ganaderia = '$Codigo_Ganaderia'");
$Verificar_Ganaderia = mysqli_num_rows($Consulta_Ganaderia);

//Validar si la llave primaria está repetida o no


if($Verificar_Ganaderia > 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe un dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroToros.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//Para la tabla Ganaderia
$insert_ganaderia = "INSERT INTO Ganaderia(
Codigo_Ganaderia,
Nombre_Ganaderia,
Localidad_Ganaderia,
Procedencia_Ganaderia,
Fecha_Creacion_Ganaderia)
VALUES(
'$Codigo_Ganaderia',
'$Nombre_Ganaderia',

67 | P á g i n a
'$Localidad_Ganaderia',
'$Procedencia_Ganaderia',
'$Fecha_FundacionG')";

//Verificamos si los datos fueron insertados


if($conn -> query($insert_ganaderia)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroToros2.php';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroToros.php';
</script> '; <?php
}
}
?>

17.9.Código para insertar datos en la tabla Toro (ControladorRegistroToro2.php)


<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input

//Para la tabla Toro


$ID_Toro = $_POST["ID_Toro"];
$Nombre_Toro = $_POST["Nombre_Toro"];
$Color_Toro = $_POST["Color_Toro"];
$Orden_Toreado = $_POST["Orden_Toreado"];
$Fecha_NacT = $_POST["Fecha_NacT"];
$FK_Ganaderia = $_POST["FKNombre_Ganaderia"];
$FKTorero = $_POST["FKNombre_Torero"];
$FKApoderado = $_POST["FKNombre_Apoderado"];
$FKPadrino = $_POST["FKNombre_Padrino"];

//Consulta y Verificacion para la tabla Toro


$Consulta_Toro = mysqli_query($conn, "SELECT* FROM Toro WHERE ID_Toro =
'$ID_Toro'");
$Verificar_Toro = mysqli_num_rows($Consulta_Toro);

//Validar si la llave primaria está repetida o no

68 | P á g i n a
if($Verificar_Toro > 0){//en el caso que exista
?> <script language = 'javascript'>
alert("Lo siento, ya existe un dato con el mismo ID regitrado!!! Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroToros2.php';
</script> '; <?php
}
else{//en el caso que no exista insertamos datos
//Para la tabla Toro
$insert_toro = "INSERT INTO Toro(
ID_Toro,
Codigo_Ganaderia,
DNI_Torero,
DNI_Apoderado,
DNI_Padrino,
Nombre_Toro,
Color_Toro,
Orden_Toreado,
Fecha_Nacimiento)
VALUES(
'$ID_Toro',
'$Nombre_Ganaderia',
'$FKTorero',
'$FKApoderado',
'$FKPadrino',
'$Nombre_Toro',
'$Color_Toro',
'$Orden_Toreado',
'$Fecha_NacT')";

//Verificamos si los datos fueron insertados


if($conn -> query($insert_toro)===TRUE){
?> <script language = 'javascript'>
alert("Los registros se han guardado correctamente");
window.location = '/AMIGOS-DE-LA-FIESTA/loading.html';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/RegistroToros2.php';
</script> '; <?php
}
}

69 | P á g i n a
?>

17.10. Código para ver registro de la tabla Usuario (ControladorVerRegistroUsuario.php)

<?php
require_once("Conexion.MySQL.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datos del Usuario</title>
</head>
<body>
<div class="fondoIMG">
<br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL USUARIO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">DPI Usuario</td>
<td width="160px">Nombre Usuario</td>
<td width="160px">Apellido Usuario</td>
<td width="160px">Fecha Nacimiento</td>
<td width="160px">Sexo Usuario</td>
<td width="160px">Telefono Usuario</td>
<td width="160px">Direccion Usuario</td>
<td width="160px">Correo Usuario</td>
<td width="160px">Usuario</td>
<td width="160px">Contraseña</td>
<td width="160px">Tipo Usuario</td>
</tr>
<?php
$sqlU = mysqli_query($conn, "SELECT* FROM Usuario");

while($MostrarU = mysqli_fetch_array($sqlU)){
$ContraseñaEncriptada = md5('Contraseña');
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarU['DPI_Usuario']?></td>
<td><?php echo $MostrarU['Nombre_Usuario']?></td>
<td><?php echo $MostrarU['Apellid_Usuario']?></td>

70 | P á g i n a
<td><?php echo $MostrarU['Fecha_NacimientoU']?></td>
<td><?php echo $MostrarU['Sexo_Usuario']?></td>
<td><?php echo $MostrarU['Telefono_Usuario']?></td>
<td><?php echo $MostrarU['Direccion_Usuario']?></td>
<td><?php echo $MostrarU['Correo_Usuario']?></td>
<td><?php echo $MostrarU['Usuario']?></td>
<td><?php echo $ContraseñaEncriptada?></td>
<td><?php echo $MostrarU['Tipo_Usuario']?></td>
</tr>
<?php
}
?>
</table>
<div class="botones">
<a class="button" href="/AMIGOS-DE-LA-
FIESTA/administrarUsuarios.html">Regresar</a>
</div>
</div>
<style>
html,
body {
height: 100%;
}
body {
margin: 0;
background: linear-gradient(45deg, #F07900, #0CF0B398);
font-family: sans-serif;
font-weight: 100;
}
.titulos{
text-align: center;
font-family: Arial Black;
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;

color: #fff;
text-shadow: 0 1px 0 #ddd, 0 2px 0 #ccc, 0 3px 0 #bbb, 0 4px 0
#aaa, 0 5px 0 #acacac, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1), 0 1px
3px rgba(0,0,0,0.3), 0 3px 5px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.25), 0
10px 10px rgba(0,0,0,0.2), 0 20px 20px rgba(0,0,0,0.15);
}
.container {
position: absolute;
top: 50%;

71 | P á g i n a
left: 50%;
transform: translate(-50%, -50%);
}
table {
border-collapse: collapse;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
th,
td {
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
}
th {
text-align: left;
}
thead th {
background-color: #55608f;
}
tbody tr:hover {
background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
position: relative;
}
tbody td:hover:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -9999px;
bottom: -9999px;
background-color: rgba(255, 255, 255, 0.2);
z-index: -1;
}

.button{
display: inline-block;
text-align: center;
vertical-align: middle;
padding: 12px 28px;
border: 1px solid #d11e1e;
border-radius: 21px;
background: #ff4a4a;

72 | P á g i n a
background: -webkit-gradient(linear, left top, left bottom,
from(#ff4a4a), to(#cf0029));
background: -moz-linear-gradient(top, #ff4a4a, #cf0029);
background: linear-gradient(to bottom, #ff4a4a, #cf0029);
text-shadow: #591717 1px 3px 1px;
font: normal normal bold 19px arial;
color: #ffffff;
text-decoration: none;
margin-bottom: -264px;
margin-left: 657px;
}
</style>
</body>
</html>

17.11. Código para ver registro de la tabla Feria y tabla Plaza


(ControladorVerRegistroFiesta.php)
<?php
require_once("Conexion.MySQL.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datos de la Feria</title>
</head>
<body>
<div class="fondoIMG">
<br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DE LA FERIA</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">ID Feria</td>
<td width="160px">Nombre Feria</td>
<td width="160px">Fecha Celebración</td>
<td width="160px">Número Corrida</td>
<td width="160px">Cantidad Toros</td>
</tr>
<?php
$sqlF = mysqli_query($conn, "SELECT* FROM Feria");

73 | P á g i n a
while($MostrarF = mysqli_fetch_array($sqlF)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarF['ID_Feria']?></td>
<td><?php echo $MostrarF['Nombre_Feria']?></td>
<td><?php echo $MostrarF['Fecha_Celebracion']?></td>
<td><?php echo $MostrarF['No_Corrida']?></td>
<td><?php echo $MostrarF['Cantidad_Toros']?></td>
</tr>
<?php
}
?>
</table>

<br><br><br><br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DE LA PLAZA</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">ID Plaza</td>
<td width="160px">Nombre Plaza</td>
<td width="160px">Localidad Plaza</td>
<td width="160px">Direccion Plaza</td>
<td width="160px">Aforo Plaza</td>
</tr>
<?php
$sqlP = mysqli_query($conn, "SELECT* FROM Plaza");

while($MostrarP = mysqli_fetch_array($sqlP)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarP['ID_Plaza']?></td>
<td><?php echo $MostrarP['Nombre_Plaza']?></td>
<td><?php echo $MostrarP['Localidad_Plaza']?></td>
<td><?php echo $MostrarP['Direccion_Plaza']?></td>
<td><?php echo $MostrarP['Aforo_Plaza']?></td>
</tr>
<?php
}
?>
</table>
<div class="botones">
<a class="button" href="/AMIGOS-DE-LA-
FIESTA/VerRegistros.html">Regresar</a>
</div>

74 | P á g i n a
</div>
<style>
html,
body {
height: 100%;
}
body {
margin: 0;
background: linear-gradient(45deg, #F07900, #0CF0B398);
font-family: sans-serif;
font-weight: 100;
}
.titulos{
text-align: center;
font-family: Arial Black;
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;

color: #fff;
text-shadow: 0 1px 0 #ddd, 0 2px 0 #ccc, 0 3px 0 #bbb, 0 4px 0
#aaa, 0 5px 0 #acacac, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1), 0 1px
3px rgba(0,0,0,0.3), 0 3px 5px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.25), 0
10px 10px rgba(0,0,0,0.2), 0 20px 20px rgba(0,0,0,0.15);
}
.container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
table {
border-collapse: collapse;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
th,
td {
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
}
th {
text-align: left;
}
thead th {

75 | P á g i n a
background-color: #55608f;
}
tbody tr:hover {
background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
position: relative;
}
tbody td:hover:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -9999px;
bottom: -9999px;
background-color: rgba(255, 255, 255, 0.2);
z-index: -1;
}

.button{
display: inline-block;
text-align: center;
vertical-align: middle;
padding: 12px 28px;
border: 1px solid #d11e1e;
border-radius: 21px;
background: #ff4a4a;
background: -webkit-gradient(linear, left top, left bottom,
from(#ff4a4a), to(#cf0029));
background: -moz-linear-gradient(top, #ff4a4a, #cf0029);
background: linear-gradient(to bottom, #ff4a4a, #cf0029);
text-shadow: #591717 1px 3px 1px;
font: normal normal bold 19px arial;
color: #ffffff;
text-decoration: none;
margin-bottom: -264px;
margin-left: 657px;
}
</style>
</body>
</html>

76 | P á g i n a
17.12. Código para ver registro de la tabla Padrino y tabla Apoderado
(ControladorVerRegistroPadrino.php)
<?php
require_once("Conexion.MySQL.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datos del Padrino y Apoderado</title>
</head>
<body>
<div class="fondoIMG">
<br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL PADRINO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">DNI Padrino</td>
<td width="160px">Nombre Padrino</td>
<td width="160px">Apellido Padrino</td>
<td width="160px">Edad Padrino</td>
<td width="160px">Sexo Padrino</td>
<td width="160px">Direccion Padrino</td>
<td width="160px">Telefono Padrino</td>
</tr>
<?php
$sqlP = mysqli_query($conn, "SELECT* FROM Padrino");

while($MostrarP = mysqli_fetch_array($sqlP)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarP['DNI_Padrino']?></td>
<td><?php echo $MostrarP['Nombre_Padrino']?></td>
<td><?php echo $MostrarP['Apellido_Padrino']?></td>
<td><?php echo $MostrarP['Edad_Padrino']?></td>
<td><?php echo $MostrarP['Sexo_Padrino']?></td>
<td><?php echo $MostrarP['Direccion_Padrino']?></td>
<td><?php echo $MostrarP['Telefono_Padrino']?></td>
</tr>
<?php
}
?>

77 | P á g i n a
</table>

<br><br><br><br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL APODERADO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">DNI Apoderado</td>
<td width="160px">Nombre Apoderado</td>
<td width="160px">Apellido Apoderado</td>
<td width="160px">Edad Apoderado</td>
<td width="160px">Sexo Apoderado</td>
<td width="160px">Telefono Apoderado</td>
<td width="160px">Direccion Apoderado</td>
</tr>
<?php
$sqlA = mysqli_query($conn, "SELECT* FROM Apoderado");

while($MostrarA = mysqli_fetch_array($sqlA)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo
$MostrarA['DNI_Apoderado']?></td>
<td><?php echo $MostrarA['Nombre_Apodrado']?></td>
<td><?php echo $MostrarA['Apellido_Apoderado']?></td>
<td><?php echo $MostrarA['Edad_Apoderado']?></td>
<td><?php echo $MostrarA['Sexo_Apoderado']?></td>
<td><?php echo $MostrarA['Telefono_Apoderado']?></td>
<td><?php echo $MostrarA['Direccion_Apoderado']?></td>
</tr>
<?php
}
?>
</table>
<div class="botones">
<a class="button" href="/AMIGOS-DE-LA-
FIESTA/VerRegistros.html">Regresar</a>
</div>
</div>
<style>
html,
body {
height: 100%;
}
body {
margin: 0;

78 | P á g i n a
background: linear-gradient(45deg, #F07900, #0CF0B398);
font-family: sans-serif;
font-weight: 100;
}
.titulos{
text-align: center;
font-family: Arial Black;
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;

color: #fff;
text-shadow: 0 1px 0 #ddd, 0 2px 0 #ccc, 0 3px 0 #bbb, 0 4px 0
#aaa, 0 5px 0 #acacac, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1), 0 1px
3px rgba(0,0,0,0.3), 0 3px 5px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.25), 0
10px 10px rgba(0,0,0,0.2), 0 20px 20px rgba(0,0,0,0.15);
}
.container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
table {
border-collapse: collapse;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
th,
td {
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
}
th {
text-align: left;
}
thead th {
background-color: #55608f;
}
tbody tr:hover {
background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
position: relative;
}

79 | P á g i n a
tbody td:hover:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -9999px;
bottom: -9999px;
background-color: rgba(255, 255, 255, 0.2);
z-index: -1;
}

.button{
display: inline-block;
text-align: center;
vertical-align: middle;
padding: 12px 28px;
border: 1px solid #d11e1e;
border-radius: 21px;
background: #ff4a4a;
background: -webkit-gradient(linear, left top, left bottom,
from(#ff4a4a), to(#cf0029));
background: -moz-linear-gradient(top, #ff4a4a, #cf0029);
background: linear-gradient(to bottom, #ff4a4a, #cf0029);
text-shadow: #591717 1px 3px 1px;
font: normal normal bold 19px arial;
color: #ffffff;
text-decoration: none;
margin-bottom: -264px;
margin-left: 657px;
}
</style>
</body>
</html>

17.13. Código para ver registro de la tabla Torero, tabla Regalo y tabla Corrida
(ControladorVerRegistroTorero.php)
<?php
require_once("Conexion.MySQL.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>

80 | P á g i n a
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datos del Torero</title>
</head>
<body>
<div class="fondoIMG">
<br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL TORERO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">DNI Torero</td>
<td width="160px">DNI Apoderado</td>
<td width="160px">DNI Padrino</td>
<td width="160px">Nombre Torero</td>
<td width="160px">Apellido Torero</td>
<td width="160px">Apodo Torero</td>
<td width="160px">Edad Torero</td>
<td width="160px">Sexo Torero</td>
<td width="160px">Direccion Torero</td>
<td width="160px">Fecha Alternativa</td>
<td width="160px">Puerta Grande</td>
</tr>
<?php
$sqlT = mysqli_query($conn, "SELECT* FROM Torero");

while($MostrarT = mysqli_fetch_array($sqlT)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarT['DNI_Torero']?></td>
<td><?php echo $MostrarT['DNI_Apoderado']?></td>
<td><?php echo $MostrarT['DNI_Padrino']?></td>
<td><?php echo $MostrarT['Nombre_Torero']?></td>
<td><?php echo $MostrarT['Apellido_Torero']?></td>
<td><?php echo $MostrarT['Apodo_Torero']?></td>
<td><?php echo $MostrarT['Edad_Torero']?></td>
<td><?php echo $MostrarT['Sexo_Torero']?></td>
<td><?php echo $MostrarT['Direccion_Torero']?></td>
<td><?php echo $MostrarT['Fecha_Alternativa']?></td>
<td><?php echo $MostrarT['Puerta_Grande']?></td>
</tr>
<?php
}
?>
</table>

81 | P á g i n a
<br><br><br><br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL REGALO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">ID Regalo</td>
<td width="160px">DNI Torero</td>
<td width="160px">DNI Apoderado</td>
<td width="160px">DNI Padrino</td>
<td width="160px">Número de Orejas</td>
<td width="160px">Número de Rabos</td>
</tr>
<?php
$sqlR = mysqli_query($conn, "SELECT* FROM Regalo");

while($MostrarR = mysqli_fetch_array($sqlR)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarR['ID_Regalo']?></td>
<td><?php echo $MostrarR['DNI_Torero']?></td>
<td><?php echo $MostrarR['DNI_Apoderado']?></td>
<td><?php echo $MostrarR['DNI_Padrino']?></td>
<td><?php echo $MostrarR['No_Orejas']?></td>
<td><?php echo $MostrarR['No_Rabos']?></td>
</tr>
<?php
}
?>
</table>

<br><br><br><br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DE LA CORRIDA</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">Número de Orden Corrida</td>
<td width="160px">ID Feria</td>
<td width="160px">DNI Torero</td>
<td width="160px">DNI Apoderado</td>
<td width="160px">DNI Padrino</td>
<td width="160px">ID Plaza</td>
<td width="160px">Cantidad Toreros</td>
</tr>
<?php
$sqlC = mysqli_query($conn, "SELECT* FROM Corrida");

82 | P á g i n a
while($MostrarC = mysqli_fetch_array($sqlC)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo
$MostrarC['No_Orden_Corrida']?></td>
<td><?php echo $MostrarC['ID_Feria']?></td>
<td><?php echo $MostrarC['DNI_Torero']?></td>
<td><?php echo $MostrarC['DNI_Apoderado']?></td>
<td><?php echo $MostrarC['DNI_Padrino']?></td>
<td><?php echo $MostrarC['ID_Plaza']?></td>
<td><?php echo $MostrarC['Cantidad_Toreros']?></td>
</tr>
<?php
}
?>
</table>
<div class="botones">
<a class="button" href="/AMIGOS-DE-LA-
FIESTA/VerRegistros.html">Regresar</a>
</div>
</div>
<style>
html,
body {
height: 100%;
}
body {
margin: 0;
background: linear-gradient(45deg, #F07900, #0CF0B398);
font-family: sans-serif;
font-weight: 100;
}
.titulos{
text-align: center;
font-family: Arial Black;
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;

color: #fff;
text-shadow: 0 1px 0 #ddd, 0 2px 0 #ccc, 0 3px 0 #bbb, 0 4px 0
#aaa, 0 5px 0 #acacac, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1), 0 1px
3px rgba(0,0,0,0.3), 0 3px 5px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.25), 0
10px 10px rgba(0,0,0,0.2), 0 20px 20px rgba(0,0,0,0.15);
}

83 | P á g i n a
.container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
table {
border-collapse: collapse;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
th,
td {
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
}
th {
text-align: left;
}
thead th {
background-color: #55608f;
}
tbody tr:hover {
background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
position: relative;
}
tbody td:hover:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -9999px;
bottom: -9999px;
background-color: rgba(255, 255, 255, 0.2);
z-index: -1;
}

.button{
display: inline-block;
text-align: center;
vertical-align: middle;
padding: 12px 28px;
border: 1px solid #d11e1e;

84 | P á g i n a
border-radius: 21px;
background: #ff4a4a;
background: -webkit-gradient(linear, left top, left bottom,
from(#ff4a4a), to(#cf0029));
background: -moz-linear-gradient(top, #ff4a4a, #cf0029);
background: linear-gradient(to bottom, #ff4a4a, #cf0029);
text-shadow: #591717 1px 3px 1px;
font: normal normal bold 19px arial;
color: #ffffff;
text-decoration: none;
margin-bottom: -264px;
margin-left: 657px;
}
</style>
</body>
</html>

17.14. Código para ver registro de la tabla Ganadería y tabla Toro


(ControladorVerRegistroToro.php)
<?php
require_once("Conexion.MySQL.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datos del Toro</title>
</head>
<body>
<div class="fondoIMG">
<br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DE LA GANADERÍA</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">Codigo Ganadería</td>
<td width="160px">Nombre Ganadería</td>
<td width="160px">Localidad Ganadería</td>
<td width="160px">Procedencia Ganadería</td>
<td width="160px">Fecha Creacion Ganadería</td>
</tr>

85 | P á g i n a
<?php
$sqlG = mysqli_query($conn, "SELECT* FROM Ganaderia");

while($MostrarG = mysqli_fetch_array($sqlG)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo
$MostrarG['Codigo_Ganaderia']?></td>
<td><?php echo $MostrarG['Nombre_Ganaderia']?></td>
<td><?php echo $MostrarG['Localidad_Ganaderia']?></td>
<td><?php echo $MostrarG['Procedencia_Ganaderia']?></td>
<td><?php echo $MostrarG['Fecha_Creacion_Ganaderia']?></td>
</tr>
<?php
}
?>
</table>

<br><br><br><br><br><br>
<table border="1" align="center">
<caption class="titulos">DATOS DEL TORO</caption>
<tr valign="center" align="center">
<td width="120px" height="30px">ID Toro</td>
<td width="160px">Codigo Ganaderia</td>
<td width="160px">DNI Torero</td>
<td width="160px">DNI Apoderado</td>
<td width="160px">DNI Padrino</td>
<td width="160px">Nombre Toro</td>
<td width="160px">Color Toro</td>
<td width="160px">Orden Toreado</td>
<td width="160px">Fecha Nacimiento</td>
</tr>
<?php
$sqlT = mysqli_query($conn, "SELECT* FROM Toro");

while($MostrarT = mysqli_fetch_array($sqlT)){
?>
<tr valign="center" align="center">
<td height="30px"><?php echo $MostrarT['ID_Toro']?></td>
<td><?php echo $MostrarT['Codigo_Ganaderia']?></td>
<td><?php echo $MostrarT['DNI_Torero']?></td>
<td><?php echo $MostrarT['DNI_Apoderado']?></td>
<td><?php echo $MostrarT['DNI_Padrino']?></td>
<td><?php echo $MostrarT['Nombre_Toro']?></td>
<td><?php echo $MostrarT['Color_Toro']?></td>

86 | P á g i n a
<td><?php echo $MostrarT['Orden_Toreado']?></td>
<td><?php echo $MostrarT['Fecha_Nacimiento']?></td>
</tr>
<?php
}
?>
</table>
<div class="botones">
<a class="button" href="/AMIGOS-DE-LA-
FIESTA/VerRegistros.html">Regresar</a>
</div>
</div>
<style>
html,
body {
height: 100%;
}
body {
margin: 0;
background: linear-gradient(45deg, #F07900, #0CF0B398);
font-family: sans-serif;
font-weight: 100;
}
.titulos{
text-align: center;
font-family: Arial Black;
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;

color: #fff;
text-shadow: 0 1px 0 #ddd, 0 2px 0 #ccc, 0 3px 0 #bbb, 0 4px 0
#aaa, 0 5px 0 #acacac, 0 6px 1px rgba(0,0,0,0.1), 0 0 5px rgba(0,0,0,0.1), 0 1px
3px rgba(0,0,0,0.3), 0 3px 5px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.25), 0
10px 10px rgba(0,0,0,0.2), 0 20px 20px rgba(0,0,0,0.15);
}
.container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
table {
border-collapse: collapse;
overflow: hidden;

87 | P á g i n a
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
th,
td {
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
}
th {
text-align: left;
}
thead th {
background-color: #55608f;
}
tbody tr:hover {
background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
position: relative;
}
tbody td:hover:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: -9999px;
bottom: -9999px;
background-color: rgba(255, 255, 255, 0.2);
z-index: -1;
}

.button{
display: inline-block;
text-align: center;
vertical-align: middle;
padding: 12px 28px;
border: 1px solid #d11e1e;
border-radius: 21px;
background: #ff4a4a;
background: -webkit-gradient(linear, left top, left bottom,
from(#ff4a4a), to(#cf0029));
background: -moz-linear-gradient(top, #ff4a4a, #cf0029);
background: linear-gradient(to bottom, #ff4a4a, #cf0029);
text-shadow: #591717 1px 3px 1px;
font: normal normal bold 19px arial;
color: #ffffff;

88 | P á g i n a
text-decoration: none;
margin-bottom: -264px;
margin-left: 657px;
}
</style>
</body>
</html>

17.15. Código para borrar registro de la tabla Usuario


(ControladorBorrarRegistroUsuario.php)

<?php
require_once("Conexion.MySQL.php");

//Se declaran las variables que almacenarán la info de los input


//Para la tabla Usuario
$DPI_Usuario_Borrar = $_POST["DPI_Borrar"];

//Consulta y Verificacion para la tabla Feria


$Consulta_Usuario = mysqli_query($conn, "SELECT* FROM Usuario WHERE
DPI_Usuario = '$DPI_Usuario_Borrar'");
$Verificar_Usuario = mysqli_num_rows($Consulta_Usuario);

if($Verificar_Usuario == TRUE){
$delate_usuario = "DELETE FROM Usuario WHERE DPI_Usuario =
'$DPI_Usuario_Borrar'";
//Verificamos si los datos fueron borrados de la tabla
if($conn -> query($delate_usuario)===TRUE){
?> <script language = 'javascript'>
alert("El registro se ha borrado correctamente");
window.location = '/AMIGOS-DE-LA-
FIESTA/php/VistaBorrarRegistroUsuario.php';
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por
favor intente de nuevo...");
window.location = '/AMIGOS-DE-LA-
FIESTA/php/VistaBorrarRegistroUsuario.php';
</script> '; <?php
}

89 | P á g i n a
}
else{
?> <script language = 'javascript'>
alert("Lo siento, no hay ningun registro con ese DPI. Intente de
nuevo...");
window.location = '/AMIGOS-DE-LA-
FIESTA/php/VistaBorrarRegistroUsuario.php';
</script> '; <?php
}
?>

90 | P á g i n a
18. Código para crear un backup en caliente desde el cmd

 cd..
 cd..
 cd xampp/htdocs/AMIGOS-DE-LA-FIESTA
 mkdir Backup_Caliente_CMD
 cd..
 cd..
 cd mysql/bin
 mysqldump -u root -p ProyectoFinalBD1 > C:\xampp\htdocs\AMIGOS-DE-LA-
FIESTA\Backup_Caliente_CMD\Backup_Caliente_Proyecto.sql

18.1.Código para crear un backup en caliente desde el botón Crear Backup de la vista
perfil.html

<?php
require_once("Conexion.MySQL.php");

$fechaActual = date("Ymd-His");
$archivo_sql = 'Backup_Caliente_'.$fechaActual.'.sql';
$direccion_sql = 'C:/xampp/htdocs/AMIGOS-DE-LA-
FIESTA/BACKUP_CALIENTE/'.$archivo_sql;

$dump = "mysqldump -h$servername -u$username -p$password --opt $dbname >


$direccion_sql";

system($dump, $output);

$zip = new ZipArchive();

$archivo_zip = 'Backup_Caliente_'.$fechaActual.'.zip';
$direccion_zip = 'C:/xampp/htdocs/AMIGOS-DE-LA-
FIESTA/BACKUP_CALIENTE/'.$archivo_zip;

if($zip->open($direccion_zip, ZIPARCHIVE::CREATE) === TRUE){


$zip->addFile($direccion_sql);
$zip->close();
unlink($direccion_sql);

?> <script language = 'javascript'>


alert("El backup se ha creado con éxito...");
window.location = '/AMIGOS-DE-LA-FIESTA/Perfil.html';

91 | P á g i n a
</script> '; <?php
}
else{
?> <script language = 'javascript'>
alert("Lo siento, ha ocurrido un error durante el proceso. Por favor
intente de nuevo...");
window.location = '/AMIGOS-DE-LA-FIESTA/Perfil.html';
</script> '; <?php
}
?>

92 | P á g i n a
Conclusiones.

• En la empresa amigos de la fiesta, se pudo realizar un análisis y diseño de sistema

de base de datos, el cual es el proceso para estudiar su situación con la finalidad de

observar cómo trabaja y decidir la necesidad de obtener una mejora sobre la información

de todos los registros.

• El proceso que sigue en la organización es para determinar los requerimientos que

se necesitan para la elaboración de un sistema y para ello se recurren a varias técnicas de

recopilación de información para que el proyecto satisfaga las necesidades de los usuarios

finales.

• La base de datos tiene un aspecto importante en cuanto al diseño y creación de la

base de datos, donde existen distintos modos de organizar la información recolectada y

representación entre las relaciones por cada campo y registro, siendo tres modelos lógicos

principales dentro de una base de datos

• Los requerimientos de la base de datos si cumple con las diferentes conexiones, el

cual llevaran las tareas de análisis, ya que tiene la característica de relacionar toda la

información como vía organización y asociación donde la base de datos tiene una ventaja

que es utilizar la pagina web para el desarrollo del sistema de aplicación en las

organizaciones.

• La creación de consultas de la base de datos tiene archivos que permiten realizar

muchas tareas diferentes con los datos que se almacenarán, ya que serán utilizados para

controlar los registros que visualiza toda la información base, ya que tiene las

instrucciones necesarias para seleccionar los registros y campos requeridos de una base de

datos.
III | P á g i n a
Recomendaciones.

• Obtener una lógica para el diseño y organización de los datos que se almacenarán,

para estructurar bien la información que se desea consultar sobre los registros realizados.

• Realizar el estudio de la organización de los datos con la implementación de

técnicas para la recolección de los datos, con el fin de hacerle fácil el trabajo al

administrador para la elaboración del sistema.

• Implementar las normalizaciones correspondientes a cada tabla, con el fin de

obtener una buena organización de los datos, evitando redundancia de la información.

• Analizar las diferentes conexiones de la base de datos, para que se obtenga un

buen manejo de la información almacenada, el cual permita el desarrollo y manejo del

sistema de aplicación web de la empresa.

• Delimitar el margen de error en las conexiones dentro de la base de datos, con el

fin de obtener una buena optimización de los datos registrados y evitando que genera un

gran problema para los usuarios y administradores.

Implementar un buen manejo de las consultas de la base de datos, con el fin encontrar la

información requerida por el usuario, de tal manera que se sea optimo y eficaz para el

administrador

IV | P á g i n a
Anexos.

Imagen # 1: “Página principal”

V|Página
Imagen # 2: “Quienes somos”

Imagen # 3: “Página Principal de Contáctanos”

VI | P á g i n a
Imagen #4: “Formulario Contáctanos”

Imagen # 5: “Misión”

VII | P á g i n a
Imagen # 6: “Visión”

Imagen # 7: “Nuestro equipo”

Imagen # 8: “Login para los usuarios”

VIII | P á g i n a
Imagen # 9: “Perfil del Administrador de la Base de Datos DBA”

IX | P á g i n a
Imagen # 10: “Perfil DBA-Opción Avanzada-Administrar Usuarios”

Imagen # 11: “Perfil DBA-Opción Avanzada-Ver Registros”

Imagen # 12: “Perfil del Usuario Común”

X|Página
Imagen # 14: “Registro de Usuarios-Tabla Usuario”

XI | P á g i n a
Imagen # 14: “Registro de Ferias-Tabla Feria y Tabla Plaza”

XII | P á g i n a
Imagen # 15: “Registro de Toros-Tabla Ganadería”

Imagen # 16: “Registro de Toros-Tabla Toros”

XIII | P á g i n a
Imagen # 17: “Registro de Padrinos-Tabla Padrino y Tabla Apoderado”

XIV | P á g i n a
XV | P á g i n a
Imagen # 18: “Registro de Toreros-Tabla Torero”

Imagen # 19: “Registro de Toreros- Tabla Regalo y Tabla Corrida”

XVI | P á g i n a
Imagen # 20: “Ver registro de la tabla Usuario”

XVII | P á g i n a
Imagen # 21: “Ver registro de la tabla Feria y tabla Plaza”

Imagen # 22: “Ver registro de la tabla Ganadería y tabla Toro”

XVIII | P á g i n a
Imagen # 23: “Ver registro de la tabla Padrino y tabla Apoderado”

Imagen # 24: “Parte 1-Ver registro de la tabla Torero y tabla Regalo”

Imagen # 25: “Parte 2-Ver registro de la tabla Corrida”

XIX | P á g i n a
Imagen # 26: “Vista para borrar registros del usuario”

Imagen # 27: “Crear backup en caliente desde el cmd”

XX | P á g i n a
E-grafía.

➢ Para descargar Oracle:

https://www.apachefriends.org/es/download.html https://www.oracle.com/es/downloads/

➢ Para acceder a Oracle:

http://127.0.0.1:8080/apex/f?p=4550:9:4215939699602413::NO:::

➢ Para descargar Visual Studio Code:

https://code.visualstudio.com/download

➢ Para descargar XAMPP:

https://www.apachefriends.org/es/download.html

➢ Para acceder a MySQL luego de activar Apache y MySQL de xampp:

http://localhost/phpmyadmin/index.php?lang=es

XXI | P á g i n a

También podría gustarte