Vous êtes sur la page 1sur 4

Introduccin a las Bases de datos Relacionales

Bases de Datos Relacionales y otras formas de almacenar informacin


Modelo tradicional de ficheros
En la programacin de aplicaciones llega un momento en el que se necesita almacenar informacin de forma persistente. Almacenar datos de forma temporal en memoria no es suficiente, ya que dicha memoria es voltil, es decir, la informacin contenida en ella se pierde al apagar el ordenador, y es limitada en cuanto a tamao. Debido a esta necesidad, surge el almacenamiento de datos en disco. Un soporte ms lento, pero a su vez, persistente y ms barato. Este almacenamiento en disco se realiza en unas estructuras de datos llamadas ficheros que proporcionan un almacenamiento permanente de los datos y una segmentacin de los mismos que permite que se carguen en memoria por trozos.

Qu es una BBDD
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.

Ventajas de la BBDD vs archivos


Se elimina la redundancia de datos, en los ficheros se da con mucha frecuencia la presencia de datos repetidos Independencia del programa y los datos, ya no existe una relacin tan estrecha entre los datos almacenados y los programas especficos que los manipulan. Si hay una modificacin en los datos no implica necesariamente que se deba modificar el programa. Esto supone un ahorro en los costes de mantenimiento. Mayor facilidad y estandarizacin de los programas que acceden a la base de datos. Mayor flexibilidad y coherencia a la hora de solicitar y devolver la informacin. Mayor seguridad, ya que se proporcionan restricciones ms complejas tanto a nivel de permisos del usuario como permisos sobre operaciones concretas. Mayor eficiencia en el almacenamiento. Mejor comunicacin e interfaz entre aplicaciones. Se pueden compartir datos entre sistemas de forma ms segura y sencilla. Velocidad de respuesta ante desastres. Si hay un fallo grave en el sistema, la recuperacin ser ms rpida.

Qu es una BBDD relacional?


El diseo relacional de bases de datos se empieza a gestar en los los aos 60-70, cuando el investigador de IBM Edgar Frank Codd publica su trabajo "Un modelo relacional de datos para grandes bancos de datos compartidos" en el que propone una serie de directivas lgicas y algebricas para la gestin de informacin dentro de las bases de datos. Este modelo se basa en las relaciones entre datos, que definen una estructura lgica de almacenado de informacin independiente de la forma de almacenado fsico. Entiende la base de datos como una coleccin de relaciones que se puede manipular mediante un lenguaje relacional estndard conocido como SQL (Structured Query Language) que se basa en consultas y est implementado por los sistemas de bases de datos ms importantes, conocidos generalmente como RDBMS (Relational Database Management Systems) o SGBD (Sistemas de Gestin de Bases de Datos) relacionales. Los SGBD sirven de interfaz entre la base de datos, el usuario y las aplicaciones que los utilizan, proporcionan muchos beneficios en seguridad, independencia, consistencia e integridad de los datos adems de proporcionar muchas facilidades para el manejo de datos y funcionalidades. Los objetivos de Codd con este modelo eran los siguientes: Independencia lgica y fsica de los datos. Los cambios en el almacenamiento fsico deben ser transparentes a las aplicaciones y usuarios. As mismo, los cambios en los datos no implicar un cambio en la estructura de las aplicaciones. Flexibilidad y seguridad. La misma informacin se muestra de forma diferente segn el usuario y aplicacin que la recuperen. Estandarizacin lgica. Los datos se organizan en relaciones o tablas que comparten la misma filosofa de creacin, as como la forma de gestin y restricciones Simplicidad. El modelo relacional pretenda ser ms sencillo que el resto de alternativas y se deba manejar con un lenguaje lo ms natural posible.

Otros sistemas de BBDD


Jerrquicas Almacenan la informacin en una estructura jerrquica. Es un modelo de rbol inverso, donde un nodo padre (raz) puede tener varios hijos (hojas). Son tiles en caso de aplicaciones que manejan mucha informacin y datos muy estables y organizados. Se gestiona de forma similar a un rbol de directorios. Su gran problema es la limitacin de gestin de datos duplicados. Es una mejora del modelo jerrquico, en este caso los nodos hijos pueden tener varios padres, por lo que la gestin de la redundancia o repeticin de datos se ve mejorada. La dificultad en la gestin y administracin es su punto dbil. Orientadas a objetos Este modelo, mucho ms reciente, basa su almacenaje de datos en objetos. Por lo que los objetos de base de datos se muestran en el lenguaje de programacin como cualquier otro objeto de desarrollo. Los sistemas gestores de estas bases de datos (ODBMS) extienden los lenguajes de programacin con los datos de la base de datos de forma transparente, lo que permite un ahorro de costes en el desarrollo y mantenimiento.

Sus desventajas son casi todas de estandarizacin, ya que no usan los estandares de las bases de datos relacionales y por ello pierden mucha capacidad de conectividad y conexion con hrramientas de terceros, adems de una pobre gestin de backups y recuperaciones. Se integran principalmente con lenguajes de programacin basados en objetos, como Java, Python, C++... Los sistemas ODBMS ms conocidos son Gemstone, Gbase (integrado en LISP), u O2 comprado por Informix, que luego fue adquirida por IBM. Ventajas de las BBDD relacionales Garantiza herramientas para evitar la duplicidad de registros, a travs de campos claves o llaves. Garantiza la integridad referencial: As al eliminar un registro elimina todos los registros relacionados dependientes. Favorece la normalizacin por ser ms comprensible y aplicable.

Estructuras de las BBDD relacionales


Las bases de datos relacionales son un conjunto de relaciones o tablas. Cada tabla tiene un conjunto de registros, filas o tublas, y cada una de stas es un conjunto de columnas, campos o atributos. Todas las filas de una tabla comparten el mismo numero y estructura de campos.

Relaciones o tablas
Las tablas o relaciones se representan como una estructura formada por filas y columnas. Cada columna, campo o atributo contiene informacin sobre una propiedad determinada de la tabla, es decir, proporciona la estructura para componer las filas. Cada fila, registro o tupla contiene la asociacin de los valores reales con los campos, es decir, representa un elemento de datos que tiene la estructura de la tabla. Es decir, en una tabla de personas, los campos seran el DNI, Nombre, Apellidos, etc que definen las propiedades de los registros o filas, que seran 123456 Juan Prez, etc cada uno de los valores asociado a los atributos o campos definidos de la tabla. DNI Nombre Apellido 123456 Juan Prez 987465 Mara Surez 589584 Ernesto Martnez

...
Tupla. Cada fila o registrode la tabla (cada ejemplar que la tabla representa) Atributo. Cada columna o campo de la tabla Grado. Nmero de columnas de la tabla. Cardinalidad. Nmero de registros de una tabla Dominio. Conjunto vlido de valores representables por un atributo. Es decir, las restricciones de los valores de cada campo, nombre menor de 50 caracteres, DNI de formato 11111111-A, etc.

Propiedades de las relaciones o tablas


Cada relacin tiene un nombre y ste es distinto del nombre de todas las dems. Los valores de los atributos son atmicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones estn normalizadas. No hay dos atributos que se llamen igual. El orden de los atributos no importa: los atributos no estn ordenados. Cada tupla es distinta de las dems: no hay tuplas duplicadas. El orden de las tuplas no importa: las tuplas no estn ordenadas.

Tipos de Claves
Son aquellos campos que definen o identifican un registro

Clave primaria
Es una columna o conjunto de columnas que identifica uniequivocamente a una fila. Es decir, un identificador nico para cada fila. No puede ser nula. En muchas ocasiones puede ser un autonumrico.

Clave candidata
Es cada conjunto de columnas de una tabla que pueden ser escogidas para ser clave primaria.

Clave alternativa
Son aquellas claves candidatas que no son escogidas como clave primaria.

Clave fornea o ajena:


Es una columna o conjunto de columnas que existen de forma dependiente en una tabla y son, a su vez, clave primaria en otra. Representan las relaciones entre datos.

Clave compuesta
Es una clave formada por ms de una columna.

Tipos de Restricciones
Implcitas Son aquellas que son definidas por el modelo relacional y no dependen del usuario No puede haber dos registros iguales El orden de los registros no es significativo El orden de los campos no es significativo Cada campo solo puede tomar valor dentro de su dominio definido. Semnticas Son aquellas restricciones que define el usuario segn le conviene para sus datos Clave primaria Hace que las columnas marcadas como clave primaria no puedan contener duplicados adems de no poder contener nulos. Si est formada por varias columnas, ninguno de sus valores puede estar vaco. Unicidad o clave nica Los valores de las columnas marcadas como nicas no pueden duplicarse, pero s pueden ser nulas. Obligatoriedad o NOT NULL Fuerza que la columna definida como NOT NULL no pueda contener nulos Integridad referencial Indica una clave ajena, todos los valores de la columna o columnas definidas de esta forma debern estar tambin incluidos en las columnas referenciadas por esta clave. Es decir, en una relacin de Ciudades y Pases: CIUDAD Id Ciudad Idpais 1 Pars 1 2 Londres 2 3 Berln 3 PAIS Id Nombre 1 Francia 2 Reino Unido 3 Alemania En la tabla PAIS existira una clave primaria por la columna Id, y en la tabla CIUDAD existira, adems de la clave primaria por la columna Id, otra clave ajena por la columna Id_pais que se corresponde con el Id de la tabla PAIS, de modo que, no podra darse de alta ninguna ciudad que no tuviera el pais informado previamenteen la tabla PAIS. Este tipo de claves debe tenerse en cuenta a la hora de realiza operaciones de borrado y manipulacin ya que si se modifica o borra la clave de la tabla principal, quedaran registros hurfanos en la tabla que tiene la clave ajena. Se pueden definir varias acciones para alterar este comportamiento: Prohibiendo la operacin, es decir que no se pueda borrar los valores de un campo si tiene registros hijos Operacin en cascada, los registros hijos sufren la misma modificacin o borrado que el padre. Nulos, los registros hijos se actualizarn a NULL Valor por defecto, se actualizaran los valores de la tabla con la clave ajena a un valor definido por defecto. Validacin o check Clave lgica que hace que los campos definidos con check no puedan ser rellenados con valores que no cumplan la regla de validacin impuesta. Nulos El valor nulo o NULL representa la ausencia de valor. En las bases de datos se pueden encontrar o utilizar en diferente sistuaciones. Como valor de algn campo, representa que no ha sido rellenado, o ha sido actualizado explcitamente a valor NULL En las claves ajenas, representan que el registro actual no est relacionado con ninguno de otra tabla. El texto vaco '' o el valor 0 no son lo mismo que NULL. Normalmente, cualquier operacin que involucre NULL devolver NULL

Entidad Relacion
Es un tipo de modelado de bases de datos propuesto por Peter Chen en 1976 que representa los objetos de la base de datos como entidades que tienen atributos y se vinculan entre s mediante relaciones. Es una de las formas ms utilizadas de representar bases de datos mediante diagramas. Consiste brevemente en los siguentes pasos: Se parte de una descripcin textual del problema o sistema de informacin a automatizar (los requisitos). Se hace una lista de los sustantivos y verbos que aparecen. Los sustantivos son posibles entidades o atributos. Los verbos son posibles relaciones. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. Se elabora el diagrama (o diagramas) entidad-relacin. Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagramas

Una vez compeltado el diagrama, se deben realizar una serie de operaciones finales para plasmar el resultado en la base de datos. Entre otras Se transforman las relaciones mltiples en binarias Se normaliza la base de datos Se convierten las entidades en tablas

Diagrama de entidad relacin


Entidad Es un objeto del que se tiene informacin y caractersticas. Se representa mediante una caja rectangular etiquetada con un identificador en su interior. Existen entidades fuertes, que se identifican inequcovamente y se representan con doble rectnculo, y entidades dbiles, que son aquellas que no pueden existir a menos que participen en la relacin con otra. Relacin Describe la dependencia entre entidades y se representa mediante un rombo etiquetado con el verbo de la relacin en su interior. Se une con las entidades mediante lneas. Hay tres tipos de cardinalidades en las relaciones Uno a uno (1:1): Una instancia de una entidad se relaciona con una y solamente una de otra. Uno a muchos (1:N): Cada instancia de una entidad se relaciona con varias de otra. Muchos a muchos (N:M): Cualquier instancia de una entidad se relaciona con cualquiera de otra. A veces se utiliza el 0 para expresar que la entidad no est obligada a participar en la relacin Atributos Son propiedades relevantes de la entidad y la relacin. Se representan mediante un crculo etiquetado con su nombre en el interior. Cuando el atributo identifica la entidad, la etiqueta se subraya. Normalmente no se representan en los diagramas E-R, sino que se describen en documentacin adjunta.

Vous aimerez peut-être aussi