jueves, 12 de febrero de 2015

Cardinalidad, Tipos de Relaciones

LA CARDINALIDAD

Es Simplemente la forma en que se relacionan las Entidades, o expresa cuantas entidades se
Relacionan con otras entidades. Hay varias maneras de mostrar las cardinalidades:
Poner etiquetas en las líneas que unen las relaciones con las entidades, consiste en un mínimo y máximo que contiene un cero (varios a varios) y lo usual es poner una “M” en un
Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas ocurrencias de entidad de tipo B se puede relacionar una ocurrencia de entidad de tipo A:
4. Relación uno a uno.
5. Relación uno a varios (n).
3. Relación varios (n) a uno.
4. Relación varios a varios (n)- (n)

TIPOS DE RELACIONES


Relaciones entre bases de datos


· General

Si bien este tema es objeto de numerosos teóricos y asignatura fundamental en las más importantes escuelas de informática del mundo, afrontemos el diseño relacional de nuestras bases de datos desde un punto de vista ameno y práctico, plagado de ejemplos, sin renunciar en nungún caso al rigor.

Table of Contents


1. Relaciones "uno a uno"
2. Relaciones de "uno a varios"
3. Relaciones de "varios con varios"
4. Conclusión
Las diferentes formas de relación entre diversas bases de datos que podemos encontrar son:

Relaciones "uno a uno"


Estas relaciones entre bases de datos se dan cuando cada campo clave aparece sólo una vez en cada una de las tablas.
Tomando un ejemplo del mundo real, una clara relación de "uno a uno" podría ser, el nombre de cualquier persona y su número de teléfono. Si partimosdel supuesto en que cada persona tiene un solo número de teléfono, se podría hablar de una relación "uno a uno".
Gráficamente, se podría representar de la siguiente manera:


Este tipo de relaciones se caracteriza poque cad uno de los campos define a aquél con el que se relaciona. Es decir, conociendo el nombre de una persona podemos conocer su número telefónico. O si sabemos su número telefónico, podemos identificar al dueño. En estos cases, se suele aconsejar incluir todos los datos dentro de una sola tabla.

Relaciones de "uno a varios"

El ejemplo del caso anterior (cada persona, un teléfono), si bien es correcto teóricamente, es muy improbable desde el punto de vista de la realidad. Conla gran expansión de los teléfonos, por lo general, cada persona tiene un número de teléfono fijo, y además del teléfono móvil. Debemos tener en cuenta que de el de su casa también tendrá un número de teléfono de empresa, y que quizá también sus móviles estén divididos en ocio y trabajo.
Por ello, debemos tener nuestras bases de datos preparadas para ello. Este tipo de relaciones es conocido como "uno a varios", y se podría representar de la siguiente manera:


En este caso, lo aconsejable no es almacenar todos los datos en una sola tabla, sino lo eficiente es hacerlo en tablas separadas, utilizando el identificador ID para relacionarlas.


Echemos un vistazo a la figura anterior. En la taba Nombre almacenamos el nombre y apellido, con su ID o número identificador. En la otra tabla, Teléfonos, almacenamos únicamente números de teléfono, con su correspondiente número identificador, en este caso TID. La manera en que se relaciona una con otra es mediante el identificador ID, que está presente en ambas tablas.
A simple vista podemos advertir que la primera de las personas de la tabla nombres, Juan Timaná, tiene 2 números telefónicos, pues su ID, que en este caso es 1, aparece en dos de los teléfonos de la otra tabla.
De este modo será mucho mas sencillo cambiar, eliminar o ampliar los números de teléfono en la misma tabla.
Si estas tablas están creadas en MySQL, la sentencia que nos ayudaría a encontrar todos los teléfonos de una determinada persona sería:
SELECT n.nombre, t.telfFROM nombre nINNER JOIN telefonos t ON n.id = t.idWHERE n.nombre = "Juan Timaná"

Relaciones de "varios con varios"

La última de la relaciones que podemos encontrar es la de "varios con varios". Dado que en la vida las cosas rara vez son sencillas, éste será el tipo de relación que nos encontraremos más a menudo.
Volviendo al tema de los teléfonos, hemos encontrado la manera de relacionar cada una de las personas con sus diversos teléfonos: el de su casa, el de su empresa, el móvil. Pero no será extraño tener en nuestra base de datos diversas personas que trabajen en la misma empresa, por lo que el número de su trabajo será el mismo, o miembros de una misma familia, por lo que compartirán el mismo teléfono de su hogar.
¿Cómo tratar este tipo de relaciones? Si nos limitamos a repetir dicho número de tablas, estaremos creando problemas de redundancia de datos, que a largo plazo lastrarán la rapidez y eficacia de nuestras tablas.



Este tipo de relaciones podría ilustrarse de la siguiente manera:


Como vemos, cada elemento de la base de datos puede relacionarse libremente con uno o varios miembros de las distintas tablas.
En estos casos no hay una regla fija a la que podamos acogernos, pero lo aconsejable es aproximarse lo más posible a la realidad, y no dudar en establecer tablas intermedias que nos ayuden a asociar mejor los datos.
Volviendo al tema de los teléfonos, imaginemos que varias personas de nuestra tabla trabajan en la misma empresa ACME Productions tiene varias líneas, por lo que los números de teléfono de trabajo de estas personas serían varios. ¿Cómo representarlo en nuestra base de datos?


En este caso hemos creado una tabla intermedia llamada "empresas". En la tabla "nombres" incluimos un nuevo campo TID, que se relaciona con la tabla "empresas", y es esta tabla la que se relaciona directamente con los teléfonos. De esta manera, podemos almacenar todos los datos con facilidad sin tener que repetir un sólo número telefónico.


Se pueden distinguir tres tipos de relaciones:
Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.
Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población.
Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, una cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.
Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla líneas de pedido relacionada con clientes y con artículos.

Base De Datos Relacional

Una Base de Datos Relacional, es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.




martes, 24 de junio de 2014

Macromedia

Macromedia flash es un programa en el cual se hacen animaciones y esta compuesto por:
Layers: Paneles o capas.
Tools: Instrumentos
Stage: Escenario
Timeline: Linea del tiempo constituida por
Fotogramas: Son secuencias de imágenes, los cuales van por defecto 15 por segundo, pero se modifica al gusto de cada cual.

CMAPTOOLS

Este programa sirve para la creación de mapa conceptuales .

jueves, 20 de marzo de 2014

Control Label

Este componente se utiliza para desplegar textos o mensajes estáticos dentro de las formas, textos tales como encabezados, solicitud al usuario del programa para que proporcione algún dato o información(edad, dame sueldo, etc.), en cierta forma hace las funciones de printf, cout, writeln, print, display, etc., pero solo cuando se consideran en su parte de mensajes.

También es un objeto en Visual Basic y por tanto tiene asociados sus propias propiedades y eventos, al mismo tiempo como se está usando dentro del objeto form1, muchas propiedades que se definan para el objeto Form1, el objeto Label1 las va a heredar.

Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una forma Visual Basic los va numerando automáticamente, si se ponen tres Labels en Form1, ellos se llaman, simbolizan, procesan o programan como Label1, Label2, Label3.

Es su propiedad Caption, la que lleva el contenido del mensaje que se quiere desplegar en la pantalla, solo click derecho a un lado de la propiedad Caption en la pagina de propiedades, teniendo seleccionada la caja Label1 en la forma y escribir el texto indicado.

Control TextBox

Este componente es el mas importante componente visual, su función principal es manejar , todos los procesos de entrada y salida (input/output) al programa.

En resumen de este componente, se necesita entender lo siguiente:Este componente Text, es el equivalente a las variables en cualquier lenguaje de programación, mas la instrucción de captura o despliegue correspondiente, es decir:

a) En BASIC, Input Edad → Text1b) En PASCAL, Read(Ciudad) → Text2c) En C, printf(”%d”, sueldo) → Text3d) En C++, cin.get(nombre,30) → Text4e) En Cobol Display metros → Text5Observar que en Tool Box se llama TextBox, pero ya dentro de la forma y dentro del código se llama simplemente Text.

Ya aclarada su función, es necesario entender primero, que este componente permite capturar datos y también como en el caso del componente Label desplegar datos, textos, mensajes o resultados de operaciones de ser necesario, usando la propiedad Text del Control Text.

Esta propiedad Text, así como la propiedad Caption en Label, permiten igualarse a muchos procesos básicos, es decir es fácil igualar Text o Caption a un dato, una variable, otro Text u Caption, o una expresión algebraica normal, como en los siguientes ejemplos:

Text1.Text = 5
Label3.Caption = “PATO”
Text4.Text = 3 * 6.2

Función Timer

Un timer es como un boton, un boton al cual no lo tenemos que clickear porque se clickea solo, se clickea solo por el "intervalo". El intervalo varia de 1 a 9000.
Si no estoy mal (realmente no recuerdo) el intervalo de un timer se mide en milisegundos.
Osea, Intervalo 1 = El timer hara su funcion cada un milisegundo.
Lo general usamos segundos, y cada 1000 milisegundos es igual a un segundo.
1000 = 1seg
2000 = 2segg
etc...


El maximo intervalo es 9000 que equivale a 9seg.