jueves, 29 de septiembre de 2011

Semana 4

                                                        Modelo Entidada Relación I

Modelo Conceptual:

El proceso de trasladar un problema del mundo real a un ordenador, usando bases de datos, se denomina modelado.

Para el modelado de bases de datos es necesario seguir un procedimiento determinado. Pero, cuando el problema a modelar es sencillo, con frecuencia estaremos tentados de pasar por alto algunos de los pasos, y crear directamente bases de datos y tablas. En el caso de las bases de datos, como en cualquier otra solución informática, esto es un gran error. Siempre será mejor seguir todos los pasos del diseño, esto nos ahorrará (con toda seguridad) mucho tiempo más adelante. Sobre todo si alguna vez tenemos que modificar la base de datos para corregir errores o para implementar alguna característica nueva, algo que sucede con mucha frecuencia.
Además, seguir todo el proceso nos facilitará una documentación necesaria para revisar o mantener la aplicación, ya sea por nosotros mismos o por otros administradores o programadores.
La primera fase del diseño de una aplicación (la base de datos, generalmente, es parte de una aplicación), consiste en hablar con el cliente para saber qué quiere, y qué necesita realmente.

Esto es una tarea ardua y difícil. Generalmente, los clientes no saben demasiado sobre programación y sobre bases de datos, de modo que normalmente, no saben qué pueden pedir. De hecho, lo más habitual es que ni siquiera sepan qué es lo que necesitan.
Los modelos conceptuales ayudan en esta fase del proyecto, ya que facilitan una forma clara de ver el proceso en su totalidad, puesto que se trata de una representación gráfica. Además, los modelos conceptuales no están orientados a ningún sistema físico concreto: tipo de ordenador, sistema operativo, SGBD, etc. Ni siquiera tienen una orientación informática clara, podrían servir igualmente para explicar a un operario cómo funciona el proceso de forma manual. Esto facilita que sean comprensibles para personas sin conocimientos de programación.

Además de consultar con el cliente, una buena técnica consiste en observar el funcionamiento del proceso que se quiere informatizar o modelar. Generalmente esos procesos ya se realizan, bien de una forma manual, con ayuda de libros o ficheros; o bien con un pequeño apoyo ofimático.


Metodología :
Identificar las entidades.

*Identificar las relaciones.

Identificar los atributos y asociarlos a entidades y relaciones.

Determinar los dominios de los atributos.

Determinar los identificadores.

Determinar las jerarquías de generalización (si las hay).

Dibujar el diagrama entidad – relación.

*Revisar el esquema conceptual local con el usuario

lunes, 26 de septiembre de 2011

Semana 3

Tipos de Estructuras

Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.

Los componentes funcionales de un sistema de base de datos, son:
    
*Gestor de archivos.
   Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas      para representar información.


* Manejador de base de datos.
    Sirve de interfaz entre los datos y los programas de aplicación.


*Procesador de consultas.
   Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Además convierte la solicitud del  usuario en una forma más eficiente.


*Compilador de DDL.
  Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos.

*Archivo de datos.
   En él se encuentran almacenados físicamente los datos de una  organización.

*Diccionario de datos.
   Contiene la información referente a la estructura de la base  de datos.


* Índices.
   Permiten un rápido acceso a registros que contienen valores  específicos.
     


Semana 2

Archivo:
Es un elemento de información conformado por un conjunto de registros. Estos registros a su vez están compuestos por una serie de caracteres o bytes.
Actualmente las organizaciones están utilizando bases de datos para generar resultados o para compartir dicha información con otros sistemas. Sin embargo, los principales componentes de las bases de datos son los archivos.


Sistema de Archivo

Es un conjunto de normas y procedimientos para almacenar la información. Todo sistema operativo tiene uno.Cada sistema operativo suele usar un sistema de archivos diferente. Pero todos comparten otro concepto: la carpeta. Una carpeta es una manera de agrupar libremente archivos. Las carpetas también se conocen como directorios.
Al sistema de archivos que utiliza un sistema operativo se le llama sistema de archivos nativo. Esa es la manera en que un S.O. prefiere guardar la información.El proceso de crear un sistema de archivos en un dispositivo de almacenamiento se llama formatear o dar formato: preparar el dispositivo para guardar la información como lo hace el sistema elegido. Si formateamos un dispositivo, se borrará toda la información que está en él.
Todos los dispositivos de almacenamiento usan un sistema de archivos. Recordemos que un dispositivo de almacenamiento es tanto un disco duro como un CD o una memoria USB. Los sistemas de archivos de los dispositivos removibles pueden ser leidos por cualquier sistema operativo, como Windows o GNU/Linux.
Sin embargo, los sistemas de archivos nativos no siempre se pueden leer entre sistemas operativos. Por ejemplo, muchas distribuciones GNU/Linux pueden leer el sistema de archivos de Windows, pero Windows no puede leer ninguno de los sistemas que utiliza GNU/Linux
3.-Tipos de archivos:
*Archivos Maestros
Es un conjunto de registros de ciertos aspectos importantes de las actividades de una organización. Además, puede contener datos importantes q describan el estado actual de eventos específicos o indicadores de la empresa. Un archivo maestro es de utilidad mientras se mantengan exactos, actualizados y estos a su vez se mantienen actualizados mediante el uso de archivos de transacciones, los archivos maestros son permanentes y duran mientras exista el sistema. En su mayoría, los archivos maestros contienen registro de longitud fija.
*Archivos de Transacciones
Este es un archivo temporal, que tiene dos propósitos: acumular datos acerca de los eventos en el momento que ocurran y el actualizar los archivos maestros para reflejar el resultado de las transacciones actuales. Muchos de los archivos maestros contienen registro de longitud variable.

*Archivos de Tablas
Este tipo de archivos, contienen datos de referencia utilizados en el procesamiento de transacciones, actualización de los archivos maestros o producción de salida. Los archivos de tablas conservan el espacio de almacenamiento y facilitan el mantenimiento del programa guardando en un archivo datos que, de otra forma se incluirían en los programas o en los registros del archivo maestro.


*Archivos de Reporte
Los archivos de reporte son archivos temporales que se utilizan cuando el tiempo de impresión no está disponible para todos los reportes producidos, lo cual sucede con frecuencia en el procesamiento sobrepuesto. Este tipo de archivos se pueden utilizar con muchos dispositivos de salidas, como los graficadores, unidades de microfilm y microficha o sistemas tipográficos comerciales.

*Archivo de Respaldo
Los archivos de respaldo son una copia de un archivo maestro, de transacción o de tablas hecho para garantizar que se dispone de un duplicado si algo le sucede al original; también se hacen copias de los archivos para el almacenamiento de datos a largo plazo y generalmente se guardan lejos del centro de cómputo para garantizar su preservación.

*Archivo de Trabajo
Son archivos especiales que contienen una réplica, subconjunto temporal o formas alternativas de organización de archivos maestros o de transacciones. Este tipo de archivos de trabajo normalmente se crean y son utilizados por el programa informático apropiado y luego se destruyen. Además no se emplean en contextos de bases de datos.
Archivos de Movimiento
Son registros especiales de actualizaciones de otros archivos, en especial archivos maestros y de transacciones. Se utilizan en conjunto con los archivos de datos no activos para recuperar datos "perdidos".

viernes, 23 de septiembre de 2011

Semana 1

1.-Conceptos Generales:

*Base de datos:Es una colección de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la información concerniente de una organización, de tal manera que los datos estén disponibles para los usuarios.

*Entidad: Es todo aquello de lo cual interesa guardar datos, por ejemplo: clientes, facturas, productos, empleados. Cada entidad tiene una clave primaria o campo llave que identifica unívocamente al conjunto  de datos. Cuando en una entidad figura la clave primaria de otra entidad, ésta se denomina clave foránea
Las entidades se relacionan entre sí a través de las claves foráneas.

*Tabla: Es un objeto de una base de datos que almacena datos en una colección de filas y columnas.
La tabla se define por medio de las columnas que contiene. Cada columna representa a
un campo diferente y cada fila a un registro diferente.

*Gestor de Base de Datos: Es un conjunto de programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad

2.-Terminologías:
*Campo:Identifica solo un elemento dentro de la tabla con características específicas como tipo de datos, longitud, número de decimales, etc.

*Vista: Identifica una consulta residente en el servidor que puede ejecutarse con una instrucción simple como si fuera otra tabla de la base de datos.
*Languaje Query:Lenguaje de alto nivel, parecido al humano que permite al usuario realizar extraer fácilmente datos e información de una base de datos.
*DBMS: Conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos.
*DDL: Es un lenguaje de definición de datos
 
*Metadata: Datos que describen la estructura, elementos de los datos, relaciones, y otras caracteristicas de una base de datos.
 

3.-Modelo de Datos:

Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semántica asociada a los datos y restricciones de consistencia.
Los modelos de datos se dividen en tres grupos:
 3.1.-Modelos lógicos basados en objetos:Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación.

*Modelo Entidad-Relación:Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son objetos  que existen y que se distinguen de otros por sus características.


3.2.-Modelos lógicos basados en registros:Se utilizan para describir datos en los niveles  conceptual y físico.
Estos modelos utilizan registros  e instancias para representar la realidad, así como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación.
Los tres modelos de datos más ampliamente aceptados son:
   
  *Modelo relacional:En este modelo se representan los datos y las relaciones entre estos, a través de una   colección de tablas, en las cuales los renglones  equivalen a los cada uno de los registros que contendrá la base de datos y las columnas corresponden a las características(atributos) de cada registro .
   
  * Modelo de red:Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces,los cuales pueden verse como punteros.  Los registros se organizan
en un conjunto de gráficas arbitrarias.      


  *Modelo jerárquico:Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por  medio de registros  y sus ligas. La diferencia radica en que están organizados por conjuntos de arboles en lugar de gráficas arbitrarias.

 
3.3.-Modelos físicos de datos:Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este tipo,   básicamente capturan aspectos de la implementación de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son:
   *Modelo unificador
   *Memoria de elementos.


4.-Base de Datos.
Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.
Tipos de Base de Datos
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
*MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.   
*PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
*Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.
*Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar:
*Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”.
*Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
*Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.
*Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.
*Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
*Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.

5.-DBMS  Sistema Manejador de Base de Datos es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea específica.
El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular información de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interfase entre los usuarios y la base de datos.

Algunas de las funciones de un DBMS son:

• Definición de la base de datos - como la información va a ser almacenada y organizada.
• Creación de la base de datos - almacenamiento de datos en una base de datos definida.
• Recuperación de los datos - consultas y reportes.
• Actualización de los datos - cambiar los contenidos de la base de datos.
• Programación de aplicaciones de para el desarrollo de software.
Control de la integridad de la base de datos.
Monitoreo del comportamiento de la base de datos