Está en la página 1de 37

Bases de datos relacionales

Biografa Edgar Frank Codd


(23 de agosto de 1923 - 18 de abril de 2003) Naci en Portland Bill, un remoto pueblo de Dorset, Inglaterra, hijo de un curtidor y una profesora, siendo el menor de siete hermanos. Estudi becado matemticas y qumica en Oxford. Aunque podra haber evitado participar en la segunda guerra mundial por ser estudiante, se alist en la Real Fuerza Area. A los 25 aos viaj a los Estados Unidos y consigui trabajo en IBM como programador matemtico usando un prototipo de computador que ocupaba dos pisos completos de un edificio de oficinas en Manhattan.

Bases de datos relacionales Biografa


En 1953 emigr a Ottawa, Canad, frustrado por la poltica McCarthy de persecucin a los comunistas.

Unos aos ms tarde volvi a Estados Unidos y obtuvo la ciudadana. En 1965 termin un doctorado en computacin en la Universidad de Michigan en Ann Arbor. El 18 de abril del 2003 falleci el Dr. Edgar Frank Codd, a la edad de 79 aos vctima de un ataque al corazn

Bases de datos relacionales


Historia de las bases de datos relacionales
En las dcadas de los sesenta y los setenta trabaj en sus teoras sobre modelado de datos, publicando su trabajo "Un modelo relacional de datos para grandes bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data Banks") en 1970, donde defini lo siguiente.

Los sistemas de bases de datos deberan presentarse a lo usuarios con una visin de los datos organizados en estructuras llamadas relaciones, definidas por conjuntos de filas (tuplas), en la cual puede haber cualquier estructura de datos compleja que permita una respuesta rpida a una variedad de consultas.
El usuario de un sistema relacional solo deba preocuparse por el qu consultar y no el como de las estructuras de almacenamiento. El contenido entero de una base de datos relacional se presenta por una y solo una forma a saber: como valores de atributos en tuplas dentro de relaciones Edgar Frank Codd.

Bases de datos relacionales


Anteriormente el nico modelo terico estandarizado era el Codasyl que se utiliz masivamente en los aos 70. Codd introduce el trmino relacin (en ingls relationship, a veces traducido como interrelacin) que es el que aglutina los datos deforma independiente a lo que ser su almacenamiento fsico. Lo que Codd intenta precisamente es que este modelo oculte completamente conceptos y trminos de la computadora en s, es decir se abstrae ms que los modelos anteriores. Trabaj para IBM , empresa que tard un poco en implementar sus bases. De hecho fueron otras empresas las que implementaron sus teoras (Larry Ellison diseo la Base de datos de Oracle) . Pocos aos despus el modelo se empez a utilizar cada vez ms, hasta finalmente ser el modelo de bases de datos ms popular. Hoy en da casi todas las bases de datos siguen este modelo.

Bases de datos relacionales


Objetivos:
Codd propone, a finales de los aos sesenta, un modelo de datos basado en la teora de las relaciones, en donde los datos se estructuran en forma de relaciones (tablas). El trabajo publicado por Codd presentaba un nuevo modelo de datos que persegua una serie de objetivos, que se pueden resumir en los siguientes: Independencia Fsica: es decir, que el modo en el que se almacenan los datos no influya en su manipulacin lgica y, por tanto, los usuarios que accedan a esos datos no tengan que modificar sus programas por cambios en el almacenamiento fsico. Independencia Lgica: esto es, que el aadir, eliminar o modificar objetos de la base de datos no repercuta en los programas y/o usuarios que estn accediendo a subconjuntos parciales de los mismos (vistas). Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la forma en que ste prefiera (distintas vistas). Sencillez: las caractersticas anteriores, as como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fcil de comprender y de utilizar por parte del usuario final.

Bases de datos relacionales

Bases de datos relacionales

Bases de datos relacionales


LA ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES

Segn el modelo relacional (desde que Codd lo enunci) el elemento fundamental es lo que se conoce como relacin, aunque ms habitualmente se le llama tabla (o tambin array o matriz). Codd defini las relaciones utilizando un lenguaje matemtico, pero se pueden asociar a la idea de tabla (de filas y columnas) ya que es ms fcil de entender.

Bases de datos relacionales


LA ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES Las relaciones constan de: Atributos: Referido a cada dato que se almacena en la relacin (nombre, dni,). Tuplas: Referido a cada elemento de la relacin. Por ejemplo si una relacin almacena personas, una tupla representara a una persona en concreto. Puesto que una relacin se representa como una tabla; podemos entender que las columnas de la tabla son los atributos; y las filas, las tuplas.

Bases de datos relacionales


Terminologa del modelo relacional
Relacin: es un conjunto de datos referentes a un conjunto de entidades y organizados en forma tabular, (array o matriz) que se compone de filas y columnas, (tuplas y atributos), en la que cada interseccin de fila y columna contiene un valor. Codd defini las relaciones utilizando un lenguaje matemtico, en el cual se puede asociar la idea de tabla. Tupla: A menudo se le llama tambin registro o fila, fsicamente es cada una de las lneas de la relacin. Equivale al concepto de entidad del modelo E-R, y define un objeto real, ya sea abstracto, concretos o imaginario. Atributo: Tambin denominado campo o columna, corresponde con las divisiones verticales de la relacin. Corresponde al concepto de atributo del modelo ER y contiene cada una de las caractersticas que definen una entidad u objeto.

Nulo (NULL): Hay ciertos atributos, para determinadas entidades, que carecen de valor. El modelo relacional distingue entre valores vacos y valores nulos. Un valor vaco se considera un valor tanto como cualquiera no vaco, sin embargo, un nulo NULL indica la ausencia de valor.

Bases de datos relacionales


Ejemplos del atributo Null
Por ejemplo: Si tenemos una relacin de vehculos en la que podemos guardar tanto motocicletas como automviles, un atributo que indique a qu lado est el volante (para distinguir vehculos con el volante a la izquierda de los que lo tienen a la derecha), carece de sentido en motocicletas. En ese caso, ese atributo para entidades de tipo motocicleta ser NULL.

Esto es muy interesante, ya que el dominio de este atributo es (derecha,izquierda), de modo que si queremos asignar un valor del dominio no hay otra opcin. El valor nulo nos dice que ese atributo no tiene ninguno de los valores posibles del dominio. As que, en cierto modo amplia la informacin. Otro ejemplo:, en una relacin de personas tenemos un atributo para la fecha de nacimiento. Todas las personas de la relacin han nacido, pero en un determinado momento puede ser necesario insertar una para la que desconocemos ese dato. Cualquier valor del dominio ser, en principio, incorrecto. Pero tampoco ser posible distinguirlo de los valores correctos, ya que ser una fecha. Podemos usar el valor NULL para indicar que la fecha de nacimiento es desconocida.

Bases de datos relacionales


Terminologa del modelo relacional
Dominio: Un dominio contiene todos los posibles valores que puede tomar un determinado atributo por ejemplo: Direccin 50 caracteres, Nacionalidad mex. Un dominio en realidad es un conjunto finito de valores del mismo tipo. A los dominios se les asigna un nombre y as podemos referirnos a ese nombre en ms de un atributo.

La forma de indicar el contenido de un dominio se puede hacer utilizando dos posibles tcnicas:
Intensin: (mediante una propiedad que recoja el recorrido de sus valores admisibles) o cuando se definen los posibles valores que este puede permitir. Por ejemplo, el dominio de edades de los trabajadores de una empresa nmeros enteros entre el 16 y el 65 (un trabajador slo podra tener una edad entre 16 y 65 aos). Extensin: (enumeracin de sus elementos) o Cuando se indican los valores y se sobreentiende el resto gracias a que se autodefinen con los anteriores. Por ejemplo el dominio alumnos de una escuela se podra definir por extensin as: Juan, Carlos, Jorge,

Bases de datos relacionales


Terminologa del modelo relacional
Cardinalidad: Nmero de tuplas que contiene una relacin o numero de filas de una tabla.
La cadinalidad puede cambiar, y de hecho lo hace frecuentemente, a lo largo del tiempo: siempre se pueden aadir y eliminar tuplas. Grado: Nmero de atributos de cada tupla. El grado de una relacin es un valor constante. Esto no quiere decir que no se puedan agregar o eliminar atributos de una relacin; lo que significa es que si se hace, la relacin cambia. Cambiar el grado, generalmente, implicar modificaciones en las aplicaciones que hagan uso de la base de datos, ya que cambiarn conceptos como claves e interrelaciones, de hecho, puede cambiar toda la estructura de la base de datos.

Bases de datos relacionales


Sinnimos del modelo relacional

Archivo

Bases de datos relacionales

Bases de datos relacionales


Definicin formal de relacin
Nombre: Identifica la relacin. Cabecera de relacin: conjunto de todos los pares atributo- relacin de la relacin. donde n es el grado.

Cuerpo de la relacin: representa el conjunto de m tuplas {t1,t2,tn} que forman la relacin. Cada tupla es un conjunto de n pares atributo-valor donde Vij es el valor del dominio Dj asociado al atributo Ai.

Esquema de la relacin: Se forma con el nombre R y la cabecera. Es decir:

Estado de la relacin: lo forman es esquema y el cuerpo.

Bases de datos relacionales


Ejemplo:

Bases de datos relacionales


Propiedades de las tablas (relaciones) Cada tabla tiene un nombre distinto. Todo atributo de una tabla toma un solo valor en cada tupla. Cada atributo tiene un nombre distinto en cada tabla (aunque puede coincidir en tablas distintas. Cada tupla es nica (no hay tuplas duplicadas). El orden de los atributos no importa. El orden de las tuplas no importa.

Lenguajes de Bases de datos Relacionales


Tipos de Lenguajes Relacionales
El modelo relacional, como todo modelo de datos, lleva asociado a su parte esttica (estructura y restricciones) una dinmica que permite la transformacin entre estados de la base de datos. Esta transformacin de un estado origen a un estado objetivo se realiza aplicando un conjunto de operadores, mediante los cuales se llevan a cabo los siguientes tipos de operaciones:

Insercin de tuplas Borrado de tuplas Modificacin de tuplas Consultas

Lenguajes de Bases de datos Relacionales


Tipos de tablas

Lenguajes de Bases de datos Relacionales


Si O es un operador, el paso de un estado origen de la base de datos (BDi) a un estado objetivo (BDj) se pueden expresar como:

O(BDi) = BDj
ambos estados deben satisfacer las restricciones de integridad estticas, y la transformacin ha de cumplir las restricciones de integridad dinmicas (entre estados).

Lenguajes de Bases de datos Relacionales


Tipos de Lenguajes Relacionales Los lenguajes relacionales (LR) operan sobre conjuntos de tuplas, es decir, no son lenguajes navegacionales (que manipulan registros, como Pascal, Basic, Cobol, XBase, ...) sino de especificacin.

Se dividen en dos tipos:


Algebraicos: los cambios de estado se especifican mediante operaciones, cuyos operandos son relaciones y cuyo resultado es otra relacin. Genricamente se conocen como lgebra relacional. Predicativos: los cambios de estado se especifican mediante predicados que definen el estado objetivo sin indicar las operaciones que hay que realizar para llegar al mismo. Genricamente se conocen como clculo relacional. Se dividen en dos subtipos: Orientados a tuplas. Orientados a dominios.

Lenguajes de Bases de datos Relacionales


Los lenguajes comerciales (SQL, MySQL, ORACLE, QBE, etc.) estn basados en los anteriores pero con sintaxis ms amigable.

Lenguajes de Bases de datos Relacionales

Bases de datos relacionales


CODASYL Fue un consorcio de industrias informticas (fabricantes de computadoras, empresas privadas y el departamento de defensa de los Estados Unidos) formado en 1959 con el objeto de regular el desarrollo de un lenguaje de programacin estndar que pudiera ser utilizado en multitud de computadoras. Su principal meta era promover un anlisis, diseo e implementacin de los sistemas de datos ms efectivos. La organizacin trabaj en varios lenguajes a lo largo del tiempo pero nunca llegaron a establecer estndar alguno, proceso que dejaron en manos de (ANSI) American
Nartional Standards Institute.

Bases de datos relacionales


EL MODELO CODASYL DBTG
Este modelo fue desarrollado en 1971 por un grupo conocido como CODASYL: Conference on Data System Languages, Data Base Task Group, de ah el nombre; este comit , entre otras cosas, desarroll el lenguaje de programacin COBOL y un Modelo de Base de Datos en Red con su mismo nombre. El modelo CODASYL ha evolucionado durante los ltimos aos y existen diversos productos DBMS orientados a transacciones que se basan sobre el, sin embargo hoy da, estos productos estn en declinacin, ya que este modelo es complejo y no cohesivo, adems este modelo tiene mucho enfoque de COBOL, gran parte a las deficiencias detectadas en la actualidad se le atribuye a que este modelo fue desarrollado muy pronto antes de que se establecieran correctamente los conceptos esenciales de la tecnologa de bases de datos.

Bases de datos relacionales


EL MODELO CODASYL DBTG La historia del modelo CODASYL es compleja. Se desarrollaron tres versiones distintas y, aunque el modelo de datos fue sometido dos veces a la consideracin del (ANSI) como una norma nacional, jams fue aceptado. En su lugar, en agosto de 1986, se reconoci como el estndar nacional de base de datos el modelo relacional SQL. Las funciones y caractersticas bsicas de las tres versiones del modelo CODASYL son iguales. La mayor parte de los productos DBMS comerciales basados en este modelo se basan en la primera, desarrollada en 1971. Los modelos posteriores de 1978 y 1981 modificaron parte del lenguaje y la sintaxis, agregaron caractersticas de soporte para la definicin de restricciones e incluyeron otras modificaciones.

Bases de datos relacionales


EL MODELO CODASYL DBTG
En el modelo DBTG solamente pueden emplearse enlaces uno a uno y uno a muchos. En este modelo existen dos elementos principales que son el dueo y el miembro, donde solo puede existir un dueo y varios miembros, donde cada miembro depende solamente de un dueo. El modelo Codasyl defini una serie de elementos bsicos que definan su estructura de datos. Son los siguientes: 1. Elemento de datos: Unidad de datos ms pequea que se puede referenciar. Puede ser de distintos tipos, y puede definirse como dependiente de valores de otros elementos (datos derivados). 2. Agregado de datos: Se asemeja a los campos de un fichero o a los atributos de otros modelos.

Bases de datos relacionales


EL MODELO CODASYL DBTG
3. Registro: Coleccin nominada de elementos de datos. Unidad bsica de acceso y manipulacin. Se asemeja a los registros en ficheros y a las entidades en el modelo E/R. 4. Conjunto (SET): Coleccin nominada de dos o ms tipos de registros que establece una vinculacin entre ellos. Origen de muchas restricciones. Las interrelaciones 1:N se representan aqu mediante SET. 5. rea: Subdivisin nominada del espacio direccionable de la base de datos que contiene ocurrencias de registros. 6. Clave de base de datos: Identificador interno nico para cada ocurrencia de registro. Proporciona su direccin en la base de datos. Es un obstculo para conseguir la independencia lgica/fsica. Supona problemas el reutilizar una clave cuando se reorganizaba la base de datos.

Bases de datos relacionales

CODASYL: CONJUNTOS (SET) El conjunto es uno de los ms importantes elementos del modelo Codasyl, pues constituye el elemento bsico para la representacin de interrelaciones. Mediante SET se establecen relaciones jerrquicas (1:N) a dos niveles. El nodo raz es el propietario y los nodos descendientes (pueden ser de varios tipos) son los miembros.

Bases de datos relacionales


EL MODELO CODASYL DBTG
RESTRICCIONES INHERENTES DEL MODELO CODASYL Cuando hablbamos del modelo en red general, decamos que era un modelo muy flexible a coste de no tener restricciones inherentes. Esta ausencia de restricciones hace que sea muy difcil de implementar, y a la larga suele reportar escaso rendimiento, por lo que como tambin decamos no pasa de ser un modelo terico. El modelo Codasyl est basado en el modelo en red general, pero a diferencia de este, es un modelo utilizado. Esto es debido a que Codasyl ha incluido restricciones inherentes que hacen que sea posible su implementacin y que se obtenga un alto rendimiento del sistema.

Bases de datos relacionales


EL MODELO CODASYL DBTG

Las restricciones son las siguientes:


1. Solo se admiten tipos de interrelaciones jerrquicas de dos niveles (propietario y miembro). Si se admite la combinacin de varios SET para generar jerarquas multinivel. 2. En el nivel propietario solo se permite un tipo de registro. 3. En el mismo SET no se permite que a un registro ser a la vez propietario y miembro, no est admitida la reflexividad. Aunque esta restriccin se elimin con el tiempo, los productos basados en Codasyl la siguen utilizando. 4. Una misma ocurrencia de miembro no puede pertenecer en un mismo tipo de SET a ms de un propietario. Esto hace que se simplifique la implementacin fsica de los SET, ya que sus ocurrencias se pueden organizar como una cadena.

También podría gustarte