Download Registro (base de datos) - Programa Integración de Tecnologías a

Document related concepts

Base de datos wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Modelo relacional wikipedia , lookup

Base de datos relacional wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Transcript
CONCEPTOS GENERALES SOBRE LAS BASES DE DATOS
CONTENIDO
Base de datos....................................................................................................................... 1
Clasificación de las Bases de Datos................................................................................. 2
1. Tipos de bases de datos ............................................................................................ 2
1.1. Según la variabilidad de los datos almacenados ............................................ 2
1.2. Según el contenido .............................................................................................. 3
2. Modelos de bases de datos ....................................................................................... 4
2.1 Bases de datos jerárquicas ................................................................................ 4
2.2. Base de datos de red .......................................................................................... 4
2.3 Base de datos relacional ...................................................................................... 4
2.4. Bases de datos orientadas a objetos ................................................................ 6
2.5 Bases de datos documentales ........................................................................... 6
2.6 Base de datos deductivas .................................................................................... 6
2.7 Gestión de bases de datos distribuida............................................................... 7
Registro (base de datos) .................................................................................................... 7
Campo (informática) ............................................................................................................ 7
Tipos de Campo ............................................................................................................... 8
Dato ........................................................................................................................................ 8
Algoritmo ............................................................................................................................... 8
Lenguaje de programación................................................................................................. 9
Sistema de gestión de base de datos ............................................................................ 10
SGBD libres .................................................................................................................... 11
SGBD comerciales ........................................................................................................ 12
Base de datos
Una base o banco de datos es un conjunto de datos que pertenecen al mismo
contexto almacenados sistemáticamente para su posterior uso. En este sentido,
una biblioteca puede considerarse una base de datos compuesta en su mayoría
por documentos y textos impresos en papel e indexados para su consulta.
En la actualidad, y gracias al desarrollo tecnológico de campos como la
informática y la electrónica, la mayoría de las bases de datos tienen formato
electrónico, que ofrece un amplio rango de soluciones al problema de almacenar
datos.
En informática existen los sistemas gestores de bases de datos (SGBD), que
permiten almacenar y posteriormente acceder a los datos de forma rápida y
estructurada. Las propiedades de los sistemas gestores de bases de datos se
estudian en informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones
públicas. También son ampliamente utilizadas en entornos científicos con el objeto
de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de
ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en
España, los datos personales se encuentran protegidos por la Ley Orgánica de
Protección de Datos de Carácter Personal (LOPD).
Clasificación de las Bases de Datos


1 Tipos de bases de datos
o 1.1 Según la variabilidad de los datos almacenados
 1.1.1 Bases de datos estáticas
 1.1.2 Bases de datos dinámicas
o 1.2 Según el contenido
 1.2.1 Bases de datos bibliográficas
 1.2.2 Bases de datos de texto completo
 1.2.3 Directorios
 1.2.4 Banco de imágenes, audio, video, multimedia, etc.
 1.2.5 Bases de datos o "bibliotecas" de información Biológica
2 Modelos de bases de datos
o 2.1 Bases de datos jerárquicas
o 2.2 Base de datos de red
o 2.3 Base de datos relacional
o 2.4 Bases de datos orientadas a objetos
o 2.5 Bases de datos documentales
o 2.6 Base de datos deductivas
o 2.7 Gestión de bases de datos distribuida
1. Tipos de bases de datos
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio
elegido para su clasificación:
1.1. Según la variabilidad de los datos almacenados
Bases de datos estáticas
Éstas son bases de datos de sólo lectura, utilizadas primordialmente para
almacenar datos históricos que posteriormente se pueden utilizar para estudiar el
comportamiento de un conjunto de datos a través del tiempo, realizar
proyecciones y tomar decisiones.
Bases de datos dinámicas
Éstas son bases de datos donde la información almacenada se modifica con el
tiempo, permitiendo operaciones como actualización y adición de datos, además
de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la
base de datos utilizada en un sistema de información de una tienda de abarrotes,
una farmacia, un videoclub, etc.
1.2. Según el contenido
Bases de datos bibliográficas
Solo contienen un surrogante (representante) de la fuente primaria, que permite
localizarla. Un registro típico de una base de datos bibliográfica contiene
información sobre el autor, fecha de publicación, editorial, título, edición, de una
determinada publicación, etc. Puede contener un resumen o extracto de la
publicación original, pero nunca el texto completo, porque sino estaríamos en
presencia de una base de datos a texto completo (o de fuentes primarias—ver
más abajo). Como su nombre lo indica, el contenido son cifras o números. Por
ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas
las ediciones de una colección de revistas científicas.
Directorios
Un ejemplo son las guías telefónicas en formato electrónico.
Banco de imágenes, audio, video, multimedia, etc.
Bases de datos o "bibliotecas" de información Biológica
Son bases de datos que almacenan diferentes tipos de información proveniente de
las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:





Aquellas que almacenan secuencias de nucleótidos o proteínas.
Las bases de datos de rutas metabólicas
Bases de datos de estructura, comprende los registros de datos
experimentales sobre estructuras 3D de biomoléculas
Bases de datos clínicas
Bases de datos bibliográficas (biológicas)
2. Modelos de bases de datos
Además de la clasificación por la función de las bases de datos, éstas también se
pueden clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido como
contenedor de datos (algo en donde se guarda la información), así como de los
métodos para almacenar y recuperar información de esos contenedores. Los
modelos de datos no son cosas físicas: son abstracciones que permiten la
implementación de un sistema eficiente de base de datos; por lo general se
refieren a algoritmos, y conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
2.1 Bases de datos jerárquicas
Éstas son bases de datos que, como su nombre indica, almacenan su información
en una estructura jerárquica. En este modelo los datos se organizan en una forma
similar a un árbol (visto al revés), en donde un nodo padre de información puede
tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que
no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de
aplicaciones que manejan un gran volumen de información y datos muy
compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de
representar eficientemente la redundancia de datos.
2.2. Base de datos de red
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental
es la modificación del concepto de nodo: se permite que un mismo nodo tenga
varios padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una
solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad
que significa administrar la información en una base de datos de red ha significado
que sea un modelo utilizado en su mayoría por programadores más que por
usuarios finales.
2.3 Base de datos relacional
Una base de datos relacional es un conjunto de dos o mas tablas estructuradas en
registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en
común, en ambos casos posee las mismas características 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 término se refiere a una colección específica de datos
pero a menudo se le usa, en forma errónea como sinónimo del software usado
para gestionar esa colección de datos. Ese software se conoce como sistema
gestor de base de datos relacional o RDBMS (relational database management
system).
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalización de una base de datos, la cual es entendida como el proceso
necesario para que una base de datos sea utilizada de manera óptima.
Éste es el modelo más utilizado en la actualidad para modelar problemas reales y
administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970
por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó
en consolidarse como un nuevo paradigma en los modelos de base de datos. Su
idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse
en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la
teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la
mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto
es pensando en cada relación como si fuese una tabla que está compuesta por
registros (las filas de una tabla), que representarían las tuplas, y campos (las
columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen
relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto
tiene la considerable ventaja de que es más fácil de entender y de utilizar para un
usuario esporádico de la base de datos. La información puede ser recuperada o
almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para
administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos
relacionales es SQL, Structured Query Language o Lenguaje Estructurado de
Consultas, un estándar implementado por los principales motores o sistemas de
gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le
conoce como normalización de una base de datos.
Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución
en los lenguajes de programación y sistemas de administración de datos. Aunque
nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su
gestión.
2.4. Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos 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:



Encapsulación - Propiedad que permite ocultar la información al resto de los
objetos, impidiendo así accesos incorrectos o conflictos.
Herencia - Propiedad a través de la cual los objetos heredan
comportamiento dentro de una jerarquía de clases.
Polimorfismo - Propiedad de una operación 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 definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus
argumentos (o parámetros). La implementación (o método) de la operación se
especifica separadamente y puede modificarse sin afectar la interfaz. Los
programas de aplicación de los usuarios pueden operar sobre los datos invocando
a dichas operaciones a través de sus nombres y argumentos, sea cual sea la
forma en la que se han implementado. Esto podría denominarse independencia
entre programas y operaciones.
Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que
soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad
con SQL92.
2.5 Bases de datos documentales
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas
más potentes. Tesaurus es un sistema de índices optimizado para este tipo de
bases de datos.
2.6 Base de datos deductivas
Un sistema de base de datos deductivas, es un sistema de base de datos pero
con la diferencia de que permite hacer deducciones a través de inferencias. Se
basa principalmente en reglas y hechos que son almacenados en la base de
datos. También las bases de datos deductivas son llamadas base de datos lógica,
a raíz de que se basan en lógica matemática.
2.7 Gestión de bases de datos distribuida
La base de datos está almacenada en varias computadoras conectadas en red.
Surgen debido a la existencia física 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, etcetera
Registro (base de datos)
Un registro es un conjunto de campos que contienen los datos que pertenecen a
una misma repetición de entidad. Se le asigna automáticamente un número
consecutivo (número de registro) que en ocasiones es usado como índice aunque
lo normal y práctico es asignarle a cada registro un campo clave para su
búsqueda.
En informática, y concretamente en el contexto de una base de datos relacional,
un registro (también llamado fila o tupla) representa un ítem único de datos
implícitamente estructurados en una tabla. En términos simples, una tabla de una
base de datos puede imaginarse formada de filas y columnas o campos. Cada fila
de una tabla representa un conjunto de datos relacionados, y todas las filas de la
misma tabla tienen la misma estructura.
La estructura implícita de un registro y el significado de los valores de sus campos
exige que dicho registro sea entendido como una sucesión de datos, uno en cada
columna de la tabla. La fila se interpreta entonces como una variable relacional
compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems:
el nombre de la columna relevante y el valor que esta fila provee para dicha
columna.
Cada columna espera un valor de un tipo concreto. Podemos definir un tipo de
dato a partir de los valores permitidos y las operaciones que se puedan llevar a
cabo sobre estos valores.
Campo (informática)
En informática un campo es un espacio de almacenamiento para un dato
particular. En las bases de datos, un campo es la mínima unidad de información a
la que se puede acceder; un campo o un conjunto de ellos forman un registro,
donde pueden existir campos en blanco, siendo éste un error del sistema. En las
hojas de cálculo los campos son llamados celdas. La mayoría de los campos
tienen atributos asociados a ellos. Por ejemplo, algunos campos son numéricos
mientras otros almacenan texto, también varía el tamaño de estos.
Adicionalmente, cada campo tiene un nombre.
Tipos de Campo
Un campo puede ser:
Campo genérico: También llamado registro. es el conjunto de campos.
Campo índice o campo clave: Aquel campo que posee un dato único para una
repetición de entidad. Puede servir para la búsqueda de una entidad en específico
Dato
Un dato es una representación simbólica (numérica, alfabética, etc.), atributo o
característica de una entidad. El dato no tiene valor semántico (sentido) en sí
mismo, pero convenientemente tratado (procesado) se puede utilizar en la
realización de cálculos o toma de decisiones. Es de empleo muy común en el
ámbito informático.
En programación un dato es la expresión general que describe las características
de las entidades sobre las cuales opera un algoritmo.
Un dato por sí mismo no constituye información, es el procesado de los datos lo
que nos proporciona
Algoritmo
Un algoritmo (del latín, dixit algorithmus y éste del matemático persa al-Jwarizmi)
es un conjunto ordenado y finito de operaciones que permite hallar la solución de
un problema. Los algoritmos son el objeto de estudio de la algoritmia y sirven para
ejecutar una tarea y resolver problemas matemáticos; estos transforman una
entrada en una salida ("efecto caja negra"). Su definición queda formalizada por la
Máquina de Turing.
Un algoritmo es un sistema por el cual se llega a una o varias soluciones, teniendo
en cuenta que debe ser definido, finito y eficiente. Por eficiente se entiende que
cada paso a seguir tiene un orden; finito implica que tiene un determinado número
de pasos, o sea, que tiene un fin; y definido, que si se sigue el mismo proceso más
de una vez se llega siempre al mismo resultado.
El término "algoritmo" no está exclusivamente relacionado con la matemática, las
ciencias de la computación o la informática. En la vida cotidiana se emplean
algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos
ejemplos son el uso de una lavadora (se siguen las instrucciones), pero no la
preparación de una comida (porque no están perfectamente definidos los pasos) o
el mismo lenguaje humano que "transforma" pensamientos en sonidos y hace que
otro humano pueda entender. También existen ejemplos de índole matemática,
como el algoritmo de la división para calcular el cociente de dos números, el
algoritmo de Euclides para calcular el máximo común divisor de dos enteros
positivos, o el método de Gauss para resolver Sistema lineal de ecuaciones.
Lenguaje de programación
Un lenguaje de programación es un lenguaje que puede ser utilizado para
controlar el comportamiento de una máquina, particularmente una computadora.
Consiste en un conjunto de reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos, respectivamente.
Aunque muchas veces se usa lenguaje de programación y lenguaje informático
como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes
informáticos engloban a los lenguajes de programación y a otros más, como, por
ejemplo, el HTML.
Un lenguaje de programación permite a un programador especificar de manera
precisa: sobre qué datos una computadora debe operar, cómo deben ser estos
almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente
próximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico.
Los procesadores usados en las computadoras son capaces de entender y actuar
según lo indican programas escritos en un lenguaje fijo llamado lenguaje de
máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos
maneras:

Mediante un programa que va adaptando las instrucciones conforme son
encontradas. A este proceso se lo llama interpetar y a los programas que lo
hacen se los conoce como intérpretes.

Traduciendo este programa al programa equivalente escrito en lenguaje de
máquina. A ese proceso se lo llama compilar y al traductor se lo conoce
como compilador.
Sistema de gestión de base de datos
Los Sistemas de gestión de base de datos son un tipo de software muy específico,
dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones
que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje
de manipulación de datos y de un lenguaje de consulta. En los textos que tratan
este tema, o temas relacionados, se mencionan los términos SGBD y DBMS,
siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de
Bases de Datos y DataBase Management System, su expresión inglesa.
El propósito general de los sistemas de gestión de base de datos es el de manejar
de manera clara, sencilla y ordenada un conjunto de datos.
Existen distintos objetivos que deben cumplir los SGBD:






Abstracción de la información. Los SGBD ahorran a los usuarios detalles
acerca del almacenamiento físico de los datos. Da lo mismo si una base de
datos ocupa uno o cientos de archivos, este hecho se hace transparente al
usuario. Así, se definen varios niveles de abstracción.
Independencia. La independencia de los datos consiste en la capacidad de
modificar el esquema (físico o lógico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.
Redundancia mínima. Un buen diseño de una base de datos logrará evitar
la aparición de información repetida o redundante. De entrada, lo ideal es
lograr una redundancia nula; no obstante, en algunos casos la complejidad
de los cálculos hace necesaria la aparición de redundancias.
Consistencia. En aquellos casos en los que no se ha logrado esta
redundancia nula, será necesario vigilar que aquella información que
aparece repetida se actualice de forma coherente, es decir, que todos los
datos repetidos se actualicen de forma simultánea.
Seguridad. La información almacenada en una base de datos puede llegar
a tener un gran valor. Los SGBD deben garantizar que esta información se
encuentra asegurada frente a usuarios malintencionados, que intenten leer
información privilegiada; frente a ataques que deseen manipular o destruir
la información; o simplemente ante las torpezas de algún usuario autorizado
pero despistado. Normalmente, los SGBD disponen de un complejo sistema
de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas
categorías de permisos.
Integridad. Se trata de adoptar las medidas necesarias para garantizar la
validez de los datos almacenados. Es decir, se trata de proteger los datos




ante fallos de hardware, datos introducidos por usuarios descuidados, o
cualquier otra circunstancia capaz de corromper la información
almacenada.
Respaldo y recuperación. Los SGBD deben proporcionar una forma
eficiente de realizar copias de seguridad de la información almacenada en
ellos, y de restaurar a partir de estas copias los datos que se hayan podido
perder.
Control de la concurrencia. En la mayoría de entornos (excepto quizás el
doméstico), lo más habitual es que sean muchas las personas que acceden
a una base de datos, bien para recuperar información, bien para
almacenarla. Y es también frecuente que dichos accesos se realicen de
forma simultánea. Así pues, un SGBD debe controlar este acceso
concurrente a la información, que podría derivar en inconsistencias.
Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el
SGBD tarda en darnos la información solicitada y en almacenar los cambios
realizados.
Ventajas:
1.
2.
3.
4.
Facilidad de manejo de grandes volúmenes de información.
Gran velocidad en muy poco tiempo.
Independencia del tratamiento de información.
Seguridad de la información (acceso a usuarios autorizados), protección
de información, de modificaciones, inclusiones, consulta.
5. No hay duplicidad de información, comprobación de información en el
momento de introducir la misma.
6. Integridad referencial el terminar los registros.

Inconvenientes:
1.
2.
3.
4.
5.
El costo de actualización del hardware y software son muy elevados.
Costo (salario) del administrador de la base de datos es costoso.
El mal diseño de esta puede originar problemas a futuro.
Un mal adiestramiento a los usuarios puede originar problemas a futuro.
Si no se encuentra un manual del sistema no se podrán hacer relaciones
con facilidad.
6. Generan campos vacíos en exceso.
7. El mal diseño de seguridad genera problemas en esta.
SGBD libres






PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD
MySQL Licencia Dual, depende el uso.
Firebird basada en la versión 6 de Interbase, Initial Developer's PUBLIC
LICENSE Version 1.0.
SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público
Sybase ASE Express Edition para Linux (Edición gratuita para Linux)
Microsoft SQL Server Compact Edition
SGBD comerciales
















dBase
FileMaker
Fox Pro
IBM DB2 Universal Database (DB2 UDB)
IBM Informix
MAGIC
Microsoft SQL Server
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
Sybase IQ
WindowBase