Está en la página 1de 60

ING.

IRENE AGUILAR JU REZ


___________________________________________________________
ING. IRENE AGUILAR JU REZ
___________________________________________________________

CONTENIDO

Sistemas De Información Y Bases De Datos ............................................................... 4


Modelos De Datos ....................................................................................................... 9
Concepto De Modelos De Datos................................................................................ 13
El Modelo Entidad / Interrelacion ................................................................................ 16
El Modelo Relacional: Estática.................................................................................... 18
Dominio Y Atributo...................................................................................................... 19
Definición Formal De Relación.................................................................................... 19
Clases De Relación. ................................................................................................... 20
Claves ........................................................................................................................ 20
Restricciones Semánticas........................................................................................... 21
El Modelo Relacional: Dinamica ................................................................................. 24
Operadores Primitivos ................................................................................................ 25
Operadores Binarios................................................................................................... 25
Operadores Derivados................................................................................................ 25
Operadores Adicionales.............................................................................................. 26
Operaradores Relacionales Con Valores Nulos .......................................................... 26
En El Producto Cartesiano No Se Ve Afectado Por Los Valores Nulos....................... 26
Los Lenguajes Basados En Calculo Relacional .......................................................... 27
Cálculo Relacional Orientado A Tuplas...................................................................... 27
Calculo Relacional Orientado A Dominios................................................................... 27
Lenguaje Sql............................................................................................................... 29
Dominios: Para Crear Dominios Usaremos La Sentencia ........................................... 30
Tablas: Para Generar Tablas Se Usaran Las Sentencias ........................................... 30
Manipular Los Datos En Sql........................................................................................ 31
Elementos Básicos ..................................................................................................... 31
Clausula Group By...................................................................................................... 33
Clausula Having.......................................................................................................... 33
Sentencia Insert.......................................................................................................... 34
Insert Into Documento................................................................................................. 34
Sentencia Update ....................................................................................................... 34
Update Documento..................................................................................................... 34
Confidencialidad ......................................................................................................... 34
Grant Delete ............................................................................................................... 34
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Disponibilidad ............................................................................................................. 34
Integridad.................................................................................................................... 34
Check ......................................................................................................................... 34
Create Domain............................................................................................................ 34
El Estándar Sql3 ......................................................................................................... 36
Papeles De Usuario.................................................................................................... 36
Disparadores En Sql ................................................................................................... 36
Create Trigger............................................................................................................. 36
After Delete On ........................................................................................................... 36
El Proceso De Diseño De Bases De Datos................................................................. 37
Dependencia Transitiva ............................................................................................. 40
La 4nf ......................................................................................................................... 40
Modelo En Red Codasyl ............................................................................................. 42
Dinámica Del Modelo Codasyl .................................................................................... 49
Estructura Del Lenguaje ............................................................................................. 49
El Modelo Jerárquico. ................................................................................................. 55
Localización O Selección ............................................................................................ 55
La Función De Acción................................................................................................. 55
Las Restricciones Del Modelo..................................................................................... 56
Futuro De Las Bases De Datos .................................................................................. 56
El Plano Científico: La Investigación Dedicada A La Tecnología ................................ 59
ING. IRENE AGUILAR JU REZ
___________________________________________________________

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.

Capitulo 1: SISTEMAS DE INFORMACIÓN Y BASES DE DATOS

1: Papel Económico, social y cultural de la información.

La información en nuestra sociedad es cada vez más necesaria, ya que es el soporte de la


transferencia de conocimientos, y clave para porvenir de la humanidad; por tal importancia
es necesario que la información cumpla con los requisitos de ser precisa, oportuna,
completa y adaptada a las necesidades específicas de cada usuario y sus circunstancias.

El avance en la capacidad informativa de esta sociedad ya obliga en pensar en una


revolución informática con implicaciones sociales, económicas y culturales semejantes a la
revolución industrial del siglo pasado.

La necesidad de estar informados surge por que se requiere un conocimiento


socioeconómico de nuestro entorno para ejercer la toma de decisiones adecuadamente, la
mayor diversidad, el afán de desmasificación, y un nivel cultural mayor en nuestras
sociedades genera una necesidad mayor de información de todo tipo y con múltiples
detalles.

La información se ha convertido en un recurso más para las organizaciones ya que de ella


dependerán sus estrategias y políticas en el mercado; la información permite cumplir con la
necesidad de saber, conocer, y elegir. Las sociedades han reconocido que el ser humano
tiene derecho de estar informado por la trascendencia de de la información no obstante en
la actualidad no podemos decir que las sociedades tienen la capacidad de satisfacer dicho
derecho; pues todavía existen problemas técnicos, económicos, políticos, y administrativos
que impiden ofrecer sistemas de información eficientes que cubran con esta demanda.

2: Cualidades de la Información.

La información debe poseer ciertas cualidades para que cumpla con su objetivo estas
cualidades son las siguientes:
Precisa: la información es precisa si cumple con ser correcta es decir verídica, la
credibilidad de la información esta relacionada directamente con su veracidad.

Oportuna: Una información oportuna es aquella que se transmite al usuario en un


tiempo adecuado desde la generación del hecho informado hasta la disposición del
usuario a la información. La información pierde calidad si tarda mucho tiempo para
llegar al usuario, ya que se pierde la oportunidad de tomar decisiones adecuadas
oportunamente.

Compleción: La información debe ser completa para los fines que es requerida, si
no contempla algunos aspectos necesarios deja de ser importante al no ser usada
como base de decisiones. La compleción no solo depende de la información sino
de aspectos que se refieren a la forma de recuperar y elaboran las consultas
(factores técnicos y humanos).

Significativa: Debe contener el máximo contenido semántico. Es decir debe ser


comprensible, entendible y debe tener significado para la organización.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Coherencia: Debe ser consistente en las reglas semánticas con las que fue
diseñada.

Segura: la información debe ser protegida en su deterioro y en los accesos no


autorizados, la seguridad comprende confidencialidad, disponibilidad, e integridad.

Cuando se analiza la generación de sistemas de información se deben considerar estas


cualidades de la información, encontrando equilibrio entre ellas para lograr un nivel
confiable y útil de la información.

3: Concepto de Sistema de Información.

Un sistema de información se puede definir como un conjunto de elementos con un cierto


orden que trabajan para lograr un objetivo en común, los Sistemas de Información tienen el
objetivo de procesar la información de una organización para apoyar el conocimiento de los
procesos dinámicos de la misma. Los sistemas generalmente se deben considerar con un
punto de vista relativo, es decir están compuestos por elementos y son a su vez elementos
de otros sistemas más generales.
Con base en esta descripción de un Sistema de Información esta compuestos por varios
elementos de los cuales las Bases de Datos son fundamentales y a su vez las Bases de
Datos son también otro sistema.

Los sistemas de información corresponden a la clasificación de sistemas Ratifícales, que


tienen la característica de ser hechos por el hombre a diferencia de los Sistemas Naturales
que son aquellos generados por las leyes naturales.

Los sistemas de Información en general dependen de los objetivos y directrices que deben
cumplir y que son estipulados por los altos mandos organizacionales, estos objetivos son
de suma importancia ya que de su planteamiento dependerá su realización y eficiencia.
Existen Sistemas Dinámicos que son aquellos que tienen una interacción con el entorno en
que se ubican, por esta razón es necesaria una constante retroalimentación de la salida
de información y las entradas de datos.

Las principales características de un SI. Pueden agruparse en:


Tecnológicas: Tienen origen en el equipo en que se implementa el SI, y afecta el
rendimiento y seguridad del mismo.

Funcionales y Semánticas: Se refiere a si el sistema hace lo que debe y de la


forma correcta, también se refiere a su adaptabilidad a requisitos cambiantes.

Económicas: Se refiere a los costes del sistema y a sus beneficios.

Sociales: Se refiere al impacto social del sistema en el entorno en el que se


desenvuelve.

Podemos comparar al Sistema como un motor que impulsa la información por todas las
áreas de la organización. Existe una estrecha e importante relación entre la organización y
el sistema, es imprescindible tomar esto en cuenta para considerar que los objetivos del
sistema sean acordes a la organización pues suele suceder que las fallas de los sistemas
se deban más a factores humanos y organizacionales que a factores de diseño
tecnológico.

4: Componentes de un sistema de Información

El SI se compone básicamente de 5 elementos: el contenido, el hardware,


El software, la administración, y los usuarios.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El contenido puede ser de naturaleza estructurada o no estructurada, básicamente la
diferencia se refiere a la estructura de organización de los datos, de tal forma que los datos
estructurados, tienen una posición y longitud fija, por otro lado los datos no estructurados
no pueden tener posiciones o tamaños fijos por la naturaleza de su información, aunque
existen dos tipos de sistemas para tratar a los diferentes datos ( los Sistemas de Gestión
de Bases de Datos, recuperan, procesan y definen datos estructurados, y los Sistemas de
Recuperación de Información: se ocupa de datos no estructurados) en la actualidad existe
una clara tendencia hacia la convergencia de los dos sistemas en la funcionalidad de un
solo Sistema. El papel del administrador es muy importante pues es el gestor y custodio de
los datos, la administración puede dividirse en dos áreas la administración del contenido y
la administración de del SGBD.

5: Sistemas de Información para la Gestión y Sistemas de Información para la


ayuda a la decisión

En los orígenes de los Sistemas de Información se concentraba en el procesamiento de las


actividades operacionales de las organizaciones, es decir llevaban a cabo las tareas
rutinarias de la organización, con el transcurso del tiempo surgen Sistemas que pueden
apoyar áreas de dirección y toma de decisiones.

En una organización se pueden distinguir tres niveles de gestión que se organizan


jerárquicamente, estos niveles son:

Nivel estratégico: Este nivel esta centrado en la elaboración de planes y objetivos


generales para la organización. La información de este nivel se caracteriza por ser
datos poco voluminosos, muy heterogéneos con relaciones complejas, pocas
salidas de información altamente significativa, fácil de interpretar y procesos de
difícil o imposible estructuración.

Nivel táctico: En este nivel se controla la gestión y se proponen objetivos


específicos, la información de este nivel tiene las características siguientes: datos
poco voluminosos, procesos complejos pero estructurados, pocas salidas no
normalizadas y existe el tratamiento de problemas no secuencial y en general
interactivo.

Nivel operacional: En este nivel se efectúan las tareas administrativas y la


información de este nivel se caracteriza por ser voluminosa, estructurada, muchas
salidas normalizadas, predomina el tratamiento secuencial y por lotes, las
relaciones entre datos son simples y en general los datos son homogéneos.

Una tendencia en el mercado es el surgimiento de Sistemas de Información enfocados al


soporte de la toma de decisiones dirigidos a los directivos y que funcionan extrayendo
información de las bases de datos con técnicas de minería de datos.

6: De los sistemas tradicionales de ficheros a las Bases de Datos.

En los orígenes, las bases de datos se componían de una serie de ficheros con información
interrelacionada pero cada archivo se diseñaban para cada aplicación, con este diseño los
problemas eran muchos, pues la redundancia de información era constante y para
actualizar un dato era necesario modificar no solo un archivo sino varios, pues la
dependencia de los datos y las aplicaciones era mucha. Este diseño estaba orientado a los
procesos.

Con los problemas que acarreaba esta situación fue preciso diseñar una forma diferente de
estructurar la información, este modelo procura gestionar la información de una forma más
racional, recopilando una sola vez la información y con independencia de los tratamientos.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
De esta forma los datos se organizan y se mantienen no pensando en una aplicación
específica por lo que pueden ser usados por más de una aplicación sin presentar
problemas. Se dice que este enfoque es orientado a los datos.

7: Ventajas e inconvenientes de las Bases de datos frente a los ficheros


clásicos.

Las bases de datos ofrecen una mejor alternativa de manejo de información, podemos
resumir las siguientes ventajas:

Independencia de los datos respecto a los tratamientos: La independencia de


los datos es muy importante pues permite cambiar aplicaciones sin necesidad de
modificar la base de datos y viceversa, esta característica permite la actualización
de aplicación sin excesivos costes de producción.

Coherencia en los resultados: la información no presenta redundancia por lo que


una sola vez es capturada y almacenada y se elimina las divergencias de los
resultados en búsquedas y consultas.

Disponibilidad de datos: al no pertenecer la información a una aplicación


específica y al existir una descripción de los datos en un diccionario de datos, los
usuarios pueden tener mayor disponibilidad y transparencia de los datos que les
corresponde según sus privilegios.

Mayor Valor informativo: la información que se obtiene de una Base de Datos


completa y sin redundancia es de mayor valor al no presentar la falta de precisión
que se puede presentar en un sistema con ficheros.
La documentación normalizada: En una base de datos se encuentra separados
los datos de su descripción semántica, pero ambos aspectos están incluidos en la
misma Base de Datos.

Mejor captura y validación de los datos en el Sistema: Los datos se validan y


capturan una sola vez lo que garantiza el mayor rendimiento y optimización de los
procesos de almacenamiento.

Reducción del almacenamiento: La presencia de la redundancia controlada trae


como consecuencia que los datos solo se almacenen una vez y ocupen un espacio
limitado en comparación con los sistemas de ficheros en los que se repetía
información en más de dos archivos con lo que consecuentemente aumentaba la
necesidad de almacenamiento.

La administración de información con ayuda de los SGBD ofrece muchas ventajas


en comparación de los sistemas de Ficheros, no obstante también presentan
inconvenientes que enseguida se mencionan:

Instalación costosa: La implementación de un SGBD puede ser de costes


elevados sobretodo si los requerimientos informáticos de la organización son
elevados, a pesar de existir en el mercado SGBD no muy costosos, la calidad del
software dependerá de los requerimientos de procesamiento de la información.

Personal especializado: Los SGBD requieren personal con especialización en el


área de administración de Bases de Datos ya que el uso del software será más
ING. IRENE AGUILAR JU REZ
___________________________________________________________
optimizado por gente capacitada en el diseño, modelado y administración de las
Bases de datos.

Poca rentabilidad a corto plazo: Los costes que implican incorporar esta
metodología en la administración de Datos no se recupera a corto plazo,
generalmente se recuperará a largo plazo.

Escasa estandarización: En los primeros años de los SGBD había poca


estandarización de los productos en el mercado lo que implicaba la no portabilidad
de información entre uno y otro sistema. En la actualidad la estandarización se
esta dando en los lenguajes de consultas (SQL) pero aún así no se ha logrado
superar este inconveniente.

Desfase entre Teoría y Práctica: En el mercado aún no salen a la venta


productos que cumplan totalmente con los planteamientos teóricos que en Bases
de Datos se han estudiado lo que causa un gran problema al no responder a lo
que teóricamente ya debería responder los modelos relacionales.

8: Conceptos de Base de Datos.

Una base de datos puede definirse como un conjunto interrelacionado y


estructurado de datos de acuerdo con un modelo capaz de recoger el máximo
contenido semántico de la información. La base de datos debe ser independiente
de las aplicaciones y debe ser útil a múltiples usuarios. Los datos no deben tener
redundancia lógica aunque se puede permitir redundancia física controlada de la
información con fines de seguridad y eficiencia.

Los datos deben ser almacenados en soporte secundario, la definición o


descripción de los datos debe ser único y estar integrada a los datos; con esta
característica podemos decir que una base de datos se autodocumenta con la
existencia de los metadatos. Los procesos deben estar bien definidos por el SGBD
lo que permite el mantenimiento de la seguridad, la confidencialidad e integridad
de los datos.

9: Distintos niveles de abstracción de una base de datos.


En general se puede decir que una base de datos tiene tres niveles de abstracción:

Estructura Física, Esquema Interno: Se refiere a la estructura del almacenamiento físico de


los datos, la especificación de espacios de almacenamiento, el emplazamiento de los datos
para optimizar los tiempos de acceso y las estrategias para manejo de desbordamiento.
También especifica las técnicas de compresión, criptografiado, y técnicas de acceso
indexado, secuencial, hashing etc.

Estructura Lógica, Esquema Conceptual: Se refiere a la estructura conceptual y de la


semántica de la Base de Datos, es decir al significado global de los datos, las relaciones
entre ellos, las restricciones de seguridad.

Estructura lógica de usuario, Esquema Externo: Se refiere a la estructura lógica que tiene
el usuario en particular de los datos, sin olvidar que existen en una Base de datos varias
vistas de Datos según los privilegios de cada usuario. Los esquemas externos serán varios
según las necesidades de los usuarios y los niveles de seguridad que se requieran en las
aplicaciones.

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Capitulo 2: MODELOS DE DATOS

EL SGBD COMO INTERFAZ ENTRE EL USUARIO Y LA BASE DE


1.-
DATOS.

La base de datos como único depositario de datos de una organización presta servicio
a los tres niveles de gestión Administrativa: el operacional, el táctico, y el estratégico, si
existe desconexión entre los sistemas de información se generará una aumento de coste
de administración y una mala representación de la información real, pues con varias
aplicaciones que manipulen los mismos datos producirán inconsistencias de datos o
duplicación de información , las aplicaciones que no se relacionan entre sí , y permanecen
ajenas a las demás aplicaciones no cumplen con el objetivo central de la administración de
bases de datos.

El SGBD es el encargado de ser la interfaz entre los distintos tipos de usuarios y la


base de datos, como se sabe los usuarios de un sistema de información pueden ser
clasificados en dos grupos, los informáticos y los usuarios finales; los usuarios informáticos
son aquellos que están involucrados en diversos grados con la tarea de administración y
operación de los sistema por ejemplo los administradores, diseñadores, programadores,
analistas, capturistas, etc, estos usuarios tiene contacto forzoso y en diversos grados y con
diversos intereses a la base de datos y tiene la autoridad de modificar su estructura tanto
física como lógica.

Los usuarios finales tienen un servicio del SGBD distinto a los usuarios informáticos,
pues los usuarios finales no se involucran directamente con las estructuras físicas o lógicas
de la BD y el contacto que tienen con ella es la consulta no frecuente de cierta
información, por esta razón presentan diversas características que deben considerarse al
diseñar las herramientas que el sistema ofrecerá a este tipo de usuarios que generalmente
conocen poco los lenguajes que les permitan la consulta de la BD.

2.- CONCEPTOS Y PRINCIPALES FUNCIONES DE UN SGBD.

Un SGBD puede ser definido como un conjunto coordinado de programas,


procedimientos, lenguajes, que suministran a los diversos tipos de usuarios los medios
necesarios para describir, manipular y administrar los datos almacenados.

Las actividades de un SGBD se pueden clasificar en dos grupos, aquellas acciones que
se aplican a la base en conjunto como la creación, la reestructuración y las consultas
totales de la BD. Y las acciones que se aplican a un conjunto de registros concreto como
son las actualizaciones (editar, borrar o insertar registros).

La primera actividad básica del SGBD es la definición de la BD, cuidando siempre


la independencia de los datos con las aplicaciones, esto se hace con un lenguaje
de definición de datos (DDL o LDD), la definición de datos se da en dos niveles, el
nivel lógico, y el nivel físico. En la mayoría de los SGBD se tiene un solo lenguaje
que permite esta definición, la estructura externa y la lógica global, para esta
actividad es interesante recalcar que no todos los usuarios pueden usar este
lenguaje, solo aquellos con privilegios para dicha reestructura (Administrador de la
BD).

La siguiente actividad en la BD es la manipulación de datos, para esto también


existe un lenguaje especial que permite acceder, procesar y volver a almacenar los
datos, este lenguaje es el LMD. Los SGBD tiene la posibilidad de trabajar con
varios lenguajes que cumplan con esta función, el lenguaje autocontenido también
ING. IRENE AGUILAR JU REZ
___________________________________________________________
llamado nativo que es un lenguaje incluido en el SGBD y los lenguajes huésped,
son aquellos que no siendo parte del SGBD tiene la capacidad de interactuar con
él para solicitar y efectuar las acciones de manipulación de la BD.

Básicamente un SGBD tendrá las siguientes funciones:

Descripción de la BD
La estructura lógica
Las interrelaciones
Las validaciones

Descripción a tres niveles:


Externo
Lógico Global
Interno
Manipulación
Añadir
Modificar
Eliminar
Buscar
Definir criterios de selección
Definir las estructuras a recuperar
Acceder a la estructura del física
Control
Reúne las interfaces de los diversos usuarios
Reúne métodos para el administrador

3.- LENGUAJES DE LOS SGBD.

Las acciones necesarias en una BD obligan al SGBD a incluir varios lenguajes cada
uno de ellos con un propósito específico. El uso de cada lenguaje dependerá del tipo de
usuario que lo requiera es decir el nivel de complejidad de tareas que requiera un usuario
determinara la naturaleza del lenguaje que utilizará:

Los lenguajes que se incluyen en un SGBD son los siguientes:

Lenguaje de descripción de datos internos: permite definir la estructura física y lógica de la


BD.

Lenguaje de descripción de datos globales: permite definir las entidades y relaciones de la


BD.

Lenguaje de descripción de vistas externas: permite el control de acceso a la información


con base en los privilegios de los usuarios definiendo que información tiene derecho de
manipular y observar cada usuario.

Lenguaje de Manipulación de datos: permite el procesamiento de la información desde el


punto global e interno de la información, este lenguaje permite las operaciones básicas de
una BD las altas, bajas, cambios, y búsquedas.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
5.- INTERACCIÓN DEL USUARIO CON EL SISTEMA DE GESTION DE LA
BASE DE DATOS.
Los usuarios informáticos tienen en el SGBD, herramientas que les permite realizar su
trabajo fácilmente por que el SGBD tiene como objetivo la r independencia física y lógica
de los datos, no obstante cada tipo de usuario tiene cierto manejo de lenguajes según la
complejidad de su labor en la BD, así es como podemos enfatizar que tipo de lenguaje usa
cada usuario.

Los administradores, por la complejidad y responsabilidad de su cargo requieren trabajar y


manipular todos los lenguajes del SGBD.
Los usuarios informáticos (diseñadores, analistas, programadores): Requieren trabajar con
la estructura externa de la BD y trabajan con el lenguaje de definición de vistas y con le
lenguaje de manipulación de BD.
Los usuarios no informáticos: los usuarios no informáticos usan las vistas definidas por los
programadores o por el propio procedimiento del SGBD, usan las aplicaciones, los
paquetes ya elaborados y los lenguajes paramétricos que permiten búsquedas sin mucho
conocimiento técnico. También pueden usar los lenguajes autocontenidos en el SGBD, por
que son herramientas pensadas en personas sin conocimiento técnico mayor.

6.- FUNCIONAMIENTO DEL SGBD: INTERACCION CON EL SISTEMA


OPERATIVO.

El SGBD tiene comunicación necesaria con el Sistema Operativo, ya que es éste quien
tiene acceso real físico con los ficheros; con los sistemas de administración de ficheros, el
sistema Operativo es el encargado de acceder directamente a los ficheros cuando se
atiende una solicitud de un programa de aplicación, ahora con un SGBD el proceso de
acceso a los ficheros es distinto pues los datos no son accesado directamente por el SO,
con los SGBD existe un intermediario entre los programas de aplicación y los ficheros, este
intermediario es el SGBD.

El sistema Operativo tiene mecanismos para vincularse con los SGBD de tal forma que
se genera una unidad de ejecución en la memoria del SO para procesar las solicitudes del
programa de aplicación; en esta unidad de ejecución, se ejecutan las instrucciones del
SGBD para la manipulación de los datos.

7.- LA ESTANDARIZACIÓN DE LA ARQUITECTURA DE LOS SGBD.

La estandarización de los SGBD permite conseguir que una vez desarrollados los
sistemas e instrumentos en un SGBD, el cambio a otro producto comercial no implique la
modificación completa del diseño estructural de la BD.

Básicamente con la estandarización se persigue una independencia del usuario con


respecto del proveedor, que generalmente obliga mediante estrategias técnicas que el
cliente dependa de la tecnología del productor del SGBD.

Para conseguir este fin existen comités internacionales de estudiosos que analizan
las reglas para permitir que las aplicaciones y herramientas de los SGBD so
dependan de alguna marca en el mercado, los principales comités que tienen esta
labor son:
El ISO/IEC
JTC
SCI
SC2
WG1
WG3
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Estas organizaciones estudian un área específica de los SGBD para especificar
reglas que permitan portabilidad entre las herramientas de un SGBD y otro.

8.- MODELOS DE REFERENCIA Y LA ANSI /SPARC

Para efectuar la tarea de estandarización fue necesario un estudio del vocabulario


existente en esta área del conocimiento para poder llegar a ciertos acuerdos de
terminología, otro trabajo básico fue el análisis de los componentes de un sistema
de Información. Una vez definida la terminología y los componentes se dieron
recomendaciones de construcción y de funcionamiento de los SGBD, una de estas
recomendaciones el la que se hizo respecto al kernell (núcleo) del SGBD.

Se observa que en el análisis se presenta un arreglo bidimensional de dos


aspectos:
Dimensión del punto de vista: Constituye la arquitectura a tres niveles.
Dimensión intención / extensión: Presenta cuatro niveles para la descripción de os datos,
donde cada nivel es la extensión (datos) del nivel superior y al mismo tiempo, la intensión
(esquema) del nivel inferior.

9.- EL CONCEPTO DE LA INDEPENDENCIA FISICO /LOGICA EN


RELACION CON LA ARQUITECTURA.

El principal objetivo de la base de datos es conseguir la independencia entre las


estructuras lógicas y física de los datos de modo que el cambio en la estructura de
los datos no obligue a un cambio en las aplicaciones de las empresas.

La independencia implica el separamiento del almacenamiento y la organización


lógica de los datos tal como están concebidos, si se logra esto conseguiremos una
doble finalidad.

Unos mismos datos se presentarán de distintas formas según las necesidades de los
usuarios
El almacenamiento de los datos, su estructura lógica y los programas de aplicación serán
independientes unos de otros, de modo que podremos cambiar a uno sin un cambio
obligatorio en el otro.
Por ultimo se puede concluir que la estandarización permitiría al usuario una
independencia con los proveedores y unos SGBD generadores de BD independientes del
almacenamiento.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.

Capitulo 3: CONCEPTO DE MODELOS DE DATOS

1.- INTRODUCCION

Para describir un modelo de datos podemos decir que es un conjunto de conceptos que
describen y manipulan a distintos niveles de abstracción la estructura de una base de
datos. Estos modelos los podemos encontrar en varios niveles,

Los modelos externos que son aquellos que describen los datos que requieren los usuarios
en las estructuras de un lenguaje de programación.
El modelo global indica los datos a nivel general de datos, podríamos decir que a nivel de
empresa.
Los modelos físicos están orientados a nivel máquina y describen el uso de punteros,
índices, agrupamientos, etc.

Los diversos niveles permiten también diferentes posibilidades de estandarización, el nivel


que permite la estandarización es el modelo global, no obstante la posibilidad de
estandarización se debe considerar que hay dos clases de modelos globales, los
conceptuales, y los convencionales o lógicos; los modelos conceptuales permiten describir
un conjunto de información independientemente de la máquina y sus conceptos son
cercanos al mundo real.

Los modelos convencionales o lógicos son generados a partir de los SGBD y describen la
información de forma lógica, los conceptos de los modelos son propios del SGBD
generador.

El modelo de datos ya sea lógico o físico se usa para modelar un esquema (un esquema
es la descripción de BD), un esquema no cambia hasta que cambie la realidad que lo
genero y es importante observar la diferencia entre un esquema y la ocurrencia, la
ocurrencia es la información de la BD que cambia constantemente por ser la información
almacenada.

Los modelos son la base para los lenguajes de datos y la abstracción de los lenguajes es
mayor ya que incluyen además del modelo una sintaxis.

2.- DEFINICION DE MODELOS DE DATOS

Los modelos de datos tienen dos componentes, un componente estático y uno dinámico el
componente estático esta formado generalmente por sus objetos, asociaciones,
características de los objetos, los dominios de los objetos es decir lo valores que pueden
definir las propiedades y un elemento importante son las restricciones que son impuestas
por el mismo modelo (inherentes) o por la realidad representada (semánticas).
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El componente dinámico del modelo de datos son las ocurrencias de la BD, la ocurrencia
son los valores que toman los objetos en un momento determinado, lo que implica que
pueden existir en un momento dado múltiples ocurrencias diferentes debido a cada
operación de datos que se efectúa en la BD.

Una operación de Datos es una acción dada en una selección de valores almacenado, para
que se realice una operación es necesaria una selección para determinar los valores
afectados, y la acción decidirá los cambios que afectarán a esos datos. Este proceso es
manejado de diversas formas por los diversos modelos de datos; mientras algunos
modelos separan estas acciones (seleccionar y acción) otros modelos integran en una
misma instrucción las dos acciones.
Un ejemplo de esto es el lenguaje SQL que tienen la instrucción SELECT FROM WHERE,
que en una sola instrucción selecciona valores bajo un criterio y realiza algún cambio o
acción sobre esos registros

3.- LAS RESTRICCIONES DE INTEGRIDAD EN LOS MODELOS DE DATOS.

Las reglas que rigen un sistema en la vida real son las que dictarán las restricciones del
modelo de datos, por ejemplo un niño de 4 años no podrá solicitar una licencia de manejo o
comprar un automóvil, este tipo de reglas son las reglas de semántica y deben respetarse
para tener calidad y veracidad en la información.
Algunos autores reservan los conceptos de semántica para el significado de los datos y las
restricciones a la corrección de los datos, de esta forma tenemos que el concepto de
restricciones debe usarse solo para referirse a la verificación de que se cumplan estas
reglas semánticas.

La verificación de datos se realizaba de forma manual, con la evolución de los SGBD se ha


incorporado la verificación de estos en los programas, la ventaja de tener esta verificación
es que tenemos información mas integra y confiable. para poder usar esta verificación es
necesario que las reglas semánticas estén contenida o descritas en el esquema para que
los SGBD puedan reconocer, y gestionar estas restricciones.

4.- CLASIFICACIÓN DE LOS MODELOS DE DATOS.

El grupo ANSI/X3/SPARC introdujo los informes donde planteaba la expresión de modelo


conceptual, pues anteriormente no se diferenciaban los tres niveles de abstracción,
anteriormente se menciona que los modelos de datos pueden ser externos, conceptuales,
e internos, también se pueden clasificar los modelos en lógicos y físicos.
Los modelos se clasifican en convencionales y conceptuales teniendo cada uno diversas
características.

Convencionales Conceptuales
Se implementan en SGBD No se implementan en SGBD
Dependen SGBD Son independientes a un SGBD
Son próximos al ordenador Mayor nivel de abstracción
Poca capacidad semántica Mayor capacidad semántica
Enfocados a la implementación Enfocadas al diseño de alto nivel
Interfaz informático/sistema Interfaz usuario/informático
Es la mediación entre el nivel externo e
interno

Los modelos conceptuales son el modelo jerárquico, de red, y relacional, cada uno de ellos
tiene características propias y durante años se debatió las ventajas de uno y otro sobre los
demás, en la actualidad el modelo relacional a sobresalido a los demás por su sencillez en
ING. IRENE AGUILAR JU REZ
___________________________________________________________
descripción y elaboración de consultas, un defecto de este modelo es que tiene menor
representación semántica que el modelo jerárquico.

El modelo de relacional solo representa la semántica por medio de las relaciones y


afortunadamente en la estandarización de SQL 3 ya se ofrece mejoras en la representación
semántica.

La independencia físico/lógico es más difícil de lograr en el modelo Codasyl y jerárquico ya


que su modelación también indica las ligas lógicas y caminos físicos a seguir, sin embargo
el modelo relacional tiene la ventaja de que el usuario no conoce el mecanismo de
hardware que se requiere para satisfacer su consulta, esto facilita y propicia la
independencia lógico / físico necesaria en los SGBD.

En la actualidad los modelos de datos han dejado de competir entre ellos por que el
modelo relacional ha sido aceptado a pesar de los inconvenientes de rendimiento que
tenían los SGBD relacionales en sus primeras versiones. Las discusiones entre los
especialistas de BD se enfocan ahora a las bases de datos orientadas a objetos, en dicha
diferencia de opiniones esta la postura de extender los SGBDR y otra opinión asegura que
esto no es posible por la naturaleza misma del concepto orientado a objetos.

5.- LOS MODELOS DE DATOS EN EL DISEÑO DE BASES DE DATOS.

Los modelos de datos son una herramienta eficaz para el diseño de BD , ya que el uso de
estos modelos en los diversos niveles de abstracción de la realidad permiten modelar un
BD desde la realidad hasta el diseño físico e implementación de la BD.

En cada nivel se usa uno de estos modelos para conceptuar la información que se genera
el la realidad y profundizando niveles pasando por los esquemas externo, interno se
termina por modelar la estructura física de la BD que una vez concluida solo queda por
llenar de valores de las ocurrencias de la BD.

Para diseñar una BD debemos transitar entre tres mundos la realidad, las ideas y los datos
El mundo real esta compuesto por objetos, entidades con particularidades, relaciones y
reglas que rigen su comportamiento, este conjunto de hechos debe abstraerse para
empezar con la modelación y encontrar la semántica de esta realidad; el siguiente paso es
definir conceptos y realizar un modelo conceptual que describirá los significados de los
objetos y relaciones, es interesante aclarar que los modelos de datos no poseen todas las
herramientas para modelar toda la semántica de la realidad por lo que es tarea del analista
abstraer la realidad y encontrar el modelo que modela mejor la realidad.

Un SGBD no comprende los conceptos del modelo conceptual por lo que se requiere una
descripción de la información que manipula el SGBD, esto nos permitirá un camino de
regreso de los bits a los conceptos o significados de la realidad representada por mi BD.

Una herramienta que auxilia a los diseñadores en este proceso son las herramientas CASE
que ofrecen herramientas de modelado conceptual con extensiones suficientes para
generar una transformación del modelo conceptual al modelo convencional y permiten así
una implementación en algún SGBD comercial.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.

EL MODELO ENTIDAD / INTERRELACION

1.- PRESENTACIÓN E HISTORIA

El diseño de una base de datos se dificulta cuando el diseñador piensa en los datos desde
el punto de vista informático, pues con esta postura el modelo lleva implícito aspectos
físicos de implementación, si el diseñador pudiera visualizar los datos a un nivel de
abstracción superior podría representar la realidad con mayor fidelidad.

Un problema para la modelación de datos es que los modelos no tienen flexibilidad


semántica, este problema se ha tratado de resolver desde la década de los 70’s por CHEN
quien propuso un modelo independiente de la implementación lógica o física, a este
modelo se le llamo modelo Entidad/Relación, este modelo despertó el interés de los
diseñadores de BD y se ha profundizado el tema generando una familia de modelos
basados en el Modelo E/R.

Personalidades como ELMARI, NAVATHE, SHOSHANI, POONEN etc. han tratado el tema
proponiendo extensiones al modelo original de CHEN tratando de darle mayor flexibilidad al
modelo.

El modelo E/R esta compuesto al igual que los otros modelos en dos partes: la sección
estática, que describe la estructura del Universo del discurso y se implementa por medio
del Lenguaje de Definición de Datos y la sección dinámica que es la sección encargada de
las operaciones sobre los datos almacenados descritos con la estructura, este proceso se
implementa con el Lenguaje de Manipulación de Datos.

Los SGBD mas difundidos en la actualidad estad basados en este modelo y aunque
existen limitantes en la semántica para modelar la BD, son los manejadores con mayor
difusión.

2. ESTATICÁ DEL MODELO E/R.

En el modelo entidad relación se identifican con conceptos básicos las entidades, las
interrelaciones, los dominios y los atributos
Entidades: una entidad es todo objeto, persona, concepto que pueda ser descrito por
sus atributos, existen entidades regulares y débiles, las regulares son aquellas que existen
por si mismas y las entidades débiles son aquellas que depende su existencia de alguna
otra entidad. Para ser representada gráficamente se usa un rectángulo simple para
entidades regulares y un rectángulo doble para las débiles.

Interrelación: Una interrelación es una estructura genérica existente entre dos o mas
entidades las ocurrencias se dan en cada interrelación concreta entre entidades, las
interrelaciones deben tener nombre, grado (numero de entidades que intervienen) y
correspondencia. Dos entidades se pueden interrelacionar con más de una interrelación

Atributos: Son cada una de las propiedades que definen a una entidad o a una
interrelación, al conjunto de los valores que pueden tomar estos atributos se les
denomina como dominio del atributo, gráficamente se representan como óvalos y
se deben representar los atributos más representativos, indicando al atributo
ING. IRENE AGUILAR JU REZ
___________________________________________________________
identificador principal, este atributo permite ubicar unívocamente a cada ocurrencia
de la entidad.

Restricciones: Las restricciones son reglas que impone el mundo real y limitan las
ocurrencias en los datos, pueden ser restricciones semánticas o de comportamiento, para
modelar fielmente al mundo real se han propuesto extensiones al modelo E/R propuesto
por Chen.

3. SEMÁNTICA DE LAS INTERRELACIONES

El contenido semántico se ha completado con conceptos como la cardinalidad, las


dependencias y otros mecanismos de abstracción
Cardinalidad: La cardinalidad es el numero máximo o mínimo de ocurrencias de uno u
otro tipo de entidades que participan en la interrelación, las cardinalidades se representan
junto al tipo de de entidad al que afectan, indicando entre paréntesis el valor mínimo y
máximo de la ocurrencia. Ejemplo: (1:N), (1,M).
Dependencias en existencia y en identificación: Las interrelaciones se
pueden clasificar en regulares si interrelacionan a entidades regulares y débiles si
interrelacionan entidades débiles las dependencias débiles pueden ser dependencias de
existencia si una entidad depende de la existencia de la otra dependencia de Identificación
si las entidades débiles además de ser dependientes en existencia, no se pueden
identificar por atributos propios.

4. GENERALIZACION Y HERENCIA
La generalización es una interrelación que existe entre tipos de entidades donde puede
existir un jerarquía por ser ambas entidades subtipos de una entidad de mayor jerarquía,
siendo la entidad de mayor jerarquía una generalización y las entidades subtipos son un
especialización de un supertipo. Las generalizaciones se representan gráficamente con un
triangulo con la base hacia la entidad generalizada.

5. DINAMICA DEL MODELO E/R.

Cuando CHEN propuso este modelo de datos no propuso lenguajes de manipulación de


datos, esto es lógico pues la propuesta esta orientada a buscar independencia física del
modelado, sin embargo algunos autores han propuesto lenguajes basados en el modelo
Entidad / Interrelación; estos lenguajes permiten además de definir la estructura de BD,
formular consultas a las bases de datos con sentencias que se parecen al lenguaje natural
y son sencillas de formular.

Algunos de estos lenguajes son el CABLE y el CLEAR


CLEAR: este lenguaje esta basado en el modelo E/R y trabaja por lo tanto a nivel
conceptual y la BD es independiente de ciertos cambios en la estructura, esta
independencia física de los datos es la principal característica de CLEAR.
Este lenguaje es de fácil compresión y tiene aspectos en común con
SQL.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.

EL MODELO RELACIONAL: ESTÁTICA

1.-PRESENTACION Y OBJETIVOS

L a aportación de Codd al estudio de las bases de datos sentó las bases para el estudio de
un modelo novedoso hasta entonces para las BD, los artículos de Codd proponen el
modelo donde los datos se estructuran lógicamente en relaciones (tablas) independientes
del modo de almacenamiento. En esos años los datos eran estructurados en modelos
jerárquicos o de red y existían productos comerciales con este modelo de datos; la
propuesta de Codd resultaba novedosa y muy bien fundamentada matemáticamente y con
la ventaja de proporcionar un modelo independiente de la representación de datos en la
máquina.
Los objetivos planteados por el modelo de Codd se pueden resumir en los siguientes
puntos:
Independencia física: los datos deben ser almacenados sin influir en su manipulación
lógica, por lo que se podrá cambiar de almacenamiento de los datos sin afectar los
programas de acceso a los mismos.
Independencia lógica: la modificación de los datos no debe influir en el código de
programas o en los usuarios que tienen acceso a la información
Flexibilidad: los usuarios podrán tener acceso ala información que requieren de una forma
mas adecuada.
Uniformidad: las estructuras de los datos son uniformes lo que facilita la concepción lógica
y conceptual de los datos.
Sencillez: los usuarios finales deben tener acceso a consultas de una forma sencilla y fácil
de comprender.
A pesar de que estos puntos son varios Codd le da énfasis a la independencia física de los
datos para que el usuario tenga BD no alterables por posibles cambios en la
representación física de ellos.

Para lograr este objetivo Codd propone un modelo relacional donde la información esta
estructurada en tablas bidimensionales, la información se guarda en forma de filas (tuplas)
y varía en el tiempo.

En la parte dinámica Codd propone operadores que se pueden aplicar a las relaciones,
algunos de estos operadores son clásicos de la teoría de conjuntos y algunos más son
especiales para el modelo relacional, el conjunto de operadores relacionales dan origen al
álgebra relacional y al cálculo relacional.

Se propone también una teoría de normalización para evitar dependencias entre atributos
que originan anomalías en actualizaciones de la BD.

Estos artículos se publican a finales de los años sesentas y principios de los años setentas,
el modelo fue aceptado pero también cuestionado principalmente por el bajo desempeño
de los productos que usaban este modelo, claro esta que los primeros productos estaban
lejos de ser eficientes por que la tecnología computacional de estos años no lo permitía a
estos prototipos se les llama prerrelaciónales los primeros prototipos fueron:
Query By Example(QBE): Lenguaje relacional de acceso a ficheros VSAM, por lo tanto no
era un autentico SGBDR
Oracle: Primer SGBD relacional comercial, soporta el SQL como lenguaje de consultas.
Ingres : Basado en el prototipo originado en Berkeley y usa el Quel como lenguaje de
consultas.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
La historia de los productos relacionales se puede clasificar en tres etapas:
Prerelacional: En esta etapa los SGBDR se soportan en los modelos Codasyl y Jerárquico.
Relacional: en esta etapa los SGBDR son independientes y van desplazando poco a poco
a los modelos jerárquicos y red.
Postrelacional: Aparecen otros modelos de datos (orientados a objetos) y se propone
extender los SGBDR hacia el soporte de este nuevo modelo. Aunque la investigación de
las BD orientadas a objetos es atractiva en el mercado no se observa todavía que se
desplace a los SGBDR.

El sustento científico de este modelo se ha realizado a partir de los manifiestos


relacionales, se han presentado tres manifiestos:
El primero realizado por Codd en 1970; El segundo artículo de Cood presenta la segunda
versión del modelo relacional donde documenta el tratamiento de los valores nulos.
En 1990 STONEBRAKER publica el manifiesto de los sistemas de Base de datos de
Tercera generación donde plantea la necesidad de extender el modelo relacional hacia el
soporte de las BD orientadas a objetos
En 1995, Darwen y Date publican el tercer manifiesto donde proponen reinterpretar el
modleo relacional a una perspectiva de objetos para incorporar nuevas características al
modelo pero respetando las bases matemáticas que lo sustentan.

2.- ESTRUCTURA DEL MODLEO RELACIONAL

Se ha explicado que el modelo se basa en la relación, que es el elemento básico, en ella


podemos encontrar columnas llamadas atributos y los datos organizados en filas llamadas
tuplas; cada atributo teiene un nombre y un dominio (conjunto de valores que puede tener
dicho atributo), la tabla tiene un grado (número de atributos); y la cardinalidad (numero de
tuplas). Aunque la relación tiene forma de tabla tiene otras características que la
diferencian por ejemplo: no se admiten filas duplicadas, las filas y columnas no están
ordenadas y es plana es decir no tiene atributos multivaluados.

Dominio y atributo.

Un dominio en un conjunto de valores homogéneos y atómicos, es decir son del mismo


tipo y no se pueden dividir, si se dividieran estos valores se perdería su significado. Todo
dominio tiene un nombre, un tipo de dato y un unidad; pueden definirse por intención o por
extensión. Cada atributo de la relación toma sus valores de un dominio, (dominio
subyacente) y varios atributos pueden tener el mismo dominio subyacente. Se acostumbre
dar el mismo nombre al atributo y al dominio subyacente, cuando dos atributos tienen el
mismo dominio subyacente, se debe dar nombre distinto a los atributos, ya que no debe
existir dos atributos con el mismo nombre.

Las relaciones pueden tener un dominio simple para cada atributo o pueden existir
dominios compuestos, un dominio compuesto se define como una combinación de
dominios simples por ejemplo una fecha esta compuesta por tres valores simples el día, el
mes y el año unidos estos tres valores forman un solo dominio que es una fecha.

En la actualidad los productos relacionales no soportan los dominios compuestos.

Definición formal de relación


Matemáticamente una relación esta definida como un subconjunto del producto cartesiano
de los n dominios no necesariamente distintos, donde cada elemento de la relación (tupla)
es una serie de n valores ordenados.

Una relación tiene un nombre y pueden existir relaciones que no requieran de dicho
nombre (temporales), una relación tiene una cabecera o conjunto de n pares de atributo-
ING. IRENE AGUILAR JU REZ
___________________________________________________________
dominio subyacente donde n es el grado de la relación, al conjunto de atributos se le llama
el contexto de la relación.

La relación tiene un cuerpo de relación que es el conjunto de las tuplas donde cada tupla
es un conjunto de n pares ordenados atributo-valor, el número de las tuplas es el valor de
la cardinalidad.

El esquema de la relación esta formado por el nombre si lo posee y la cabecera de la


misma.
Es estado de la relación al que se le denomina simplemente relación esta formada por el
esquema y el cuerpo de la relación <esquema, cuerpo>.

Una base de datos relacional es una base de datos percibida como un conjunto de
relaciones que varían en el tiempo es decir una colección de variables de relación.

Clases de relación.
Las relaciones pueden ser de dos tipos nominadas (con nombre) y no nominadas (sin
nombre).
Las nominadas pueden ser:
Persistentes: La definición de la relación permanece en la base de datos y se borra por una
acción explícita del usuario.
Relaciones base: son relaciones que existen por sí mismas
Vistas: son relaciones derivadas que se definen a partir de otras, de puede decir que son
relaciones virtuales como ventanas sobre otras relaciones
Instantáneas: son relaciones derivadas pero tiene datos propios almacenados se les llama
también vistas materializadas, son solo de lectura y no pueden ser actualizadas por el
usuario solo pueden ser refrescadas por el sistema.
Temporales: estas relaciones desaparece de la BD sin necesidad de una acción de borrado
especifica por ejemplo al finalizar una sesión o transacción las relaciones no nominadas
son siempre temporales. pueden ser resultados de consultas o resultados intermedios.

Claves

Las claves existentes en las relaciones pueden ser las siguientes:


Candidata: son claves formadas por un conjunto de atributos que identifican univoca y
minimamente cada tupla de la relación; una relación puede tener mas de una clave
candidata de las que se debe distinguir las claves primaria y claves alternativas.
Clave primaria: es aquella clave candidata que identificara las tuplas de la relación
Claves alternativas: son las claves candidatas que no fueron seleccionadas como clave
primaria.
Clave ajena: es un conjunto no vació de atributos cuyos valores han de coincidir con los
valores de la clave candidata.

3.- RESTRICCIONES

Las restricciones son estructuras o ocurrencias no permitidas, los datos almacenados en la


BD han de adaptarse a lasa estructuras impuestas por el modelo por ejemplo no debe
haber tuplas duplicadas.
Restricciones inherentes,
Estas restricciones son impuestas por el propio modelo y son las que presentan problemas
para representar un mundo real, las diferencias entre un tabla y un relación son un ejemplo
de las restricciones inherentes, estas restricciones son las siguientes:
No debe haber tuplas repetidas por lo que se obliga a una llave primaria
El orden de los atributos no es significativo
El orden de las tuplas no es significativo.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Cada atributo solo puede tener un único valor del dominio, no admitiéndose grupos
repetitivos, si se cumple con estas condiciones se dice que la relación esta en su primera
forma normal.

Restricciones semánticas.
En el modelo relacional las restricciones impuestas por el usuario son aquellas
que permiten representar el mundo real y reciben el nombre de restricciones
semánticas, aunque estas restricciones permiten la representación de la realidad;
la mayoría de las veces no son suficientes para modelar el discurso que se
pretende. Las principales restricciones semánticas del modelo son las siguientes:

Clave primaria: la llave primaria permite identificar a los datos de una tupla por esta razón
no se permitirán valores nulos en este atributo, esta obligatoriedad de la llave primaria es
inherente al modelo pero los productos permiten al usuario indicar que atributos forman
parte de la clave primaria, estos atributos son:
Unicidad: esta característica indica que no debe existir un conjunto de atributos repetidos,
esta restricción permite definir claves alternativas.
Obligatoriedad: los valores de este atributo no debe ser nulo
Integridad referencial: esto nos indica que si una relación R2 tiene un descriptor de una
relación R1, todo valor de dicho descriptor debe concordar con un valor de la clave
candidata, el descriptor es entonces una clave ajena de la R2. hay que observar que todo
atributo de una clave primaria compuesta de una R2, si no esta definido sobre un dominio
compuesto, debe ser clave ajena de R2 referenciando a una relación R1.

Además de definir las claves ajenas se debe describir las consecuencias


que pueden tener ciertas operaciones como el borrado de tuplas, según el
estándar SQL92, las opciones pueden ser:

Operación restringida: El borrado de tuplas de una relación que contiene la clave


referenciada solo se permite si no existen tuplas con este valor en la relación que contiene
la clave ajena.
Operación con transmisión en cascada: El borrado de una tupla que contiene la clave
referenciada o la modificación de dicha clave lleva consigo el borrado o modificación en
cascada de las tuplas de la relación que contiene la clave ajena.
Operación compuesta a nulos: La modificación de una tupla referenciada lleva consigo
poner a nulos los valores de las claves ajenas de la relación que referencia.
Operación con puesta a valores por defecto: El borrado de las tuplas de la relación que
contiene la clave candidata referenciada lleva consigo por el valor por defecto a la clave
ajena de la relación que referencia.

Además de estas restricciones también existe la posibilidad de rechazo de ciertas


operaciones, el usuario determina esas condiciones de rechazo, en el modelo relacional se
distinguen dos restricciones de rechazo distintas la verificación que comprueba en toda
operación si la operación de rechazo es cierta o falsa de ser falso se rechaza la operación,
la restricción de operación se limita a un solo registro; la aserción funciona igual a la
verificación pero con la diferencia de que puede afectar a un conjunto de varios elementos.

Cuando el usuario puede especificar libremente la respuesta ante una determinada


condición se efectúa un disparador; las restricciones antes citadas eran de tipo declarativa
y los disparadores son de procedimentales, por lo que es preciso que el usuario
especifique lo que se ha de hacer en caso de aplicarse la condición.

4.- ESQUEMA DE RELACIÓN Y ESQUEMA RELACIONAL

En un esquema de relación debemos especificar los atributos y dominios sobre los que se
define una relación así como las restricciones de integridad que se deben cumplir para
ING. IRENE AGUILAR JU REZ
___________________________________________________________
que la relación constituya una ocurrencia válida del esquema. Siguiendo la definición de
Date un esquema relacional junto con una ocurrencia válida de dicho esquema, es decir
una ocurrencia que cumple todas las restricciones descritas en el esquema.

5.- EL MODELO RELACIONAL Y LA ARQUITECTURA ANSI

Analizando al modelo relacional basándonos en la estructura ANSI tenemos los tres


niveles de un SGBD; en el nivel conceptual se encuentran los dominios, las restricciones,
las relaciones base o tablas reales con una representación directa en el almacenamiento
interno.

En el nivel externo están las vistas, las tablas virtuales de las que se almacena solo su
definición sin representación directa de almacenamiento.

En el nivel interno el modelo relacional no especifica nada por tratarse de un modelo


lógico.

El modelo relacional teórico se adapta bastante bien a la arquitectura ANSI con las
siguientes excepciones:
Al usuario se le permite ver si tiene los correspondientes privilegios tanto las relaciones
base como las vistas, mientras en la arquitectura ANSI al usuario solo se le permite ver el
esquema externo o vistas.
En el modelo relacional no todas las vistas son actualizables.

6.- LOS VALORES NULOS EN EL MODLEO RELACIONAL


Los valores nulos son un problema de todo modelo de datos pero es en modelo relacional
en el que se han estudiado más a profundidad.

Codd propone no llamarlo valor nulo y sustituir el termino por el de marca, según Codd
los SGBDR deben estudiar los valores nulos por la necesidad que existe de crear nuevas
tuplas con información a veces desconocida en esos momentos; por la necesidad de crear
un nuevo atributo a una relación existente que en el momento de añadirse no tendría
ningún valor para las tuplas de la relacion y por que existe la necesidad de crear nuevas
tuplas con atributos que pueden ser no aplicables para algunas tuplas.

En el tratamiento de los valores nulos exige definir como se trataran las operaciones de
comparación, aritméticas, algebraicas y de funciones de agregación.

Codd propone una lógica trivaluada donde incorpora un nuevo valor el cierto, falso, y
quizás. Date propone introducir nuevos operadores al modelo, estos operadores son es
nulo, y si nulo.

En las operaciones aritméticas con valores nulos se considera nulo el resultado de sumar,
restar multiplicar y dividir cuando alguno de los valores toma el valor nulo. En el tema de la
evaluación de la igualdad y desigualdad de dos tuplas se consideraran duplicados si
atributo a atributo ambos son iguales y no nulos o ambos nulos. Las operaciones
estadísticas son importantes, donde los nulos se pueden considerar cero o no cero.

Las desventajas de la logica trivaluada son varias ya que los productos comerciales no
siempre dan estabilidad al tratamiento de los valores nulos Date propone evitar valores
nulos y sustituirlos por valores por defecto, Cood debate esta idea y se establece entre
estos dos autores fuertes discrepancias al respecto mientras Codd llega a proponer un
logica cuatrivaluada Date insiste en lo complicado que se vuelve el modelo al implementar
estas lógicas, además opina que implementar esta solución se requiere un numero
elevado de variables.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
En general en 1993 el DBSSG identifica mas de 29 tipos de valores nulos por lo que no son
de la opinión de implementar la lógica cuatrivaluada, proponen no ir más allá de la lógica
trivaluada.

En la actualidad el tema de la incertidumbre no esta resulto y se sigue profundizando en el


tema se han identificado por lo menos los siguientes tipos de incertidumbre:
Incertidumbre: cuando no se puede precisar el dato
Imprecisión: la información no esta especifica
Vaguedad: donde los datos no corresponden a cierto intervalo de valores
Inconsistencia: cuando los valores tiene dos o mas valores que no pueden ser ciertas
Ambigüedad: establecer magnitudes sin unidad de medida.

7.- Las 12 reglas de Codd

En los estudios de Codd el menciona 12 requisitos para que una base de datos sea
relacional, de no cumplirse con estas 12 reglas se esta ante una modelo no completamente
relacional y se deberá trabajar para lograr estos requisitos para poder obtener los
beneficios del modelo.

Representación del modelo: la BD debe representarse en un nivel lógico


Acceso garantizado: todo dato debe ser accesado por un nombre de tabla, nombre
de atributo y clave primaria.
Tratamiento sistemático del valor nulo: La BD debe manejar los valores nulos
sistemáticamente
Catalogo activo en línea basado en el modelo relacional: la información de
la meta información debe ser igual a los datos representados y deben ser accesado por
medio del mismo lenguaje relacional.
Sub lenguaje de datos complejos: debe haber un lenguje que permita trabajar
vistas relaciones temporales, y persistentes
Actualización de vistas: Toda vista debe ser actualizable por el sistema
Inserción, modificación, y eliminación de lato nivel: todas operaciones
deben operar sobre conjuntos de filas.
Independencia física de los datos: el acceso a los datos debe mantenerse incluso
cuando cambien los métodos de acceso o la forma de almacenamiento.
Independencia lógica de los datos: los programas de aplicación no deben verse
afectados por los cambios realizados en las tablas que estén permitidas y que preserven la
información.
Independencia de integridad: las reglas de integridad de una base de datos deben
ser definibles por medio del sub lenguaje de datos relacional y habrán de almacenarse en
el catalogo de la BD.
Independencia de la distribución: debe haber un lenguaje de datos capaz de que
pueda soportar bases de datos distribuidas sin alterar los programas de aplicación cuando
se distribuyan los datos por primera vez o posteriormente.
Regla de la no subversión: Si un SGBD soporta un lenguaje de bajo nivel que
permita el acceso fila a fila no debe usarse para saltarse las reglas de integridad.

Hasta la fecha los SGBD cumplen máximo 8 de las 12 reglas propuestas por Codd, según
Codd hasta que se cumplan las 12 reglas se podrá explotar las ventajas de este modelo.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

De Miguel, A. Piattini, M; FUNDAMENTOS Y MODELOS DE BASES DE DATOS (2º Edición) Ra-Ma ,1999.

EL MODELO RELACIONAL: DINAMICA

1. INTRODUCCION
El modelo relacional esta formado por dos elementos estructurales el elemento estático
que define la estructura y restricciones de la base de datos y el elemento dinámico que
permite la transformación de la base de datos; para lograr el cambio de estado de la BD se
usan una serie de operadores que permiten realizar los cambios básicos la inserción, la
modificación, el borrado de tuplas y la consulta de información.

Es importante mencionar que todo cambio en la BD debe satisfacer las restricciones de


integridad estáticas y las restricciones dinámicas.

La dinámica de la BD se realiza con los lenguajes de manipulación de datos que tienen


definidos operadores especializados en el manejo de datos; los lenguajes de manipulación
de BD no son lenguajes de navegación sino de especificación y se clasifican en dos
grupos:
Los algebraicos : que procesan los cambios de estado a través de operadores relacionales
y el resultado que se genera es una relación, estos lenguajes se basan en el algebra
relacional
Los predicativos: estos lenguajes procesan los cambios de estado mediante predicados
que definen el estado objetivo sin indicar los operadores que se requieren para alcanzar
dicha meta.
2.- ALGEBRA RELACIONAL

El algebra relacional es propuesta por Codd desde 1972, esta basada en los operadores
básicos de conjuntos y algunos agregados especialmente relacionales, el algebra
relacional al igual que el calculo relacional cumple con las reglas de la lógica de predicados
de primer orden.

Los operadores son siempre relacionales y se aplican a una o mas relaciones generando
una relación como resultado. Los operadores definidos por Codd son 8 y se pueden
clasificar de la siguiente manera:
Tradicionales de conjuntos: unión, intersección, diferencia, y producto cartesiano.
Relacionales: restricción, proyección, combinación y división.
Operadores primitivos: operadores que no pueden definirse en función de otros.
Operadores derivados: son aquellos que pueden definirse en función de los operadores
primitivos.
Unarios: si afectan a una sola relación
Binarios: si se requieren dos relaciones para realizar la operación.

Antes de definir cada uno de los operadores es conveniente mencionar la necesidad de


una operación importante que almacene la información de alguna operación en una
relación nueva, esta operación es la asignación; la asignación puede usarse para
renombrar relaciones o para dar nombre a resultados intermedios de consultas complejas
que se desea dividir.

La operación del renombrado consiste en asignar nuevos nombres a los atributos de una
relación obtenida como resultado de una operación o al renombrado de atributos de tablas
ya existentes sin necesitar de crear tablas nuevas.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
OPERADORES PRIMITIVOS

Los operadores primitivos no pueden definirse en función de otros operadores y se


clasifican en operadores unarios que son aquellos operadores que afectan a una sola
relación.

Los operadores unarios son los siguientes:

SELECCIÓN o RESTRICCIÓN: Extrae los registros que cumplen un condición


especificada

σ
σ
Extrae los atributos de un relación dada.

π
π
A partir de dos relaciones dadas obtiene todas las posibles
combinaciones de tuplas.
Χ ← Χ

Construye una relación formada por todas las tuplas que aparecen en
cualquiera de las dos relaciones origen

∪ ← ∪

! Construye una relación formada por todas las tuplas de la primera


relación que no aparezca en la segunda de las dos relaciones.

 ← "
PRODUCTO CARTESIANO: El producto cartesiano generalizado de dos relaciones, la
extensión se forma concatenando cada tupla de la primera relación con cada una de las
tuplas de la segunda relación.
Las relaciones deben ser compatibles en sus esquemas.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

A partir de dos relaciones especificadas,


construye una relación que contiene todas las posibles combinaciones de tuplas, una de
cada una de las dos relaciones, tales que las dos tuplas participantes en una combinación
dada satisfaga alguna condición dada.

! " #$ !#%$ $ & !' ! ' # $


( # ' #!!#%$ ) ! " #$ !#%$ $ ' $ & !'
! ' # $ $ ' #!!#%$ & #( ) & ) !!# $

DIVISION: Toma dos relaciones, una binaria y una unaria y construye una relación formada
por todos los valores de un atributo con todos los valores en la relación.
← ÷

: Construye una relación formada por aquellas tuplas que aparezcan


en las dos relaciones especificadas.

∩ ← ∩

OPERADORES ADICIONALES

# : Construye una relación para aplicar funciones de agregación(


frecuencia, suma,media,etc) se agrupan tuplas en subconjuntos que posean valores
comunes de ciertos atributos
←$#%&'( )*$

consiste en añadir a la relación de origen todas las tuplas


que se deducen, sucesivamente por transitividad hasta la saturación.

En el producto cartesiano no se ve afectado por los valores nulos


La restricción solo devuelve aquellas tuplas cuya condición como cierta eliminando los
valores nulos.
La proyección debe eliminar tuplas duplicadas teniendo en cuanta los nulos.
Los operadores relacionales que tratan los valores nulos están el que
impide que desaparezcan tuplas cuando aplica combinación interna

El operadores de combinación externa izquierda o , guarda todas las


tuplas de la tabla que esta a la izquierda.
Los productos comerciales manejan a un solo tiempo join derecho o izquierdo
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Para manejar la lógica trivaluada algunos lenguajes tienen el operador maybe que evalúa
los valores de es posible o quizás, este operador se puede evaluar con cualquier otro
operador que trabaje con relaciones con valores nulos.

El calculo relacional también fue propuesto por Codd en 1971 la diferencia fundamental
entre el lenguaje algebraico y el lenguaje predicativo es que en el primero hay que
especificar que operadores se tienen que aplicar a las relaciones para obtener el resultado,
mientras que en el calculo relacional solo se especifica el objetivo a cumplir u el usuario no
debe especificar las operaciones para alcanzar dicha meta.

Los lenguajes basados en Calculo relacional se clasifican en


Orientados a tuplas : en los que una variable se interpreta como si representase las tuplas
de la relación
Orientado a dominios: En los que una variable se interpreta como si representase los
valores del dominio.

+,-',& %.,/-0&1/, &%0.12/3& / 2'(,/4

Este cálculo tiene las siguientes características


Las variables se asocian a tuplas
Las constantes se asocian a los valores de los dominios subyacentes a los atributos.
Los operadores son los permitidos de comparación, los lógicos 1&2 /13 &% así
como el existencial y el universal.

El formato para una consulta en cálculo relacional es la siguiente:

5 .6010-071 3. ,/4 8/%0/),.4 3. 2'(,/9


(.%/3&% &):.208& (%.30-/3&

En el Cálculo orientado a tuplas el operador determinara la acción que hay que realizar con
los datos seleccionados. En cálculo relacional puro se suele omitir el operador al tratarse
siempre de una consulta.
El objetivo específico que atributos de que relaciones se debe recuperar un ejemplo de
lenguaje basado en cálculo relacional es el lenguaje ALPHA que no fue implementado pero
sirvió de base a lenguajes como INGRES
Los operadores de este lenguaje son:
GET: recupera la relación definida
PUT: inserta tuplas en un relación
DELETE: borra tuplas de una relación
DROP: borra, además de las tuplas la definición de la estructura
UPDATE: modifica tuplas de una relación
HOLD: retiene una relación o una tupla para actualizarla
RELEASE: libera una relación o una tupla que había sido retenida con HOLD

El cálculo relacional orientado a dominios esta basado en el cálculo de predicados de


primer orden, la diferencia es que existen las variables de dominio en lugar de las variables
de tuplas del caso anterior.
Estos lenguajes se caracterizan por el uso de editores que ayuda a la formulación de las
consultas, con este editor el usuario puede invocar esqueletos de relación los cuales tienen
varias operaciones que puede efectuar sobre el dominio o dominios seleccionados.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
" ;

Los SGBDR ofrecen lenguajes poco procedurales ya que el usuario indica los datos quiere
obtener sin indicar el procedimiento para obtener el objetivo, esta es un ventaja para el
usuario pero es mas difícil para el sistema controlar la navegación automática entre
relaciones, índices atributos y tuplas.

Para ofrecer consultas eficientes los SGBD tienen un programa llamado optimizador de
consultas que debería tener un nombre como planificador de consultas pues lo que hace es
definir las operaciones necesarias para obtener los resultados. Las operaciones
relacionales son optimizables por ser de alto nivel.
En la actualidad resulta imprescindible para los sistemas relacionales tener optimizador
que obtenga las mejores estrategias de solución para obtener los datos solicitados.

Existen lenguajes precompilados y compilados los precompilados permiten no realizar


cambios en caso de modificar la estructura de la BD.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

LENGUAJE SQL

1.- ORGANISMOS Y GRUPOS QUE SE OCUPAN DE LA


ESTANDARIZACION DE LOS LENGUAJES DE BASES DE DATOS

Desde la aparición del SQL en 1970 por la definición de Cood, el uso e interés de dicho
lenguaje se incremento a tal grado que el SQL se ha impuesto como un lenguaje estándar
para el acceso y administración de BDR. Debido a la importancia que tienen las BD y sus
lenguajes de acceso se implementaron comités que regularan y dictaran normas de
estandarización para el uso y desarrollo del SQL.
La JTC1 fue establecida por la ISO e IEC para la normalización de las Tecnologías
Informáticas, dentro de la JTC1 se estableció el subcomité WG3 exclusivamente para las
Bases de Datos.

En los E.U. además de la H2 de la ANSI también esta el NIST que se encargan de la


estandarización del SQL, también existe el SQL Access Group, organización formada por
los fabricantes de productos que pretenden trabajar conjuntamente bajo el modelo
relacional.

En Europa existe el proyecto EWOS creado en 1991 con el fin de organizar el trabajo
de grupo en sistemas abiertos. Existen otras asociaciones como la X/OPEN, la OSF que
han adaptado extensiones del lenguaje.

2.- EVOLUCION DEL LENGUAJE SQL


El lenguaje surge en los años 70’s como prototipo de Codd para la IBM bajo el nombre
de SEQUEL .

En 1976/1977surge la segunda versión llamada SEQUEL/2

En 1979 surge el primer SGBDR basado en SQL, el Oracle y desde entonces otros
manejadores de BD lo usan como lenguaje de datos por ejemplo, Informix, Sybase, DB2,
DG/SQL, etc, con base en esta gran aceptación se impone entre sus competidores.

En 1982 el X3H2 presenta el primer estándar basado en el SQL de IBM.

En 1986 se establece la norma ISO SQL/ANSI.

En 1989 se le añade integridad referencial, sin proporcional cambios de cascada.

En 1990 IBM establece el estándar DRDA.

En 1991 el SAG define estándares de comunicación para intercambio de información sobre


una red OSI.

En 1992 se aprueba el SQL-92 en el cual se aumenta la capacidad semántica, se añaden


operadores y se mejora el tratamiento de errores.

En 1995 se complementa el SQL-92

En 2000 se habla de extensiones al SQL-92 para soportar el enfoque OO y las nuevas BD


multimedia, se habla de una versión SQL3 o SQL4.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
3.- CONCEPTOS SQL

Para el trabajo con SQL se establece el concepto de catalogo que es un conjunto de


esquemas que tienen mecanismos para acceder a diversos elementos.

El entorno SQL puede tener varios catálogos y el catalogo puede tener uno o varios
esquemas, se tiene también el concepto de cluster (conjunto de catálogos) a los que se
puede acceder en un momento dado.

4.- SENTENCIAS DE DEFINICIÓN

Un esquema relacional en SQL-2 existen los dominios, aserciones, tablas


Esquemas: podemos crear esquemas con la siguiente instrucción:
CREATE SCHEMA <NOMBRE DE ESQUEMA>
AUTHORIZATION <ID DE AUTORIZACION>

Dominios: para crear dominios usaremos la sentencia


CRATE DOMAIN <NOMBRE DE DOMINIO>
CONSTRAINT : <NOMBRE DE RESTRICCION>
CHECK <VALORES DE VALIDACION> esto permite los valores de dominio
validos para un campo o columna.
Las restricciones pueden ser diferidas o inmediatas, se asignan con la sentencia
INITIALLY DEFERRED, INITIALLY INMEDIATE la función de estas restricciones
es verificar al finalizar cada sentencia (inmediata) o al finalizar la transacción (diferida).

Tablas: para generar tablas se usaran las sentencias


CREATE TABLE <NOMBRE DE TABLA>
( NOMBRE DE CAMPO TIPO DE DATO (TAMAÑO) RESTRICCION, las
restricciones pueden ser NOT NULL, UNIQUE, se señala el campo llave
con la sentencia de integridad
PRIMARY KEY (<NOMBRE DE CAMPO LLAVE>)

Reglas de integridad y restricciones: SQL-92 no cumple la restricción inherente al modelo


relacional ya que permite dos filas iguales, por razones de compatibilidad con versiones
anteriores.

SQL-92 soporta la regla de integridad de entidad al permitir la restricción NOT NULL


Permite definir claves ajenas haciendo referencia a otras tablas a nivel de columnas.

La sentencia MATCH precisa si se admiten valores nulos en la clave ajena cuando ya


existan otros valores no nulos.

En caso de borrado o modificación SQL-92 admite 4 posibilidades


NO ACTION
CASCADE
SET NULL
SET DEFAULT

Las restricciones que afectan varias tablas son las aserciones y se pueden definir de la
siguiente forma:
CREATE ASSERTION <NOMBRE DE ASERCION>
CHECK (<CONSULTA SQL QUE PERMITE RELACIONAR VARIAS
TABLAS PARA VERIFICAR INTEGRIDAD>)
ING. IRENE AGUILAR JU REZ
___________________________________________________________

Actualización de esquemas: la actualización de esquemas se lleva a cabo con la sentencia


ALTER que permite modificaciones de dominios o de tablas y la sentencia DROP para
borrar esquemas, tablas, dominios o vsitas ejemplo:
ALTER TABLE libros
ADD COLUMN autores VARCHAR2(50);

ALTER DOMAIN tipo_doc


DROP CONSTRAINT articulos_libros

Vistas: las vistas son una expresión de consulta sobre otras vistas o tablas por lo que para
definirlas se requiere la siguiente sintaxis:
CREATE VIEW libro
AS SELECT *
FROM documento
WHERE tipo = ‘L’;
La cláusula WITH CHECK OPTION permite controlar que solo se admiten operaciones
de inserción y modificación que no atentan contra la expresión de consulta que define la
vista. Además es importante señalar que solo son actualizables las vistas que proceden de
una única tabla en cuya definición no aparezcan las sentencias GROUP BY o HAVING.

5.- SENTENCIAS DE MANIPULACIÓN

Existen tres maneras de manipular los datos en SQL


Interactivamente: invocando directamente las sentencias SQL
Por medio de SQL embebido: con este modo se insertan sentencias SQL en un lenguaje
anfitrión
Por módulos: agrupando sentencias SQL en módulos, que son llamados desde lenguajes
anfitriones ANSI llama a este método llamadas explícitas a procedimientos.

ELEMENTOS BÁSICOS

Sentencia SELECT: esta sentencia es la sentencia para realizar consultas en SQL la


sintaxis permite combinar referencias a columnas de tablas distintas, y diversos operadores
es la siguiente:

SELECT DISTINCT / ALL <CAMPOS A MOSTRAR>


FROM <REFERENCIAS A TABLAS>
Las consultas que no son combinaciones de tablas incluye operaciones como la UNION, la
INTERSECT y la diferencia(EXCEPT) para realizar estas operaciones es necesario que
las tablas sean compatibles en dominio en caso de que algunas columnas de las tablas
coincidan en dominio se puede aplicar una CORRESPONDING ejemplo:

SELECT *
FROM proyecto
UNION CORRESPONDING (titulo, idioma, año)
SELECT *
FROM documento;

COMBINACIÓN DE TABLAS
El lenguaje SQL permite recuperar información en una combinación de tablas para obtener
el producto cartesiano se usa la sentencia CROSS JOIN ejemplo:
ING. IRENE AGUILAR JU REZ
___________________________________________________________
SELECT *
FROM documentos CROSS JOIN editorial;

Una combinación natural se puede obtener con la sentencia NATURAL JOIN ejemplo:
SELECT *
FROM documento NATURAL JOIN editorial
ON documento.nombre_ed=editorial.nombre;

Si las dos columnas tienen el mismo nombre solo se requiere la siguiente sentencia:

SELECT *
FROM documento NATURAL JOIN editorial;

Las combinaciones externas se realizan con las siguientes:

Para combinación externa izquierda


SELECT *
FROM documento LEFT OUTER JOIN editorial;
ON documento.nombre_ed=editorial.nombre;

Para combinación externa completa:


SELECT *
FROM documento FULL OUTER JOIN editorial;
ON documento.nombre_ed=editorial.nombre;

CLAUSULA WHERE

La cláusula WHERE sirve para filtrar el resultado de una consulta, ya que en el resultado
no apareceran las tuplas que no cumplan con las condiciones de búsqueda definidas en la
sentencia WHERE.
Para realizar los filtros se permiten predicados de comparación similares a los
operadores de cualquier lenguaje de programación: igual que, mayor que, menor que,
menor o igual, mayor o igual y distinto.
Ejemplo:

SELECT titulo, idioma, nombre_ed


FROM documento
WHERE año>= 1995;

Otro predicado importante en la sentencia WHERE es la sentencia BETWEEN, esta


sentencia compara y encuentra valores dentro de un intervalo (incluyendo un extremo)
ejemplo:

SELECT titulo, idioma, nombre_ed


FROM documento
WHERE año BETWEEN 1976 AND 1993;

El predicado IN compara un resultado en una lista de valores o con una sub consulta por
ejemplo:

SELECT titulo, idioma, nombre_ed


FROM documento
WHERE nombre_ed IN
(SELECT nombre
FROM editorial
WHERE ciudad = ‘Madrid’);
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Con este predicado se pueden anidar sentencias SELECT

El predicado like permite utilizar comodines a la hora de consultar la base de datos para lo
que se ocupa el carácter ‘%’ para indicar cero o mas caracteres en un patrón de búsqueda
y el carácter ‘_’ para indicar exactamente un carácter ejemplo:

SELECT titulo, idioma, nombre_ed


FROM documento
WHERE titulo LIKE ‘%DB%’;

El predicado NULL sirve para determinar si una columna tiene valores nulos, por ejemplo si
se quiere encontrar los titulos que no tengan isbn la consulta seria:

SELECT titulo, idioma, isbn, nombre_ed


FROM documento
WHERE isbn IS NULL;

El predicado EXISTS devuelve un valor boleano verdadero si la cardinalidad de una


consulta es mayor que cero y falso en caso contrario.

El predicado UNIQUE sirve para determinar si existen filas duplicadas en la


subconsulta que lleva asociado.

El predicado OVERLAPS se emplea para contrastar si dos intervalos de tiempo se solapan

El predicado de comparación cuantificado permite aplicar cuantificadores existenciales y


universales en las consultas por medio de la partícula SOME, ANY y ALL

El predicado MATCH especifica algunos tipos de correspondencia:


Si se especifica correspondencia total FULL, el predicado es cierto si todo valor del valor de
la fila es nulo
Ningún valor del valor de la fila es nulo y todo valor del valor de la fila es igual al
correspondiente valor en alguna fila de la sub consulta, en caso contrario es falso.

Si se especifica correspondencia PARTIAL el predicado es cierto si todo valor del valor de


fila es nulo o si todo valor del valor de la fila no nulo es igual al correspondiente valor en
alguna fila de la subconsulta, en caso contarrio es falso.

CLAUSULA GROUP BY

Esta cláusula permite particionar una tabla en grupos, de acuerdo a los valores de ciertas
columnas, se suele usar con sentencias de agregación por ejemplo COUNT, MAX, MIN,
SUM, AVG.
Ejemplo:

SELECT titulo, idioma, MIN (año)


FROM documento
GROUP BY tipo;

CLAUSULA HAVING

Esta cláusula va asociada a la anterior y juega un papel análogo a la cláusula WHERE pero
para tablas agrupadas.
Ejemplo:

SELECT cuidad
FROM editorial
ING. IRENE AGUILAR JU REZ
___________________________________________________________
GROUP BY cuidad
HAVING COUNT (*)>=2;

SENTENCIA INSERT

La sentencia INSERT permite la inserción de datos, la sintaxis es la siguiente:

INSERT INTO documento


VALUES ( ‘L’, 030,’Una vision actual de CASE’, ‘E’, ‘RAMA’,1995,84-9876-098);

En esta sintaxis es recomendable nombrar las columnas para garantizar la correcta


asignación de datos.

SENTENCIA UPDATE
La modificación de datos se lleva a cabo mediante la sentencia UPDATE la sintaxis es la
siguiente:

UPDATE documento
SET año = año+1;
6.- SENTENCIAS DE CONTROL, SEGURIDAD EN SQL

CONFIDENCIALIDAD

En la actualidad SQL solo soporta control de acceso discrecional aunque existen


propuestas para incluir control de acceso obligatorio
La sentencia de privilegios pueden ser para consultar, o actualizar (borrar, insertar,
modificar) tablas asi como para referenciarlas un ejemplo de esta sentencia es la siguiente:

GRANT DELETE
ON empleados
TO Juan;

En lugar de conceder privilegios individualmente se puede utilizar PUBLIC, para revocar


provilegios se usa la palabra REVOKE ejemplo:

REVOKE INSERT, UPDATE (salario)


ON empleado FROM ana, Pedro CASCADE;

Es importante recordar que los privilegios de un usuario se pueden conservar a través de


otro usuario que seda los mismos privilegios al segundo.

DISPONIBILIDAD

SQL soporta transacciones clásicas como COMMIT y ROLLBACK las transacciones se


inician al empezar los programas o bien al iniciar sentencias de manipulación o definición

INTEGRIDAD

El SQL-92 representa un gran avance en el manejo de integridad, este manejo se logra con
las instrucciones
CHECK
CREATE DOMAIN
CREATE ASSERTION

OPERACIONAL
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El estándar de SQL no proporciona ninguna sentencia para bloqueo de datos si no que
deja esto a los implementadores, en la versión de SQL-92 se manejan 4 tipos de
aislamiento
Lectura sin grabar
Lectura grabada
Lectura repetible
Señalizable
La opción por defecto es la ultima que permite la serializacion de transacciones, estos
niveles de aislamiento se define en base a tres problemas de concurrencia
Lectura sucia: consiste en que una transacción lleva a cabo una actualización sobre un
dato que es leído entonces por otra transacción si la primera transacción se deshace, la
segunda esta leyendo un dato que nunca debió haber existido.
Lectura no reproducible: una transacción que quiere leer un dato dos veces se encuentra
con que ese dato varía (si en medio de las dos lecturas ha habido cambios) sin que en la
primera transacción hubiera habido cambios.
Lectura fantasma: si una transacción recupera todos los datos que satisfacen una
condición y después otra transacción incorpora nuevos datos que satisfacen dicha
condición, si la primera transacción repite la consulta aparecen nuevos datos.

Por medio de los niveles de aislamiento se evitan los siguientes eventos

Nivel de Lectura no
Lectura sucia Lectura fantasma
aislamiento repetible
Lectura no
Posible Posible Posible
grabada
Lectura grabada No posible Posible Posible
Lectura repetible No posible No posible Posible
Señalizable No posible No posible No posible

7.-SQL EMBEBIDO
Como se ha señalado el SQL permite actuar como lenguaje interactivo como en lenguaje
huésped (embebido), por lo que se dice tiene la propiedad dual, las sentencias SQL se van
intercalando en las sentencias del lenguaje huésped precedidas normalmente de la
partícula EXEC SQL para que puedan ser distinguidas por los precompiladores. Las
sentencias de manipulación funcionan de diferente forma por que pueden hacer referencia
a variables del lenguaje anfitrión.

Para el manejo de errores se incorpora una nueva sentencia que diagnostica errores, la
sentencia GET DIAGNOSTICS que permite a las aplicaciones recuperar información
adicional sobre los errores.
El manejo de excepciones se lleva a cabo con la sentencia WHENEVER
Para permitir que los lenguajes puedan manejar varias filas a la vez se implementa el
mecanismo de cursores ofreciendo mandatos para declararlos DECLARE CURSOR FOR,
para abrirlos OPEN, para cerrarlos CLOSE y leerlos FETCH.

Los cursores pueden ser INSENSITIVE de desplazamiento, que permite realizar un


FETCH de forma NEXT, PRIORI, FIRST, LAST, ABSOLUTE, o RELATIVE.

8.- SQL DINÁMICO

Un avance de SQL-92 es la de permitir consultas cuyo resultado se conozcan solo en


tiempo de ejecución. Con el símbolo ‘?’ se determina el valor que habra de tomarse en
tiempo de ejecución.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

9.- EL LENGUAJE SQL3

El estándar SQL3 se puede separa en las siguientes partes


El marco de referencia
Fundamentos y facilidades
La interfaz a nivel llamada
Módulos SQL persistentes
Vinculaciones a lenguajes anfitriones
Especialización
Temporal
Objetos extendidos
Tablas virtuales
Las principales características son las siguientes:
Nuevos tipos de datos baléanos
Reglas activas, disparadores
Tipos abstractos de datos
Operadores de unión recursiva para expresiones de consulta
Cursores sensitivos
Jerarquía de generalización de tablas
Papeles roles de usuarios

Papeles de usuario

Este aspecto es destacable en la importancia de la seguridad, mediante esta herramienta


se permite la generación de roles para los usuarios con diversos niveles de privilegios.

Disparadores en SQL

El estándar SQL para generar disparadores consta de las siguientes sentencias:


CREATE TRIGGER
AFTER DELETE ON
AFTER INSERT ON
AFTER UPDATE ON
FOR EACH ROW( UPDATE <SENTENCIAS DESENCADENADAS >
WHERE <RESTRICCIONES>)
ING. IRENE AGUILAR JU REZ
___________________________________________________________

DISEÑO LÓGICO DE LAS BASES DE DATOS EN EL MODELO


RELACIONAL

1.- ETAPAS DE UNA METODOLOGÍA DE DISEÑO

En el proceso de diseño de Bases de Datos existen 3 niveles


El Diseño conceptual: Obtiene una buena representación de los recursos de información de
la empresa con independencia de usuarios y de las aplicaciones.
Diseño Lógico: Transforma el esquema conceptual obtenido anteriormente, adaptándolo al
modelo de datos en el que se apoya el SGDB
Diseño Físico: Consigue una instrumentación, lo mas eficiente posible, del esquema lógico.

Un problema constante en el diseño de datos es la comunicación entre el diseñador y el


usuario quien conoce el dominio de la aplicación pero no sabe expresar ese conocimiento
al diseñador y menos aún no es capaz de describir lo bajo las premisas que impone un
modelo de datos.

Con el modelo Entidad Relación se permite la comunicación entre el usuario y el diseñador


y se obtiene como resultado un diseño conceptual que describe el mundo real de la
organización.

2.- TRANSFORMACIÓN DEL ESQUEMA CONCEPTUAL AL RELACIONAL.

El modelo Entidad Relacional permite el diseño conceptual, para hacer la transición desde
este esquema hacia un esquema relacional deben seguirse tres principios básicos:
Toda entidad se convierte en una relación
Toda interrelación N:M se transforma en una relación
Toda interrelación 1:N se traduce con el fenómeno de propagación de clave o bien se crea
una nueva relación.
Con la transición del modelo Entidad / Relación al relacional se pierde semántica por que al
convertirse las interrelaciones en relaciones, no se puede distinguir entre una y otras.
Con la propagación de clave se pierde semántica pero si se hizo una transformación
correcta quedaran definidas ciertas restricciones que aseguran la consistencia de los datos.

2.1 LAS OPCIONES DE CLAVE AJENA EN LA TRANSFORMACIÓN DEL ME/R AL


RELACIONAL.

Se debe procurar que la perdida de semántica al pasar del ME/R al relacional sea lo
menor posible, además de asegurar la consistencia de los datos, es decir la integridad de
la BD.

La transformación por propagación de clave de da cuando la cardinalidad es 1:N, y en este


caso las opciones de borrado para respetar la integridad referencial pueden ser:
Restringido: (No action) impide el borrado o actualización de una ocurrencia mientras
existan entidades relacionadas con la entidad que se pretende eliminar.
Cascada: Si se borra la entidad, se deben borrar también todas las entidades relacionadas
con la entidad a borrar.
Valor por defecto: Se colocaría un valor por defecto en caso de eliminar la ocurrencia de la
entidad a eliminar.

Como se puede observar las opciones y modificaciones de la clave ajena ayudan a


mantener la integridad de los datos.
En caso de entidades débiles estas serán borradas al eliminar la ocurrencia de la entidad
regular y la opción de borrado será en cascada.

B) Transformación creando una nueva relación.


ING. IRENE AGUILAR JU REZ
___________________________________________________________
Esta transformación se presenta en la interrelación N:M donde las opciones de borrado y
modificación puede ser en cascada o puede existir la opción de No action, en las
cardinalidades mínimas se puede usar las opciones de clave ajena y hacer uso de
disparadores o de las aserciones.

3.- GRAFOS RELACIONALES.

El grafo relacional es una forma de representar el esquema relacional, cada nodo


representa un esquema de relación o una tabla de la BD.
En cada nodo debe aparecer el nombre y sus atributos indicando su clave primaria, sus
claves alternativas y las claves ajenas de las cuales surgen arcos que señalan las tablas
referenciadas.

Las opciones de borrado se pueden poner en el arco que une la clave ajena con la tabla
referenciada.

4.- TEORÍA DE LA NORMALIZACIÓN


Para el diseño de la BD existen dos métodos, el primero consiste en ir del mundo real al
modelo semántico para obtener un esquema conceptual y transformar este esquema al
modelo relacional.

Existe otro método que consiste en plasmar directamente el mundo real en el modelo
relacional y por ultimo aplicar un conjunto de reglas conocidas como teoría de la
normalización, en caso que el modelo relacional este mal diseñado se presentará los
siguientes problemas:

Incapacidad para almacenar ciertos hechos


Redundancias y posibilidad de inconsistencias
Ambigüedades.
Perdidas de información.
Perdidas de ciertas restricciones de integridad.
Aparición en la base de datos de anomalías de inserción, borrado y modificación.

Para concluir el diseño de una BD debe ser analizado para comprobar que no presenta los
problemas antes citados.
Las anomalías de inserción se dan cuando al insertar una entidad se obliga a insertar datos
de otra entidad.
La anomalía de modificación: se da cuando al cambiar los datos de una entidad se obliga a
otras entidades a realizar cambios.
La anomalía de borrado: se da cuando al eliminar un registro de una entidad se obliga a
borrar algunos registros de una segunda entidad, sin que sea requerido.
Para evitar problemas de diseño se debe respetar un principio básico de todo diseño.

“Hechos distintos se deben almacenar en objetos distintos”.

Si se sigue la metodología propuesta en primer lugar se evitaría gran parte de estas


anomalías, obteniéndose en general un esquema exento de errores.
Para evaluar las relaciones y la consistencia se deben analizar el cumplimiento de la teoría
de la normalización, esta teoría evita las redundancias y las anomalías de actualización,
obteniendo relaciones más estructuradas que no presentan anomalías.

La aplicación de la teoría de la normalización consigue la disminución de dichas anomalías


evitando muchos problemas en las actualizaciones, sin embargo penaliza la realización de
las consultas ya que al aplicar la normalización se aumenta el número de relaciones y en
consecuencia las consultas requerirán combinación entre ellas, lo cual consume recursos
computacionales en demasía.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
NOCIÓN INTUITIVA DE LAS FORMAS NORMALES.

Las primeras formas normales fueron propuestas Codd desde sus primeros trabajos, tienen
una base matemática, se basa en ciertas restricciones definidas sobre los atributos de una
relación, los cuales son conocidas con el nombre de dependencias.

Existen varios tipos de dependencias las cuales se relacionan con las diversas formas
normales, ya que cada forma normal resuelve o evita la presencia de una de estas
dependencias, las formas normales superiores imponen nuevas restricciones a las formas
inferiores. 1 NF

2 NF
3 NF
BCNF
4 NF

5 NF
DK/NF

RELACIÓN DE FORMAS NORMALES


DEPENDENCIA FUNCIONAL: Es la relación entre uno mas atributos, donde la entidad
define dependencia en sus atributos.

Ejemplo:
Carrera: especialidad
Num_computadora: tamaño_de_memoria
Edificio : costo_renta

Los atributos en el lado izquierdo determinan a los del lado derecho entonces se dice que
son determinantes.

Formas normales:

Las celdas deben tener un solo valor y no se permiten ni grupos ni


arreglos repetidos como valores, los valores de un atributo deben ser
1 NF
de la misma clase, las columnas deben tener un nombre único, dos
renglones no deben ser idénticos y el orden no es significativo.
Si todos los atributos que no son llave son dependientes de todos los
2NF
atributos de la llave.

Si la relación esta en la segunda forma normal y además no tiene


3NF
dependencias transitiva, entonces esta en tercera forma normal.

BCNF Una relación esta en BCNF si cada determinante es una llave candidata

4NF Si la relación esta en BCNF y no tiene dependencia multivaluadas

Las dependencias que evita esta forma normal son muy raras y aún no
5FN
tiene un significado claro, intuitivamente hablando
ING. IRENE AGUILAR JU REZ
___________________________________________________________

No tiene anomalías de modificación, y si una relación no tiene anomalías de


DK/NF
modificación esta forzosamente en DK/NF

EJEMPLO DE LA APLICACIÓN DE LA 3 FORMA NORMAL

EID EDIFICIO
EDIFICIO CUOTA
INDIRECTAMENTE EID CUOTA
A esto se le llama dependencia transitiva
EDIFICIO CUOTA
EID EDIFICIO CUOTA
J24 3200
100 J24 3200
150 L1 3100 L1 3100
200 J2 1200
J2 1200
175 K3 2200
K3 2200
EID EDIFICIO
100 J24
150 L1
200 J2
175 K3

EJEMPLO DE BCNF

LLAVES CANDIDATAS: ATRIBUTOS QUE PUEDEN SER UNA LLAVE


A ESTO SE LE LLAMA DEPENDENCIA TRANSITIVA

EID ESPECIALIDAD FNOMBRE


100 MATEMATICAS MENDEZ
150 PSICOLOGIA HERNANDEZ
200 SOCIOLOGIA JIMENEZ
175 PSICOLOGIA HERNANDEZ

EID FNOMBRE FORMA FNOMBRE MATERIA


100 MENDEZ DE MENDEZ MATEMATICAS
150 HERNANDEZ BOYCE- HERNANDEZ PSICOLOGIA
CODD
200 JIMENEZ JIMENEZ SOCIOLOGIA
175 HERNANDEZ GONZALEZ ECONOMIA
EJEMPLO DE 4 NF

LA 4NF ELIMINA LAS DEPENDENCIAS MULTIVALUADAS


ING. IRENE AGUILAR JU REZ
___________________________________________________________

Hay una dependencia multivaluada cuando una relación tiene al menos tres atributos, dos de
los cuales son valores múltiples, y sus valores dependen solo de un tercer atributo.
EID ESPECIALIDAD ACTIVIDAD
100 MATEMATICAS ESQUI
100 MATEMATICAS POLO
100 MUSICA TENIS
150 PSICOLOGIA NATACION
200 SOCIOLOGIA NATACION
175 PSICOLOGIA CARRERAS

EID ESPECIALIDAD EID ACTIVIDAD


100 MATEMATICAS FORMA 100 ESQUI
100 MUSICA 4NF 100 POLO
150 PSICOLOGIA 100 TENIS
200 SOCIOLOGIA 150 NATACION
175 PSICOLOGIA 200 NATACION
175 CARRERAS
ING. IRENE AGUILAR JU REZ
___________________________________________________________

MODELO EN RED CODASYL

1.-PRESENTACIÓN DE UN MODELO EN RED

Aunque los modelos de red ya no dominan el mercado como hace algunos años, todavía
existen bastantes sistemas jerárquicos y Codasyl que responden con eficiencia las
necesidades de los usuarios.

En los modelo de datos en red representan las entidades en forma de nodos de un grafo y
las asociaciones o interrelaciones entre estas mediante los arcos que unen dichos nodos.

Esta representación no impone en principio ninguna restricción implícita al tipo ni al número


de arcos, esto permite modelos tan complejos como se requieran.

El modelo de red esta formado por:


Entidades donde cada conjunto posee propiedades y atributos.
Atributos: un conjunto finito de tipos de interrelaciones
Interrelaciones: relación de las entidades con otras o con los atributos, son representadas
por grafos.

La estática del modelo es decir la estructura de los objetos son representados en forma de
grafo y las ocurrencias del esquema son los valores que toman los elementos en
determinado momento.
La dinámica del modelo se caracteriza por ser navegacional es decir la recuperación y la
actualización se lleva a cabo registro a registro y se accesa a ellos por medio de punteros.
El modelo es muy flexible por la inexistencia de restricciones pero por la misma razón la
instrumentación física resulta difícil y poco eficiente.

2.- PROPUESTA CODASYL


El modelo Codasyl al cual se le introducen determinadas restricciones inherentes, toma su
nombre del comité que propuso sus especificaciones.
El termino Codasyl proviene de Conference on Data System Lengueges, fue una
organización no oficial formada por personas privadas apoyadas por instituciones con el fin
de estudiar y normalizar aspectos relativos a la utilización y diseño de BD.

El grupo CODASYL tiene su origen en el año 1959 cuando se reunieron en grupos de


constructores y usuarios de ordenadores con el fin de abordar la definición de un lenguaje
de programación común para el tratamiento y resolución de problemas de gestión, el
lenguaje al que dieron origen fue el COBOL.
En 1965 se crea el List Processing Task Force para analizar las capacidades del proceso
de listas del lenguaje COBOL, dos años mas tarde el grupo cambio de nombre por Data
Base Task Group.
En 1969 el grupo DBTG presenta su primer informe donde se especifica un lenguaje de
LDD y un LMD que en teoría proponía dar respuesta a las necesidades de gestión de datos
para cualquier tipo de lenguaje anfitrión pero en la práctica fue orientado a COBOL, este
detalle les fue muy criticado. El grupo se disolvió en 1983.

2.2 Objetivos

El grupo CODASYL enumero los objetivos que según su opinión un sistema de Gestión de
Bases de Datos debía cumplir, estos objetivos eran:
Flexibilidad frente a los usuarios
Uso concurrente
Diversas estrategias de búsqueda
Seguridad
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Gestión centralizada del almacenamiento físico.
Independencia del almacenamiento físico
Flexibilidad para el usuario.
Facilidad para el usuario.
Independencia de los programas respecto a los datos.
Descripción de datos independientes de los programas
Interfaces con múltiples lenguajes.

2.3 Medios para alcanzar los objetivos.

Para lograr los objetivos planteados anteriormente Codasyl propone:

Lenguaje de definición de datos del esquema: permite describir la estructura de la totalidad


de los elementos que forman parte de la base de datos a nivel lógico, facilitando al usuario
la elección de sus estructuras y nombres; en las primeras versiones las especificaciones
Codasyl contenían cláusulas con implicaciones físicas las cuales se corrigieron en 1978.

Lenguaje de Definición de datos del sub esquema: Permite la descripción de subconjuntos


del esquema para diferentes usuarios.

Lenguajes de manipulación de datos: se ocupan de los aspectos de manipulación de los


datos contenidos en la base de datos. Aunque siempre estuvo presente, ha sufrido
cambios con la desaparición de las clausulas del aspecto físico.

Lenguajes de Control de Dispositivos / Soporte: en el año 1971 Codasyl solo se limita a


reflejar la necesidad de un lenguje que controlase los aspectos relativos a los dispositivos y
soporte donde estaban almacenados los datos pero no definió sintaxis ni semántica.

2.4 Arquitectura.

La arquitectura de las especificaciones Codasyl vario sustancialmente de una arquitectura


de dos nivles a otra donde existen tres niveles que surgieron al separar los aspectos fisicos
del esquema anterior.
Codasyl organiza la arquitectura en tres niveles llamados subesquema, esquema y
esquema de almacenamiento.

3.- MODELO DE DATOS CODASYL.


Los elementos básicos del modelo Codasyl son los siguientes:
Campo o elemento de datos: Es la unidad de datos más pequeña, debe tener nombre y
una ocurrencia del mismo contiene un valor que puede ser de distinto tipo.
Agregado de datos: Puede ser un vector con número fijo de elementos o un grupo
repetitivo. El elemento y el agregado de datos se corresponden con los campos de los
ficheros clásicos y con los atributos de otros modelos. Aquí se admiten estructuras no
planas como son los agregados.
Registro: Colección nominada de elementos de datos. Unidad básica de acceso y
manipulación de la BD.
Conjunto: set o coset: Colección nominada de dos o más tipos de registros que establece
una vinculación entre ellos. Constituye el elemento clave y distintivo de este modelo de
datos, siendo el origen de las restricciones.
Área: Subdivisión nominada del espacio de almacenamiento direccionable de la base de
datos. en un área puede haber ocurrencias de mas de un tipo de registro y las ocurrencias
de un mismo tipo de registro pueden estar conectadas en distintas áreas.
Clave de base de datos: Identificador interno único para cada ocurrencia de registro que
proporciona su dirección en la BD. En principio la clave de BD era permanente y se usaba
para acceder rápidamente a un registro.

3.2 Características de los conjuntos y restricciones.


ING. IRENE AGUILAR JU REZ
___________________________________________________________
En Codasyl el conjunto a set, constituye el elemento básico para la representación de las
interrelaciones, por medio de los conjuntos se representan las asociaciones 1:N a dos
niveles donde el nodo raíz se llama propietario y los nodos hijos reciben el nombre de
miembros. Un conjunto tendrá tantas ocurrencias como ocurrencias tenga el registro
propietario, a nivel físico se implementan las relaciones mediante punteros.

En el modelo Codasyl un registro puede ser propietario en un conjunto y miembro en otro


conjunto, esta característica, le da gran flexibilidad al modelo.
También se puede dar ocurrencias de interrelación de un registro consigo mismo, para ello
se define un conjunto especial, este conjunto se llama singular, en el que el propietario
seria ficticio, y el miembro el tipo de registro cuyas ocurrencias queremos encadenar.

Se pueden resumir las características del modelo.


Un conjunto es una colección nominada de dos o más tipos de registros que representan
una interrelación
Cada conjunto debe tener forzosamente untito de registro propietario y uno o más tipos de
registros miembros.
No hay limitaciones en cuanto al número de conjuntos que pueden declararse en el
esquema.
Cualquier registro puede ser declarado propietario de uno varios conjuntos
Cualquier registro puede ser declarado como miembro de uno o mas conjuntos
Cualquier registro puede ser declarado propietario en un conjunto y miembro en otro
conjunto distinto.
Pueden existir conjuntos singulares en los que el propietario es el sistema.
Aunque un tipo de registro se haya declarado miembro de un conjunto existe la posibilidad
de no encadenar en el conjunto ciertas ocurrencias del mismo, las cuales quedan sueltas,
es decir no pertenecen a ningún conjunto.
Las restricciones del modelo son las siguientes:

Solo se admiten tipos de interrelaciones jerarquicas a dos niveles: nivel propietario y nivel
miembro. Combinando varios conjuntos se puede llegar a jerarquías multinivel y a
estructuras en red.
En el nivel propietario de un conjunto solo se permite un tipo de registro
Un mismo tipo de registro no puede ser a la vez propietario y miembro de un mismo tipo de
conjunto. No se admite la reflexividad de los conjuntos. Esta restricción desapareció en las
especificaciones de 1978, pero por lo general los productos siguen manteniéndola.
Una misma ocurrencia de miembro no puede pertenecer, en un mismo conjunto a más de
un propietario.

No se pueden representar directamente interrelaciones entre ocurrencias distintas de un


mismo tipo de registro. Aunque las especificación del 1978. si lo permiten y admiten que
una ocurrencia de registro puede ser ser propietaria de si misma.
No se pueden representar directamente interrelaciones N:1 y tampoco interrelaciones N:M

3.3 tipos de estructuras permitidas.


Las estructuras que el modleo permite son las siguientes:
Red: un miembro con varios propietarios pero con conjuntos diferentes. De esta forma se
podrán representar las interrelaciones N:M
Jerarquía a un nivel: Un propietario y varios miembros de distinto tipo en un único conjunto,
es lo que se llama conjunto multimiembro.

Jerarquía con múltiples niveles: donde los tipos de registro de los niveles intermedios son
miembros del conjunto del nivel superior y propietarios en el del nivel inferior.

Registros aislados: Pueden existir tipos de registros que no sean propietarios ni miembros
de ningún conjunto.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Miembro opcional: es cuando un tipo de registro declarado miembro de un conjunto tenga
ocurrencias que no pertenezcan a ninguna ocurrencia del conjunto, es decir que no tengan
propietario.

3.4 Representación de asociaciones:

Para representar las interrelaciones N:M se resuelve creando un tipo de registro ficticio
llamado ficticio, que puede contener o no datos, y definiendo dos conjuntos donde este tipo
de registro es el miembro.

Existen conjuntos con características especiales, estos conjuntos son llamados conjuntos
de explosión y de implosión, usando el primero obtendríamos los elementos que forman
parte de otro elemento, y con el segundo obtendríamos a partir de un elemento los
elementos que lo conforman.

Las asociaciones reflexivas no solo pueden ser N:M sino también 1:N.

4.- RESTRICCIONES SEMÁNTICAS EN EL MODELO CODASYL.


Para capturar la semántica de los datos y asegurar la integridad se deben respetar las
restricciones semánticas, existen restricciones generales en las que se comprueban si los
valores que toman los valores cumplen con la condición exigida.
Codasyl proporciona una cláusula de validación CHECK mediante la cual se llama a un
procedimiento que actúa de forma parecida a un disparador y en caso de no cumplir los
requisitos se provoca el rechazo de la ocurrencia.

Restricciones estructurales
Las restricciones semánticas más importantes del modelo Codasyl son las de condición
específica que son de tipo estructural y permiten comprobar la estructura de ciertos
elementos del modelo (atributos y conjuntos).

Restricciones estructurales de los atributos.

El modelo Codasyl admite grupos repetitivos pero en lugar de señalar la existencia de la


restricción, hay que especificar explícitamente que el atributo es multivaludo e indicar el
número máximo de valores que están permitidos.

También se dan facilidades para definir datos agregados lo que se lleva a cabo con el
lenguaje Cobol que permite estructuras a varios niveles.
No existe ninguna cláusula en el LDD para especificar claves primarias ni alternativas. Pero
si se puede obligar que un registro no tome valores iguales en distintas ocurrencias. Se
dice que hay duplicados no permitidos.

Restricciones estructurales de los conjuntos.

Cuando se define un conjunto se debe especificar no solo el registro propietario y los


registros miembros, sino también características sobre su estructura, entre estos dos
modos:

Modo de inserción. Indica si la conexión de las ocurrencias de los registros de u conjunto


se lleva a cabo en el momento del almacenamiento o cuando lo decida el usuario.

Modo de retención: especifica el comportamiento que tendrán las ocurrencias de miembro


respecto a la modificación de su conexión en un conjunto. La opción obligatoria permite
que una ocurrencia de miembro puede cambiarse de una ocurrencia de conjunto a otra, sin
embargo no permite que la ocurrencia de miembro quede suelta una vez que ha estado
conectada a una ocurrencia del conjunto.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Al insertar una ocurrencia de miembro en la base de datos, no solo es necesario indicar la
ocurrencia de propietario a la que ha de conectarse, sino que también será preciso
determinar el lugar que debe ocupar en la cadena de miembro.

Una vez que se decidió esto es necesario indicar la posición en la que se ha de colocar
cada nueva ocurrencia de miembro, para lo que se ofrecen varias opciones:
Primera: cada nueva ocurrencia de miembro se insertara inmediatamente después de la
ocurrencia del propietario, quedando como primera ocurrencia de miembro de la cadena.
Ultima: cada nueva ocurrencia de miembros se colocara inmediatamente después de la
última de la cadena pasando a ser la última del conjunto.
Anterior; cada nueva ocurrencia se miembros se coloca inmediatamente antes de la
ocurrencia que este activa en ese momento.
Siguiente: Cada nueva ocurrencia de miembro se colocara inmediatamente después de la
ocurrencia activa en ese momento.
Indiferente; Cada nueva ocurrencia de miembro se colocara en el lugar en el que el
sistema elija, es decir no se especifica una ubicación determinada.
Clasificada: las ocurrencias de miembro estarán clasificadas ascendentes o descendentes,
por los valores de uno o mas de sus elementos de datos, para lo que será preciso
especificar la clave de clasificación.

5.- EL NIVEL INTERNO DEL MODELO CODASYL.


Las especificaciones de 1978. De la arquitectura CODASYL supuso un nuevo nivel de
descripción de los datos donde se definen aspectos físicos relativos a su almacenamiento.
Este nuevo nivel denominado nivel de almacenamiento se utiliza para proporcionar;
Independencia del esquema respecto a los aspectos puramente físicos de la base d e
datos.
Independencia del sistema operativo, haciendo posible la adaptación a sistemas operativos
que realizan la gestión de almacenamiento físico de diferentes formas y consiguiendo
independencia respecto a los dispositivos físicos.
Eficiencia en los accesos y en el almacenamiento de datos al proporcionar un medio para
definir la ubicación de los datos en el soporte físico.
Posibilidad de reestructuración de la base de datos a fin de mejorar su eficiencia a fin de
mejorar su eficiencia sin necesidad de modificar su definición lógica.

5.1 Modo de ubicación de los registros.


La clave de Base de Datos contiene la dirección física de cada ocurrencia de registro y por
tanto la cláusula que permite especificar el modo de ubicaron de cada tipo de registro
proporciona un mecanismo para controlar la asignación de las claves de bases de datos.
Cada vez que se almacena una ocurrencia de un registro en la base de datos, el sistema
tendrá que determinar al lugar donde se ha de almacenar según lo que se indica en el
modo de ubicación. Los modos de ubicación son:
Directo: este modo de ubicación permite al usuario asignar el lugar de almacenamiento de
las ocurrencias especificando el campo del registro que va a contener la clave de base de
datos. El valor de ese campo en cada ocurrencia de registro determina la ubicación del
correspondiente registro. El campo que se utiliza como clave debe ser numérico y sin
duplicados, y debe permanecer en un espacio físico direccionable
Calculado el modo de ubicaron calculado determina la clave de bases de datos, es decir la
dirección en la que debe almacenarse la ocurrencia del registro mediante la función de
dispersión.
Agrupamiento: este tipo de ubicaron tiene mucho que bver con el concepto de conjunto, si
un registro tiene este modo de ubicación se guardara lo mas próximo posible a la dirección
en la que se encuentra la ocurrencia del correspondiente registro propietario.
Sistema este modo de ubicaron deja la responsabilidad de la asignación de la clave de
base de datos totalmente en manos del SGBD, puede utilizarse en los registros que son
miembros de conjunto singulares, siempre que no sea necesario acceder a ellos
directamente por el valor de un campo.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Tipos de punteros.

Las ocurrencias de registros se encadenan, en cada uno de los conjuntos a los que
pertenecen por medio de punteros, en una cadena pueden existir hasta tres tipos de
(siguiente, anterior y propietario)
El puntero siguiente se asigna desde que se define un conjunto, se trata de una cadena, de
modo que el último miembro apunta al propietario.
El puntero al propietario es opcional y permite acceder desde cualquier ocurrencia de
miembro directamente a la de un propietario sin necesidad de recorrer todas las
ocurrencias de los miembros hasta llegar a él.
El puntero anterior se puede definir un puntero al anterior, de este modo la cadena se
puede recorrer en ambos sentidos.

Los punteros al siguiente son intrínsecos y los dos restantes son opcionales y se definen
por motivos de eficiencia. La definición de punteros atenta contra la independencia físico-
lógica pues estos aspectos son solo de naturaleza físico.

Concepto de área
La asignación del área se rige de las siguientes reglas
Una ocurrencia de registro puede ser asignada a cualquier área
Una determinada ocurrencia de registro solo puede ser asignada a un área.
Una vez que la ocurrencia ha sido asignada a un áarea no puede transferirse a otra, a no
ser que se reorganice la base de datos.
Las ocurrencias de un mismo tipo de registro pueden ser asignadas a diferentes áreas.
Las ocurrencias de distintos tipos de registros pueden ser asignados a una misma área.

Aunque la inclusión del concepto de área fue muy criticado por su significado físico, las
especificaciones no la eliminaron.

6.- LENGUAJE DE DEFINICIÓN DE DATOS DE CODASYL


Todos los conceptos vistos anteriormente corresponden a la definición del lenguaje de
definición de datos de esquema.
Lenguaje de definición de datos de esquema.
Codasyl desarrollo la definición de un lenguaje auto contenido de tal forma que un
esquema fuente escrito en dicho lenguaje se convierte en un esquema objeto tras la
compilación por parte del SGBD y puede entonces almacenarse en la biblioteca del
sistema en la que estará disponible para su uso.
Las entradas en el modelo CODASYL. se refieren a un elemento distinto del esquema.
Algunas de las entradas tienen subintradas y tanto unas como otras contienen una o varias
sentencias que se denominan cláusulas.

Las entradas son cuatro y son las siguientes:


Esquema
Área
Registro
Conjuntos.

En toda las entradas hay una primera clausula que determina el nombre del elemento y
describe sus características, mediante otras cláusulas. La entrada del registro se utiliza
para nombrar cada uno de los tipos de los registros existentes en la base de datos y
describe cada uno de los datos así como otras características del modelo.
La entrada conjunto especifica los registros que forman parte del conjunto y tras ellas
tantas subintradas de miembro como sean necesarias.
Las palabras reservadas para el manejo de estas entradas y subintradas son: SYSTEM,
LINKED TO OWNER, STRUCTURAL, CONSTRAINT.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Los sub esquemas corresponden con las vistas externas en la arquitectura ANSI a tres
niveles. El lenguaje de definición de los sub esquemas permite realizar modificaciones
respecto al esquema del que se obtiene, las modificaciones pueden ser:
En las contraseñas, en los conjuntos, en los registros, en los campos. Una vez definido un
sub esquema debe ser compilado y almacenado con un nombre de forma independiente
para poder ser llamado por lo programas de aplicación.

El esquema de almacenamiento permite que la asignación de registros lógicos a registros


almacenados se pueda haber utilizando tanto fragmentación horizontal como vertical, para
aumentar la eficiencia en los accesos la fragmentación vertical, que solo puede existir en
una arquitectura a tres niveles, consiste en la aparición de un mismo registro lógico
repartido en varios dispositivos de almacenamiento. La fragmentación horizontal consiste
en situar parte de los registros lógicos en una zona de almacenamiento y parte en otra, por
ejemplo según, cumplan o no una condición. Esta fragmentación ya era posible en sistema
con dos niveles en la arquitectura, cada área se almacena en páginas, en las que se
permite guardar las ocurrencias de uno o más registros.

Algunos productos comerciales proporcionan la facilidad de creación de un esquema de


almacenamiento por defecto. Cuando se compila un esquema de una base de datos, el
compilador del LDEE se encarga de crear su esquema de almacenamiento.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

DINÁMICA DEL MODELO CODASYL

1.-INTRODUCCIÓN

La parte dinámica de un modelo de datos esta formada por dos tipos de acción, la
selección y la acción a efectuarse en dicha selección. En el modelo relacional no se hace
diferencia entre estas dos categorías pero el modelo Codasyl si lo hace.

La selección consiste en localizar un registro de la base de datos para lo cual no siempre


es preciso acceder al soporte físico donde se guardan los datos. Codasyl por un lenguaje
navegacional, las sentencias van embebidas con un lenguaje anfitrión que en los primeros
años fue el Cobol y después admitió a otros lenguajes como el Fortran.

En un modelo navegacional se exige al programador el manejo de indicadores por lo que


es mas complejo de usar y menos accesible para los usuarios finales.

Hasta hace unos años estos lenguajes eran más eficientes que los lenguajes de
especificación, pero en la actualidad la eficiencia de los lenguajes no es comparable.

La selección provoca cambios de estado en los indicadores bien de registro activo si ha


terminado con éxito o en los indicadores de error en caso de fallo.

Una vez seleccionado un registro (con este tipo solo se puede tener localizado un único
registro) se le puede aplicar las siguientes acciones

Recuperar Get
actualizar Update
insertar Store
borrar erase
Modificar modify
Un registro
conectar Connect
desconectar disconnect
Desconectar y conectar reconnect
Abrir o cerrar un área Open o close
Guardar una clave de BD keep
Ordenar los registros de un order
set
Llevar adelante o deshacer Commit / Rollback
una transacción

Estructura del lenguaje

El modelo Codasyl indica la utilización de un lenguaje huésped para la manipulación de


datos. Así el programador de aplicaciones puede procesar la BD usando una extensión del
lenguaje de programación siempre que el SGBD lo admita como lenguaje anfitrión.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El lenguaje LMD se encarga de la navegación por la BD, la interacción entre el usuario y la
BD se realiza a través de un área de trabajo ATU. En cada programa de aplicación se
encuentran definidos un área de trabajo de usuario, un área de comunicación con SGBD
destinada a recibir los mensajes y la información de control.
El área de trabajo posee 4 tipos de indicadores para el control de trabajo.

Indicadores de condición de error


Indicadores de registro activo
Indicadores de pertenencia
Indicadores de ocurrencia de conjunto vacío.

Los conceptos de programa de aplicación y la unidad de ejecución son diferentes, la unidad


de ejecución es una instancia de los programas y cada unidad posee su propio juego de
indicadores.

Indicadores de registro activo.

Los indicadores de registro activo son punteros que contiene la dirección del último registro
localizado en la correspondiente unidad de ejecución, en cada área, tipo de registro y tipo
de conjunto.

Existen 4 indicadores de registro activo.

IRA de la unidad de ejecución, existe un solo indicador de este tipo.


IRA de área, indica la dirección del último registro del área, existirá un indicador por cada
subesquema.
IRA de tipo registro, Existirá un indicador por cada tipo de registro definido en el
subesquema.
IRA de conjunto, Indica la ocurrencia de conjunto activo en cada momento, existen tantos
como conjuntos definidos en el esquema.

Los operadores pueden modificar los indicadores y la manipulación de la información


marcada como activa.

Cuando un operador selecciona o manipula un registro en la Base de Datos, este registro


se convierte en el registro activo de los tipos de registro, tipo de conjunto y área a la que
pertenece. El ultimo registro activado es el registro activo de la unidad de ejecución y los
Indicadores de Registro activo contienen indicadores únicos de los registros.

Cuando inicia la ejecución de un programa, el sistema crea un área de trabajo e inicializa


los indicadores de registro a nulos, cuando se inicia la navegación se toman las direcciones
de los registros seleccionados, esta información cambia automáticamente cada vez que el
usuario navega entre los registros. Varios indicadores pueden tener el mismo valor por que
un registro puede ser el ultimo registro seleccionado de la unidad de ejecución y del área
de trabajo.

3.- selección de un registro.

La sentencia mas usada del lenguaje LMD es la sentencia de selección (FIND) que
permite seleccionar un registro que cumpla ciertas condiciones. Una vez que se selecciona
el registro, la adecuada sentencia de acción se ocupa de recuperar la información de la
dirección almacenada en los indicadores de registro activo. La información de dicho
registro se recupera y es llevado al área de trabajo del usuario que requiere los datos.
Existe la posibilidad de que se presenten errores al recuperar la información, este valor se
almacena en los indicadores de error y el programador debe verificar el valor de estos
indicadores para aplicar la acción solicitada.

Un registro puede seleccionarse de varias formas;


ING. IRENE AGUILAR JU REZ
___________________________________________________________
Por valores de un identificador
A partir de un indicador de registro activo
Por su categoría en un conjunto
Por su posición en un área
Por combinación de las anteriores
Las opciones mas usadas de la sentencia FIND son las siguientes:
Selección directa de un registro por el valor de un identificador, esta opción presenta datos
independientemente de que sean o no propietarios o miembros de un conjunto. El acceso
puede ser directo o calculado.
Selección por actividad: esta sentencia, mueve al IRA de la unidad de ejecución los
indicadores de registro activo de tipo de registro, de tipo de conjunto o de área.
Selección en un conjunto la selección en un conjunto puede ser del propietario o del
miembro del conjunto. En la selección al propietario del conjunto solo se debe elegir el tipo
de conjunto y el sistema seleccionara el propietario de la ocurrencia de registro que este
activa en ese momento.
Selección en un área

4.- Obtención del registro localizado

Una vez localizado el registro mediante la selección se debe ejecutar la acción, la cual
puede ser la recuperación del registro o su actualización. Para llevar un registro al área de
trabajo del usuario se usara la sentencia get la cual no cambia ningún indicador de registro.

La sentencia de recuperación obtiene la ocurrencia de registro activa la sintaxis es;


Get < tipo de regsitro>
Get <campo>

El primer formato recupera la ocurrencia de registro activa de la unidad de ejecución y el


segundo recupera únicamente los campos indicados.

5.- Actualización: sentencias de inserción, borrado y modificación.


La actualización puede ser;

Insertar: se presenta cuando se da de alta una nueva ocurrencia de registro


almacenándose en la Base d datos, se utiliza la sentencia STORE.
En la ejecución de esta sentencia, el sistema asigna la clave de base de datos según el
modo de ubicación de registro, la dirección pasa a los indicadores de registro activo

Borrar: la sentencia de borrado (erase) elimina la ocurrencia de registro señalada como


activa en la unidad de ejecución, poniendo a nulo los indicadores de registro activo, los
otros indicadores señalaran al registro borrado por lo que se deberán inhibir para evitar
estos errores. La operación de de borrado puede ser lenta por que implica la modificación
de los punteros, también se presenta la dificultad de que si se borra el registro propietario
en una ocurrencia no nula.
La sentencia de borrado presenta varias posibilidades;
Borrado sin cualificadotes
Borrado permanente
Borrado selectivo
Borrado total

Modificador de registros, la sentencia de modificación (modify) cambia los valores de uno o


varios campos de la ocurrencia de registro activa de la ejecución, para alterar un registro el
programador debe recuperarlo previamente de la Base de datos , la sentencia de
modificación trabaja sobre el registro activo de la unidad de ejecución .

6.- Modificación de vinculaciones entre registros.


ING. IRENE AGUILAR JU REZ
___________________________________________________________

Estas sentencias se utilizan para establecer o cambiar las vinculaciones de los registros en
los conjuntos. Son de tres tipos: conexión, o desconexión de una ocurrencia de conjunto.

Connect: Esta sentencia vincula una ocurrencia de registro a uno o mas conjuntos la
sentencia trabaja sobre la ocurrencia de registro activa del correspondiente tipo de registro,
si este se indica, y lo pone como registro activo de la unidad de ejecución. Si no se incluye
en la sentencia el tipo de registro, opera sobre la ocurrencia activa de la unidad de
ejecución.
Disconnect: Esta sentencia desconecta una ocurrencia como miembro de un tipo de
conjunto, por lo que no podrá utilizarse si el miembro se ha declarado como obligatorio o
fijo. Una vez desconectado, el registro permanece en la base de datos pero no puede ser
accesado por el conjunto del que fue desconectado.
Reconexión: esta sentencia cambia de ocurrencia a un registro la desconecta de un
conjunto y la conecta a otro conjunto. Cuando el modo de retención es obligatorio no puede
utilizarse la sentencia desconexión, ya que la ocurrencia de registro no puede ser separada
de la ocurrencia de conjunto.

7.- Otras sentencias

Abrir y cerrar áreas: la sentencia para abrir área (ready) prepara una o mas áreas para
recuperación ( retrieval) o actualización(update), puede ser en forma protegida(protected) o
exclusiva.

Al elegir entre recuperación y actualización, el programador indica como pretende procesar


los registros del área. Con recuperación solo podrá recuperarlos y podrá usar sentencias
como FIND y GET, en modo actualizar podrá usar además la modificación.

La sentencia de cerrar áreas (finish) libera una o más áreas de la unidad de ejecución
cuando ya no se necesita. Los indicadores de registro activo afectados pasan a tener valor
nulo, para evitar acceder a los registros de un área cuando ya ha sido cerrada.

Existen SGBD que se encargan de abrir y cerrar áreas de trabajo automáticamente.

Ordenar los miembros de un conjunto.

La sentencia de ordenación (order) ordena los miembros de un conjunto de acuerdo con la


clave que se especifique, es decir cambia los valores de los punteros a fin de que la
ocurrencia aparezca clasificada. Si la sentencia se especifica localmente (locally), la
ordenación se efectuara en la unidad de ejecución.

Guardar las claves de las bases de datos:

La sentencia de aceptación se utiliza para extraer la clave de base de datos de los


indicadores de registro activo y almacenarla en una variable .Si no se indica ningún
registro, el IRA que se guardará en la variable será la de la unidad de ejecución.

INHIBIR la actualización de los IRA


La sentencia para inhibir la actualización de los indicadores de registro activo impide los
cambios de aquellos que se especifiquen en la sentencia. Se podrá por tanto inhibir la
actualización de todos los IRA o solo de algunos. Esta sentencia puede utilizarse con
cualquier verbo de manipulación.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

EL MODELO JERÁRQUICO COMO UN CASO PARTICULAR DE


LOS MODELOS DE RED.

1.- INTRODUCCIÓN
El modelo jerárquico ha perdido altas cuotas de mercado, en la actualidad la supremacía
de los SGBDR es notoria; no obstante el modelo jerárquico aun persisten muchas
aplicaciones basadas en este modelo, de ahí la importancia de considerarlo como caso de
estudio.

Entre los primeros SGBD comerciales se basaban en estructuras en árbol propias de los
productos jerárquicos, los árboles son un instrumento para organizar los datos que
presentan poca flexibilidad para su adaptación a las organizaciones reales.

Los SGBD jerárquicos como el IMS y el DL/I de IBM tuvieron gran éxito en el mercado a
pesar de no poseer estandarización y de no estar fundamentado en un modelo matemático
como el modelo relacional. Estos productos han sido superados por la tecnología relacional
pero funcionan eficientemente siempre y cuando las aplicaciones para la BD no presenten
cambios.

La implementación de este modelo jerárquico se basa en el uso de punteros, la estructura


física (organización y tipo de punteros) varía de acuerdo con el producto e incluso IMS
proporcionan varias formas de usar los punteros para mejor eficiencia en los programas de
aplicación. El sistema mas usado y el único que ha llegado a nuestros días es el IMS y el
System 2000 tuvo alta aceptación comercial.

2.- CARACTERÍSTICAS DE LA ESTRUCTURA JERÁRQUICA


En el modelo de datos jerárquico esta compuesta por árboles formados por nodos, que
representan las entidades, enlazadas por arcos que representan las asociaciones o
interrelaciones entre dichas entidades.

La estructura del modelo de datos jerárquico es un caso particular del modelo de red
limitada por las restricciones de la estructura jerárquica que debe formar un árbol
ordenado, este orden es importante y necesario para el modelo.

Las características del modelo son las siguientes;


El árbol se organiza en un conjunto de niveles
El nodo raíz, el más alto de la jerarquía corresponde al nivel cero
Los arcos representan las asociaciones jerárquicas entre dos entidades y no tienen
nombre, no es necesario por que entre dos Conj. Tos de datos solo puede haber una
interrelación.
Mientras que un nodo de nivel superior puede tener un número ilimitado de nodos de nivel
inferior, el nodo del nivel inferior solo puede pertenecer al nodo superior o padre.
Todo nodo a excepción del padre debe tener obligatoriamente un padre.
Se llaman hojas al nodo que no tiene descendientes.
La altura de un árbol es el número de niveles de la estructura jerárquica.
Se denomina momento al numero de nodos.
Solo están permitidas las interrelaciones 1:1 o 1:N
Cada nodo no Terminal y sus descendientes forman un subárbol, de forma que un árbol es
una estructura recursiva.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El recorrido de un árbol debe ser en preorden (raíz, subárbol izquierdo y subárbol derecho).

3.- ESQUEMA Y OCURRENCIA.

Un esquema jerarquico consiste en una descripción de un determinado universo del


discurso mediante un árbol en el que los nodos representan los tipos de registro
(entidades) y los arcos los tipos de interrelaciones jerárquicas existentes entre los mismos.
Una ocurrencia o instancia de dicho esquema será también un árbol, pero en él los nodos
representan las ocurrencias de los registros.

Una base de datos jerárquica está formada por una colección o bosque de árboles
disjuntos.

4.- PROBLEMAS DEL MODELO JERÁRQUICO.

El modelo de datos jerárquico presenta importantes inconvenientes, que provienen


principalmente de su rigidez, la cual deriva de la falta de capacidad de las estructuras
arborescentes de reflejar relaciones muy frecuentes en la realidad como las relaciones
reflexivas y N:M, las redes.

La poca flexibilidad de este modelo puede obligar a la introducción de redundancias


cuando es preciso instrumentar, mediante el modelo jerárquico, situaciones del mundo real
que no responden a una jerarquía.

Cuando se quiere adaptar la estructura en red al modelo jerárquico se puede optar por el
manejo de redundancias controladas, el índice de redundancia se puede calcular por la
siguiente formula:

IR= N° de nodos extra / N° total de nodos X 100

El índice de Redundancia permite determinar hasta que punto una estructura del mundo
real se adapta más o menos a un árbol (cuanto mayor es el índice de redundancia, más
lejos se ésta de una estructura en árbol).

La redundancia que se calcula con el índice es una redundancia lógica que, que en
general, no coincide con la redundancia física, esto es por que al almacenar los datos en el
dispositivo físico no se almacenan los registros completos , si no solo los identificadores o
bien se introducen los punteros.

Otra limitación importante del modelo jerárquico es que no esta preparado para representar
interrelaciones N:M .

Además del grave problema que provocan las redundancias no controladas por el sistema
se incrementa considerablemente el almacenamiento físico y las posibles inconsistencias.

Las actualizaciones en las BD jerárquicas pueden originar problemas debido a las


restricciones inherentes del sistema.
Toda alta, a no ser que corresponda a un nodo raíz, debe tener un padre, por lo tanto seria
imposible dar de alta una entidad que aún no tiene alguna relación con otra entidad.
La baja de cualquier registro implica que desaparezca todo el subárbol que tiene dicho
registro como nodo raíz, con esto pueden desaparecer datos importantes que se desean
conservar.

Los SGBD basados en el modelo jerárquico suelen facilitar instrumentos que los dotan de
una mayor flexibilidad para representar relaciones lógicas pero no siempre se ofrece una
independencia física / lógica.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
El modelo jerárquico no ofrece al usuario la posibilidad de definir restricciones de usuario.

La ventaja de este modelo es su sencillez de comprensión y la mayor facilidad de


instrumentar los soportes físicos.

5.- TRANSFORMACIÓN DE UN ESQUEMA E/R EN UN ESQUEMA


JERÁRQUICO.

Para transformar un modelo Entidad / Relación a una base de datos Jerárquica, debemos
considerar los siguientes puntos.
Las interrelaciones 1:N con cardinalidad mínima 1 en la entidad padre no tienen problemas
pues es esquema jerárquico es capaz de representar este tipo de interrelaciones.
Interrelación 1: N con cardinalidad mínima 0 en el registro padre. En este tipo de
interrelación se puede presentar el problema de que puedan existir hijos sin padre y para
solucionarlo se crean padres ficticios o registros virtuales.
Interrelaciones N:M . la solución es muy parecida al caso anterior, se deben generar
arborecencias que no conservarían la simetría de los nodos
Interrelaciones Reflexivas: para trabajar estas interrelaciones se utiliza la jerarquía siempre
que desee moverse en explosión y otra jerarquía cuando se desee recorrer la implosión.
La aplicación de estas normas permite la introducción de redundancias.

6.- LA FUNCIÓN DE MANIPULACIÓN DE DATOS.

La no existencia de estándares para el modelo jerárquico llevo a considerar el lenguaje


DL/I como un estándar de facto.

La manipulación de datos jerárquicos requiere al menos un plano de abstracción, se debe


primero localizar los datos sobre los que se va a trabajar para luego realizar la acción o
actualización sobre dichos datos en DL/I se realizan los dos actos con el mismo verbo.

Localización o selección
La selección de datos en la BD jerárquica es de tipo navegacional, trabaja registro a
registro dada la sencillez del modelo la selección de los datos también es sencilla
existiendo solo las formas básicas de búsqueda
Seleccionar un determinado registro, se localizara el primer registro que cumpla con la
condición específica que acompaña la sentencia.
Seleccionar el siguiente registro, que se encuentra perfectamente definido al existir un
único camino jerárquico.
Seleccionar el siguiente registro dentro de un padre, la sentencia es similar al anterior pero
la búsqueda termina cuando no haya más descendientes de ese padre.
Seleccionar el registro padre dentro de otro dado, se conoce a esta búsqueda como
normalización jerárquica ascendente, mientras que la selección de descendientes se llama
normalización descendente.

La instrucción de seleccionar un único registro, será preciso que el lenguaje de datos este
embebido en un lenguaje de programación mediante el cual de describa el procedimiento
necesario para ir recorriendo el árbol con el fin de manipular los datos.

La función de acción
Una vez seleccionado el registro se tendrá que realizar sobre él una acción, sea de
recuperación o de actualización.
La recuperación consiste, como en cualquier otro lenguaje de datos en llevar el registro
marcado como activo, en la selección realizada previamente.
Las acciones que se pueden efectuar son:
Insertar
Borrar
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Reemplazar.

Todas estas acciones deben realizarse sin quebrantar las restricciones del modelo.

FUTURO DE LAS BASES DE DATOS

INTRODUCCIÓN.

El origen de las bases de datos se extiende desde mediados de los 60’s y desde entonces
el impacto en las empresas y en la economía ha sido rotunda, se han convertido en un
factor estratégico por ser la base de los sistemas de información y son el fundamento en la
toma de decisiones. El mercado económico de estos productos se eleva constantemente
pues con cada innovación tecnológica las empresas requieren nuevas inversiones que
eviten su atraso y desventaja ante sus competidores.

2. EVOLUCIÓN DE LA GESTIÓN DE DATOS.


Desde la incorporación de la computadora en la automatización de procesos en las
empresas se han empleado programas escritos primero en COBOL y posteriormente la
evolución de los sistemas informáticos, han repercutido en la gestión de de los datos
empresariales.

En sus inicios los manejadores de datos eran productos que gestionaban la información
con modelos de red o jerárquico, entre los principales productos de esta etapa se
encuentran el IMS de IBM y el IDMS de Cullinet, estos sistemas poseían lenguajes procedí
mentales que obligaban a los usuarios a navegar entre los registros uno a uno. Una
característica más de estos manejadores es que no tenían una independencia física/lógica
completa con las desventajas que esto ocasionaba.

En la década de los 70’s Codd propone su modelo relacional que al principio fue
considerado como una elegante teoría matemática pero que en los años 80’s se convirtió
en un tema obligado para los productores de SGBD. En el mercado aparecen ORACLE,
DB2, INGRES, INFORMIX, SYBASE que ofrecen productos con independencia física /
lógica , flexibilidad y lenguajes de especificación que ya no obligan a la navegación entre
registros,.

Durante los 80’s los estudios de investigación se encaminaron hacia la optimización de


consultas, la normalización, la indización por medio de diversos tipos de árboles b,
transacciones, y sistemas distribuidos, estos avances han permitido tener un enorme
avance en las transacciones en línea muy eficientes y seguras. Es importante recordar la
estandarización del SQL.

En la actualidad los temas que en un momento parecían exclusivas de los laboratorios de


investigación se mencionan y ofrecen ya como parte de productos comerciales; temas
como bases de datos multimedia, activas, deductivas, orientadas o objetos, seguras,
móviles, paralelas, difusas, etc. son cada vez más frecuentes y solicitadas por los
ambientes empresariales.

Estamos en la tercera generación de bases de datos en la cual los productos permiten la


gestión de datos y de objetos, permitiendo que se almacene información mucho más
compleja, algunas incluso pueden hacer gestión de conocimiento.

KHOSHAFIAN et al(1990) denomina a este nuevo tipo de SGBD como gestores


inteligentes que son capaces de gestionar la información de una manera natural, haciendo
fácil el almacenamiento, el acceso y la utilización, para lograr esto considera la necesidad
de
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Un soporte para texto, imagen, voz, animación y video
Un modelo de bases de datos orientados al objeto y un soporte de reglas declarativas para
expresar las interrelaciones semánticas entre objetos.

Todos estoas investigaciones deben ser enmarcadas en las arquitecturas y modelo de


datos, aunque el modelo relacional ha predominado en los últimos 30 años existen avances
hacia otros modelos y algunos productos ya ofrecen modelo relacional extendido para
satisfacer los nuevos requerimientos.

3.- NUEVOS RETOS


En la actualidad se podría pensar que las bases de datos están en su madurez pero es
interesante observar que aún no existen soluciones para los problemas de las bases
futuras y las presentes poseen problemas aún no resueltos como por ejemplo:
Los SGBD son monolíticos
En el mundo existen más datos en hojas de cálculo que en BD
El 50 % se los datos se encuentran en BD heredados
Los sistemas de gestión de flujos de trabajo no se basan en tecnologías de BD
Existen muchas aplicaciones que no requieren más que indexación de ficheros
Los servicios de replica no escalan por encima de los 10,000 nodos.
No se pueden combinar datos estructurados con datos no estructurados.

Las empresas actualmente deben tener una actitud abierta para ser competitivas en sus
áreas, según Peter Keen las empresas deben tener las siguientes características:

Flexibilidad organizativa
Adaptación al cambio
Cobertura
Extensión interempresa
Cooperaciones y alianzas
Procesos integrados
Gestión integrada y consistente
En este tipo de empresas los sistemas de información son fundamentales para soportar
las decisiones estratégicas que permitan el desarrollo empresarial, en consecuencia las
bases de datos se verán afectadas por los cambios y nuevos requerimientos. Una
tendencia cada vez más fuerte es la globalización y la competencia, esto obliga a la
interconexión de las BD por medio de protocolos ínter operables, la distribución de datos,
las federaciones y la disponibilidad al 100%.
Las bases de datos se han introducido cada vez más en todo tipo de áreas todas diversas,
en sus orígenes las BD solo se usaban en ambientes administrativos pero eran poco
aplicadas en otras áreas por las limitaciones que ya se han mencionado.
En la actualidad existen áreas en las que se inicia la introducción de las BD por lo
especializado del área o por la falta de tecnología que existía anteriormente., las nuevas
áreas de aplicación son las siguientes:

CASE: La asistencia por ordenador en la Ingeniería del Software, requiere el tratamiento


de información de los proyectos, planeación, código fuente, documentación etc. Este
manejo es conveniente hacerla con ayuda de las bases de datos.
CAD/CAM: La fabricación y el diseño asistido por ordenador es un área que obliga a
aplicaciones con BD que permiten una mejor administración de los procesos productivos.
SIG: Los sistemas de información geográfica son aplicaciones de las BD que permiten
múltiples estudios en áreas ambientales, militares y la prestación de servicios urbanísticos,
estos Sistemas hacen uso de de las Bases de Datos espaciales.
Información textual: La recuperación de información textual se había realizado con
programas especializados, en la actualidad se pretende integrar datos estructurados (BD)
con los no estructurados que nos ofrecen los textos.
ING. IRENE AGUILAR JU REZ
___________________________________________________________
Aplicaciones científicas: Las aplicaciones científicas son una fuente de muchísima
información que deberá ser organizada y administrada para poder ser usada y analizada
adecuadamente.
Sistemas médicos: la información de los sistemas médicos también representan una
fuente de información muy variada y distribuida en varios centros hospitalarios o sanitarios
que requieren un tratamiento adecuado y con altos niveles de seguridad.
Publicidad digital: El sector editorial esta cambiando al poder realizar ediciones
electrónicas con la aplicación de multimedia, este nuevo manejo impone nuevos
requerimientos en las bases de datos.
Educación y formación: La educación se ve impactada con las nuevas tecnologías
que ofrecen nuevas variedades de clases; surgen las aulas virtuales y la creación de
curriculas electrónicas que deben ser administradas y acezadas con ayuda de los SGBD.
Sistemas estadísticos: Estos sistemas imponen requisitos de seguridad y del
tratamiento temporal.
Comercio Electrónico: Los usuarios de la Internet son cada vez mas numeroso y se
espera que el número siga en aumento, las empresas desean aprovechar este gran
mercado y ofrecer a sus clientes sus ofertas y productos, este sistema de comercio obliga
el soporte de información heterogénea, control de concurrencia, servicios confiables de
autenticación y transferencia de fondos seguras.

Las redes de alta velocidad y las leyes que rigen la evolución del Hardware, determinan e
impactan en la evolución de los SGBD, estas leyes son:
Ley de Moore: la capacidad de las memorias crece cuatro veces cada 3 años
Ley de Hoagland: la densidad por área magnética se multiplica por 10 cada diez años.
Ley de Joy: Los MIPS se duplican cada año y medio.
Predicciones de Gray: en ancho de banda típico de &4Kbps de 1990 se convertirá en
100Mbps en el 2000.
El aumento en las capacidades de memoria permite a los SGBD que se puedan mantener
en RAM un número elevado de registros y agilizar los procesos. La implementación de
arquitecturas paralelas permite trabajar con varios procesadores y si el kernel de un SGBD
no trabaja paralelamente no podrá explotar estas ventajas de Hardware.

Las técnicas de compresión y descompresión de datos, los digitalizadores de audio y video,


el almacenamiento jerárquico, las cintas magnéticas paralelas, y el almacenamiento óptico
también ofrecen nuevas alternativas a los SGBD para la administración y gestión de datos
multimediales.

4. FACTORES Y LÍNEAS DE EVOLUCIÓN


Para propiciar la evolución de las bases de Datos existen tres factores que impulsan esta
evolución;
Los fundamentos teóricos: que resultan de los trabajos de investigación.
Los productos que desarrollan los fabricantes de SGBD.
Aplicaciones Prácticas: Son las aplicaciones que solicitan los usuarios.

Estos factores deben estar en equilibrio los investigadores y los productores deben
consideran las necesidades de los usuarios. Las investigaciones futuras y el desarrollo
deben estar encaminados a estos tres aspectos:

Rendimiento: los temas serian Base de datos paralela, máquinas de bases de datos,
Bases de datos en tiempo real, o en memoria principal.
Funcionalidad / Inteligencia: los temas serían BD deductivas, activas, orientadas a
objetos, almacenes de Datos (DataWhereHouse), los repositorios/ diccionarios de datos,
etc.
Distribución / Integración: Temas como BD distribuidas, BD federadas, BD móviles
y las multibases de datos.
ING. IRENE AGUILAR JU REZ
___________________________________________________________

5.- MADUREZ DE LAS NUEVAS TECNOLOGÍAS DE BASES DE DATOS


La madurez de una tecnología puede medirse en tres planos:

El plano científico: La investigación dedicada a la tecnología


Plano Industrial: La investigación dedicada a la tecnología y producción
Plano Comercial: La aceptación que tiene la tecnología y la utilización en el mercado
empresarial.

Así podemos considerar que las BD relacionales son ya maduras pues tienen años de
investigación y aceptación en el mercado, las bases Orientadas a objetos que tienen
algunos años de investigación y algunos productos, no son maduras por que no han sido
aceptadas y usadas por el mercado empresarial.

Otro ejemplo son las bases deductivas que aunque se ha investigado sobre el tema casi no
tienen presencia en el mundo industrial ni comercial.

Las perspectivas de uso de los SGBD también se pueden diferenciar, en dos categorías:
SGBD de consumo: fáciles de usar, abiertos, constituyen la base de los paquetes
estándar
SGBD diferenciadores: Optimados para diferentes plataformas, que proporciona la
ventaja competitiva y forma la base de las aplicaciones críticas.

El fenómeno que esta impulsando nuevos cambios en los SGBD es el Internet y la Web,
impone nuevos requisitos que deben resolverse lo antes posible por las presiones de los
usuarios.
ING. IRENE AGUILAR JU REZ
___________________________________________________________