martes, 15 de septiembre de 2009

LA NORMALIZACION DE UNA BASE DE DATOS


normalización:Normalización es un conjunto de reglas que sirven para ayudar a los diseñadores a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataba de manipular los datos. Por ejemplo, vea la base de datos MiTienda. Si almacena todos los datos en la tabla Clientes, ésta podría verse como se muestra a continuación: Clientes ID_Cliente Nombre Apellidos Nombre_Producto1 Costo_Producto1 Imagen_Producto1 Nombre_Producto2 Costo_Producto2 Imagen_Producto2 Fecha_Pedido Cantidad_Pedido Nombre_Cia_Envios La tabla se ha descrito de manera abreviada pero aun así representa la idea general. ¿Cómo podría añadir un nuevo cliente en su tabla Clientes? Debería añadir un producto y un pedido también. ¿Qué tal si quisiera emitir un informe de todos los productos que vende? No podría separar fácilmente los productos de los clientes con una simple instrucción SQL. Lo bello de las bases de datos relacionales, si están bien diseñadas, es que puede hacer esto fácilmente. La nomlalización también hace las cosas fáciles de entender. Los seres humanos tenemos la tendencia de simplificar las cosas al máximo. Lo hacemos con casi todo desde los animales hasta con los automóviles. Vemos una imagen de gran tamaño y la hacemos menos compleja agrupando cosas similares juntas. Las guías que la nomlalización provee crean el marco de referencia para simplificar la estructura. En su base de datos de muestra es fácil detectar que usted tiene tres diferentes grupos: clientes, productos y pedidos. Si sigue las guías de la nomlalización, podría crear las tablas basándose en estos grupos. El proceso de nomlalización tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco confuso al principio, pero poco a poco irá entendiendo el proceso, así como las razones para hacerlo de esta manera. A la mayoría de la gente le encantan las hojas de cálculo por la forma en la que manejan sus datos. El tiempo que le lleve reconfigurar su esquema para ajustarlo al proceso de nomlalización, siempre será bien Iinvertido. Al fin y al cabo, esto le tomará menos tiempo que el que tendría que invertir , para cortar y pegar sus columnas de datos para generar el infomle que quiere su jefe. Otra ventaja de la nomlalización de su base de datos es el consumo de espacio. Una base de datos nomlalizada puede ocupar menos espacio en disco que una no nomlalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco. Grados de normalización Existen básicamente tres niveles de normalización: Primera Fomla Normal (1NF), Segunda Fomla Normal (2NF) y Tercera Fomla Normal (3NF). Cada una de estas formas tiene sus propias reglas. Cuando una base de datos se conforma a un nivel, se considera nomlalizada a esa forma de nomlalización. Por ejemplo, supongamos que su base de datos cumple con todas las reglas del segundo nivel de nomlalización. Se considera que está en la Segunda Fomla Normal. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización. Puede llevar aun nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de normalización. Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Ésta es una regla muy fácil de seguir. Observe el esquema de la tabla Clientes de la base de datos. . ClientesID Cliente NombreApellidos Nombre_Producto1Costo_Producto1 Imagen_Producto1 Nombre_Producto2 Costo_Producto2 Imagen_Producto2 Fecha_Pedido Cantidad_Pedido Nombre Cia Envios -- La tabla tiene varias columnas repetidas. Éstas se refieren principalmente a los productos. De acuerdo con la regla, debe eliminar las columnas repetidas y crearles su propia tabla. Eliminación de datos repetidos en una base de datos Clientes PedidosID_Clientes Nombre_ProductosNombre Costo_Producto Apellidos Imagen_Producto Direccion Numero_Pedido Fecha_Pedido Cantidad_Pedido Clave_Cia_EnviosNombre_Ci_ Envios -- Ahora tiene dos tablas. Pero todavía hay un problema. No hay forma de relacionar los datos de la tabla original con los de la nueva tabla. Para hacerlo, debe añadir un campo clave a la segunda tabla de forma que se establezca la relación. Añada a la tabla Productos una clave primaria que se llame ID_Producto y añada una clave a la tabla Clientes que la relacione con la tabla Productos. El campo ID_Producto es el candidato ideal.Primera Forma Normal Clientes PedidosID_Productos ID_ProductosID_Clientes Nombre_ProductosNombre Costo_Producto Apellidos Imagen_Producto Direccion Numero_Pedido Fecha_Pedido Cantidad_Pedido Clave_Cia_Envios-- Así, se ha establecido una relación uno a varios. Ésta representa lo que la base de datos estará haciendo en la vida real. El cliente tendrá muchos productos que podrá comprar, sin importar cuántos otros clientes quieran comprarlos también. Además, el cliente necesitará haber pedido un producto para ser un cliente. Usted ya no está obligado a añadir un cliente cada vez que añade un nuevo producto a su inventario. Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna múltiples. Muy a menudo, los diseñadores de bases de datos inexpertos harán algo similar a la tabla no normalizada. Una y otra vez, crearán columnas que representen los mismos datos. En una empresa de servicios de electricidad, había una base de datos para el control de refacciones de una planta nuclear. La tabla de su base de datos, la cual contenía los números de parte de las refacciones, tenía una columna repetida más de treinta veces. Cada vez que una nueva parte se tenía que dar de alta, se creaba una nueva columna para almacenar la información. Obviamente, el diseño de la base de datos era bastante pobre y, por lo mismo, resultaba una pesadilla para sus programadores/administradores. La normalización ayuda a clarificar la base de datos ya organizarla en partes más pequeñas y más fáciles de entender. En lugar de tener que entender una tabla gigantesca y monolítica que tiene muchos diferentes aspectos, usted sólo tiene que entender objetos pequeños y más tangibles, así como las relaciones que guardan con otros objetos también pequeños. No es necesario mencionar que un mejor entendimiento del funcionamiento de su base de datos conducirá aun mejor aprovechamiento de sus activos. Segunda Forma Normal La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una depen dencia parcial es un término que describe a aquellos datos que no dependen de la clave de la tabla para identificarlos. En la base de datos de muestra, la información de pedidos está en cada uno de los registros. Sería mucho más simple utilizar únicamente el número del pedido. El resto de la información podría residir en su propia tabla. Una vez que haya organizado la información de pedidos.Eliminación de las dependencias parciales -Segunda Forma Normal Clientes Pedidos ProductosID_Productos ID_Productos ID_ProductoID_Clientes Nombre_Productos Fecha_CompraNombre Cantidad_Pedido Costos_ProductosApellidos Imagen_Producto Direccion Numero_Pedido Nombre_Cia_EnviosDe nuevo, al organizar el esquema de esta forma puede reflejar el mundo real en su base de datos. Tendría que hacer algunos cambios en sus reglas del negocio para que esto fuera aplicable, pero para ilustrar la normalización, así está bien. Una de las mayores desventajas de la normalización es el tiempo que lleva hacerlo. La mayoría de la gente está demasiado ocupada, y emplear tiempo para asegurarse de que sus datos están normalizados cuando todo funciona más o menos bien, parece ser un desperdicio de tiempo. Pero no es así. Usted tendrá que emplear más tiempo arreglando una base de datos no normalizada que el que emplearía en una normalizada. Al haber alcanzado la Segunda Forma Normal, usted puede disfrutar de algunas de las ventajas de las bases de datos relacionales. Por ejemplo, puede añadir nuevas columnas a la tabla Clientes sin afectar a las tablas Productos y Pedidos. Lo mismo aplica para las otras tablas. Alcanzar este nivel de normalización permite que los datos se acomoden de una manera natural dentro de los límites esperados. Una vez que ha alcanzado el nivel de la Segunda Forma Normal, se han controlado la mayoría de los problemas de lógica. Puede insertar un registro sin un exceso de datos en la mayoría de las tablas. Observando un poco más de cerca la tabla Clientes, vemos la columna Nombre_Cia_Envios. Ésta no es dependiente del cliente. El siguiente nivel de normalización explicará cómo solucionar esto. Tercera Forma Normal La regla de la Tercera Forma Normal señala que hay que eliminar y separar cualquier dato que no sea clave. El valor de esta columna debe depender de la clave. Todos los valores deben identificarse únicamente por la clave. En la base de datos de muestra, la tabla Clientes contiene la columna Nombre_Cia_Envios, la cual no se identifica únicamente por la clave. Podría separar estos datos de la tabla y ponerlos en una tabla aparte.Eliminación de los datos que no son claves para la Tercera Forma NormalClientes Productos PedidoMaestro PedidoDetallado Cias_EnviosID_cliente ID_Producto ID_Pedido ID_PedidoDetallado ID_Cia_EnviosID_Producto Nombre_Producto Fecha_Pedido ID_Pedido Nombre_Cia_Envios.Numero_Pedido Costos_Productos Cantidad_Pedidos Fecha_Pedido ID_Cia_Envios Foto_Producto Cantidad_PedidoNombreApellidosDireccionAhora todas sus tablas están en la Tercera Forma Normal. Esto le da más flexibilidad y previene errores de lógica cuando inserta o borra registros. Cada columna en la tabla está identificada de manera única por la clave, y no hay datos repetidos. Esto provee un esquema limpio y elegante, que es fácil de trabajar y expandir. Qué tan lejos debe llevar la normalización La siguiente decisión es ¿qué tan lejos debe llevar la normalización? La normalización es una ciencia subjetiva. Determinar las necesidades de simplificación depende de usted. Si su base de datos va a proveer información aun solo usuario para un propósito simple y existen pocas posibilidades de expansión, normalizar sus datos hasta la 3FN sea quizá algo extremoso. Las reglas de normalización existen como guías para crear tablas que sean fáciles de manejar, así como flexibles y eficientes. A veces puede ocurrir que normalizar sus datos hasta el nivel más alto no tenga sentido. Por ejemplo, suponga que añade una columna extra para la dirección en su base de datos. Es muy normal tener dos líneas para la dirección. El esquema de la tabla podría verse como se muestra a continuación: ID_ClienteNombreApellidosDireccion1Direccion2De acuerdo con las reglas, si aplica la Primera Forma Normal, la columna de dirección debería sacarse de esta tabla y reemplazarse con la clave de una nueva tabla. El resultado de este esquema se muestra a continuación: ID_Ciente ID_DireccionNombre ID_ClienteApellidos DireccionLa base de datos ahora cumple con la Primera Forma Normal. Los clientes pueden tener más de una dirección. El problema aquí es que usted ha complicado demasiado una idea simple, por tratar de seguir las reglas de normalización. En el ejemplo mostrado, la segunda dirección es totalmente opcional. Está ahí sólo para colectar información que pudiera utilizarse como información de contacto. No hay necesidad de partir la tabla en dos y forzar las reglas de la normalización. En esta instancia, el exceso de normalización frustra el propósito para el que se utilizan los datos. Añade, de manera innecesaria, un nivel más de complejidad. Una buena forma de determinar si está llevando demasiado lejos su normalización, es ver el número de tablas que tiene. Un número grande de tablas pudiera indicar que está normalizando demasiado. Observe su esquema.¿Está dividiendo tablas sólo para seguir las reglas o estas divisiones son en verdad prácticas? Éstas son el tipo de cosas que usted, el diseñador de la base de datos, necesita decidir. La experiencia y el sentido común lo pueden auxiliar para tomar la decisión correcta. La normalización no es una ciencia exacta. Es subjetiva. Existen seis niveles más de normalización que no se han discutido aquí. Ellos son Forma Normal Boyce-Codd, Cuarta Forma Normal (4NF), Quinta Forma Normal (5NF) o Forma Normal de Proyección-Unión, Forma Normal de Proyección-Unión Fuerte, Forma Normal de Proyección-Unión Extra Fuerte y Forma Normal de Clave de Dominio. Estas formas de normalización pueden llevar las cosas más allá de lo que necesita. Éstas existen para hacer una base de datos realmente relacional. Tienen que ver principalmente con dependencias múltiples y claves relacionales.En resumen La normalización es una técnica que se utiliza para crear relaciones lógicas apropiadas entre tablas de una base de datos. Ayuda a prevenir errores lógicos en la manipulación de datos. La normalización facilita también agregar nuevas columnas sin romper el esquema actual ni las relaciones. Existen varios niveles de normalización: Primera Forma Normal, Segunda Forma Normal, Tercera Forma Normal, Forma Normal Boyce-Codd, Cuarta Forma Normal, Quinta Forma Normal o Forma Normal de Proyección-Unión, Forma Normal de Proyección-Unión Fuerte, Forma Normal de Proyección-Unión Extra Fuerte y Forma Normal de Clave de Dominio. Cada nuevo nivel o forma lo acerca más a hacer su base de datos verdaderamente relacional. Se discutieron las primeras tres formas. Éstas proveen suficiente nivel de normalización para cumplir con las necesidades de la mayoría de las bases de datos. Normalizar demasiado puede conducir a tener una base de datos ineficiente y hacer a su esquema demasiado complejo para trabajar. Un balance apropiado de sentido común y práctico puede ayudarle a decidir cuándo normalizar.

BASES DE DATOS RELACIONALES


Base de datos relacionales
En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto.
Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla.
Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Más adelante explicaremos que son las tablas.
Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas:
Generalmente, contendrán muchas tablas.
Una tabla sólo contiene un número fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro de la tabla es único.
El orden de los registros y de los campos no está determinados.
Para cada campo existe un conjunto de valores posible.

Diseño de las bases de datos relacionales
El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos.
La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos.
Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc.
Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferente tipos de campos que su pueden almacenar son los siguientes: Texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si/no, verdadero/falso, etc., imágenes.
En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud.

relacion entre los datos


Relación Entre Los DatosSistema de administración de bases de datos, que almacena información en tablas (filas y columnas de datos) y realiza búsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla. En una base de datos relacional, las filas representan registros (conjunto de datos acerca de elementos separados) y las columnas representan campos (atributos particulares de un registro). Al realizar las búsquedas, una base de datos relacional hace coincidir la información de un campo de una tabla con información en el campo correspondiente de otra tabla y con ello produce una tercera tabla que combina los datos solicitados de ambas tablas. Por ejemplo si una tabla contiene los campos NÚM-EMPLEADO, APELLIDO, NOMBRE Y ANTIGÜEDAD y otra tabla contiene los campos DEPARTAMENTO, NÚM-EMPLEADO y SALARIOS, una base de datos relacional hace coincidir el campo NÜM-EMPLEADO de las dos tablas para encontrar información, como por ejemplo los nombres de los empleados que ganan un cierto salario o los departamentos de todos los empleados contratados a partir de un día determinado. En otras palabras, una base de datos relacional utiliza los valores coincidentes de dos tablas para relacionar información de ambas. Por lo general, los productos de base de datos para microcomputadoras o microordenadores son base de datos relaciónales.
Relación Muchos A UnoEjemplosPROY- GERENTE (los proyectos designan a los gerentes)DEPTO-EMP (los empleados designan a los departamento)EMP-DEPEN (los dependientes designan a los empleados)De estas tres, la última implica un tipo de entidad débil (DEPENDIENTE) y las otras dos implican sólo tipos de entidades regulares. El ejemplo DEPTO-EMP no provoca la introducción de relaciones nuevas. En vez de ello, basta introducir una clave ajena en la relación correspondiente al lado de "muchos" de la interrelación (EMP), que haga referencia a la relación correspondiente al lado "uno" (DEPTO).La interrelación entre un tipo de entidad débil y el tipo de entidad del cual depende es por su puesto una interrelación de muchos a uno.
Relación uno a unoNo son muy frecuentes en cualquier caso en prácticas. Estas se manejan exactamente en el mismo modo que las interrelaciones mucho a uno.
Relaciones mucho a muchoLas interrelaciones de muchos a muchos (o de muchos a muchos a muchos, etc) mostradas en el ejemplo siguiente:PROY-TRABAJO (asocia empleados y proyectos)PROV-PARTE (asocia proveedores y partes)PROV_PARTE_PROY (asocia proveedores, partes y proyectos)ESTRUCTURA DE PARTES (asocia a partes a partes)Cada una de estas interrelaciones también corresponde a una relación base. Por tanto, introducimos otras cuatro relaciones base correspondientes a estas cuatro interrelaciones. Como en el caso de las interrelaciones de muchos a muchos, resulta que podemos escoger. Una posibilidad es tomar la combinación de la clave ajena y la "clave" de la entidad del diagrama E/R. O bien, podríamos introducir un atributo nuevo no compuesto que sirva como clave primaria.
Enfoque jerarquizadoUna base de datos jerárquica se compone de un conjunto ordenado de árboles, dicho de manera más precisa, un conjunto ordenado formado por múltiples ocurrencias de un solo tipo de árbol.
ÁrbolesUn tipo de árbol consiste en un solo tipo de registro "raíz", junto con un conjunto ordenado de cero o más tipos de subárbol dependientes (de nivel más bajo). Un tipo de subárbol a su vez consiste en un solo tipo de registro la raíz del tipo de subárbol junto con un conjunto ordenado de cero o más tipos de subárbol dependientes, de nivel más bajo, y así sucesivamente. Por tanto, el tipo de árbol completo es un arreglo jerárquico de tipos de registro. Además, claro, los tipos de registro están formados por tipos de campo de la manera acostumbrada.Directorio raíz, en informática, punto de entrada en el árbol de directorios en una estructura jerárquica de directorios. Las ramificaciones de esta raíz son varios directorios y subdirectorios, cada uno de los cuales puede contener uno o más archivos y subdirectorios propios. En la ilustración se muestra una estructura de directorios del sistema operativo MS-DOS. El directorio raíz se identifica con la barra invertida (\) y constituye el directorio principal del disco duro. Por debajo de la raíz hay un directorio denominado MIS DOCUMENTOS, que contiene dos subdirectorios adicionales, CARTAS e INFORMES.
Árboles BinariosLos árboles de grado 2 tienen una especial importancia. Se le conoce con el nombre de Árboles binarios. Se define un árbol binario como un conjunto finito de elementos (nodos) que bien está vació o está formado por una raíz con dos árboles binarios disjuntos, llamados subárbol izquierdo y derecho de la raíz.En los apartados que siguen se consideran únicamente árboles binarios y, por lo tanto, se utilizará la palabra árbol para referirse a árbol binario. Los árboles de grado superior a 2 reciben el nombre de árboles multicamino.
Árbol binario de búsquedaLos árboles binarios se utilizan frecuentemente para representar conjuntos de datos cuyos elementos se identifican por una clave única. Si el árbol esta organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subárbol izquierdo y menor que todas las claves del subárbol derecho se dice que este árbol es un árbol binario de búsqueda.

Operaciones básicasUna tarea muy común a realizar con un árbol es ejecutar una determinada operación con cada uno de los elementos del árbol. Esta operación se considera entonces como un parámetro de una tarea más general que es la visita de todos los nodos o, como se denomina usualmente, del recorrido del árbol.Si se considera la tarea como un proceso secuencial, entonces los nodos individuales se visitan en un orden especifico, y pueden considerarse como organizados según una estructura lineal. De hecho, se simplifica considerablemente la descripción de muchos algoritmos si puede hablarse del proceso del siguiente elemento en el árbol, según su cierto orden subyacente.Hay dos formas básicas de recorrer un árbol: El recorrido en amplitud y el recorrido en profundidad.
Recorrido En AmplitudEs aquel recorrido que recorre el árbol por niveles, en el último ejemplo sería:12 – 8,17 – 5,9,15.Recorrido en profundidad Recorre el árbol por subárboles. Hay tres formas: Preorden, orden central y postordenPREORDEN: Raíz, Subárbol izquierdo, subárbol derechoORDEN CENTRAL: Subárbol izquierdo, raíz, subárbol derechoPOST ORDEN: Subárbol izquierdo, subárbol derecho, raíz. Directorio raíz, en informática, punto de entrada en el árbol de directorios en una estructura jerárquica de directorios. Las ramificaciones de esta: raíz son varios directorios y subdirectorios, cada uno de los cuales puede contener uno o más archivos y subdirectorios propios. En la ilustración se muestra una estructura de directorios del sistema operativo MS-DOS. El directorio raíz se identifica con la barra invertida (\) y constituye el directorio principal del disco duro. Por debajo de la raíz hay un directorio denominado MIS DOCUMENTOS, que contiene dos subdirectorios adicionales, CARTAS e INFORMES.El camino es un elemento más inteligente y posibilita la interconexión de diferentes tipos de redes de ordenadores.Hoja de calculo, programa de aplicación utilizado normalmente en tareas de creación de presupuestos o previsiones, y en otras tareas financieras. En un programa de hoja de calculo, los datos y las formulas necesarios se introducen en formularios tabulares (hojas de cálculos u hojas de trabajo), y se utilizan para analizar, controlar, planificar o evaluar el impacto de los cambios reales o presupuesto sobre una estrategia económica. Los programas de hoja de cálculo usan filas columnas y celdas. Cada celda puede contener texto, datos numéricos o una formula que use valores existentes en otras celdas para hacer un cálculo determinado. Para facilitar los cálculos, estos programas incluyen funciones incorporadas que realizan operaciones estándar. Dependiendo del programa, una sola hoja de cálculo puede contener miles o millones de celdas. Algunos programas de hojas de cálculo permiten también vincular una hoja de cálculos a otra que contenga información relacionada y pueden actualizar de forma automática los datos de las hojas vinculadas. Los programas de hojas de cálculos pueden incluir también utilidades de macros; algunas se pueden utilizar para crear y ordenar bases de datos. Los programas de hoja de cálculo cuentan por lo general con capacidades gráficas para imprimir sus resultados. También proporcionan un buen número de opciones de formato tanto para las páginas y el texto impreso como para los valores numéricos y las leyendas de los gráficos.
Enfoque RelacionalCasi todos los productos de base de datos desarrollados años recientes se basan en lo que se conoce como enfoque relacional. La cuestión es que ningún sistema actual maneja el modelo relacional en todos sus aspectos (varios se acercan, pero la mayor parte fallan en algún detalle u otro; en los dominios, o si no en alguna otra cosa)Bases de datos relaciónales, es decir, bases de datos percibidas por el usuario como tablas y solo como tablas.En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto. Los sistema relacionales son importantes porque ofrecen tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla.Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Mas adelante explicaremos que son las tablas.Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas:
Generalmente, contendrá muchas tablas.
Una tabla sólo contiene un número fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro y de la es único.
El orden de los registros y de los campos no está determinado
Para cada campo existe un conjunto de valores posible.
Requisitos Que Han De Tener Las Tablas El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos.La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos.Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc.Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferentes tipos de campos que se pueden almacenar son los siguientes: texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si / no, verdadero / falso, etc., imágenes.En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con una nombre especificado su tipo y su longitud.Terminología Para Describir La Estructura Relacional.


· Relaciones: corresponde a lo que hasta ahora hemos llamado en general tabla
· Una tupla: corresponde a una fila de esa tabla y un atributo a una columna. El número de tuplas se denomina cardinalidad y el número de atributos se llama grado.
· Campo: columna es la vista lista que muestra una categoría de información como un número de serie o fecha de compra.
· Registro: toda la información relacionada sobre una persona, lugar o cosa.
· Ada, en informática, el lenguaje de programación basado en procedimientos diseñado bajo la dirección del Departamento de Defensa (DOD) de Estado Unidos a finales de la década de 1970. Ada, llamado así en honor a Augusta Ada Byron, condesa de Lovelace y pionera en el campo de la informática, se desarrolló a partir del Pascal, aunque incluía importantes extensiones semánticas y sintácticas, incluyendo la ejecución simultanea de tareas.
· La clave primaria: es única para las tablas, es decir, una columna o combinación de columnas con la siguiente propiedad. Nunca existen dos filas de la tabla con el mismo valor en esa columna o combinación de columnas.
Por último, un dominio es una colección de valores, de los cuales uno o más atributos (columnas) obtienen sus valores reales.

. Bases de Datos distribuidas
Son las Bases de Datos que no están almacenadas totalmente en un solo lugar físico, (esta segmentada) y se comunican por medio de enlaces de comunicaciones a través de una red de computadoras distribuidas geográficamente.
. Tendencias futuras
La explotación efectiva de la información dará ventaja competitiva a las organizaciones.
Las bases de datos orientadas a objetos empleadas para diseño y manufactura asistida por computadora CAD/CAM serán utilizados a un mismo nivel que las Bases se Datos relacionales de la actualidad.
Los lenguajes de consulta (SQL) permitirán el uso del lenguaje natural para solicitar información de la Base de Datos, haciendo más rápido y fácil su manejo.

RELACION ENTRE LOS DATOS

Sistema de administración de bases de datos, que almacena información en tablas (filas y columnas de datos) y realiza búsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla. En una base de datos relacional, las filas representan registros (conjunto de datos acerca de elementos separados) y las columnas representan campos (atributos particulares de un registro). Al realizar las búsquedas, una base de datos relacional hace coincidir la información de un campo de una tabla con información en el campo correspondiente de otra tabla y con ello produce una tercera tabla que combina los datos solicitados de ambas tablas. Por ejemplo si una tabla contiene los campos NÚM-EMPLEADO, APELLIDO, NOMBRE Y ANTIGÜEDAD y otra tabla contiene los campos DEPARTAMENTO, NÚM-EMPLEADO y SALARIOS, una base de datos relacional hace coincidir el campo NÜM-EMPLEADO de las dos tablas para encontrar información, como por ejemplo los nombres de los empleados que ganan un cierto salario o los departamentos de todos los empleados contratados a partir de un día determinado. En otras palabras, una base de datos relacional utiliza los valores coincidentes de dos tablas para relacionar información de ambas. Por lo general, los productos de base de datos para microcomputadoras o microordenadores son base de datos relaciónales.
Relación Muchos A UnoEjemplosPROY- GERENTE (los proyectos designan a los gerentes)DEPTO-EMP (los empleados designan a los departamento)EMP-DEPEN (los dependientes designan a los empleados)De estas tres, la última implica un tipo de entidad débil (DEPENDIENTE) y las otras dos implican sólo tipos de entidades regulares. El ejemplo DEPTO-EMP no provoca la introducción de relaciones nuevas. En vez de ello, basta introducir una clave ajena en la relación correspondiente al lado de "muchos" de la interrelación (EMP), que haga referencia a la relación correspondiente al lado "uno" (DEPTO).La interrelación entre un tipo de entidad débil y el tipo de entidad del cual depende es por su puesto una interrelación de muchos a uno.
Relación uno a unoNo son muy frecuentes en cualquier caso en prácticas. Estas se manejan exactamente en el mismo modo que las interrelaciones mucho a uno.
Relaciones mucho a muchoLas interrelaciones de muchos a muchos (o de muchos a muchos a muchos, etc) mostradas en el ejemplo siguiente:PROY-TRABAJO (asocia empleados y proyectos)PROV-PARTE (asocia proveedores y partes)PROV_PARTE_PROY (asocia proveedores, partes y proyectos)ESTRUCTURA DE PARTES (asocia a partes a partes)Cada una de estas interrelaciones también corresponde a una relación base. Por tanto, introducimos otras cuatro relaciones base correspondientes a estas cuatro interrelaciones. Como en el caso de las interrelaciones de muchos a muchos, resulta que podemos escoger. Una posibilidad es tomar la combinación de la clave ajena y la "clave" de la entidad del diagrama E/R. O bien, podríamos introducir un atributo nuevo no compuesto que sirva como clave primaria.
Enfoque jerarquizadoUna base de datos jerárquica se compone de un conjunto ordenado de árboles, dicho de manera más precisa, un conjunto ordenado formado por múltiples ocurrencias de un solo tipo de árbol.
ÁrbolesUn tipo de árbol consiste en un solo tipo de registro "raíz", junto con un conjunto ordenado de cero o más tipos de subárbol dependientes (de nivel más bajo). Un tipo de subárbol a su vez consiste en un solo tipo de registro la raíz del tipo de subárbol junto con un conjunto ordenado de cero o más tipos de subárbol dependientes, de nivel más bajo, y así sucesivamente. Por tanto, el tipo de árbol completo es un arreglo jerárquico de tipos de registro. Además, claro, los tipos de registro están formados por tipos de campo de la manera acostumbrada.Directorio raíz, en informática, punto de entrada en el árbol de directorios en una estructura jerárquica de directorios. Las ramificaciones de esta raíz son varios directorios y subdirectorios, cada uno de los cuales puede contener uno o más archivos y subdirectorios propios. En la ilustración se muestra una estructura de directorios del sistema operativo MS-DOS. El directorio raíz se identifica con la barra invertida (\) y constituye el directorio principal del disco duro. Por debajo de la raíz hay un directorio denominado MIS DOCUMENTOS, que contiene dos subdirectorios adicionales, CARTAS e INFORMES.
Árboles BinariosLos árboles de grado 2 tienen una especial importancia. Se le conoce con el nombre de Árboles binarios. Se define un árbol binario como un conjunto finito de elementos (nodos) que bien está vació o está formado por una raíz con dos árboles binarios disjuntos, llamados subárbol izquierdo y derecho de la raíz.En los apartados que siguen se consideran únicamente árboles binarios y, por lo tanto, se utilizará la palabra árbol para referirse a árbol binario. Los árboles de grado superior a 2 reciben el nombre de árboles multicamino.
Árbol binario de búsquedaLos árboles binarios se utilizan frecuentemente para representar conjuntos de datos cuyos elementos se identifican por una clave única. Si el árbol esta organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subárbol izquierdo y menor que todas las claves del subárbol derecho se dice que este árbol es un árbol binario de búsqueda.

Operaciones básicasUna tarea muy común a realizar con un árbol es ejecutar una determinada operación con cada uno de los elementos del árbol. Esta operación se considera entonces como un parámetro de una tarea más general que es la visita de todos los nodos o, como se denomina usualmente, del recorrido del árbol.Si se considera la tarea como un proceso secuencial, entonces los nodos individuales se visitan en un orden especifico, y pueden considerarse como organizados según una estructura lineal. De hecho, se simplifica considerablemente la descripción de muchos algoritmos si puede hablarse del proceso del siguiente elemento en el árbol, según su cierto orden subyacente.Hay dos formas básicas de recorrer un árbol: El recorrido en amplitud y el recorrido en profundidad.
Recorrido En AmplitudEs aquel recorrido que recorre el árbol por niveles, en el último ejemplo sería:12 – 8,17 – 5,9,15.Recorrido en profundidad Recorre el árbol por subárboles. Hay tres formas: Preorden, orden central y postordenPREORDEN: Raíz, Subárbol izquierdo, subárbol derechoORDEN CENTRAL: Subárbol izquierdo, raíz, subárbol derechoPOST ORDEN: Subárbol izquierdo, subárbol derecho, raíz. Directorio raíz, en informática, punto de entrada en el árbol de directorios en una estructura jerárquica de directorios. Las ramificaciones de esta: raíz son varios directorios y subdirectorios, cada uno de los cuales puede contener uno o más archivos y subdirectorios propios. En la ilustración se muestra una estructura de directorios del sistema operativo MS-DOS. El directorio raíz se identifica con la barra invertida (\) y constituye el directorio principal del disco duro. Por debajo de la raíz hay un directorio denominado MIS DOCUMENTOS, que contiene dos subdirectorios adicionales, CARTAS e INFORMES.El camino es un elemento más inteligente y posibilita la interconexión de diferentes tipos de redes de ordenadores.Hoja de calculo, programa de aplicación utilizado normalmente en tareas de creación de presupuestos o previsiones, y en otras tareas financieras. En un programa de hoja de calculo, los datos y las formulas necesarios se introducen en formularios tabulares (hojas de cálculos u hojas de trabajo), y se utilizan para analizar, controlar, planificar o evaluar el impacto de los cambios reales o presupuesto sobre una estrategia económica. Los programas de hoja de cálculo usan filas columnas y celdas. Cada celda puede contener texto, datos numéricos o una formula que use valores existentes en otras celdas para hacer un cálculo determinado. Para facilitar los cálculos, estos programas incluyen funciones incorporadas que realizan operaciones estándar. Dependiendo del programa, una sola hoja de cálculo puede contener miles o millones de celdas. Algunos programas de hojas de cálculo permiten también vincular una hoja de cálculos a otra que contenga información relacionada y pueden actualizar de forma automática los datos de las hojas vinculadas. Los programas de hojas de cálculos pueden incluir también utilidades de macros; algunas se pueden utilizar para crear y ordenar bases de datos. Los programas de hoja de cálculo cuentan por lo general con capacidades gráficas para imprimir sus resultados. También proporcionan un buen número de opciones de formato tanto para las páginas y el texto impreso como para los valores numéricos y las leyendas de los gráficos.
Enfoque RelacionalCasi todos los productos de base de datos desarrollados años recientes se basan en lo que se conoce como enfoque relacional. La cuestión es que ningún sistema actual maneja el modelo relacional en todos sus aspectos (varios se acercan, pero la mayor parte fallan en algún detalle u otro; en los dominios, o si no en alguna otra cosa)Bases de datos relaciónales, es decir, bases de datos percibidas por el usuario como tablas y solo como tablas.En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto. Los sistema relacionales son importantes porque ofrecen tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla.Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Mas adelante explicaremos que son las tablas.Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas:
Generalmente, contendrá muchas tablas.
Una tabla sólo contiene un número fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro y de la es único.
El orden de los registros y de los campos no está determinado
Para cada campo existe un conjunto de valores posible.
Requisitos Que Han De Tener Las Tablas El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos.La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos.Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc.Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferentes tipos de campos que se pueden almacenar son los siguientes: texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si / no, verdadero / falso, etc., imágenes.En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con una nombre especificado su tipo y su longitud.Terminología Para Describir La Estructura Relacional.


· Relaciones: corresponde a lo que hasta ahora hemos llamado en general tabla
· Una tupla: corresponde a una fila de esa tabla y un atributo a una columna. El número de tuplas se denomina cardinalidad y el número de atributos se llama grado.
· Campo: columna es la vista lista que muestra una categoría de información como un número de serie o fecha de compra.
· Registro: toda la información relacionada sobre una persona, lugar o cosa.
· Ada, en informática, el lenguaje de programación basado en procedimientos diseñado bajo la dirección del Departamento de Defensa (DOD) de Estado Unidos a finales de la década de 1970. Ada, llamado así en honor a Augusta Ada Byron, condesa de Lovelace y pionera en el campo de la informática, se desarrolló a partir del Pascal, aunque incluía importantes extensiones semánticas y sintácticas, incluyendo la ejecución simultanea de tareas.
· La clave primaria: es única para las tablas, es decir, una columna o combinación de columnas con la siguiente propiedad. Nunca existen dos filas de la tabla con el mismo valor en esa columna o combinación de columnas.
Por último, un dominio es una colección de valores, de los cuales uno o más atributos (columnas) obtienen sus valores reales.

CREACION DE UNA BASE DE DATOS

Para crear una base se deben realizar dos ejercicios de diseño: un diseño lógico y uno físico. El diseño lógico de una base de datos es un modelo abstracto de la base de datos desde una perspectiva de negocios, mientras que el diseño físico muestra como la base de datos se ordena en realidad en los dispositivos de almacenamiento de acceso directo. El diseño físico de la base de datos es llevado a cabo por los especialistas en bases de datos, mientras que el diseño lógico requiere de una descripción detallada de las necesidades de información del negocio de los negocios actuales usuarios finales de la base. Idealmente, el diseños de la base será una parte del esfuerzo global de la planeación de datos a nivel institucional.El diseño lógico de la base de datos describe como los elementos en la base de datos han de quedar agrupados. El proceso de diseño identifica las relaciones entre los elementos de datos y la manera más eficiente de agruparlos para cumplir con los requerimientos de información. El proceso también identifica elementos redundantes y los agrupamientos de los elementos de datos que se requieren para programas de aplicaciones específicos. Los grupos de datos son organizados, refinados y agilizados hasta que una imagen lógica general de las relaciones entre todos los elementos en la base de datos surja.
Bases de datos documentales:Son las derivada de la necesidad de disponer de toda la información en el puesto de trabajo y de minimizar los tiempos del acceso a aquellas informaciones que, si bien se utilizan con frecuencia, no están estructuradas convenientemente . Esto se debe a que ala procedencia de la información es muy variada (informes, notas diversas, periódicos, revistas, muchos más.
Bases de datos distribuidas:Es aquella que se almacena en más de un lugar físico. Partes de la base de datos se almacena físicamente en un lugar y otras partes se almacenan y mantienen en otros lugares. Existen dos maneras de distribuir una base de datos. La base de datos central puede ser particionada de manera que cada procesador remoto tenga los datos necesarios sobre los clientes para servir a su área local. Los cambios en los archivos pueden ser justificado en la base de datos central sobre las bases de lotes, en general por la noche. Otra estrategia también requiere de la actualización de la base central de datos en hojas no laborables.Aun otra posibilidad (una que se emplea en bases de datos grandes) es mantener solo un índice central de nombres y almacenar localmente los registros completos. El procesamiento distribuidos y las bases de datos distribuidas tienen como beneficios e inconvenientes. Los sistemasdistribuidos reducen la vulnerabilidad de un lugar único central y voluminoso. Permiten incremento en la potencia de los sistemas al adquirir mini computadoras que son más pequeñas y baratas. Finalmente incrementan el servicio y la posibilidad de respuesta de los usuarios locales. Los sistemas distribuidos, sin embargo, dependen de la alta calidad de las líneas de telecomunicaciones , las cuales a su vez son vulnerables. Además, las bases de datos locales pueden algunas veces alejarse de las normas y las definiciones de los datos centrales y hacen surgir problemas de seguridad al distribuir ampliamente el acceso a datos de alta sensibilidad.
Bases de datos orientadas a objetos e hipermedia:Estas son capaces de almacenar tanto procesos como datos. Por este motivo las bases orientadas al objeto deben poder almacenar información no convencional (como imágenes estáticas o en movimiento, colecciones de sonidos, entre otros). Este tipo de bases de datos deriva directamente de la llamada programación orientada a objetos, típica por ejemplo del lenguaje C/C++.Entre las ventajas de las bases de datos orientadas al objeto destaca la posibilidad de tratar los casos excepcionales, que suelen ser la mayoría en la práctica cotidiana, en lugar de tratar de insertar la realidad en unos patrones rígidos que violentan para hacerla coincidir con los esquemas utilizados. Además, nadie pone en duda que es más cómodo manejar objetos de entorno que no es familiar, que trabaja, por ejemplo, con tablas, esquemas, cuadros, muchos más.

DISEÑO DE UNA BASE DE DATOS

Existen distintos modos de organizar la información y representar las relaciones entre los datos en una base de datos. Los Sistemas administradores de bases de datos convencionales usan uno de los tres modelos lógicos de bases de datos para hacer seguimiento de las entidades, atributos y relaciones. Los tres modelos lógicos principalmente de bases de datos son el jerárquico, de redes y el relacional. Cada modelo lógico tiene ciertas ventajas de procesamiento y también ciertas ventajas de negocios.
Modelo de jerárquico de datos: Una clase de modelo lógico de bases de datos que tiene una estructura arborescente. Un registro subdivide en segmentos que se interconectan en relaciones padre e hijo y muchos más. Los primeros sistemas administradores de bases de datos eran jerárquicos. Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos
Modelo de datos en red:Es una variación del modelo de datos jerárquico. De hecho las bases de datos pueden traducirse de jerárquicas a en redes y viceversa con el objeto de optimizar la velocidad y la conveniencia del procesamiento. Mientras que las estructuras jerárquicas describen relaciones de muchos a muchos.Modelo relacional de datos: Es el más reciente de estos modelos, supera algunas de las limitaciones de los otros dos anteriores. El modelo relacional de datos representa todos los datos en la base de datos como sencillas tablas de dos dimensiones llamadas relaciones . Las tablas son semejantes a los archivos planos, pero la información en más de un archivo puede ser fácilmente extraída y combinada...

CONSEPTOS BASICOS DE UNA BASE DE DATOS

Campo: unidad básica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo. El tipo de campo, permite especificar el tipo de información que cargáramos en dicho campo, esta puede ser:
· Texto: para introducir cadenas de caracteres hasta un máximo de 255
· Memo: para introducir un texto extenso. Hasta 65.535caracteres
· Numérico: para introducir números
· Fecha/Hora: para introducir datos en formato fecha u hora
· Moneda: para introducir datos en formato número y con el signo monetario
· Auto numérico: en este tipo de campo, Access numera automáticamente el contenido
· Sí/No: campo lógico. Este tipo de campo es sólo si queremos un contenido del tipo Sí/No, Verdadero/Falso, etc.
· Objeto OLE: para introducir una foto, gráfico, hoja de cálculo, sonido, etc.
· Hipervínculo: podemos definir un enlace a una página Web
· Asistente para búsquedas: crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado.
Registro: es el conjunto de información referida a una misma persona u objeto. Un registro vendría a ser algo así como una ficha.
Campo clave: campo que permite identificar y localizar un registro de manera ágil y organizada.
Propiedades generales de los campos


PROPIEDAD
DESCRIPCIÓN
TIPO DE CAMPO
Tamaño del campo
Permite establecer la longitud máxima de un campo de texto numérico.
Texto, numérico, contador
Formato
Permite determinar la apariencia de presentación de los datos, utilizando los formatos predefinidos o nuestros propios formatos
Todos, excepto OLE y Memo
Lugares decimales
Permite especificar el número de cifras decimales para mostrar los números.
Numérico y moneda
Máscara de entrada
Permite controlar y filtrar los caracteres o valores que los usuarios introducen en un control de cuadro de texto, evitando errores y facilitando su escritura.
Texto, numérico, fecha/hora, moneda
Título
Permite definir una etiqueta de campo predeterminada para un formularios o informe
Todos
Valor predeterminado
Introduce en el campo un valor cuando se agregan nuevos registros (long. Máx. 255 caracteres)
Todos, excepto OLE y contador
Regla de validación
Permite escribir la condición que deben satisfacer los datos introducidos para ser aceptados
Todos, excepto OLE y contador
Texto de validación
Define el texto del mensaje que se visualiza cuando los datos no cumplen las condiciones enumeradas en la regla de validación
Todos excepto OLE y contador
Requerido
Permite especificar si es necesario que exista un valor en un campo.
Todos excepto contador
Permitir longitud cero
Permite especificar si una cadena de longitud cero ("") es una entrada válida para el campo
Texto, memo
Indexado
Define un campo como índice o campo clave.
Texto, numérico, contador, fecha/hora.
Las propiedades de un campo, se establecen seleccionando el campo y haciendo clic en la propiedad deseada del cuadro PROPIEDADES DEL CAMPO situado en la parte inferior de la ventana DISEÑO DE TABLA.
Access tiene una configuración predeterminada para las propiedades de cada uno de los tipos de campo. Sin duda la más importante es el tamaño del campo, ya que este nos permitirá hacer una estimación del espacio ocupado por nuestra base de datos en el disco fijo.

BASES DE DATOS



Base de datos
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California –USA.Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada.Desde el punto de vista de la informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.Este trabajo se realizara con la finalidad de aprender un poco más sobre una base de datos, sus características, usos, estructuras, diseños, entre otros.Una base de datos tiene mucha importancia en el ritmo de vida que llevamos en los actuales momentos, ya que, está acelera el ritmo en el momento realizar una búsqueda de información.
Algunos conceptos de bases de datos:Base de Datos: es la colección de datos aparentes usados por el sistema de aplicaciones de una determinada empresa.Base de Datos: es un conjunto de información relacionada que se encuentra agrupada o estructurada. Un archivo por sí mismo no constituye una base de datos, sino más bien la forma en que está organizada la información es la que da origen a la base de datos.Base de Datos: colección de datos organizada para dar servicio a muchas aplicaciones al mismo tiempo al combinar los datos de manera que aparezcan estar en una sola ubicación
Requerimientos de las bases de datos:El análisis de requerimientos para una base de datos incorpora las mismas tareas que el análisis de requerimientos del software. Es necesario un contacto estrecho con el cliente; es esencial la identificación de las funciones e interfaces; se requiere la especificación del flujo, estructura y asociatividad de la información y debe desarrollarse un documento formal de los requerimientos.Requerimientos administrativos: se requiere mucho más para el desarrollo de sistemas de bases de datos que únicamente seleccionan un modelo lógico de base de datos. La bases de datos es una disciplina organizacional, un método, más que una herramienta o una tecnología. Requiere de un cambio conceptual y organizacional.
Elementos claves de organización en un ambiente de Bases de DatosSistema de administración de base de datosAdministración de información Tecnología de administración de base de datosUsuariosPlaneación de información y tecnología de modelajeCaracterísticas de las bases de datos: Una base de datos contiene entidades de información que están relacionadas vía organización y asociación. La arquitectura lógica de una base de datos se define mediante un esquema que representa las definiciones de las relaciones entre las entidades de información. La arquitectura física de una base de datos depende de la configuración del hardware residente. Sin embargo, tanto el esquema (descripción lógica como la organización (descripción física) deben adecuarse para satisfacer los requerimientos funcionales y de comportamiento para el acceso al análisis y creación de informes.
Las bases de datos proporcionan la infraestructura requerida para los sistemas de apoyo a la toma de decisiones y para los sistemas de información estratégicos, ya que estos sistemas explotan la información contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. Por este motivo es importante conocer la forma en que están estructuradas las bases de
datos y su manejo.
Ambiente moderno de base de datos:La tecnología de las bases de datos pueden eliminar de un tajo muchos problemas creados por la organización tradicional de archivos. Una definición más rigurosa de bases de datos dice que es una colección de datos organizada para dar servicios eficientemente a muchas aplicaciones al centralizar los datos y minimizar aquellos que son redundantes. En vez de separar los datos en archivos por separados para cada aplicación, los datos son almacenados físicamente para aparecer a los usuarios como almacenados en una sola ubicación: una sola base de datos sirve a muchas aplicaciones. Por ejemplo, en vez de que una corporación almacene los datos de personal en sistemas de información separados y archivos separados para personal, nominas y prestaciones, la corporación podría crear una sola base de datos para Recursos Humanos.

martes, 1 de septiembre de 2009

Poo ( programacion orientada a objetos )


diagrama b.o.o

Un concepto muy importante introducido por la programación estructurada es la abstracción. La abstracción se puede definir como la capacidad de examinar algo sin preocuparse de los detalles internos. En un programa estructurado es suficiente conocer que un procedimiento dado realiza una tarea específica. El cómo se realiza la tarea no es importante; mientras el procedimiento sea fiable se puede utilizar sin tener que conocer cómo funciona su interior. Esto se conoce como abstracción funcional.
Una debilidad de la programación estructurada aparece cuando programadores diferentes trabajan en una aplicación como un equipo. Dado que programadores diferentes manipulan funciones separadas que pueden referirse a tipos de datos mutuamente compartidos, los cambios de un programador se deben reflejar en el trabajo del resto del equipo. Otro problema de la programación estructurada es que raramente es posible anticipar el diseño de un sistema completo antes de que se implemente realmente.
En esencia, un defecto de la programación estructurada, como se acaba de ver, consiste en la separación conceptual de datos y código. Este defecto se agrava a medida que el tamaño del programa crece.

1.2 Abstracción de datos

La abstracción de datos permite no preocuparse de los detalles no esenciales. Existe en casi todos los lenguajes de programación. Las estructuras de datos y los tipos de datos son un ejemplo de abstracción. Los procedimientos y funciones son otro ejemplo. Sólo recientemente han emergido lenguajes que soportan sus propios tipos abstractos de datos (TAD), como Pascal, Ada, Modula-2 y C++.

1.3 ¿Qué es la programación orientada a objetos?

Se puede definir POO como una técnica o estilo de programación que utiliza objetos como bloque esencial de construcción.
Los objetos son en realidad como los tipos abstractos de datos. Un TAD es un tipo definido por el programador junto con un conjunto de operaciones que se pueden realizar sobre ellos. Se denominan abstractos para diferenciarlos de los tipos de datos fundamentales o básicos.
En C se puede definir un tipo abstracto de datos utilizando typedef y struct y la implementación de las operaciones con un conjunto de funciones.

C++
tiene muchas facilidades para definir y utilizar un tipo TAD.
Al igual que los tipos de datos definidos por el usuario, un objeto es una colección de datos, junto con las funciones asociadas, utilizadas para operar sobre esos datos. Sin embargo la potencia real de los objetos reside en las propiedades que soportan: herencia, encapsulación y polimorfismo, junto con los conceptos básicos de objetos, clases, métodos y mensajes.

1.4 Trabajando con objetos

En programación convencional los programas se dividen en dos componentes: procedimientos y datos. Este método permite empaquetar código de programa en procedimientos, pero ¿Qué sucede con los datos? Las estructuras de datos utilizadas en programación son globales o se pasan como parámetros. En esencia los datos se tratan separadamente de los procedimientos.
En POO un programa se divide en componentes que contienen procedimientos y datos. Cada componente se considera un objeto.
Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos. A los elementos de un objeto se les conoce como miembros; las funciones que operan sobre los datos se denominan métodos (en C++ también se llaman funciones miembro) y los datos se denominan miembros datos. En C++ un programa consta de objetos. Los objetos de un programa se comunican entre sí mediante el paso o envío de mensajes (acciones que debe ejecutar el objeto).
En POO los objetos pueden se cualquier entidad del mundo real:

- Objetos físicos
* automóviles en una simulación de tráfico
* aviones en un sistema de control de tráfico aéreo
* animales mamíferos, etc
- Elementos de interfaces gráficos de usuarios
* ventanas
* iconos
* menús
* ratones
-
Estructuras de datos
* arrays
* pilas
* árboles binarios
-
Tipos de datos definidos por el usuario
* números complejos
* hora del día

1.5 Definición de objetos

Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos. Los datos se denominan miembros dato y las funciones métodos o funciones miembro.
Los datos y las funciones se encapsulan en una única entidad. Los datos están ocultos y sólo mediante las funciones miembro es posible acceder a ellos.

1.6 Clases

Una clase es un tipo definido por el usuario que determina las estructuras de datos y las operaciones asociadas con ese tipo. Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase. En general, los términos objetos e instancias de una clase se pueden utilizar indistintamente. Una clase es una colección de objetos similares y un objeto es una instancia de una definición de una clase.
La comunicación con el objeto se realiza a través del paso de mensajes. El envío a una instancia de una clase produce la ejecución de un método o función miembro. El paso de mensajes es el término utilizado para referirnos a la invocación o llamada de una función miembro de un objeto.

1.7 Mensajes: activación de objetos

Los objetos pueden ser activados mediante la recepción de mensajes. Un mensaje es simplemente una petición para que un objeto se comporte de una determinada manera, ejecutando una de sus funciones miembro. La técnica de enviar mensajes se conoce como paso de mensajes.

Estructuralmente un mensaje consta de tres partes:
- la
identidad del objeto receptor
- la función miembro del receptor cuya ejecución se ha solicitado
- cualquier otra información adicional que el receptor pueda necesitar para ejecutar el método requerido.
En C++, la notación utilizada es nombre_del_objeto.función_miembro

Ejemplo: Se tiene un objeto o1 con los siguientes miembros dato: nombre_alumno y curso y con las funciones miembro: leer_nombre e imprimir. Si el objeto o1 recibe el mensaje imprimir, esto se expresa:
o1.imprimir()
La sentencia anterior se lee: "enviar mensaje imprimir al objeto o1". El objeto o1 reacciona al mensaje ejecutando la función miembro de igual nombre que el mensaje.

El mensaje puede llevar parámetros:
o1.leer_nombre("Pedro Pérez")
Sin los mensajes los objetos que se definan no podrán comunicarse con otros objetos. Desde un punto de vista convencional, el paso de mensajes no es más que el sinónimo de llamada a una función.

1.8 Programa orientado a objetos

Un programa orientado a objetos es una colección de clases. Necesitará una función principal que cree objetos y comience la ejecución mediante la invocación de sus funciones miembro.
Esta organización conduce a separar partes diferentes de una aplicación en distintos archivos. La idea consiste en poner la descripción de la clase para cada una de ellas en un archivo separado. La función principal también se pone en un archivo independiente. El compilador ensamblará el programa completo a partir de los archivos independientes en una única unidad.
En realidad, cuando se ejecuta un programa orientado a objetos, ocurren tres acciones:

1. Se crean los objetos cuando se necesitan
2. Los mensajes se envían desde uno objetos y se reciben en otros
3. Se borran los objetos cuando ya no son necesarios y se recupera la memoria ocupada por ellos

1.9 Herencia

La herencia es la propiedad que permite a los objetos construirse a partir de otros objetos.
Una clase se puede dividir en subclases. En C++ la clase original se denomina clase base; las clases que se definen a partir de la clase base, compartiendo sus características y añadiendo otras nuevas, se denominan
clases derivadas.
Las clases derivadas pueden heredar código y datos de su clase base añadiendo su propio código y datos a la misma.
La herencia impone una relación jerárquica entre clases en la cual una clase hija hereda de su clase padre. Si una clase sólo puede recibir características de otra clase base, la herencia se denomina herencia simple.
Si una clase recibe propiedades de más de una clase base, la herencia se denomina herencia múltiple.

1.10 Polimorfismo

En un sentido literal, significa la cualidad de tener más de una forma. En el contexto de POO, el polimorfismo se refiere al hecho de que una misma operación puede tener diferente comportamiento en diferentes objetos. Por ejemplo, consideremos la operación sumar. El operador + realiza la suma de dos números de diferente tipo. Además se puede definir la operación de sumar dos cadenas mediante el operador suma.

La programación orientada a objetos, intenta simular el mundo real a traves del significado de objetos que contiene caracteristicas y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generacion.

Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un objeto, que es una combinacion de variables locales y procedimientos llamados metodos que juntos conforman una entidad de programación.

El termino encapsulacion se usa para describir la combinacion de estructuras de datos y de metodos que son manipulados por el objeto. La llamada a un objeto es lo que se denomina pasar un "aviso" a un objeto.

En la programación orientada a objetos, encapsular significa, reunir y controlar el grupo resultante como un todo y no individualmente.

En la programación orientada a objetos la abstraccion es un termino externo al objeto, que controla la forma en que es visto por los demas.

En la programación orientada a objetos la modularidad se considera de la siguiente manera: Un programa grande siempre sera más complicado que la suma de varios programas pequeños, con lo que se considera ventajoso dividir un gran sistema en diversos modulos.

En la programación orientada a objetos tenemos la jerarquia, la cual consiste en la clasificacion y organizacion de las abstracciones segun su naturaleza. El más claro ejemplo de jerarquia es la herencia.

En la programación orientada a objetos se define la herencia como una jerarquia de extracciones, y la relacion entre clases, donde se comparte la estructura y el comportamiento de una o más clase considerada como clases superiores o una superclase, con lo cual se resume que la herencia es una unidad independiente por si misma heredada de una abstraccion o superclase. Un ejemplo cotidiano lo encontramos en las aplicaciones que existen cactualmente en el mercado, donde un formulario cualquiera hereda las caracteristicas de uan ventana del sistema operativo Windows (Maximizar, Minimizar, Cerrar

diagrama de secuencia


Diagrama de secuencia


El diagrama de secuencia es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada método de la clase. Mientras que el diagrama de uso permite el modelado de una vista business del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos. Típicamente uno examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Si tienes modelada la descripción de cada caso de uso como una secuencia de varios pasos, entonces puedes "caminar sobre" esos pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.

Ejemplo de Diagrama de Secuencia

Existen dos tipos de mensajes: síncronos y asíncronos. Los mensajes síncronos se corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Los mensajes asíncronos terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la cabeza abierta.

También se representa la respuesta a un mensaje con una flecha discontinua.


Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre 'business' de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre 'business' es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la clase instanciada por el objeto en la recepción final del mensaje.

diagrama de flujo


Diagrama de flujo


Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Un diagrama de flujo es una forma de representar gráficamente los detalles algorítmicos de un proceso multifactorial. Se utiliza principalmente en programación, economíay procesos industriales, pasando también a partir de estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva. Estos diagramas utilizan una serie de símbolos con significados especiales y son la representación gráfica de los pasos de un proceso. En computación, son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal.


Definición

Es la representación gráfica de flujo de un algoritmo o de secuencia rutinarias. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación.

Símbolos utilizados

Los símbolos que se utilizan para diseño se someten a una normalización, es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a las normas preestablecidas universalmente para dichos símbolos o datos.

Características que debe cumplir un diagrama de flujo

En los diagramas de flujo se presuponen los siguientes aspectos:

  • Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).
  • Existe un único inicio del proceso.
  • Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una comparación con dos caminos posibles).

Desarrollo del Diagrama de Flujo

Las siguientes son acciones previas a la realización del diagrama de flujo:

  • Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.
  • Definir qué se espera obtener del diagrama de flujo.
  • Identificar quién lo empleará y cómo.
  • Establecer el nivel de detalle requerido.
  • Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son :

  • Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
  • Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
  • Si el nivel de detalle definido incluye actividades menores, listarlas también.
  • Identificar y listar los puntos de decisión.
  • Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
  • Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

Recomendaciones

A su vez, es importante que al construir diagramas de flujo, se observen las siguientes recomendaciones:

  • Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas.
  • Evitar las burbujas de generación espontánea, que tienen salidas sin tener entradas, porque son sumamente sospechosas y generalmente incorrectas.
flujo o un proceso porque simplemente no se le ocurre algún nombre razonable.

Ventajas de los diagrama de flujo

  • Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
  • Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los re-procesos , los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
  • Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.
  • Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.

Tipos de diagramas de flujos

  • Formato vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
  • Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
  • Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.
  • Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.

diagrama de objetos


Diagrama de objetos

Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML.

Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles aunque su notación es similar a los diagramas de clase.

Una diferencia con los diagramas de clase es que el compartimiento de arriba va en la forma, Nombre de objeto: Nombre de clase.

Persona.

Diagramas de objetos

Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. En UML, los diagramas de clase se utilizan para visualizar los aspectos estáticos del sistema y los diagramas de interacción se utilizan para ver los aspectos dinámicos del sistemas, y constan de instancias de los elementos del diagrama de clases y mensajes enviados entre ellos. En un punto intermedio podemos situar los diagramas de objetos, que contiene un conjunto de instancias de los elementos encontrados en el diagrama de clases, representando sólo la parte estática de un interacción, consistiendo en los objetos que colaborar pero sin ninguno de los mensajes intercambiados entre ellos.

Los diagramas de objetos se emplean para modelar la vista de dise no estática o la vista de procesos estática de un sistema al igual que se hace con los diagramas de clases, pero desde la perspectiva de instancias reales o prototípicas. Esta vista sustenta principalmente los requisitos funcionales de un sistema. Los diagramas de objetos permiten modelar estructuras de datos estáticas,

En general los diagramas de objetos se utilizan para modelar estructuras de objetos, lo que implica tomar una instantánea de los objetos de un sistema en un cierto momento. Un diagrama de objetos representa una escena estática dentro de la historia representad a por un diagrama de interacción. Los diagramas de objetos se utilizan para visualizar, especificar, construir y documentar la existencia de ciertas instancias en el sistema, junto a las relaciones entre ellas.


un conjunto de objetos extraídos de la implementación de un robot. Como indica la figura, un objeto representa al propio robot, (r es una instancia de Robot), y r se encuentra actualmente en estado movimiento. Este objeto tiene un enlace con m, una instancia de Mundo, que representa una abstracción del modelo del mundo del robot. Este objeto tiene un enlace con un multiobjeto, un conjunto de instancias de Elemento, que representan entidades que el robot ha identificado, pero aún no ha asignado en su vista del mundo.

En este instante, m está enlazado a dos instancias de Area. Una de ellas (a2)se muestra con sus propios enlaces a tres objetos Pared y un objeto Puerta. Cada una de estas paredes está etiquetada con su anchura actual, y cada una se muestra enlazada a sus paredes vecinas. Como sugiere este diagrama de objetos, el robot ha reconocido el área que lo contiene, que tiene paredes en tres lados y una puerta en el cuarto.

Como vemos los diagramas de objetos son especialmente útiles para modelar estructuras de datos complejas. Evidentemente puede existir una multitud de posibles instancias de una clase particular, y para un conjunto de clases con t relaciones entre ellas, pueden existir muchas más configuraciones posibles de estos objetos. Por lo tanto, al utilizar diagramas de objetos sólo se pueden mostrar significativamente conjuntos interesantes de objetos concretos o prototípicos.