sábado, 24 de julio de 2010

Objetos de una Base de Datos:

Objetos de la Base de Datos



Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarán ordenados en columnas verticales. Aquí definiremos los campos y sus características. Más adelante veremos qué es un campo.
Consultas: aquí definiremos las preguntas que formularemos a la base de datos con el fin de extraer y presentar la información resultante de diferentes formas (pantalla, impresora...)
Formularios: elemento en forma de ficha que permite la gestión de los datos de una forma más cómoda y visiblemente más atractiva.
Informes: permite preparar los registros de la base de datos de forma personalizada para imprimirlos.
Macros: conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas.
Módulos: programa o conjunto de instrucciones en lenguaje Visual Basic para Aplicaciones (VBA).

Una base de datos comienza con el diseño de una tabla. Para ello, es necesario plantearse primero qué datos necesitamos. En nuestro ejemplo, necesitaremos:




Matrícula
Nombre, apellidos, dirección, etc, del alumno
Actividad que realiza
Cuota mensual
Observaciones



Evidentemente que esta base de datos es demasiado sencilla, pero nos servirá para nuestro objetivo. Vamos a ver primero unos conceptos básicos en el diseño de una BD (en adelante abreviaremos de esta forma la palabra Base de Datos).



Campo: unidad básica de una base de datos. Un campo puede ser, por ejemplo, el Nombre de una persona
Registro: conjunto de campos. Un registro vendría a ser algo así como una ficha.
Base de datos: conjunto de registros total.
Observa la siguiente ilustración:



Este sería el primer registro de una base de datos compuesto por 4 campos: (nombre, apellido1, teléfono y provincia)

Para crear una tabla sigue estos pasos:
Pulsa Click en el botón Nuevo situado a la derecha de la ventana
Aparece una ventana con varias opciones:
Vista Hoja de Datos: podemos introducir directamente los datos
Vista diseño: para definir los campos y sus características
Asistente para tablas: un programa nos guía automáticamente en la creación de los campos de la tabla
Importar y Vincular tablas: para cargar una tabla externa
Escoge la opción Vista diseño
Ahora aparece la ventana principal del diseño de los campos de la BD. Desde aquí podemos definir qué tipo de campos aparecerán en la BD. Observamos tres columnas: Nombre de campo, Tipo de datos y Descripción. Para comenzar:
Escribe como nombre de campo: Nombre y pasa a la columna siguiente pulsando Intro, con la flecha de desplazamiento o con un simple Clic del ratón.
En la segunda columna aparece una lista desplegable. Puedes desplegarla y observar que aparecen varias opciones correspondientes a los diferentes tipos de campo que podemos crear. Por ejemplo, nuestro primer campo (Nombre) servirá para introducir el nombre de una persona, es decir, introduciremos simples caracteres como letras o números. Por tanto, será del tipo Texto. Si por ejemplo definimos un campo del tipo Numérico, nos aseguramos que posteriormente sólo podremos introducir números en dicho campo. Las características de cada campo son las siguientes:

Texto: para introducir cadenas de caracteres hasta un máximo de 255
Memo: para introducir un texto extenso. Hasta 65.535 caracteres
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.
Introduce los siguientes nombres de campos (observa el tipo de dato de cada uno)
Cuando introducimos un campo, en la parte inferior de la ventana aparecen unos campos para definir otro tipo de características. De momento no te preocupes por ello. Más adelante veremos cómo modificarlo. Bien, ahora vamos a guardar la tabla.

Modelo Entidad-Relación

Modelo entidad-relación
Cuando se utiliza una base de datos para gestionar información, se está plasmando una parte del mundo real en una serie de tablas, registros y campos ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear físicamente estas tablas en el ordenador se debe realizar un modelo de datos.
Se suele cometer el error de ir creando nuevas tablas a medida que se van necesitando, haciendo así el modelo de datos y la construcción física de las tablas simultáneamente. El resultado de esto acaba siendo un sistema de información parcheado, con datos dispersos que terminan por no cumplir adecuadamente los requisitos necesarios.

Entidades y Relaciones
El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R) En el modelo E/R se parte de una situación real a partir de la cual se definen entidades y relaciones entre dichas entidades:
· Entidad.- Objeto del mundo real sobre el que queremos almacenar información (Ej: una persona). Las entidades están compuestas de atributos que son los datos que definen el objeto (para la entidad persona serían DNI, nombre, apellidos, dirección,...). De entre los atributos habrá uno o un conjunto de ellos que no se repite; a este atributo o conjunto de atributos se le llama clave de la entidad, (para la entidad persona una clave seria DNI). En toda entidad siempre hay al menos una clave que en el peor de los casos estará formada por todos los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir una, lo haremos atendiendo a estas normas:
· Que sea única.
· Que se tenga pleno conocimiento de ella.- ¿Por qué en las empresas se asigna a cada cliente un número de cliente?.
· Que sea mínima, ya que será muy utilizada por el gestor de base de datos.
· Relación.- Asociación entre entidades, sin existencia propia en el mundo real que estamos modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las relaciones pueden ser de tres tipos:
· Relaciones 1-1.- Las entidades que intervienen en la relación se asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre ellos la relación MATRIMONIO).
· Relaciones 1-n.- Una ocurrencia de una entidad está asociada con muchas (n) de otra (Ej: la entidad EMPERSA, la entidad TRABAJADOR y entre ellos la relación TRABAJAR-EN).
· Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación MATRÍCULA).

viernes, 23 de julio de 2010

Esquema de una Bases de Datos

ESQUEMA DE BASE DE DATOS





La base de datos de IDEA CV consta de una parte común a todas instancias y una parte opcional que se personalizará para cada ayuntamiento. En este documento únicamente se trata la parte común.






La base de datos común simplemente sirve para gestionar los recursos WMS que se pueden utilizar, con su correspondiente simbología. Existe un único usuario asociado a un servicio WMS que se tendrá que utilizar para configurar el servicio.






Descripción de esquemas de base de datos




[Este tema pertenece a la documentación de la versión preliminar y está sujeto a cambios en versiones futuras. Los temas en blanco se incluyen como marcadores de posición. NOTA: Con el fin de proporcionarle contenido adicional en distintos idiomas, Microsoft ofrece documentación localizada mediante métodos de traducción alternativos. Para esta versión preliminar, parte del contenido de esta documentación se ha traducido mediante el uso de estos métodos. Microsoft es consciente de que los documentos traducidos de esta forma no son siempre perfectos, por lo que es posible que este artículo contenga errores de vocabulario, sintaxis o gramática. La versión final de este contenido se traducirá por los métodos tradicionales y la calidad será igual que la de las versiones anteriores.]




El Asistente para generar esquemas genera un esquema relacional sin normalizar para la base de datos del área de asunto basado en las dimensiones y grupos de medida de Analysis Services. El asistente genera una tabla relacional por dimensión para almacenar los datos de dimensión que se denomina tabla de dimensión y una tabla relacional por grupo de medida para almacenar los datos de hechos que se denomina tabla de hechos. Al generar las tablas relacionales, el asistente omite las dimensiones vinculadas, los grupos de medida vinculados y las dimensiones de tiempo de servidor.




Validación

Antes de comenzar a generar el esquema relacional subyacente, el Asistente para generar esquemas valida los cubos y dimensiones de Analysis Services. Si el asistente detecta errores, se interrumpe e informa de los errores en la ventana Lista de tareas de Business Intelligence Development Studio. Entre los ejemplos de errores que evitan la generación se incluyen los siguientes:
Dimensiones que tienen más de un atributo clave
Atributos primarios que tienen tipos de datos distintos de los atributos clave
Grupos de medida que no tienen medidas
Dimensiones o medidas degeneradas configuradas incorrectamente
Claves suplentes configuradas incorrectamente, como varios atributos que utilizan el tipo de atributo ScdOriginalID o un atributo que utiliza ScdOriginalID sin estar enlazado a una columna que utiliza el tipo de datos entero.




Tablas de dimensión

En cada dimensión, el Asistente para generar esquemas genera una tabla de dimensión que debe incluirse en la base de datos del área de asunto. La estructura de una tabla de dimensión depende de las selecciones realizadas al diseñar la dimensión en la que se basa.




Columnas
El asistente genera una columna para los enlaces asociados a cada atributo de la dimensión en la que se basa la tabla de dimensiones, como los enlaces para las propiedades KeyColumns, NameColumn, ValueColumn, CustomRollupColumn, CustomRollupPropertiesColumn y UnaryOperatorColumn de cada atributo.




Relaciones




El asistente genera una relación entre la columna de cada atributo primario y la clave principal de la tabla de dimensión.
El asistente también genera una relación con la clave principal en cada tabla de dimensión adicional definida como una dimensión a la que se hace referencia en el cubo, si procede.




Restricciones




El asistente genera de manera predeterminada una restricción de clave principal por tabla de dimensión basada en el atributo clave de la dimensión. Si se genera una restricción de clave principal, se genera de forma predeterminada una columna de nombres independiente. Se creará una clave principal lógica en la vista de origen de datos aunque no cree la clave principal en la base de datos.

Tipos de Bases de Datos.

Tipos de bases de datos








Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se este manejando, o la utilidad de la misma:
Según la variabilidad de los datos almacenados
Bases de datos estáticas
Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar
proyecciones y tomar decisiones.



Bases de datos dinámicas



Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.
Según el contenido



Bases de datos bibliográficas



Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.


Modelos de bases de datos



Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a
algoritmos, y conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
Bases de datos jerárquicas
Artículo principal:


Base de datos jerarquica



Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
Base de datos de red
Artículo principal:





Base de datos de la red




Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.



Bases de datos transaccionales



Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales.



Bases de datos relacionales



Artículo principal:
Modelo relacional
Artículo principal:
Base de datos relacional
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en
1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.











Sistema Manejador de una Base de Datos

SISTEMA MANEJADOR DE UNA BASE DE DATOS




Definición
El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base. Se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad".



Funciones:


Las funciones esenciales de un SGDB son la descripción, manipulación y utilización de los datos.
Descripción: Incluye la descripción de: Los elementos de datos, su estructura, sus interrelaciones, sus validaciones. Tanto a nivel externo como lógico global e interno esta descripción es realizada mediante un LDD o Lenguaje de Descripción de Datos.
Manipulación: Permite: Buscar, Añadir, Suprimir y Modificar los datos contenidos en la Base de Datos.
La manipulación misma supone: Definir un criterio de selección, Definir la estructura lógica a recuperar, Acceder a la estructura física. Esta manipulación es realizada mediante un LMD o Lenguaje de Manipulación de Datos.
Utilización: La utilización permite acceder a la base de datos, no a nivel de datos sino a la base como tal, para lo cual: Reúne las interfaces de los usuarios y suministra procedimientos para el administrador.


Tareas:


El manejador es responsable de las siguientes tareas:
1 Interacción con el manejador de archivos: Los datos en la base se guardan en disco mediante el sistema de archivos, proporcionado comúnmente por el sistema operativo. El manejador de la base, traduce las diferentes proposiciones del manejo de datos en comandos del sistema de archivos de bajo nivel. De esta forma el manejador se puede encargar del almacenamiento, recuperación y actualización de los datos en la base.
2 Implantación de la integridad: Los valores de los datos que se almacenan en la base, deben satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el administrador, pero es el manejador el encargado de verificar que las actualizaciones que se hagan a la base cumplan con dichas normas.
3 Puesta en práctica de la seguridad: El manejador de la base es quien verifica que los accesos a la base sean realizados por las personas autorizadas.
4 Respaldo y recuperación: Entre las labores que debe ejecutar el manejador está la de verificar de forma constante la integridad de la base, y lograr recuperación de datos y/o mejoras en caso que se requieran.
5 Control de concurrencia: Se podría entender, esta, como la principal tarea del manejador de la base, o por lo menos la más difícil. Cuando varios usuarios están accesando la base al mismo tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos en la base no se dañen.
En términos ideales, un DBMS debe contar con estas funciones, sin embargo, no todos las poseen, así existen algunos manejadores que no cumplen la función de respaldo o de seguridad, dejándola al usuario o administrador; sin embargo un DBMS que sea completo y que deba manejar una base de datos multiusuario grande, es conveniente que cuente con todas estas operaciones.
Lenguajes
Para cumplir sus objetivos el DBMS cuenta con varios lenguajes:
Lenguaje de descripción o definición de datos: Un esquema de base de datos se especifica por medio de una serie de definiciones que se expresan en un lenguaje de definición de datos (DDL-Data Definition Language). El resultado de la compilación es un conjunto de tablas que se almacenan en el diccionario de datos. Existe un esquema DDL para las definiciones del nivel conceptual y un subesquema DDL para las definiciones del nivel externo.
La estructura de almacenamiento y los métodos de acceso empleados por el sistema se especifican por medio de un conjunto de definiciones de un tipo especial de DDL, llamado lenguaje de almacenamiento y definición de datos; el resultado de la compilación es una serie de instrucciones que especifican los detalles de implantación de los esquemas de base de datos que normalmente no pueden ver los usuarios. Este lenguaje se define como un lenguaje de control dispositivo/medio.
Existe además un DBCS que es el sistema de control de la base de datos y permite el acceso a la definición de datos.
Lenguaje de manejo de datos: El DML (Data Managment Lenguage) es el que permite a los usuarios manejar o tener acceso a la base de datos. Permite recuperar, insertar o eliminar la información contenida. Existen dos tipos:
Sin procedimiento: donde se indican que datos se necesitan pero no como.
Con procedimiento: donde se indican que datos se necesitan y la forma como se necesitan.
Además debe tener la capacidad de entender los mensajes con que contesta el DBMS
La parte del DML que permite recuperar la información se llama lenguaje de consulta (que no es el mismo manejador de datos), este lenguaje no es algorítmico, con este las consultas se pueden hacer desde una terminal en forma interactiva o inmerso dentro de un lenguaje de alto nivel.
Los lenguajes de 4a. Generación permiten la generación de reportes, visualización de gráficos o procesos de la base de datos de forma fácil y rápida.
Lenguajes de Programación: Estos son programas que pueden ser empleados por los programadores, algunos lenguajes de tercera generación tiene la capacidad de entrar a interactuar con bases de datos.


CLASIFICACION DE LOS DBMS
La forma o vista externa con que se presentan los datos al usuario en la mayoría de los sistemas actuales es idéntica o muy semejante a la vista conceptual.
La estructura lógica, en el ámbito conceptual o externo, es la base para la clasificación de los DBMS en las cuatro categorías siguientes: jerárquica, red, relacional y orientada a objetos.
Cualquier categoría debe permitir un acceso aleatorio a los datos requeridos, utilizando para tal fin una estructura de datos: redes, árboles, tablas o listas enlazadas.
Cada DBMS está diseñado para manejar un tipo de estructura lógica. No se pueden procesar programas diseñados para otro DBMS.

Definición de Base de Datos


Definición de Base de datos



Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico. Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. A veces se utiliza DB, de database en inglés, para referirse a las bases de datos.


CONCEPTO


Una Base de datos es un programa que permite gestionar y organizar una serie de datos. Por ejemplo, podemos utilizar Access para llevar la gestión de fichas de los artículos de nuestro almacén, introduciendo, modificando, actualizando, sacando informes por impresora, etc. Podemos por ejemplo realizar consultas tales como ¿qué artículo se ha vendido más este mes? ¿qué clientes compran un determinado artículo? ¿cuál es la ganancia total del mes? etc. Nos vamos a centrar sobre todo en el capítulo de crear, modificar etc una base de datos sin utilizar el asistente. El asistente es un programa que nos va guiando paso a paso a la hora de crear una tabla, un formulario, una consulta, etc. ¿Y porqué de esta forma? Porque así vemos de dónde sale cada cosa. Así aprendemos a modificar un campo, un formulario, etc a nuestro gusto.