29/11/11

¿Qué es una base de datos?



Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes usuarios deben poder utilizar estos datos. Por lo tanto, el concepto de base de datos generalmente está relacionado con el de red  ya que se debe poder compartir esta información. De allí el término base. "Sistema de información" es el término general utilizado para la estructura global que incluye todos los mecanismos para compartir datos que se han instalado

.
Una base de datos correctamente diseñada permite obtener acceso a información exacta y actualizada. Puesto que un diseño correcto es esencial para lograr los objetivos fijados para la base de datos, parece lógico emplear el tiempo que sea necesario en aprender los principios de un buen diseño ya que, en ese caso, es mucho más probable que la base de datos termine adaptándose a sus necesidades y pueda modificarse fácilmente.

En este artículo se proporcionan instrucciones para preparar una base de datos. Aprenderá a decidir qué información necesita, a dividir la información en las tablas y columnas adecuadas y a relacionar las tablas entre sí. Debe leer este artículo antes de crear la primera base de datos
El proceso de diseño consta de los pasos siguientes:

·                                Determinar la finalidad de la base de datos    
Esto le ayudará a estar preparado para los demás pasos.
·                                Buscar y organizar la información necesaria    
Reúna todos los tipos de información que desee registrar en la base de datos, como los nombres de productos o los números de pedidos.
·                                Dividir la información en tablas    
Divida los elementos de información en entidades o temas principales, como Productos o Pedidos. Cada tema pasará a ser una tabla.
·                                Convertir los elementos de información en columnas    
Decida qué información desea almacenar en cada tabla. Cada elemento se convertirá en un campo y se mostrará como una columna en la tabla. Por ejemplo, una tabla Empleados podría incluir campos como Apellido y Fecha de contratación.
·                                Especificar claves principales    
Elija la clave principal de cada tabla. La clave principal es una columna que se utiliza para identificar inequívocamente cada fila, como Id. de producto o Id. de pedido.
·                                Definir relaciones entre las tablas    
Examine cada tabla y decida cómo se relacionan los datos de una tabla con las demás tablas. Agregue campos a las tablas o cree nuevas tablas para clarificar las relaciones según sea necesario.
·                                Ajustar el diseño    
Analice el diseño para detectar errores. Cree las tablas y agregue algunos registros con datos de ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los ajustes necesarios en el diseño.
·                                Aplicar las reglas de normalización    
Aplique reglas de normalización de los datos para comprobar si las tablas están estructuradas correctamente. Realice los ajustes necesarios en las tablas

Características



Entre las principales características de los sistemas de base de datos podemos mencionar:

· Independencia lógica y física de los datos.

· Redundancia mínima.

· Acceso concurrente por parte de múltiples usuarios.

· Integridad de los datos.

· Consultas complejas optimizadas.

· Seguridad de acceso y auditoría.

· Respaldo y recuperación.

· Acceso a través de lenguajes de programación estándar

¿Por qué utilizar una base de datos?

Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte más útil a medida que la cantidad de datos almacenados crece.
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en un equipo, o puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede acceder a ella a través de una red.

La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.

Administración de bases de datos

Rápidamente surgió la necesidad de contar con un sistema de administración para controlar tanto los datos como los usuarios. La administración de bases de datos se realiza con un sistema llamado DBMS (Database management system [Sistema de administración de bases de datos]). El DBMS es un conjunto de servicios (aplicaciones de software) para administrar bases de datos, que permite:
  • un fácil acceso a los datos
  • el acceso a la información por parte de múltiples usuarios
la manipulación de los datos encontrados en la base de datos (insertar, eliminar, editar)

El DBMS puede dividirse en tres subsistemas:
  • El sistema de administración de archivos:
    para almacenar información en un medio físico
  • El DBMS interno:
    para ubicar la información en orden
  • El DBMS externo:
    representa la interfaz del usuario


Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) 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.

Tipos de Base de Datos

Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:

· MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.

· PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.

· Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.

· Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Tipos de Campos

Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar:

· Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”.

· Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.

· Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.

· Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.

· Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).

· Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.

Modelo entidad-relación

Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram Entity relationship”) 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 inter-relaciones y propiedades.



Entidad.- Objeto del mundo real sobre el que queremos almacenar. 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).


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 de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.

Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.

Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.

Los tipos de datos de SQL

Los tipos de datos SQL se clasifican en 13 tipos de datos primarios

Tipos de columnas

Es la indicación del tipo de dato que la columna podrá contener. Los principales tipos previstos por el estándar SQL son:


CHARACTER(n): Una cadena de longitud fija con exactamente n caracteres. CHARACTER se puede abreviar con CHAR

CHARACTER VARYING(n): Una cadena de longitud variable con un máximo de n caracteres. CHARACTER VARYING se puede abreviar con VARCHAR o CHAR VARYING.

INTEGER: Un número estero con signo. Se puede abreviar con INT. La precisión, es decir el tamaño del número entero que se puede memorizar en una columna de este tipo, depende de la implementación de la DBMS en cuestión.

SMALLINT: Un número entero con signo y una precisión que no sea superior a INTEGER.

FLOAT(p): Un número con coma móvil y una precisión p. El valor máximo de p depende de la implementación de la DBMS. Se puede usar FLOAT sin indicar la precisión, empleando, por tanto, la precisión por defecto, también ésta dependiente de la implementación. REAL y DOUBLE PRECISION son sinónimo para un FLOAT con precisión concreta. También en este caso, las precisiones dependen de la implementación, siempre que la precisión del primero no sea superior a la del segundo.
DECIMAL(p,q): Un número con coma fija de por lo menos p cifras y signo, con q cifras después de la coma. DEC es la abreviatura de DECIMAL. DECIMAL(p) es una abreviatura de DECIMAL(p,0). El valor máximo de p depende de la implementación.

INTERVAL: Un periodo de tiempo (años, meses, días, horas, minutos, segundos y fracciones de segundo).

DATE, TIME y TIMESTAMP: Un instante temporal preciso. DATE permite indicar el año, el mes y el día. Con TIME se pueden especificar la hora, los minutos y los segundos. TIMESTAMP es la combinación de los dos anteriores. Los segundos son un número con coma, lo que permite especificar también fracciones de segundo

Símbolo Significado

< > Encierran parámetros de una orden que el usuario debe sustituir al escribir dicha orden por los valores que queramos dar a los parámetros.

[ ] Indica que su contenido es opcional.

{ } Indica que su contenido puede repetirse una o mas veces.

Separa expresiones. Indica que pueden emplearse una u otra expresión pero no más de una a la vez.

CREATE TABLE tClientes
(
codigo     integer        
 nombre     varchar(255),  
apellidos  varchar(255),  
nif        varchar(10),   
telefono   varchar(9) ,   
movil      varchar(9),    
);