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 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.
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.
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.
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).