lunes, 28 de julio de 2014

POGRAMACION



Finalidad de base de datos

La elaboración de bases de datos exige la dotación adecuada de equipos, soportes y programas informáticos y un seguimiento y comprobación constante de los datos. Tener una buena base de datos es fundamental en un servicio de protocolo y dotarnos de una buena herramienta informática facilitará nuestro trabajo en la preparación de todos los actos. El procedimiento de creación, actualización y explotación de la Base de Datos Institucional (BDI) tiene como objetivo fundamental identificar a los colectivos de personas que deben formar parte de la misma.

La BDI es el conjunto de registros de personas con las que la Unidad de Protocolo mantiene una relación habitual y/o son de interés general.

Se necesita una aplicación informática que permita la creación, mantenimiento y explotación de los ficheros de nombres y direcciones de personas e instituciones con las que nos vamos a relacionar.

Nos permitiría llevar un control de los actos que tenemos hoy, los pendientes y los pasados. Hacer los programas de cada acto. Consultar un acto con sus pormenores, incidencias, cómo se desarrolló, quiénes asistieron, e incluso su repercusión mediática. Podríamos encontrar cualquier dato de interés para una situación en concreto, incluso la tarea desempeñada por cada miembro del equipo que forme parte de la unidad de protocolo.

Características de la base de datos

Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicación puede hacer uso de los datos.

Reducción de la Redundancia. Llamamos redundancia a la existencia de duplicación de los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios.

Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos.
Se visualiza normalmente como una tabla de una hoja de cálculo, en la que los registros son las filas y las columnas son los campos, o como un formulario.

 Permite realizar un listado de la base de datos.
 Permiten la programación a usuarios avanzados.

Permite que sólo se puedan ver, los registros de la base de datos, cuando el usuario haya introducido un determinado número de registros en ella.

Permite configurar los derechos de edición. Puede agregar entradas profesores y alumnos, si lo permite en la base de datos. Esto no restringe la visualización de sus entradas para todos.

Se puede limitar el número máximo de entradas de cada participante.
Podemos permitir añadir comentarios a las entradas de la base de datos.
Podemos habilitar la revisión del profesor antes de que las entradas sean públicas.

Tipos de usuarios de la base de datos

Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usuarios pueden también simplemente leer informes generados de la base de datos.
Programadores de aplicaciones. Son profesionales informáticos que escriben los programas de aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa.
Usuarios sofisticados. Interactúan con el sistema sin programas escritos, usando el lenguaje  de consulta  de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea (OLAP, OnLine Analytical Processing), o herramientas de recopilación de datos.
Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos,  sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.
Administradores de la base de datos (ABD). Son las personas que tienen el control central del SGBD. Entre las funciones del ABD se encuentran:
Definición del esquema de la base de datos.
Definición de la estructura y el método de acceso.
Modificación del esquema y la organización física.
Concesión de autorización para el acceso a los datos.

Mantenimiento rutinario.


Diagrama de datos

El diagrama de DATOS, es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

Es una representación gráfica del flujo de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó"




diagrama de b.d
es una base de datos 

tipos de diagramas de base de datos 
conceptual se presenta manera de conjunto 

a[1,2,3,4,5]

nombre del archivo(lista de coampos separados por comas)

ej: 
datos(codigos,nombres.dirreccion,telefono,productos,ippro,monpro,vicompra,can exit,viventa,estado)

modulo (entidad relacion simbolos)


Cardinalidades


Otra de las características importantes que hay que tener en cuenta en este modelo es la cardinalidad de cada extremo en una relación. La cardinalidad expresa cuántas del conjunto de entidades de un extremo de la relación están relacionadas con cuántas entidades del conjunto del otro extremo. Pueden ser ``uno a uno'', ``uno a varios'' o ``varios a varios''. Por ejemplo, un artículo puede ser escrito por un solo autor o por varios, pero nunca por ninguno; un autor puede pertenecer a exactamente una institución (no para cero o varias); un artículo puede tener cero, uno o varios experimentos. Finalmente, un autor puede escribir muchos artículos, o ninguno. Observe que las cardinalidades en algunos casos dependen de restricciones arbitrarias: se podría decidir aceptar sólo aquellos autores que han escrito al menos un artículo (y con esto cambiaría la última regla mencionada); hemos decidido considerar sólo la institución primaria para la cual un determinado autor trabaja (y esto ha determinado nuestra segunda regla).



TIPOS DE RELACIONES DE BASE DE DATOS 

Existen relaciones de diferentes tipos. El tipo de relación que utiliza Access al unir
Dos tablas dependerán de cómo estén definidos los campos relacionados.

Relación de uno a varios (1,n). Se crea una relación de uno a varios si uno de los campos relacionados es una clave principal. Esta relación es la más común. Cada registro de una tabla puede estar enlazado con varios registros de una segunda tabla, pero cada registro de la segunda sólo puede estar enlazado con un único registro de la primera. 

Relación de uno a uno (1,1). Se creará una relación de este tipo si ambos campos relacionados son claves principales. En este tipo de relación, un registro de la tabla uno sólo puede estar relacionado con un único registro de la tabla dos y viceversa. No es muy usada. 

Relación de varios a varios (n,m). En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la primera tabla puede estar enlazado con varios registros de la segunda y viceversa. Este tipo de relación implica la repetición de los campos de cada tabla; esto es lo que Access pretende evitar. Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté relacionada con las dos de uno a varios.
 Ejemplos de esquemas de E-R:







Un aspecto importante a tener en cuenta es que cuando realicemos las relaciones entre tablas debemos incluir en las tablas secundarias las claves foráneas, es decir, en una relación de uno a muchos (1,m o 1,∞) la clave principal de la tabla “uno” tendrá que ir como clave foránea en la tabla “muchos” para poder efectuar la relación correctamente. Además es necesario que tanto la clave principal como la foránea tengan asignado el mismo tipo de datos (número, texto, …)



También hay que tener en cuenta otro aspecto importante a la hora de definir las tablas y las relaciones que vamos a necesitar, como es la relación de “muchos a muchos” (N,M). Siempre que tengamos una relación de muchos a muchos es necesario crear una tabla intermedia que contendrá un campo clave propio y los campos clave de las tablas relacionadas (serán los campos foráneos de la nueva tabla) La relación de las tablas principales con esta nueva siempre será de uno a muchos (1, ∞)



Por ejemplo, tenemos dos tablas PROFESORES (id_prof como campo clave) y ALUMNOS (id_alum como campo clave). Un profesor puede tener varios alumnos. La relación sería 1,∞. Pero un alumno puede tener varios profesores, cuya relación también es 1,∞. Tenemos una relación de varios a varios (N,M), por lo tanto crearemos una tabla intermedia, por ejemplo PROALUM con los siguientes campos: id_proalum (campo clave), id_prof e id_alum como campos foráneos. Quedaría así:
 



Tipos de prompt
Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable.
En el Bourne Shell y sus derivados como bash (utilizados ampliamente en sistemas tipo UNIX) el prompt, generalmente, contiene el carácter $ para los usuarios sin privilegios y # para el administrador, además de proporcionar más información. Por ejemplo: jou@home-comp:/media/disk$ donde el usuario en uso es jou, el nombre del equipo es home-comp, y el directorio de trabajo es /media/disk.
En sistemas Unix/Linux, el prompt tiene el aspecto de:
usuario@máquina:~$
Root@máquina: ~#
Pero también hay varias formas de cambiar el prompt En sistemas DOS, el prompt tiene el aspecto de:
C:\>
En el programa libre de cálculo numérico GNU Octave, o en su equivalente propietario MATLAB, el prompt tiene el aspecto de:
>> 
En Windows, vamos al panel de inicio-> escribimos cmd
Prompt MYSQL modo consola
EL PROMPT DE MYSQL

Un comando no necesita ser escrito en una sóla línea, así que los comandos que requieran de varias líneas no son un problema. mysql determinará en dónde finaliza la sentencia cuando encuentre el punto y coma, no cuando encuentre el fin de línea.

Aquí está un ejemplo que muestra un consulta simple escrita en varias líneas:
mysql> SELECT -> USER(), -> CURRENT_DATE; +-------------------+--------------+ | USER() | CURRENT_DATE | +-------------------+--------------+ | blueman@localhost | 2002-09-14 | +-------------------+--------------+ 1 row in set (0.00 sec) mysql>
En este ejemplo debe notarse como cambia el prompt (de mysql> a ->) cuando se escribe una consulta en varias líneas. Esta es la manera en cómo mysql indica que está esperando a que finalice la consulta. Sin embargo si deseamos no terminar de escribir la consulta, podemos hacerlo al escribir c como se muestra en el siguiente ejemplo:
mysql> SELECT -> USER(), -> c mysql>
De nuevo, se nos regresa el comando el prompt mysql> que nos indica que mysql está listo para una nueva consulta.

En la siguiente tabla se muestran cada uno de los prompts que podemos obtener y una breve descripción de su significado para mysql :

Prompt
Significado
mysql>
Listo para una nueva consulta.
->
Esperando la línea siguiente de una consulta multi-línea.
'>
Esperando la siguiente línea para completar una cadena que comienza con una comilla sencilla ( ' ).
">
Esperando la siguiente línea para completar una cadena que comienza con una comilla doble ( " ).


Los comandos multi-línea comúnmente ocurren por accidente cuando tecleamos ENTER, pero olvidamos escribir el punto y coma. En este caso mysql se queda esperando para que finalicemos la consulta:
mysql> SELECT USER() ->
Si esto llega a suceder, muy probablemente mysql estará esperando por un punto y coma, de manera que si escribimos el punto y coma podremos completar la consulta ymysql podrá ejecutarla:

mysql> SELECT USER() -> ; +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) mysql>
Los prompts '> y "> ocurren durante la escritura de cadenas. En mysql podemos escribir cadenas utilizando comillas sencillas o comillas dobles (por ejemplo, 'hola' y "hola"), y mysql nos permite escribir cadenas que ocupen múltiples líneas. De manera que cuando veamos el prompt '> o "> , mysql nos indica que hemos empezado a escribir una cadena, pero no la hemos finalizado con la comilla correspondiente.

Aunque esto puede suceder si estamos escribiendo una cadena muy grande, es más frecuente que obtengamos alguno de estos prompts si inadvertidamente escribimos alguna de estas comillas.

Por ejemplo:
mysql> SELECT * FROM mi_tabla WHERE nombre = "Lupita AND edad < 30; ">
Si escribimos esta consulta SELECT y entonces presionamos ENTER para ver el resultado, no sucederá nada. En lugar de preocuparnos porque la consulta ha tomado mucho tiempo, debemos notar la pista que nos da mysql cambiando el prompt. Esto nos indica que mysql está esperando que finalicemos la cadena iniciada ("Lupita).

En este caso, ¿qué es lo que debemos hacer? . La cosa más simple es cancelar la consulta. Sin embargo, no basta con escribir c, ya que mysql interpreta esto como parte de la cadena que estamos escribiendo. En lugar de esto, debemos escribir antes la comilla correspondiente y después c :
mysql> SELECT * FROM mi_tabla WHERE nombre = "Lupita AND edad < 30; "> " c mysql>
El prompt cambiará de nuevo al ya conocido mysql>, indicándonos que mysql está listo para una nueva consulta.

Es sumamente importante conocer lo que significan los prompts '> y ">, ya que si en algún momento nos aparece alguno de ellos, todas la líneas que escribamos a continuación serán consideradas como parte de la cadena, inclusive cuando escribimos QUIT. Esto puede ser confuso, especialmente si no sabemos que es necesario escribir la comilla correspondiente para finalizar la cadena, para que podamos escribir después algún otro comando, o terminar la consulta que deseamos ejecutar.