jueves, 5 de febrero de 2015

Pruebas de integracion y sistema

Introducción

En este post se habla sobre mas tipos de pruebas para ayudarnos a verificar que nuestros sistemas que desarrollemos funcionen lo mejor posible en este caso serán dos tipos, las pruebas de integración y las pruebas de sistema.

Desarrollo


  • Pruebas de integración: El objetivo de estas pruebas son probar grupos de módulos del proyecto con el fin de verificar su funcionamiento en conjunto. Algunas características de estas pruebas son:
    • Énfasis en la interacción y no en el funcionamiento individual.
    • Ayudan a detectar problemas de interfaces entre las unidades.
    • Si cada elemento funciona perfectamente por separado no necesariamente debería de funcionar como conjunto.
    • Detectan la falta de sentido entre lo que debe hacer una unidad y lo que debería hacer.
  • Pruebas de sistema: Este tipo de pruebas son similares a las pruebas de caja negra antes mencionadas pero con la diferencia de que prueban al sistema como todo un todo, debido a esto están basadas en los requerimientos generales. Algunas características de este tipo de pruebas son:
    • Analizar defectos globales o para estudiar aspectos específicos de su comportamiento.
    • Realizar pruebas de rendimiento.
    • Analizar la seguridad con la que cuenta el sistema.
    • Realizar pruebas de stress en las cuales se realizan muchas peticiones para probar la capacidad del programa.

Conclusión

Estas pruebas en especial las pruebas de sistema son las mas importantes ya que en si engloban las pruebas antes mencionadas como la de caja negra, ademas de que las pruebas de sistema son una especie de conjunto de pruebas de integración con la diferencia de que las de sistema engloban a todo el software.
Por lo que es recomendable comenzar por pruebas de integración para después hacer pruebas de sistema de una manera mas ágil.

Fuentes

Polo M. (2004). EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. Febrero 05, 2015, de Escuela Superior de Informática Sitio web: http://www.inf-cr.uclm.es/www/mpolo/asig/is4/madumSistema.pdf

Fernandez J. (2012). Pruebas de Integracion. Febrero 05, 2015, de Universidad Veracruzana. Sitio web: http://www.uv.mx/personal/jfernandez/files/2012/11/PruebaIntegracionEstructurada.pdf

Fernandez J. (2010). Pruebas de Sistema. Febrero 05, 2015, de Universidad Veracruzana Sitio web: http://www.uv.mx/personal/jfernandez/files/2010/07/Pruebas-de-Sistema.pdf

viernes, 16 de enero de 2015

Diagramas de flujo y grafos

Diagramas de flujo y grafos

Introducción


Como se dijo en un anterior post los grafos nos ayudan a probar todos los posibles caminos a la hora de realizar pruebas.
Estos los realizamos en base a los diagramas de flujo que nos muestran los ciclos y condicionales que contiene un programa.
El siguiente es un ejemplo de esto junto con los posibles caminos que se tienen.

Desarrollo



Este es el diagrama de flujo.



Este es el grafo.


Estos son los posibles caminos.

    1. INICIO - P4 - FIN
    2. INICIO - P4 - P5 - FIN
    3. INICIO - P4 - P6 - FIN
    4. INICIO - P1 - P2 - FIN
    5. INICIO - P1 - P3 - FIN
    6. INICIO - P2 - FIN
    7. INICIO P3 - FIN

Conclusiones

Los diagramas de flujo nos facilitan el trabajo a la hora de codear así como los grafos nos facilitan el trabajo a la hora de realizar pruebas.

Fuentes


CBSE. (2003). Pruebas. Enero 16, 2015, de Universidad de los Andes Colombia Sitio web: https://sistemas.uniandes.edu.co/~isis4713/dokuwiki/lib/exe/fetch.php?media=isis4713-pruebas3.pdf

Pruebas de caja negra y blanca


Pruebas de caja negra y caja blanca


Introducción


Las pruebas son muy importantes en el desarrollo de un proyecto ya que con estas encontramos y evitamos la mayoría de errores que nuestro sistema pueda tener, 2 de ellas, las pruebas de caja negra y blanca son de las mas relevantes por lo que en este post se hablara sobre ellas.

Desarrollo


El fin que tienen las pruebas de caja negra y blanca es ayudarnos a encontrar el mayor numero de errores en el menor tiempo posible y por ende con menos esfuerzo.
Ademas de esto cada tipo de prueba tiene sus propias características.

Pruebas de caja negra: Su objetivo es realizar pruebas de forma que se compruebe que cada función de nuestro programa es operativa.


Solo se busca una entrada
y salida correcta.

Pruebas de caja blanca: Tiene por objetivo desarrollar pruebas de forma que la operación interna se ajuste a los requerimientos y que todos los componentes internos se hayan probado de forma adecuada.
Características:

  • El 32% de los errores corresponden a errores en la lógica de los componentes.
  • Se pueden usar los grafos de flujo para recorrer todos los posibles caminos del programa.
  • Algunos defectos que pretende encontrar son:
    • Una variable es usada antes de ser definida.
    • Una variable es usada pero nunca definida.
    • Una variable se define 2 veces antes de ser usada.


Podemos observar que se
ejecutan todos los procesos
en la prueba de caja blanca.
En resumen la prueba de caja negra busca una entrada y salida correcta es por eso que se enfoca en las funciones del software que son operativas.
Por el contrario la prueba de caja blanca realiza un análisis muy minucioso de los detalles procedimentales, ademas de probar todos los caminos lógicos del programa, entrando en cada bucle y condición que este tenga y probando el estado del programa.

Conclusiones


Al final podemos concluir que las pruebas de caja negra son solo "superficiales" que solo buscan mirar si un modulo cumple con su función, por lo tanto son rápidas pero no son precisas.
Por el contrario tenemos a las pruebas de caja blanca que complementan las anteriores buscando cada pequeño detalle que se pueda presentar durante la ejecución de un programa.

Fuentes


Torres M.. (2006). Técnicas de prueba. Enero 16, 2015, de Universidad de Almería Sitio web: http://indalog.ual.es/mtorres/LP/Prueba.pdf

CBSE. (2003). Pruebas. Enero 16, 2015, de Universidad de los Andes Colombia Sitio web: https://sistemas.uniandes.edu.co/~isis4713/dokuwiki/lib/exe/fetch.php?media=isis4713-pruebas3.pdf

Gomez V.. (2012). Pruebas de caja negra. Enero 16, 2015, de Globe Testing Sitio web: http://www.globetesting.com/2012/08/pruebas-de-caja-negra/

domingo, 31 de agosto de 2014

Calidad y la norma ISO 9126

Introducción

La calidad es una parte muy importante del desarrollo de pruebas ya que es un indicador de que tan satisfactorio es un software y que tan bien hecho esta. Una herramienta para hacer esto es la norma ISO 9126 ya que es un estándar con el cual se evalúa la calidad del software, esta norma ISO tiene diversas características.

Desarrollo

Calidad

Podemos definir a la calidad como las propiedades con las que juzgamos el valor de algún objeto o servicio. Aplicado al desarrollo de software podemos decir que es el que tan bueno es dicho software.

Norma ISO 9126

Es un estándar internacional el cual evalúa la calidad del software. Y como se ha dicho antes tiene diversas características y características.
  • Funcionalidad: Es proporcionar las acciones que se requieren en base a especificaciones y requerimientos.
    • Adecuación: Es proporcionar las funciones que se requieren de acuerdo a los objetivos que se necesitan cumplir.
    • Exactitud: Es proporcionar la información o resultados que se solicitan con una gran precisión.
    • Interoperabilidad:  Que tan fluido interactúa el programa con otros sistemas.
    • Seguridad: Es el que tanto protege el sistema los datos e información de los usuarios para que estos no sean modificados o leídos.
  • Fiabilidad: Es la probabilidad para que el programa funcione bien.
    • Madurez: Que tan bien hecho esta hecho el software para evitar fallas.
    • Tolerancia a fallos: La facilidad con la que el software se recupera después de que presente un fallo.
    • Capacidad de recuperación: La habilidad para que el software recupere los datos afectados después de un fallo.
  • Usabilidad: Está conformada por características como el que tan atractivo es el software y que tan fácil se puede entender usar o aprender.
    • Capacidad para ser entendido: La rapidez con la que el usuario aprende a utilizar el programa y lo que este hace.
    • Capacidad para ser aprendido: La facilidad con la que el usuario puede memorizar la funcionalidad del software.
    • Capacidad para ser operado: Que tan fácil es de usar el programa.
    • Capacidad de atraccion:o   Es el que tan atractivo le parece a el usuario.
  • Eficiencia: Es la utilización correcta de los recursos con los que cuenta el programa.
    • Comportamiento temporal: Es el tiempo que tarda en responder el programa.
    • Utilización de recursos:  La fluidez con la que el software realiza acciones con los recursos que se le proporcionan.
  • Mantenibilidad: La facilidad con la que el software puede ser modificado.
    • Capacidad para ser analizada: La facilidad con la que se puede hacer un análisis al software, esto se hace mediante pruebas.
    • Capacidad para ser cambiado: La sencillez con la que se puede realizar modificaciones a un programa.
    • Estabilidad: Se refiere a que el software no sufra daños después de recibir mantenimiento o cambios.
    • Capacidad para ser probado: Que después de que el software sea modificado pueda ser validado.
  • Portabilidad
    • Adaptabilidad: La facilidad con la que se adapta un software a distintas plataformas, sin la necesidad de acciones externas al dicho programa.
    • Instalabilidad: La facilidad del programa para ser instado bajo condiciones especificas.
    • Coexistencia: Es la capacidad que tiene el software para trabajar en conjunto con otro.
    • Capacidad para remplazar: Es la capacidad de un software para remplazar a otro.

Conclusión

Si se aplica de una buena todas estas características en la evaluación del software podremos hacer que el proyecto a desarrollar sea un éxito y tenga la mayor aceptación posible gracias a su buen funcionamiento y todas las características que estén presentes.
Pero algo importante a resaltar es que todo esto es relativo, esto quiere decir que cada persona puede definir por sí mismo estas características y las puede entender como ella pueda.

Fuentes

Fairley, Richard. Ingeniería de Software, 2ª Edición. Editorial Mc Graw Hill. México. 1987


Abud Maria. (2000). Calidad en la Industria del Software. La Norma ISO-9126. Agosto 30, 2014, de Universidad Nacional de La Plata Sitio web: http://recursosbiblioteca.utp.edu.co/tesisd/textoyanexos/0053L864e_anexo.pdf

domingo, 24 de agosto de 2014

Ingerieria de pruebas y el ciclo de vida del software

Introducción

Los siguientes temas hacen referencia a la ingeniería de pruebas de software, lo cual es fundamental para el desarrollo de un proyecto el cual se realiza mediante la implementación del ciclo de vida del software principalmente usando el llamado modelo de cascada.
Este modelo consta de 5 niveles; pero se profundizara en el nivel de pruebas y todo lo que representa.

Desarrollo

Prueba.

Una prueba es la razón, argumento, instrumento u otro medio con que se pretende mostrar y hacer patente la verdad o falsedad de algo. (Real Academia Española, 2001). Si esto lo aplicamos al desarrollo de un programa podemos decir que una prueba es una técnica que implica la ejecución del programa mediante la cual podemos conocer la calidad y con ello mejorar el producto detectando fallas o problemas. (Carlos Blanco Bueno, 2007).

Ingeniería de pruebas. 

Una ingeniería es la especialización en la ejecución de ciertas aplicaciones de la ciencia en base a conocimientos científicos amplios y diversos. (Louis de Broglie, 1958). Debido a que la programación y el desarrollo de software se están convirtiendo en toda una ciencia y en base a la definición de prueba, podemos decir que la ingeniería de pruebas es la mejora de un software o el mantenimiento de este, con la ayuda de la detección de errores que pueda contener este y esta detección se realiza con un conocimiento antes adquirido.

Ciclo de vida del software. 

El ciclo de vida del software es una estructura guía, abstracciones, marcos del proceso que pueden se extendidos y adaptados para crear procesos más específicos.(Lorena Castañeda Bueno, 2010). La idea central de todo esto es que un proyecto tenga éxito. Hay distintos tipos de modelos que podemos usar como el modelo de cascada, el lineal y el de espirar pero todos comparten las siguientes etapas:
  • Especificación del software: Son los requerimientos funcionales, no funcionales y de sistema. Es el ¿Qué vamos hacer?
  • Diseño del software: Aquí definimos el como vamos hacer el proyecto.
  • Implementacion: Es la codificación.
  • Pruebas: Como lo hemos dicho antes es el encontrar errores y mejorar el sistema.
  • Mantenimiento: Es la corrección de los errores encontrados en la etapa de pruebas.

Modelo lineal:



Modelo de espiral:



Modelo de cascada:

Tipos de prueba de software

  • Prueba de caja blanca: Se basa en la detección de los errores lógicos que se pueden presentar, por ejemplo, se tienen que probar todas las posibilidades lógicas de cada modulo ademas de llevar al limite bucles con sus limites operacionales.operacionales. También se buscan los errores topográficos
  • Prueba de caja negra: Esta prueba se centra en los requisitos funcionales del programa. Por ejemplo: que no cuente con las funciones que debería, errores de rendimiento, errores en la interfaz o errores en la ejecución y terminación.
  • Prueba basada en requerimientos: Las pruebas basadas en requerimientos son una aproximación sistemática al diseño de casos de prueba en donde el usuario considera cada requerimiento y deriva un conjunto de pruebas de cada uno. (Sommerville, 2005).
  • Pruebas de aceptación: Pruebas realizadas por los usuarios con el fin de saber si el sistema esta listo para ser implantado. Son las versiones betas o alfas de algún software.
  • Pruebas de integración: Es tomar todos los componentes desarrollados e integrarlos para formar el sistema con el fin de observar el diseño y la arquitectura de este.

Conclusión

Las pruebas dentro del desarrollo de un proyecto son la parte más importante durante la elaboración de este, ya que no importa que tan bueno seas programando siempre cometerás errores por lo que es indispensable aplicar una etapa de pruebas durante el desarrollo del software para que el proyecto se concluya con éxito y para esto debemos conocer todos los conceptos antes mencionados y lo mas importante saberlos aplicar como buen ingeniero.

Fuentes

Ruiz R. (2010). Las pruebas de software y su importancia en las organizaciones. Agosto 24, 2014, de Universidad Veracruzana Sitio web: http://cdigital.uv.mx/bitstream/123456789/28540/1/Ruiz%20Tenorio.pdf

[Bernd Bruegge, Dutoit Allen. Object-Oriented Software Engineering: 
Using UML, Patterns, and Java, 2004, Prentice Hall, segunda edición. 
Capítulo 15.

Castañeda L. (2010). Ingenieria de requerimientos. Agosto 24, 2014, de Universidad ICESI Sitio web: http://bibliotecadigital.icesi.edu.co/biblioteca_digital/bitstream/10906/4083/1/Presentacion_ciclo_vida_software.pdf

Sommerville I. (2005). Ingenieria de software. Madrid España: Pearson Educación.

jueves, 10 de abril de 2014

Diccionario de datos

Introducción

Un diccionario de datos es una herramienta de importancia para el administrador de la base de datos, es un catalogo accesible para el usuario de datos relacionados. Con la base de datos. Segun [David M. Kroenke].

Ademas de esto desde mi punto de vista nos permite el entendimiento de una base de datos para aquellas personas que no están tan familiarizadas con la creación de una y se tratan de integrar en esta.

Desarrollo

Ejercicio 1

Tabla cliente
campo
tipo

descripción
Id_cliente
Int(10)
Clave primaria, no nulo
Id que identifica a cada cliente

Tabla auto
campo
tipo

descripción
Id_cliente
Int(10)
Clave foránea, no nulo
Indica de que cliente es el coche
Num_accidentes
Int(10)
Puede ser nulo
Nos indica el número de accidentes que ha tenido el coche

Ejercicio 2

Tabla cliente
campo
tipo

descripción
DNI_cliente
Int(10)
Clave primaria, no nulo
Identifica a cada cliente
teléfono
Int(10)
no nulo
Muestra el número telefónico del cliente
nombre
Varchar(10)
no nulo
Muestra el nombre del cliente
dirección
Varchar()
no nulo
Indica la dirección del cliente

Tabla coche
campo
tipo

descripción
placa
varchar(10)
Calve primaria, no nulo
Identifica a cada coche
DNI_cliente
Int(10)
Clave foránea, no nulo
Nos indica el dueño del coche
motor
Varchar(10)
no nulo
Nos indica el motor que tiene el choche
marca
Varchar(10)
no nulo
Nos muestra la marca del motor

Tabla coche_nuevo
campo
tipo

descripción
placa
varchar(10)
Clave foránea, no nulo
Indica de que cliente es el coche
existencia
Int(10)
no nulo
Nos indica el número de coches existentes

Tabla coche_usado
campo
tipo

descripción
Placa
Varchar(10)
Clave foránea, no nulo
Indica que coche es el que tiene este km
km
Int(10)
no nulo
Cuantos kilómetros ha recorrido cada coche

Tabla reparan
campo
tipo

descripción
fecha
varhcar(10)
no nulo
Muestra que dia se llevo a cabo la reparacion
hora
Int(10)
no nulo
Muestra la hora a la que fue reparado el coche
placa
Varchar(10)
Clave foranea, no nulo
Muestra la placa del coche que fue reparado
DNI_mecanico
Int(10)
Clave foranea, no nulo
Muestra quien fue el mecanico encargado de la reparacion

Tabla mecanico
campo
tipo

descripción
DNI_mecanico
Int(10)
Clave primaria no nulo
Identifica a cada mecanico
nombre
varchar(10)
no nulo
Nos indica el nombre del mecanico
salario
Int(10)
no nulo
Muestra cuanto es lo que recibe el mecanico como salario
Fecha_contratacion
Varchar(10)
no nulo
Especifica el dia en que fue contratado el mecanico

Ejercicio 3

tabla jugadores
campo
tipo

descripción
Nom_jugador
varchar(10)
Clave primaria no nulo
Identifica a cada jugador
estadistica
varchar(10)
no nulo
Muestra el desempeño del futbolista

tabla juegan
campo
tipo

descripción
Nom_jugador
Varchar(10)
Clave primaria no nulo
Identifica a cada jugador
ID_partido
int(10)
Clave foranea no nulo
Nos muestra que partido jugo el jugador

tabla partido
campo
tipo

descripción
ID_partido
Int(10)
Clave primaria no nulo
Identifica a cada partido
resultado
varchar(10)
no nulo
Muestra el como acabo el partido

Ejercicio 4

Tabla cliente
campo
tipo

descripción
No_cliente
Int(10)
Clave primaria no nulo
Identifica a cada cliente
Saldo
Int(10)
no nulo
El saldo con el que cuenta el cliente
Limite
Int(10)
no nulo
Que tanto puede gastar
Descuento
Int(10)
no nulo
Que descuento se le realiza
ID_direccion
Int(10)
Clave foranea no nulo
Relaciona la direccion

Tabla direccion
Campo
tipo

descripción
numero
Int(10)
no nulo
Numero de la casa
calle
varchar(10)
no nulo
La calle de la casa
ciudad
Varchar(10)
no nulo
La ciudad de la casa
ID_direccion
Int(10)
Clave primaria no nulo
Indica la direccion unica

Tabla pedido
Campo
tipo

descripción
ID_pedido
Int(10)
Clave primaria no nulo
Identifica a cada pedido
ID_direccion
int(10)
Clave foranea no nulo
Relaciona la dirección
No_cliente
Int(10)
Clave foranea no nulo
Relaciona los datos del cliente
No_articulo
Int(10)
Clave foranea no nulo
Relaciona los datos del articulo
Cantidad
Int(10)
no nulo
Cuantos productos se ordenaron
fecha
Varchar(10)
no nulo
Fecha en la que se hizo el pedido

Tabla articulo
Campo
tipo

descripción
No_articulo
Int(10)
Clave primaria no nulo
Identifica a cada articulo
No_fabrica
int(10)
Clave foranea no nulo
Clave de la fabrica que produce el articulo
descripcion
Varchar(10)
no nulo
Toda la descripcion sobre el producto

Tabla fabrica
Campo
tipo

descripción
No_fabrica
Int(10)
Clave primaria no nulo
Identifica a cada fabrica
Artículos_disponibles
int(10)
no nulo
Indica cuantos artículos existen
telefono
Int(10)
no nulo
Muestra el telefono de la fabrica


Ejercicio 5

Tabla provedor
campo
tipo

descripción
RUT_provedor
int(10)
Clave primaria no nulo
Id que identifica a cada provedor
Telefono
Int(10)
no nulo
El telefono de contacto
pagina
Varchar(10)
no nulo
La pagina web del provedor
nombre
Varchar(10)
no nulo
Nombre del provedor
ID_direccion
Int(10)
Clave foranea no nulo
El id de la direccion del provedor

Tabla direccion
campo
tipo

descripción
ID_direccion
int(10)
Clave primaria no nulo
Id que identifica a cada direccion
Calle
varchar(10)
no nulo
La calle de la casa del usuario
Numero
int(10)
no nulo
El numero de la casa del usuario
ciudad
Varchar(10)
no nulo
La ciudad del usuario

Tabla producto
campo
tipo

descripción
ID_producto
int(10)
Clave primaria no nulo
Id que identifica a cada producto
RUT_provedor
int(10)
Clave foranea no nulo
ID que identifica al provedor del producto
Nombre
varhcar(10)
no nulo
Nombre del producto
stock
Varchar(10)
no nulo
El stock del producto
Precio
Int(10)
no nulo
Cuanto vale el producto

Tabla categorías
campo
tipo

descripción
ID_producto
int(10)
Clave foranea no nulo
Id que identifica a cada producto
ID_categoria
int(10)
Clave primaria no nulo
ID que identifica a la categoría del producto
Nombre_categoria
varhcar(10)
no nulo
Nombre de la categoria
descripcion
Varchar(10)
no nulo
La descripción de la categoria

Tabla cliente
campo
tipo

descripción
RUT_cliente
int(10)
Clave primaria no nulo
Id que identifica a cada cliente
Telefono
Int(10)
no nulo
El telefono de contacto
nombre
Varchar(10)
no nulo
Nombre del cliente
ID_direccion
Int(10)
Clave foranea no nulo
El id de la direccion del cliente

Tabla venta
Campo
tipo

descripción
ID_venta
Int(10)
Clave primaria no nulo
Identifica a cada venta
RUT_cliente
Int(10)
Clave foranea no nulo
Relaciona los datos del cliente
RUT_producto
Int(10)
Clave foranea no nulo
Relaciona los datos del articulo
Cantidad
Int(10)
no nulo
Cuantos productos se ordenaron
fecha
Varchar(10)
no nulo
Fecha en la que se hizo el pedido

Ejercicio 6

Tabla aeropuerto
Campo
tipo

descripción
codigo
Int(10)
Clave primaria no nulo
Identifica a cada aeropuerto
nombre
varhcar(10)
no nulo
El nombre del aeropuerto
ID_direccion
Int(10)
Clave foranea no nulo
Relaciona los datos de la direccion

Tabla direccion
campo
tipo

descripción
ID_direccion
int(10)
Clave primaria no nulo
Id que identifica a cada direccion
ciudad
Varchar(10)
no nulo
La ciudad del aeropuerto
paies
Varchar(10)
no nulo
La ciudad del aeropuerto

Tabla programa
Campo
tipo

descripción
ID_avion
Int(10)
Clave foranea no nulo
Identifica a cada vuelo que se realiza
codigo
int(10)
Clave foranea no nulo
Identifica a cada aeropuerto
duracion
int(10)
no nulo
Cuanto dura el vuelo
aterrizaje
Varchar(10)
no nulo
En donde aterriza el avion
despegue
Varchar(10)
no nulo
De donde sale el avion

Tabla vuelo
Campo
tipo

descripción
ID_avion
Int(10)
Clave foranea no nulo
Identifica a cada vuelo que se realiza
fecha
varchar(10)
no nulo
Cuando se realiza el vuelo
Plazas
varchar(10)
no nulo
Con cuantos lugares cuenta el vuelo
No_vuelo
Int(10)
Clave primaria no nulo
Identifica a cada vuelo

Tabla con_escalas
Campo
tipo

descripción
No_vuelo
Int(10)
Clave foranea no nulo
Identifica a cada vuelo que se realiza
No_escalas
Int(10)
no nulo
Cuantas escalas realiza el vuelo

Tabla sin escalas
Campo
tipo

descripción
No_vuelo
Int(10)
Clave foranea no nulo
Identifica a cada vuelo que se realiza

Tabla aviones
Campo
tipo

descripción
ID_avion
Int(10)
Clave primaria no nulo
Identifica a cada avion
capacidad
Int(10)
no nulo
La capacidad del avion
codigo
Int(10)
Clave foranea no nulo
Es el código del vuelo


Ejercicio7

campo
tipo de dato
descripción
area
Int(10)
no nulo
El área que se utiliza
presupuesto
int(10)
no nulo
Presupuesto que se le destina
ubicacion
varchar(10)
no nulo
Donde se ubica
jefe
varchar(10)
no nulo
Su jefe
No_complejo
Int(10)
clave primaria, no nulo
Numero del complejo unico









tabla un_deporte
campo
tipo de dato
descripción
No_complejo
int(10)
Clave foranea, no nulo
El numero de complejo

Tabla polideportivo
Campo
tipo de dato
descripción
No_complejo
int(10)
Clave foranea, no nulo
El numero de complejo
deportes
varchar(10)
 no nulo
Que deportes se practican

Tabla evento
campo
tipo de dato
descripción
No_complejo
int(10)
Clave foranea, no nulo
El numero de complejo
ID_evento
int(10)
Clave primaria, no nulo
El id del evento
No_participantes
Int(10)

Cuantas personas participaron
Fecha
Varchar(10)

Cuando se llevo acabo

Tabla mantenimiento
campo
tipo de dato
descripción
equipamiento
varchar(10)
no nulo
El equipo que se usa
ID_evento
int(10)
Clave foranea, no nulo
El id del evento

Tabla comisarios
campo
tipo de dato
descripción
ID_comisarios
Int(10)
Clave primaria, no nulo
El identificador de los comisarios
ID_evento
int(10)
Clave foranea, no nulo
El id del evento
Pueto
varchar(10)
no nulo
Cuanto dinero se gasta







Ejercicio 8

Tabla jugadores
campo
tipo

descripción
nacionalidad
Varchar(100)
no nulo
Naciodalidad del jugador
nombre
Varchar(100)
Clave primaria no nulo
Nombre del jugador
ganancias
int(100)
no nulo
Cuanto gana el jugador
entrenador
Varchar(100)
no nulo
Nombre de su entrenador
Fecha_entrenamiento
int(100)
no nulo
Cuando entrena

Tabla partidos
campo
tipo

descripción
premio
Varchar(100)
no nulo
Premio de primer lugar
Premio_consolacion
Varchar(100)
no nulo
Premio de consolacion
partidos
int(100)
no nulo
Partidos jugados
torneo
int(100)
no nulo
Torneo que se realiza

Tabla sedes
campo
tipo

descripción
sede
Varchar(100)
Clave primaria no nulo
Identifica a cada sede
lugar
Varchar(100)
no nulo
El lugar donde se hace
pais
Varchar(100)
no nulo
El país donde se lleva acabo

Ejercicio 9

tabla pelicula
campo
tipo de dato
descripción
duración
int
no nulo
duracion de la película
titulo_d
varchar(30)
no nulo
titulo de distribución
titulo
varchar(30)
Clave primaria, no nulo
titulo original, e id
genero
varchar(30)
no nulo
genero de la película
idioma
varchar(30)
no nulo
idioma original
id:producción
int
Clave foranea, no nulo
identifica a  produccion












tabla produccion
campo
tipo de dato
descripción
id:producción
int
Clave primaria, no nulo
identifica a produccion
año de producción
int
no nulo
año en que se produjo
l_directores
varchar(30)
no nulo
lista de directores
l_actores
varchar(30)
no nulo
lista de actores
subtitulos
varchar(30)
no nulo
subtitulos de la película
calificación
int
no nulo
calificación de pelicula












tabla participantes
campo
tipo de dato
descripción
nombre
char(30)
no nulo
nombre del participante
apellidos
char(30)
no nulo
apellidos de participante
nacionalidad
char(30)
no nulo
nacionalidad de parti.
numero_peliculas
int
no nulo
películas hechas
id:participantes
int
Clave primaria, no nulo
identifica a participantes
titulo
varchar(30)
Clave foranea, no nulo
titulo original













tabla cines
campo
tipo de dato
descripción
teléfono
int
no nulo
teléfono del cine
calle
varchar(30)
no nulo
nombre de la calle
colonia
varchar(30)
no nulo
nombre de la colonia
municipio
varchar(30)
no nulo
nombre del municipio
país
varchar(30)
no nulo
nombre del país
cartelera
varchar(30)
no nulo
cartelera del cine
nombre
varchar(30)
Clave primaria, no nulo
nombre del cine
no_salas
int
no nulo
numero de salas

tabla con_promocion
campo
tipo de dato
descripción
descripción
varchar(30)
no nulo
descripción de la promo
descuento
int
no nulo
descuento de la promo
nombre
varchar(30)
Clave foranea, no nulo
nombre del cine







tabla funciones
campo
tipo de dato
descripción
dia
date
no nulo
dia de la función
hora
int
no nulo
hora de la función
sala
int
no nulo
sala de la función
no_pelicula
int
no nulo
numero de película
nombre
varchar()
Clave foranea, no nulo
nombre del cine
id:funcion
int
Clave primaria, no nulo
identifica la funcion










tabla opinion
campo
tipo de dato
descripción
fecha
date
no nulo
fecha de la opinion
persona
varchar(30)
no nulo
nombre de la persona
calificación
int
no nulo
calificación de pelicula
comentario
varchar(30)
no nulo
comentario
no_opnion
int
clave primaria, no nulo
numero de la opinion
titulo
varchar(30)
clave primaria, no nulo
titulo













Ejercicio 10

Tabla estantes
campo
tipo

descripción
Estante
Int(100)
Clave primaria no nulo
Identifica a cada estante
pasillo
Int(100)
no nulo
Identifica a cada pasillo
piezas
Int(100)
Clave foranea no nulo
Identifica las piezas

Tabla muebles
campo
tipo

descripción
Nombre
varchar(100)
Clave primaria no nulo
El nombre del mueble
precio
int(100)
no nulo
El precio del mueble
piezas
int(100)
Clave foranea no nulo
Identifica a las piezas

Tabla piezas
campo
tipo

descripción
Piezas
Int(100)
Clave primaria no nulo
Identifica a cada pieza
tamaño
int(100)
no nulo
Muestra el tamaño de las piezas
funcion
Varchar(100)
no nulo
Muestra que hace la pieza


Conclusión

Los diccionarios de datos mas que nada nos ayudan a entender de una manera mas clara como funciona una base de datos ya que nos describen diferentes partes de esta como son las tablas y los datos que se almacenan en ellas.