viernes, 24 de mayo de 2013

Proyecto: Corrección 1 Marco Teorico


REYES IBARRA NORMA CAROLINA

MARCO TEÓRICO

Las necesidades de información en la actualidad cada vez son más grandes, la información es considerada junto con la materia y con la energía, uno de los componentes fundamentales de la naturaleza, siendo vital para el desarrollo de los pueblos.

La información se considera como instrumento esencial y como elemento de entrada/salida en toda la actividad del campo de investigación, también se le identifica a la información como un recurso fundamental, que ha de ser utilizado en cualquier actividad humana, se convierte así en un elemento para la producción. Las bases de datos constituyen una parte integral y fundamental del sistema de información.

Hoy en día las Bases de Datos ocupan un lugar esencial en los sistemas informáticos, ofrecen en la actualidad un Sistema de Gestión de Bases de Datos (SGBD). Un SGBD es una pantalla entre los usuarios y las memorias secundarias, que tiende a crear la ilusión de que los datos deseados por cada uno de los usuarios están almacenados en las memorias secundarias, agrupados y codificados como se desee, como si el usuario fuera el único que va a utilizar los datos.

Existe el lenguaje de manipulación de datos se compone de un conjunto de mandatos que permiten consultar una Base de Datos y de otro conjunto de mandatos que permiten modificarla, la modificación incluye la inserción, la actualización y la supresión. El lenguaje de modificación normalmente es complementario del lenguaje de consulta.

El lenguaje de manipulación de datos debe poder incorporarse a un lenguaje de programación clásico llamado lenguaje anfitrión para realizar las transacciones programadas. Así la mayoría de los SGBD disponen de un lenguaje de manipulación de datos externo.

Los lenguajes algebraicos se basan en el algebra relacional y permiten la aplicación de unas secuencias de operadores especiales a las relaciones, se caracterizan porque los cambios de estado se especifican mediante operaciones, cuyos operandos son relacionales y cuyo resultado es otra relación. El lenguaje SQL representa el último logro de este tipo de lenguajes. (Calero, 2007).

Las Bases de Datos Relacionales se fundamentan en la Teoría de los conjuntos. Las operaciones básicas con conjuntos son unas operaciones binarias, es decir, operaciones que a partir de dos relaciones, construyen una tercera, estas son la unión, la diferencia y el producto cartesiano; dos operaciones unarias combinadas con las operaciones anteriores permiten construir todas las operaciones del algebra relacional, son la proyección y la restricción; existen operadores adicionales que se deducen con los anteriores y son esenciales para la creación practica de los sistemas relacionales, estos operadores son la intersección y la división.

La Unión de dos relaciones R y S que tienen el mismo esquema es una relación T con el mismo esquema, conteniendo el conjunto de tuplos que pertenecen a R o a S o a ambas relaciones, esta relación se puede expresar como T = R U S, T = UNION (R, S).

La Diferencia de dos relaciones R y S ambas con el mismo esquema es una relación T con el mismo esquema conteniendo los tuplos que pertenecen a R y no pertenecen a S, esta relación se puede expresar como T = R – S, T = MINUS (R, S).

El Producto Cartesiano de dos relaciones R y S, es una relación que tiene por atributos la concatenación de los de R y S y cuyos tuplos son todas las concatenaciones de un tuplo de R a un tuplo de S, esta relación se puede expresar como R x S, PRODUCT (R, S), TIMES (R, S).

La Proyección de una relación sobre un subconjunto de sus atributos es una relación definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar, es un subconjunto vertical de la relación a la que se aplica el operador, esta relación se puede expresar como II Ai1 Ai2… Aip (R), R {Ai1, Ai2… Aip}, PROJECT (R/Ai1, Ai2 … Aip)

La Restricción también llamada Selección, de la selección R por una cualificación Q es una relación R’ con el mismo esquema, en la que los tuplos son aquellos de R que satisfacen la cualificación Q, esta relación se puede expresar como R[Q], RESTRICT (R/Q), SELECT (R/Q).

La Intersección de dos relaciones R y S con el mismo esquema, es una relación T con el mismo esquema que contiene tuplos que pertenecen a ambas relaciones, es decir, a R y a S a la vez, esta relación se puede expresar como R ∩ S, INTERSECT (R, S).

La División, el cociente resultante de dividir la relación R de esquema R(A1, A2, …An) entre la subrelación S de esquema S(Ap+1, … An) es la relación Q de esquema Q(A1, A2, … An) formada por todos los tuplos que concatenados con cada uno de los tuplos de S da siempre un tuplo de R, esta relación se puede expresar como R ÷ S, DIVISION (R, S). (Gardarin, 2006).

 

  • Bases de Datos Relacionales

En Bases de Datos Relacionarles el dato es la unidad mínima de la información, del procesamiento de estos datos surge la información, aunque los datos relacionados entre sí, almacenados y organizados para su posterior consulta se les conoce como Base de Datos.

Las Bases de Datos se conforman de tablas o entidades estos son un conjunto de objetos que comparten atributos o campos, es decir las características de los objetos tangibles o visibles, o intangibles o virtuales. También las entidades se conforman de registros o tupla, estos son la combinación de valores de todos los atributos de un objeto, una característica que deben tener estos registros es que deben ser únicos e irrepetibles y para garantizar esto se utiliza un atributo identificador, además todos los identificadores deberán ser numéricos enteros sin signo.

Cada entidad debe estar relacionada, esta relación se establece cuando dos entidades tienen al menos un atributo en común, estos atributos deben ser del mismo tipo y de la misma longitud, en SQL para la representación grafica de las bases de datos relacionales se utiliza el Diagrama Entidad Relación (DER), ya que este muestra claramente las entidades, atributos y relaciones.

Las entidades deben llevar uno o más atributos llamado Llave Primaria (PK) cuya combinación de valores no podrá repetirse en los registros de una tabla, normalmente es un atributo, esto en las tablas padre, ya que en las tablas hija se puede tener la llave primaria formada por varios atributos; las llaves primarias se establecen para garantizar registros únicos, también se tienen las Llaves Foráneas (FK) estas son el o los atributos que tienen en común dos tablas y están en la tabla hija, una tabla puede tener muchas llaves foráneas.

“Todas las entidades tienen atributos y los atributos tienen valores y los valores son datos”. (Germán, 2013).

 

  • Modelos de Bases de Datos
    • El Modelo Jerárquico

El primer modelo operativo de base de datos fue el modelo jerárquico, en este modelo tenemos una tabla como piedra angular de toda la base de datos, a partir de esta tabla se pueden encontrar todos los datos. El procedimiento ideal es diseñar todas las tablas de forma que cada una tenga un identificador, pero si no fuera posible se accede en cascada a partir del código de la tabla subordinada.

Se puede ir ampliando la base de datos y formar estructuras siempre con el común denominador de la jerarquía. Se tiene acceso a los datos siempre que se conozca el identificador; en este modelo el problema está en la lentitud que se deriva al realizar consultas en cascada hasta llegar al dato que se busca.

    • El Modelo en Red

En este modelo se trazan puentes entre una tabla y otra, con un identificador entre las dos tablas. Cada uno de estos puentes es una entidad más de la base de datos; de este modo la base de datos iría creciendo tanto en número de tablas como en número de puentes, tejiendo algo parecido a una red.

Se trata de un modelo que se utilizó durante mucho tiempo. Organiza la información en registros y enlaces. Los registros representan las entidades del modelo entidad / relación. En los registros se almacenan los datos utilizando atributos. Los enlaces permiten relacionar los registros de la base de datos.

El modelo en red más aceptado es el llamado codasyl, que durante mucho tiempo se ha convertido en un estándar.

Las bases de datos en red son parecidas a las jerárquicas sólo que en ellas puede haber más de un padre. En este modelo se pueden representar perfectamente relaciones varios a varios. Pero su dificultad de manejo y complejidad hace que se estén abandonando completamente.

    • El Modelo Relacional

En 1970, E.F. Cood, diseño un modelo más perfeccionado de bases de datos en el cual no hacen falta puentes, sino que la propia base de datos es suficientemente potente como para buscar por los diferentes campos de las diferentes tablas.

En ese momento es cuando se empieza a hablar de tabla como unidades de almacenamiento de filas y columnas. Las filas vienen a ser como los registros, solo que se puede tener filas provenientes de una consulta con campos de varias tablas. Las columnas son los campos, el modelo relacional puede obtener columnas ficticias, que pueden ser el resultado de cálculos de otras columnas.

En 1972 salió al mercado la v.2 de ORACLE, lo cual represento un acontecimiento muy importante por dos razones:

1.     Era la primera base de datos relacional que salía del ámbito universitario/experimental y se convertía en una realidad comercial tangible.

2.     También fue la primera base de datos comercial basada en SQL, el modelo le ofrece una mayor libertad al programador para relacionar.

    • Modelo Orientado a Objetos y el Análisis Entidad/Relación

Desde la aparición de la programación orientada a objetos (POO u OOP) se empezó a pensar en bases de datos adaptadas a estos lenguajes. En estos lenguajes los datos y los procedimientos se almacenan juntos. Esta es la idea de las bases de datos orientadas a objetos.

A través de esta idea se intenta que estas bases de datos consigan arreglar las limitaciones de las relacionales. Por ejemplo el problema de la herencia, tipos definidos por el usuario, disparadores almacenables en la base de datos, soporte multimedia.

Se supone que son las bases de datos de tercera generación (la primera fue las bases de datos en red y la segunda las relacionales), lo que significa que el futuro parece estar a favor de estas bases de datos. Pero siguen sin reemplazar a las relacionales.

    • Objeto Relacionales

Tratan de ser un híbrido entre el modelo relacional y el orientado a objetos. El problema de las bases de datos orientadas a objetos es que requieren reinvertir de nuevo para convertir las bases de datos. En las bases de datos objeto relacionales se intenta conseguir una compatibilidad relacional dando la posibilidad de integrar mejoras de la orientación a objetos.

Estas bases de datos se basan en el estándar SQL 99 que dictó las normas para estas bases de datos. En ese estándar se añade a las bases relacionales la posibilidad de almacenar procedimientos de usuario, triggers, tipos definidos por el usuario, consultas recursivas, bases de datos OLAP, tipos LOB, etc.

Las últimas versiones de la mayoría de las grandes bases de datos relacionales (Oracle, SQL Server, Informix, etc) son objeto relacionales. (González, 2006).

 

  • SQL, Lenguaje de Consultas Estructuradas

SQL (Structured Query Language) es un lenguaje de consulta estructurado establecido claramente como el lenguaje de alto nivel estándar para sistemas de base de datos relacionales, la programación con SQL ayuda a crear aplicaciones con las cuales las personas pueden manipular y acceder a las bases de datos, este lenguaje es una evolución comercializada por IBM del lenguaje SEQUEL desarrollado inicialmente como un lenguaje de investigación.

Este lenguaje de consultas estructuradas aparece como una expresión agradable y muy completa de secuencias de operaciones relacionales. SQL no es un producto que nace porque sí, sino que responde a una serie de cuestiones comunes de organización que preocupan a los desarrolladores de aplicaciones de bases de datos. (Calero, 2007).

SQL agrupa tres tipos de sentencias con objetivos particulares en los siguientes lenguajes:

    • DDL (Data Definition Language o Lenguaje de Definición de Datos) este sirve para la creación, modificación y borrado de tablas; creación modificación y borrado de nuevas bases de datos.
    • DML (Data Management Language o Lenguaje de Manejo de Datos) esta parte del lenguaje SQL realiza las operaciones más típicas, como insertar nuevos registros, modificarlos, borrarlos y realizar consultas por cualquier criterio.
    • DCL (Data Control Language o Lenguaje de Control de Datos) da permisos de acceso a determinadas tablas por parte de determinados usuarios; política de seguridad y privacidad de los datos; organización de grupos de usuarios, etc. (García, 2003).

 

  • Normalización  en Bases de Datos Relacionales

La normalización se conoce como el proceso de descomposición sin perdida, esto significa que se pueden quitar muchas partes del diseño para evitar repetición de datos o atributos o relaciones que no deban existir, sin que con ello se pierda información.

Es necesario comprender uno de los conceptos más usados en el diseño de bases de datos relacionales, la atomicidad, se llama valor atómico porque hace referencia a la teoría que decía que el átomo era el elemento más pequeño de la materia y que este era indivisible, de la misma manera, hay atributos que no pueden dividirse. (García, 2009).

En el diseño de bases de datos es importante la Normalización estableciendo reglas o normas, se dice que una base de datos relacional está normalizada si y solo si cumple con las 3 primeras formas normales. Cuanto más alta sea la forma normal en la que se encuentran los esquemas de relación, menores serán los problemas que aparecen en el mantenimiento de la base de datos.

Las primeras formas normales tienen por objetivo permitir la descomposición de las relaciones sin pérdida de información, a partir del concepto de dependencia funcional. El objetivo de esta descomposición es el llegar a un esquema conceptual que represente las entidades y asociaciones del mundo real.

 

 

    • Primera Forma Normal (1FN)

La Primera Forma Normal es una restricción inherente al modelo relacional por lo que su cumplimiento es obligatorio y afecta al número de valores que pueden tomar los atributos de una relación, para que una tabla pueda ser considerada una relación no debe admitir grupos repetitivos, esto es, debe estar en primera forma normal.

Se dice que una relación esta en 1FN cuando cada atributo sólo toma un valor del dominio simple subyacente, una Base de Datos esta en 1FN cuando todos los datos o atributos son atómicos, es decir que ya no se pueden dividir en mas atributos.

    • Segunda Forma Normal (2FN)

La segunda Forma Normal, está basada en el concepto de dependencia plena y en las interrelaciones existentes entre los atributos principales, que se encuentran en alguna de las claves, y los no principales, que no se encuentran en ninguna de las claves de la relación.

Se dice que una relación esta en 2FN si esta en 1FN y cada atributo no principal tiene dependencia funcional completa respecto de cada una de las claves, es decir que cualquier relación en la que todos sus atributos son principales, todas las tablas o entidades tienen llave primaria (PK).

    • Tercera Forma Normal (3FN)

La Tercera Forma Normal está basada en el concepto de dependencia transitiva. Un esquema de relación R, está en tercera forma normal si, y sólo si está en la 1FN, está en la 2FN y no existe ningún atributo no principal que dependa transitivamente de alguna clave de R, es decir que todas las tablas estén relacionadas mediante llaves foráneas (FK). (Calero, 2007).

No hay comentarios:

Publicar un comentario