viernes, 29 de noviembre de 2013

--------------------------------------------------------------------------------------------------------------- 

Trabajo Modelamiento Base de Datos

En el siguiente link podran descargar el resultado del trabajo, para crear una base de datos
a la gestión de un campeonato de futbol.

En el siguiente link se encontrara las dos partes de nuestro trabajo:

https://www.dropbox.com/sh/9g90g6k8y1xefvy/RKsXKXJt3-

Grupo compuesto por:   -  Pablo Nuñez
                                       - Moises Balboa

Saludos

--------------------------------------------------------------------------------------------------------------- 

sábado, 7 de septiembre de 2013

Modelo Entidad/Relación y conversión a Modelo Relacional


Modelo Entidad/Relación y conversión a Modelo Relacional

Problema 1 (*): Artículos y encargos

Una base de datos para una pequeña empresa debe contener información acerca de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000 pts), Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese artículo en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son varias líneas, en cada línea se especifican el número del artículo pedido y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver cuántos artículos (en total) provee la fábrica. También, por información estratégica, se podría incluir información de fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.


Problema 2 (*): Sistema de ventas

Le contratan para hacer una BD que permita apoyar la gestión de un sistema de ventas. La empresa necesita llevar un control de proveedores, clientes, productos y ventas.
Un proveedor tiene un RUT, nombre, dirección, teléfono y página web. Un cliente también tiene RUT,
Nombre, dirección, pero puede tener varios teléfonos de contacto. La dirección se entiende por calle, número, comuna y ciudad.
Un producto tiene un id único, nombre, precio actual, stock y nombre del proveedor. Además se organizan en categorías, y cada producto va sólo en una categoría. Una categoría tiene id, nombre y descripción.
Por razones de contabilidad, se debe registrar la información de cada venta con un id, fecha, cliente, descuento y monto final. Además se debe guardar el precio al momento de la venta, la cantidad vendida y el monto total por el producto.


Problema 3: Carreteras

Diseñar un esquema E/R que recoja la organización de una base de datos para contener la información. Sobre todas las carreteras del país, sabiendo que se deben cumplir las siguientes especificaciones:
- Las carreteras están divididas en varias categorías (locales, comerciales, regionales, nacionales, autovías, etc.
- Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no puede cambiar de carretera.
- Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la comuna donde empieza el tramo y en donde termina.
- Para los tramos que suponen principio o final de carretera, interesa saber si es que la carretera concluye físicamente o es que confluye en otra carretera. En este caso, interesa conocer con qué carretera confluye y en qué kilómetro, tramo y comuna.


Problema 4 (*): Olimpíadas

Las sedes olímpicas se dividen en complejos deportivos. Los complejos deportivos se subdividen en aquellos en los que se desarrolla un único deporte y en los polideportivos. Los complejos polideportivos tienen áreas designadas para cada deporte con un indicador de localización (ejemplo: centro, esquina, etc.). Un complejo tiene una localización, un jefe de organización individual y un área total ocupada. Los dos tipos de complejos (deporte único y polideportivo) tendrán diferentes tipos de información. Para cada tipo de sede, se conservará el número de complejos junto con su presupuesto aproximado. Cada complejo celebra una serie de eventos (ejemplo: la pista del estadio puede celebrar muchas carreras distintas.). Para cada evento está prevista una fecha, duración, número de participantes, número de comisarios. Una lista de todos los comisarios se conservará junto con la lista de los eventos en los que esté involucrado cada comisario ya sea cumpliendo la tarea de juez u observador. Tanto para cada evento como para el mantenimiento se necesitará cierto equipamiento (ejemplo: arcos, pértigas, barras, paralelas, etc.


Problema 5: Torneo de Tenis Grand Slam

El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el torneo, así como las siguientes características de estos.
Descripción:
El Grand Slam se compone de cuatro torneos anuales que se celebran en Gran Bretaña, Estados Unidos, Francia y Australia. En cada país se pueden desarrollar en distintos lugares (p. ej., en EE. UU. Puede desarrollarse en Forest Hill o en Flashing Meadows). Cada partido tiene asociado un premio de consolación para el perdedor que dependerá de la fase en que se encuentre el torneo (p. ej., el perdedor de octavos de final puede ganar 5.000 dólares). El ganador de a final recibirá el premio correspondiente al torneo. Cada torneo tiene cinco modalidades: Individual masculino, individual femenino, dobles masculino, dobles, femenino y dobles mixtos.
También hay que tener en cuenta la nacionalidad de un jugador, de forma que ´este puede ser apátrida o tener varias nacionalidades. Resultados a considerar:
El sistema debe dar respuesta a las siguientes preguntas:


Problema 6:

Se desea crear un sitio web con información referente a las películas en cartel en las salas de un dudoso cine cercano a la plaza de armas. De cada película, se almacena una ficha con su título de distribución, su título original, su género, el idioma original, si tiene subtítulos en español o no, los países de origen, el año de la producción, la url del sitio web de la película, la duración (en horas y minutos), la calificación (Apta todo público,+9 años, +15 años,+18 años), fecha de estreno en Santiago, un resumen y un identificador de la película. De cada película interesa conocer la lista de directores y el reparto, es decir para cada actor que trabaja, el nombre de todos los personajes que interpreta. Además interesa disponer de información sobre los directores y actores que trabajan en cada película. De ambos, se conoce su nombre (que lo identifica) y su nacionalidad. Además se desea conocer la cantidad de películas en las que dirigieron o actuaron. Tenga en cuenta que hay personas que cumplen los dos roles. Los cines pueden tener más de una sala y cada semana cada uno de los cines envía la cartelera para dicha semana, indicando de detalle de las funciones. Para cada función se conoce el día de la semana y la hora de comienzo, y obviamente la sala y la película que exhibe. De cada sala se sabe el nombre, un número que la identifica dentro del cine y la cantidad de butacas que posee. De cada cine se conoce el nombre que lo identifica, su dirección y teléfono para consultas. Algunos cines cuentan con promociones. Estas promociones dependen de la función. (Ej. De lunes a jueves antes de las 18 50% de descuento en la sala tal del cine tal para la película cual...La función del lunes a las 14 para la película tal en la sala cual, no se cobra a los escolares con túnica...) De cada promoción se conoce una descripción y el descuento que aplica. Además del resumen de la película que se incluye en la ficha interesa mostrar la opinión de las personas que vieron la película. De cada opinión se conoce el nombre de la persona que la realiza, su edad, le fecha en que registró su opinión, la calificación que le dio a la película (Obra Maestra, Muy Buena, Buena, Regular, Mala) y el comentario propiamente dicho. A cada opinión se le asigna un número que la identifica respecto de la película sobre la cual opina.

miércoles, 4 de septiembre de 2013

Modelado de datos e implementación de la base de datos.

 de iniciar el desarrollo de cualquier proyecto. Esta es la estructura, sobre la que realmente reside la verdadera esencia de la aplicación. Incluso determina si el proyecto va a cumplir con su verdadero objetivo.
El modelado de datos es una técnica independiente de la implementación a la base de datos. Esto es importante, porque la metodología L5, siempre busca que se saque el máximo provecho de diversas herramientas. En particular, el esquema final y su implementación pueden sufrir cambios sin afectar de manera drástica la Lógica de Programación.
Uno de los puntos importantes que se deben indicar es que el modelado de los datos, debe ser llevado como una guía general. Para los profesionales expertos, esto implica el desarrollo de los Diagramas de Entidades y del Modelo Entidad-Relación. Independientemente de la metodología a utilizar, esta herramienta siempre será importante, para entender las relaciones entre las diversas entidades en la Base de Datos.

ver mas información en el siguiente link Modelado de datos e implementación de la base de datos

miércoles, 28 de agosto de 2013

Modelo Entidad/Relación 
Identificando Entidades y Atributos


Aprendizaje Esperado:

IDENTIFICA LAS ENTIDADES, PROCESOS Y SUS INTERRELACIONES
PARA REPRESENTAR LAS NECESIDADES DE INFORMACIÓN PLANTEADAS


¿Qué son las Reglas del Negocio?

• Ejemplos de Reglas del Negocio:
• Un cliente que efectúa compras por más de $300.000 al año es un cliente de tipo
"Premiun", A estos clientes le aplicamos un descuento del 20% en todas las compras
que efectúe al año siguiente.
• Un profesor debe dictar como mínimo una asignatura en el semestre.


Los pasos que están asociados al Diseño
Conceptual son:
– Identificar los tipos de entidad.
– Identificar los tipos de relaciones.
– Identificar y asociar los atributos con
los tipos de entidad y de relaciones.
– Determinar los dominios de los
atributos.
– Determinar los atributos de claves
primaria, principal y secundaria.
– Considerar el uso de conceptos de
modelado avanzados (opcional).
 Comprobar si el modelo tiene redundancias.
 Validar el Modelo Conceptual, comprobando las transacciones de los usuarios.
 Repasar el Modelo de datos Conceptual con los usuarios.




El modelo conceptual más utilizado para el diseño conceptual de
Bases de Datos es el Modelo de datos Entidad-Relación.


Tuppla

Es un equivalente a la fila o registro.



Los conceptos básicos de un modelo E/R son:
– ENTIDAD
– RELACIÓN
– ATRIBUTO



Identificando Entidades

• Contienen hechos que la empresa debe conocer y recordar.
• Es cualquier objeto, real o abstracto, que existe en un contexto
determinado o puede llegar a existir y del cual deseamos guardar
información.
• Se refieren a los conceptos, personas, objetos o cosas que son
importantes para el negocio y sobre de las cuales se deben guardar sus
datos


Identificando Entidades

Contienen hechos que la empresa debe conocer y recordar.
• Es cualquier objeto, real o abstracto, que existe en un contexto
determinado o puede llegar a existir y del cual deseamos guardar
información.
• Se refieren a los conceptos, personas, objetos o cosas que son
importantes para el negocio y sobre de las cuales se deben guardar sus

datos



¿Qué son las ENTIDADES?



 En bases de datos, una entidad es la representación de un objeto o concepto del mundo real que se describe en una base de datos.

Una entidad se describe en la estructura de la base de datos empleando un modelo de datos.

Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo, etc.

Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.

En el modelo de entidad-relación  se emplean dos tipos de entidades: entidad fuerte y entidad débil.

Las entidades fuertes tienen atributos claves, en tanto las entidades débiles no tienen atributos claves propios.



¿Qué son los ATRIBUTOS?

- Son una característica que describe una entidad.
- son información que necesita ser conocida y mantenida de una entidad.





Los atributos se clasifican como:

– No Nulos (obligatorio *)

– Opcionales (o).









Identificando Atributos



• Los atributos pueden ser simples o compuestos.

• Los atributos también pueden clasificarse en monovalentes o polivalentes.

• Los atributos también pueden ser derivados.

Modelado de datos e implementación de la base de datos

Modelado de datos e implementación de la base de datos

     El modelado de datos es uno de los elementos más importantes a la hora de iniciar el desarrollo de cualquier proyecto. Esta es la estructura, sobre la que realmente reside la verdadera esencia de la aplicación. Incluso determina si el proyecto va a cumplir con su verdadero objetivo.

    Uno de los puntos importantes que se deben indicar es que el modelado de los datos, debe ser llevado como una guía general. Para los profesionales expertos, esto implica el desarrollo de los Diagramas de Entidades y del Modelo Entidad-Relación. Independientemente de la metodología a utilizar, esta herramienta siempre será importante, para entender las relaciones entre las diversas entidades en la Base de Datos.

Cómo definir el esquema de la Base de Datos

     Cuando definimos el Esquema de la Base de Datos estamos implementando en el lenguaje SQL del SGBD, el esquema de Modelado de Datos, anteriormente mencionado. Es preciso notar que se define “en el lenguaje SQL del SGBD”, este punto es importante que sea ampliado. Todos los SGBD, tienen diferencias finales en cuanto a la sintaxis que se maneja.

     Sabemos que SQL es uno solo y que por eso es estándar, pero las diferentes distribuciones lo han implementado con ciertas variaciones. Están variaciones, son una de las causas en que el modelo de desarrollo, ha separado el Modelado de los Datos, con la Lógica de Programación.

     El esquema de la Base de Datos, debe a mi parecer ser definido en el lenguaje SQL de nuestro Sistema Gestor de Base de Datos. La razón es básicamente sencilla: es más portable. Si lo hiciésemos en una aplicación nativa para un sistema operativo en especial y tratáramos de implementarlo directamente en otro sistema, podríamos llegar a tener complicaciones.

     No es imperante que seamos unos gurus de la plataforma, pero siempre es importante que conozcamos los fundamentos. Muchas de las funciones que al final implementemos, serán producto de nuestra investigación personal a través de foros donde se mencionen las soluciones a los diversos problemas o funciones nuevas que podamos utilizar.
Herramientas que simplifican el trabajo
     Al final, si utilizamos una herramienta que nos simplifique el proceso de implementación, siempre será importante guardar un archivo, con las sentencias SQL generadas por la misma. De hecho, con cada modificación debemos guardar una copia de respaldo.

     Herramientas web como PHPMyAdmin, son muy importantes. La implementación y las pruebas generalmente las realizaremos en un computador local y vía interfaz web, podremos hacer el cambio desde el mismo Servidor instantáneamente y transparente al usuario.

Manejo y optimización del almacenamiento y las funciones de gestión del contenido

     Consideremos un ejemplo sencillo: imaginemos que estamos desarrollando una aplicación y que un procedimiento se debe realizar en varias partes de nuestro código. Que sería lo más conveniente a realizar: copiar una y otra vez el bloque de instrucciones o crear una sola función o procedimiento.

     Esta misma situación ocurre, cuando programamos y ejecutamos consultas a la Base de Datos. Es increíble como nuestro código empieza a crecer en ambas direcciones de nuestro editor. Además, no solamente debemos fijarnos en ese aspecto.

     Al mandar consultas desde el lenguaje de Scripting a la Base de Datos, el SGBD, debe interpretarla y ejecutarla. Obviamente, esto lo hace en milésimas de segundos. Pero, cuando hablamos de alrededor de mil consultas o más por segundo, el tiempo que se tarda por cada transacción es vital.

¿Cómo podemos solucionar este inconveniente y hacer que nuestra base de datos responda en un mejor tiempo?

     La respuesta es utilizar procedimientos, funciones y vistas. Al estar dentro de la base de datos, estos suelen ser más rápidos, por que el SGBD, lo ha interpretado, depurado y optimizado con anterioridad, lo cual hace que las consultas sean más rápidas.

     En lugar de mandar un query de inserción a una base de datos desde el script, es más sencillo, mandar los parámetros a la función almacenada en el SGBD. Dentro de la función está la consulta ya compilado.

     Además, al centralizar las consultas, cualquier cambio hecho, alterará a todos los procedimientos del lado del script que lo utilicen. Esto ahorrará tiempo de desarrollo y mejorará el mantenimiento de la aplicación en su totalidad.

Fuente: http://www.maestrosdelweb.com/editorial/modelado-de-datos-e-implementacion-de-la-base-de-datos-primer-nivel-l5/