lunes, 26 de mayo de 2014

Sistema de manejador de BD

Los sistemas manejadores de base de datos (SGBD), en inglés: DataBase Management System (DBMS), son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de los sistemas manejadores de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.
Es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.


Funciones Principales:

  • Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que  los datos puedan ser acusados rápidamente.
  • Manejar los datos de acuerdo a las peticiones de los usuarios.
  • Registrar el uso de las bases de datos.
  • Interacción con el manejado de archivos. Esto a través de las sentencias en DML al comando del sistema de archivos. Así el Manejado de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperación. 




Características:

  • Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.
  • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
  • Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.
  • Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
  • Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados, que intenten leer información privilegiada. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
  • Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.
  • Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.
  • Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.


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 sub-esquema 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 inmersa 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.

Gestor de BD

Los Sistemas de gestión de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa.
El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos.



Características

Es un conjunto de programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad.
Las características del sistema gestor de base de datos son:

·         Abstracción de la información: Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.

·         Independencia: La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

·         Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante.

·         Consistencia: Vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.

·         Seguridad: Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.

·         Integridad: Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.

·         Respaldo y recuperación: Deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos.


Control de la concurrencia: Lo más habitual es que sean muchas las personas que acceden a una base de datos; ésta debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.

Administrador de BD


Administrador de BD
El administrador de bases de datos (DBA) es el profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.





Tareas de un administrador de bases de datos

  • implementar, dar soporte y gestionar bases de datos corporativas
  • crear y configurar bases de datos relacionales
  • ser responsables de la integridad de los datos y la disponibilidad
  • diseñar, desplegar y monitorizar servidores de bases de datos
  • diseñar la distribución de los datos y las soluciones de almacenamiento
  • garantizar la seguridad de las bases de datos, incluyendo backups y recuperación de desastres
  • planificar e implementar el aprovisionamiento de los datos y aplicaciones
  • diseñar planes de contingencia
  • diseñar y crear las bases de datos corporativas de soluciones avanzadas
  • analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios
  • producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas

Habilidades necesarias en un administrador de base de datos

Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas
Un administrador de base de datos utiliza habilidades técnicas para asegurarse de que los sistemas de las bases de datos en que el software y los empleados se apoyan, estén funcionando adecuadamente en diseño y en mantenimiento. Estos administradores trabajan en todos los niveles de la organización para estar seguros que los empleados pueden tener acceso y produzcan datos útiles para la gerencia.


Deberes

Los administradores de base de datos diseñan, prueban e implementan las bases. Consideran las necesidades y usos de la información en la base de datos al diseñarlas y por lo general lo hacen con un grupo de empleados de varios departamentos para planear una nueva base de datos. Las prueban y corrigen cualquier error encontrado después de que han sido diseñadas. Una vez que están libres de error, el administrador entrena a otros en la organización para tener acceso y uso de la información localizada en la base de datos.




Normalizacion BD

El proceso de nacionalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Siempre que un analista de sistemas de base de datos arma una base de datos, queda a su cargo descomponer dicha base en grupos y segmentos de registros. Este proceso es la descomposición; el mismo es necesario independientemente de la arquitectura de la base de datos - relacional, red o jerárquica-. Sin embargo, para la base de datos relacional, la acción correspondiente puede dividirse y expresarse en términos formales y se denomina normalización a la misma.
La normalización convierte una relación en varias sub-relaciones, cada una de las cuales obedece a reglas. Estas reglas se describen en términos de dependencia. Una vez que hayamos examinado las distintas formas de dependencia, encontraremos procedimientos a aplicar a las relaciones de modo tal que las mismas puedan descomponerse de acuerdo a la dependencia que prevalece. 


Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Disminuir problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.


En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
  • Cada tabla debe tener su nombre único.
  • No puede haber dos filas iguales. No se permiten los duplicados.
  • Todos los datos en una columna deben ser del mismo tipo.

Formas normales
Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N.
En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.

Primera Forma Normal (1FN)
Una tabla está en Primera Forma Normal si:
·         Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
·         La tabla contiene una clave primaria única.
·         La clave primaria no contiene atributos nulos.
·         No debe existir variación en el número de columnas.
·         Los Campos no clave deben identificarse por la clave (Dependencia Funcional)
·         Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados
·         Una tabla no puede tener múltiples valores en cada columna.
·         Los datos son atómicos (a cada valor de X le pertenece un valor de Y y viceversa).
Esta forma normal elimina los valores repetidos dentro de una BD


Segunda Forma Normal (2FN)
Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).


Tercera Forma Normal (3FN)
La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.


Forma normal de Boyce-Codd (FNBC)

La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la presencia de un intervalo seguido de una formalización perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.


Cuarta Forma Normal (4FN)

Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.


Quinta Forma Normal (5FN)

Una tabla se encuentra en 5FN si:
·         La tabla está en 4FN

·         No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por claves candidatas.

Modelo e-r "m-e-r" modelo entidad relacion

Modelo Entidad- Relación
Los diagramas o modelos entidad-relación, son una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información, sus ínter-relaciones y propiedades.  Recordemos  que un rectángulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relación que existe entre las entidades, destacando con  líneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado.



Elementos del Modelo Entidad- Relación:
  • Entidad:   es un objeto que existe y se distingue de otros objetos de acuerdo a sus características  llamadas atributos. Las entidades pueden ser concretas (tangibles) como una persona o abstractas (intangibles) como un  país.
  • Atributos:   en ocasiones se les llama propiedades y representan las  características de una entidad. Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como dominio del atributo. Así cada entidad se describe por medio de un conjunto de parejas formadas por el atributo y el valor del dato.
  • Relaciones: Una relación es la asociación que existe entre dos a más entidades.    La cantidad de entidades en una relación determina el grado de la relación, por ejemplo la relación CLIENTE- PEDIDO es de grado 2, ya que intervienen la entidad CLIENTE  y la entidad PEDIDO.

El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:

Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.
 Ejemplo: El noviazgo,  El acta de nacimiento, ya que solo existe un solo documento de este tipo para cada una de las diferentes personas


Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. 
Ejemplo: Cliente – Cuenta en un banco, Padre-Hijos, Camión-Pasajeros, zoológico- animales, árbol – hojas.


Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.
Ejemplo: Arquitecto – proyectos, fiesta – personas, estudiante – materias



Elementos de una BD

Información de una base de datos
La información de cada base de datos varía, dependiendo de su orientación. Algunas bases de datos contienen bases de datos menores, que tratan temas específicos.
Según la naturaleza de la información contenida en las bases de datos, se distinguen dos grandes grupos:

Bases de datos referenciales: La información que contiene es muy estructurada principalmente a través de tablas. Con éstas se pueden establecer relaciones que pueden dar lugar a nuevas tablas o bases de datos. Ejemplo de este tipo de base de datos es el programa Access, Oracle, etc.
Bases de datos documentales: Los registros que componen la base de datos se relaciona con los documentos almacenados. Su organización se estructura de la siguiente manera: un registro se relacionan con un número de identificación del documento original, y se puede acceder a éste mediante los distintos campos.


Campos de la base de datos

Podemos agregar muchos tipos de campos que formarán parte de nuestra base de datos. Cada campo admite distintos tipos de datos, con diferentes interfaces. Después de crear los campos deseados podemos añadir información en la base de datos.
Un campo es el nombre de la unidad de información. Cada entrada en una base de datos puede tener múltiples campos de diversos tipos. Por ejemplo, un campo de texto llamado 'color favorito', que permite escribirlo, o un menú llamado 'población' que permita escoger de un listado de poblaciones posibles. La combinación de campos diversos nos permitirá recabar toda la información que consideremos relevante sobre los ítems que constituyen la base de datos.

Tabla en las bases de datos
Se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su
estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras:
·         Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
·         Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.


Hay tres tipos de tablas: 
Tablas con particiones: Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por más de un grupo de archivos de una base de datos. Las particiones facilitan la administración de las tablas y los índices grandes porque permiten obtener acceso y administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo que mantienen la integridad del conjunto.
Tablas temporales: Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales son visibles sólo para sus creadores durante la misma conexión a una instancia de SQL Server como cuando se crearon o cuando se hizo referencia a ellas por primera vez. Las tablas temporales locales se eliminan cuando el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales están visibles para cualquier usuario y conexión una vez creadas, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server.
Tablas del sistema: SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar ni actualizar directamente las tablas del sistema si no es a través de una conexión de administrador dedicada (DAC) que sólo debería utilizarse bajo la supervisión de los servicios de atención al cliente de Microsoft. Para obtener más información, vea Usar una conexión de administrador dedicada. Las tablas de sistema se cambian normalmente en cada versión nueva de SQL Server

Entidad de la base de datos
En una B.D se almacena información de una serie de objetos o elementos. Estos objetos reciben el nombre de entidad. En el ejemplo de la Librería, libros, clientes y proveedores son entidades
A continuación veremos un ejemplo de entidades señalada de color rojo.

Atributo de la base de datos
 De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Pueden ser atributos de una entidad cualquier característica o propiedad de ésta. Son atributos de la entidad libros: Autor, Título, Área de Edición, ISBN
En la imagen anterior veremos un ejemplo de atributos señalada de color azul.

Registro de una base de datos
Un registro es sistema informático que almacena datos para su posterior consulta.
La manera más fácil de explicártelo es con una base de datos propia. ¿Tienes una lista de contactos? Seguramente si, en esa lista de contactos (es una base de datos) Cada contacto tiene varios campos que rellenar con información (Nombre, Apellido, Tel, Celular, Trabajo etc). Un registro es un compilado de esos campos rellenos. Por ejemplo: Alfredo Cuevas sería un registro que contiene los campos (Empresa, Teléfono, Móvil etc). Es así de simple.

¿Que es una base de datos?

Es el conjunto de informaciones almacenadas en un soporte legible por ordenador y organizadas internamente por registros (formado por todos los campos referidos a una entidad u objeto almacenado) y campos (cada uno de los elementos que componen un registro). Permite recuperar cualquier clase de información: referencias, documentos textuales, imágenes, datos estadísticos, etc.
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 o estructurada.
Desde el punto de vista 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.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
En conclusión las bases de datos son recursos que recopilan todo tipo de información, para atender las necesidades de un amplio grupo de usuarios, se caracterizan por una alta estructuración y estandarizan de la información.