lunes, 13 de enero de 2014

Base de datos relacional y Codd

El Modelo relacional Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas.


Elementos

- Relaciones Base y Derivadas: Las relaciones que almacenan datos son llamadas "relaciones base" y su implementación es llamada "tabla".

- Restricciones: Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la base de datos.

- Dominios: Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción.

- Clave Primaria: Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.

- Clave Foránea: Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.

- Clave Indice: Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación 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.

- Procedimientos Almacenados: Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos.


REGLAS DE CODD

REGLA 1: REGLA DE LA INFORMACIÓN

Toda la información en una base de datos relacional se representa explícitamente
en el nivel lógico mediante tablas y sólo mediante tablas.

• Por tanto los metadatos (diccionario, catálogo) se representan y se
manipulan exactamente igual que los datos de usuario, usando quizás el
mismo lenguaje (ejemplo SQL)


REGLA 2: REGLA DEL ACCESO GARANTIZADO

Para todos y cada uno de los datos (valores atómicos) de una base de datos
relacional se garantiza que son accesibles a nivel lógico utilizando una
combinación de nombre de tabla, valor de clave primaria y nombre de columna.

• Cualquier dato almacenado en una base de datos relacional tiene que
poder ser direccionado unívocamente. Para ello hay que indicar en qué
tabla está, cuál es la columna y cuál es la fila (mediante la clave primaria). 



REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS 

Se debe disponer de valores nulos (distintos de la cadena vacía, blancos, 0, etc.) 
para representar información desconocida o no aplicable de manera sistemática, 
independientemente del tipo de datos. 

• Se reconoce la necesidad de la existencia del valor nulo, el cual podría 
servir para representar, o bien, una información desconocida (ejemplo, no 
se sabe la dirección de un empleado), o bien una información 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 lógicas, para lo cual se 
considera una lógica trivaluada, con tres (no dos) valores de verdad: 
Verdadero, Falso y null. Se crean tablas de verdad para las operaciones 
lógicas: 

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


REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO 
RELACIONAL 

La descripción de la base de datos se representa a nivel lógico de la misma 
manera que los datos normales, de modo que los usuarios autorizados pueden 
aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos 
normales. 

• Los metadatos se almacenan y se manejan usando el modelo relacional, 
con todas las consecuencias. 


REGLA 5: REGLA DEL SUBLENGUAJE DE DATOS COMPLETO 

Un sistema relacional debe soportar varios lenguajes y varios modos de uso de 
terminal (ejemplo: rellenar formularios, etc.). Sin embargo, debe existir al menos 
un lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien 
definida, como cadenas de caracteres y que sea completo, soportando: 
o Definición de datos 

o Definición de vistas 
o Manipulación de datos (interactiva y por programa) 
o Restricciones de integridad 
o Restricciones de transacciones (begin, commit, rollback). 
• Además de poder tener interfaces más amigables para hacer consultas, etc. 
siempre debe haber una manera de hacerlo todo de manera textual, que es 
tanto como decir que pueda ser incorporada en un programa tradicional. Un 
lenguaje que cumple esto en gran medida es SQL. 
REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS 
Todas las vistas que son teóricamente actualizables se pueden actualizar también 
por el sistema. 
• El problema es determinar cuáles son las vistas teóricamente actualizables, 
ya que no está muy claro. 
• Cada sistema puede hacer unas suposiciones particulares sobre las vistas 
que son actualizables. 
REGLA 7: INSERCIÓN, ACTUALIZACIÓN Y BORRADO DE ALTO NIVEL 
La capacidad de manejar una relación base o derivada como un solo operando se 
aplica no sólo a la recuperación de los datos (consultas), sino también a la 
inserción, actualización y borrado de datos. 
• Esto es, el lenguaje de manejo de datos también debe ser de alto nivel (de 
conjuntos). Algunos sistemas de bases de datos inicialmente sólo podían 
modificar las filas de una tabla de una en una (un registro de cada vez). 
REGLA 8: INDEPENDENCIA FÍSICA DE DATOS 
Los programas de aplicación y actividades del terminal permanecen inalterados a 
nivel lógico cualesquiera sean los cambios efectuados, tanto en la representación 
del almacenamiento, como en los métodos de acceso. 
• El modelo relacional es un modelo lógico de datos, y oculta las 
características de su representación física. 

REGLA 9: INDEPENDENCIA LÓGICA DE DATOS 

Los programas de aplicación y actividades del terminal permanecen inalterados a 
nivel lógico cualesquiera sean los cambios que se realicen a las tablas base que 
preserven la información. 

• Cuando se modifica el esquema lógico preservando información (no valdría 
por ejemplo, eliminar un atributo) no es necesario modificar nada en niveles 
superiores. 

• Ejemplos de cambios que preservan la información: 

o Añadir un atributo a una tabla base. 

o Sustituir dos tablas base por la unión de las mismas. Usando vistas 
de la unión se pueden recrear las tablas anteriores... 


REGLA 10: INDEPENDENCIA DE INTEGRIDAD 

Los restricciones de integridad específicas para una determinada base de datos 
relacional deben poder ser definidos en el sublenguaje de datos relacional, y 
almacenables en el catálogo, no en los programas de aplicación. 

• El objetivo de las bases de datos no es sólo almacenar los datos, sino 
también sus relaciones y evitar que estas restricciones se codifiquen en los 
programas. Por tanto en una base de datos relacional se deben poder 
definir restricciones de integridad. 

• Cada vez se van ampliando más los tipos de restricciones de integridad que 
se pueden utilizar en los Sistemas de Gestión de Bases de Datos 
Relacionales, aunque hasta hace poco eran muy escasos. 

• Como parte de las restricciones inherentes al modelo relacional (forman 
parte de su definición) están: 

o Integridad de Entidad: Toda tabla debe tener una clave primaria. 

o Integridad de Dominio: Toda columna de una tabla contendrá 
valores exclusivamente de un determinado dominio (conjunto de 
valores válidos) 

o Integridad Referencial: Toda clave foránea no nula debe existir en 

la relación donde es clave primaria. 


REGLA 11: INDEPENDENCIA DE DISTRIBUCIÓN 

Una Base de Datos Relacional es independencia de la distribución. 

• Las mismas órdenes y programas se ejecutan igual en una base de datos 
centralizada que en una distribuida. 

• Las bases de datos son fácilmente distribuibles. 

• Esta regla es responsable de tres tipos de transparencia de distribución: 

o Transparencia de Localización. El usuario tiene la impresión de 
que trabaja con una base de datos local. (Regla de Independencia 
Física) 

o Transparencia de Fragmentación: El usuario no se da cuenta de 
que la relación con que trabaja está fragmentada. (Regla de 
Independencia Lógica). 

o Transparencia de Replicación: El usuario no se da cuenta de que 
pueden existir copias (réplicas) de una misma relación en diferentes 
lugares. 


REGLA 12: REGLA DE LA NO SUBVERSIÓN 

Si un sistema relacional tiene un lenguaje de bajo nivel (un registro a la vez), ese 
bajo nivel no puede ser usado para subvertir (saltarse) las reglas de integridad y 
las restricciones expresadas en los lenguajes relacionales de más alto nivel (una 
relación a la cada vez). 

• Algunos problemas no se pueden solucionar directamente con el lenguaje 
de alto nivel. 

• Normalmente se usa SQL incorporado en un lenguaje anfitrión para 
solucionar estos problemas. Se utiliza el concepto de cursor para tratar 
individualmente las filas de una tabla. En cualquier caso no debe ser 
posible saltarse las restricciones de integridad impuestos al tratar las filas a 
ese nivel. 



jueves, 9 de enero de 2014

Ley de Proteccion de datos



El objetivo principal de la Ley Orgánica de Protección de Datos es regular el tratamiento de los datos y ficheros, de carácter personal, independientemente del soporte en el cual sean tratados, los derechos de los ciudadanos sobre ellos y las obligaciones de aquellos que los crean o tratan.
Los datos personales se clasifican en función de su mayor o menor grado de sensibilidad, siendo los requisitos legales y de medidas de seguridad informáticas más estrictos en función de dicho mayor grado de sensibilidad, siendo obligatorio por otro lado, en todo caso la declaración de los ficheros de protección de datos a la "Agencia Española de Protección de Datos".
Los interesados a los que se soliciten datos personales deberán ser previamente informados de modo expreso, preciso e inequívoco:
1. De la existencia de un fichero o tratamiento de datos de carácter personal, de la finalidad de la recogida de éstos y de los destinatarios de la información.
2. Del carácter obligatorio o facultativo de su respuesta a las preguntas que les sean planteadas.
3. De las consecuencias de la obtención de los datos o de la negativa a suministrarlos.
4. De la posibilidad de ejercitar los derechos de acceso, rectificación, cancelación y oposición.
5. De la identidad y dirección del responsable del tratamiento o, en su caso, de su representante.

Se permite sin embargo, el tratamiento de datos de carácter personal sin haber sido recabados directamente del afectado o interesado, aunque no se exime de la obligación de informar de forma expresa, precisa e inequívoca, por parte del responsable del fichero o su representante, dentro de los tres meses siguientes al inicio del tratamiento de los datos.
Datos cuyo tratamiento está prohibido
  • Los relativos a "infracciones penales o administrativas".
  • Excepción: Sólo podrán ser incluidos en ficheros de las Administraciones públicas competentes.

A la hora de informarse sobre la Ley de Protección de Datos lo que habrá que mirar es lo que esta prohibido para no cometer ese error y cuales son los derechos de protección que tu tienes.

Historia de la Base de Datos


¿Que es una Base de Datos?

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.


El término bases de datos fue escuchado por primera vez  en un simposio celebrado en California en 1963.
Origenes
Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían bibliotecas y toda clase de registros. Además también se utilizaban para recoger información sobre las cosechas y censos. Sin embargo, su búsqueda era lenta y poco eficaz y no se contaba con la ayuda de máquinas que pudiesen reemplazar el trabajo manual.
Posteriormente, el uso de las bases de datos se desarrolló a partir de las necesidades de almacenar grandes cantidades de información o datos. Sobre todo, desde la aparición de las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la informática.
Decada de 1960
En esta misma época se dio inicio a las primeras generaciones de bases de datos de red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y arboles.
Decada de 1970
Edgar Frank Codd, científico informático ingles conocido por sus aportaciones a la teoría de bases de datos relacionales, definió el modelo relacional a la par que publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”.
Este hecho dio paso al nacimiento de la segunda generación de los Sistemas Gestores de Bases de Datos.
Como consecuencia de esto, durante la década de 1970, Lawrence J. Ellison, más conocido como Larry Ellison, a partir del trabajo de Edgar F. Codd sobre los sistemas de bases de datos relacionales, desarrolló el Relational Software System, o lo que es lo mismo, lo que actualmente se conoce como Oracle Corporation, desarrollando así un sistema de gestión de bases de datos relacional con el mismo nombre que dicha compañía.


Decada de 1980
Por su parte, a principios de los años ochenta comenzó el auge de la comercialización de los sistemas relacionales, y SQL comenzó a ser el estándar de la industria, ya que las bases de datos relacionales con su sistema de tablas (compuesta por filas y columnas) pudieron competir con las bases jerárquicas y de red.
Decada de 1990
En la década de 1990 la investigación en bases de datos giró en torno a las bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la hora de gestionar datos complejos en los campos donde las bases de datos relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron herramientas como Excel y Access del paquete de Microsoft Office que marcan el inicio de las bases de datos orientadas a objetos.
Aunque el boom de la década de los noventa será es el nacimiento del World Wide Web a finales de la década, ya que a través de este se facilitará la consulta a bases de datos.
Siglo XXI

las tres grandes compañías que dominan el mercado de las bases de datos son IBM, Microsoft y Oracle. Por su parte, en el campo de internet, la compañía que genera gran cantidad de información es Google.

línea del tiempo