Vous êtes sur la page 1sur 99

Base de datos

De Wikipedia, la enciclopedia libre


Saltar a: navegacin, bsqueda
Este artculo o seccin posee referencias, pero necesita ms para
complementar su verificabilidad.
Puedes colaborar agregando referencias a fuentes fiables como se indica aqu. El material
sin fuentes fiables podra ser cuestionado y eliminado.

OpenOffice.org Base es un sistema de gestin de bases de datos de software libre.


Se le llama base de datos a los bancos de informacin que contienen datos relativos a
diversas temticas y categorizados de distinta manera, pero que comparten entre s
algn tipo de vnculo o relacin que busca ordenarlos y clasificarlos en conjunto.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido;
una biblioteca puede considerarse una base de datos compuesta en su mayora por
documentos y textos impresos en papel e indexados para su consulta. Actualmente, y
debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la
mayora de las bases de datos estn en formato digital, siendo este un componente
electrnico, y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al
problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado DBMS,
que permiten almacenar y posteriormente acceder a los datos de forma rpida y
estructurada. Las propiedades de estos DBMS, as como su utilizacin y administracin,
se estudian dentro del mbito de la informtica.
Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas;
Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar
la informacin experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se
encuentran protegidos por las leyes de varios pases. Por ejemplo en Espaa, los datos
personales se encuentran protegidos por la Ley Orgnica de Proteccin de Datos de
Carcter Personal (LOPD), en Mxico por la Ley Federal de Transparencia y Acceso a
la Informacin Pblica Gubernamental y en Argentina la Ley de Proteccin de Datos
Personales.[1]

ndice
[ocultar]

1 Clasificacin de bases de datos


o 1.1 Segn la variabilidad de la base de datos
1.1.1 Bases de datos estticas
1.1.2 Bases de datos dinmicas
o 1.2 Segn el contenido
1.2.1 Bases de datos bibliogrficas
1.2.2 Bases de datos de texto completo
1.2.3 Directorios
1.2.4 Bases de datos o "bibliotecas" de informacin qumica o
biolgica
2 Modelos de bases de datos
o 2.1 Bases de datos jerrquicas
o 2.2 Base de datos de red
o 2.3 Bases de datos transaccionales
o 2.4 Bases de datos relacionales
o 2.5 Bases de datos multidimensionales
o 2.6 Bases de datos orientadas a objetos
o 2.7 Bases de datos documentales
o 2.8 Bases de datos deductivas
2.8.1 Lenguaje
2.8.2 Ventajas
2.8.3 Fases
2.8.4 Interpretacin
2.8.5 Mecanismos
o 2.9 Sistema de Gestin de bases de datos distribuida (SGBD)
3 Consulta a base de datos
4 Vase tambin
5 Referencias
6 Enlaces externos

Clasificacin de bases de datos[editar]


Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se
est manejando, la utilidad de las mismas o las necesidades que satisfagan.

Segn la variabilidad de la base de datos[editar]


Bases de datos estticas[editar]
Son bases de datos nicamente de lectura, utilizadas primordialmente para almacenar
datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento
de un conjunto de datos a travs del tiempo, realizar proyecciones, tomar decisiones y
realizar anlisis de datos para inteligencia empresarial.
Bases de datos dinmicas[editar]

Son bases de datos donde la informacin almacenada se modifica con el tiempo,


permitiendo operaciones como actualizacin, borrado y edicin de datos, adems de las
operaciones fundamentales de consulta. Un ejemplo,puede ser la base de datos utilizada
en un sistema de informacin de un supermercado.

Segn el contenido[editar]
Bases de datos bibliogrficas[editar]
Slo contienen un subrogante (representante) de la fuente primaria, que permite
localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin
sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada
publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero
nunca el texto completo, porque si no, estaramos en presencia de una base de datos a
texto completo (o de fuentes primarias ver ms abajo). Como su nombre lo indica, el
contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de
laboratorio, entre otras.
Bases de datos de texto completo[editar]
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las
ediciones de una coleccin de revistas cientficas.
Directorios[editar]
Un ejemplo son las guas telefnicas en formato electrnico.
Bases de datos o "bibliotecas" de informacin qumica o biolgica[editar]
Son bases de datos que almacenan diferentes tipos de informacin proveniente de la
qumica, las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Las que almacenan secuencias de nucletidos o protenas.


Las bases de datos de rutas metablicas.
Bases de datos de estructura, comprende los registros de datos experimentales
sobre estructuras 3D de biomolculasBases de datos clnicas.
Bases de datos bibliogrficas (biolgicas, qumicas, mdicas y de otros campos):
PubChem, Medline, EBSCOhost.

Modelos de bases de datos[editar]


Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden
clasificar de acuerdo a su modelo de administracin de datos.
Un modelo de datos es bsicamente una "descripcin" de algo conocido como
contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos
para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no
son cosas fsicas: son abstracciones que permiten la implementacin de un sistema

eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos


matemticos.
Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerrquicas[editar]


Artculo principal: Base de datos jerrquica

En este modelo los datos se organizan en forma de rbol invertido (algunos dicen raz),
en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene
padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que
manejan un gran volumen de informacin 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[editar]


Artculo principal: Base de datos de red

ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la


modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerrquico).
Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin
eficiente al problema de redundancia de datos; pero, an as, la dificultad que significa
administrar la informacin en una base de datos de red ha significado que sea un
modelo utilizado en su mayora por programadores ms que por usuarios finales.

Bases de datos transaccionales[editar]


Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes
velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al
entorno de anlisis de calidad, datos de produccin 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 duplicacin de informacin no es un problema como con las
dems bases de datos, por lo general para poderlas aprovechar al mximo permiten
algn tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de transaccin es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la
que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no
aparezca o desaparezca dinero), las dos operaciones deben ser atmicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una cada del

sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no
se ha realizado ninguna,

Bases de datos relacionales[editar]


Artculo principal: Modelo relacional
Artculo principal: Base de datos relacional

ste es el modelo utilizado en la actualidad para representar problemas reales y


administrar datos dinmicamente. 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 podran considerarse en forma
lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las
bases de datos relacionales creadas por Codd, la mayora de las veces se conceptualiza
de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese
una tabla que est compuesta por registros (las filas de una tabla), que representaran 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 jerrquico y el de red). Esto tiene la considerable
ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la
base de datos. La informacin puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la informacin.
El lenguaje ms habitual para construir las consultas a bases de datos relacionales es
SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar
implementado por los principales motores o sistemas de gestin de bases de datos
relacionales.
Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce
como normalizacin de una base de datos.

Bases de datos multidimensionales[editar]


Artculo principal: Base de datos multidimensional

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin
de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos
relacionales (una tabla en una base de datos relacional podra serlo tambin en una base
de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases
de datos multidimensionales los campos o atributos de una tabla pueden ser de dos
tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se
desean aprender.

Bases de datos orientadas a objetos[editar]


Artculo principal: Base de datos orientada a objetos

Este modelo, bastante reciente, y propio de los modelos informticos orientados a


objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:

Encapsulacin - Propiedad que permite ocultar la informacin al resto de los


objetos, impidiendo as accesos incorrectos o conflictos.
Herencia - Propiedad a travs de la cual los objetos heredan comportamiento
dentro de una jerarqua de clases.
Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada
a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre
los datos como parte de la definicin de la base de datos. Una operacin (llamada
funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye
el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La
implementacin (o mtodo) de la operacin se especifica separadamente y puede
modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden
operar sobre los datos invocando a dichas operaciones a travs de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podra
denominarse independencia entre programas y operaciones.
SQL:2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a
objetos y mantiene la compatibilidad con SQL92.

Bases de datos documentales[editar]


Artculo principal: Base de datos documental

Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms


potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de datos.

Bases de datos deductivas[editar]


Un sistema de base de datos deductiva, es un sistema de base de datos pero con la
diferencia de que permite hacer deducciones a travs de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos. Las bases
de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que se basa
en lgica matemtica. Este tipo de base de datos surge debido a las limitaciones de la
Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones
indirectas de los datos almacenados en la base de datos.
Lenguaje[editar]
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y
permite al ordenador hacer deducciones para contestar a consultas basndose en los
hechos y reglas almacenados.

Ventajas[editar]

Uso de reglas lgicas para expresar las consultas.


Permite responder consultas recursivas.
Cuenta con negaciones estratificadas
Capacidad de obtener nueva informacin a travs de la ya almacenada en la base
de datos mediante inferencia.
Uso de algoritmos de optimizacin de consultas.
Soporta objetos y conjuntos complejos.

Fases[editar]

Fase de Interrogacin: se encarga de buscar en la base de datos informaciones


deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin.
Fase de Modificacin: se encarga de aadir a la base de datos nuevas
informaciones deducibles. Las reglas de esta fase se denominan reglas de
generacin.

Interpretacin[editar]
Encontramos dos teoras de interpretacin de las bases de datos deductiva por lo cual
consideramos las reglas y los hechos como axiomas. Los hechos son axiomas base que
se consideran como verdaderos y no contienen variables. Las reglas son axiomas
deductivos ya que se utilizan para deducir nuevos hechos.

Teora de Modelos: una interpretacin es llamada modelo cuando para un


conjunto especfico de reglas, stas se cumplen siempre para esa interpretacin.
Consiste en asignar a un predicado todas las combinaciones de valores y
argumentos de un dominio de valores constantes dado. A continuacin se debe
verificar si ese predicado es verdadero o falso.

Mecanismos[editar]
Existen dos mecanismos de inferencia:

Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas


de inferencia.
Descendente: donde se parte del predicado (objetivo de la consulta realizada) e
intenta encontrar similitudes entre las variables que nos lleven a hechos
correctos almacenados en la base de datos.

Sistema de Gestin de bases de datos distribuida (SGBD)[editar]


La base de datos y el software SGBD pueden estar distribuidos en mltiples sitios
conectados por una red. Hay de dos tipos:
1. Distribuidos homogneos: utilizan el mismo SGBD en mltiples sitios.
2. Distribuidos heterogneos: Da lugar a los SGBD federados o sistemas multibase de
datos en los que los SGBD participantes tienen cierto grado de autonoma local y tienen

acceso a varias bases de datos autnomas preexistentes almacenados en los SGBD,


muchos de estos emplean una arquitectura cliente-servidor.
Estas surgen debido a la existencia fsica de organismos descentralizados. Esto les da la
capacidad de unir las bases de datos de cada localidad y acceder as a distintas
universidades, sucursales de tiendas, etctera.

Consulta a base de datos[editar]


Una consulta es el mtodo para acceder a los datos en las bases de datos. Con las
consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos,
tambin pueden utilizarse como origen de registro para formularios. Para esto se utiliza
un Lenguaje de consulta.
Las consultas a la base de datos se realizan a travs de un Lenguaje de manipulacin de
datos, el lenguaje de consultas a base de datos ms utilizado es SQL.

Vase tambin[editar]

Sistema de gestin de base de datos


Modelo relacional, normalizacin de bases de datos
Base de datos orientada a objetos
Almacn de datos
Minera de datos
Base de datos biolgica
Base de datos probabilstica

SQL
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas
de Internet fidedignas. Este aviso fue puesto el 19 de enero de 2013.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|SQL}} ~~~~

SQL
Desarrollador(es)
IBM
ISO/IEC 9075-1:2012
Informacin general
Paradigma

Multiparadigma

Apareci en

1974

Diseado por

Donald D. Chamberlin

ltima versin
estable

SQL:2012 (2012)

Tipo de dato

Esttico, Fuerte

Implementaciones Varias

Dialectos

SQL-86, SQL-89, SQL-92,


SQL:1999, SQL:2003,
SQL:2006, SQL:2008,
SQL:2011

Influido por

Datalog

Ha influido a

Agena, CQL, LINQ, Windows


PowerShell[cita requerida]

Sistema operativo

multiplataforma

[editar datos en Wikidata]

SQL
Desarrollador
IBM
ISO/IEC 9075-1:2008
Informacin general
Extensin de archivo

.sql

Tipo de MIME

application/x-sql

Lanzamiento inicial

1986

ltima versin

SQL:2012
2012

Tipo de formato

Base de datos

Estndar(es)

ISO/IEC 9075

Formato abierto
[editar datos en Wikidata]

El lenguaje de consulta estructurado o SQL (por sus siglas en ingls Structured


Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que
permite especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es
el manejo del lgebra y el clculo relacional que permiten efectuar consultas con el fin

de recuperar, de forma sencilla, informacin de bases de datos, as como hacer cambios


en ellas.

ndice

1 Orgenes y evolucin
2 Caractersticas generales del SQL
o 2.1 Tipos de Datos
o 2.2 Optimizacin
3 Lenguaje de definicin de datos (DDL)
o 3.1 CREATE | CREAR
o 3.2 ALTER | MODIFICAR
o 3.3 DROP | ELIMINAR
o 3.4 TRUNCATE | BORRAR TABLA
4 Lenguaje de manipulacin de datos DML(Data Manipulation Language)
o 4.1 Definicin
o 4.2 SELECT | SELECCIONAR
4.2.1 Forma bsica
4.2.2 Clusula WHERE
4.2.3 Clusula ORDER BY
o 4.3 INSERT | INSERTAR
4.3.1 Forma bsica
4.3.2 Ejemplo
4.3.3 Formas avanzadas
4.3.3.1 Copia de filas de otras tablas
o 4.4 UPDATE
4.4.1 Ejemplo
o 4.5 DELETE
4.5.1 Forma bsica
4.5.2 Ejemplo
5 Recuperacin de clave
6 Disparadores
7 Sistemas de gestin de base de datos
8 Referencias
9 Vase tambin
10 Enlaces externos

Orgenes y evolucin[editar]
Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En 1970 E.
F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los
datos basado en el clculo de predicados. Basndose en estas ideas, los laboratorios de
IBM definieron el lenguaje SEQUEL (Structured English Query Language) que ms
tarde fue ampliamente implementado por el sistema de gestin de bases de datos
(SGBD) experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo,
fue Oracle quien lo introdujo por primera vez en 1979 en un producto comercial.
El SEQUEL termin siendo el predecesor de SQL, que es una versin evolucionada del
primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de

gestin de bases de datos relacionales surgidos en los aos siguientes y fue por fin
estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de este
lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin adoptado
por la ISO.
Sin embargo, este primer estndar no cubra todas las necesidades de los desarrolladores
e inclua funcionalidades de definicin de almacenamiento que se consider suprimirlas.
As que, en 1992, se lanz un nuevo estndar ampliado y revisado del SQL llamado
"SQL-92" o "SQL2".
En la actualidad el SQL es el estndar de facto de la inmensa mayora de los SGBD
comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es
general y muy amplio.
El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo:
Ao Nombre Alias
Comentarios
1986 SQL-86 SQL-87 Primera publicacin hecha por ANSI. Confirmada por ISO
en 1987.
1989 SQL-89
Revisin menor.
1992 SQL-92 SQL2
Revisin mayor.
1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas
(para relaciones jerrquicas), triggers y algunas
caractersticas orientadas a objetos.
2003 SQL:2003
Introduce algunas caractersticas de XML, cambios en las
funciones, estandarizacin del objeto sequence y de las
columnas autonumericas. (Ver Eisenberg et al.: SQL:2003
Has Been Published.)
2005 SQL:2005
ISO/IEC 9075-14:2005 Define las maneras en las cuales el
SQL se puede utilizar conjuntamente con XML. Define
maneras de importar y guardar datos XML en una base de
datos SQL, manipulndolos dentro de la base de datos y
publicando el XML y los datos SQL convencionales en
forma XML. Adems, proporciona facilidades que permiten
a las aplicaciones integrar dentro de su cdigo SQL el uso
de XQuery, lenguaje de consulta XML publicado por el
W3C (World Wide Web Consortium) para acceso
concurrente a datos ordinarios SQL y documentos XML.
2008 SQL:2008
Permite el uso de la clusula ORDER BY fuera de las
definiciones de los cursores. Incluye los disparadores del
tipo INSTEAD OF. Aade la sentencia TRUNCATE. (Ver
[1].)

Caractersticas generales del SQL[editar]


El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia
de los sistemas relacionales y permite as gran variedad de operaciones.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su


fuerte base terica y su orientacin al manejo de conjuntos de registros y no a
registros individuales permite una alta productividad en codificacin y la orientacin
a objetos. De esta forma, una sola sentencia puede equivaler a uno o ms programas que
se utilizaran en un lenguaje de bajo nivel orientado a registros. SQL tambin tiene las
siguientes caractersticas:

Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para


la definicin de esquemas de relacin, borrado de relaciones y modificaciones de
los esquemas de relacin.
Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye
lenguajes de consultas basado tanto en lgebra relacional como en clculo
relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones
de integridad que deben cumplir los datos almacenados en la base de datos.
Definicin de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y
el final de una transaccin.
SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar
instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP,
Cobol, Pascal y Fortran.
Autorizacin: El LDD incluye comandos para especificar los derechos de
acceso a las relaciones y a las vistas.

Tipos de Datos[editar]
Algunos de los tipos de datos bsicos de SQL son:

Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el
da.
Time: La hora del da en horas minutos segundos (el valor predeterminado es 0).
Timestamp: la combinacin de Date y Time.

Optimizacin[editar]
Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de datos de
alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se
quiere y no cmo conseguirlo, por lo que una sentencia no establece explcitamente un
orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar seriamente a la eficiencia
del SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de
su ejecucin. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero
ralentiza la actualizacin de los datos. Dependiendo del uso de la aplicacin, se
priorizar el acceso indexado o una rpida actualizacin de la informacin. La
optimizacin difiere sensiblemente en cada motor de base de datos y depende de
muchos factores.

Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que
permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido
implementado a nivel experimental y est evolucionando rpidamente.

Lenguaje de definicin de datos (DDL)[editar]


El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el
que se encarga de la modificacin de la estructura de los objetos de la base de datos.
Incluye rdenes para modificar, borrar o definir las tablas en las que se almacenan los
datos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER,
DROP y TRUNCATE.

CREATE | CREAR[editar]
Este comando permite crear objetos de datos, como nuevas bases de datos, tablas, vistas
y procedimientos almacenados.
Ejemplo (crear una tabla)
CREATE TABLE 'CUSTOMERS';

ALTER | MODIFICAR[editar]
Este comando permite modificar la estructura de una tabla u objeto. Se pueden
agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices
a una tabla, modificar un trigger, etc.
Ejemplo (agregar columna a una tabla)
ALTER TABLE 'ALUMNOS' ADD EDAD INT UNSIGNED;

DROP | ELIMINAR[editar]
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice,
trigger, funcin, procedimiento o cualquier objeto que el motor de la base de datos
soporte. Se puede combinar con la sentencia ALTER.
Ejemplo
DROP TABLE 'ALUMNOS';.

TRUNCATE | BORRAR TABLA[editar]


Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando
DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido,
especialmente si la tabla es muy grande. La desventaja es que TRUNCATE slo sirve
cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la
clusula WHERE. Si bien, en un principio, esta sentencia parecera ser DML (Lenguaje
de Manipulacin de Datos), es en realidad una DDL, ya que internamente, el comando
TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transaccin.
Ejemplo
TRUNCATE TABLE 'NOMBRE_TABLA';

Lenguaje de manipulacin de datos DML(Data


Manipulation Language)[editar]
Definicin[editar]
Un lenguaje de manipulacin de datos (Data Manipulation Language, o DML en ingls)
es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a
los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos,
organizados por el modelo de datos adecuado.
El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar
y manipular datos en una base de datos relacional.

SELECT | SELECCIONAR[editar]
La sentencia SELECT nos permite consultar los datos almacenados en una tabla de la
base de datos.
Forma bsica[editar]
SELECT [ALL | DISTINCT ]
<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}]
[WHERE <condicin> [{ AND|OR <condicin>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo >}]]
[HAVING <condicin>[{ AND|OR <condicin>}]]
[ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC]
[{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]

Palabra clave que indica que la sentencia de SQL que queremos ejecutar
es de seleccin.
Indica que queremos seleccionar todos los valores.Es el valor por defecto
ALL
y no suele especificarse casi nunca.
DISTINCT Indica que queremos seleccionar slo los valores distintos.
Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el
caso de que exista ms de una tabla se denomina a la consulta "consulta
FROM
combinada" o "join". En las consultas combinadas es necesario aplicar
una condicin de combinacin a travs de una clusula WHERE.
Especifica una condicin que debe cumplirse para que los datos sean
WHERE
devueltos por la consulta. Admite los operadores lgicos AND y OR.
Especifica la agrupacin que se da a los datos. Se usa siempre en
GROUP
combinacin con funciones agregadas.
BY
Especifica una condicin que debe cumplirse para que los datos sean
devueltos por la consulta. Su funcionamiento es similar al de WHERE
HAVING pero aplicado al conjunto de resultados devueltos por la consulta. Debe
aplicarse siempre junto a GROUP BY y la condicin debe estar referida a
los campos contenidos en ella.
SELECT

ORDER
BY

Presenta el resultado ordenado por las columnas indicadas. El orden puede


expresarse con ASC (orden ascendente) y DESC (orden descendente). El
valor predeterminado es ASC.

Ejemplo:
Para formular una consulta a la tabla Coches y recuperar los campos matricula, marca,
modelo, color, numero_kilometros, num_plazas debemos ejecutar la siguiente consulta.
Los datos sern devueltos ordenados por marca y por modelo en orden ascendente, de
menor a mayor. La palabra clave FROM indica que los datos sern recuperados de la
tabla Coches.
SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas
FROM Coches
ORDER BY marca,modelo;

Ejemplo de Consulta simplificada a travs de un comodn de Campos (*):


El uso del asterisco indica que queremos que la consulta devuelva todos los campos que
existen en la tabla y los datos sern devueltos ordenados por marca y por modelo.
SELECT * FROM Coches ORDER BY marca, modelo;

Clusula WHERE[editar]
La clusula WHERE es la instruccin que nos permite filtrar el resultado de una
sentencia SELECT. Habitualmente no deseamos obtener toda la informacin existente
en la tabla, sino que queremos obtener slo la informacin que nos resulte til en ese
momento. La clusula WHERE filtra los datos antes de ser devueltos por la consulta.
Cuando en la Clusula WHERE queremos incluir un tipo texto, debemos incluir el valor
entre comillas simples.
Ejemplos:
En nuestro ejemplo, se desea consultar un coche en concreto, para esto se agreg una
clusula WHERE. Esta clusula especifica una o varias condiciones que deben
cumplirse para que la sentencia SELECT devuelva los datos. En este caso la consulta
devolver slo los datos del coche con matrcula para que la consulta devuelva slo los
datos del coche con matrcula MF-234-ZD o bien la matrcula FK-938-ZL . Se puede
utilizar la clusula WHERE solamente, en combinacin con tantas condiciones como
queramos.
SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas
FROM Coches
WHERE matricula = 'MF-234-ZD'
OR matricula = 'FK-938-ZL' ;

Una Condicin WHERE puede ser negada a travs del Operador Lgico NOT. La
Siguiente consulta devolver todos los datos de la tabla Coches, menos el que tenga la
Matrcula MF-234-ZD .

SELECT matricula,marca, modelo, color, numero_kilometros, num_plazas


FROM coches
WHERE NOT matricula = 'MF-234-ZD';

La Siguiente consulta utiliza la condicional DISTINCT, la cual nos devolver todos los
valores distintos formados por los Campos Marca y Modelo. de la tabla coches.
SELECT DISTINCT marca, modelo FROM coches;

Clusula ORDER BY[editar]


La clusula ORDER BY es la instruccin que nos permite especificar el orden en el que
sern devueltos los datos. Podemos especificar la ordenacin ascendente o descendente
a travs de las palabras clave ASC y DESC. La ordenacin depende del tipo de datos
que este definido en la columna, de forma que un campo nmerico ser ordenado como
tal, y un alfanmerico se ordenar de la A a la Z, aunque su contenido sea nmerico. El
valor predeterminado es ASC si no se especifica al hacer la consulta.
Ejemplos:
SELECT matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM coches
ORDER BY marca ASC,modelo DESC; Este ejemplo, selecciona todos los campos
matricula, marca, modelo, color, numero_kilometros y num_plazas de la tabla coches,
ordenndolos por los campos marca y modelo, marca en forma ascendente y modelo en
forma descendente.
SELECT matricula,
marca,
modelo,
color,
numero_kilometros, num_plazas
FROM coches
ORDER BY 2;

Este ejemplo, selecciona todos los campos matrcula, marca, modelo, color,
numero_kilometros y num_plazas de la tabla coches, ordenndolos por el campo marca,
ya que aparece en segundo lugar dentro de la lista de campos que componen la
SELECT.

INSERT | INSERTAR[editar]
Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en
una base de datos relacional.
Forma bsica[editar]

INSERT INTO 'tablatura' ('columna1',['columna2,... '])


VALUES ('valor1', ['valor2,...'])
O tambien se puede utilizar como:
INSERT tablatura VALUES ('valor1','valor2')

Las cantidades de columnas y valores deben ser iguales. Si una columna no se


especifica, le ser asignado el valor por omisin. Los valores especificados (o
implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables.
Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la
fila y se devuelve un error.
Ejemplo[editar]
INSERT INTO agenda_telefonica (nombre, numero)
VALUES ('Roberto Jeldrez', 4886850);

Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia
acortada:
INSERT INTO nombreTabla VALUES ('valor1', ['valor2,...'])

Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas de la tabla
'agenda_telefonica'):
INSERT INTO agenda_telefonica
VALUES ('Jhonny Aguilar', 080473968);

Formas avanzadas[editar]
Una caracterstica de SQL (desde SQL-92) es el uso de constructores de filas para
insertar mltiples filas a la vez, con una sola sentencia SQL:
INSERT INTO ''tabla'' (''columna1'', [''columna2,... ''])
VALUES (''valor1a'', [''valor1b,...'']),
(''value2a'', [''value2b,...'']),...;

Esta caracterstica es soportada por DB2, PostgreSQL (desde la versin 8.2), MySQL, y
H2.
Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas en la tabla
'agenda_telefonica'):
INSERT INTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'),
('Alejandro Sosa', '4556550');

Que poda haber sido realizado por las sentencias


INSERT INTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850');
INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550');

Notar que las sentencias separadas pueden tener semntica diferente (especialmente con
respecto a los triggers), y puede tener diferente rendimiento que la sentencia de
insercin mltiple.
Para insertar varias filas en MS SQL puede utilizar esa construccin:
INSERT INTO phone_book
SELECT 'John Doe', '555-1212'
UNION ALL
SELECT 'Peter Doe', '555-2323';

Tenga en cuenta que no se trata de una sentencia SQL vlida de acuerdo con el estndar
SQL (SQL: 2003), debido a la clusula subselect incompleta.
Para hacer lo mismo en Oracle se usa la Tabla DUAL, siempre que se trate de solo una
simple fila:
INSERT INTO phone_book
SELECT 'John Doe', '555-1212' FROM DUAL
UNION ALL
SELECT 'Peter Doe','555-2323' FROM DUAL

Una implementacin conforme al estndar de esta lgica se muestra el siguiente


ejemplo, o como se muestra arriba (no aplica en Oracle):
INSERT INTO phone_book
SELECT 'John Doe', '555-1212' FROM LATERAL ( VALUES (1) ) AS t(c)
UNION ALL
SELECT 'Peter Doe','555-2323' FROM LATERAL ( VALUES (1) ) AS t(c)
Copia de filas de otras tablas[editar]

Un INSERT tambin puede utilizarse para recuperar datos de otros, modificarla si es


necesario e insertarla directamente en la tabla. Todo esto se hace en una sola sentencia
SQL que no implica ningn procesamiento intermedio en la aplicacin cliente. Un
SUBSELECT se utiliza en lugar de la clusula VALUES. El SUBSELECT puede
contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA
los datos que se inserta. Lgicamente, el SELECT se evala antes que la operacin
INSERT est iniciada. Un ejemplo se da a continuacin.
INSERT INTO phone_book2
SELECT *
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')

Una variacin es necesaria cuando algunos de los datos de la tabla fuente se est
insertando en la nueva tabla, pero no todo el registro. (O cuando los esquemas de las
tablas no son iguales.)
INSERT INTO phone_book2 ( [name], [phoneNumber] )
SELECT [name], [phoneNumber]
FROM phone_book

WHERE name IN ('John Doe', 'Peter Doe')

El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe


coincidir con el esquema de la tabla donde los datos son insertados.

UPDATE[editar]
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto
de registros existentes en una tabla.
Ejemplo[editar]
UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N';

DELETE[editar]
Una sentencia DELETE de SQL borra uno o ms registros existentes en una tabla.
Forma bsica[editar]
DELETE FROM tabla WHERE columna1 = 'valor1'

Ejemplo[editar]
DELETE FROM My_table WHERE field2 = 'N';

Recuperacin de clave[editar]
Los diseadores de base de datos que usan una clave suplente como la clave principal
para cada tabla, se ejecutar en el ocasional escenario en el que es necesario recuperar
automticamente la base de datos, generando una clave primaria de una sentencia SQL
INSERT para su uso en otras sentencias SQL. La mayora de los sistemas no permiten
sentencias SQL INSERT para retornar fila de datos. Por lo tanto, se hace necesario
aplicar una solucin en tales escenarios.
Implementaciones comunes incluyen:

Utilizando un procedimiento almacenado especfico de base de datos que genera


la clave suplente, realice la operacin INSERT, y finalmente devuelve la clave
generada.
Utilizando una sentencia SELECT especfica de base de datos, sobre una tabla
temporal que contiene la ltima fila insertada. DB2 implementa esta
caracterstica de la siguiente manera:

SELECT *
FROM NEW TABLE ( INSERT INTO phone_book VALUES ( 'Cristobal
Jeldrez','0426.817.10.30' ) ) AS t

Utilizando una sentencia SELECT despus de la sentencia INSERT con funcin


especfica de base de datos, que devuelve la clave primaria generada por el
registro insertado ms recientemente.
Utilizando una combinacin nica de elementos del original SQL INSERT en
una posterior sentencia SELECT.
Utilizando un GUID en la sentencia SQL INSERT y la recupera en una
sentencia SELECT.
Utilizando la funcin de PHP mysql_insert_id() de MySQL despus de la
sentencia INSERT.
Utilizando un INSERT con la clusula RETURNING para Oracle, que slo se
puede utilizar dentro de un PL/SQL bloque, en el caso de PostgreSQL se puede
usar tambin tanto con SQL como con PL/SQL.

INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' )


RETURNING phone_book_id INTO v_pb_id

En el caso de MS SQL se puede utilizar la siguiente instruccin:

SET NoCount ON;


INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30'
);
SELECT @@IDENTITY AS ID

Disparadores[editar]
Los disparadores, tambin conocidos como desencadenantes (triggers en ingls) son
definidos sobre la tabla en la que opera la sentencia INSERT, y son evaluados en el
contexto de la operacin. Los desencadenantes BEFORE INSERT permiten la
modificacin de los valores que se insertarn en la tabla. Los desencadenantes AFTER
INSERT no puede modificar los datos de ahora en adelante, pero se puede utilizar para
iniciar acciones en otras tablas, por ejemplo para aplicar mecanismos de auditora.

Sistemas de gestin de base de datos[editar]


Los sistemas de gestin de base de datos con soporte SQL ms utilizados son, por orden
alfabtico:

DB2
Firebird
HSQL
Informix
Interbase
MariaDB
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
Progress
PervasiveSQL
SQLite

Sybase ASE

Referencias[editar]
Vase tambin[editar]

Lenguaje de definicin de datos


SQL injection
FSQL
AQL
Modelo de base de datos

Lenguaje de manipulacin de datos


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas
de Internet fidedignas. Este aviso fue puesto el 16 de febrero de 2012.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|Lenguaje de manipulacin de
datos}} ~~~~

Lenguaje de Manipulacin de Datos (Data Manipulation Language, DML) es un


lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o modificacin de los datos
contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. 1
El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar
y manipular datos en una base de datos relacional. Otros ejemplos de DML son los
usados por bases de datos IMS/DL1, CODASYL u otras.

Elementos del lenguaje de manipulacin de


datos[editar]
Select, Insert, Delete, Update, Order by, Group by, from y where.

Clasificacin de los DML[editar]


Se clasifican en dos grandes grupos:

lenguajes de consulta procedimentales

Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al


sistema para que realice una serie de procedimientos u operaciones en la base de datos
para calcular un resultado final.

lenguajes de consulta no procedimentales

En los lenguajes no procedimentales el usuario describe la informacin deseada sin un


procedimiento especfico para obtener esa informacin.

Lenguaje de consulta
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Un lenguaje de consulta es un lenguaje informtico usado para hacer consultas en
bases de datos y sistemas de informacin.
Los lenguajes de consulta pueden ser clasificados de acuerdo a si son lenguajes de
consulta de bases de datos o lenguajes de consulta de recuperacin de informacin.
Algunos ejemplos son:

.QL es un lenguaje de consulta propietario orientado a objetos para consultar


bases de datos relacionales;1
Common Query Language (CQL) un lenguaje formal para representar consultas
para sistemas de recuperacin de informacin como ndices web o catlogos
bibliogrficos.
CODASYL;
D es un lenguaje de consulta para sistemas de administracin de bases de datos
verdaderamente relacionales (truly relational database management systems TRDBMS);2
DMX es un lenguaje para modelos de minera de datos;
Datalog es un lenguaje de consulta para bases de datos deductivas;
ERROL es un lenguaje de consulta sobre el modelo entidad-relacin (ERM),
especialmente diseado para bases de datos relacionales;
Gellish English es un lenguaje que puede ser usado para consultas en bases de
datos Gellish English,3 para dilogos (pedidos y respuestas) como tambin para
modelado de informacin y modelado de conocimiento;
ISBL es un lenguaje de consulta para PRTV, uno de los ms recientes sistemas
de administracin de bases de datos;
LDAP es un protocolo de aplicacin para consultar y modificar servicios de
directorios corriendo sobre TCP/IP.
MQL es un lenguaje de consulta de quimioinformtica para bsqueda de
subestructuras permitiendo propiedades nominales y numricas;
MDX es un lenguaje de consulta para bases de datos OLAP;
OQL es un lenguaje de consulta de objetos;
OCL (Object Constraint Language - lenguaje de restricciones de objetos). Pese a
su nombre, OCL es tambin un lenguaje de consulta de objetos y un estndar
OMG.
OPath, pensado para el uso consultando almacenes WinFS;
Poliqarp Query Language es un lenguaje de consulta especial diseado para
analizar texto con anotaciones. Usado en el motor de bsqueda Poliqarp;4
QUEL es un lenguaje de acceso a bases de datos relacionales, muy similar a
SQL;

SMARTS es el estndar de quimioinformtica para bsqueda de subestructuras;5


SPARQL es un lenguaje de consulta para grafos RDF;
SQL es un lenguaje de consulta muy reconocido para bases de datos
relacionales;
SuprTool es un lenguaje de consulta propietario para SuprTool,6 un programa de
acceso a bases de datos para obtener datos en Image/SQL (TurboIMAGE) y
bases de datos Oracle;
TMQL Topo Magic Queeen Lion es un lenguaje de consulta para Topic Maps;
XQuery es un lenguaje de consulta para fuentes de datos XML;
EPL es un lenguaje de consulta para el procesado de eventos complejos en
tiempo real;

Vase tambin[editar]

SQL
Bases de datos relacionales
Paradigma de programacin
Lenguaje informtico

Base de datos documental


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Una base de datos documental est constituida por un conjunto de programas que
almacenan, recuperan y gestionan datos de documentos o datos de algn modo
estructurados. Este tipo de bases de datos constituyen una de las principales
subcategoras dentro de las denominadas bases de datos NoSQL. A diferencia de las
bases de datos relacionales, estas bases de datos estn diseadas alrededor de una
nocin abstracta de "Documento".

ndice
[ocultar]

1 Los documentos
o 1.1 Claves
o 1.2 Recuperacin
o 1.3 Organizacin
2 Implementaciones
o 2.1 Bases de datos XML
3 Vase tambin
4 Referencias

Los documentos[editar]
El concepto central de una base de datos orientada a documentos es el concepto mismo
de Documento. Mientras cada implementacin de base de datos orientada a documentos

difiere en los detalles, en general todas ellas comparten el principio de que los
documentos encapsulan y codifican datos o informacin siguiendo algn formato
estndar. Entre las codificaciones usadas en la actualidad se encuentran XML, YAML,
JSON y BSON, as como formatos binarios como PDF y documentos Microsoft Office
(MS Word, Excel y dems).
Los documentos dentro de una base de datos orientada a documentos son similar, de
algn modo, a registros, tuplas o filas en una base de datos relacional pero menos
rgidos. No se les requiere ajustarse a un esquema estndar ni tener todos las mismas
secciones, atributos, claves o cosas por el estilo. Por ejemplo un documento puede ser:
{
Nombre:"Pepe",
Direccin:"Plaza Mayor 5",
Profesin:"Panadero"
}

Mientras que otro:


{
Nombre:"Juliana",
Direccin:"Gran Va 15",
Hijos:[
{Nombre:"Miguel", Edad:10},
{Nombre:"Jacinta", Edad:8},
{Nombre:"Sara", Edad:5},
{Nombre:"Elena", Edad:2}
]
}

Estos documentos contienen alguna informacin similar y otra diferente. Al contrario


que una base de datos relacional en la que todos los registros deben tener los mismos
atributos -que pueden quedar vacos- , en un documento no quedan 'campos' vacos. De
este modo es posible aadir nueva informacin sin necesidad de establecer qu
informacin queda excluida.

Claves[editar]
Se direccionan los documentos mediante una clave nica que identifica el documento.
Generalmente esta clave se compone de una simple cadena. En algunos casos puede
tratarse de un URI o un camino, que sirve para rescatar el documento de la base de
datos. Generalmente la base de datos mantiene un ndice de dichas claves, por lo que la
recuperacin es rpida.

Recuperacin[editar]
Otra de las caractersticas que definen una base de datos orientada a documentos es que,
ms all de la sencilla correspondencia clave-documento (o clave-valor) usada para
recuperar un documento, la base de datos ofrece un API o un lenguaje de interrogacin
para recuperar documentos segn su contenido. Por ejemplo, para preguntar por todos
los documentos que tienen un valor dado en un campo. El conjunto de caractersticas
del API o del lenguaje de interrogacin, as como lo que se obtiene, vara
significativamente entre distintas implementaciones.

Organizacin[editar]
Las distintas implementaciones de bases de datos documentales que podemos organizan
los documentos de muy distintas formas, entre las que se encuentran:

Collecciones
Etiquetas
Metadatos ocultos
Jerarquas de directorios

Implementaciones[editar]
Nombre

Editor

Licencia

Lenguaje

Notas

API
RESTful

Soporta XML,
JSON y
formatos
binarios;
Java,
BaseX
BaseX Team BSD
arquitectura
S
XQuery
cliente-servidor;
bsquedas de
texto completo
concurrentes.
Almacn de
C, C++ & documentos y
ArangoDB triAGENS Apache 2
S1
Javascript presentacin
grfica.
Base de datos
documental sin
esquema,
bsqueda de
Clusterpoin Clusterpoint Libre/Comercial
C++
texto completo, S
2
t
Ltd.
ordenacin por
relevancia y
funcionamiento
en Cluster.
Base de datos
Couchbase Couchbase,
NoSQL
Apache
Erlang y C
S3
Server
Inc.
distribuida
documental.
JSON sobre
REST/HTTP
con propiedades
Apache
ACID mediante 5
CouchDB Software
Apache
Erlang
S
multiversion
Foundation
concurrency
control
limitadas. Usa

Nombre

Editor

Licencia

Lenguaje

Notas

API
RESTful

map y reduce
para las vistas e
interrogaciones.
4

eXist

eXist, [3]

GPL

XQuery,
Java

FleetDB

FleetDB

MIT

Clojure

XML sobre
REST/HTTP,
WebDAV,
bsqueda de
texto completo
con Lucene,
validacin,
versionado,
S6
clustering,
triggers,
reescritura de
URLs,
colecciones,
ACLs, XQuery
Update
Una base de
datos basada en
JSON sin
(desconocido
esquema,
)
optimizada para
desarrollo
Agile.

Apache
Jackrabbit Software
Apache
Foundation

Java

(desconocido
)

Lotus
Notes

LotusScript
, Java,
Lotus
@Formula

(desconocido
)

MarkLogic

IBM

Proprietaria

MarkLogic Libre o
Corporation comercial

MongoDB 10gen, Inc

GNU AGPL
v3.07

Base de datos
documental
distribuida con
REST,
multiversion
Java,
concurrency
S
XQuery,
control,
XSLT, C++ bsqueda de
texto completo
y transacciones
ACID.
Base de datos
C++
documental
Opcional8
optimizada para

Nombre

Editor

Licencia

Proprietaria y
GNU Affero
GPL10

MUMPS9

Orient
Technologie Apache
s
Apache
Apache
Software
Apache
Cassandra
Foundation
OrientDB

Redis

BSD License

Rocket U2

Rocket
Software

RavenDB

GNU AGPL
Hibernating
v3.011 o
Rhinos
Commercial

Lenguaje

MUMPS

API
RESTful

Notas

contenido muy
transitorio
Muy usada en
(desconocido
aplicaciones
)
mdicas.

Java

JSON sobre
HTTP

Java

JSON sobre
HTTP

ANSI C

Proprietaria
C#

Almacn clavevalor con


(desconocido
soporte de listas )
y conjuntos
UniData,
S (Beta)
UniVerse
JSON sobre
HTTP

Bases de datos XML[editar]


La mayora de las bases de datos XML estn orientadas a documentos.

Vase tambin[editar]

Base de datos orientada a objetos


Sistema de gestin de base de datos

Base de datos orientada a objetos


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas
de Internet fidedignas. Este aviso fue puesto el 25 de noviembre de 2011.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|Base de datos orientada a
objetos}} ~~~~

En una base de datos orientada a objetos, la informacin se representa mediante


objetos como los presentes en la programacin orientada a objetos. Cuando se integra

las caractersticas de una base de datos con las de un lenguaje de programacin


orientado a objetos, el resultado es un sistema gestor de base de datos orientada a
objetos (ODBMS, object database management system). Un ODBMS hace que los
objetos de la base de datos aparezcan como objetos de un lenguaje de programacin en
uno o ms lenguajes de programacin a los que d soporte. Un ODBMS extiende los
lenguajes con datos persistentes de forma transparente, control de concurrencia,
recuperacin de datos, consultas asociativas y otras capacidades.
Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con
lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y
C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de
programacin.
Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen
rendimiento en la manipulacin de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor rendimiento
cuando se usan objetos gracias a que almacenan objetos en disco y tienen una
integracin transparente con el programa escrito en un lenguaje de programacin
orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel
aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Historia[editar]
Los orgenes del trmino orientados a objetos (abreviado OO) se remontan a los
lenguajes de programacin orientadas a objetos. Los lenguajes de programacin OO
tienen sus races en el lenguaje SIMULA 67, propuesto a finales de la dcada de 1960.
En Simula, el concepto de clase agrupa la estructura de datos interna de un objeto en
una declaracin de clase, es decir, introduce en el lenguaje ALGOL los conceptos de
objeto y de clase. Como Algol, Simula es un lenguaje fuertemente tipado para entornos
compilados. Sin embargo, el primer lenguaje que populariz la aproximacin a objetos
fue Smalltalk (1976); este puede considerarse una sntesis de aos del lenguaje Lisp,
que ofrece una gran flexibilidad gracias a la interpretacin, y de Simula, aadiendo el
concepto de metaclase. Smalltalk ha podido responder a las necesidades de flexibilidad
presentadas por el desarrollo de entornos de programacin grficos, favoreciendo la
rpida creacin de prototipos de interfaces de usuarios amigables. Fue utilizado con
xito en la primera estacin grfica de Xerox.
Con la llegada de las estaciones de trabajo en los aos 80, han crecido numerosos
lenguajes orientados a objetos inspirados en Simula o Smalltalk. Entre los lenguajes
compilados, los ms clebres son C++, Objective C y Eiffel, debido a la compatibilidad
del lenguaje o del cdigo producido con el lenguaje de programacin C. La mayor parte
de los lenguajes interpretados son extensiones del Lisp; por ejemplo, Loops y CLOS. Es
interesante notar que la mayor parte de los lenguajes populares existentes se encuentran
en curso de ampliacin para convertirse en orientados a objetos, incluyendo al COBOL
y Ada (ms exactamente Ada 9X, que aporta la herencia).
En aos recientes, han aparecido muchos prototipos experimentales y sistemas de bases
de datos comerciales orientados a objetos. Entre los primeros se encuentran los sistemas
ORION, OpenOODB, IRIS, ODE y el proyecto ENCORE/ObServer. Y entre los

sistemas disponibles en el mercado estn: GEMSTONE/OPAL de ServicLogic, ONTOS


de Ontologic, Objectivity de Objectivity Inc., Versant de Versant Technologies,
ObjecStore de Object Design y O2 de O2 Technology. Esta es solo una lista parcial de
los prototipos experimentales y de los sistemas de bases de datos comerciales orientados
a objetos. Desafortunadamente, es an demasiado pronto para saber cules sistemas se
instalarn como lderes en este campo.
Las bases de datos orientadas a objetos han adoptado muchos de los objetos creados
para los lenguajes de programacin orientados a objetos.

Vase tambin[editar]

Enterprise Objects Framework


ODMG (Object Database Management Group)
Mapeo objeto-relacional
Persistencia
ObjectDB
Zope Object Database

MySQL
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda

MySQL

Instalador de MySql Server 5.0

Desarrollador

Sun Microsystems (hasta febrero de 2008 MySQL AB)


http://www.mysql.com

Informacin general

ltima versin

5.6.25 (info)

estable

29 de mayo de 2015; hace 16 das

ltima versin en

5.7.4 (info)

pruebas

31 de marzo de 2014; hace 1 ao

Gnero

Sistema de gestin de bases de


datos relacionales

Programado en

C, C++

Sistema operativo

Multiplataforma

Licencia

GPL o Uso comercial

[editar datos en Wikidata]

MySQL es un sistema de gestin de bases de datos relacional, multihilo y multiusuario


con ms de seis millones de instalaciones.1 MySQL AB desde enero de 2008 una
subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de
2009 desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia,
pero para aquellas empresas que quieran incorporarlo en productos privativos deben
comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado
en su mayor parte en ANSI C.
Al contrario de proyectos como Apache, donde el software es desarrollado por una
comunidad pblica y los derechos de autor del cdigo estn en poder del autor
individual, MySQL es patrocinado por una empresa privada, que posee el copyright de
la mayor parte del cdigo. Esto es lo que posibilita el esquema de licenciamiento
anteriormente mencionado. Adems de la venta de licencias privativas, la compaa
ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del
mundo que colaboran va Internet. MySQL AB fue fundado por David Axmark, Allan
Larsson y Michael Widenius.

MySQL es usado por muchos sitios web grandes y populares, como Wikipedia,2
Google3 4 (aunque no para bsquedas), Facebook,5 6 7 Twitter,8 Flickr,9 y YouTube.10

ndice
[ocultar]

1 Lenguajes de programacin
2 Aplicaciones
3 Versiones de MySQL
4 Especificaciones
o 4.1 Plataformas
5 Caractersticas adicionales
o 5.1 Caractersticas
o 5.2 Caractersticas distintivas
o 5.3 Tipos de compilacin del servidor
o 5.4 Especificaciones del cdigo fuente
6 Desarrollo del proyecto
7 Otras funcionalidades de las listas de correo
8 Estructuras organizativas/asociativas o de decisin
9 Industria relacionada
10 MySQL en cifras
11 Licencia
12 Vase tambin
13 Referencias
14 Enlaces externos

Lenguajes de programacin[editar]
Existen varias interfaces de programacin de aplicaciones que permiten, a aplicaciones
escritas en diversos lenguajes de programacin, acceder a las bases de datos MySQL,
incluyendo C, C++, C#, Pascal, Delphi (va dbExpress), Eiffel, Smalltalk, Java (con una
implementacin nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas,
REALbasic (Mac y Linux), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos
utiliza una interfaz de programacin de aplicaciones especfica. Tambin existe una
interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programacin
que soporte ODBC comunicarse con las bases de datos MySQL. Tambin se puede
acceder desde el sistema SAP, lenguaje ABAP.

Aplicaciones[editar]

Toma de pantalla programa de Monitoreo Mtop.

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas


(Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de
seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy
ligada a PHP, que a menudo aparece en combinacin con MySQL.
MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no
transaccional MyISAM, pero puede provocar problemas de integridad en entornos de
alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la
modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que
hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va
a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y
corregir errores tanto de SQL como de programacin.11

Versiones de MySQL[editar]

12 13 14 15 16 17

Especificaciones[editar]
Plataformas[editar]
MySQL funciona sobre mltiples plataformas, incluyendo:

AIX

BSD
FreeBSD
HP-UX
Kurisu OS
GNU/Linux
Mac OS X
NetBSD

OpenBSD
OS/2 Warp
QNX
SGI IRIX
Solaris
SunOS
SCO OpenServer
SCO UnixWare
Tru64
eBD
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP,
Windows Vista, Windows 7, Windows 8 y Windows Server (2000, 2003, 2008 y
2012).
OpenVMS18

Caractersticas adicionales[editar]

Usa GNU Automake, Autoconf, y Libtool para portabilidad


Uso de multihilos mediante hilos del kernel.
Usa tablas en disco b-tree para bsquedas rpidas con compresin de ndice
Tablas hash en memoria temporales
El cdigo MySQL se prueba con Purify (un detector de memoria perdida
comercial) as como con Valgrind, una herramienta GPL.
Completo soporte para operadores y funciones en clusulas select y where.
Completo soporte para clusulas group by y order by, soporte de funciones de
agrupacin
Seguridad: ofrece un sistema de contraseas y privilegios seguro mediante
verificacin basada en el host y el trfico de contraseas est cifrado al
conectarse a un servidor.
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50
millones de registros.
Se permiten hasta 64 ndices por tabla (32 antes de MySQL 4.1.2). Cada ndice
puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo
ancho de lmite son 1000 bytes (500 antes de MySQL 4.1.2).
Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier
plataforma. En sistemas Windows se pueden conectar usando named pipes y en
sistemas Unix usando ficheros socket Unix.
En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando
memoria compartida.
MySQL contiene su propio paquete de pruebas de rendimiento proporcionado
con el cdigo fuente de la distribucin de MySQL.

Caractersticas[editar]
Inicialmente, MySQL careca de elementos considerados esenciales en las bases de
datos relacionales, tales como integridad referencial y transacciones. A pesar de ello,
atrajo a los desarrolladores de pginas web con contenido dinmico, justamente por su
simplicidad.
Poco a poco los elementos de los que careca MySQL estn siendo incorporados tanto
por desarrollos internos, como por desarrolladores de software libre. Entre las
caractersticas disponibles en las ltimas versiones se puede destacar:

Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas


igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de seleccin de mecanismos de almacenamiento que ofrecen
diferentes velocidades de operacin, soporte fsico, capacidad, distribucin
geogrfica, transacciones...
Transacciones y claves forneas.
Conectividad segura.
Replicacin.
Bsqueda e indexacin de campos de texto.

MySQL es un sistema de administracin de bases de datos. Una base de datos es una


coleccin estructurada de tablas que contienen datos. Esta puede ser desde una simple
lista de compras a una galera de pinturas o el vasto volumen de informacin en una red
corporativa. Para agregar, acceder a y procesar datos guardados en un computador,
usted necesita un administrador como MySQL Server. Dado que los computadores son
muy buenos manejando grandes cantidades de informacin, los administradores de
bases de datos juegan un papel central en computacin, como aplicaciones
independientes o como parte de otras aplicaciones.
MySQL es un sistema de administracin relacional de bases de datos. Una base de datos
relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran
archivo. Esto permite velocidad y flexibilidad. Las tablas estn conectadas por
relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para
cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el cdigo fuente
de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el cdigo fuente y
ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para
definir qu puede hacer y qu no puede hacer con el software en diferentes situaciones.
Si usted no se ajusta al GPL o requiere introducir cdigo MySQL en aplicaciones
comerciales, usted puede comprar una versin comercial licenciada.

Caractersticas distintivas[editar]
Las siguientes caractersticas son implementadas nicamente por MySQL:

Permite escoger entre mltiples motores de almacenamiento para cada tabla. En


MySQL 5.0 stos deban aadirse en tiempo de compilacin, a partir de MySQL
5.1 se pueden aadir dinmicamente en tiempo de ejecucin:
o Los hay nativos como MyISAM, Falcon, Merge, InnoDB, BDB,
Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y
Example
o Desarrollados por partners como solidDB, NitroEDB, ScaleDB,
TokuDB, Infobright (antes Brighthouse), Kickfire, XtraDB, IBM DB2.
InnoDB Estuvo desarrollado as pero ahora pertenece tambin a Oracle.
o Desarrollados por la comunidad como memcache, httpd, PBXT y
Revision.

Agrupacin de transacciones, reuniendo mltiples transacciones de varias


conexiones para incrementar el nmero de transacciones por segundo.

Tipos de compilacin del servidor[editar]


Hay tres tipos de compilacin del servidor MySQL:

Estndar: Los binarios estndar de MySQL son los recomendados para la


mayora de los usuarios, e incluyen el motor de almacenamiento InnoDB.
Max (No se trata de MaxDB, que es una cooperacin con SAP): Los binarios
incluyen caractersticas adicionales que no han sido lo bastante probadas o que
normalmente no son necesarias.
MySQL-Debug: Son binarios que han sido compilados con informacin de
depuracin extra. No debe ser usada en sistemas en produccin porque el cdigo
de depuracin puede reducir el rendimiento.

Especificaciones del cdigo fuente[editar]


MySQL est escrito en una mezcla de C y C++. Hay un documento que describe
algunas de sus estructuras internas en http://dev.mysql.com/doc/internals/en (en ingls).

Desarrollo del proyecto[editar]


El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados
por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales
y usuarios de la comunidad MySQL y dar solucin a los problemas encontrados por los
usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs
revisando el manual en lnea [2] que contiene las soluciones a problemas encontrados;
el historial de cambios [3]; la base de datos bugs [4] que contiene bugs reportados y
solucionados y en las listas de correo MySQL [5].
A travs de las listas de correo los usuarios pueden enviar preguntas y stas sern
contestadas por desarrolladores brindndoles mejor soporte.

Otras funcionalidades de las listas de correo[editar]

Anuncios: informan sobre nuevas versiones de MySQL y programas


relacionados.
MySQL: lista principal de discusin de MySQL y sql.
Bugs: permite a la gente buscar y arreglar bugs.
Temas internos: para gente que trabaja con el cdigo de MySQL. Es el frum
para discutir sobre el desarrollo de MySQL.
MySQLdoc: para gente que trabaja en documentacin.
Pruebas de rendimiento: para gente interesada en temas de rendimiento no slo
de MySQL, sino de otros motores de bases de datos.
Empaquetadores: para discusiones sobre empaquetamiento y distribucin de
MySQL.
Java: discusiones sobre MySQL Server y Java.

Otras listas de correo son: MyODBC, Herramientas GUI, Cluster, Dotnet, PlusPlus y
Perl.
Adicional a las listas de correo, se encuentra el soporte de IRC de la comunidad
MySQL. Adems, hay soporte a travs de foros [6] agrupados en categoras tales como:
Migracin, Uso de MySQL, Conectores MySQL, Tecnologa MySQL y Negocios.

Estructuras organizativas/asociativas o de
decisin[editar]
La direccin y el patrocinio de los proyectos MySQL estn a cargo de la empresa
MySQL AB quien posee el copyrigth del cdigo fuente MySQL, su logo y marca
registrada. MySQL, Inc. y MySQL GmbH son ejemplos de empresas subsidiarias de
MySQL AB. Estn establecidas en los Estados Unidos y Alemania respectivamente.
MySQL AB, cuenta con ms de 200 empleados en ms de 20 pases y funcionan bajo la
estrategia de teletrabajo.
En enero del 2008 Sun Microsystems anuncia su compra. En abril del 2009 Oracle
anunci la compra de Sun Microsystems.19

Industria relacionada[editar]

La LAMP comprende MySQL (aqu con Squid)


La industria radica en la venta de productos software y de algunos servicios
relacionados a numerosas empresas que utilizan estos productos.

MySQL AB clasifica los productos as:

MySQL Enterprise: incluye MySQL Enterprise Server, Monitoreo de la red


MySQL, servicios de consulta y soporte de produccin MySQL.
MySQL Cluster
MySQL Embedded Database.
MySQL Drivers: para JDBC, ODBC y.Net
MySQL Tools: MySQL Administrator, MySQL Query Browser, and the
MySQL Migration Toolkit.
MaxDB: MaxDB es una base de datos de cdigo abierto certificada para
SAP/R3.

Los ingresos de esta empresa por la venta de licencias privativas de sus productos y los
servicios suma los U$12 millones.

MySQL en cifras[editar]

Segn las cifras del fabricante, existiran ms de seis millones de copias de


MySQL funcionando en la actualidad, lo que supera la base instalada de
cualquier otra herramienta de bases de datos.
El trfico del sitio web de MySQL AB super en 2004 al del sitio de IBM.

Licencia[editar]
La licencia GNU GPL de MySQL obliga a que la distribucin de cualquier producto
derivado (aplicacin) se haga bajo esa misma licencia. Si un desarrollador desea
incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea
la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer
justamente eso.

Vase tambin[editar]

PostgreSQL
PHP (lenguaje comnmente usado con MySQL)
Base de datos
Bonsai CVS
WAMP
XAMPP
Appserv (abandonado?)
Firebird (RDBMS de cdigo abierto)
MariaDB (bifurcacin de MySQL)
Mecanismos de almacenamiento

Base de datos relacional


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda

Una Base de Datos Relacional, es una base de datos que cumple con el modelo
relacional, el cual es el modelo ms utilizado en la actualidad para implementar bases de
datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos
(que estn guardados en tablas), y a travs de dichas conexiones relacionar los datos de
ambas tablas, de ah proviene su nombre: "Modelo Relacional". Tras ser postuladas
sus bases 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.1

ndice
[ocultar]

1 Caractersticas
2 Elementos
o 2.1 Relaciones Base y Derivadas
o 2.2 Restricciones
o 2.3 Dominios
o 2.4 Clave primaria
o 2.5 Clave fornea
o 2.6 Clave ndice
o 2.7 Procedimientos almacenados
3 Estructura
4 Manipulacin de la informacin
5 Manejadores de base de datos relacionales
6 Ventajas y desventajas
o 6.1 Ventajas
o 6.2 Desventajas
7 Diseo de las bases de datos relacionales
8 Vase tambin
9 Referencias
10 Enlaces externos

Caractersticas[editar]

Una Base de Datos se compone de varias tablas o relaciones.


No pueden existir dos tablas con el mismo nombre ni registro.
Cada tabla es a su vez un conjunto de registros (filas y columnas).
La relacin entre una tabla padre y un hijo se lleva a cabo por medio de las
claves primarias y ajenas (o forneas).

Las claves primarias son la clave principal de un registro dentro de una tabla y
stas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la
clave primaria del registro padre; por medio de stas se hacen las formas
relacionales

Elementos[editar]
Relaciones Base y Derivadas[editar]
En una base de datos relacional, todos los datos se almacenan y se accede a ellos por
medio de relaciones. Las relaciones que almacenan datos son llamadas "relaciones base"
y su implementacin es llamada "tabla". Otras relaciones no almacenan datos, pero son
calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas "relaciones
derivadas" y su implementacin es llamada "vista" o "consulta". Las relaciones
derivadas son convenientes ya que expresan informacin de varias relaciones actuando
como si fuera una sola tabla.

Restricciones[editar]
Una restriccin es una limitacin que obliga el cumplimiento de ciertas condiciones en
la base de datos. Algunas no son determinadas por los usuarios, sino que son
inherentemente definidas por el simple hecho de que la base de datos sea relacional.
Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con
valores enteros entre 1 y 10.
Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las
restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se
definen usando expresiones que dan como resultado un valor booleano, indicando si los
datos satisfacen la restriccin o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque
juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto
con los conceptos relacionales.

Dominios[editar]
Un dominio describe un conjunto de posibles valores para cierto atributo. Como un
dominio restringe los valores del atributo, puede ser considerado como una restriccin.
Matemticamente, atribuir un dominio a un atributo significa "cualquier valor de este
atributo debe ser elemento del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.
Cada tabla puede tener uno o ms campos cuyos valores identifican de forma nica cada
registro de dicha tabla, es decir, no pueden existir dos o ms registros diferentes cuyos
valores en dichos campos sean idnticos. Este conjunto de campos se llama clave nica.
Pueden existir varias claves nicas en una determinada tabla, y a cada una de stas suele
llamrsele candidata a clave primaria.

Clave primaria[editar]
Una clave primaria es una clave nica elegida entre todas las candidatas que define
unvocamente a todos los dems atributos de la tabla, para especificar los datos que
sern relacionados con las dems tablas. La forma de hacer esto es por medio de claves
forneas.

Clave fornea[editar]
Una clave fornea es una referencia a una clave en otra tabla, determina la relacin
existente en dos tablas. Las claves forneas no necesitan ser claves nicas en la tabla
donde estn y s a donde estn referenciadas.
Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de
empleados. Se permite que haya varios empleados en un mismo departamento, pero
habr uno y slo un departamento por cada clave distinta de departamento en la tabla de
departamentos.

Clave ndice[editar]
Las claves ndice surgen con la necesidad de tener un acceso ms rpido a los datos. Los
ndices pueden ser creados con cualquier combinacin de campos de una tabla. Las
consultas que filtran registros por medio de estos campos, pueden encontrar los registros
de forma no secuencial usando la clave ndice.
Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada una
de ellas es ptima para cierta distribucin de datos y tamao de la relacin.
Los ndices generalmente no se consideran parte de la base de datos, pues son un detalle
agregado. Sin embargo, las claves ndices son desarrolladas por el mismo grupo de
programadores que las otras partes de la base de datos.

Procedimientos almacenados[editar]
Un procedimiento almacenado es cdigo ejecutable que se asocia y se almacena con la
base de datos. Los procedimientos almacenados usualmente recogen y personalizan
operaciones comunes, como insertar un registro dentro de una tabla, recopilar
informacin estadstica, o encapsular clculos complejos. Son frecuentemente usados
por un API por seguridad o simplicidad.
Los procedimientos almacenados no son parte del modelo relacional, pero todas las
implementaciones comerciales los incluyen.

Estructura[editar]
La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o
instancia).

El esquema es la definicin de la estructura de la base de datos y principalmente


almacena los siguientes datos:

El nombre de cada tabla


El nombre de cada columna
El tipo de dato de cada columna
La tabla a la que pertenece cada columna

Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalizacin, el resultado de dicho proceso es un esquema que permite que la base de
datos sea usada de manera ptima.
Los datos o instancia es el contenido de la base de datos en un momento dado. Es en s,
el contenido de todos los registros.

Manipulacin de la informacin[editar]
Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta
con dos lenguajes formales el lgebra relacional y el clculo relacional. El lgebra
relacional permite describir la forma de realizar una consulta, en cambio, el clculo
relacional slo indica lo que se desea devolver.
El lenguaje ms comn para construir las consultas a bases de datos relacionales es SQL
(Structured Query Language), un estndar implementado por los principales motores o
sistemas de gestin de bases de datos relacionales integradas.
En el modelo relacional los atributos deben estar explcitamente relacionados a un
nombre en todas las operaciones, en cambio, el estndar SQL permite usar columnas sin
nombre en conjuntos de resultados, como el asterisco taquigrfico (*) como notacin de
consultas.
Al contrario del modelo relacional, el estndar SQL requiere que las columnas tengan
un orden definido, lo cual es fcil de implementar en una computadora, ya que la
memoria es lineal.
Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos
en cierto conjunto de resultado nunca est garantizado, a no ser que explcitamente sea
especificado por el usuario.

Manejadores de base de datos relacionales[editar]


Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este
software se conoce como SGBD (Sistema de gestin de base de datos relacional) o
RDBMS (del ingls Relational Database Management System).
Entre los gestores o manejadores actuales ms populares encontramos:

MySQL
PostgreSQL,

Oracle,
DB2,
[[Informix]],
Interbase,
Firebird,
Sybase
Microsoft SQL Server

Ventajas y desventajas[editar]
Ventajas[editar]

Provee herramientas que garantizan evitar la duplicidad de registros.


Garantiza la integridad referencial, as, al eliminar un registro elimina todos los
registros relacionados dependientes.
Favorece la normalizacin por ser ms comprensible y aplicable.

Desventajas[editar]

Presentan deficiencias con datos grficos, multimedia, CAD y sistemas de


informacin geogrfica.
No se manipulan de forma manejable los bloques de texto como tipo de dato.
Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo
de satisfacer las necesidades de las aplicaciones anteriores y as, complementar
pero no sustituir a las bases de datos relacionales.

Diseo de las bases de datos relacionales[editar]


El primer paso para crear una base de datos, es planificar el tipo de informacin que se
quiere almacenar en la misma, teniendo en cuenta dos aspectos: la informacin
disponible y la informacin que necesitamos.
La planificacin de la estructura de la base de datos, en particular de las tablas, es vital
para la gestin efectiva de la misma. El diseo de la estructura de una tabla consiste en
una descripcin 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 definicin de un campo requiere: el nombre del campo,
el tipo de campo, el ancho del campo, etc.
Los registros constituyen la informacin que va contenida en los campos de la tabla, por
ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este.
Generalmente los diferentes tipos de campos que se pueden almacenar son los
siguientes: Texto (caracteres), Numrico (nmeros), Fecha / Hora, Lgico
(informaciones lgicas si/no, verdadero/falso, etc.), imgenes.

En resumen, el principal aspecto a tener en cuenta durante el diseo de una tabla es


determinar claramente los campos necesarios, definirlos en forma adecuada con un
nombre especificando su tipo y su longitud.

Vase tambin[editar]

Base de datos
Modelo relacional
Modelo entidad-relacin
Base de datos orientada a objetos

Referencias[editar]
1. Volver arriba Communications of the ACM, volume=13, issue=6, pages=377-387 en
ingls

Enlaces externos[editar]

Artculo sobre Como ocupar menos espacio de disco duro en bases de datos
relacionales
Blog sobre base de datos Oracle y alta disponibilidad
Comparacin entre Oracle y SQL Server

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Base_de_datos_relacional&oldid=82632081

Categoras:

Clave nica
Bases de datos

Base de datos multidimensional


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Las bases de datos multidimensionales se utilizan principalmente para crear
aplicaciones OLAP y pueden verse como bases de datos de una sola tabla, su
peculiaridad es que por cada dimensin tienen un campo (o columna), y otro campo por
cada mtrica o hecho, es decir estas tablas almacenan registros cuyos campos son de la
forma:

Donde los campos ' ' hacen referencia a las dimensiones de la tabla, y los campos ' '
a las mtricas o hechos que se quiere almacenar, estudiar o analizar.

ndice
[ocultar]

1 Bases de datos multidimensionales vs. Cubos OLAP


2 Implementacin
3 Ejemplo
4 Base de datos Multivaluada [1]
o 4.1 Historia
o 4.2 Concepto
o 4.3 Ejemplo
5 Vase tambin
6 Enlaces externos

Bases de datos multidimensionales vs. Cubos


OLAP[editar]
Cada una de estas tablas puede asimilarse a un hipercubo o -ms concretamente si de
herramientas OLAP se trata- a un cubo OLAP, donde las dimensiones del mismo se
corresponden los campos de dimensiones de la tabla (campos '
'), y el valor
almacenado en cada celda del cubo equivale a la mtrica o mtricas (campos '
')
almacenadas en la tabla.

Implementacin[editar]
Lo ms importante a tener en cuenta para implementar esta estructura de datos es que la
tabla contiene todas las n-tuplas, con los valores de las dimensiones, o ndice del cubo,
y los valores de las mtricas previamente calculados para el cruce de valores del ndice
en cuestin.

Ejemplo[editar]
Dada la siguiente especificacin para una tabla (o hipercubo) en una base de datos
multidimensional:
Dimensin (Tiempo, Productos)
Jerarqua (Ao->Semestre->Mes->Semana),(Categora->Lnea->Marca)
Elementos (2006, 2007, ..., S1-06, ..., Ene-06, ..., 200625....),
(Todos, Mquinas, Refacciones, Mquinas caras, Mquinas
Baratas, Mquina 1,...)
Hechos
(Ventas, Inventario, Defectos, Devoluciones)
Mtricas (PD:=Devoluciones/Ventas, %Defectos)

la tabla resultante podra tener la forma siguiente:


Tabla

Tiempo Productos
P/D %Defectos
2006
Todos
1/100
5%
Ene06
Mquina 1
10/10
100%
...

Ventas

Inventario

Defectos

Devoluciones

1000

200

50

10

10

100

10

10

Base de datos Multivaluada [1][editar]


Las bases de datos Multivaluadas (multivalue database) son un tipo especial de base de
datos multidimensionales, tambin llamadas bases de datos PICK por el primer
desarrollo que se realiz de este tipo, la aplicacin "Pick operating system".

Historia[editar]
El modelo de datos multivaluado fue definido por Don Nelson a mediados de los 60, y
en 1968 se realiz la primera implementacin de un sistema de bases de datos
multidimensional, este desarrollo se atribuye a Dick Pick (de ah que tambin se utilice
el trmino Base de datos para este tipo de bases de datos).

Concepto[editar]
El modelo de datos ms extendido es el modelo relacional, este modelo se basa en las
leyes de la normalizacin de bases de datos; segn ests normas, y concretamente,
segn la primera forma normal, un campo de una base de datos no puede contener
valores mltiples. En una base de datos multivaluada no se aplica la regla de la primera
forma normal, es decir, se permite que un campo pueda tener ms de un valor
almacenado.

Ejemplo[editar]
Supongamos una base de datos en la que queremos almacenar informacin de clientes;
se supone que cada cliente puede tener ms de un telfono. En el modelo relacional
habra que crear dos tablas o relaciones como estas:
Tabla 'Cliente'
ID Cliente Nombre Apellido
123
Rachel Ingram
456
James Wright
789
Maria Fernndez
Tabla 'Telfono cliente'
ID Cliente Telfono
123
555-861-2025
456
555-403-1659
456
555-776-4100
789
555-808-9633

En el modelo multivaluado la siguiente tabla (que no cumple la primera forma normal)


es perfectamente vlida:
Tabla 'Cliente'
ID Cliente Nombre Apellido Telfono
123
Rachel Ingram
555-861-2025
555-403-1659
456
James Wright
555-776-4100
789
Maria Fernndez 555-808-9633

Vase tambin[editar]

OLAP
Cubo OLAP
OLTP
Vector multidimensional
Minera de datos
Inteligencia empresarial (Business Intelligence)
Almacn de datos (Data Warehousing)

Enlaces externos[editar]

Modelo relacional
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
El modelo relacional para la gestin de una base de datos es un modelo de datos
basado en la lgica de predicados y en la teora de conjuntos. Es el modelo ms
utilizado en la actualidad para modelar problemas reales y administrar datos
dinmicamente. Tras ser postuladas sus bases 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 podran considerarse en
forma lgica como conjuntos de datos llamados tuplas. Pese a que sta es la teora de
las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces se
conceptualiza de una manera ms fcil de imaginar, esto es, pensando en cada relacin
como si fuese una tabla que est compuesta por registros (cada fila de la tabla sera un
registro o tupla), y columnas (tambin llamadas campos).

ndice
[ocultar]

1 Descripcin

o
o

1.1 Esquema
1.2 Instancias
2 Base de datos relacional
3 Vase tambin

Descripcin[editar]
En este modelo todos los datos son almacenados en relaciones, y como cada relacin es
un conjunto de datos, el orden en el que stos se almacenen no tiene relevancia (a
diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable
ventaja de que es ms fcil de entender y de utilizar por un usuario no experto. La
informacin puede ser recuperada o almacenada por medio de consultas que ofrecen una
amplia flexibilidad y poder para administrar la informacin.
Este modelo considera la base de datos como una coleccin de relaciones. De manera
simple, una relacin representa una tabla que no es ms que un conjunto de filas, cada
fila es un conjunto de campos y cada campo representa un valor que interpretado
describe el mundo real. Cada fila tambin se puede denominar tupla o registro y a cada
columna tambin se le puede llamar campo o atributo.
Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta
con dos lenguajes formales el lgebra relacional y el Clculo relacional. El lgebra
relacional permite describir la forma de realizar una consulta, en cambio, el Clculo
relacional slo indica lo que se desea devolver.

Esquema[editar]
Un esquema contiene la definicin de una estructura (generalmente relaciones o tablas
de una base de datos), es decir, determina la identidad de la relacin y qu tipo de
informacin podr ser almacenada dentro de ella; en otras palabras, el esquema contiene
los meta dato de la relacin. Todo esquema constar de:

Nombre de la relacin (su identificador).


Nombre de los atributos (o campos) de la relacin y sus dominios; el dominio de
un atributo o campo define los valores permitidos para el mismo, equivalente al
tipo de dato por ejemplo character, integer, date, string...

Instancias[editar]
Una instancia de manera formal es la aplicacin de un esquema a un conjunto finito de
datos. En palabras no tan tcnicas, se puede definir como el contenido de una tabla en
un momento dado, pero tambin es valido referirnos a una instancia cuando trabajamos
o mostramos nicamente un subconjunto de la informacin contenida en una relacin o
tabla, como por ejemplo:

Ciertos caracteres y nmeros (una sola columna de una sola fila).


Algunas o todas las filas con todas o algunas columnas

Cada fila es una tupla. El nmero de filas es llamado cardinalidad.

El nmero de columnas es llamado aridad o grado.

Base de datos relacional[editar]


Artculo principal: Base de datos relacional

Una base de datos relacional es un conjunto de una o ms tablas estructuradas en


registros (lneas) y campos (columnas), que se vinculan entre s por un campo en
comn, en ambos casos posee las mismas caractersticas como por ejemplo el nombre
de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador
o clave. A esta manera de construir bases de datos se le denomina modelo relacional.
Estrictamente hablando el trmino se refiere a una coleccin especfica de datos pero a
menudo se le usa, en forma errnea como sinnimo del software usado para gestionar
esa coleccin de datos. Ese software se conoce como SGBD (sistema gestor de base de
datos) relacional o RDBMS (del ingls relational database management system).
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalizacin de una base de datos, el cual es entendido como el proceso necesario para
que una base de datos sea utilizada de manera ptima.
Entre las ventajas de este modelo estn:
1. Garantiza herramientas para evitar la duplicidad de registros, a travs de campos
claves o llaves.
2. Garantiza la integridad referencial: As al eliminar un registro elimina todos los
registros relacionados dependientes.
3. Favorece la normalizacin por ser ms comprensible y aplicable.

Vase tambin[editar]

12 reglas de Codd
Hugh Darwen
Bases de datos
Modelo de Datos
lgebra relacional
Clculo relacional
Modelo entidad-relacin
SQL Lenguaje de consulta estructurado.
Tabla
Registro
Campo

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Modelo_relacional&oldid=82743659
Categora:

Modelos de bases de datos

Base de datos de red


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas
de Internet fidedignas. Este aviso fue puesto el 3 de octubre de 2013.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|Base de datos de red}} ~~~~

Una base de datos de red es una base de datos conformada por una coleccin o set de
registros, los cuales estn conectados entre s por medio de enlaces en una red. El
registro es similar al de una entidad como las empleadas en el modelo relacional.
Un registro es una coleccin o conjunto de campos (atributos), donde cada uno de ellos
contiene solamente un nico valor almacenado.
El enlace es exclusivamente la asociacin entre dos registros, as que podemos verla
como una relacin estrictamente binaria.
Una estructura de base de datos de red, llamada algunas veces estructura de plex,
abarca ms que la estructura de rbol: un nodo hijo en la estructura red puede tener ms
de un nodo padre. En otras palabras, la restriccin de que en un rbol jerrquico cada
hijo puede tener slo un padre, se hace menos severa.
As, la estructura de rbol se puede considerar como un caso especial de la estructura
de red.

Ejemplo[editar]
Para ilustrar la estructura de los registros en una base de datos de red, mostraremos la
base de datos alumno materia, con los siguientes registros (en el Lenguaje de
programacin Pascal):
type materia = record
clave: string[]
nombreM: string[]
cred: string[2]
end;
type alumno = record
nombre: string[30];
control: string[8];
materia: Materia; {Enlace a materia}
end;

En sntesis una base de datos en red puede tener 1 o ms elementos padre.

Vase tambin[editar]

Base de datos
Base de datos relacional
Modelo relacional

Base de datos jerrquica


De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Se ha sugerido que este artculo o seccin sea fusionado en Modelo
jerrquico (discusin).
Una vez que hayas realizado la fusin de artculos, pide la fusin de historiales aqu.

Una base de datos jerrquica es un tipo de sistema de gestin de bases de datos que,
como su nombre indica, almacena la informacin en una estructura jerrquica que
enlaza los registros en forma de estructura de rbol (similar a un rbol visto al revs), en
donde un nodo padre de informacin puede tener varios nodos hijo, y as
sucesivamente.
Esta relacin jerrquica no es estrictamente obligatoria, de manera que pueden
establecerse relaciones entre nodos hermanos, y en este caso, la estructura en forma de
rbol se convierte en una estructura en forma de grafo dirigido (esta variante se
denomina Bases de datos de red).

ndice
[ocultar]

1 Cmo funcionan
2 Limitaciones del modelo jerrquico
o 2.1 Duplicidad de registros
o 2.2 Integridad referencial
o 2.3 Desnormalizacin
3 Gestores de bases de datos jerrquicas
4 Vase tambin
5 Enlaces externos

Cmo funcionan[editar]
A diferencia del modelo relacional, el modelo jerrquico no diferencia una vista lgica
de una vista fsica de la base de datos. De manera que las relaciones entre datos se
establecen siempre a nivel fsico, es decir, mediante referencia a direcciones fsicas del
medio de almacenamiento (sectores y pistas).

Los datos se almacenan en la forma de registros, el equivalente a las tuplas del modelo
relacional. Cada registro consta de un conjunto de campos, el equivalente a los
atributos del modelo relacional. Un conjunto de registros con los mismos campos se
denomina fichero (record type, en ingls), el equivalente a las relaciones del modelo
relacional.
El modelo jerrquico facilita relaciones padre-hijo, es decir, relaciones 1:N (de uno a
varios) del modelo relacional. Pero a diferencia de ste ltimo, las relaciones son
unidireccionales. En justicia, dichas relaciones son hijo-padre, pero no padre-hijo. Por
ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con el registro de su
departamento (nodo padre), pero no al contrario. Esto implica que solamente se puede
consultar la base de datos desde los nodos hoja hacia el nodo raz. La consulta en el
sentido contrario requiere una bsqueda secuencial por todos los registros de la base de
datos (por ejemplo, para consultar todos los empleados de un departamento). En las
bases de datos jerrquicas no existen ndices que faciliten esta tarea[cita requerida].
Obsrvese que, a priori, no existen relaciones N:M (de muchos a muchos) en el modelo
jerrquico. Salvo que se simulen mediante varias relaciones 1:N. No obstante, esto
puede provocar problemas de inconsistencia, ya que el gestor de base de datos no
controla estas relaciones.
Como ya se ha mencionado, las relaciones se establecen mediante punteros entre
registros. Es decir, un registro hijo contiene la direccin fsica en el medio de
almacenamiento de su registro padre. Esto tiene una ventaja fundamental sobre las
bases de datos relacionales: el rendimiento. El acceso de un registro a otro es
prcticamente inmediato sin necesidad de consultar tablas de correspondencia.
Las relaciones jerrquicas entre diferentes tipos de datos pueden hacer que sea muy
sencillo responder a determinadas preguntas, pero muy difcil el contestar a otras.

Limitaciones del modelo jerrquico[editar]


A continuacin se mencionan los problemas tpicos de las bases de datos jerrquicas y
que no existen en las bases de datos relacionales. Todos estos problemas derivan del
hecho de que el sistema gestor de base de datos no implementa ningn control sobre los
propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen
las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de
registros). Dado que todas las aplicaciones estn sujetas a errores y fallos, esto es
imposible en la prctica. Adems dichas condiciones suelen romperse ex profeso por
motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin
evaluarse sus consecuencias.

Duplicidad de registros[editar]
No se garantiza la inexistencia de registros duplicados. Esto tambin es cierto para los
campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan
diferentes valores en un subconjunto concreto de campos.

Integridad referencial[editar]

No existe garanta de que un registro hijo est relacionado con un registro padre vlido.
Por ejemplo, es posible borrar un nodo padre sin eliminar antes los nodos hijo, de
manera que stos ltimos estn relacionados con un registro invlido o inexistente..

Desnormalizacin[editar]
Este no es tanto un problema del modelo jerrquico como del uso que se hace de l. Sin
embargo, a diferencia del modelo relacional, las bases de datos jerrquicas no tienen
controles que impidan la desnormalizacin de una base de datos. Por ejemplo, no existe
el concepto de campos clave o campos nicos.
La desnormalizacin permite ingresar redundancia de una forma controlada, seguir a
una serie de pasos conlleva a:

Combinar las relaciones


Duplicar los atributos no claves
Introduccin de grupos repetitivos
Crear tablas de extraccin

Cuando se debe desnormalizar:

Se debe desnormalizar para optimizar el esquema relacional


Para hacer referencia a la combinacin de 2 relaciones que forman una sola
relacin

Ejemplo:
Proveedor (Nro_proveedor, calle, ciudad, cod_postal, descripcin) La relacin
Proveedor esta desnormalizada, ya que para normalizarla deberamos crear una tabla
con ciudad y cdigo postal

Gestores de bases de datos jerrquicas[editar]

Adabas
GT.M
IMS
Focus

Vase tambin[editar]

Base de datos
Base de datos relacional

Enlaces externos[editar]

Base de datos Adabas, de Software AG.

Normalizacin de bases de datos

De Wikipedia, la enciclopedia libre


Saltar a: navegacin , bsqueda
El proceso de normalizacin de bases de datos consiste en designar y aplicar una serie
de reglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelo
relacional.
Las bases de datos relacionales se normalizan para:

Evitar la redundancia de los datos.


Disminuir problemas de actualizacin de los datos en las tablas.
Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una
tabla sea considerada como una relacin 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.

Figura 1.0: Trabajo (Cdigo, Nombre, Posicin, Salario), donde Cdigo es la Clave
Primaria.

Relacin = tabla o archivo


Registro = registro, fila , rengln o tupla
Atributo = columna o campo
Clave = llave o cdigo de identificacin
Clave Candidata = superclave mnima
Clave Primaria = clave candidata elegida
Clave Ajena (o fornea) = clave externa o clave fornea
Clave Alternativa = clave secundaria
Dependencia Multivaluada = dependencia multivalor
RDBMS = Del ingls Relational Data Base Manager System que significa,
Sistema Gestor de Bases de Datos Relacionales.
1FN = Significa, Primera Forma Normal o 1NF del ingls First Normal Form.

Los trminos Relacin, Tupla y Atributo derivan del lgebra y clculo relacional, que
constituyen la fuente terica del modelo de base de datos relacional.

Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valores
que el mismo puede tomar. Una instancia de una tabla puede verse entonces como un
subconjunto del producto cartesiano entre los dominios de los atributos. Sin embargo,
suele haber algunas diferencias con la analoga matemtica, ya que algunos RDBMS
permiten filas duplicadas, entre otras cosas. Finalmente, una tupla puede razonarse
matemticamente como un elemento del producto cartesiano entre los dominios.

ndice
[ocultar]

1 Dependencias
o 1.1 Dependencia funcional
o 1.2 Propiedades de la dependencia funcional
1.2.1 Dependencia funcional reflexiva
1.2.2 Dependencia funcional Aumentativa
1.2.3 Dependencia funcional transitiva
o 1.3 Propiedades deducidas
1.3.1 Unin
1.3.2 Pseudo-Transitiva
1.3.3 Descomposicin
2 Claves
3 Formas normales
o 3.1 Primera Forma Normal (1FN)
o 3.2 Segunda Forma Normal (2FN)
o 3.3 Tercera Forma Normal (3FN)
o 3.4 Forma normal de Boyce-Codd (FNBC)
o 3.5 Cuarta Forma Normal (4FN)
o 3.6 Quinta Forma Normal (5FN)
4 Reglas de Codd
o 4.1 Regla No. 1 - La Regla de la informacin
o 4.2 Regla No. 2 - La regla del acceso garantizado
o 4.3 Regla No. 3 - Tratamiento sistemtico de los valores nulos
o 4.4 Regla No. 4 - La regla de la descripcin de la base de datos
o 4.5 Regla No. 5 - La regla del sub-lenguaje Integral
o 4.6 Regla No. 6 - La regla de la actualizacin de vistas
o 4.7 Regla No. 7 - La regla de insertar y actualizar
o 4.8 Regla No. 8 - La regla de independencia fsica
o 4.9 Regla No. 9 - La regla de independencia lgica
o 4.10 Regla No. 10 - La regla de la independencia de la integridad
4.10.1 Las reglas de integridad
o 4.11 Regla No. 11 - La regla de la distribucin
o 4.12 Regla No. 12 - Regla de la no-subversin
5 Vase tambin
6 Referencias

Dependencias[editar]
Dependencia funcional[editar]

B es funcionalmente dependiente de A.
Una dependencia funcional es una conexin entre uno o ms atributos. Por ejemplo si se
conoce el valor de DNI tiene una conexin con Apellido o Nombre .
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la
siguiente manera:
FechaDeNacimiento

Edad

De la normalizacin (lgica) a la implementacin (fsica o real) puede ser sugerible


tener stas dependencias funcionales para lograr la eficiencia en las tablas.

Propiedades de la dependencia funcional[editar]


Existen tres axiomas de Armstrong:
Dependencia funcional reflexiva[editar]
Si "y" est incluido en "x" entonces x

A partir de cualquier atributo o conjunto de atributos siempre puede deducirse l


mismo. Si la direccin o el nombre de una persona estn incluidos en el DNI, entonces
con el DNI podemos determinar la direccin o su nombre.
Dependencia funcional Aumentativa[editar]
entonces
DNI

nombre

DNI,direccin

nombre,direccin

Si con el DNI se determina el nombre de una persona, entonces con el DNI ms la


direccin tambin se determina el nombre y su direccin.
Dependencia funcional transitiva[editar]

Dependencia funcional transitiva.

Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende


funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice entonces
que Z depende transitivamente de X. Simblicamente sera:
X

Z entonces X

FechaDeNacimiento
Edad

Z
Edad

Conducir

FechaDeNacimiento

Edad

Conducir

Entonces tenemos que FechaDeNacimiento determina a Edad y la Edad determina a


Conducir, indirectamente podemos saber a travs de FechaDeNacimiento a Conducir
(En muchos pases, una persona necesita ser mayor de cierta edad para poder conducir
un automvil, por eso se utiliza este ejemplo).
"C ser un dato simple (dato no primario), B,ser un otro dato simple (dato no
primario), A, es la llave primaria (PK). Decimos que C dependera de B y B dependera
funcionalmente de A."

Propiedades deducidas[editar]
Unin[editar]
y

entonces

Pseudo-Transitiva[editar]
y

entonces

Descomposicin[editar]
y est incluido en entonces

Claves[editar]
Una clave primaria es aquella columna (o conjunto de columnas) que identifica
unvocamente a cada fila. La clave primaria es un identificador que va a ser siempre
nico para cada fila. Se acostumbra a poner la clave primaria como la primera columna
de la tabla pero es ms una conveniencia que una obligacin. Muchas veces la clave
primaria es numrica auto-incrementada, es decir, generada mediante una secuencia
numrica incrementada automticamente cada vez que se inserta una fila.
En una tabla puede que tengamos ms de una columna que puede ser clave primaria por
s misma. En ese caso se puede escoger una para ser la clave primaria y las dems
claves sern claves candidatas.

Una clave ajena (foreign key o clave fornea) es aquella columna que existiendo
como dependiente en una tabla, es a su vez clave primaria en otra tabla.
Una clave alternativa es aquella clave candidata que no ha sido seleccionada como
clave primaria, pero que tambin puede identificar de forma nica a una fila dentro de
una tabla. Ejemplo: Si en una tabla clientes definimos el nmero de documento
(id_cliente) como clave primaria, el nmero de seguro social de ese cliente podra ser
una clave alternativa. En este caso no se us como clave primaria porque es posible que
no se conozca ese dato en todos los clientes.
Una clave compuesta es una clave que est compuesta por ms de una columna.
La visualizacin de todas las posibles claves candidatas en una tabla ayudan a su
optimizacin. Por ejemplo, en una tabla PERSONA podemos identificar como claves su
DNI, o el conjunto de su nombre, apellidos, fecha de nacimiento y direccin. Podemos
usar cualquiera de las dos opciones o incluso todas a la vez como clave primaria, pero
es mejor en la mayora de sistemas la eleccin del menor nmero de columnas como
clave primaria.

Formas normales[editar]
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 estn en la forma
normal N.

Diagrama de inclusin de todas las formas normales.


En general, las primeras tres formas normales son suficientes para cubrir las
necesidades de la mayora de las bases de datos. El creador de estas 3 primeras formas
normales (o reglas) fue Edgar F. Codd.1

Primera Forma Normal (1FN)[editar]


Artculo principal: Primera forma normal

Una tabla est en Primera Forma Normal si:

Todos los atributos son atmicos. Un atributo es atmico si los elementos del
dominio son simples e indivisibles.
La tabla contiene una clave primaria nica.
La clave primaria no contiene atributos nulos.

No debe existir variacin en el nmero 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

Esta forma normal elimina los valores repetidos dentro de una Base de Datos.

Segunda Forma Normal (2FN)[editar]


Artculo principal: Segunda forma normal

Dependencia Funcional. Una relacin 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).
En otras palabras podramos decir que la segunda forma normal est basada en el
concepto de dependencia completamente funcional. Una dependencia funcional
es completamente funcional si al eliminar los atributos A de X significa que la
dependencia no es mantenida, esto es que
. Una
dependencia funcional
es una dependencia parcial si hay algunos atributos
que pueden ser eliminados de X y la dependencia todava se mantiene, esto es
.
Por ejemplo {DNI, ID_PROYECTO} HORAS_TRABAJO (con el DNI de un
empleado y el ID de un proyecto sabemos cuntas horas de trabajo por semana trabaja
un empleado en dicho proyecto) es completamente funcional dado que ni DNI
HORAS_TRABAJO ni ID_PROYECTO HORAS_TRABAJO mantienen la
dependencia. Sin embargo {DNI, ID_PROYECTO} NOMBRE_EMPLEADO es
parcialmente dependiente dado que DNI NOMBRE_EMPLEADO mantiene la
dependencia.

Tercera Forma Normal (3FN)[editar]


Artculo principal: Tercera forma normal

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 sera que, una dependencia funcional X->Y en un esquema
de relacin 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.
Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en
EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el
atributo clave SSN es transitiva va DNUMBER porque las dependencias
SSNDNUMBER y DNUMBERDMGRSSN son mantenidas, y DNUMBER no es
un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la

dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que


DNUMBER no es una clave de EMP_DEPT.
Formalmente, un esquema de relacin
para toda dependencia funcional
condiciones:
1.
2.

est en 3 Forma Normal Elmasri-Navathe,2 si


, se cumple al menos una de las siguientes

es superllave o clave.
es atributo primo de ; esto es, si es miembro de alguna clave en

Adems el esquema debe cumplir necesariamente, con las condiciones de segunda


forma normal.

Forma normal de Boyce-Codd (FNBC)[editar]


Artculo principal: Forma normal de Boyce-Codd

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 formalizacin perpetua, es decir las variantes
creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.
Formalmente, un esquema de relacin est en FNBC, si y slo si, para toda
dependencia funcional
vlida en , se cumple que
1.

es superllave o clave.

De esta forma, todo esquema que cumple FNBC, est adems en 3FN; sin embargo,
no todo esquema que cumple con 3FN, est en FNBC.

Cuarta Forma Normal (4FN)[editar]


Artculo principal: Cuarta forma normal

Una tabla se encuentra en 4FN si, y slo si, para cada una de sus dependencias mltiples
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)[editar]


Artculo principal: Quinta forma normal

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
slo si, cada relacin de dependencia se encuentra definida por claves
candidatas.

Reglas de Codd[editar]
Codd se percat de que existan bases de datos en el mercado las cuales decan ser
relacionales, pero lo nico que hacan era guardar la informacin en las tablas, sin estar
estas tablas literalmente normalizadas; entonces ste public 12 reglas que un verdadero
sistema relacional debera tener, en la prctica algunas de ellas son difciles de realizar.
Un sistema podr considerarse "ms relacional" cuanto ms siga estas reglas.

Regla No. 1 - La Regla de la informacin[editar]


Toda la informacin en un RDBMS est explcitamente representada de una sola
manera por valores en una tabla.
Cualquier cosa que no exista en una tabla no existe del todo. Toda la informacin,
incluyendo nombres de tablas, nombres de vistas, nombres de columnas, y los datos de
las columnas deben estar almacenados en tablas dentro de las bases de datos. Las tablas
que contienen tal informacin constituyen el Diccionario de Datos. Esto significa que
todo tiene que estar almacenado en las tablas.
Toda la informacin en una base de datos relacional se representa explcitamente en el
nivel lgico exactamente de una manera: con valores en tablas. Por tanto los metadatos
(diccionario, catlogo) se representan exactamente igual que los datos de usuario. Y
puede usarse el mismo lenguaje (ej. SQL) para acceder a los datos y a los metadatos
(regla 4).

Regla No. 2 - La regla del acceso garantizado[editar]


Cada tem de datos debe ser lgicamente accesible al ejecutar una bsqueda que
combine el nombre de la tabla, su clave primaria, y el nombre de la columna.
Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el
nombre de la columna requerida, deber encontrarse uno y solamente un valor. Por esta
razn la definicin de claves primarias para todas las tablas es prcticamente
obligatoria.

Regla No. 3 - Tratamiento sistemtico de los valores nulos[editar]


La informacin inaplicable o faltante puede ser representada a travs de valores nulos
Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de
soportar el uso de valores nulos en el lugar de columnas cuyos valores sean
desconocidos.
Se reconoce la necesidad de la existencia del valor nulo, el cual podra servir para
representar, o bien, una informacin desconocida (ejemplo, no se sabe la direccin de
un empleado), o bien una informacin que no aplica(a un empleado soltero no se le
puede asignar un nombre de esposa). As mismo, consideremos el caso de un alumno
que obtiene 0 puntos en una prueba y el de un alumno que no present la prueba.

Hay problemas para soportar los valores nulos en las operaciones relacionales,
especialmente en las operaciones lgicas, para lo cual se considera una lgica
trivaluada, con tres (no dos) valores de verdad: Verdadero, Falso y null. Se crean tablas
de verdad para las operaciones lgicas:

null AND null = null


Verdadero AND null = null
Falso AND null = Falso
Verdadero OR null = Verdadero, etc.

Regla No. 4 - La regla de la descripcin de la base de datos[editar]


La descripcin de la base de datos es almacenada de la misma manera que los datos
ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios
autorizados.
La informacin de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe
ser almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser
accesibles igual que todas las tablas, a travs de sentencias de SQL (o similar).

Regla No. 5 - La regla del sub-lenguaje Integral[editar]


Debe haber al menos un lenguaje que sea integral para soportar la definicin de datos,
manipulacin de datos, definicin de vistas, restricciones de integridad, y control de
autorizaciones y transacciones.
Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida
que pueda ser usado para administrar completamente la base de datos.

Regla No. 6 - La regla de la actualizacin de vistas[editar]


Todas las vistas que son tericamente actualizables, deben ser actualizables por el
sistema mismo.
La mayora de las RDBMS permiten actualizar vistas simples, pero deshabilitan los
intentos de actualizar vistas complejas.

Regla No. 7 - La regla de insertar y actualizar[editar]


La capacidad de manejar una base de datos con operandos simples aplica no slo para
la recuperacin o consulta de datos, sino tambin para la insercin, actualizacin y
borrado de datos'.
Esto significa que las clusulas para leer, escribir, eliminar y agregar registros
(SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y

operables, independientemente del tipo de relaciones y restricciones que haya entre las
tablas o no.

Regla No. 8 - La regla de independencia fsica[editar]


El acceso de usuarios a la base de datos a travs de terminales o programas de
aplicacin, debe permanecer consistente lgicamente cuando quiera que haya cambios
en los datos almacenados, o sean cambiados los mtodos de acceso a los datos.
El comportamiento de los programas de aplicacin y de la actividad de usuarios va
terminales debera ser predecible basados en la definicin lgica de la base de datos, y
ste comportamiento debera permanecer inalterado, independientemente de los
cambios en la definicin fsica de sta.

Regla No. 9 - La regla de independencia lgica[editar]


Los programas de aplicacin y las actividades de acceso por terminal deben
permanecer lgicamente inalteradas cuando quiera que se hagan cambios (segn los
permisos asignados) en las tablas de la base de datos.
La independencia lgica de los datos especifica que los programas de aplicacin y las
actividades de terminal deben ser independientes de la estructura lgica, por lo tanto los
cambios en la estructura lgica no deben alterar o modificar estos programas de
aplicacin.

Regla No. 10 - La regla de la independencia de la integridad[editar]


Todas las restricciones de integridad deben ser definibles en los datos, y almacenables
en el catlogo, no en el programa de aplicacin.
Las reglas de integridad[editar]
1. Ningn componente de una clave primaria puede tener valores en blanco o nulos
(sta es la norma bsica de integridad).
2. Para cada valor de clave fornea deber existir un valor de clave primaria
concordante. La combinacin de estas reglas aseguran que haya integridad
referencial.

Regla No. 11 - La regla de la distribucin[editar]


El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos
est distribuida fsicamente en distintos lugares sin que esto afecte o altere a los
programas de aplicacin.
El soporte para bases de datos distribuidas significa que una coleccin arbitraria de
relaciones, bases de datos corriendo en una mezcla de distintas mquinas y distintos
sistemas operativos y que est conectada por una variedad de redes, pueda funcionar
como si estuviera disponible como en una nica base de datos en una sola mquina.

Regla No. 12 - Regla de la no-subversin[editar]


Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden
ser usados para violar la integridad de las reglas y restricciones expresadas en un
lenguaje de alto nivel (como SQL).
Algunos productos solamente construyen una interfaz relacional para sus bases de datos
No relacionales, lo que hace posible la subversin (violacin) de las restricciones de
integridad. Esto no debe ser permitido.

Vase tambin[editar]

1NF - 2NF - 3NF - BCNF - 4NF - 5NF - DKNF - 6NF - Denormalizacin


Edgar Frank Codd
Base de datos

Referencias[editar]
1. Volver arriba A Relational Model of Data for Large Shared Data Banks
Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387 [1]
2. Volver arriba Fundamentals of DATABASE SYSTEMS Addison-Wesley;, ISBN-10:
0321122267, ISBN-13: 978-0321122261,

E.F.Codd (junio de 1970). "A Relational Model of Data for Large Shared
Databanks". Communications of the ACM.
C.J.Date (1994). "An Introduction to Database Systems". Addison-Wesley.

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Normalizacin_de_bases_de_datos&oldid=8
2721182
Categora:

Normalizacin de bases de datos

Men de navegacin
Herramientas personales

Crear una cuenta


Acceder

Espacios de nombres

Artculo
Discusin

Variantes
Vistas

Leer
Editar
Ver historial

Ms
Buscar

Navegacin

Portada
Portal de la comunidad
Actualidad
Cambios recientes
Pginas nuevas
Pgina aleatoria
Ayuda
Donaciones
Notificar un error

Imprimir/exportar

Crear un libro
Descargar como PDF
Versin para imprimir

Herramientas

Lo que enlaza aqu


Cambios en enlazadas
Subir archivo
Pginas especiales
Enlace permanente
Informacin de la pgina
Elemento de Wikidata
Citar esta pgina

En otros idiomas


etina
Deutsch
English


Suomi
Franais

Hrvatski
Italiano

Latvieu

Nederlands
Norsk bokml
Polski
Portugus

Srpskohrvatski /
Simple English
Slovenina
Shqip
/ srpski
Svenska

Trke

Ting Vit

Editar enlaces

Esta pgina fue modificada por ltima vez el 25 may 2015 a las

Minera de datos
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda
Se ha sugerido que Tratamiento de base de datos sea fusionado en este
artculo o seccin (discusin).
Una vez que hayas realizado la fusin de artculos, pide la fusin de historiales aqu.

La minera de datos o exploracin de datos (es la etapa de anlisis de "Knowledge


Discovery in Databases" o KDD) es un campo de las ciencias de la computacin
referido al proceso que intenta descubrir patrones en grandes volmenes de conjuntos de
datos.1 Utiliza los mtodos de la inteligencia artificial, aprendizaje automtico,
estadstica y sistemas de bases de datos. El objetivo general del proceso de minera de
datos consiste en extraer informacin de un conjunto de datos y transformarla en una
estructura comprensible para su uso posterior. Adems de la etapa de anlisis en bruto,
que involucra aspectos de bases de datos y de gestin de datos, de procesamiento de

datos, del modelo y de las consideraciones de inferencia, de mtricas de Intereses, de


consideraciones de la Teora de la complejidad computacional, de post-procesamiento
de las estructuras descubiertas, de la visualizacin y de la actualizacin en lnea.
El trmino es una palabra de moda, y es frecuentemente mal utilizado para referirse a
cualquier forma de datos a gran escala o procesamiento de la informacin (recoleccin,
extraccin, almacenamiento, anlisis y estadsticas), pero tambin se ha generalizado a
cualquier tipo de sistema de apoyo informtico decisin, incluyendo la inteligencia
artificial, aprendizaje automtico y la inteligencia empresarial. En el uso de la palabra,
el trmino clave es el descubrimiento, comnmente se define como "la deteccin de
algo nuevo". Incluso el popular libro "La minera de datos: sistema de prcticas
herramientas de aprendizaje y tcnicas con Java" (que cubre todo el material de
aprendizaje automtico) originalmente iba a ser llamado simplemente "la mquina de
aprendizaje prctico", y el trmino "minera de datos" se aadi por razones de
marketing. A menudo, los trminos ms generales "(gran escala) el anlisis de datos", o
"anlisis" -. o cuando se refiere a los mtodos actuales, la inteligencia artificial y
aprendizaje automtico, son ms apropiados.
La tarea de minera de datos real es el anlisis automtico o semi-automtico de grandes
cantidades de datos para extraer patrones interesantes hasta ahora desconocidos, como
los grupos de registros de datos (anlisis clster), registros poco usuales (la deteccin de
anomalas) y dependencias (minera por reglas de asociacin). Esto generalmente
implica el uso de tcnicas de bases de datos como los ndices espaciales. Estos patrones
pueden entonces ser vistos como una especie de resumen de los datos de entrada, y
pueden ser utilizados en el anlisis adicional o, por ejemplo, en la mquina de
aprendizaje y anlisis predictivo. Por ejemplo, el paso de minera de datos podra
identificar varios grupos en los datos, que luego pueden ser utilizados para obtener
resultados ms precisos de prediccin por un sistema de soporte de decisiones. Ni la
recoleccin de datos, preparacin de datos, ni la interpretacin de los resultados y la
informacin son parte de la etapa de minera de datos, pero que pertenecen a todo el
proceso KDD como pasos adicionales.
Los trminos relacionados con la obtencin de datos, la pesca de datos y espionaje de
los datos se refieren a la utilizacin de mtodos de minera de datos a las partes de la
muestra de un conjunto de datos de poblacin ms grandes establecidas que son (o
pueden ser) demasiado pequeas para las inferencias estadsticas fiables que se hizo
acerca de la validez de cualquier patrn descubierto. Estos mtodos pueden, sin
embargo, ser utilizados en la creacin de nuevas hiptesis que se prueban contra
poblaciones de datos ms grandes.

ndice
[ocultar]

1 Proceso
2 Protocolo de un proyecto de minera de datos
3 Tcnicas de minera de datos
4 Ejemplos de uso de la minera de datos
o 4.1 Negocios
4.1.1 Anlisis de la cesta de la compra

4.1.2 Patrones de fuga


4.1.3 Fraudes
4.1.4 Recursos humanos
o 4.2 Comportamiento en Internet
o 4.3 Terrorismo
o 4.4 Juegos
o 4.5 Ciencia e Ingeniera
4.5.1 Gentica
4.5.2 Ingeniera elctrica
4.5.3 Anlisis de gases
5 Minera de datos y otras disciplinas anlogas
o 5.1 De la estadstica
o 5.2 De la informtica
6 Minera de datos basada en teora de la informacin
7 Tendencias
8 Herramientas de software
9 Vase tambin
10 Referencias
11 Enlaces externos

Proceso[editar]
Un proceso tpico de minera de datos consta de los siguientes pasos generales:
1. Seleccin del conjunto de datos, tanto en lo que se refiere a las variables
objetivo (aquellas que se quiere predecir, calcular o inferir), como a las variables
independientes (las que sirven para hacer el clculo o proceso), como
posiblemente al muestreo de los registros disponibles.
2. Anlisis de las propiedades de los datos, en especial los histogramas,
diagramas de dispersin, presencia de valores atpicos y ausencia de datos
(valores nulos).
3. Transformacin del conjunto de datos de entrada, se realizar de diversas
formas en funcin del anlisis previo, con el objetivo de prepararlo para aplicar
la tcnica de minera de datos que mejor se adapte a los datos y al problema, a
este paso tambin se le conoce como preprocesamiento de los datos.
4. Seleccionar y aplicar la tcnica de minera de datos, se construye el modelo
predictivo, de clasificacin o segmentacin.
5. Extraccin de conocimiento, mediante una tcnica de minera de datos, se
obtiene un modelo de conocimiento, que representa patrones de comportamiento
observados en los valores de las variables del problema o relaciones de
asociacin entre dichas variables. Tambin pueden usarse varias tcnicas a la
vez para generar distintos modelos, aunque generalmente cada tcnica obliga a
un preprocesado diferente de los datos.
6. Interpretacin y evaluacin de datos, una vez obtenido el modelo, se debe
proceder a su validacin comprobando que las conclusiones que arroja son
vlidas y suficientemente satisfactorias. En el caso de haber obtenido varios
modelos mediante el uso de distintas tcnicas, se deben comparar los modelos en
busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos
alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores
para generar nuevos modelos.

Si el modelo final no superara esta evaluacin el proceso se podra repetir desde el


principio o, si el experto lo considera oportuno, a partir de cualquiera de los pasos
anteriores. Esta retroalimentacin se podr repetir cuantas veces se considere necesario
hasta obtener un modelo vlido.
Una vez validado el modelo, si resulta ser aceptable (proporciona salidas adecuadas y/o
con mrgenes de error admisibles) ste ya est listo para su explotacin. Los modelos
obtenidos por tcnicas de minera de datos se aplican incorporndolos en los sistemas de
anlisis de informacin de las organizaciones, e incluso, en los sistemas transaccionales.
En este sentido cabe destacar los esfuerzos del Data Mining Group, que est
estandarizando el lenguaje PMML (Predictive Model Markup Language), de manera
que los modelos de minera de datos sean interoperables en distintas plataformas, con
independencia del sistema con el que han sido construidos. Los principales fabricantes
de sistemas de bases de datos y programas de anlisis de la informacin hacen uso de
este estndar.
Tradicionalmente, las tcnicas de minera de datos se aplicaban sobre informacin
contenida en almacenes de datos. De hecho, muchas grandes empresas e instituciones
han creado y alimentan bases de datos especialmente diseadas para proyectos de
minera de datos en las que centralizan informacin potencialmente til de todas sus
reas de negocio. No obstante, actualmente est cobrando una importancia cada vez
mayor la minera de datos desestructurados como informacin contenida en ficheros de
texto, en Internet, etc.

Protocolo de un proyecto de minera de datos[editar]


Un proyecto de minera de datos tiene varias fases necesarias que son, esencialmente:

Comprensin: del negocio y del problema que se quiere resolver.


Determinacin, obtencin y limpieza: de los datos necesarios.
Creacin de modelos matemticos.
Validacin, comunicacin: de los resultados obtenidos.
Integracin: si procede, de los resultados en un sistema transaccional o similar.

La relacin entre todas estas fases slo es lineal sobre el papel. En realidad, es mucho
ms compleja y esconde toda una jerarqua de subfases. A travs de la experiencia
acumulada en proyectos de minera de datos se han ido desarrollando metodologas que
permiten gestionar esta complejidad de una manera ms o menos uniforme.

Tcnicas de minera de datos[editar]


Como ya se ha comentado, las tcnicas de la minera de datos provienen de la
inteligencia artificial y de la estadstica, dichas tcnicas, no son ms que algoritmos,
ms o menos sofisticados que se aplican sobre un conjunto de datos para obtener unos
resultados.
Las tcnicas ms representativas son:

Redes neuronales.- Son un paradigma de aprendizaje y procesamiento


automtico inspirado en la forma en que funciona el sistema nervioso de los
animales. Se trata de un sistema de interconexin de neuronas en una red que
colabora para producir un estmulo de salida. Algunos ejemplos de red neuronal
son:
o El perceptrn.
o El perceptrn multicapa.
o Los mapas autoorganizados, tambin conocidos como redes de Kohonen.

Regresin lineal.- Es la ms utilizada para formar relaciones entre datos. Rpida


y eficaz pero insuficiente en espacios multidimensionales donde puedan
relacionarse ms de 2 variables.

rboles de decisin.- Un rbol de decisin es un modelo de prediccin utilizado


en el mbito de la inteligencia artificial, dada una base de datos se construyen
estos diagramas de construcciones lgicas, muy similares a los sistemas de
prediccin basados en reglas, que sirven para representar y categorizar una serie
de condiciones que suceden de forma sucesiva, para la resolucin de un
problema. Ejemplos:
o Algoritmo ID3.
o Algoritmo C4.5.

Modelos estadsticos.- Es una expresin simblica en forma de igualdad o


ecuacin que se emplea en todos los diseos experimentales y en la regresin
para indicar los diferentes factores que modifican la variable de respuesta.

Agrupamiento o Clustering.- Es un procedimiento de agrupacin de una serie


de vectores segn criterios habitualmente de distancia; se tratar de disponer los
vectores de entrada de forma que estn ms cercanos aquellos que tengan
caractersticas comunes. Ejemplos:
o Algoritmo K-means.
o Algoritmo K-medoids.

Reglas de asociacin.- Se utilizan para descubrir hechos que ocurren en comn


dentro de un determinado conjunto de datos.

Segn el objetivo del anlisis de los datos, los algoritmos utilizados se clasifican en
supervisados y no supervisados (Weiss y Indurkhya, 1998):

Algoritmos supervisados (o predictivos): predicen un dato (o un conjunto de


ellos) desconocido a priori, a partir de otros conocidos.
Algoritmos no supervisados (o del descubrimiento del conocimiento): se
descubren patrones y tendencias en los datos.

Ejemplos de uso de la minera de datos[editar]


Negocios[editar]

La minera de datos puede contribuir significativamente en las aplicaciones de


administracin empresarial basada en la relacin con el cliente. En lugar de contactar
con el cliente de forma indiscriminada a travs de un centro de llamadas o enviando emails, slo se contactar con aquellos que se perciba que tienen una mayor probabilidad
de responder positivamente a una determinada oferta o promocin.
Por lo general, las empresas que emplean minera de datos ven rpidamente el retorno
de la inversin, pero tambin reconocen que el nmero de modelos predictivos
desarrollados puede crecer muy rpidamente.
En lugar de crear modelos para predecir qu clientes pueden cambiar, la empresa podra
construir modelos separados para cada regin y/o para cada tipo de cliente. Tambin
puede querer determinar qu clientes van a ser rentables durante una ventana de tiempo
(una quincena, un mes, ...) y slo enviar las ofertas a las personas que es probable que
sean rentables. Para mantener esta cantidad de modelos, es necesario gestionar las
versiones de cada modelo y pasar a una minera de datos lo ms automatizada posible.
Anlisis de la cesta de la compra[editar]
El ejemplo clsico de aplicacin de la minera de datos tiene que ver con la deteccin de
hbitos de compra en supermercados. Un estudio muy citado detect que los viernes
haba una cantidad inusualmente elevada de clientes que adquiran a la vez paales y
cerveza. Se detect que se deba a que dicho da solan acudir al supermercado padres
jvenes cuya perspectiva para el fin de semana consista en quedarse en casa cuidando
de su hijo y viendo la televisin con una cerveza en la mano. El supermercado pudo
incrementar sus ventas de cerveza colocndolas prximas a los paales para fomentar
las ventas compulsivas.
Patrones de fuga[editar]
Un ejemplo ms habitual es el de la deteccin de patrones de fuga. En muchas
industrias como la banca, las telecomunicaciones, etc. existe un comprensible
inters en detectar cuanto antes aquellos clientes que puedan estar pensando en rescindir
sus contratos para, posiblemente, pasarse a la competencia. A estos clientes y en
funcin de su valor se les podran hacer ofertas personalizadas, ofrecer promociones
especiales, etc., con el objetivo ltimo de retenerlos. La minera de datos ayuda a
determinar qu clientes son los ms proclives a darse de baja estudiando sus patrones de
comportamiento y comparndolos con muestras de clientes que, efectivamente, se
dieron de baja en el pasado.
Fraudes[editar]
Un caso anlogo es el de la deteccin de transacciones de lavado de dinero o de fraude
en el uso de tarjetas de crdito o de servicios de telefona mvil e, incluso, en la relacin
de los contribuyentes con el fisco. Generalmente, estas operaciones fraudulentas o
ilegales suelen seguir patrones caractersticos que permiten, con cierto grado de
probabilidad, distinguirlas de las legtimas y desarrollar as mecanismos para tomar
medidas rpidas frente a ellas.
Recursos humanos[editar]

La minera de datos tambin puede ser til para los departamentos de recursos humanos
en la identificacin de las caractersticas de sus empleados de mayor xito. La
informacin obtenida puede ayudar a la contratacin de personal, centrndose en los
esfuerzos de sus empleados y los resultados obtenidos por stos. Adems, la ayuda
ofrecida por las aplicaciones para Direccin estratgica en una empresa se traducen en
la obtencin de ventajas a nivel corporativo, tales como mejorar el margen de beneficios
o compartir objetivos; y en la mejora de las decisiones operativas, tales como desarrollo
de planes de produccin o gestin de mano de obra.

Comportamiento en Internet[editar]
Tambin es un rea en boga el del anlisis del comportamiento de los visitantes sobre
todo, cuando son clientes potenciales en una pgina de Internet. O la utilizacin de la
informacin obtenida por medios ms o menos legtimos sobre ellos para
ofrecerles propaganda adaptada especficamente a su perfil. O para, una vez que
adquieren un determinado producto, saber inmediatamente qu otro ofrecerle teniendo
en cuenta la informacin histrica disponible acerca de los clientes que han comprado el
primero.

Terrorismo[editar]
La minera de datos ha sido citada como el mtodo por el cual la unidad Able Danger
del Ejrcito de los EE. UU. haba identificado al lder de los atentados del 11 de
septiembre de 2001, Mohammed Atta, y a otros tres secuestradores del "11-S" como
posibles miembros de una clula de Al Qaeda que operan en los EE. UU. ms de un ao
antes del ataque. Se ha sugerido que tanto la Agencia Central de Inteligencia y su
homloga canadiense, Servicio de Inteligencia y Seguridad Canadiense, tambin han
empleado este mtodo.2

Juegos[editar]
Desde comienzos de la dcada de 1960, con la disponibilidad de orculos para
determinados juegos combinacionales, tambin llamados finales de juego de tablero
(por ejemplo, para las tres en raya o en finales de ajedrez) con cualquier configuracin
de inicio, se ha abierto una nueva rea en la minera de datos que consiste en la
extraccin de estrategias utilizadas por personas para estos orculos. Los planteamientos
actuales sobre reconocimiento de patrones, no parecen poder aplicarse con xito al
funcionamiento de estos orculos. En su lugar, la produccin de patrones perspicaces se
basa en una amplia experimentacin con bases de datos sobre esos finales de juego,
combinado con un estudio intensivo de los propios finales de juego en problemas bien
diseados y con conocimiento de la tcnica (datos previos sobre el final del juego).
Ejemplos notables de investigadores que trabajan en este campo son Berlekamp en el
juego de puntos-y-cajas (o Timbiriche) y John Nunn en finales de ajedrez.

Ciencia e Ingeniera[editar]
En los ltimos aos la minera de datos se est utilizando ampliamente en diversas reas
relacionadas con la ciencia y la ingeniera. Algunos ejemplos de aplicacin en estos
campos son:

Gentica[editar]
En el estudio de la gentica humana, el objetivo principal es entender la relacin
cartogrfica entre las partes y la variacin individual en las secuencias del ADN
humano y la variabilidad en la susceptibilidad a las enfermedades. En trminos ms
llanos, se trata de saber cmo los cambios en la secuencia de ADN de un individuo
afectan al riesgo de desarrollar enfermedades comunes (como por ejemplo el cncer).
Esto es muy importante para ayudar a mejorar el diagnstico, prevencin y tratamiento
de las enfermedades. La tcnica de minera de datos que se utiliza para realizar esta
tarea se conoce como "reduccin de dimensionalidad multifactorial".3
Ingeniera elctrica[editar]
En el mbito de la ingeniera elctrica, las tcnicas de minera de datos han sido
ampliamente utilizadas para monitorizar las condiciones de las instalaciones de alta
tensin. La finalidad de esta monitorizacin es obtener informacin valiosa sobre el
estado del aislamiento de los equipos. Para la vigilancia de las vibraciones o el anlisis
de los cambios de carga en transformadores se utilizan ciertas tcnicas para agrupacin
de datos (clustering) tales como los mapas auto-organizativos (SOM: Self-organizing
map). Estos mapas sirven para detectar condiciones anormales y para estimar la
naturaleza de dichas anomalas.4
Anlisis de gases[editar]
Tambin se han aplicado tcnicas de minera de datos para el anlisis de gases disueltos
(DGA: Dissolved gas analysis) en transformadores elctricos. El anlisis de gases
disueltos se conoce desde hace mucho tiempo como la herramienta para diagnosticar
transformadores. Los mapas auto-organizativos (SOM) se utilizan para analizar datos y
determinar tendencias que podran pasarse por alto utilizando las tcnicas clsicas
(DGA).

Minera de datos y otras disciplinas anlogas[editar]


Suscita cierta polmica el definir las fronteras existentes entre la minera de datos y las
disciplinas anlogas, como pueden serlo la estadstica, la inteligencia artificial, etc. Hay
quienes sostienen que la minera de datos no es sino estadstica envuelta en una jerga
de negocios que la conviertan en un producto vendible. Otros, en cambio, encuentran en
ella una serie de problemas y mtodos especficos que la hacen distinta de otras
disciplinas.
El hecho es que, en la prctica la totalidad de los modelos y algoritmos de uso general
en minera de datos redes neuronales, rboles de regresin y clasificacin, modelos
logsticos, anlisis de componentes principales, etc. gozan de una tradicin
relativamente larga en otros campos.

De la estadstica[editar]
Ciertamente, la minera de datos bebe de la estadstica, de la que toma las siguientes
tcnicas:

Anlisis de varianza, mediante el cual se evala la existencia de diferencias


significativas entre las medias de una o ms variables continuas en poblaciones
distintas.
Regresin: define la relacin entre una o ms variables y un conjunto de
variables predictoras de las primeras.
Prueba chi-cuadrado: por medio de la cual se realiza el contraste de la hiptesis
de dependencia entre variables.
Anlisis de agrupamiento o clustering: permite la clasificacin de una poblacin
de individuos caracterizados por mltiples atributos (binarios, cualitativos o
cuantitativos) en un nmero determinado de grupos, con base en las semejanzas
o diferencias de los individuos.
Anlisis discriminante: permite la clasificacin de individuos en grupos que
previamente se han establecido, permite encontrar la regla de clasificacin de los
elementos de estos grupos, y por tanto una mejor identificacin de cules son las
variables que definan la pertenencia al grupo.
Series de tiempo: permite el estudio de la evolucin de una variable a travs del
tiempo para poder realizar predicciones, a partir de ese conocimiento y bajo el
supuesto de que no van a producirse cambios estructurales.

De la informtica[editar]
De la informtica toma las siguientes tcnicas:

Algoritmos genticos: Son mtodos numricos de optimizacin, en los que


aquella variable o variables que se pretenden optimizar junto con las variables de
estudio constituyen un segmento de informacin. Aquellas configuraciones de
las variables de anlisis que obtengan mejores valores para la variable de
respuesta, correspondern a segmentos con mayor capacidad reproductiva. A
travs de la reproduccin, los mejores segmentos perduran y su proporcin crece
de generacin en generacin. Se puede adems introducir elementos aleatorios
para la modificacin de las variables (mutaciones). Al cabo de cierto nmero de
iteraciones, la poblacin estar constituida por buenas soluciones al problema de
optimizacin, pues las malas soluciones han ido descartndose, iteracin tras
iteracin.

Inteligencia Artificial: Mediante un sistema informtico que simula un sistema


inteligente, se procede al anlisis de los datos disponibles. Entre los sistemas de
Inteligencia Artificial se encuadraran los Sistemas Expertos y las Redes
Neuronales.

Sistemas Expertos: Son sistemas que han sido creados a partir de reglas
prcticas extradas del conocimiento de expertos. Principalmente a base de
inferencias o de causa-efecto.

Sistemas Inteligentes: Son similares a los sistemas expertos, pero con mayor
ventaja ante nuevas situaciones desconocidas para el experto.

Redes neuronales: Genricamente, son mtodos de proceso numrico en


paralelo, en el que las variables interactan mediante transformaciones lineales o
no lineales, hasta obtener unas salidas. Estas salidas se contrastan con los que

tenan que haber salido, basndose en unos datos de prueba, dando lugar a un
proceso de retroalimentacin mediante el cual la red se reconfigura, hasta
obtener un modelo adecuado.

Minera de datos basada en teora de la


informacin[editar]
Todas las herramientas tradicionales de minera de datos asumen que los datos que
usarn para construir los modelos contienen la informacin necesaria para lograr el
propsito buscado: obtener suficiente conocimiento que pueda ser aplicado al negocio
(o problema) para obtener un beneficio (o solucin).
El inconveniente es que sto no es necesariamente cierto. Adems, existe otro problema
mayor an. Una vez construido el modelo no es posible conocer si el mismo ha
capturado toda la informacin disponible en los datos. Por esta razn la prctica comn
es realizar varios modelos con distintos parmetros para ver si alguno logra mejores
resultados.
Un enfoque relativamente nuevo al anlisis de datos soluciona estos problemas
haciendo que la prctica de la minera de datos se parezca ms a una ciencia que a un
arte.
En 1948 Claude Shannon public un trabajo llamado Una teora matemtica de la
comunicacin. Posteriormente sta pas a llamarse Teora de la informacin y sent
las bases de la comunicacin y la codificacin de la informacin. Shannon propuso una
manera de medir la cantidad de informacin a ser expresada en bits.
En 1999 Dorian Pyle public un libro llamado Data Preparation for Data Mining en el
que propone una manera de usar la Teora de la Informacin para analizar datos. En este
nuevo enfoque, una base de datos es un canal que transmite informacin. Por un lado
est el mundo real que captura datos generados por el negocio. Por el otro estn todas
las situaciones y problemas importantes del negocio. Y la informacin fluye desde el
mundo real y a travs de los datos, hasta la problemtica del negocio.
Con esta perspectiva y usando la Teora de la informacin, es posible medir la cantidad
de informacin disponible en los datos y qu porcin de la misma podr utilizarse para
resolver la problemtica del negocio. Como un ejemplo prctico, podra encontrarse que
los datos contienen un 65% de la informacin necesaria para predecir qu cliente
rescindirn sus contratos. De esta manera, si el modelo final es capaz de hacer
predicciones con un 60% de acierto, se puede asegurar que la herramienta que gener el
modelo hizo un buen trabajo capturando la informacin disponible. Ahora, si el modelo
hubiese tenido un porcentaje de aciertos de slo el 10%, por ejemplo, entonces intentar
otros modelos o incluso con otras herramientas podra valer la pena.
La capacidad de medir informacin contenida en los datos tiene otras ventajas
importantes.

Al analizar los datos desde esta nueva perspectiva se genera un mapa de informacin
que hace innecesario la preparacin previa de los datos, una tarea absolutamente
imprescindible si se desea buenos resultados, pero que lleva enorme cantidad de tiempo.
Es posible seleccionar un grupo de variables ptimo que contenga la informacin
necesaria para realizar un modelo de prediccin.
Una vez que las variables son procesadas con el fin de crear el mapa de informacin y
luego seleccionadas aquellas que aportan la mayor informacin, la eleccin de la
herramienta que se usar para crear el modelo deja de tener importancia, ya que el
mayor trabajo fue realizado en los pasos previos.

Tendencias[editar]
La Minera de Datos ha sufrido transformaciones en los ltimos aos de acuerdo con
cambios tecnolgicos, de estrategias de marketing, la extensin de los modelos de
compra en lnea, etc. Los ms importantes de ellos son:

La importancia que han cobrado los datos no estructurados (texto, pginas de


Internet, etc.).
La necesidad de integrar los algoritmos y resultados obtenidos en sistemas
operacionales, portales de Internet, etc.
La exigencia de que los procesos funcionen prcticamente en lnea (por ejemplo,
en casos de fraude con una tarjeta de crdito).
Los tiempos de respuesta. El gran volumen de datos que hay que procesar en
muchos casos para obtener un modelo vlido es un inconveniente; esto implica
grandes cantidades de tiempo de proceso y hay problemas que requieren una
respuesta en tiempo real.

Herramientas de software[editar]
Existen muchas herramientas de software para el desarrollo de modelos de minera de
datos tanto libres como comerciales como, por ejemplo:

dVelox de APARA
KXEN
KNIME
Neural Designer
OpenNN

Orange
Powerhouse
Quiterian
RapidMiner
R

Vase tambin[editar]

Aprendizaje automtico
Minera de textos
Minera de datos espacial
Minera de procesos
Minera de grafos
Data warehousing o Almacenamiento de datos

SPSS Clementine
SAS Enterprise Miner
STATISTICA Data Miner
Weka
KEEL

Inteligencia Empresarial
Estadstica
Iconografa de las correlaciones
Reglas de asociacin
Web mining
Sistemas de informacin ejecutiva
Sistemas de soporte a decisiones
Almacn operacional de los datos
Weka (aprendizaje automtico)
Facts and authorities

Referencias[editar]
1. Volver arriba Oded Maimon and Lior Rokach (2010). Data Mining and Knowledge
Discovery Handbook. Springer, New York. ISBN 978-0-387-09823-4.
2. Volver arriba Stephen Haag et al. Management Information Systems for the
information age. p. 28. ISBN 0-07-095569-7.
3. Volver arriba Xingquan Zhu, Ian Davidson (2007). Knowledge Discovery and Data
Mining: Challenges and Realities. Hershey, New Your. p. 18. ISBN 978-1-59904-252-7.
4. Volver arriba Plantilla:Cite Journal.

Enlaces externos[editar]

Programa de Minera de Datos, University of Central Florida


Proyecto Medical Miner. Integracin de minera de texto y de datos en
biomedicina
Daia Intelligent Solutions
Mineria de Datos y Almacenamiento Web

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Minera_de_datos&oldid=81202881
Categoras:

Minera de datos
Bases de datos
Anlisis de datos

Categora oculta:

Wikipedia:Fusionar

Men de navegacin
Herramientas personales

Crear una cuenta


Acceder

Espacios de nombres

Artculo
Discusin

Variantes
Vistas

Leer
Editar
Ver historial

Ms
Buscar

Navegacin

Portada
Portal de la comunidad
Actualidad
Cambios recientes
Pginas nuevas
Pgina aleatoria
Ayuda
Donaciones
Notificar un error

Imprimir/exportar

Crear un libro
Descargar como PDF
Versin para imprimir

Herramientas

Lo que enlaza aqu


Cambios en enlazadas
Subir archivo
Pginas especiales
Enlace permanente
Informacin de la pgina
Elemento de Wikidata
Citar esta pgina

En otros idiomas


Azrbaycanca

Catal
etina
Dansk
Deutsch

English
Eesti
Euskara

Suomi
Franais

Hrvatski
Magyar
Bahasa Indonesia
Italiano

Lietuvi
Latvieu

Nederlands
Norsk bokml
Polski
Portugus
Romn

Srpskohrvatski /
Simple English
Slovenina
Slovenina
/ srpski
Basa Sunda
Svenska

Trke

Ting Vit

Editar enlaces

Esta pgina fue modificada por ltima vez el 4 abr 2015 a las 21:43.

Almacn de datos
De Wikipedia, la enciclopedia libre
Saltar a: navegacin , bsqueda

Descripcin de un Data Warehouse.


En el contexto de la informtica, un almacn de datos (del ingls data warehouse) es
una coleccin de datos orientada a un determinado mbito (empresa, organizacin, etc.),
integrado, no voltil y variable en el tiempo, que ayuda a la toma de decisiones en la
entidad en la que se utiliza. Se trata, sobre todo, de un expediente completo de una
organizacin, ms all de la informacin transaccional y operacional, almacenado en
una base de datos diseada para favorecer el anlisis y la divulgacin eficiente de datos
(especialmente OLAP, procesamiento analtico en lnea). El almacenamiento de los
datos no debe usarse con datos de uso actual. Los almacenes de datos contienen a
menudo grandes cantidades de informacin que se subdividen a veces en unidades
lgicas ms pequeas dependiendo del subsistema de la entidad del que procedan o para
el que sean necesario.

ndice
[ocultar]

1 Definiciones de almacn de datos


o 1.1 Definicin de Bill Inmon
o 1.2 Definicin de Ralph Kimball
o 1.3 Una definicin ms amplia de almacn de datos

2 Funcin de un almacn de datos


3 Data marts
4 Cubos de informacin
o 4.1 Dimensiones
o 4.2 Variables
o 4.3 Ejemplos
5 Elementos que integran un almacn de datos
o 5.1 Metadatos
o 5.2 Funciones ETL (extraccin, transformacin y carga)
o 5.3 Middleware
6 Diseo de un almacn de datos
7 Almacn de datos espacial
8 Ventajas e inconvenientes de los almacenes de datos
o 8.1 Ventajas
o 8.2 Inconvenientes
9 Vase tambin
10 Notas y referencias
11 Enlaces externos

Definiciones de almacn de datos[editar]


Definicin de Bill Inmon[editar]
Bill Inmon1 fue uno de los primeros autores en escribir sobre el tema de los almacenes
de datos, define un data warehouse (almacn de datos) en trminos de las
caractersticas del repositorio de datos:

Orientado a temas.- Los datos en la base de datos estn organizados de manera


que todos los elementos de datos relativos al mismo evento u objeto del mundo
real queden unidos entre s.
Variante en el tiempo.- Los cambios producidos en los datos a lo largo del
tiempo quedan registrados para que los informes que se puedan generar reflejen
esas variaciones.
No voltil.- La informacin no se modifica ni se elimina, una vez almacenado
un dato, ste se convierte en informacin de slo lectura, y se mantiene para
futuras consultas.
Integrado.- La base de datos contiene los datos de todos los sistemas
operacionales de la organizacin, y dichos datos deben ser consistentes.

Inmon defiende una metodologa descendente (top-down) a la hora de disear un


almacn de datos, ya que de esta forma se considerarn mejor todos los datos
corporativos. En esta metodologa los Data marts se crearn despus de haber
terminado el data warehouse completo de la organizacin.

Definicin de Ralph Kimball[editar]


Ralph Kimball2 es otro conocido autor en el tema de los data warehouse, define un
almacn de datos como: "una copia de las transacciones de datos especficamente
estructurada para la consulta y el anlisis"[cita requerida]. Tambin fue Kimball quien

determin que un data warehouse no era ms que: "la unin de todos los Data marts
de una entidad"[cita requerida]. Defiende por tanto una metodologa ascendente (bottomup) a la hora de disear un almacn de datos.

Una definicin ms amplia de almacn de datos[editar]


Las definiciones anteriores se centran en los datos en s mismos. Sin embargo, los
medios para obtener esos datos, para extraerlos, transformarlos y cargarlos, las tcnicas
para analizarlos y generar informacin, as como las diferentes formas para realizar la
gestin de datos son componentes esenciales de un almacn de datos. Muchas
referencias a un almacn de datos utilizan esta definicin ms amplia. Por lo tanto, en
esta definicin se incluyen herramientas para extraer, transformar y cargar datos,
herramientas para el anlisis (inteligencia empresarial) y herramientas para gestionar y
recuperar los metadatos.

Funcin de un almacn de datos[editar]


En un almacn de datos lo que se quiere es contener datos que son necesarios o tiles
para una organizacin, es decir, que se utiliza como un repositorio de datos para
posteriormente transformarlos en informacin til para el usuario. Un almacn de datos
debe entregar la informacin correcta a la gente indicada en el momento ptimo y en el
formato adecuado. El almacn de datos da respuesta a las necesidades de usuarios
expertos, utilizando Sistemas de Soporte a Decisiones (DSS), Sistemas de informacin
ejecutiva (EIS) o herramientas para hacer consultas o informes. Los usuarios finales
pueden hacer fcilmente consultas sobre sus almacenes de datos sin tocar o afectar la
operacin del sistema.
En el funcionamiento de un almacn de datos son muy importantes las siguientes ideas:

Integracin de los datos provenientes de bases de datos distribuidas por las


diferentes unidades de la organizacin y que con frecuencia tendrn diferentes
estructuras (fuentes heterogneas). Se debe facilitar una descripcin global y un
anlisis comprensivo de toda la organizacin en el almacn de datos.
Separacin de los datos usados en operaciones diarias de los datos usados en el
almacn de datos para los propsitos de divulgacin, de ayuda en la toma de
decisiones, para el anlisis y para operaciones de control. Ambos tipos de datos
no deben coincidir en la misma base de datos, ya que obedecen a objetivos muy
distintos y podran entorpecerse entre s.

Peridicamente, se importan datos al almacn de datos de los distintos sistemas de


planeamiento de recursos de la entidad (ERP) y de otros sistemas de software
relacionados con el negocio para la transformacin posterior. Es prctica comn
normalizar los datos antes de combinarlos en el almacn de datos mediante herramientas
de extraccin, transformacin y carga (ETL). Estas herramientas leen los datos
primarios (a menudo bases de datos OLTP de un negocio), realizan el proceso de
transformacin al almacn de datos (filtracin, adaptacin, cambios de formato, etc.) y
escriben en el almacn.

Data marts[editar]

Artculo principal: Data mart

Los Data marts son subconjuntos de datos de un data warehouse para reas
especficas.
Entre las caractersticas de un data mart destacan:

Usuarios limitados.
rea especfica.
Tiene un propsito especfico.
Tiene una funcin de apoyo.

Cubos de informacin[editar]
Artculo principal: Cubo OLAP

Los cubos de informacin o cubos OLAP funcionan como los cubos de rompecabezas
en los juegos, en el juego se trata de armar los colores y en el data warehouse se trata de
organizar los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones,
los cubos OLAP tienen un nmero indefinido de dimensiones, razn por la cual tambin
reciben el nombre de hipercubos. Un cubo OLAP contendr datos de una determinada
variable que se desea analizar, proporcionando una vista lgica de los datos provistos
por el sistema de informacin hacia el data warehouse, esta vista estar dispuesta segn
unas dimensiones y podr contener informacin calculada. El anlisis de los datos est
basado en las dimensiones del hipercubo, por lo tanto, se trata de un anlisis
multidimensional.
A la informacin de un cubo puede acceder el ejecutivo mediante "tablas dinmicas" en
una hoja de clculo o a travs de programas personalizados. Las tablas dinmicas le
permiten manipular las vistas (cruces, filtrados, organizacin, totales) de la informacin
con mucha facilidad. Las diferentes operaciones que se pueden realizar con cubos de
informacin se producen con mucha rapidez. Llevando estos conceptos a un data
warehouse, ste es una coleccin de datos que est formada por dimensiones y
variables, entendiendo como dimensiones a aquellos elementos que participan en el
anlisis y variables a los valores que se desean analizar.

Dimensiones[editar]
Las dimensiones de un cubo son atributos relativos a las variables, son las perspectivas
de anlisis de las variables (forman parte de la tabla de dimensiones). Son catlogos de
informacin complementaria necesaria para la presentacin de los datos a los usuarios,
como por ejemplo: descripciones, nombres, zonas, rangos de tiempo, etc. Es decir, la
informacin general complementaria a cada uno de los registros de la tabla de hechos.

Variables[editar]
Tambin llamadas indicadores de gestin, son los datos que estn siendo analizados.
Forman parte de la tabla de hechos. Ms formalmente, las variables representan algn
aspecto cuantificable o medible de los objetos o eventos a analizar. Normalmente, las

variables son representadas por valores detallados y numricos para cada instancia del
objeto o evento medido. En forma contraria, las dimensiones son atributos relativos a
las variables, y son utilizadas para indexar, ordenar, agrupar o abreviar los valores de las
mismas. Las dimensiones poseen una granularidad menor, tomando como valores un
conjunto de elementos menor que el de las variables; ejemplos de dimensiones podran
ser: productos, localidades (o zonas), el tiempo (medido en das, horas,
semanas, etc.), ...

Ejemplos[editar]
Ejemplos de variables podran ser:

Beneficios
Gastos
Ventas
etc.

Ejemplos de dimensiones podran ser:

producto (diferentes tipos o denominaciones de productos)


localidades (o provincia, o regiones, o zonas geogrficas)
tiempo (medido de diferentes maneras, por horas, por das, por meses, por aos,
...)
tipo de cliente (casado/soltero, joven/adulto/anciano, ...)
etc.

Segn lo anterior, podramos construir un cubo de informacin sobre el ndice de


ventas (variable a estudiar) en funcin del producto vendido, la provincia, el mes del
ao y si el cliente est casado o soltero (dimensiones). Tendramos un cubo de 4
dimensiones.

Elementos que integran un almacn de datos[editar]


Metadatos[editar]
Artculo principal: Metadato

Uno de los componentes ms importantes de la arquitectura de un almacn de datos son


los metadatos. Se define comnmente como "datos acerca de los datos", en el sentido
de que se trata de datos que describen cul es la estructura de los datos que se van a
almacenar y cmo se relacionan.
El metadato documenta, entre otras cosas, qu tablas existen en una base de datos, qu
columnas posee cada una de las tablas y qu tipo de datos se pueden almacenar. Los
datos son de inters para el usuario final, el metadato es de inters para los programas
que tienen que manejar estos datos. Sin embargo, el rol que cumple el metadato en un
entorno de almacn de datos es muy diferente al rol que cumple en los ambientes
operacionales. En el mbito de los data warehouse el metadato juega un papel
fundamental, su funcin consiste en recoger todas las definiciones de la organizacin y

el concepto de los datos en el almacn de datos, debe contener toda la informacin


concerniente a:

Tablas
Columnas de tablas
Relaciones entre tablas
Jerarquas y Dimensiones de datos
Entidades y Relaciones

Funciones ETL (extraccin, transformacin y carga)[editar]


Artculo principal: Extract, transform and load

Los procesos de extraccin, transformacin y carga (ETL) son importantes ya que


son la forma en que los datos se guardan en un almacn de datos (o en cualquier base de
datos). Implican las siguientes operaciones:

Extraccin. Accin de obtener la informacin deseada a partir de los datos


almacenados en fuentes externas.
Transformacin. Cualquier operacin realizada sobre los datos para que
puedan ser cargados en el data warehouse o se puedan migrar de ste a otra base
de datos.
Carga. Consiste en almacenar los datos en la base de datos final, por ejemplo el
almacn de datos objetivo normal.

Middleware[editar]
Artculo principal: Middleware

Middleware es un trmino genrico que se utiliza para referirse a todo tipo de software
de conectividad que ofrece servicios u operaciones que hacen posible el funcionamiento
de aplicaciones distribuidas sobre plataformas heterogneas. Estos servicios funcionan
como una capa de abstraccin de software distribuida, que se sita entre las capas de
aplicaciones y las capas inferiores (sistema operativo y red). El middleware puede verse
como una capa API, que sirve como base a los programadores para que puedan
desarrollar aplicaciones que trabajen en diferentes entornos sin preocuparse de los
protocolos de red y comunicaciones en que se ejecutarn. De esta manera se ofrece una
mejor relacin costo/rendimiento que pasa por el desarrollo de aplicaciones ms
complejas, en menos tiempo.
La funcin del middleware en el contexto de los data warehouse es la de asegurar la
conectividad entre todos los componentes de la arquitectura de un almacn de datos.

Diseo de un almacn de datos[editar]


Para construir un Data Warehouse se necesitan herramientas para ayudar a la migracin
y a la transformacin de los datos hacia el almacn. Una vez construido, se requieren
medios para manejar grandes volmenes de informacin. Se disea su arquitectura
dependiendo de la estructura interna de los datos del almacn y especialmente del tipo

de consultas a realizar. Con este criterio los datos deben ser repartidos entre numerosos
data marts. Para abordar un proyecto de data warehouse es necesario hacer un estudio
de algunos temas generales de la organizacin o empresa, los cuales se describen a
continuacin:

Situacin actual de partida.- Cualquier solucin propuesta de data warehouse


debe estar muy orientada por las necesidades del negocio y debe ser compatible
con la arquitectura tcnica existente y planeada de la compaa.

Tipo y caractersticas del negocio.- Es indispensable tener el conocimiento


exacto sobre el tipo de negocios de la organizacin y el soporte que representa la
informacin dentro de todo su proceso de toma de decisiones.

Entorno tcnico.- Se debe incluir tanto el aspecto del hardware (mainframes,


servidores, redes,...) as como aplicaciones y herramientas. Se dar nfasis a los
Sistemas de soporte a decisiones (DSS), si existen en la actualidad, cmo
operan, etc.

Expectativas de los usuarios.- Un proyecto de data warehouse no es nicamente


un proyecto tecnolgico, es una forma de vida de las organizaciones y como tal,
tiene que contar con el apoyo de todos los usuarios y su convencimiento sobre
su bondad.

Etapas de desarrollo.- Con el conocimiento previo, ya se entra en el desarrollo


de un modelo conceptual para la construccin del data warehouse.

Prototipo.- Un prototipo es un esfuerzo designado a simular tanto como sea


posible el producto final que ser entregado a los usuarios.

Piloto.- El piloto de un data warehouse es el primero, o cada uno de los primeros


resultados generados de forma iterativa que se harn para llegar a la
construccin del producto final deseado.

Prueba del concepto tecnolgico.- Es un paso opcional que se puede necesitar


para determinar si la arquitectura especificada del data warehouse funcionar
finalmente como se espera.

Almacn de datos espacial[editar]


Almacn de datos espacial es una coleccin de datos orientados al tema, integrados, no
voltiles, variantes en el tiempo y que aaden la geografa de los datos, para la toma de
decisiones. Sin embargo la componente geogrfica no es un dato agregado, sino que es
una dimensin o variable en la tecnologa de la informacin, de tal manera que permita
modelar todo el negocio como un ente holstico, y que a travs de herramientas de
procesamiento analtico en lnea (OLAP), no solamente se posea un alto desempeo en
consultas multidimensionales sino que adicionalmente se puedan visualizar
espacialmente los resultados.
El almacn de datos espacial forma parte de un extensivo Sistema de Informacin
Geogrfica para la toma de decisiones, ste al igual que los SIG, permiten que un gran

nmero de usuarios accedan a informacin integrada, a diferencia de un simple almacn


de datos que est orientado al tema, el Data warehouse espacial adicionalmente es GeoRelacional, es decir que en estructuras relacionales combina e integra los datos
espaciales con los datos descriptivos. Actualmente es geo-objetos, esto es que los
elementos geogrficos se manifiestan como objetos con todas sus propiedades y
comportamientos, y que adicionalmente estn almacenados en una nica base de datos
Objeto-Relacional.
Los Data Warehouse Espaciales son aplicaciones basadas en un alto desempeo de las
bases de datos, que utilizan arquitecturas Cliente-Servidor para integrar diversos datos
en tiempo real. Mientras los almacenes de datos trabajan con muchos tipos y
dimensiones de datos, muchos de los cuales no referencian ubicacin espacial, a pesar
de poseerla intrnsecamente, y sabiendo que un 80% de los datos poseen representacin
y ubicacin en el espacio, en los Data warehouse espaciales, la variable geogrfica
desempea un papel importante en la base de informacin para la construccin del
anlisis, y de igual manera que para un Data warehouse, la variable tiempo es
imprescindible en los anlisis, para los Data warehouse espaciales la variable geogrfica
debe ser almacenada directamente en ella.

Ventajas e inconvenientes de los almacenes de


datos[editar]
Ventajas[editar]
Hay muchas ventajas por las que es recomendable usar un almacn de datos. Algunas de
ellas son:

Los almacenes de datos hacen ms fcil el acceso a una gran variedad de datos a
los usuarios finales
Facilitan el funcionamiento de las aplicaciones de los sistemas de apoyo a la
decisin tales como informes de tendencia, por ejemplo: obtener los tems con
la mayora de las ventas en un rea en particular dentro de los ltimos dos aos;
informes de excepcin, informes que muestran los resultados reales frente a los
objetivos planteados a priori.
Los almacenes de datos pueden trabajar en conjunto y, por lo tanto, aumentar el
valor operacional de las aplicaciones empresariales, en especial la gestin de
relaciones con clientes.

Inconvenientes[editar]
Utilizar almacenes de datos tambin plantea algunos inconvenientes, algunos de ellos
son:

A lo largo de su vida los almacenes de datos pueden suponer altos costos. El


almacn de datos no suele ser esttico. Los costos de mantenimiento son
elevados.
Los almacenes de datos se pueden quedar obsoletos relativamente pronto.
A veces, ante una peticin de informacin estos devuelven una informacin
subptima, que tambin supone una prdida para la organizacin.

A menudo existe una delgada lnea entre los almacenes de datos y los sistemas
operacionales. Hay que determinar qu funcionalidades de estos se pueden
aprovechar y cules se deben implementar en el data warehouse, resultara
costoso implementar operaciones no necesarias o dejar de implementar alguna
que s vaya a necesitarse.

Vase tambin[editar]

Administracin basada en la relacin con los clientes


Almacn de datos espacial
Almacn operacional de los datos
rea de stage (o zona landing)
Cuadro de mando integral
Data mart
Esquema de la estrella
Esquema del copo de nieve
Extraccin, transformacin y carga
Inteligencia empresarial
Minera de datos espacial
Minera de datos
Modelo de base de datos
Procesamiento analtico en lnea (OLAP), Cubos OLAP
Procesamiento de transacciones a travs de una red (OLTP)
Sistema de gestin de base de datos
Sistemas de soporte a decisiones
Sistemas de informacin ejecutiva
Tabla de hechos
Tabla de dimensin

Notas y referencias[editar]
1. Volver arriba Bill Inmon en la Wikipedia en ingls
2. Volver arriba Ralph Kimball en la Wikipedia en ingls.

Ganczarski, Joe. Data Warehouse Implementations: Critical Implementation


Factors Study. VDM Verlag, 2009. ISBN 3-639-18589-7, ISBN 978-3-63918589-8
Pyle, Dorian. Business Modeling and Data Mining. Morgan Kaufmann, 2003.
ISBN 1-55860-653-X

Enlaces externos[editar]

La diferencia entre transaccional y analtico Explicacin no-tcnica de Business


Intelligence, desde un enfoque de negocio (en espaol)
Definicin alternativa y complementaria de Data warehouse Desde un punto de
vista diferente, indicando ms a fondo su relacin con el ETL o los datamarts
Manual de Business Intelligence (en espaol)

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Almacn_de_datos&oldid=81110111
Categoras:

Terminologa informtica
Bases de datos
Sistemas de Informacin Geogrfica

Sistema de gestin de bases de datos


De Wikipedia, la enciclopedia libre
(Redirigido desde Sistema de gestin de base de datos)
Saltar a: navegacin , bsqueda
Un sistema de gestin de bases de datos (SGBD) es un conjunto de programas que
permiten el almacenamiento, modificacin y extraccin de la informacin en una base
de datos, adems de proporcionar herramientas para aadir, borrar, modificar y analizar
los datos. Los usuarios pueden acceder a la informacin usando herramientas
especficas de interrogacin y de generacin de informes, o bien mediante aplicaciones
al efecto.
Estos sistemas tambin proporcionan mtodos para mantener la integridad de los datos,
para administrar el acceso de usuarios a los datos y para recuperar la informacin si el
sistema se corrompe. Permiten presentar la informacin de la base de datos en variados
formatos. La mayora incluyen un generador de informes. Tambin pueden incluir un
mdulo grfico que permita presentar la informacin con grficos y tablas.
Hay muchos tipos distintos segn cmo manejen los datos y muchos tamaos distintos
de acuerdo a si operan en computadoras personales y con poca memoria o grandes
sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogacin, lenguajes de
alto nivel que simplifican la tarea de construir las aplicaciones. Tambin simplifican la
interrogacin y la presentacin de la informacin. Un SGBD permite controlar el acceso
a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los
datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los
sistemas para su gestin son esenciales para cualquier rea de negocio, y deben ser
gestionados con esmero.

ndice
[ocultar]

1 Introduccin
2 Historia
o 2.1 Sistemas de navegacin de 1960
o 2.2 Sistemas relacionales de 1970

o
o
o
o

2.3 Sistemas SQL de finales de la dcada 1970


2.4 Sistemas orientados a objetos de 1980
2.5 Sistemas NoSQL de 2000
2.6 Sistemas XML 2010
3 Componentes
4 Lenguajes de modelacin
o 4.1 Estructura jerrquica
o 4.2 Estructura en red
o 4.3 La estructura relacional
o 4.4 La estructura multidimensional
o 4.5 La estructura orientada a objetos
5 Lenguajes de consulta
6 Arquitectura
7 Vase tambin
8 Referencias

Introduccin[editar]
Las bases de datos generalmente funcionan en computadoras dedicadas de forma
exclusiva a este campo. Por las prestaciones requeridas, generalmente funcionan en
computadoras multiprocesador con abundante memoria. Para el almacenamiento de los
datos puede contar con sistemas de disco propio (DAS), puede conectarse a una red de
almacenamiento (SAN) o conectarse a un sistema de almacenamiento en red (NAS).
Existen aceleradores hardware, usados en grandes sistema de proceso de transacciones.
Los SGBD se encuentran en el corazn de toda aplicacin que maneje datos. Los SGBD
se basan en sistemas operativos estndar para efectuar dichas funciones.

Historia[editar]
Las Bases de Datos han estado en uso desde los primeros das de los ordenadores
electrnicos. A diferencia de los sistemas modernos, que se pueden aplicar a datos y
necesidades muy diferentes, la mayor parte de los sistemas originales estaban enfocados
a bases de datos especficas y pensados para ganar velocidad a costa de perder
flexibilidad. Los SGBD originales slo estaban a disposicin de las grandes
organizaciones que podan disponer de los complejos ordenadores necesarios.

Sistemas de navegacin de 1960[editar]


Segn los ordenadores fueron ganando velocidad y capacidad, aparecieron sistemas de
bases de datos de propsito general; a mediados de 1960 ya haba algunos sistemas en
uso. Apareci el inters en obtener un estndar y Charles Bachman -autor de uno de los
primeros productos, el Integrated Data Store (IDS)- fund el Database Task Group
dentro de CODASYL, el grupo responsable de la creacin y estandarizacin de
COBOL. En 1971 publicaron su estndar, que pas a ser conocido como la
aproximacin CODASYL, y en breve aparecieron algunos productos basados en esta
lnea.
La estrategia de CODASYL estaba basada en la navegacin manual por un conjunto de
datos enlazados en red. Cuando se arrancaba la base de datos, el programa devolva un

enlace al primer registro de la base de datos, el cual a su vez contena punteros a otros
datos. Para encontrar un registro concreto el programador deba ir siguiendo punteros
hasta llegar al registro buscado.
Para responder a preguntas simples como buscar todas las personas en Japn el
programa deba recorrer todos los datos para escoger los registros correctos. No existan
los conceptos buscar ni encontrar, algo que sera inaceptable hoy en da, pero que
en los tiempos en que los datos se guardaban en cintas no era viable llevarlos a la
prctica.
Se encontraron soluciones a muchos de esos problemas. El fabricante Prime cre un
SGBD ajustado a CODASYL basado en rboles binarios que atajaba la navegacin de
registro en registro proveyendo caminos alternativos de acceso. Tambin aportaba un
lenguaje de interrogacin muy claro. De hecho no hay razn para no poder aplicar los
conceptos de normalizacin a bases de datos CODASYL, pero en ltimo trmino
CODASYL resultaba muy complejo y requera de mucho esfuerzo y prctica para
producir una aplicacin til.
IBM tambin tena su SGBD propio en 1968, conocido como IMS. Se trataba de un
software desarrollado para el programa Apolo sobre System/360. IMS tena conceptos
similares a CODASYL, pero usaba una jerarqua estricta de ordenacin de los datos,
frente a la estructura en red de CODASYL. Ambos conceptos fueron englobados
posteriormente en el concepto de Bases de Datos de navegacin debido al modo de
acceso a los datos, de hecho Bachman recibi al premio Turing en 1973 por su ponencia
"El programador como navegador".1

Sistemas relacionales de 1970[editar]


Artculo principal: Base de datos relacional

Tabla en el modelo relacional


Edgar Codd trabajaba en IBM, en una de esas oficinas perifricas que estaba dedicada
principalmente al desarrollo de discos duros. Estaba descontento con el modelo de
navegacin CODASYL, principalmente con la falta de operacin de bsqueda. En 1970
escribi algunos artculos en los que perfilaba una nueva aproximacin que culmin en
el documento "A Relational Model of Data for Large Shared Data Banks".2
En este artculo descubri un nuevo sistema para almacenar y trabajar con grandes bases
de datos. En vez de almacenar registros de tipo arbitrario en una lista encadenada como
en CODASYL, la idea de Codd era usar una "tabla" de registros de tamao fijo. Una
lista encadenada tiene muy poca eficiencia al almacenar datos dispersos donde algunos
de los datos de un registro pueden dejarse en blanco. El modelo relacional resuelve esto
dividiendo los datos en una serie de tablas -o relaciones- normalizadas, en las que los
elementos optativos han sido extrados de la tabla principal para que ocupen espacio

slo si lo necesitan. En este modelo relacional los registros relacionados se enlazan con
una "clave".
Un uso comn de las bases de datos puede mantener una agenda de usuarios, su
nombre, informacin de acceso, direccin y telfono. En la solucin de navegacin
todos esos datos estara localizados en un solo registro, y las caractersticas no usadas
simplemente no estaran en la base de datos. En la solucin relacional, los datos estaran
normalizados en una tabla de usuario, una de telfono y una de direccin, en la que
seran aadidos registros si tuviramos que incorporar telfono y direccin.
Reconciliar toda la informacin es la clave de este sistema. En el modelo relacional, una
parte de la informacin se usa como clave, identificando de manera biunvoca un
registro concreto. Cuando se recopila informacin acerca de un usuario, se acceder a la
informacin de las tablas optativas buscando mediante esa clave. Por ejemplo si el
nombre de usuario es nico, la direccin y nmero de telfono de ese usuario ser
guardada con el nombre de usuario como clave. La recopilacin de esta informacin en
un solo registro es algo para lo que los lenguajes tradicionales no estn pensados.
As como el enfoque de navegacin requiere programas que realicen bucles para
recolectar registros, el enfoque relacional tambin los requerir. La solucin de Codd
para los necesarios bucles se basa en un lenguaje orientado a conjuntos, una sugerencia
que ms tarde cristalizara en el ubicuo SQL. Plante el uso de una rama del lgebra
llamada clculo de tuplas, y demonstr que con ella se podran realizar todas las
operaciones tpicas sobre una base de datos, adems de extraer conjuntos de datos de
una forma sencilla.
El artculo de Codd cayo en manos de dos personas en Berkeley, Eugene Wong y
Michael Stonebraker. Ellos comenzaron un proyecto llamado INGRES con fondos
asignados a un proyecto de base de datos geogrfica programada por los estudiantes.
Comenzando en 1973, INGRES produjo sus primeras versiones de prueba que
estuvieron listas para uso general en 1979. INGRES era muy similar a System R de
IBM en varios aspectos, incluyendo un lenguaje para acceso a los datos, conocido como
QUEL. Con el paso del tiempo, INGRES adopto el estndar SQL.
IBM realiz una implementacin de prueba del modelo relacional -PRTV- y una de
produccin -Business System 12- ambas descontinuadas. Honeywell escribi MRDS
para Multics, y aparecen tambin dos nuevas implementaciones: Alphora Dataphor y
Rel. La mayora de las dems implementaciones de SGBD llamados relacionales son en
realidad SGBD SQL.
En la dcada de 1970, la Universidad de Mchigan comenz el desarrollo del MICRO
Information Management System basado en el modelo terico de datos de D.L. Childs.
Micro fue utilizado para gestionar gran cantidad de datos en el Departamento de trabajo
del gobierno US. Corra en mainframe usando Michigan Terminal System. Estuvo en
produccin hasta 1998.

Sistemas SQL de finales de la dcada 1970[editar]


Artculo principal: SQL

IBM comenz a trabajar a principios de 1970 en un prototipo lejanamente basado en los


conceptos de Codd llamndolo System R. La primera versin estuvo lista en 1974/5, y
comenz as el trabajo en sistemas multi-tabla, en los que los datos podan digregarse de
modo que toda la informacin de un registro (alguna de la cual es opcional) no tiene que
estar almacenada en un nico trozo grande. Las versiones multi-usuario siguientes
fueron probadas por los usuarios en 1978 y 1979, tiempo por el que un lenguaje SQL
haba sido estandarizado. Las ideas de Codd se revelaron como operativas y superiores a
las de CODASYL, lanzando a IBM al desarrollo de una verdadera versin de
produccin de System R, conocido como SQL/DS, y posteriormente como Database 2
(DB2).
Muchos de los tcnicos de INGRES estaban seguros del xito comercial del sistema, y
formaron sus propias compaas para comercializar el desarrollo pero con un interfaz
SQL. Sybase, Informix, NonStop SQL y la misma INGRES se vendan como derivados
del INGRES original en los aos 1980. Incluso el SQL Server de Microsoft est basado
en Sybase, y por consiguiente en INGRES. Slo Larry Ellison -el fundador de Oraclecomenz un nuevo camino basado en el artculo de IBM sobre System R, y aventaj a
IBM sacando al mercado su primera versin en 1978.
Stonebraker aplic las lecciones de INGRES al desarrollo de una nueva base de datos Postgres- conocida ahora como PostgreSQL. PostgreSQL se utiliza para muchas
aplicaciones crticas (los registros de dominios.org y.info lo usan para su
almacenamiento primario, as como grandes compaas e instituciones financieras).
En Suecia, el artculo de Codd gener la base de datos Mimer SQL3 en la universidad de
Uppsala. En 1984 este proyecto se consolid en una compaa independiente. A
principios de 1980, Mimer introdujo la gestin de transacciones para dar robustez a las
aplicaciones, una idea que fue recogida en muchos otros SGBD.

Sistemas orientados a objetos de 1980[editar]


Artculo principal: Base de datos orientada a objetos

Durante la dcada de 1980 el auge de la programacin orientada a objetos influy en el


modo de manejar la informacin de las bases de datos. Programadores y diseadores
comenzaron a tratar los datos en las bases de datos como objetos. Esto quiere decir que
si los datos de una persona estn en la base de datos, los atributos de la persona como
direccin, telfono y edad se consideran que pertenecen a la persona, no son datos
extraos. Esto permite establecer relaciones entre objetos y atributos, ms que entre
campos individuales.
Otro gran foco de atencin durante la dcada fue el incremento de velocidad y fiabilidad
en el acceso. En 1989, dos profesores de la Universidad de Wisconsin publicaron un
artculo en una conferencia ACM en el que exponan sus mtodos para mejorar las
prestaciones de las bases de datos. La idea consista en replicar la informacin
importante -y ms solicitada- en una base de datos temporal de pequeo tamao con
enlaces a la base de datos principal. Esto implicaba que se poda buscar mucho ms
rpido en la base de datos pequea que en la grande. Su mejora de prestaciones llev a
la introduccin de la indizacin, incorporado en la totalidad de los SGBD.

Sistemas NoSQL de 2000[editar]


Artculo principal: NoSQL

El siglo XXI trajo una nueva tendencia en las bases de datos: el NoSQL. Esta tendencia
introduca una lnea no relacional significativamente diferentes de las clsicas. No
requieren por lo general esquemas fijos, evitan las operaciones join almacenando datos
denormalizados y estn diseadas para escalar horizontalmente. La mayor parte de ellas
pueden clasificarse como almacenes clave-valor o bases de datos orientadas a
documentos.
Recientemente ha habido una gran demanda de bases de datos distribuidas con
tolerancia a particiones, pero de acuerdo con el teorema CAP no es posible conseguir un
sistema distribuido que simultneamente proporcione consistencia, disponibilidad y
tolerancia al particionado. Un sistema distribuido puede satisfacer slo dos de las tres
restricciones a la vez. Por dicha razn muchas de las bases de datos NoSQL usan la
llamada consistencia eventual para proporcionar disponibilidad y tolerancia al
particionado, con un nivel mximo de consistencia de datos.
Entre las aplicaciones ms populares encontramos MongoDB, MemcacheDB, Redis,
CouchDB, Hazelcast, Apache Cassandra y HBase, todas ellas de cdigo abierto.

Sistemas XML 2010[editar]


las Bases de Datos XML forman un subconjunto de las Bases de Datos NoSQL. Todas
ellas usan el formato de almacenamiento XML, que est abierto, legible por humanos y
mquinas y ampliamente usado para interoperabilidad.
En esta categora encontramos: BaseX, eXist, MarkLogic Server, MonetDB/XQuery,
Sedna.

Componentes[editar]

El motor de la base de datos acepta peticiones lgicas de los otros subsistemas


del SGBD, las convierte en su equivalente fsico y accede a la base de datos y
diccionario de datos en el dispositivo de almacenamiento.
El subsistema de definicin de datos ayuda a crear y mantener el diccionario
de datos y define la estructura del fichero que soporta la base de datos.
El subsistema de manipulacin de datos ayuda al usuario a aadir, cambiar y
borrar informacin de la base de datos y la interroga para extraer informacin. El
subsistema de manipulacin de datos suele ser el interfaz principal del usuario
con la base de datos. Permite al usuario especificar sus requisitos de la
informacin desde un punto de vista lgico.
El subsistema de generacin de aplicaciones contiene utilidades para ayudar a
los usuarios en el desarrollo de aplicaciones. Usualmente proporciona pantallas
de entrada de datos, lenguajes de programacin e interfaces.
El subsistema de administracin ayuda a gestionar la base de datos ofreciendo
funcionalidades como almacenamiento y recuperacin, gestin de la seguridad,
optimizacin de preguntas, control de concurrencia y gestin de cambios.

Lenguajes de modelacin[editar]
Toda base de datos soportada por un SGBD debe tener unos esquemas modelados
adecuadamente. Coincidiendo con la evolucin histrica de las bases de datos stas han
utilizado distintos modelos. Los SGBD esperan un modelo determinado para poder
acceder de forma simple a la base de datos. Estos modelos son:

Jerrquicos
En red.
Relacionales.
Multidimensionales.
De objetos.

Tambin se han utilizados listas invertidas.

Estructura jerrquica[editar]

Modelo de una base de datos jerrquica


La estructura jerrquica fue usada en los SGBD de los primeros mainframe. Las
relaciones entre registros forman una estructura en rbol. Esta estructura es simple pero
inflexible ya que las relaciones estn confinadas al tipo 1:n. El sistema IMS de IBM y el
RDM Mobile de Raima4 son ejemplos de bases de datos con mltiples jerarquas sobre
el mismo conjunto de datos. RDM Mobile es un nuevo diseo de base de datos imbuida
para una red de ordenadores mviles. La estructura jerrquica es usada hoy en da para
almacenar informacin geogrfica principalmente.
El modelo de base de datos jerrquica tiene un esquema en el que los datos se organizan
en una estructura arbrea. Esta estructura permite representar relaciones padre/hijo:
cada padre puede tener varios hijos, pero cada hijo ha de venir de slo un padre (las
conocidas como relaciones 1:N). Todos los atributos de un registro especfico estn
asociados a un tipo de entidad. Este modelo fue creado por IBM en 1960.
En una base de datos una entidad tipo es el trmino genrico para tabla. Cada registro
individual se representa como una fila, y cada atributo como una columna. Las
entidades tipo se relacionan entre ellas usando correspondencias 1:N.
Actualmente las bases de datos jerrquicas ms utilizadas son IMS de IBM y el Registro
de Windows de Microsoft.

Estructura en red[editar]

Modelo de base de datos en red


Esta estructura contiene relaciones ms complejas que las jerrquicas. Admite
relaciones de cada registro con varios que se pueden seguir por distintos caminos. En
otras palabras, el modelo permite relaciones N:N.
El modelo en red est concebido como un modo flexible de representar objetos y sus
relaciones. Su cualidad distintiva es que el esquema -visto como un conjunto de nodos
conectados por arcos- no tiene ninguna restriccin.
El inventor de este modelo fue Charles Bachman, y el estndar fue publicado en 1969
por CODASYL.

La estructura relacional[editar]
Artculo principal: Base de datos relacional

Ejemplo de tablas y relaciones


La estructura relacional es la ms extendida hoy en da. Se usa en mainframes,
ordenadores medios y micro-computadores. Almacena los datos en filas (tuplas) y
columnas (atributos). Estas tablas pueden estar conectadas entre s por claves comunes.
Mientras trabajaba en IBM en 1972, E.F. Codd concibi esta estructura. El modelo no
resulta sencillo de interrogar por el usuario ya que puede requerir una compleja
combinacin de tablas.

La estructura multidimensional[editar]

Cubos representando 4 dimensiones en base de datos multidimensional


La estructura multidimensional tiene parecidos a la del modelo relacional, pero en vez
de las dos dimensiones filas-columnas, tiene N dimensiones. Esta estructura ofrece el
aspecto de una hoja de clculo. Es fcil de mantener y entender ya que los registros se
almacenan del mismo modo como se ven. Sus altas prestaciones han hecho de ella la
base de datos ms popular para el proceso analtico de transacciones en lnea (OLAP).

La estructura orientada a objetos[editar]


Artculo principal: Base de datos orientada a objetos

Ejemplo de base de datos conteniendo objetos y herencias


La estructura orientada a objetos est diseada siguiendo el paradigma de los lenguajes
orientados a objetos. De este modo soporta los tipos de datos grficos, imgenes, voz y
texto de manera natural. Esta estructura tiene gran difusin en aplicaciones web para
aplicaciones multi-media.
Antes de la implantacin de los SGBD con estructura orientada a objetos, el
almacenamiento de datos multi-media se basaba en el sistema de ficheros para
organizar, almacenar y procesar los datos. El proceso de ficheros es engorroso, costoso
e inflexible. La redundancia de los datos es un inconveniente del proceso de ficheros ya
que los ficheros independientes producen ficheros duplicados con su implicacin en el
espacio necesario. Otro inconveniente es la falta de integracin, y la dificultad de
mantenimiento. Esto fue encaminado aplicando la orientacin a objetos a los datos.

Lenguajes de consulta[editar]
Artculo principal: Lenguaje de consulta

Los lenguajes de consulta de bases de datos y de generacin de informes permiten


interrogar a la base de datos, analizar los datos y actualizarlos segn los privilegios de
cada usuario. Tambin controla la seguridad de la base de datos para prevenir accesos
no autorizados que vean, borren o cambien los datos. Mediante el uso de claves se
permite el acceso a toda la base de datos o a parte de ella. A modo de ejemplo, una base
de datos de empleados puede contener todos los datos de los empleados, pero slo un

grupo de usuarios puede estar autorizado a ver las nminas mientras que otros pueden
estar autorizados a ver slo las historias laborales y los datos mdicos.
Si el SGBD proporciona un modo de acceder y actualizar la base de datos, as como de
consultarla, ste posibilitar la creacin de bases de datos personales. Sin embargo, le
faltara la capacidad de dejar trazas de las acciones o los controles necesarios que
necesita la base de datos de una gran organizacin. Estos controles estn slo
disponibles cuando un conjunto de programas auxiliares supervisan los accesos y
actualizaciones de los datos.

Arquitectura[editar]
La arquitectura de un SGBD especifica sus componentes (incluyendo su descripcin
funcional) y sus interfaces. Trata de conceptos distintos que la arquitectura de la base de
datos. Los componentes principales de un SGBD son:

Interfaces externos - Medios para comunicarse con el SGDB en ambos sentidos


(E/S) y explotar a todas sus funciones. Pueden afectar a la base de datos o a la
operacin del SGBD, por ejemplo:
o operaciones directas con la base de datos: definicin de tipos, asignacin
de niveles de seguridad, actualizacin de datos, interrogacin de la base
de datos...
o operaciones relativas a la operacin del SGBD: copia de seguridad y
restauracin, recuperacin tras una cada, monitoreo de seguridad,
gestin del almacenamiento, reserva de espacio, monitoreo de la
configuracin, monitoreo de prestaciones, afinado...
o los interfaces externos bien pueden ser utilizados por usuarios (p.e.
administradores) o bien por programas que se comunican a travs de un
API.
Intrprete o procesador del lenguaje - La mayor parte de las operaciones se
efectan mediante un lenguaje de base de datos. Existen lenguajes para
definicin de datos, manipulacin de datos (p.e. SQL), para especificar aspectos
de la seguridad y ms. Las sentencias en ese lenguaje se introducen en el SGBD
mediante el interfaz adecuado. Se procesan las expresiones en dicho lenguaje (ya
sea compilado o interpretado) para extraer las operaciones de modo que puedan
ser ejecutadas por el SGBD.
Optimizador de consultas - Realiza la optimizacin de cada pregunta y escoge el
plan de actuacin ms eficiente para ejecutarlo.
Motor de la base de datos - Realiza las operaciones requeridas sobre la base de
datos, tpicamente representndolo a alto nivel.
Mecanismo de almacenamiento - Traduce las operaciones a lenguaje de bajo
nivel para acceder a los datos. En algunas arquitecturas el mecanismo de
almacenamiento est integrado en el motor de la base de datos.
Motor de transacciones - Para conseguir correccin y fiabilidad la mayora de las
operaciones internas del SGBD se realizan encapsuladas dentro de
transacciones. Las transacciones pueden ser especificadas externamente al
SGBD para encapsular un grupo de operaciones. El motor de transacciones
sigue la ejecucin de las transacciones y gestiona su ejecucin de acuerdo con
las reglas que tiene establecidas (p. eg., control de concurrencia y su ejecucin o
cancelacin).

Gestin y operacin de SGBD - Comprende muchos otros componentes que


tratan de aspectos de gestin y operativos del SGBD como monitoreo de
prestaciones, gestin del almacenamiento, mapas de almacenamiento.

Vase tambin[editar]

Base de datos
Almacn de datos
Anexo:Comparacin de sistemas administradores de bases de datos relacionales

Referencias[editar]
1. Volver arriba Bachman, Charles W. The programmer as navigator (en ingls).
Consultado el 17 de febrero de 2013.
2. Volver arriba Codd, E.F. (1970)."A Relational Model of Data for Large Shared Data
Banks". In: Communications of the ACM 13 (6): 377387.
3. Volver arriba Mimer SQL (en ingls). Consultado el 18 de febrero de 2013.
4. Volver arriba Database Management System; Product Overview (en ingls).
Consultado el 19 de febrero de 2013.

<img src="//es.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt=""


title="" width="1" height="1" style="border: none; position: absolute;" />
Obtenido de
http://es.wikipedia.org/w/index.php?title=Sistema_de_gestin_de_bases_de_datos&ol
did=82735568
Categora:

Sistemas de gestin de bases de datos

Vous aimerez peut-être aussi