martes, 13 de septiembre de 2011

REPRESENTACION DEL PROBLEMA ( cardinalidad - representación)


Una base de datos representa la información contenida en algún dominio del mundo real. El diseño de base de datos consiste en extraer todos los datos relevantes de un problema, por ejemplo: saber que datos están implicados en el proceso e facturación de una empresa que venden vehículos agrícolas o , que datos son necesarios para llevar el control veterinario de los animales de un zoológico.

Para extraer esos datos se debe realizar un análisis en profundidad del dominio del problema y saber de esta forma que datos son esenciales para a base de datos y descartar los que no se han de utilidad. Una vez extraídos los datos esenciales comienza el proceso de modelización  esto es construir mediante una herramienta de diseño de BD, un esquema que exprese con total exactitud todos los datos que el problema requiere al almacenar.

Típicamente, los informáticos analizan un problema a través de diversas reuniones con los futuros usuarios del sistema. Generalmente el problema no solo se resuelve poniendo una BD a disposición de usuario, sino también un conjunto de aplicaciones software que automaticen el acceso a los datos y su gestión. De estas reuniones se extrae el documento mas importante del análisis de un Sistema informático, el documento de especificación de requisitos software. A partir de este documento se extrae toda la información necesaria para la modelización de los datos.

Modelo de datos:

La modelización es una representación del problema que nos sirve para asimilar toda la información y generar un esquema donde este identificados y generar un mapa donde este identificados todos los elementos de la BD.

Modelo Entidad/Relación. 

Fue propuesto por Petter P.Chen a mediados de los 70 para la representación de los datos y el establecimiento de las relaciones existentes ente ellos. Tiene una notación muy sencilla, precisamente esta sencilla notación permite representar en mundo real de forma que el usuario pueda validar si el modelo propuesto se ajusta perfectamente a la resolución del problema.
Los componentes que utiliza este modelo son:

-          Entidad: Es cualquier objeto o concepto sobre el que se recoge información (cosa, persona, concepto abstracto o sucesos) . Se representan mediante rectángulos y su nombre aparece en el interior (generalmente en singular). Un nombre de entidad solo puede aparecer una vez en el diagrama ejemplo. Hay 2 tipos de entidades: Fuertes(Es aquella que existe por meritos propios, un ejemplo típico es la existencia de 2 entidades para la representación de un pedido. Por un lado, la entidad pedido representa información genérica sobre el pedido como la fechaPedido, fechaEnvio, el estado…) y débiles(Es aquella cuya existencia depende de la existencia de otra entidad, se representan mediante un rectángulo doble). Por otro lado, la entidad de detalle de pedido representa los artículos y unidades vendidas. En este caso línea de pedido es una entidad débil, porque si borramos el pedido implica la eliminación de línea de pedido asociada a la primera.

-          Ocurrencia de una entidad: Es una unidad de conjunto que representa la entidad, por ejemplo: si tenemos la entidad coche esa entidad tendrá varias instancias como por ejemplo el vehiculo SEAT Ibiza con matricula 1122 FHD color negro.

-          Relación: Es una asociación entre 2 o mas entidades. Cada relación tiene un nombre que describe su función, tiene que ser un nombre descriptivo, se representan gráficamente mediante Rombos y su nombre en el interior. Generalmente este nombre corresponde a un verbo.

Las relaciones están clasificadas según su grado (es el numero de entidades que participan en la relación) Grado 2, cuando hay 3 entidades es de Grado 3.

Unarias Grado 1: Es una relación donde una entidad participa mas de una vez en la relación con distintos papeles.

Relaciones N-arias: Son cuando tienen grado mayor de 3. son aquellas cuando participan mas de 3 entidades. Aparecen en muy rara ocasión, ya que generalmente se puede descomponer en varias de grado 2 o 3.

PARTICIPACION

La participación de una ocurrencia de una entidad, indica, mediante una pareja de números, el mínimo y máximo numero de veces que puede aparecer en la relación asociada a otra ocurrencia de entidad. Las posibles participaciones son:

Ejercicio 1
En un supermercado hay productos organizados en categorías (frutas, ultramarinos, carnes, pescados, etc) Cada producto pertenece a una única categoría, y puede haber categorías que todavía no tengan ningún producto asignado, sin embargo, no puede haber productos sin categoría. Calcula las participaciones de cada entidad en la relación producto pertenece a categoría.

CARDINALIDAD

La cardinalidad de una relación se calcula a través de las participaciones de sus ocurrencias en ella. Se toma el número máximo de participaciones de cada una de las identidades en la relación.
De esta manera se clasifican las siguientes cardinalidades.

1:1 Esta cardinalidad específica que una entidad A puede estar vinculada mediante una relación a una y solo una ocurrencia de otra identidad B. A su vez, una ocurrencia de la entidad B solo puede estar vinculada a una ocurrencia de la entidad A.

Ejemplo: Un empleado solo puede ser jefe o solo puede dirigir un departamento, y un departamento solo puede tener un jefe.
1:n  Que una entidad A puede estar vinculada mediante una relación a varias ocurrencias de otra entidad B. sin embargo una ocurrencia de la entidad B, solo puede estar vinculada a una ocurrencia de la entidad A.
Ejemplo: Un representante gestiona las carreras de varios actores y un actor solo puede tener un representante

n:n  Esta relación especifica que una entidad A puede estar vinculada mediante una relación a varias ocurrencias de la entidad B, y a su vez una ocurrencia de la entidad B puede estar vinculada a varias ocurrencias de la entidad A
Ejemplo: Un empleado puede trabajar en varios proyectos a la vez y en un mismo proyecto puede trabajar varios empleados.

SISTEMAS DE ALMACENAMIENTO DE LA INFORMACION


1.1 Ficheros:

Un ordenador almacena muchos tipos d información, datos administrativos, contables, música, imágenes, películas, paginas web etc. Toda esta información esta almacenada en los dispositivos de almacenamiento del ordenador es decir, discos duros, pens, DVD  etc. Toda esta información se organiza mediante ficheros o archivos.

Por lo tanto los ficheros son estructuras de información que crean el SO para poder almacenar datos. Tienen un nombre de una extensión, que determina el formato o tipo de la información que contienen.

Tipos de ficheros y formatos: el formato o tipo d fichero determinan la forma d interpretar la información q contiene, ya que en definitiva lo único que se almacena en un fichero es un ristra de 0000001111111 (bits) de forma que es necesaria su interpretación para dar sentido a la información que se almacena. Todos estos datos se ordenan según el formato y  el sistema operativo o la utilidad que trate ese fichero debe conocer ese formato para poder representar la información.
Tradicionalmente los ficheros se han clasificado d muchas formas según su contenido (texto y binario)  según su organización (secuencial, directa, interesado) o según su utilidad (ficheros maestros, ficheros históricos, ficheros d movimientos).

La organización de un fichero dicta la forma en que se han d acceder a los datos, así los datos d un fichero con organización secuencial están dispuestos siguiendo una secuencia ordenada es decir unos detrás d otros. Se caracterizan por tener que recorrer todos los datos anteriores para llegar a uno concreto. Los ficheros d organización directa permiten acceder a un dato en concreto sin necesidad d acceder a todos los anteriores. Finalmente los d organización interesada acceden a los datos consultando un índice, es decir una estructura d datos que permiten acceder a la información rápidamente, simulando la forma en que el índice d un libro facilita el acceso a sus contenidos. Por otro lado, la utilidad d un fichero indica que use se va hacer d el, por ejemplo puede contener datos fundamentales para una organización, como los datos d los clientes, que se almacenan en un fichero principal llamado maestro. Si hay variaciones (altas modificaciones o bajas d clientes) en los ficheros maestros se almacenan en los llamados ficheros d movimientos q posteriormente se enfrentan con los maestros para incorporar las modificaciones. Finalmente cuando existen datos q ya no son necesarios para su procesa diario pasan a formar parte d los ficheros históricos. Hoy en día estas dos ultimas clasificaciones han quedado casi en des uso. Por ejemplo desde la aparición desde las bases de datos modernas, ya no se clasifican los ficheros según su utilidad u organización, actualmente podemos clasificar los ficheros desde dos puntos de vista:

1-según su contenido (texto o datos binarios ).
2-según su tipo (imágenes ejecutables videos etc.).

Código ASCII  tablas d caracteres UNICODE ficheros binarios y sus extensiones ficheros de texto y utilización, formatos enriquecidos rtf ps ,text, formatos comprimidos, ficheros de configuración d Windows.

Base de datos: es una colección de información perteneciente a un mismo contexto, q esta almacenada d forma organizada en ficheros.

Generalmente los ficheros que componen una base d datos son d tipo binario, puesto q la información q hay almacenada en ellos debe tener un formato adecuado a las aplicaciones q pueda acceder a ella. El software del gestor d base d datos Oracle guarda la información en múltiples tipos d ficheros llamados datafiles, tempfiles, logfiles, access guarda toda la información d una base d datos en ficheros con extensión mdb y actualmente accdb .Una base de datos esta organizada mediante tablas, q almacenan información relacionada con algún objeto o suceso. Estas tablas se relacionan formando vínculos o relaciones entre ellas, que ayudan a mantener la información de los diversos objetos d forma ordenada y coherente.
Cada una d esas tablas es una estructura q se parece a las hojas d calcula, pues esta dispuesta mediante filas y columnas. De este modo, cada fila almacena un registro a cada fila almacena un registro con tantos campos como columnas tenga la tabla. Por ejemplo se podría tener una tabla d empleados donde cada fila o registro es un empleado d la empresa y cada columna o campo representa un trozo d información sobre cada empleado, el nombre o el numero de teléfono.
Dato: es un trozo d información concreta sobre algún concepto o suceso. Por ejemplo 1996 número q representa un año d nacimiento d una persona. Los datos se caracterizan por pertenecer a un tipo. Tipo de dato: el tipo de dato indica la naturaleza del campo. Así se pueden tener datos numéricos son aquellos con los q se puede realizar cálculos aritméticos. Datos alfa numéricos contienen caracteres y dígitos numéricos. Campo es un nombre para toda una familia d datos. Cada campo pertenece a un tipo de dato. Por ejemplo el campo fecha nacimiento  representa las fechas d nacimiento d las personas q hay en la tabla. Este campo pertenece al tipo d dato fecha al campo también se le llama columna.

Registro: colección de datos pertenecientes aun mismo concepto o suceso. Por ejemplo los datos de una persona: Nif, año d nacimiento, nombre, dirección etc. A los registros también se le llaman duplas o filas.

Campo clave: es un campo especial que identifica d forma única a cada registro de la tabla. 

Consulta: Es una instrucción para hacer peticiones a una BBDD. puede ser una búsqueda simple de un registro especifico o una solicitud para seleccionar todos los registros que satisfagan un conjunto de criterios.

Informe: Listado ordenado de los campos y registros seleccionados en un formato facil de leer, ejemplo, un informe de las facturas impagadas del mes de Enero ordenado por nombre de cliente.


USOS DE LAS BBDD

Están en cualquier tipo de sistema informático, sus usos mas frecuentes son:

1- BBDD Administrativas son las utilizadas para registrar clientes, pedidos, facturas, productos, uso empresarias, toda la información estará integrada en una única BBDD.

2- BBDD contables, se utilizan para crear balances, estados de perdidas y ganancias , declaraciones de hacienda, ámbito empresarial.

3- BBDD científicas: recogen datos climáticos y medio ambientales, químicos , geológicos, etc.
WDCC, (World Data Climate Center) almacena 6144 Terabites .

4- BBDD para motores de búsquedas, los buscadores tiene BBDD gigantescas donde almacenas información sobre todas las web.

CONFIGURACIONES

Almacenas datos de configuración de un sistema informático como por ejemplo el registro de Windows, bibliotecas, ejemplo, Amazon, los programas antivirus, videojuegos, usos militares, etc.


EVOLUCIÓN Y TIPOS DE BBDD.

La clasificación de las BBDD en tipos , esta ligada a su evolución histórica. Según ha ido avanzando la tecnología, ( hardware ) las BBDD han mejorado cambiando la forma de representar y extraer la información.

En la década de los 50, se inventan las cintas magnéticas, que solo podían ser leídas de forma secuencial. Estas cintas, almacenaban ficheros con registros que se procesaban secuencial mente. Estos sistemas se conocen como aplicaciones basadas en sistemas de ficheros, y constituyen la generación cero de las BBDD, pues, ni siquiera entonces existía el concepto de BBDD.

En la década de los 60, se generaliza el uso de discos magnéticos cuya característica ppal es que se podía acceder de forma directa a cualquier parte de los ficheros sin tener que acceder a todos los datos anteriores.Con esta tecnología aparecen las primeras BBDD de tipos jerárquicas y en red.

UNIDADES DE MEDIDAS

Bit
(1,0)
Binary Digit
Byte
8 bits

Kilobyte
KB
1024bytes
Megabyte
MB
1024KB
Gigabyte
GB
1024MB
Terabyte
TB
1024GB
Petabyte
PB
1024TB
Exabyte
EB
1024PB
Zetabyte
ZB
1024EB
Yottabyte
YB
1024ZB

Codd científico Ingles de IBM, publica en 1970 un articulo donde define el modelo relacional ( tipo de BBDD) nacen de esta forma las BBDD relacionales o segunda generación de BBDD.


Larry Ellison, fundador de ORACLE, se inspiro en este articulo para desarrollar el famoso motor de BBDD ORACLE, que comenzó como un proyecto para la CIA.

Hoy en día el modelo relación de Codd, sigue siendo el más utilizado.

En 1980 IBM lanza su motor de BBDD DB2. años después IBM crea SQL ( Structure Query Lenguaje ) es un potente lenguaje de consultas.

A finales de 1990, IBM y ORACLE incorporan a sus BBDD, la capacidad de manipular objetos creando asi, las BBDD orientadas a a objetos.

BBDD Distribuidas, comienzan a utilizarse con la aparición de internet.


SISTEMA GESTOR DE BBDD SGBD

Es un conjunto de herramientas que facilitan la consulta, uso y actualización de una BBDD.
Un ejemplo gestor de Software de BBDD es ORACLE, que incorpora un conjunto de herramientas Software que son capaces de estructurar en múltiples discos duros los ficheros de una BBDD, permitiendo el acceso a sus datos tanto a partir de herramientas gráficas, como a partir de potentes lenguajes de programación.

FUNCIONES DE UN SGBD

Casi todos los que existen actualmente en el mercado tienen:

1- Permiten a los usuarios almacenar datos, acceder a ellos y actualizarlos de una forma sencilla.

2- Garantizan la integridad de los datos, es decir, no permiten operaciones que dejen los datos incompletos o incorrectos.

3- Integran junto con el S.O, un sistema de seguridad que garantiza el acceso a la información solo a aquellos usuarios que dispongan de autorización.

4- Permiten la concurrencia (multiacceso al mismo dato).

5- Permite el uso de transacciones. (conjunto de operaciones que se realizan de forma simultanea como si fueran una sola orden).