SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 1 de 9
Trabajo Obligatorio 1: MySQL
1. Diseño del modelo Entidad-Relación
De acuerdo a los requisitos planteados en el ejercicio el Modelo E-R está justificado por las siguientes
razones.
Se crea la entidad EMPLEADO bajo los siguientes criterios:
 Se eligió el atributo DNI como clave ya que es un dato único que identifica de manera única
a cada persona.
 El atributo Apellido inicialmente iba a ser un atributo compuesto, pero al ya que los requeri-
mientos no planteaban necesidades específicas tal como por ejemplo empleados americanos
que solo tienen un apellido, por lo tanto se decidió dejarlo como atributo simple.
 De igual manera, aunque la dirección podría ser un atributo compuesto, ya que en los requi-
sitos no se percibieron necesidades específicas, se decide dejar como atributo simple. De
establecerlo como atributo compuesto hubiese sido necesario saber datos más específicos que
se necesitaran como calle, no. interior, no. exterior, colonia, localidad, ciudad, código postal,
etcétera.
 Una característica importante es que en la empresa pueden haber empleados que supervisan
a otros empleados, por lo que fue necesario crear una relación reflexiva, así mismo existe una
restricción donde podría no existir ningún supervisor, pero en caso de haberlo, éste podrá
supervisar a varios empleados.
Se crea la entidad DEPARTAMENTO bajo los siguientes criterios:
 Se desean almacenar todos los departamentos tanto con su nombre como con un código que
los identifica de manera única.
 Los empleados están asociados a un departamento, ya sea porque pertenecen a él como tra-
bajadores o porque son los responsables a cargo de la dirección del mismo.
 La cardinalidad se da porque un empleado y solo uno puede dirigir no más de un departa-
mento. Así como muchos empleados pueden pertenecer a solo a un departamento.
 Los departamentos se identifican de manera inequívoca a través de su código, por lo que ese
atributo se eligió como clave principal
Se crea la entidad NÓMINA bajo los siguientes criterios:
 Es necesaria esta entidad ya que deben almacenarse cada uno de los pagos que se le hagan a
los empleados, que involucran la fecha y el monto.
 Ya que las nóminas están relacionadas a los empleados y no existe un atributo que pueda
identificar cada instancia de manera única, para no tener que usar los dos únicos atributos
como clave compuesta, se decide crear un atributo de clave artificial llamado ID.
 En cuanto a la restricción de cardinalidad, ya que a cada empleado se le paga mensualmente
entonces tendrá asociados muchos pagos de nóminas.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 2 de 9
La entidad CONTRATO es creada bajo los siguientes criterios:
 Es necesaria la entidad pues un empleado es contratado por un tiempo definido (fecha de
inicio y fecha de fin) bajo un cargo y una retribución. Cabe resaltar que podría parecer redun-
dante el atributo “Retribución” con “Cantidad ingresada” de la entidad Nómina, sin embargo
podría ser viable, pues aunque en los requerimientos no se especifica, cabría la posibilidad
de que se realizara un pago adicional, lo cual se reflejaría en la nómina, entonces en caso de
ser muy estrictos debería quitarse “Cantidad ingresada”, sin embargo a mi criterio y lógica
me pareció lo más pertinente conservar ambos.
 La cardinalidad establecida es porque un empleado puede tener diversos contratos cada uno
con características diferentes. Aunque los atributos de fecha que se muestran en relación tam-
bién pudieron aparecer en la entidad, se decidieron asignar de esa manera con la finalidad por
una parte todos los tipos de contratos y por otra parte los diferentes contratos de los emplea-
dos.
El Modelo Entidad-Relación es el siguiente y el cual también se puede acceder desde el siguiente
enlace http://www.gliffy.com/go/publish/7954513.
Ilustración 1. Modelo Entidad-Relación
2. Modelo Relacional
La elaboración del modelo relacional del ejercicio implicó la creación de cuatro tablas, más una que
fue creada automáticamente debido al tipo de restricción muchos a muchos, la cual incluyó un campo
adicional para la fecha de publicación del libro de cada autor.
Inicialmente hice en varias ocasiones mi modelo, sin embargo al intentar guardar el programa hacía
crash y se cerraba sin siquiera haber guardado, por lo que fue necesario repetir el proceso. La solución
finalmente fue instalar una versión más viejita, la cual presenta ligeros cambios en especial en los
iconos al crear las relaciones. Finalmente el resultado fue el siguiente modelo.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 3 de 9
Ilustración 2. Modelo Relacional
3. Lenguaje de Consultas SQL
1) El nombre de los clientes (Customers) que tienen como ciudad (City) ‘Madrid’ y tienen código
postal (PostalCode) '28034' o ' 28023'.
2) El nombre (FirstName) de todos los empleados (Employees) que cumplen años (BirthDate) el
1968-12-08 o el 1952-02-19.
3) El nombre de contacto (ContactName) y número de teléfono (Phone) de todos los proveedores
(Suppliers) de la ciudad ‘Tokyo’.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 4 de 9
4) Todos los datos de los productos (Products) que tengan un precio (Price) entre 20 y 40 y haya
más de 3 unidades disponibles (Unit).
NOTA: Hay otras funciones con las cuales se podría resolver esta consulta, sin embargo las
estuve probando en w3school y no están permitidas.
5) Todos los datos de los productos (Products) que tengan un precio (Price) mayor de 10 y que
pertenecen a la categoría con nombre (CategoryName) ‘Seafood’
6) El nombre (FirstName) y el cumpleaños (BirthDate) de los empleados (Employees) cuyo primer
nombre (FirstName) empieza por la letra A.
7) Una lista con: los nombres (CustomerName) , ciudad (City) , dirección (Address) y código postal
(PostalCode) de todos los clientes (Customers), los resultados deben de estar ordenados por ciu-
dad (City) y código postal (PostalCode).
8) Inserta un nuevo cliente (Customers) con los datos personales de propio alumno
9) Cambia el valor del país (Country) ‘Germany’ por: ‘Alemania’ en todos los clientes (Customers).
10) Mostrar la información completa todos los productos (Products) del Proveedor (Suppliers) con
nombre (SupplierName) ‘Tokyo Traders’.
11) Obtener el Nombre de Producto (ProductName), Unidades (Unit), Precio (Price) y el Nombre de
la categoría (CategoryName) para todos los productos.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 5 de 9
12) Mostrar la información completa de todos los productos (Products) de proveedores (Suppliers)
que tengan como ciudad (City) ‘Sydney’.
13) Obtener la información completa de los pedidos (Orders) realizados por el Cliente (Customer)
con nombre (CustomerName) ‘Alfreds Futterkiste’.
NOTA: No hay pedidos de dicho cliente
14) Obtener la información completa de todos los pedidos (Oders) que contengan el producto (Pro-
duct) con nombre (ProductName) ‘Ikura’.
15) Obtener la información completa de todos los pedidos (Oders) que hayan sido realizados por
clientes (Customers) de la ciudad (City) ‘Madrid’
16) Obtener los teléfonos (Phone) de proveedores (Suppliers) y Transportistas (Shippers).
17) Obtener toda la información de los cuatro productos (Products) con mayor precio (Price).
18) Obtener el precio (Price) más alto de un producto (Product) disponible, para que esté disponible
ha de tener más de 0 unidades (Unit).
19) Contar cuantos clientes (Customers) hay que vivan en la ciudad (City) de ‘Madrid’ O ‘Barcelona’.
20) El nombre (SupplierName) y el teléfono (Phone) de todos los Proveedores (Supplier) del pro-
ducto con nombre (ProductName) ‘Konbu’.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 6 de 9
4. Creación de una Base de Datos en MySQL
Para esta actividad ser retoma el Modelo Entidad-Relación creada
con anterioridad y crear la BD en MySQL, se puede hacer desde
cero escribiendo todo el código, o como se realizó en esta prác-
tica, es decir, Exportar el Modelo E-R a MySQL desde el Menú
Database y luego en “Forward Engineer”.
Una vez hecho esto, los pasos son muy intuitivos, simplemente se debe indicar la conexión
para que Workbench se comunique con MySQL, después indicar con qué opciones se exportará y
finalmente elegir lo que se desea exportar y antes de finalizar, mostrará una vista previa a manera de
comprobación antes de hacer los cambios.
Ilustración 3.Exportar el Modelo E-R a MySQL
El siguiente paso es insertar lo datos a la recién creada base de datos, para esto
desde el mismo Workbench. Tal como se muestra en la siguiente imagen se puede
observar la nueva BD con sus respectivas tablas. Para ejecutar una sentencia de
forma rápida sobre cualquiera de las entidades se puede dar clic derecho sobre la
tabla y luego elegir “Send to SQL Editor”. Con ello es más que suficiente para
comenzar a insertar los registros.
Ilustración 5. Sentencia para insertar registros en tabla "Sala"
Ilustración 4. Panel
de Workbench
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 7 de 9
Ilustración 7. Sentencia para insertar registros en tabla "Sección"
Las siguientes inserciones, aunque en el trabajo aparecían juntos, debido al diseño hecho desde un
inicio, fue necesario hacer dos inserciones por separado, sin embargo pertenecen a los mismos datos,
ya que como se recordará, un libro puede ser escrito por muchos autores, como se ve en los libros 10
y 11.
Ilustración 8. Inserción de datos en tabla "Libro"
Ilustración 9. Insertar el resto de los datos en la tabla auxiliar "libro_has_autor"
Ilustración 6. Inserción a tabla "Autor"
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 8 de 9
5. Uso de Base de Datos MySQL
Se programó una página que permite agregar libros a la base de datos así como ver todos los que ya
están almacenados en la base de datos. Ya que para que sea realmente funcional deberían existir más
módulos como para gestionar las secciones, los autores, etc. Por tal motivo solamente cuenta con
características básicas.
La aplicación esta lista para ser usada, solo basta
con colocar la carpeta en el servidor web y acceder desde
la URL, y eso es todo, ya que la aplicación solita gene-
rará la base de datos, tablas, relaciones e insertará salas,
secciones y autores, permitiendo así, que el usuario solo
pueda guardar nuevos libros.
Por defecto la aplicación trabaja con una base de
datos llamada “librería” sin embargo puede ser cambiada
sin ningún problema. Así como los datos de conexión
para el servidor MySQL. Así pues, la página web se vi-
sualiza como las siguientes imágenes, en caso de usarse
la misma base de datos de los ejercicios anteriores, se
verán los libros iniciales, sin embargo, si se ejecuta la
aplicación con un nombre de base de datos diferente, entonces se creara una nueva base de datos la
cual por supuesto no tendrá ningún libro por lo que habrá que crearlos.
Ilustración 10. Configuraciones del sitio web
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Repositorios de Información Web
29 de abril de 2015 Página 9 de 9
Ilustración 11. Sitio web con base de datos de la práctica
Ilustración 12. Sitio web cuando se le asigna un nuevo nombre de BD

Weitere ähnliche Inhalte

Was ist angesagt?

MODELO ENTIDAD RELACION
MODELO ENTIDAD RELACIONMODELO ENTIDAD RELACION
MODELO ENTIDAD RELACIONPamela Quinde
 
Crear y Eliminar Bases de datos en MySQL Workbench
Crear y Eliminar  Bases de datos en MySQL WorkbenchCrear y Eliminar  Bases de datos en MySQL Workbench
Crear y Eliminar Bases de datos en MySQL WorkbenchJair Ospino Ardila
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchRobedgar MX
 
Curso Laravel basico.pptx
Curso Laravel basico.pptxCurso Laravel basico.pptx
Curso Laravel basico.pptxGabrielGabo21
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datosucbasededatos
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorJomicast
 
Generación de documentación con star UML
Generación de documentación con star UMLGeneración de documentación con star UML
Generación de documentación con star UMLSoftware Guru
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 

Was ist angesagt? (20)

TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
MODELO ENTIDAD RELACION
MODELO ENTIDAD RELACIONMODELO ENTIDAD RELACION
MODELO ENTIDAD RELACION
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Crear y Eliminar Bases de datos en MySQL Workbench
Crear y Eliminar  Bases de datos en MySQL WorkbenchCrear y Eliminar  Bases de datos en MySQL Workbench
Crear y Eliminar Bases de datos en MySQL Workbench
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Vistas
VistasVistas
Vistas
 
Funciones del DBA, SA Y DA
Funciones del DBA, SA Y DAFunciones del DBA, SA Y DA
Funciones del DBA, SA Y DA
 
Curso Laravel basico.pptx
Curso Laravel basico.pptxCurso Laravel basico.pptx
Curso Laravel basico.pptx
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
Dataset y datatable
Dataset y datatableDataset y datatable
Dataset y datatable
 
Generación de documentación con star UML
Generación de documentación con star UMLGeneración de documentación con star UML
Generación de documentación con star UML
 
Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 

Ähnlich wie Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)

Ähnlich wie Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso) (20)

Coffe Place.docx
Coffe Place.docxCoffe Place.docx
Coffe Place.docx
 
Arquitectura y-requerimientos
Arquitectura y-requerimientosArquitectura y-requerimientos
Arquitectura y-requerimientos
 
Ciclo de vida de un sistema información
Ciclo de vida de un sistema informaciónCiclo de vida de un sistema información
Ciclo de vida de un sistema información
 
Mudanzas.com
Mudanzas.comMudanzas.com
Mudanzas.com
 
Formato de proyecto
Formato de proyectoFormato de proyecto
Formato de proyecto
 
Diseno físico de la base de datos
Diseno físico de la base de datosDiseno físico de la base de datos
Diseno físico de la base de datos
 
Curso Analytics 2
Curso Analytics 2Curso Analytics 2
Curso Analytics 2
 
final 3 bim axel
final 3 bim axelfinal 3 bim axel
final 3 bim axel
 
Propuesta ova comercio electronico luis c
Propuesta ova comercio electronico luis cPropuesta ova comercio electronico luis c
Propuesta ova comercio electronico luis c
 
Administracion electronica de negocios
Administracion electronica de negociosAdministracion electronica de negocios
Administracion electronica de negocios
 
Computación i 9101
Computación i 9101Computación i 9101
Computación i 9101
 
Anteproyecto salazar bolivar
Anteproyecto salazar bolivarAnteproyecto salazar bolivar
Anteproyecto salazar bolivar
 
Laboratorio 8
Laboratorio 8Laboratorio 8
Laboratorio 8
 
Modelo de negocio
Modelo de negocioModelo de negocio
Modelo de negocio
 
Creacion de tienda virtual
Creacion de tienda virtualCreacion de tienda virtual
Creacion de tienda virtual
 
Paper
PaperPaper
Paper
 
Paper
PaperPaper
Paper
 
Gestion de administracion, planeacion y ciclo del desarrollo de sistemas de i...
Gestion de administracion, planeacion y ciclo del desarrollo de sistemas de i...Gestion de administracion, planeacion y ciclo del desarrollo de sistemas de i...
Gestion de administracion, planeacion y ciclo del desarrollo de sistemas de i...
 
Turismo sobre ruedas
Turismo sobre ruedasTurismo sobre ruedas
Turismo sobre ruedas
 
Prioyecto de BASE DE DATOS LISSET ALEJOS JARAL
Prioyecto de BASE DE DATOS LISSET ALEJOS JARAL Prioyecto de BASE DE DATOS LISSET ALEJOS JARAL
Prioyecto de BASE DE DATOS LISSET ALEJOS JARAL
 

Mehr von Héctor Garduño Real

Sistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningSistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningHéctor Garduño Real
 
Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Héctor Garduño Real
 
Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Héctor Garduño Real
 
Asignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasAsignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasHéctor Garduño Real
 
Asignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónAsignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónHéctor Garduño Real
 
Principales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoPrincipales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoHéctor Garduño Real
 
Práctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaPráctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaHéctor Garduño Real
 
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesPráctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesHéctor Garduño Real
 
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...Héctor Garduño Real
 
Metodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasMetodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasHéctor Garduño Real
 
Análisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasAnálisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasHéctor Garduño Real
 
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Héctor Garduño Real
 
Práctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoPráctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoHéctor Garduño Real
 
Práctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioPráctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioHéctor Garduño Real
 
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosInforme de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosHéctor Garduño Real
 

Mehr von Héctor Garduño Real (20)

Sistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningSistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-Learning
 
Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009
 
Asignatura: Informática 1
Asignatura: Informática 1Asignatura: Informática 1
Asignatura: Informática 1
 
Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes
 
Asignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasAsignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de Computadoras
 
Asignatura: Desarrollo Sustentable
Asignatura: Desarrollo SustentableAsignatura: Desarrollo Sustentable
Asignatura: Desarrollo Sustentable
 
Asignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónAsignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computación
 
Principales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoPrincipales CMS y Estadísticas de uso
Principales CMS y Estadísticas de uso
 
Práctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaPráctica de instalación y uso de Joomla
Práctica de instalación y uso de Joomla
 
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesPráctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
 
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
 
Metodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasMetodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web Seguras
 
Análisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasAnálisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las Cosas
 
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
 
Análisis del Whitepaper DB4O
Análisis del Whitepaper DB4OAnálisis del Whitepaper DB4O
Análisis del Whitepaper DB4O
 
Práctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoPráctica de instalación y uso de Alfresco
Práctica de instalación y uso de Alfresco
 
Más alla de la web 2.0
Más alla de la web 2.0Más alla de la web 2.0
Más alla de la web 2.0
 
Práctica de herramientas web 2.0
Práctica de herramientas web 2.0Práctica de herramientas web 2.0
Práctica de herramientas web 2.0
 
Práctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioPráctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audio
 
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosInforme de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
 

Kürzlich hochgeladen

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Kürzlich hochgeladen (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)

  • 1. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 1 de 9 Trabajo Obligatorio 1: MySQL 1. Diseño del modelo Entidad-Relación De acuerdo a los requisitos planteados en el ejercicio el Modelo E-R está justificado por las siguientes razones. Se crea la entidad EMPLEADO bajo los siguientes criterios:  Se eligió el atributo DNI como clave ya que es un dato único que identifica de manera única a cada persona.  El atributo Apellido inicialmente iba a ser un atributo compuesto, pero al ya que los requeri- mientos no planteaban necesidades específicas tal como por ejemplo empleados americanos que solo tienen un apellido, por lo tanto se decidió dejarlo como atributo simple.  De igual manera, aunque la dirección podría ser un atributo compuesto, ya que en los requi- sitos no se percibieron necesidades específicas, se decide dejar como atributo simple. De establecerlo como atributo compuesto hubiese sido necesario saber datos más específicos que se necesitaran como calle, no. interior, no. exterior, colonia, localidad, ciudad, código postal, etcétera.  Una característica importante es que en la empresa pueden haber empleados que supervisan a otros empleados, por lo que fue necesario crear una relación reflexiva, así mismo existe una restricción donde podría no existir ningún supervisor, pero en caso de haberlo, éste podrá supervisar a varios empleados. Se crea la entidad DEPARTAMENTO bajo los siguientes criterios:  Se desean almacenar todos los departamentos tanto con su nombre como con un código que los identifica de manera única.  Los empleados están asociados a un departamento, ya sea porque pertenecen a él como tra- bajadores o porque son los responsables a cargo de la dirección del mismo.  La cardinalidad se da porque un empleado y solo uno puede dirigir no más de un departa- mento. Así como muchos empleados pueden pertenecer a solo a un departamento.  Los departamentos se identifican de manera inequívoca a través de su código, por lo que ese atributo se eligió como clave principal Se crea la entidad NÓMINA bajo los siguientes criterios:  Es necesaria esta entidad ya que deben almacenarse cada uno de los pagos que se le hagan a los empleados, que involucran la fecha y el monto.  Ya que las nóminas están relacionadas a los empleados y no existe un atributo que pueda identificar cada instancia de manera única, para no tener que usar los dos únicos atributos como clave compuesta, se decide crear un atributo de clave artificial llamado ID.  En cuanto a la restricción de cardinalidad, ya que a cada empleado se le paga mensualmente entonces tendrá asociados muchos pagos de nóminas.
  • 2. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 2 de 9 La entidad CONTRATO es creada bajo los siguientes criterios:  Es necesaria la entidad pues un empleado es contratado por un tiempo definido (fecha de inicio y fecha de fin) bajo un cargo y una retribución. Cabe resaltar que podría parecer redun- dante el atributo “Retribución” con “Cantidad ingresada” de la entidad Nómina, sin embargo podría ser viable, pues aunque en los requerimientos no se especifica, cabría la posibilidad de que se realizara un pago adicional, lo cual se reflejaría en la nómina, entonces en caso de ser muy estrictos debería quitarse “Cantidad ingresada”, sin embargo a mi criterio y lógica me pareció lo más pertinente conservar ambos.  La cardinalidad establecida es porque un empleado puede tener diversos contratos cada uno con características diferentes. Aunque los atributos de fecha que se muestran en relación tam- bién pudieron aparecer en la entidad, se decidieron asignar de esa manera con la finalidad por una parte todos los tipos de contratos y por otra parte los diferentes contratos de los emplea- dos. El Modelo Entidad-Relación es el siguiente y el cual también se puede acceder desde el siguiente enlace http://www.gliffy.com/go/publish/7954513. Ilustración 1. Modelo Entidad-Relación 2. Modelo Relacional La elaboración del modelo relacional del ejercicio implicó la creación de cuatro tablas, más una que fue creada automáticamente debido al tipo de restricción muchos a muchos, la cual incluyó un campo adicional para la fecha de publicación del libro de cada autor. Inicialmente hice en varias ocasiones mi modelo, sin embargo al intentar guardar el programa hacía crash y se cerraba sin siquiera haber guardado, por lo que fue necesario repetir el proceso. La solución finalmente fue instalar una versión más viejita, la cual presenta ligeros cambios en especial en los iconos al crear las relaciones. Finalmente el resultado fue el siguiente modelo.
  • 3. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 3 de 9 Ilustración 2. Modelo Relacional 3. Lenguaje de Consultas SQL 1) El nombre de los clientes (Customers) que tienen como ciudad (City) ‘Madrid’ y tienen código postal (PostalCode) '28034' o ' 28023'. 2) El nombre (FirstName) de todos los empleados (Employees) que cumplen años (BirthDate) el 1968-12-08 o el 1952-02-19. 3) El nombre de contacto (ContactName) y número de teléfono (Phone) de todos los proveedores (Suppliers) de la ciudad ‘Tokyo’.
  • 4. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 4 de 9 4) Todos los datos de los productos (Products) que tengan un precio (Price) entre 20 y 40 y haya más de 3 unidades disponibles (Unit). NOTA: Hay otras funciones con las cuales se podría resolver esta consulta, sin embargo las estuve probando en w3school y no están permitidas. 5) Todos los datos de los productos (Products) que tengan un precio (Price) mayor de 10 y que pertenecen a la categoría con nombre (CategoryName) ‘Seafood’ 6) El nombre (FirstName) y el cumpleaños (BirthDate) de los empleados (Employees) cuyo primer nombre (FirstName) empieza por la letra A. 7) Una lista con: los nombres (CustomerName) , ciudad (City) , dirección (Address) y código postal (PostalCode) de todos los clientes (Customers), los resultados deben de estar ordenados por ciu- dad (City) y código postal (PostalCode). 8) Inserta un nuevo cliente (Customers) con los datos personales de propio alumno 9) Cambia el valor del país (Country) ‘Germany’ por: ‘Alemania’ en todos los clientes (Customers). 10) Mostrar la información completa todos los productos (Products) del Proveedor (Suppliers) con nombre (SupplierName) ‘Tokyo Traders’. 11) Obtener el Nombre de Producto (ProductName), Unidades (Unit), Precio (Price) y el Nombre de la categoría (CategoryName) para todos los productos.
  • 5. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 5 de 9 12) Mostrar la información completa de todos los productos (Products) de proveedores (Suppliers) que tengan como ciudad (City) ‘Sydney’. 13) Obtener la información completa de los pedidos (Orders) realizados por el Cliente (Customer) con nombre (CustomerName) ‘Alfreds Futterkiste’. NOTA: No hay pedidos de dicho cliente 14) Obtener la información completa de todos los pedidos (Oders) que contengan el producto (Pro- duct) con nombre (ProductName) ‘Ikura’. 15) Obtener la información completa de todos los pedidos (Oders) que hayan sido realizados por clientes (Customers) de la ciudad (City) ‘Madrid’ 16) Obtener los teléfonos (Phone) de proveedores (Suppliers) y Transportistas (Shippers). 17) Obtener toda la información de los cuatro productos (Products) con mayor precio (Price). 18) Obtener el precio (Price) más alto de un producto (Product) disponible, para que esté disponible ha de tener más de 0 unidades (Unit). 19) Contar cuantos clientes (Customers) hay que vivan en la ciudad (City) de ‘Madrid’ O ‘Barcelona’. 20) El nombre (SupplierName) y el teléfono (Phone) de todos los Proveedores (Supplier) del pro- ducto con nombre (ProductName) ‘Konbu’.
  • 6. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 6 de 9 4. Creación de una Base de Datos en MySQL Para esta actividad ser retoma el Modelo Entidad-Relación creada con anterioridad y crear la BD en MySQL, se puede hacer desde cero escribiendo todo el código, o como se realizó en esta prác- tica, es decir, Exportar el Modelo E-R a MySQL desde el Menú Database y luego en “Forward Engineer”. Una vez hecho esto, los pasos son muy intuitivos, simplemente se debe indicar la conexión para que Workbench se comunique con MySQL, después indicar con qué opciones se exportará y finalmente elegir lo que se desea exportar y antes de finalizar, mostrará una vista previa a manera de comprobación antes de hacer los cambios. Ilustración 3.Exportar el Modelo E-R a MySQL El siguiente paso es insertar lo datos a la recién creada base de datos, para esto desde el mismo Workbench. Tal como se muestra en la siguiente imagen se puede observar la nueva BD con sus respectivas tablas. Para ejecutar una sentencia de forma rápida sobre cualquiera de las entidades se puede dar clic derecho sobre la tabla y luego elegir “Send to SQL Editor”. Con ello es más que suficiente para comenzar a insertar los registros. Ilustración 5. Sentencia para insertar registros en tabla "Sala" Ilustración 4. Panel de Workbench
  • 7. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 7 de 9 Ilustración 7. Sentencia para insertar registros en tabla "Sección" Las siguientes inserciones, aunque en el trabajo aparecían juntos, debido al diseño hecho desde un inicio, fue necesario hacer dos inserciones por separado, sin embargo pertenecen a los mismos datos, ya que como se recordará, un libro puede ser escrito por muchos autores, como se ve en los libros 10 y 11. Ilustración 8. Inserción de datos en tabla "Libro" Ilustración 9. Insertar el resto de los datos en la tabla auxiliar "libro_has_autor" Ilustración 6. Inserción a tabla "Autor"
  • 8. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 8 de 9 5. Uso de Base de Datos MySQL Se programó una página que permite agregar libros a la base de datos así como ver todos los que ya están almacenados en la base de datos. Ya que para que sea realmente funcional deberían existir más módulos como para gestionar las secciones, los autores, etc. Por tal motivo solamente cuenta con características básicas. La aplicación esta lista para ser usada, solo basta con colocar la carpeta en el servidor web y acceder desde la URL, y eso es todo, ya que la aplicación solita gene- rará la base de datos, tablas, relaciones e insertará salas, secciones y autores, permitiendo así, que el usuario solo pueda guardar nuevos libros. Por defecto la aplicación trabaja con una base de datos llamada “librería” sin embargo puede ser cambiada sin ningún problema. Así como los datos de conexión para el servidor MySQL. Así pues, la página web se vi- sualiza como las siguientes imágenes, en caso de usarse la misma base de datos de los ejercicios anteriores, se verán los libros iniciales, sin embargo, si se ejecuta la aplicación con un nombre de base de datos diferente, entonces se creara una nueva base de datos la cual por supuesto no tendrá ningún libro por lo que habrá que crearlos. Ilustración 10. Configuraciones del sitio web
  • 9. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Repositorios de Información Web 29 de abril de 2015 Página 9 de 9 Ilustración 11. Sitio web con base de datos de la práctica Ilustración 12. Sitio web cuando se le asigna un nuevo nombre de BD