You are on page 1of 75

Ingeniera en Sistemas Computacionales

Ciclo Escolar 2014-2015



Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 1












Ingeniera en Sistemas Computacionales











Fundamentos de Bases de datos.


I.S.C. Claudia Gabriela Sanchez Enciso

Semi-escolarizado

4to Cuatrimestre









Ciclo Escolar 2014-2015

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 2
TABLA DE CONTENIDO
Pg.
I. PRESENTACIN. 4
II. ANTECEDENTES. 8
III. EVALUACIN. 9
IV. CALENDARIZACIN CUATRIMESTRAL. 11
V. TEMARIO. 16

Tema 1.
1.1. Sistemas de Informacin. 16
1.1.1. Concepto de Sistemas de Informacin. 16
1.2. Sistemas de informacin para la gestin y para la ayuda en la toma de decisiones. 16
1.3. Sistemas de bases de datos y sus aplicaciones 17
1.4. Sistemas de bases de datos frente a los sistemas de archivos. 17
1.5. Los distintitos niveles de abstraccin de una base de datos. 20
1.6. Usuarios y administradores de la base de datos. 22
1.7. Componentes de los sistemas de bases de datos. 23

Tema 2.
2. Modelo Entidad Relacin. 24
2.1. Conceptos bsicos 24
2.1.1. Entidad 24
2.1.2. Relacin. 25
2.2. Diagramas Entidad Relacin. 28
2.3. Diseo de un Esquema de Bases de Datos. 34
2.4. Lenguaje de Modelado Unificado UML (modelo conceptual). 38

Tema 3.
3 Modelo Relacional. 39
3.1 El Modelo Relacional. 39
3.2 lgebra relacional 41

Tema 4
4 Introduccin a SQL. 42
4.1. Introduccin. 42
4.2. Estructura Bsica (SELEC. WHERE). 45
4.3. Funciones de agregacin (GROUPBY, HAVING). 46
4.4. Consultas sobre mltiples tablas 47
4.4.1. Subconsultas 47
4.4.2. Operadores JOIN. 50

Tema 5
5. Diseo de Base de Datos Relacionales 52
5.1. Diseo de esquemas relacionales de bases de datos. 53
5.1.1. Dependencias Funcionales. 53
5.1.2. Anomalas 54
5.1.3. Descomposicin. 54
5.4.1. Formas Normales 55
5.2. Modelo ER y la Normalizacin 56
5.3. Reduccin de un esquema ER a tablas 56
5.4. Anlisis de un Saco Prctico. 57

Tema 6
6. Bases de Datos Relacionadas a Objetos. 57
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 3
6.1. Relaciones anidadas 57
6.2. Tipos complejos 59
6.3. Herencia 61
6.4. Tipos de referencia 60
6.5. Consultas con Tipos Complejos. 62

Tema 7.
7. XML. 63
7.1. Antecedentes. 63
7.2. Estructura de los Datos XML. 64
7.3. Esquema de los Documentos XML. 65
7.3.1. Definicin de tipos de Documento (DTD). 66
7.3.2. Esquema de XML. 66
7.4. Consulta y Transformacin 68
7.4.1. Xpth. 68
7.4.2. Xquery. 69
7.4.3. XSLT 70
7.5. Almacenamiento de datos XML. 70
7.6. Aplicaciones. 70
VI. BIBLIOGRAFA 73

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 4
I.- PRESENTACIN

El principal propsito de este Antologa es orientar a los estudiantes que cursan sus
estudios en el sistema mixto, el cual tiene las caractersticas de una escuela escolarizada
pero tambin de una escuela abierta. En base a lo anterior, el estudiante tendr que
comprometerse a cumplir con la asistencia a la institucin para recibir las asesoras que
por acuerdo de la Secretaria de Educacin se tienen que tomar bajo la tutora de un
especialista en la materia que se denominara ASESOR. A continuacin se presenta una
tabla en donde se podrn identificar los datos generales de la asignatura, tales como el
nombre, ubicacin en el mapa curricular, la clave, las horas planeas para trabajo con
acompaamiento docente y las estimadas de trabajo autnomo, as como el valor de
crditos correspondiente, as como el objetivo general de la asignatura:

Carrera: Ingeniera en Sistemas Computacionales.

Asignatura : Fundamentos de Base de Datos

Ciclo: Primero Clave: 421 Seriacin:

Horas con
Asesor
Horas
Independientes
Horas por
semana
Crditos Total horas clase por curso
28 70 7 6 70

Objetivo General de la Asignatura
Identificar un panorama amplio y general de lo que es la informtica, computacin y las ramas en que
estas se dividen.

Como en este sistema el estudiante tiene la libertad de organizar sus estudios fuera de la
Institucin, en los tiempos y lugares que ms le convengan, se vuelve necesario un
material que le ayude a lograr los objetivos de aprendizaje y que le facilite el acceso a los
materiales didcticos (libros, publicaciones, audiovisuales, etctera) que requiere para su
formacin acadmica. Es por ello que la Universidad Contempornea de las Amricas
dise la presente Antologa con el objeto de apoyar la enseanza en la Ingeniera en
Sistemas Computacionales. El orden de presentacin, as como los textos seleccionados
se basan en el Programa Acadmico que la UCLA imparte en el primer cuatrimestre de la
carrera de nivel Licenciatura.

Todo este esfuerzo de la Universidad Contempornea de las Amricas es para formar
profesionistas que no solo responde a las condiciones actuales del mercado de trabajo,
sino que acta como agente que participa y ayuda a la modernizacin del Sector
Productivo, se desarrolla en varias disciplinas en las reas funcionales de la empresa, en
los sistemas productivos y en el uso de las Bases de Datos, con la finalidad de hacer ms
eficiente la toma de decisiones en la administracin, operacin y control de los sistemas
computacionales, el diseo de sistemas de informacin y el empleo de tecnologa
vanguardista de cmputo. Siempre conducindose a travs de los valores como el
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 5
respeto, la tolerancia, la disciplina y la libertad sin perder de vista la importancia de la
tica profesional.

Es elemental sealar que para el logro de estos objetivos, la labor del Asesor es crucial,
porque en gran parte depende de l la motivacin y la actitud adoptadas por el alumno
hacia la materia. En este sentido, la antologa debe ser considerada tan solo como una
herramienta de apoyo para el proceso de enseanza-aprendizaje, por lo que es
recomendable que el Asesor gue al alumno para optimizar su utilizacin.

Para la formacin de la presente antologa, se conservan valiosas aportaciones para el
estudio de las Bases de Datos y, se incluyen trabajos originales realizados tanto por
profesores de la asignatura como de profesionales reconocidos en ste mbito a nivel
nacional e internacional. Los artculos incluidos expresan los puntos de vista de cada
autor. Con base a la libertad de expresin se respetan las diversas opiniones,
considerando que los Asesores retomarn haciendo uso de su libertad de ctedra sin
perder de vista los Vnculos con los Objetivos Generales del Curriculum.

Vnculos con los Objetivos Generales del Curriculum
Modelara y diseara bases de datos en el desarrollo de sistemas de informacin.

Filosofa universitaria UCLA

La Universidad Contempornea de las Amricas es una institucin que prepara a sus
estudiantes para vivir en un mundo globalizado. En este sentido, se educa hacia la
apertura, la responsabilidad y el respeto; de igual manera se fomenta el dominio del
idioma espaol y el logro de un nivel alto de ingls. Para la UCLA es indispensable
promover y fomentar el conocimiento de la cultura mexicana en sus estudiantes y tambin
brindarles la oportunidad de conocer y relacionarse con otras culturas, inculcndoles
criterios de tolerancia universal, un espritu y vocacin de paz y solidaridad internacional.

La UCLA contribuye al desarrollo de sus estudiantes, proporcionando opciones de
formacin acordes con sus capacidades e intereses. En este sentido se busca transmitir
los conocimientos, fomentar habilidades y desarrollar en los alumnos la capacidad de
elaborar juicios propios, adems de propiciar el desarrollo de su personalidad profesional.
Considera a la formacin escolar un medio fundamental para promover el desarrollo
integral de los individuos, su aportacin al ambiente familiar, escolar y social, as como el
fortalecimiento de actitudes y valores adecuados para la conservacin y el mejoramiento
de su salud fsica y mental.

Parte de la tarea educativa de la UCLA consta en inculcar en los alumnos el sentido de la
responsabilidad compartida, principalmente para que puedan colaborar (cada uno
conforme a su edad) en la realizacin de las clases y en la vida escolar. La formacin y
educacin de la gente UCLA es tarea conjunta de padres y escuela. Ello implica, en
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 6
primer lugar, que ambos mantengan una estrecha comunicacin y se pongan en contacto
a tiempo cuando se trata de prevenir dificultades que tiendan a afectar el desarrollo
escolar de nuestros estudiantes.

La UCLA cuenta con formadores profesionistas acordes al perfil de cada disciplina y
materia, colaboradores de apoyo acadmico y personal administrativo, conscientes del
compromiso con la educacin y servicios integrales que una institucin de calidad debe
tener. Para la Universidad Contempornea de las Amricas, la calidad es uno de los
principales aspectos a cuidar en el desarrollo de los procesos que se lleven a cabo dentro
de la Institucin, siendo el proceso Enseanza-Aprendizaje el que tenga mayor
ponderacin, ya que de ste depender la calidad de los egresados.

Misin.
Formar profesionistas con calidad acadmica, competentes, creativos y emprendedores,
lderes y autodidactas en sus diferentes reas de profesionalizacin que sean capaces de
comprender el entorno nacional e internacional, con un espritu solidario y de amor a la
humanidad.

Visin.
Ser la mejor opcin educativa en el Estado, en el pas y, por qu no, fuera del mismo,
innovando de acuerdo a los avances cientficos y tecnolgicos para usarlos como
herramienta indispensable en el proceso de enseanza-aprendizaje del estudiante.

Valores.
La Universidad Contempornea de las Amricas educa en un entorno solidario hacia la
comunidad, sin distincin social, religiosa y poltica. Siempre basndose en las leyes de
convivencia universal como: El respeto, la tolerancia, la disciplina y la libertad, sin perder
de vista la importancia de la tica profesional.

Esta Antologa, fue preparada con la intencin de favorecer la adquisicin de mtodos de
estudio que contribuyan a mejorar el aprovechamiento y rendimiento acadmico del
estudiante universitario por lo tanto es importante saber utilizarla porque ser
determinante para en la formacin acadmica, es por ello que se describir a grandes
rasgos su estructura y conformacin. A continuacin dar una breve explicacin del
contenido de este material:

1. Programa de estudios de la asignatura.

En el programa de estudios de la asignatura se podr identificar en un esquema los temas
que se analizarn y desarrollarn durante el transcurso del cuatrimestre, as como el
objetivo general del programa de estudios y los objetivos de cada temtica, al igual que la
vinculacin y relacin directa o transversal que tiene esta asignatura con el propsito
general del plan de estudios de la licenciatura, e incluso con otras asignaturas
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 7
conformantes del mapa curricular de la carrera de Ingeniera en sistemas
Computacionales vigente para tu generacin.

2. Planeacin por Unidad o Tema.

I. En primera instancia se encuentra el objetivo particular de la unidad, el cual marca lo
que se pretende lograr durante el desarrollo de la temtica, haciendo referencia al
resultado esperado del proceso de aprendizaje que se experimentar durante el
cuarto cuatrimestre.

II. Despus las actividades de aprendizaje, estas, son las acciones que se realizan por
cuenta propia ya sea de forma individual o en equipo (segn se solicite) al recibir la
asesora del tema correspondiente y desarrollar mediante ellas el proceso de
aprendizaje, durante el desenvolvimiento en dichas actividades, el asesor podr
valorar el desempeo y logro de aprendizajes esperados, as como la comprensin
de lo temas.

Estas fueron planeadas de forma sistematizada, ordenada y coherente con el
propsito de facilitar el proceso de aprendizaje y favorecerlo, para lograr resultados
significativos que se reflejen en el marco referencial de los conocimientos del
estudiante y as adquirir mtodos de estudio que permitan aprovechar al mximo las
investigaciones, lecturas o trabajos realizados en esta y otras asignaturas.

III. Evaluacin, este es un proceso de gran importancia durante la formacin acadmica
debido a que valora diversas situaciones del aprendizaje para identificar en cuales se
debe mejorar, tales como: el compromiso, la colaboracin, los aprendizajes, los
saberes y de igual forma el desempeo del estudiante durante el desarrollo del
proceso enseanza aprendizaje, esta se realizar considerado elementos cualitativos
que al final sern convertidos por el asesor en resultados cuantitativos promediando
lo anterior con el resultado de un examen parcial y as poder asentar la evaluacin
alcanzada por el estudiante. Esto se complementar adems con una serie de
trabajos finales de unidad o parcial, as como el trabajo final de curso.

En la presente antologa tambin se encontrar el material bsico que contiene los temas
a desarrollar en cada una de las unidades, el cual es esencial para contestar las
actividades de aprendizaje, sin embargo el contar con algunas lecturas no debe ser
limitante, ni pretexto para no indagar en otras fuentes de consulta, ya sean libros, artculos
o pginas WEB con soporte acadmico, que puedan complementar el aprendizaje. Para
cualquier duda sobre este material se puede acudir con el asesor o director de carrera
quienes con mucho gusto atendern las inquietudes. Es tiempo de emprender la
experiencia de la formacin profesional, el resultado de la misma depende del
compromiso, empeo y disponibilidad que pongas en todas las sesiones de asesora del
cuatrimestre, las satisfacciones y el xito depende de ti.
Enhorabuena y bienvenido(a)!
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 8
II. ANTECEDENTES
Los orgenes de las bases de datos se remontan a la Antigedad donde ya existan
bibliotecas y toda clase de registros. Adems tambin se utilizaban para recoger
informacin sobre las cosechas y censos. Sin embargo, su bsqueda era lenta y poco
eficaz y no se contaba con la ayuda de mquinas que pudiesen reemplazar el trabajo
manual.
Posteriormente, el uso de las bases de datos se desarroll a partir de las necesidades de
almacenar grandes cantidades de informacin o datos. Sobre todo, desde la aparicin de
las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la
informtica.
El trmino bases de datos fue escuchado por primera vez en un simposio celebrado en
California en 1963.
En una primera aproximacin, se puede decir que una base de datos es un conjunto de
informacin relacionada que se encuentra agrupada o estructurada.
Desde el punto de vista informtico, una base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
Por su parte, un sistema de Gestin de Bases de datos es un tipo de software muy
especfico dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan; o lo que es lo mismo, una agrupacin de programas que
sirven para definir, construir y manipular una base de datos, permitiendo as almacenar y
posteriormente acceder a los datos de forma rpida y estructurada.

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 9
III. EVALUACIN

El proceso evaluativo es de gran importancia durante el desarrollo de la metodologa, es
por ello que tambin debe realizarse de manera estructurada y planeada para darse a
conocer al estudiante y as l conozca los estndares de desempeo que se establecen,
as como los parmetros dentro de los cuales se desenvolver para lograr un
aprovechamiento acadmico ptimo y por consecuencia un resultado reflejo de su trabajo,
actitudes y desempeo durante las actividades. Para tal efecto se propone la siguiente
metodologa de evaluacin:
Estrategia de Trabajo.- Para el desarrollo de los contenidos que integran el modulo se
considerarn las siguientes orientaciones generales:
Actividades de Introduccin:
- Rescatar conocimientos previos respecto a la importancia de las bases de
datos.
- Analizar la definicin de bases de datos as como sus antecedentes
histricos
- Conocer la Importancia y la relacin de las bases de datos con respecto a
la Ingeniera en Sistemas Computacionales.
- Problematizar los procesos de las bases de dados en los sistemas
Informticos en relacin al procesamiento de la informacin dentro de la
empresa.

Desarrollo:
- Abordar las temticas mediante el anlisis de textos, mapas conceptuales,
lneas de tiempo y seminarios de discusin.
- Analizar los distintos aportes tericos y establecer un panorama sobre los
procesos de las bases de datos en los sistemas informticos en la
actualidad.
- Abordar cuando el tema as lo permita, prcticas que permitan vincular
alguna problemtica en especfica.
- Debern crear un blog (blogger o wordpress) en el cual publicaran cada una
de las actividades, la cuales servir como portafolio de evidencias.

Cierre:
- Vincular la informacin terica con algn tema que sea de su inters para
realizar una investigacin, as como realizar prcticas cuando as lo
requieran los temas.

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 10
Propuesta de evaluacin
La evaluacin ser en los sentidos cuantitativo y cualitativo, para lo cual se presentan los
siguientes rasgos a considerar:
Criterio Rasgos Valores
Productos
Entrega de prctica de los temas que as lo
requieran.
Formato
Caractersticas
Ortografa
Coherencia
Extensin
Originalidad
10 Puntos
Exposiciones
Organizacin
Dominio del tema
Claridad de la explicacin
Material de apoyo
Retroalimentacin
Producto de la sesin
10 puntos
Participaciones
Constantes
Significativas
En forma de aportaciones o dudas
Constructivas
10 puntos
Portafolio de evidencias
Completo.
Ordenado.
Organizado
10 puntos
Examen escrito
Individual
Respuestas correctas
10 puntos

La evaluacin se realizar de forma integral, considerando un valor homogneo para
todos los criterios a evaluar, lo que significa que cada uno se valorar en un rango de 0 a
10 segn el grado de cumplimiento de los rasgos de evaluacin, siendo esta ltima la
evaluacin mxima a obtener. Al final del parcial se promediarn todos los criterios a
evaluar para obtener la calificacin correspondiente al periodo que se est valorando.
Cabe resaltar que el proceso evaluativo estar presente en todo momento ya que se
valorar desde el inicio del trabajo, durante el desarrollo del mismo y al trmino de las
actividades, esto quiere decir que se tomar en consideracin no solamente el producto
resultado del trabajo, sino tambin cmo se construy dicho producto, las acciones
realizadas para lograrlo, los apoyos brindados y solicitados a los compaeros y/o asesor.
Para tener derecho a ser evaluado se deber cumplir con lo normado por la UCLA, es
decir asistencia de un 80% a las sesiones de asesora presencial. La evaluacin se har
de manera continua considerando el esfuerzo para la realizacin de lecturas,
participacin, anlisis, formas de socializacin grupal y resultado del ejercicio de
retroalimentacin de conocimientos. La acreditacin numrica ser dada por el promedio
obtenido de acuerdo a la ponderacin de las actividades. Numeral mnimo para acreditar
el curso ser de 7 en una escala del 0 al 10.


Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 11
I. CALENDARIZACIN CUATRIMESTRAL

A continuacin se presenta como sugerencia la siguiente tabla sobre la planeacin
cuatrimestral, donde se puede apreciar el nmero de sesin as como las posibles fechas,
el contenido a abordar, el objetivo que se debe cumplir de manera individual, las
estrategias de aprendizaje y el responsable de las mismas, el cual podr servir al asesor
para organizar y dosificar el contenido de la materia. Se recuerda que este apartado es
una proposicin metodolgica flexible, que el encargado de la asignatura pueda decidir
retomar o transformar segn su criterio.
No.
Periodo
de
desarrollo
Contenido
temtico
Objetivo de la
sesin
Responsable / Estrategia
1 30/08/2014
Organizacin
del trabajo del
modulo
Presentacin de la
Propuesta de
planeacin
Programacin de
actividades por
alumno
Acuerdo de las
estrategias de
trabajo y del
sistema de
evaluacin
Presentacin de la
temtica del modulo
El Asesor ser el responsable de la
propuesta, la cual deber ser expuesta de
manera clara y contundente, no dejando
ningn espacio a la duda ya que el alumno
deber comprender de manera clara cmo
ser la estrategia de trabajo y como ser
evaluado.

El Asesor iniciar con el rescate de
conocimientos previos, fomentando la
reflexin del estudiante mediante
preguntas generadoras sobre las bases de
datos.

2 6/09/2014
TEMA 1.
Introduccin a
los sistemas
De bases de
datos.
1.1 Sistemas de
informacin y
bases de datos.
1.1.1 Concepto
de sistema de
informacin.
1.1.2 Sistemas
de informacin
para la gestin
y para la ayuda
en la toma de
decisiones.
1.2 Sistemas de
informacin
para la gestin
y para la ayuda
en la toma de
decisiones.
1.3 Sistemas de
bases de datos
y sus
aplicaciones.
1.4 Sistemas de
bases de datos
El alumno
comprender el
concepto de los
sistemas de
Informacin de las
Bases de Datos y la
importancia de la
informacin dentro
de las empresas y
corporativos, as
mismo conozca a
los precursores que
contribuyeron a
moldear este
concepto.
El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.

Los Alumnos sern responsables de:
Elaborar un mapa conceptual sobre el
significado de la informtica y la
importancia de la misma.

Elaborar una Lnea de Tiempo donde se
presenten cronolgicamente los
precursores del computador.

Publicar las actividades en el blog personal
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 12
frente a los
sistemas de
archivos

3 13/09/2014
1.5 Los
distintitos
niveles de
abstraccin de
una base de
datos.
1.6 Usuarios y
administradores
de la base de
datos.
1.7
Componentes
de los sistemas
de bases de
datos.
1.8 Arquitectura
de los sistemas
de bases de
datos.


El estudiante
Identificar
conceptos
bsicos de los
sistemas de
bases de datos.


El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.
Los Alumnos sern responsables de:
- Realizar un mapa mental con las ideas
principales de los temas.
- Publicar las actividades en el blog
personal
4 20/09/2014
Tema 2. Modelo
entidad
relacin.
2.1 Conceptos
bsicos.
2.1.1 Entidad.
2.1.2 Relacin.
2.2 Diagramas
entidad-relacin
(ER).

Conocer y
analizara la teora
del desarrollo de
sistemas de bases
de datos, las etapas
del proceso de
desarrollo.
Reconocer la
importancia de
realizar un anlisis
minucioso para
poder comprender
el requerimiento de
un sistema de
Bases de Datos.
Modelar el
esquema de una
base datos.


El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.

Los alumnos sern responsables de:

- Elaborar un cuadro comparativo donde
el alumno pueda caracterizar y
establecer relaciones de similitud y
diferencia entre las diferentes
relaciones en Bases de Datos.
Publicar las actividades en el blog
personal
5 27/09/2014
2.3 Diseo de
un esquema de
base datos.
2.4 Lenguaje de
Modelado
Unificado UML
(Modelo
Conceptual).
Tema 3.
Modelo
relacional.
Conocer y
analizara la teora
del desarrollo de
sistemas de bases
de datos, las etapas
del proceso de
desarrollo.
Reconocer la
importancia de
realizar un anlisis
El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 13

3.1 El modelo
relacional.
3.2 lgebra
relacional.

minucioso para
poder comprender
el requerimiento de
un sistema de
Bases de Datos.
Modelar el
esquema de una
base datos.
Conocer el modelo
relacional y
emplear lgebra
relacional en
consultas.


incluir secuencias de exposicin docente
como componente explicativo y evaluativo.
6 4/10/2014
Tema 4.
Introduccin a
SQL.

4.1
Introduccin.
4.2 Estructura
bsica
(SELECT,
WHERE).
4.3 Funciones
de agregacin
(GROUP
BY, HAVING).
4.4 Consultas
sobre mltiples
tablas
Manejar las
instrucciones de
SQL para consulta
y manipulacin de
las bases de datos.

El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.
7 11/10/2014
Primera
Evaluacin
Valorar el
desempeo del
estudiante durante
el primer parcial.
Asesor
8 18/10/2014
4.4.1
Subconsultas.
4.4.2
Operadores
JOIN.
4.5
Manipulacin de
la base de
datos
(INSERT,UPDA
TE,DELETE).


El Alumno conocer
el concepto de las
Subconsultas,
manipulacin de
operadores y la
manipulacin de las
BD.
El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.

Los Alumnos sern responsables de:

- Elaborar un cuadro comparativo donde
el alumno pueda caracterizar y
establecer relaciones de las consultas
en BD.
- Publicar las actividades en el blog
personal
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 14
9 25/10/2014
Tema 5.
Diseo de
bases de datos
Relacionales.

5.1 Diseo de
esquemas
relacionales de
bases de datos.
5.1.1
Dependencias
funcionales.
5.1.2
Anomalas.
5.1.3
Descomposici
n
El alumno disear
esquemas
relacionales de
base de datos.


El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.


10 1/11/2014
5.1.4 Formas
normales.
5.2 Modelo ER
y la
normalizacin.
5.3 Reduccin
de un esquema
ER a tablas.
5.4 Anlisis de
un caso
prctico.


El alumno disear
esquemas, modelos
y normalizacin de
base de datos.


El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.


Los Alumnos sern responsables de:
De hacer una prctica en un
manejador de BD
11 8/11/2014
Tema 6. Bases
de datos
Relacionales
orientadas a
Objetos.

6.1 Relaciones
anidadas.
6.2 Tipos
complejos.
6.3 Herencia.
6.4 Tipos de
referencia
Ser obtener un
modelo lgico
normalizado que
represente las
entidades
normalizadas y las
interrelaciones. El
modelo de bases de
datos orientado por
objetos es una
adaptacin a los
sistemas de bases
de datos
El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.

Los Alumnos sern responsables de:
Elaborar u proyecto donde se reflejen los
conocimientos adquiridos.
12 15/11/2014
6.5 Consultas
con tipos
complejos.
6.6
Comparacin
entre las bases
de datos
Ser obtener un
modelo lgico
normalizado que
represente las
entidades
normalizadas y las
El alumno ser responsable de preparar
con los temas una Exposicin la cual podr
realizarse en equipos de manera clara y
estructurada, para que el alumno pueda
compartir conocimiento y experiencias. La
exposicin deber contar con una
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 15
orientadas a
objetos y las
bases de datos
relacionales
orientadas a
objetos.

interrelaciones. El
modelo de bases de
datos orientado por
objetos es una
adaptacin a los
sistemas de bases
de datos
introduccin, un desarrollo y un desenlace.
Debern definir y elaborar los elementos
de apoyo necesarios. Debern elaborar un
guion, de acuerdo con la estructura de la
exposicin.
13 22/11/2014
Tema 7. Xml.

7.1
Antecedentes.
7.2 Estructura
de los datos
XML.
7.3 Esquema de
los documentos
XML.

Conocer la utilidad
del formato de
datos XML y su
integracin a los
sistemas de bases
de datos.

El alumno ser responsable de preparar
con los temas una Exposicin la cual podr
realizarse en equipos de manera clara y
estructurada, para que el alumno pueda
compartir conocimiento y experiencias. La
exposicin deber contar con una
introduccin, un desarrollo y un desenlace.
Debern definir y elaborar los elementos
de apoyo necesarios. Debern elaborar un
guion, de acuerdo con la estructura de la
exposicin.
14 29/11/2014
7.3.1 Definicin
de tipos de
documento
(DTD).
7.3.2 Esquemas
de XML.
7.4 Consulta y
transformacin.
7.4.1 Xpath.

Conocer la utilidad
del formato de
datos XML y su
integracin a los
sistemas de bases
de datos.

El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.


15 6/12/2014
7.4.2 Xquery.
7.4.3 XSLT.
7.5
Almacenamient
o de datos XML.
7.6 Aplicaciones
Conocer la utilidad
del formato de
datos XML y su
integracin a los
sistemas de bases
de datos.

El Asesor ser el responsable de transmitir
el conocimiento a travs de la exposicin
la cual deber estar orientada a la
generacin del conocimiento de los
alumnos mediante la sistematizacin, la
apertura de ideas, la flexibilidad, la
reaccin, el cuestionamiento, la
provocacin, la interrogacin, la aclaracin,
la comprensin profunda, la comunicacin
y la participacin de los alumnos. Pueden
incluir secuencias de exposicin docente
como componente explicativo y evaluativo.

16 13/12/2014
Segunda
Evaluacin
Valorar el
desempeo del
estudiante durante
el segundo parcial.
Asesor


Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 16
V. TEMARIO

A continuacin se desglosa el marco terico de los temas y subtemas en cada una de las
unidades del plan de estudios, el cual es esencial para completar las actividades de
aprendizaje, sin embargo el contar con estas no debe ser limitante, ni pretexto para no
indagar en otras fuentes de consulta, ya sean libros, artculos o pginas WEB con soporte
acadmico, que puedan contribuir a complementar o enriquecer el aprendizaje del
alumno.

TEMA 1. INTRODUCCIN A LOS SISTEMAS DE BASES DE DATOS.
Introduccin.
Empezaremos esta unidad didctica viendo cules son los objetivos de los sistemas de
gestin de las bases de datos (SGBD) y, a continuacin, daremos una visin general de la
arquitectura, el funcionamiento y el entorno de estos sistemas.

Para disear una base de datos debemos establecer un proceso partiendo del mundo
real, de manera que sea posible plasmarlo mediante una serie de datos. La imagen que
obtenemos del mundo real se denomina modelo conceptual y consiste en una serie de
elementos que definen lo que queremos plasmar del mundo real en la base de datos. La
definicin de este modelo se denomina esquema conceptual. Una base de datos es una
recopilacin de informacin relativa a un asunto o propsito particular, como el
seguimiento de pedidos de clientes o el mantenimiento de una coleccin de msica.

1.1 Sistemas de informacin y bases de datos.
1.1.1 Concepto de sistema de informacin.
Sistemas de Informacin (SI: informacin system)
Es un conjunto de componentes interrelacionados que renen (u obtienen), procesa,
almacena y distribuye informacin para apoyar la toma de decisiones y el control de una
organizacin.
Un sistema de informacin realiza cuatro actividades blisicas: entrada, almacenamiento,
Procesamiento y salida de informacin.
1.2. Sistemas de informacin para la gestin y para la ayuda en la toma de
decisiones.
Velocidad, para la planificacin, la toma de decisiones y el control. La velocidad y
exactitud con que los directivos pueden recibir informacin sobre lo que est funcionando
bien o lo que est funcionando mal determinarn, en gran medida, la eficacia que tendrn
los sistemas de control. Dado que los sistemas de informacin desempean un papel tan
importante en la administracin de instituciones educativas, ahora es fundamental que los
directivos entiendan cmo deben disear aplicar y manejar tales sistemas. Ante las
presiones econmicas y de inscripciones que las universidades enfrentan en estos
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 17
tiempos, la importancia de los sistemas de informacin administrativa le saltar a la vista,
todos los das.
1.3 Sistemas de bases de datos y sus aplicaciones.
Definicin: Un Sistema de Base de Datos (s.b.d), se trata de un sistema computarizado
con un propsito especial que es almacenar y hacer accesible la informacin que
almacena cuando es solicitada.
Ventajas de un sistema computarizado:
a).- Rapidez: Un sistema informtico nos da ms rapidez al acceder a los datos.
Compacto: La misma informacin nos ocupa menos espacio que en un sistema no
computarizado.
b).- Menos Laborioso: Nos cuesta menos acceder a la informacin.
c).- Actual: Tenemos la informacin en el momento preciso puesta al da.
No todos los sistemas computarizados son sistemas de bases de datos, tambin
podemos encontrar sistemas basados en ficheros.
En un sistema de ficheros tenemos a una aplicacin asociada a un fichero de datos.
Estos sistemas tienen la desventaja de que las aplicaciones estn muy ligadas a la
estructura fsica de los datos, as se crean camino e ndices conforme su estructura de
almacenamiento.
Mientras en un s.b.d. los ficheros de datos no estn ligados a ninguna aplicacin ni a
ninguna estructura. Los datos estn bajo el control del sistema de base de datos.
Ventajas de un Sistema de Base de Datos:
- Eliminacin, Reduccin de Redundancia:
Por redundancia se entiende informacin repetida dentro del s.b.d. Lo ideal es eliminar la
redundancia, aunque en determinados casos se usa teniendo en cuenta que al utilizar
redundancia cualquier cambio hay que transmitirlo a todas las redundancias.
(Propagacin automtica de actualizaciones).
Ejemplo: En un sistema de ficheros podramos tener dos programas uno de cuentas
corrientes y otro de prstamos; cada uno con un fichero mientras que en un s.b.d. con un
solo fichero bastara.
1.4 Sistemas de bases de datos frente a los sistemas de archivos.
Si analizamos la situacin (especialmente la situacin pasada) de algunos sistemas de
informacin, podemos encontrar sistemas en los que existe una proliferacin de ficheros,
especficos cada uno de ellos de una determinada aplicacin (vase figura 1.8). Los datos
se recogen varias veces y se encuentran repetidos en los distintos archivos. Esta
redundancia, adems de malgastar recursos, origina a menudo divergencias en los
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 18
resultados.


Los sistemas informticos de este tipo han sido llamados a veces sistemas orientados
hacia el proceso, debido a que en ellos se pone el nfasis en los tratamientos que reciben
los datos, los cuales se almacenan en ficheros diseados para una determinada
aplicacin. Las aplicaciones se analizan e implantan con entera independencia una de
otras, y los datos no se suelen transferir entre ellas, sino que se duplican siempre que los
correspondientes trabajos los necesitan.
Este planteamiento produce, adems de una ocupacin intil de memoria secundaria, un
aumento de los tiempos de proceso, al repetirse los mismos controles y operaciones en
los distintos ficheros. Pero ms graves todava son las inconsistencias que a menudo se
presentan en estos sistemas, debido a que la actualizacin de los mismos datos, cuando
se encuentran en ms de un fichero, no se suele realizar de forma simultnea en todos
ellos.
Por otra parte, la dependencia de los datos respecto al soporte fsico y a los programas da
lugar a una falta de flexibilidad y de adaptabilidad frente a los cambios que repercute muy
negativamente en el rendimiento de conjunto del sistema informtico.
De este anlisis se deduce claramente la necesidad de una gestin ms racional del
conjunto de datos surgiendo as un nuevo enfoque que se apoya sobre una base de
datos, en la cual los datos son recogidos y almacenados una sola vez, con independencia
de los tratamientos

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 19

Las bases de datos, surgidas como respuesta al nuevo planteamiento de los sistemas
orientados hacia los datos para mejorar la calidad de las prestaciones de los sistemas
informticos y aumentar su rendimiento, presentan una multitud de ventajas frente a los
sistemas clsicos de ficheros.
Las ventajas de los sistemas de bases de datos son, entre otras, las siguientes:
A) Independencia de los datos respecto a los tratamientos y viceversa.- La mutua
independencia de datos y tratamientos lleva a que un cambio de estos ltimos no
imponga un nuevo diseo de la base de datos. Por otra parte, la inclusin de nuevas
informaciones, desaparicin de otras, cambios en la estructura fsica o en los caminos de
acceso, etc., no deben obligar a alterar los programas. Esta independencia de los
tratamientos frente a la estructura de la base de datos, supone una considerable ventaja,
al evitar el importante esfuerzo que origina la reprogramacin de las aplicaciones cuando
se producen cambios en los datos.
B) Coherencia de los resultados.- Debido a que la informacin de la base de datos se
recoge y almacena una sola vez, en los tratamientos se utilizan los mismos datos, por lo
que los resultados de todos ellos son coherentes y perfectamente comparables. Adems,
al no existir (o al menos disminuir en gran medida) la redundancia en los datos,
desaparece el problema que se presentaba en el enfoque clsico de que el cambio de un
dato obligaba a actualizar una serie de ficheros. De esta forma se elimina tambin el
inconveniente de las divergencias en los resultados debidas a actualizaciones no
simultneas en todos los ficheros.
C) Mejor disponibilidad de los datos para el conjunto de los usuarios.- Cuando se aplica la
metodologa de bases de datos, cada usuario ya no es propietario de los datos, puesto
que estos se comparten entre el conjunto de aplicaciones, existiendo una mejor
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 20
disponibilidad de los datos para todos los que tienen necesidad de ellos, siempre que
estn autorizados para su acceso. Hay tambin una mayor transparencia respecto a la
informacin existente, ya que todos los datos que se encuentran en la base se deben
relacionar en un catlogo o diccionario que puede ser ampliamente difundido y accedido
por medios informticos.
D) Mayor valor informativo.- Puesto que la base de datos ha de ser reflejo del mundo real,
en ella se recogen las interrelaciones entre los datos, por lo que el valor informativo del
conjunto es superior a la suma del valor informativo de los elementos individuales que lo
constituyen; es decir, acta el efecto de sinergia.
E) Mejor y ms normalizada documentacin de la informacin, la cual est integrada con
los datos.- En el enfoque clsico los datos se encuentran separados de su contenido
semntico; los primeros se almacenan en ficheros y su descripcin se hace mediante un
lenguaje de programacin que se encuentra en los programas. La documentacin de los
datos, realizada por el analista o programador, es en general insuficiente, y a veces
incluso inexistente. Adems, por lo comn, la estandarizacin brilla por su ausencia. Este
problema se atena en gran medida en las bases de datos, ya que en la misma base se
incluyen no solo los datos, sino tambin la semntica de los mismos.
F) Mayor eficiencia en la recogida, validacin e introduccin de los datos en el sistema.- Al
no existir apenas redundancias, los datos se recogen y validan una sola vez, aumentando
as el rendimiento de todo el proceso previo al almacenamiento.
G) Reduccin del espacio de almacenamiento.- La desaparicin (o disminucin) de las
redundancias, as como la aplicacin de tcnicas de compactacin, lleva en los sistemas
de bases de datos a una menor ocupacin de almacenamiento secundario disco
magntico
Se ha de tener presente, sin embargo, que los elementos del sistema (diccionario,
referencias, punteros, ficheros invertidos, etc.) ocupan bastante espacio.
1.5 Los distintitos niveles de abstraccin de una base de datos.
La estructura lgica de usuario o esquema externo es la visin que tiene de la base de
datos cada usuario en particular; la estructura lgica global (tambin denominada
esquema conceptual) responde al enfoque del conjunto de la empresa y la estructura
fsica (o esquema interno) es la forma en que se organizan los datos en el
almacenamiento fsico. La estructuracin de una base de datos en estos tres niveles de
abstraccin tiene como principal objetivo conseguir la independencia entre datos y
aplicaciones.
ESTRUCTURA LGICA DE USUARIO: ESQUEMA EXTERNO
Debido a que un esquema externo es la visin que de la base de datos tiene un usuario
en particular, en l debern encontrarse reflejados slo aquellos datos e interrelaciones
que necesite el correspondiente usuario. Tambin habrn de especificarse las
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 21
restricciones de uso, como puede ser el derecho a insertar o borrar determinados datos o
el acceso a los mismos, etc.
Aunque esto no sea lo ms conveniente, ya que indica una dependencia fsico-lgica,
pueden que aparezcan en este nivel los aminos de acceso a los datos, hecho que
depender en gran medida del modelo de los datos en el que se apoya el correspondiente
SGBD; en el modelo relacional los caminos de acceso slo se encuentran en el nivel, no
siendo nunca visibles por los usuarios.
Habr tantos esquemas externos como exijan las diferentes aplicaciones. Un mismo
esquema externo podr ser utilizado por varias aplicaciones.
ESTRUCTURA LGICA GLOBAL: ESQUEMA CONCEPTUAL
En el esquema conceptual, por ser la visin global de los datos, deber incluirse la
descripcin de todos los datos e interrelaciones entre estos, as como las restricciones de
integridad y de confidencialidad. La estabilidad de estos conceptos disminuye en el orden
en el que los hemos citado. As, las restricciones de confidencialidad sern menos
estables que las de integridad, y estas, a su vez, sern menos estables que las
interrelaciones o que los datos. Por esta razn, algunos autores proponen que este
esquema se divida en varios, uno para cada concepto, de modo que, por ejemplo, un
cambio en las restricciones no lleve consigo una nueva definicin de todo el esquema.
ESTRUCTURA FSICA: ESQUEMA INTERNO
Aunque el contenido del esquema interno depende mucho de cada SGBD, podemos
distinguir tres clases de aspectos que deben especificarse en l. Estrategia de
almacenamiento.- En este apartado se incluye la asignacin de espacios de
almacenamiento para el conjunto de datos. Tambin deber indicarse la estrategia de
emplazamiento de los datos que ha sido utilizada para optimizar tiempos de respuestas y
espacio de memoria secundaria; por ultimo debern aparecer aspectos como el
tratamiento de los desbordamientos, etc.
Caminos de acceso.- Incluimos en los caminos de acceso la especificacin de claves, as
como la de ndices o punteros.
Miscelnea.- Adems de los aspectos citados, habra que incluir, en el esquema interno,
otros varios, como tcnicas de compresin de datos, de criptografiado, la correspondencia
entre esquema interno y esquema conceptual, tcnicas de ajuste o afinamiento (tuning),
optimizacin, etc.
El administrador de la base de datos habr de especificar:
Dispositivos de memoria: Tamao de la pgina, nmero de pginas asignadas a cada
rea de almacenamiento, tamao de las reas de entrada/salida (buffers), etc.
Correspondencia entre esquemas (mapping): Por omisin, se suele suponer que existe
una correspondencia uno a uno entre los registros del esquema conceptual y los registros
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 22
almacenados; en caso contrario, el administrador debe indicar la relacin existente entre
ellos.
Organizaciones fsicas: Para mejorar la recuperacin y los tiempos de acceso, el sistema
debe dar facilidades para que el administrador defina el tipo de organizacin (dispersin
hashing-, agrupamientos, ndices, etc.) que considere ms adecuada a fin de lograr la
mxima eficiencia; dependiendo del SGBD podr definir tambin definir punteros entre
registros, privilegiando as determinados caminos de acceso.
Controles de acceso: Permite definir reglas para proteger la confidencialidad de los datos
1.6 Usuarios y administradores de la base de datos.
Usuarios normales:
Son aquellos no sofisticados que estn en contacto con el sistema por un programa de
aplicacin con una interfaz de formularios, donde se puede volver a llenar los campos
apropiados del formulario, pueden tambin solo leer informes generados por la base de
datos.
Usuarios sofisticados.
Interactan con el sistema sin programas escritos, usan el lenguaje de consulta de base
de datos para hacer las consultas. Los analistas que envan las consultas para explorar
los datos en la base de datos entran en esta categora, usando ellos las herramientas de
procesamiento analtico en lnea (OLAP, OnLine Analytical Processing), o herramientas
de recopilacin de datos.
Usuarios especializados.
Son usuarios muy sofisticados que escriben aplicaciones de bases de datos
especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas
aplicaciones estn los sistemas de diseo asistido por computadora, sistemas de base de
conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos
complejos (como grficos y de audio) y sistemas de modelado de entorno.
Administradores de la base de datos (ABD).
Son aquellas que tienen el control central del SGBD. Entre las funciones del ABD se
encuentran:
- Definicin del esquema de la base de datos.
- Definicin de la estructura y el mtodo de acceso.
- Modificacin del esquema y la organizacin fsica.
- Concesin de autorizacin para el acceso a los datos.
- Mantenimiento rutinario.

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 23


1.7 Componentes de los sistemas de bases de datos.
Definicion.
Consiste en una coleccin de datos interrelacionados y un conjunto de programas para
acceder a esos datos. El Objetivo primordial de un SGBD es proporcionar un entorno que
sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar informacin
de la base de datos (KORTH, 1995).
Estructura general de un sistema de gestin de Base de Datos.
Un Sistema de Gestin de Base de Datos se divide en mdulos que tratan cada una de
las responsabilidades del sistema general. Los componentes funcionales de un SGBD
(KORTH, 1995) incluyen:
1.- Procesador de Consultas. Traduce sentencias en un lenguaje de consultas a
instrucciones de bajo nivel que entiende el gestor de la base de datos.
2.- Gestor de la Base de Datos. Proporciona la interface entre los datos de bajo nivel
almacenados en la base de datos y los programas de aplicacin y las consultas que se
hacen en el sistema.
3.- Gestor de Archivos. Gestiona la asignacin de espacio en la memoria del disco y de
las estructuras de datos usadas para representar la informacin almacenada en disco.
4.- Pre compilador del Lenguaje de Manipulacin de Datos DML. Convierte las sentencias
en DML incorporadas en un programa de aplicacin en llamadas normales a
procedimientos en el lenguaje principal.
5.- Compilador del Lenguaje de Definicin de Datos DDL. Convierte sentencias en DDL en
un conjunto de tablas metadatos o datos sobre datos.
6.- Gestor del Diccionario de Datos. Almacena metadatos sobre la estructura de la base
de datos.
7.- Control de autorizacin. Este mdulo comprueba que el usuario tiene los permisos
necesarios para llevar a cabo la operacin que solicita.
8.- Procesador de comandos. Una vez que el sistema ha comprobado los permisos del
usuario, se pasa el control al procesador de comandos.
9.- Control de la integridad. Cuando una operacin cambia los datos de la base de datos,
este mdulo debe comprobar que la operacin a realizar satisface todas las restricciones
de integridad necesarias.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 24
10.- Optimizador de consultas. Este mdulo determina la estrategia ptima para la
ejecucin de las consultas.
11.- Gestor de transacciones. Este mdulo realiza el procesamiento de las transacciones.
12.- Planificador (scheduler). Este mdulo es el responsable de asegurar que las
operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin
conflictos.
13.- Gestor de recuperacin. Este mdulo garantiza que la base de datos permanece en
un estado consistente en caso de que se produzca algn fallo.
14.- Gestor de buffers. Este mdulo es el responsable de transferir los datos entre
memoria principal y los dispositivos de almacenamiento secundario. A este mdulo
tambin se le denomina gestor de datos.
1.8 Arquitectura de los sistemas de bases de datos.
TEMA 2. Modelo Entidad Relacin.
El modelo E-R se basa en una percepcin del mundo real, la cual est formada por
objetos bsicos llamados entidades y las relaciones entre estos objetos as como las
caractersticas de estos objetos llamados atributos.
2.1 Conceptos bsicos.
El modelo E-R (Entidad-Relacin) es un modelo de datos conceptual de alto nivel y que
se suele utilizar bastante en el diseo de bases de datos. Se basa en una percepcin del
mundo real que consiste en un conjunto de objetos bsicos denominados entidades y
relaciones, y se desarroll para facilitar el diseo de bases de datos.
El modelo E-R crea un modelo de la realidad que se corresponde con la parcela de la
realidad que queremos modelar, y lo hace de forma que es independiente de la
implementacin posterior, ofreciendo un alto nivel de abstraccin, y siendo una
herramienta grfica fcil de comprender.
El resultado del modelado E-R es un diagrama E-R que representa una estructura lgica
general de la base de datos.
2.1.1 Entidad.
Cualquier tipo de objeto o concepto sobre el que se recoge informacin: cosa, persona,
concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas,
oficios, diseos de productos, conciertos, excursiones, etc. Las entidades se representan
grficamente mediante rectngulos y su nombre aparece en el interior. Un nombre de
entidad slo puede aparecer una vez en el esquema conceptual.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 25
Hay dos tipos de entidades: fuertes y dbiles. Una entidad dbil es una entidad cuya
existencia depende de la existencia de otra entidad. Una entidad fuerte es una entidad
que no es dbil.

2.1.2 Relacin.
Es una correspondencia o asociacin entre dos o ms entidades. Cada relacin tiene un
nombre que describe su funcin. Las relaciones se representan grficamente mediante
rombos y su nombre aparece en el interior.
Las entidades que estn involucradas en una determinada relacin se denominan
entidades participantes. El nmero de participantes en una relacin es lo que se
denomina grado de la relacin. Por lo tanto, una relacin en la que participan dos
entidades es una relacin binaria; si son tres las entidades participantes, la relacin es
ternaria; etc.
Una relacin recursiva es una relacin donde la misma entidad participa ms de una vez
en la relacin con distintos papeles. El nombre de estos papeles es importante para
determinar la funcin de cada participacin.
La cardinalidad con la que una entidad participa en una relacin especifica el nmero
mnimo y el nmero mximo de correspondencias en las que puede tomar parte cada
ocurrencia de dicha entidad. La participacin de una entidad en una relacin es obligatoria
(total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos,
una ocurrencia de la otra entidad participante. Si no, la participacin es opcional (parcial).
Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio.
A veces, surgen problemas cuando se est diseado un esquema conceptual. Estos
problemas, denominados trampas, suelen producirse a causa de una mala interpretacin
en el significado de alguna relacin, por lo que es importante comprobar que el esquema
conceptual carece de dichas trampas. En general, para encontrar las trampas, hay que
asegurarse de que se entiende completamente el significado de cada relacin. Si no se
entienden las relaciones, se puede crear un esquema que no represente fielmente la
realidad.
Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una
relacin entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El
modo de resolverla es reestructurando el esquema para representar la asociacin entre
las entidades correctamente.
Otra de las trampas sucede cuando un esquema sugiere la existencia de una relacin
entre entidades, pero el camino entre una y otra no existe para algunas de sus
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 26
ocurrencias. En este caso, se produce una prdida de informacin que se puede subsanar
introduciendo la relacin que sugera el esquema y que no estaba representada.
Una relacin es la asociacin que existe entre dos a ms entidades.
Un conjunto de relaciones es un grupo de relaciones del mismo tipo.
La cantidad de entidades en una relacin determina el grado de la relacin, por ejemplo
la relacin ALUMNO-MATERIA es de grado 2, ya que intervienen la entidad ALUMNO y la
entidad MATERIA, la relacin PADRES, puede ser de grado 3, ya que involucra las
entidades PADRE, MADRE e HIJO.
Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de las
aplicaciones del modelo slo consideran relaciones del grado 2. Cuando son de tal tipo,
se denominan relaciones binarias.
La funcin que tiene una relacin se llama papel, generalmente no se especifican los
papeles o roles, a menos que se quiera aclarar el significado de una relacin.
Diagrama E-R (sin considerar los atributos, slo las entidades) para los modelos
ejemplificados:

Tipos de relaciones:
Relacin uno a uno.
Se presenta cuando existe una relacin como su nombre lo indica uno a uno, denominado
tambin relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una
entidad del tipo B, y viceversa;
Por ejemplo: la relacin asignacin de automvil que contiene a las entidades
EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un empleado con un nico
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 27
automvil por lo tanto ningn empleado posee ms de un automvil asignado, y ningn
vehculo se asigna a ms de un trabajador.
Es representado grficamente de la siguiente manera:

A: Representa a una entidad de cualquier tipo diferentea una entidad B.
R: en el diagrama representa a la relacin que existe entre las entidades. El extremo de la
flecha que se encuentra punteada indica el uno de la relacin, en este caso, una entidad
A ligada a una entidad B.
Relacin uno a muchos.
Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de
entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una
entidad del tipo A.
Su representacin grfica es la siguiente:



Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica
una entidad A conectada a muchas entidades B.
Muchos a uno.
Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades
del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una
entidad del tipo B.

Muchas a muchas.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 28
Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con
cualquier cantidad de entidades del tipo B.

A los tipos de relaciones antes descritos, tambin se le conoce como cardinalidad.
La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el
modelo E-R y establecer con esto las validaciones necesarias para conseguir que los
datos de la instancia (valor nico en un momento dado de una base de datos)
correspondan con la realidad.
Algunos ejemplos de cardinalidades de la vida comn pueden ser:
Uno a uno.
El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento, ya que
solo existe un solo documento de este tipo para cada una de las diferentes personas.
Uno a muchos.
Cliente Cuenta en un banco, Padre-Hijos, Camin-Pasajeros, zoolgico- animales, rbol
hojas.
Muchos a muchos.
Arquitecto proyectos, fiesta personas, estudiante materias.
Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del punto
de vista que se le d al modelo en estudio, claro est, sujetndose a la realidad.
Otra clase de limitantes lo constituye la dependencia de existencia.
Refirindonos a las mismas entidades A y B, decimos que si la entidad A depende de la
existencia de la entidad B, entonces A es dependiente de existencia por B, si eliminamos
a B tendramos que eliminar por consecuente la entidad A, en este caso B es la entidad
Dominante y A es la entidad subordinada.
2.2 Diagramas entidad-relacin (ER).
Diagrama Entidad-Relacin
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 29
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de
un esquema grfico empleando los terminologa de entidades, que son objetos que
existen y son los elementos principales que se identifican en el problema a resolver con el
diagramado y se distinguen de otros por sus caractersticas particulares denominadas
atributos, el enlace que rige la unin de las entidades est representada por la relacin
del modelo.
Recordemos que un rectngulo nos representa a las entidades; una elipse a los atributos
de las entidades, y una etiqueta dentro de un rombo nos indica la relacin que existe entre
las entidades, destacando con lneas las uniones de estas y que la llave primaria de una
entidad es aquel atributo que se encuentra subrayado.
A continuacin mostraremos algunos ejemplos de modelos E-R, considerando las
cardinalidades que existen entre ellos:
Relacin Uno a Uno.
Problema:
Disear el modelo E-R, para la relacin Registro de automvil que consiste en obtener la
tarjeta de circulacin de un automvil con los siguientes datos:- Automvil- Modelo,
Placas, Color Tarjeta de circulacin -Propietario, No serie, Tipo.

Indicamos con este ejemplo que existe una relacin de pertenencia de uno a uno, ya que
existe una tarjeta de circulacin registrada por cada automvil.
En este ejemplo, representamos que existe un solo presidente para cada pas.

Relacin muchos a muchos.
El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una
cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que existen
cuentas registradas a favor de ms de una persona).
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 30

Reduccin de diagramas E-R a tablas
Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas.
Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna
como nombre el del conjunto de entidades y de las relaciones respectivamente, cada
tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las
cuales tienen el nombre del atributo.
La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de
Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos
Clave, descripcin, costo.
Cuyo diagrama E-R es el siguiente:

Entonces las tablas resultantes siguiendo la descripcin anterior son:
Tabla Empleado
Nombre Puesto Salario RFC
Tefilo
Vendedor
2000 TEAT701210XYZ
Cesar
Auxiliar
ventas
1200 COV741120ABC
Tabla artculo
Clave Descripcin Costo
A100 Abanico 460
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 31
C260
Colcha
matrimonial
1200
Tabla Venta
RFC Clave
TEAT701210XYZ C260
COV741120ABC A100
Ntese que en la tabla de relacin - Venta -, contiene como atributos a las llaves primarias
de las entidades que intervienen en dicha relacin, en caso de que exista un atributo en
las relaciones, este atributo es anexado como una fila ms de la tabla;
Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria
sera la siguiente:
RFC Clave Fecha
TEAT701210XYZ C260 10/12/96
COV741120ABC A100 11/12/96
Diagramas Entidad Relacin.
Son esquemas que nos permitan representar conjunto de entidades y sus
relaciones mediante la siguiente simbologa.


Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 32
* Conjunto de entidades o relacin con sus atributos
* Conjunto entidades con relaciones
* Cada elemento debe etiquetarse con su nombre.
Cardinalidad de las relaciones.

Notas:
a) Las entidades dbiles se sealan como rectngulos de doble pared
b) Los papeles se indican etiquetando las lneas que conectan a los rectngulos con los
rombos.
Ejercicios:
Represente mediante Diagramas E-R las siguientes situaciones:
Un vdeo club mantiene el control de sus clientes utilizando los siguientes datos: nmero
de credencial, nombre, direccin y telfono; l catlogo de pelculas contiene para cada
casete los datos clave, titulo, clasificacin y costo de renta.
A fin de imprimir los pagars y mantener un control de rentas, se registran tambin las
fechas de renta y la cantidad de das que el cliente mantendr la pelcula.


Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 33
Conjunto de Relaciones Con Derivacin Mltiple
Puede darse el caso de que una relacin sea binaria: es decir, que asocie a ms de dos
conjunto de entidades. En estos casos la nica variacin para representar el modelo
consiste en que se establecer CARDINALIDAD para cada pareja de conjuntos de
entidades.
En un almacn se lleva el control de los artculos que son vendidos y facturados. El
objetivo primordial adems de mantener la informacin almacenada consiste en proceso
de facturacin. Los datos que se registran: RFC del cliente, nombre del cliente, domicilio,
clave del artculo, descripcin, costo unitario, numero de factura, fecha, cantidad de
artculos vendidos (de cada uno).

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 34
2.3 Diseo de un esquema de base datos.
Diseo de un esquema de bases de datos Entidad - Relacin.
Para un diseo de un esquema de base de datos hay cuatro fases:
Especificacin de requisitos del usuario.- Consiste en obtener las necesidades de datos
de los usuarios de la base de datos, esto es, sonsacarle al usuario toda la informacin
que se desea plasmar en la base de datos. Esta es la fase que se dar en el examen.
Diseo conceptual (Entidad - Relacin).
Especificacin de requisitos funcionales.- Vamos a definir las operaciones que se harn
sobre la base de datos (operaciones permitidas sobre la base de datos)
Especificacin de requisitos funcionales.- Primero se procede a realizar el diseo lgico,
que consiste en adaptar el diseo conceptual al sistema de gestin de la base de datos, y
a continuacin se realiza el diseo fsico, que consiste en dar todas las caractersticas de
almacenamiento de la base de datos.
Diseo de un Esquema de base de Datos E-R
El modelo de datos E-R proporciona un alto grado de flexibilidad en el diseo de un
esquema de base de datos para modelar una empresa.
Un diseador de base de datos puede elegir entre una amplia variedad de alternativas.
Entre las decisiones a tomar se encuentran:
- El uso de una relacin ternaria o de un par de relaciones binarias.
- Si un concepto de un mundo real se expresa mejor mediante un conjunto de
entidades o por un conjunto de relaciones.
- El uso de un atributo o de un conjunto de entidades.
- El uso de un conjunto de entidades fuerte o dbil.
- La oportunidad de utilizar generalizacin.
- La oportunidad de utilizar agregacin.
Uso de Conjuntos de Entidades o de Conjuntos de Relaciones.
La siguiente figura representa un modelo alternativo en el que las cuentas se representan
no como entidades, sino como relaciones entre clientes y sucursales con nmero-cuenta y
saldo como atributos descriptivos.
Uso de Caractersticas de E-R Ampliado.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 35
- Un conjunto de entidades fuerte y sus conjuntos de entidades dbiles
dependientes pueden ser considerados como un objeto nico en la base de datos.
- La agregacin agrupa una parte de un diagrama E-R en un conjunto de entidades
nicas.
- La generalizacin contribuye a la modularidad permitiendo que atributos comunes
de conjuntos de entidades similares sean representados una sola vez en un
diagrama E-R.
Reduccin de Diagramas E-R a tablas.
- Con el objeto de observar instancias de las bases de datos, los diagramas E-R se
convierten en tablas, Se obtiene una tabla por cada conjunto de entidades o de
relaciones.
- Existen reglas bien definidas para la conversin de los elementos de un diagrama
E-R a tablas:
- a) ENTIDADES FUERTES.- Se crea una tabla con una columna para cada atributo
del conjunto de entidades.
- b) ENTIDADES DBILES.- Se crea una tabla que contiene una columna para los
atributos que forman la llave primaria de la entidad fuerte a la que se encuentra
subordinada.
- c) RELACIN.- se crea una tabla que contiene una columna para cada atributo
descriptivo de la relacin y para cada atributo que conforma la llave primaria de las
entidades que estn relacionadas.
Convierta a tablas y muestre instancias donde pueda observarse la CARDINALIDAD
del diagrama E-R en el caso del vdeo club.

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 36


Generalizacin y Especializacin.
Son procesos que tienen por objeto la fusin o descomposicin de atributos que
conforman entidades. La generalizacin persigue la minimizaron de redundancia en la
base de datos de tal manera que puedan ocultarse las diferencias entre entidades
formando as entidades comunes.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 37

La especializacin en el proceso inverso de la generalizacin; tiene por objeto
reducir el espacio de almacenamiento requerido por la base de datos en el medio
fsico. Trae como consecuencia una redundancia necesaria, pero suprime el gasto
de espacio en el medio secundario para aquellas columnas que no almacenan
informacin por entidades bien determinadas.




Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 38
Inconvenientes del modelo.
Entre las limitaciones que presenta este modelo destacan dos:
1. No pueden presentarse relaciones entre conjunto de relaciones.
2. No pueden visualizarse instancias mediante los diagramas E-R.

Agregacin.
Es una tcnica que permite representar a un bloque de entidades relacionadas como si
fueran un solo conjunto de entidades; permitiendo as la relacin entre conjunto de
relaciones.
2.4 Lenguaje de Modelado Unificado UML (Modelo Conceptual).
El Lenguaje de Modelado Unificado (UML) es la sucesin de una serie de mtodos de
anlisis y diseos orientados a objetos que aparecen a fines de los 80's y principios de los
90s. Directamente unifica los mtodos de Booch, Rumbaugh (OMT), y Jacobson, y algo
ms.

UML es llamado un lenguaje de modelado, no un mtodo. Los mtodos consisten de
ambos de un lenguaje de modelado y de un proceso.

El lenguaje de modelado es la notacin (principalmente grfica) que usan los mtodos
para expresar un diseo. El proceso indica los pasos que se deben seguir para llegar a un
diseo.

La estandarizacin de un lenguaje de modelado es invaluable, ya que es la parte principal
de comunicacin. Si se quiere discutir un diseo con alguien ms, ambos deben conocer
el lenguaje de modelado y no as el proceso que se sigui para obtenerlo.

Una de las metas principales de UML es avanzar en el estado de la industria
proporcionando herramientas de interoperabilidad para el modelado visual de objetos. Sin
embargo para lograr un intercambio exitoso de modelos de informacin entre
herramientas, se requiri definirle una semntica y una notacin.

La notacin es la parte grfica que se ve en los modelos y representa la sintaxis del
lenguaje de modelado. Por ejemplo, la notacin del diagrama de clases define como se
representan los elementos y conceptos como son: una clase, una asociacin y una
multiplicidad. Y qu significa exactamente una asociacin o multiplicidad en una clase?
Un meta modelo es la manera de definir esto (un diagrama, usualmente de clases, que
define la notacin).

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 39
Para que un proveedor diga que cumple con UML debe cubrir con la semntica y con la
notacin.

Una herramienta de UML debe mantener la consistencia entre los diagramas en un mismo
modelo. Bajo esta definicin una herramienta que solo dibuje, no puede cumplir con la
notacin de UML.
Tema 3. Modelo Relacional.
3.1 El modelo relacional.
La ventaja del modelo relacional es que los datos se almacenan, al menos
conceptualmente, de un modo en que los usuarios entienden con mayor facilidad. Los
datos se almacenan como tablas y las relaciones entre las filas y las tablas son visibles en
los datos. Este enfoque permite a los usuarios obtener informacin de la base de datos
sin asistencia de sistemas profesionales de administracin de informacin.
Las caractersticas ms importantes de los modelos relacionales son:
a. Es importante saber que las entradas en la tabla tienen un solo valor (son
atmicos); no se admiten valores mltiples, por lo tanto la interseccin de un
rengln con una columna tiene un solo valor, nunca un conjunto de valores.
b. Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una
columna puede contener nombres de clientes, y en otra puede tener fechas de
nacimiento. Cada columna posee un nombre nico, el orden de las comunas no es
de importancia para la tabla, las columnas de una tabla se conocen como
atributos. Cada atributo tiene un dominio, que es una descripcin fsica y lgica de
valores permitidos.
c. No existen 2 filas en la tabla que sean idnticas.
d. La informacin en las bases de datos son representados como datos explcitos, no
existen apuntadores o ligas entre las tablas.
En el enfoque relacional es sustancialmente distinto de otros enfoques en trminos de sus
estructuras lgicas y del modo de las operaciones de entrada/salida. En el enfoque
relacional, los datos se organizan en tablas llamadas relaciones, cada una de las cuales
se implanta como un archivo. En terminologa relacional una fila en una relacin
representa un registro o una entidad; Cada columna en una relacin representa un campo
o un atributo.
As, una relacin se compone de una coleccin de entidades(o registros) cuyos
propietarios estn descritos por cierto nmero de atributos predeterminados implantados
como campos.
Estructura de las bases de datos relacionales
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 40
La arquitectura relacional se puede expresar en trminos de tres niveles de abstraccin:
nivel interno, conceptual y de visin.
La arquitectura relacional consta de los siguientes componentes:
1. Modelo relacional de datos:
En el nivel conceptual, el modelo relacional de datos est representado por una
coleccin de relaciones almacenadas. Cada registro de tipo conceptual en un
modelo relacional de datos se implanta como un archivo almacenado distinto.
2. Submodelo de datos:
Los esquemas externos de un sistema relacional se llaman submodelos
relacionales de datos; cada uno consta de uno a ms escenarios (vistas) para
describir los datos requeridos por una aplicacin dada. Un escenario puede incluir
datos de una o ms tablas de datos. Cada programa de aplicacin est provisto de
un buffer ("rea de trabajo de usuario") donde el DBMS puede depositar los datos
recuperados de la base para su procesamiento, o puede guardar temporalmente
sus salidas antes de que el DBMS las escriba en la base de datos.
3. Esquema de almacenamiento:
En el nivel interno, cada tabla base se implanta como un archivo almacenado.
Para las recuperaciones sobre las claves principal o secundaria se pueden
establecer uno o ms ndices para accesar un archivo almacenado.
4. Sublenguaje de datos:Es un lenguaje de manejo de datos para el sistema
relacional, el lgebra relacional y clculo relacional, ambos lenguajes son
"relacionalmente completos", esto es, cualquier relacin que pueda derivarse de
una o ms tablas de datos, tambin se puede derivar con u solo comando del
sublenguaje. Por tanto, el modo de operacin de entrada/Salida en un sistema
relacional se puede procesar en la forma: una tabla a la vez en lugar de: un
registro a la vez; en otras palabras, se puede recuperar una tabla en vez de un
solo registro con la ejecucin de un comando del sublenguaje de datos.
El modelo relacional
En 1970, el modo en que se vean las bases de datos cambi por completo cuando E. F.
Codd introdujo el modelo relacional. En aquellos momentos, el enfoque existente para la
estructura de las bases de datos utilizaba punteros fsicos (direcciones de disco) para
relacionar registros de distintos ficheros. Si, por ejemplo, se quera relacionar un registro
con un registro , se deba aadir al registro un campo conteniendo la direccin en
disco del registro . Este campo aadido, un puntero fsico, siempre sealara desde el
registro al registro . Codd demostr que estas bases de datos limitaban en gran
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 41
medida los tipos de operaciones que los usuarios podan realizar sobre los datos.
Adems, estas bases de datos eran muy vulnerables a cambios en el entorno fsico. Si se
aadan los controladores de un nuevo disco al sistema y los datos se movan de una
localizacin fsica a otra, se requera una conversin de los ficheros de datos. Estos
sistemas se basaban en el modelo de red y el modelo jerrquico, los dos modelos lgicos
que constituyeron la primera generacin de los SGBD.
El modelo relacional representa la segunda generacin de los SGBD. En l, todos los
datos estn estructurados a nivel lgico como tablas formadas por filas y columnas,
aunque a nivel fsico pueden tener una estructura completamente distinta. Un punto fuerte
del modelo relacional es la sencillez de su estructura lgica. Pero detrs de esa simple
estructura hay un fundamento terico importante del que carecen los SGBD de la primera
generacin, lo que constituye otro punto a su favor.
Dada la popularidad del modelo relacional, muchos sistemas de la primera generacin se
han modificado para proporcionar una interfaz de usuario relacional, con independencia
del modelo lgico que soportan (de red o jerrquico). Por ejemplo, el sistema de red IDMS
ha evolucionado a IDMS/R e IDMS/SQL, ofreciendo una visin relacional de los datos.
En los ltimos aos, se han propuesto algunas extensiones al modelo relacional para
capturar mejor el significado de los datos, para disponer de los conceptos de la
orientacin a objetos y para disponer de capacidad deductiva.
El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de los
datos:
- Estructura de datos.
- Integridad de datos.
- Manejo de datos.
3.2 lgebra relacional.
El lgebra relacional es un lenguaje formal con una serie de operadores que trabajan
sobre una o varias relaciones para obtener otra relacin resultado, sin que cambien las
relaciones originales. Tanto los operando como los resultados son relaciones, por lo que
la salida de una operacin puede ser la entrada de otra operacin. Esto permite anidar
expresiones del lgebra, del mismo modo que se pueden anidar las expresiones
aritmticas. A esta propiedad se le denomina clausura: las relaciones son cerradas bajo el
lgebra, del mismo modo que los nmeros son cerrados bajo las operaciones aritmticas.
En este apartado se presentan los operadores del lgebra relacional de un modo informal.
Las definiciones formales pueden encontrarse en la bibliografa que se comenta al final
del captulo. Primero se describen los ocho operadores originalmente propuestos por
Codd y despus se estudian algunos operadores adicionales que aaden potencia al
lenguaje.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 42
De los ocho operadores, slo hay cinco que son fundamentales: restriccin, proyeccin,
producto cartesiano, unin y diferencia, que permiten realizar la mayora de las
operaciones de obtencin de datos. Los operadores no fundamentales son la
concatenacin (join), la interseccin y la divisin, que se pueden expresar a partir de los
cinco operadores fundamentales.
La restriccin y la proyeccin son operaciones unarias porque operan sobre una sola
relacin. El resto de las operaciones son binarias porque trabajan sobre pares de
relaciones. En las definiciones que se presentan a continuacin, se supone que R y S son
dos relaciones cuyos atributos son A=(a , a , ..., a ) y B=(b , b , ..., b )
respectivamente.
TEMA 4. Introduccin a SQL.
Un lenguaje de consulta comercial proporciona una interfaz ms amigable al usuario. Un
ejemplo de este tipo de lenguaje es el SQL, (Structured Query Languaje, Lenguaje de
Consulta Estructurado).
Las partes ms importantes del SQL son:
DDL: Lenguaje de definicin de datos (que nos permite crear las estructuras)
DML: Lenguaje de manipulacin de datos (que nos permite tener acceso a las estructuras
para suprimir, modificar e insertar)
4.1 Introduccin.
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado,
utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos
QueryDef, como el argumento de origen del mtodo OpenRecordSet y como la propiedad
RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute para
crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a
travs para manipular bases de datos remotas cliente - servidor.
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.
Comandos
Existen dos tipos de comandos SQL:
- Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 43
- Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la
base de datos.

Comandos DLL
Comando Descripcin
CREATE Utilizado para crear nuevas tablas, campos e ndices
DROP Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la
definicin de los campos.

Comandos DML
Comando Descripcin
SELECT
Utilizado para consultar registros de la base de datos que satisfagan
un criterio determinado
INSERT
Utilizado para cargar lotes de datos en la base de datos en una nica
operacin.
UPDATE
Utilizado para modificar los valores de los campos y registros
especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos

Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar o manipular.
Comando Descripcin
FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los
registros
WHERE
Utilizada para especificar las condiciones que deben reunir los
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 44
registros que se van a seleccionar
GROUP
BY
Utilizada para separar los registros seleccionados en grupos
especficos
HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER
BY
Utilizada para ordenar los registros seleccionados de acuerdo con un
orden especfico

Operadores Lgicos
Operador Uso
AND
Es el "y" lgico. Evala dos condiciones y devuelve un valor de
verdad slo si ambas son ciertas.
OR
Es el "o" lgico. Evala dos condiciones y devuelve un valor de
verdad si alguna de las dos es cierta.
NOT Negacin lgica. Devuelve el valor contrario de la expresin.

Operadores de Comparacin
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor Igual que
>= Mayor Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparacin de un modelo
In Utilizado para especificar registros de una base de datos

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 45



Funciones de Agregado
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de
registros para devolver un nico valor que se aplica a un grupo de registros.
Comando Descripcin
AVG
Utilizada para calcular el promedio de los valores de un campo
determinado
COUNT Utilizada para devolver el nmero de registros de la seleccin
SUM
Utilizada para devolver la suma de todos los valores de un campo
determinado
MAX Utilizada para devolver el valor ms alto de un campo especificado
MIN Utilizada para devolver el valor ms bajo de un campo especificado


4.2 Estructura bsica (SELECT, WHERE).
La estructura bsica de una expresin en SQL contiene 3 partes, Select, From y Where.
La clusula Select se usa para listar los atributos que se desean en el resultado de una
consulta.
From, Lista las relaciones que se van a examinar en la evaluacin de la expresin.
Where, es la definicin de las condiciones a las que puede estar sujeta una consulta.
La consulta tpica de SQL tiene la siguiente forma:
Select A1,A2,A3...An
From r1,r2,r3...rm
Where Condicin(es)
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 46
Donde:
A1,A2,A3...An: Representan a cada atributo(s) o campos de las tablas de la base de datos
relacional. R1,r2,r3...rm: Representan a la(s) tabla(s) involucradas en la
consulta. Condicin: Es el enunciado que rige el resultado de la consulta.
Si se omite la clusula Where, la condicin es considerada como verdadera, la lista de
atributos (A1,A2..An) puede sustituirse por un asterisco (*), para seleccionar todos los
atributos de todas las tablas que aparecen en la clusula From.
Funcionamiento del SQL.
El SQL forma el producto cartesiano de las tablas involucradas en la clusula From,
cumpliendo con la condicin establecida en la orden Where y despus proyecta el
resultado con la orden select.
4.3 Funciones de agregacin (GROUPBY, HAVING).
Combina los registros con valores idnticos, en la lista de campos especificados, en un
nico registro. Para cada registro se crea un valor sumario si se incluye una funcin SQL
agregada, como por ejemplo Sum o Count, en la instruccin SELECT. Su sintaxis es:
SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo
GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL
agregada en la instruccin SELECT. Los valores Null en los campos GROUP BY se
agrupan y no se omiten. No obstante, los valores Null no se evalan en ninguna de las
funciones SQL agregadas.
Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la
clusula HAVING para filtrar los registros una vez agrupados.
A menos que contenga un dato Memo u Objeto OLE , un campo de la lista de campos
GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la clusula
FROM, incluso si el campo no esta incluido en la instruccin SELECT, siempre y cuando
la instruccin SELECT incluya al menos una funcin SQL agregada.
Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula
GROUP BY o como argumentos de una funcin SQL agregada.
SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY Id_Familia;
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 47
Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro
agrupado por la clusula GROUP BY que satisfaga las condiciones de la clusula
HAVING.
HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los
registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se
van a mostrar.
SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia
HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*;

La clusula GROUP BY especifica una consulta sumaria. En vez de producir una fila de
resultados por cada fila de datos de la base de datos, una consulta sumaria agrupa todas
las filas similares y luego produce una fila sumaria de resultados para cada grupo.
Seguido de la clusula GROUP BY se especifican los nombres de uno o ms campos
cuyos resultados se desean agrupados. Tiene la forma:
GROUP BY expresin_columna
expresin_columna debe coincidir con la expresin de columna utilizada en la clusula
SELECT. Puede ser uno o ms nombres de campo de una tabla, separados por coma o
una o ms expresiones separadas por comas.
SELECT RUBRO_CLAVE, COUNT(*) FROM ACTIVOS WHERE TIPO = 'Compra'
GROUP BY RUBRO_CLAVE
Esta sentencia nos devolver una fila por cada area RUBRO_CLAVE, y el nmero de
veces de cada uno.
4.4 Consultas sobre mltiples tablas.
4.4.1 Subconsultas.
Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT,
SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.
Puede utilizar tres formas de sintaxis para crear una subconsulta:
comparacin [ANY | ALL | SOME] (instruccin sql)
expresin [NOT] IN (instruccin sql)
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 48
[NOT] EXISTS (instruccin sql)
En donde:
comparacin: Es una expresin y un operador de comparacin que compara la
expresin con el resultado de la subconsulta.
expresin: Es una expresin por la que se busca el conjunto resultante de la
subconsulta.
instruccin sql : Es una instruccin SELECT, que sigue el mismo formato y reglas que
cualquier otra instruccin SELECT. Debe ir entre parntesis.
Se puede utilizar una subconsulta en lugar de una expresin en la lista de campos de una
instruccin SELECT o en una clusula WHERE o HAVING. En una subconsulta, se utiliza
una instruccin SELECT para proporcionar un conjunto de uno o ms valores
especificados para evaluar en la expresin de la clusula WHERE o HAVING.
Se puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar
registros de la consulta principal, que satisfagan la comparacin con cualquier otro
registro recuperado en la subconsulta. El ejemplo siguiente devuelve todos los productos
cuyo precio unitario es mayor que el de cualquier producto vendido con un descuento
igual o mayor al 25 por ciento:
SELECT * FROM Productos WHERE PrecioUnidad > ANY
(SELECT PrecioUnidad FROM DetallePedido WHERE Descuento >= 0 .25);
El predicado ALL se utiliza para recuperar nicamente aquellos registros de la consulta
principal que satisfacen la comparacin con todos los registros recuperados en la
subconsulta. Si se cambia ANY por ALL en el ejemplo anterior, la consulta devolver
nicamente aquellos productos cuyo precio unitario sea mayor que el de todos los
productos vendidos con un descuento igual o mayor al 25 por ciento. Esto es mucho ms
restrictivo.
El predicado IN se emplea para recuperar nicamente aquellos registros de la consulta
principal para los que algunos registros de la subconsulta contienen un valor igual. El
ejemplo siguiente devuelve todos los productos vendidos con un descuento igual o mayor
al 25 por ciento:
SELECT * FROM Productos WHERE IDProducto IN
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 49
(SELECT IDProducto FROM DetallePedido WHERE Descuento >= 0.25);
Inversamente se puede utilizar NOT IN para recuperar nicamente aquellos registros de la
consulta principal para los que no hay ningn registro de la subconsulta que contenga un
valor igual. El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en
comparaciones de verdad/falso para determinar si la subconsulta devuelve algn registro.
Se puede utilizar tambin alias del nombre de la tabla en una subconsulta para referirse a
tablas listadas en la clusula FROM fuera de la subconsulta. El ejemplo siguiente
devuelve los nombres de los empleados cuyo salario es igual o mayor que el salario
medio de todos los empleados con el mismo ttulo. A la tabla Empleados se le ha dado el
alias T1::
SELECT Apellido, Nombre, Titulo, Salario FROM Empleados AS T1
WHERE Salario >= (SELECT Avg(Salario) FROM Empleados
WHERE T1.Titulo = Empleados.Titulo) ORDER BY Titulo;
En el ejemplo anterior, la palabra reservada AS es opcional.
SELECT Apellidos, Nombre, Cargo, Salario FROM Empleados
WHERE Cargo LIKE "Agente Ven*" AND Salario > ALL (SELECT Salario FROM
Empleados WHERE (Cargo LIKE "*Jefe*") OR (Cargo LIKE "*Director*"));
Obtiene una lista con el nombre, cargo y salario de todos los agentes de ventas cuyo
salario es mayor que el de todos los jefes y directores.
SELECT DISTINCTROW NombreProducto, Precio_Unidad FROM Productos
WHERE (Precio_Unidad = (SELECT Precio_Unidad FROM Productos WHERE
Nombre_Producto = "Almbar anisado");
Obtiene una lista con el nombre y el precio unitario de todos los productos con el mismo
precio que el almbar anisado.
SELECT DISTINCTROW Nombre_Contacto, Nombre_Compaia, Cargo_Contacto,
Telefono FROM Clientes WHERE (ID_Cliente IN (SELECT DISTINCTROW
ID_Cliente FROM Pedidos WHERE Fecha_Pedido >= #04/1/93# <#07/1/93#);
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 50
Obtiene una lista de las compaas y los contactos de todos los clientes que han realizado
un pedido en el segundo trimestre de 1993.
SELECT Nombre, Apellidos FROM Empleados AS E WHERE EXISTS
(SELECT * FROM Pedidos AS O WHERE O.ID_Empleado = E.ID_Empleado);
Selecciona el nombre de todos los empleados que han reservado al menos un pedido.
SELECT DISTINCTROW Pedidos.Id_Producto, Pedidos.Cantidad,
(SELECT DISTINCTROW Productos.Nombre FROM Productos WHERE
Productos.Id_Producto = Pedidos.Id_Producto) AS ElProducto FROM
Pedidos WHERE Pedidos.Cantidad > 150 ORDER BY Pedidos.Id_Producto;
Recupera el Cdigo del Producto y la Cantidad pedida de la tabla pedidos, extrayendo el
nombre del producto de la tabla de productos.
4.4.2 Operadores JOIN.
1. Para las siguientes relaciones


computar
1.
2.
3.
4.
5.
6.
7.
Operadores Join-Like
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 51
Existen varios operadores del estilo del join que son provistos por bases de datos
comerciales.
o El semijoin de las relaciones y , es el multiconjunto de tuplas tal
que hay al menos una tupla en que concuerda con en todos los
atributos comunes de y .
o El antisemijoin , es la bolsa de tuplas en que no concuerdan con
ninguna tupla de en los atributos .
o El outerjoin se forma con ms el agregado de las dangling
tuples de o , donde una tupla est colgando si esta no se junta con
ninguna de la otra relacin. Las tuplas agregadas se rellenan con el
smbolo de indefinido o nulo , en aquellos atributos que la tupla colgante
no posee pero que si aparecen en la relacin resultante.
o El leftouterjoin es como el outerjoin, pero solo las tuplas colgantes
de son rellenadas con y agregadas al resultado.
o El rightouterjoin tambin es como el outerjoin, pero esta vez el
argumento que genera las dangling tuples es el derecho.
2. Dar expresiones para los cinco operadores definidos en el prrafo anterior usando
solamente los operadores standard del lgebra relacional. Para las variantes
``outerjoin'' puede usar una relacin nula que consiste de una
nica tupla con en cada componente.
3. Un operador unario es idempotente si, . Para cada uno de los
operadores , explique por qu son idempotentes o muestre un
contraejemplo.
4. Cuando es posible empujar una seleccin en los dos argumentos de un operador
binario, es necesario decidir si hacerlo o no. Cmo afectara la existencia de
ndices en uno de los argumentos?. Considere, por ejemplo, una expresin
, donde se tiene un ndice sobre .
5. Dar ejemplos donde se muestre que la eliminacin de duplicados no puede ser
empujada por debajo de la unin o diferencia de multiconjuntos.
6. Los operadores similares al join del ejercicio 2 obedecen algunas reglas comunes
y otras no. Para cada caso pruebe o de un contraejemplo para las siguientes
leyes.
o
o
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 52
o
o
7. Reemplace los join naturales en las expresiones siguientes por theta-joins y
proyecciones. Diga cuando los theta-join resultantes forman un grupo asociativo y
conmutativo.
0.
1.
2.
8. Dar reglas para convertir cada una de las siguientes formas de condicin en
lgebra relacional. Asuma que las condiciones se aplican a una relacin y no
estn correlacionadas a ella. Tenga especial cuidado para no introducir o eliminar
duplicados respecto a la definicin formal de SQL.
o
o , donde es un atributo de
o , donde es un atributo de
9. Transforme la siguiente query en un plan lgico y trate de mejorarlo aplicando
leyes algebraicas.
10.
11. SELECT starName
12. FROM Actor1996
13. WHERE studioName="Paramount";
donde hay dos vistas definidas

CREATE VIEW Actor1996 AS
SELECT starName, studioName
FROM MoviesOf1996 NATURAL JOIN starsIn;


CREATE VIEW MovieOf1996 AS
SELECT *
FROM Movie
WHERE year=1996;

y los esquemas son

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 53
Movie(title,year,length,inColor,studioName,producerC#)
StarsIn(title,year,starName)

4.5 Manipulacin de la base de datos
(INSERT,UPDATE,DELETE).
TEMA 5. Diseo de Base de Datos Relacionales
Uno de los retos en el diseo de la base de datos es el de obtener una estructura estable
y lgica tal que:
1. El sistema de base de datos no sufra de anomalas de almacenamiento.
2. El modelo lgico pueda modificarse fcilmente para admitir nuevos requerimientos.
Una base de datos implantada sobre un modelo bien diseado tiene mayor esperanza de
vida aun en un ambiente dinmico, que una base de datos con un diseo pobre. En
promedio, una base de datos experimenta una reorganizacin general cada seis aos,
dependiendo de lo dinmico de los requerimientos de los usuarios. Una base de datos
bien diseada tendr un buen desempeo aunque aumente su tamao, y ser lo
suficientemente flexible para incorporar nuevos requerimientos o caractersticas
adicionales.
Existen diversos riesgos en el diseo de las bases de datos relacionales que afecten la
funcionalidad de la misma, los riesgos generalmente son la redundancia de informacin y
la inconsistencia de datos.
La normalizacin es el proceso de simplificar la relacin entre los campos de un registro.
Por medio de la normalizacin un conjunto de datos en un registro se reemplaza por
varios registros que son ms simples y predecibles y, por lo tanto, ms manejables. La
normalizacin se lleva a cabo por cuatro razones:

- Estructurar los datos de forma que se puedan representar las relaciones
pertinentes entre los datos.
- Permitir la recuperacin sencilla de los datos en respuesta a las solicitudes de
consultas y reportes.
- Simplificar el mantenimiento de los datos actualizndolos, insertndolos y
borrndolos.
- Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan
nuevas aplicaciones
5.1 Diseo de esquemas relacionales de bases de datos.

5.1.1 Dependencias funcionales.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 54

Las dependencias funcionales son una restriccin al conjunto de relaciones legales.
Nos permiten expresar hechos acerca de la empresa que estamos modelando con la base
de datos.

Superclave se puede definir como sigue, sea R un esquema de relaciones. Un
subconjunto K de R es una superclave de R s, en cualquier relacin legal r(R), para todos
los pares t1 y t2 de tuplas de r tales que t1 &out t2, t1[K] &out1; t2[K]. Es decir, dos
tuplas en cualquier relacin legal r(R) no pueden tener el mismo valor en el conjunto de
atributos K.

La nocin de dependencia funcional generaliza la definicin de superclave. Sea
&i_o;_ R y |_ R. La dependencia funcional &i_o;| se cumple en R si en
cualquier relacin legal r(R), para todos los pares de tuplas t1 yt2 en r tales que
t1[&i_o;]=t2[&i_o; ], tambin se cumple que t1[| ]=t2[| ].

Utilizando la notacin de la dependencia funcional, decimos que K es una superclave
de R si KR. Es decir, K es una superclase s siempre que t1[K]=t2[K]. , tambin se
cumpla que t1[R]=t2[R] (es decir, t1 = t2).

Las dependencias funcionales nos permiten expresar restricciones que no pueden
expresarse por medio de superclaves. Considrese el esquema siguiente:
Esquema - prstamo = nombre - sucursal, numero - prstamo, nombre - cliente, cantidad.
Ejemplo: si un prstamo se hace a ms de un cliente en este caso a marido/mujer,
entonces no esperaramos que el atributo numero - prstamo fuera una superclave.

Aplicaciones.
Las dependencias funcionales se usan de dos formas:
1. - Para especificar restricciones en el conjunto deceleraciones legales. O sea solo se
interesa por las relaciones que satisfagan un conjunto dado de dependencias funcionales.
Si queremos limitarnos a las relaciones de esquema R que satisfacen F, decimos que F
se cumple en R.
2. - Para probar si una relacin es legal bajo un conjunto dado de dependencias
funcionales. Si una relacin r es legal bajo un conjunto F de dependencias funcionales,
decimos que r satisface a F.
Considrese la relacin r de la siguiente figura y veamos que dependencias funcionales
se satisfacen. Obsrvese que AC se satisface. Hay dos tuplas que tienen el valor de a1
en A. Estas tuplas tienen el mismo valor en C, c1
&acute;
. De manera similar, las dos tuplas
con valor a2 en A tienen el mismo valor en C, c2
&acute;
. No existen otros pares de tuplas
distintos que tengan el mismo valor en A. Sin embargo, no se satisface la dependencia
funcional CA. Para ver esto considrense las tuplas t1 = ( a2 ,b3 ,c2 , d3) y t2 = ( a3 ,b3
,c2 , d4). Estas dos tuplas tienen el mismo valor en C, c2&acute; y distintos valores en A,
a2 y a3&acute; respectivamente. As hemos encontrado un par de tuplas t1 y t2 tales que
t1[C]=t2[C] pero t1[A]&sup1; t2[A]
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 55


5.1.2 Anomalas.
5.1.3 Descomposicin.
Propiedades deseables de una descomposicin: sea R un esquema de relacin, F un
conjunto de dependencias funcionales de R, y sean R1 y R2 una descomposicin de R.
Esta descomposicin es una descomposicin de reunin sin prdida si al menos una de
las siguientes dependencias est en F+: R1R2 R1 o R1R2 R2.
Cuando se realiza una actualizacin, el sistema debe ser capaz de comprobar que la
actualizacin no crea una relacin ilegal. Para comprobar las actualizaciones
eficientemente, se deben disear unos esquemas de bases de datos relacionales que
permiten validar la actualizacin sin tener que calcular las reuniones. Sea F un conjunto
de dependencias funcionales en el esquema R y sean R1,R2,,Rn una descomposicin de
R. La restriccin de F en Ri es el conjunto Fi que contiene todas las dependencias
funcionales de F+ que incluyen solamente atributos de Ri. Tomando F'=F1F2Fn, una
descomposicin que tenga la propiedad F'+ = F+ se dice que es una descomposicin que
conserva las dependencias.
La ausencia de redundancia en una descomposicin es claramente deseable. Las etapas
por las cuales se alcanza esta ausencia de redundancia se representa por varias formas
normales, que se discuten a continuacin.
5.1.4 Formas Normales.
Se dice que una forma normal particular si satisface cierto conjunto especifico de
restricciones; por ejemplo, se dice que una relacin esta en primera forma normal si y solo
si satisface la restriccin de contener nicamente valores atmicos.
A continuacin se mencionan las formas normales que existen.
Primera Forma Normal
Una relacin R esta en primera forma normal (1NF) y si y solo si todos los dominios
subyacentes solo contienen valores atmicos.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 56
Un dominio es atmico si los elementos del dominio se consideran unidades invisibles.
Esta definicin trata de decirnos que cualquier relacin normalizada esta en 1NF. Una
relacin que tan solo est en primera forma normal es decir, una relacin en 1NF que,
adems no est 2NF y, por tanto, tampoco no est en 3NF se dice que tiene una
estructura indeseable.
Segunda Forma Normal.
Una relacin R esta en segunda forma normal (2NF) si y solo si esta en 1NF y cada
atributo no es primo completamente dependiente de la primera llave primaria.
Un atributo es no primo si no participa en la llave primaria.
Tercera Forma Normal.
En aquellos casos en los que no pueden satisfacerse los tres criterios de diseo,
abandonamos BCNF y aceptamos una forma normal ms dbil llamada TERCERA
FORMA NORMAL (3NF). Veremos que siempre es posible encontrar una descomposicin
de producto sin perdida que conserve las dependencias que estn en 3NF.
5.2 Modelo ER y la normalizacin.
En trminos ms sencillos la normalizacin trata de simplificar el diseo de una base de
datos, esto a travs de la bsqueda de la mejor estructuracin que pueda utilizarse con
las entidades involucradas en ella.
Pasos de la normalizacin:
1. Descomponer todos los grupos de datos en registros bidimensionales.
2. Eliminar todas las relaciones en la que los datos no dependan completamente de
la llave primaria del registro.
3. Eliminar todas las relaciones que contengan dependencias transitivas.
La teora de normalizacin tiene como fundamento el concepto de formas normales; se
dice que una relacin est en una determinada forma normal si satisface un conjunto de
restricciones.
5.3 Reduccin de un esquema ER a tablas.
Una base de datos que se ajusta a un esquema de bases de datos ER se puede
representar por una coleccin de tablas. Para cada conjunto de entidades de la base de
datos y para cada conjunto de relaciones de la base de datos hay una nica tabla a la que
se asigna el nombre del conjunto de entidades o del conjunto de relaciones
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 57
correspondiente. Cada tabla tiene varias columnas, cada una de las cuales tiene un
nombre nico.
Los modelos ER y el de bases de datos relacionales son representaciones abstractas y
lgicas de empresas del mundo real. Debido a que los dos modelos emplean principios de
diseo similares, se puede convertir un diseo ER en un diseo relacional. Convertir una
representacin de bases de datos de un diagrama ER a un formato de tablas es la base
para la derivacin de un diseo de bases de datos relacional desde un diagrama ER.
Aunque existen diferencias importantes entre una relacin y una tabla, una relacin se
puede considerar informalmente como una tabla de valores.
Las restricciones especificadas en un diagrama ER, tales como las claves primarias y las
restricciones de cardinalidad, se corresponden con restricciones sobre las tablas
generadas a partir del diagrama ER.
Un diagrama ER, puede ser representado tambin a travs de una coleccin de tablas.
Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna
como nombre el del conjunto de entidades y de las relaciones respectivamente, cada
tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las
cuales tienen el nombre del atributo.
La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de
Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos
Clave, descripcin, costo.
Cuyo diagrama ER es el siguiente:
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 58

5.4 Anlisis de un caso prctico.

TEMA 6. Bases de Datos Relacionadas a Objetos.
6.1 Relaciones anidadas.
No todas las aplicaciones son compatibles con el supuesto 1FN (todos los atributos tienen
dominios atmicos; unidades indivisibles). Los usuarios ven la base de datos como un
conjunto de objetos ms que como un conjunto de registros. Puede que cada objeto
necesite varios registros para su representacin.
El modelo relacional anidado es una extensin del modelo relacional en la que los
dominios pueden ser atmicos o de relacin. Por tanto, el valor de las tuplas de los
atributos puede ser una relacin, y las relaciones pueden guardarse en otras relaciones.
Los objetos complejos, por tanto, pueden representarse mediante una nica tupla de las
relaciones anidadas. Si se consideran las tuplas de las relaciones anidadas como
elementos de datos, se tiene una correspondencia uno a uno entre los elementos de
datos y los objetos de la vista de la base de datos del usuario.
Las relaciones anidadas se ilustran mediante un ejemplo extrado de una biblioteca.
Considrese que para cada libro se almacena la informacin siguiente:
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 59
- Ttulo del libro.
- Lista de autores.
- Editorial.
- Lista de palabras clave.
Ttulo Listaautores
Editorial
(nombresucursal)
Listapalabrasclave
Compiladores Gomez,Santos (McGraw-Hill, Nueva York) {traduccion, analisis}
redes Santos,Escudero (Oxford, Londres) {Internet, Web}
Puede verse que, si se define una relacin para la informacin anterior, varios de los
dominios sern no atmicos.
- Autores. Un libro puede tener varios autores. No obstante, puede que se desee
hallar todos los documentos entre cuyos autores estuviera Santos. Por tanto, hay
inters en una parte del elemento del dominio conjunto de autores.
- Palabras clave. Si se guarda un conjunto de palabras clave de cada documento
se espera poder recuperar todos los documentos cuyas claves incluyan una o
varias de las palabras clave especificadas. Por tanto, se considera que el dominio
de la lista de palabras clave no es atmico.
- Editorial. A diferencia de palabras clave y autores, editorial no tiene un dominio de
tipo conjunto. Sin embargo, se puede considerar que editorial consiste en los
subcampos nombre y sucursal. Esta manera de considerarlo hace que el dominio
de editorial no sea atmico.
La relacin doc puede representarse en 1FN de la siguiente manera:
Ttulo Autor Dia Mes Ao Palabraclave
Plan de ventas Gomez 1 Abril 89 Beneficios
Plan de ventas Santos 1 Abril 89 Beneficios
Plan de ventas Gomez 1 Abril 89 Estrategia
Plan de ventas Santos 1 Abril 89 Estrategia
... ... ... ... ... ...
Dado que se desea tener acceso a los diferentes autores y palabras clave, hace falta una
tupla para cada par, de modo que los dominios sean atmicos. El atributo fecha se
sustituye por tres atributos, uno por cada campo.
Gran parte de la dificultad se elimina si se supone que se cumplen las dependencias
multivaloradas siguientes:
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 60
- Ttulo -> -> Autor
- Ttulo -> -> Palabra-clave
- Ttulo -> -> Da Mes Ao
Por tanto, la relacin se puede descomponer en 4FN utilizando los esquemas:
- (Ttulo, Autor)
- (Ttulo, Palabra-clave)
- (Ttulo, Da, Mes, Ao)
A continuacin se muestra la proyeccin de la relacin en la descomposicin anterior:
Ttulo Dia Mes Ao
Plan de ventas 1 Abril 89
Informe de situacin 17 Junio 94

Ttulo Autor
Plan de ventas Gomez
Plan de ventas Santos
Informe de situacin Santos
Informe de situacin Escudero

Ttulo Palabra-clave
Plan de ventas Beneficios
Plan de ventas Estrategia
Informe de situacin Beneficios
Informe de situacin Personal

6.2 Tipos complejos.
Los sistemas de tipos complejos y la POO permiten que los conceptos del modelo ER,
como la identidad de las entidades, los atributos multivalorados y la generalizacin y la
especializacin se representen directamente sin que haga falta una compleja traduccin al
modelo relacional.
Objetos de gran tamao (LOB)
Muchas aplicaciones actuales de bases de datos necesitan almacenar atributos grandes
(del orden de varios Kbytes), tales como la fotografa de una persona, o muy grandes (del
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 61
orden de varios Mbytes o incluso Gbytes), tales como imagenes mdicas de alta
resolucin o clips de video. SQL: 1999 proporciona por tanto nuevos tipos de datos para
objetos de gran tamao para datos de caracteres (clob) y binarios (blob). Las letras "lob"
en estos tipos de datos son acrnimos de "Large OBject" (objeto grande).
Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco sentido
extraerlos completamente en SQL. En su lugar, una aplicacin conseguira un
"localizador" de un objeto grande y lo usara para manipularlo desde el lenguaje anfitrin.
Tipos estructurados
Los tipos estructurados permiten la representacin directa de atributos compuestos de los
diagramas ER.
Un tipo estructurado puede tener metodos definidos sobre el. Los metodos se declaran
como parte de la definicin de tipos de un tipo estructurado.
Constructores
Hay que definir funciones constructoras para crear valores de tipos estructurados. En
SQL1999 y en muchos otros lenguajes se utiliza una funcin con el mismo nombre que un
tipo estructurado como funcin constructora. De manera predeterminada, cada tipo
estructurado tiene un constructor sin argumentos, que establece los atributos a sus
valores predefinidos. Cualquier otra funcin constructora tiene que crearse explcitamente.
Puede haber ms de una constructora para el mismo tipo estructurado, aunque tengan el
mismo nombre, solo tienen que ser distinguibles por el nmero de argumentos y sus tipos.
Las debilidades y limitaciones de los tipos complejos
- Pobre representacin de las entidades del mundo real.
- Sobrecarga y poca riqueza semnticas.
- Soporte inadecuado para las restricciones de integridad y empresariales
- Estructura de datos homognea
- Operaciones limitadas
- Dificultades para gestionar las consultas recursivas
- Desadaptacin de impedancias
- Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado
acceso navegacional.
- No ofrecen soporte para tipos definidos por el usuario (slo dominios)
6.3 Herencia.
Las clases en un sistema orientado a objetos se representan en forma jerrquica como en
el diagrama anterior, as que las propiedades o caractersticas del elemento persona las
contendrn (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 62
Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado
en la de especializacin (la relacin ISA) del modelo E-R.
Se pueden crear muchas agrupaciones (clases) para simplificar un modelo as que una
jerarqua (en forma grfica) puede quedar muy extensa, en estos casos tenemos que
tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que
las heredan.
Herencia: frecuentemente, varias de las clases son parecidas entre s. Para permitir la
representacin directa de los parecidos entre las clases, hay que ubicarlas en una
jerarqua de especializaciones. Por ejemplo, los empleados y los clientes pueden
presentarse mediante clases que son especializaciones de la clase persona, pero cliente
y empleado tienen sus variables y mtodos especficos, mientras que las variables y
mtodos comunes se asocian a la clase persona.
La palabra clave isa se utiliza para indicar que una clase es una especializacin de otra.
La herencia es la propiedad de que los objetos de una clase (una subclase) contengan las
variables definidas en sus superclases.
Tambin se heredan igualmente los mtodos.
La mayor parte de los sistemas orientados a objetos permiten que la especializacin sea
parcial; es decir, permiten objetos que pertenezcan a una clase, pero que no pertenezcan
a ninguna de las subclases de la misma.
Herencia mltiple: en la mayor parte de los casos, una organizacin de clases con
estructura de rbol resulta adecuada para describir las aplicaciones, aunque hay
situaciones en que no se puede representar bien una jerarqua de clases con estructura
rbol. Por ejemplo, si dos subclases tienen a su vez dos subclases iguales. Esta dificultad
se resuelve mediante el concepto de herencia mltiple, que es la posibilidad que tienen
las clases de heredar variables y mtodos de varias superclases. Esta relacin se
representa mediante un grafo acclico dirigido (GAD), y se realiza definiendo una clase
temporal por cada subclase que se repite, y esta clase temporal tiene sus propias
variables y mtodos.


6.4 Tipos de referencia.
Las variables de tipos de referencia, conocidas como objetos, almacenan referencias a los
datos reales. Esta seccin presenta las palabras clave siguientes utilizadas para declarar
tipos de referencia:
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 63
- class
- interface
- delegate
Esta seccin tambin presenta los siguientes tipos de referencia integrados:
- object
- string

6.5 Consultas con tipos complejos.
En este apartado se presenta una extensin del lenguaje de consulta SQL para trabajar
con los tipos complejos
Acceso a datos estructurados
Se hace referencia al nombre del atributo compuesto utilizando una notacin con un
punto. Se ver mejor con un ejemplo sencillo: averiguar el ttulo y el nombre de la editorial
de cada documento. la consulta siguiente lleva a cabo esa tarea.
select ttulo, editorial. Nombrefrom libros
Obsrvese que se hace referencia al campo nombre del atributo compuesto editorial.
Expresiones de ruta
Las referencias se desreferencian en SQL:1999 con el smbolo . Considrese otra vez la
tabla departamentos. Se puede usar la siguiente consulta para hallar los nombres y
direcciones de los directores de todos los departamentos.
select director -$>$nombre, director -$>$direccinfrom departamentos
Una expresin como director->nombre se denomina una expresin de ruta.
Dado que directores una referencia a una tupla de la tabla persona, el atributo nombre en
la consulta anterior es el atributo nombre de la tupla de la tabla persona.
Atributos de tipo coleccin
Los arrays son el nico tipo coleccin soportado por SQL:1999. Una expresin que se
evalu a una coleccin puede aparecer en cualquier lugar en que aparezca un nombre de
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 64
relacin, tal como en la clusula from, como ilustran los siguientes ejemplos (Se usa la
tabla Libros definida en el libro).
Si se desea hallar todos los documentos que tienen las palabras base de datos entre sus
palabras clave se puede utilizar la consulta siguiente:
select ttulofrom libroswhere base de datos in (lista - palabras - clave))
Obsrvese que se ha usado el operador unnest(lista - palabras - clave) en una posicin
en la que SQL sin relaciones anidadas habra exigido una subexpresin select - from -
where.
La transformacin de una relacin anidada en una forma con menos (o sin) atributos de
tipo relacin se denomina des anidamiento. El proceso inverso de transformar una
relacin 1FN en una relacin anidada se denomina anidamiento.
6.6 Comparacin entre las bases de datos orientadas a objetos y las bases de datos
relacionales orientadas a objetos.
TEMA 7. XML.
7.1 Antecedentes.
XML proviene de un lenguaje inventado por IBM en los aos setenta, llamado GML
(General Markup Language), que surgi por la necesidad que tena la empresa de
almacenar grandes cantidades de informacin. Este lenguaje gust a la ISO, por lo que en
1986 trabajaron para normalizarlo, creando SGML (Standard General Markup Language),
capaz de adaptarse a un gran abanico de problemas. A partir de l se han creado otros
sistemas para almacenar informacin.
En el ao 1989 Tim Berners Lee cre la web, y junto con ella el lenguaje HTML. Este
lenguaje se defini en el marco de SGML y fue de lejos la aplicacin ms conocida de
este estndar. Los navegadores web sin embargo siempre han puesto pocas exigencias
al cdigo HTML que interpretan y as las pginas web son caticas y no cumplen con la
sintaxis. Estas pginas web dependen fuertemente de una forma especfica de lidiar con
los errores y las ambigedades, lo que hace a las pginas ms frgiles y a los
navegadores ms complejos.
Otra limitacin de SGML es que cada documento pertenece a un vocabulario fijo,
establecido por el DTD. No se pueden combinar elementos de diferentes vocabularios.
Asimismo es imposible para un intrprete (por ejemplo un navegador) analizar el
documento sin tener conocimiento de su gramtica (del DTD). Por ejemplo, el navegador
sabe que antes de una etiqueta debe haberse cerrado cualquier previamente abierto. Los
navegadores resolvieron esto incluyendo lgica ad hoc para el HTML, en vez de incluir un
analizador genrico. Ambas opciones de todos modos son muy complejas para los
navegadores.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 65
Ventajas del XML Es extensible, lo que quiere decir que una vez diseado un lenguaje y
puesto en produccin, igual es posible extenderlo con la adicin de nuevas etiquetas de
manera de que los antiguos consumidores de la vieja versin todava puedan entender el
nuevo formato. El analizador es un componente estndar, no es necesario crear un
analizador especfico para cada lenguaje. Esto posibilita el empleo de uno de los tantos
disponibles. De esta manera se evitan bugs y se acelera el desarrollo de la aplicacin. Si
un tercero decide usar un documento creado en XML, es sencillo entender su estructura y
procesarlo. Mejora la compatibilidad entre aplicaciones.
Estructura de un documento XML La tecnologa XML busca dar solucin al problema de
expresar informacin estructurada de la manera ms abstracta y reutilizable posible. Que
la informacin sea estructurada quiere decir que se compone de partes bien definidas, y
que esas partes se componen a su vez de otras partes. Entonces se tiene un rbol de
pedazos de informacin. Ejemplos son un tema musical, que se compone de compases,
que estn formados a su vez con notas. Estas partes se llaman elementos, y se las
seala mediante etiquetas.
Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de
este como un elemento, un pedazo de informacin con un sentido claro y definido. Las
etiquetas tienen la forma, donde nombre es el nombre del elemento que se est
sealando.
Documentos XML bien formados Los documentos denominados como bien formados
(del ingls well formed) son aquellos que cumplen con todas las definiciones bsicas de
formato y pueden, por lo tanto, ser analizados correctamente por cualquier analizador
sintctico (parser) que cumpla con la norma.
Los documentos han de seguir una estructura estrictamente jerrquica con lo que
respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar
correctamente incluida en otra, es decir, las etiquetas deben estar correctamente
anidadas. Los elementos con contenido deben estar correctamente cerrados. Los
documentos XML slo permiten un elemento raz del que todos los dems sean parte, es
decir, solo puede tener un elemento inicial. Los valores atributos en XML siempre deben
estar encerrados entre comillas simples o dobles. El XML es sensible a maysculas y
minsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios,
tabuladores, retornos de carro, saltos de lnea) que los procesadores XML tratan de forma
diferente en el marcado XML. Es necesario asignar nombres a las estructuras, tipos de
elementos, entidades, elementos particulares, etc. En XML los nombres tienen alguna
caracterstica en comn. Las construcciones como etiquetas, referencias de entidad y
declaraciones se denominan marcas; son partes del documento que el procesador XML
espera entender.


7.2 Estructura de los datos XML.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 66
Estructura de un documento XML La tecnologa XML busca dar solucin al problema de
expresar informacin estructurada de la manera ms abstracta y reutilizable posible. Que
la informacin sea estructurada quiere decir que se compone de partes bien definidas, y
que esas partes se componen a su vez de otras partes.
Entonces se tiene un rbol de pedazos de informacin. Ejemplos son un tema musical,
que se compone de compases, que estn formados a su vez con notas. Estas partes se
llaman elementos, y se las seala mediante etiquetas.
Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de
este como un elemento, un pedazo de informacin con un sentido claro y definido. Las
etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se
est sealando.
A continuacin se muestra un ejemplo para entender la estructura de un documento XML:
<?xml version=1.0 encoding=ISO-88591 ?>
<!DOCTYPE Edit_Mensaje SYSTEM Lista_datos_mensaje.dtd
<!ELEMENT Edit_Mensaje (Mensaje)*>]> <Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
<Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail> Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Parrafo>
</Parrafo>
</Texto>
</Mensaje> </Edit_Mensaje>
7.3 Esquema de los documentos XML.
Las bases de datos tienen esquemas que se usan para restringir qu informacin se
puede almacenar en la base de datos y para restringir los tipos de datos de la informacin
almacenada. En cambio, los documentos XML se pueden crear de forma predeterminada
sin un esquema asociado.
Un elemento puede tener entonces cualquier subelemento o atributo. Aunque dicha
libertad puede ser aceptable algunas veces, dada la naturaleza autodescriptiva del
formato de datos, no es til generalmente cuando los documentos XML se deben
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 67
procesar automticamente como parte de una aplicacin o incluso cuando se van a dar
formato en XML a grandes cantidades de datos relacionados.
7.3.1 Definicin de tipos de documento (DTD).
Una definicin de tipo de documento o DTD (siglas en ingls de document type definition)
es una descripcin de estructura y sintaxis de un documento XML o SGML. Su funcin
bsica es la descripcin del formato de datos, para usar un formato comn y mantener la
consistencia entre todos los documentos que utilicen la misma DTD. De esta forma,
dichos documentos, pueden ser validados, conocen la estructura de los elementos y la
descripcin de los datos que trae consigo cada documento, y pueden adems compartir la
misma descripcin y forma de validacin dentro de un grupo de trabajo que usa el mismo
tipo de informacin.
La DTD es una definicin, en un documento SGML o XML, que especifica restricciones en
la estructura y sintaxis del mismo. La DTD se puede incluir dentro del archivo del
documento, pero normalmente se almacena en un fichero ASCII de texto separado. La
sintaxis de las DTD para SGML y XML es similar pero no idntica.
La definicin de una DTD especifica la sintaxis de una aplicacin de SGML o XML, que
puede ser un estndar ampliamente utilizado como XHTML o una aplicacin local.
Qu describe una DTD?
Las DTD se emplean generalmente para determinar la estructura de un documento
mediante etiquetas (en ingls tags) XML o SGML. Una DTD describe:
- Elementos: indican qu etiquetas son permitidas y el contenido de dichas
etiquetas.
- Estructura: indica el orden en que van las etiquetas en el documento.
- Anidamiento: indica qu etiquetas van dentro de otras.
7.3.2 Esquemas de XML.
Un intento de reparar muchas de estas deficiencias de DTD produjo un lenguaje de
esquema ms sofisticado, XML Schema.Presentamos aqu un ejemplo de XML Schema y
se listan algunas reas en las cuales mejora a las DTDs sin dar mucho detalle de la
sintaxis de XML Schema.
XML Schema es un lenguaje de esquema utilizado para describir la estructura y las
restricciones de los contenidos de los documentos XML de una forma muy precisa, ms
all de las normas sintcticas impuestas por el propio lenguaje XML. Se consigue as una
percepcin del tipo de documento con un nivel alto de abstraccin. Fue desarrollado por el
World Wide Web Consortium (W3C) y alcanz el nivel de recomendacin en mayo de
2001.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 68
El trmino "XML Schema" es utilizado con varios significados dentro del mismo contexto
de descripcin de documentos, y es importante tener en cuenta las siguientes
consideraciones:
1. "XML Schema" (Esquema XML) es el nombre oficial otorgado a la recomendacin del
W3C, que elabor el primer lenguaje de esquema separado de XML (la definicin de tipo
de documentos (DTD) forma parte de XML).
2. Es habitual referirse a los esquemas como "XML schema" de forma genrica, pero se
recomienda utilizar el trmino documento esquema (schema document) o "definicin de
esquema"(schema definition), y reservar XML Schema para la denominacin de este
lenguaje especfico.
3. Aunque genricamente se utilice "XML schemas", XSDL (XML Schema Definition
Language) es el nombre tcnico de los lenguajes de esquema de XML como:
Definicin de Tipo de Documento (DTD)
XML Schema
RELAX NG
Schematron
Namespace Routing Language (NRL)
Document Schema Definition Languages (DSDL)
Document Definition Markup Language (DDML)
Document Structure Description (DSD)
SGML
Schema for Object-Oriented XML (SOX)
XML Schema es un lenguaje de esquema escrito en XML, basado en la gramtica y
pensado para proporcionar una mayor potencia expresiva que las DTD, menos capaz al
describir los documentos a nivel formal.
Los documentos esquema (usualmente con extensin .xsd de XML Schema Definition
(XSD)) se concibieron como una alternativa a las DTD, ms complejas, intentando
superar sus puntos dbiles y buscar nuevas capacidades a la hora de definir estructuras
para documentos XML. El principal aporte de XML Schema es el gran nmero de tipos de
datos que incorpora. De esta manera, XML Schema aumenta las posibilidades y
funcionalidades de aplicaciones de procesado de datos, incluyendo tipos de datos
complejos como fechas, nmeros y strings.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 69
Los esquemas XML Schema superan muchas de las limitaciones y debilidades de las
DTDs. Fue diseado completamente alrededor de namespaces y soporta tipos de datos
tpicos de los lenguajes de programacin, como tambin tipos personalizados simples y
complejos. Un esquema se define pensando en su uso final.
La programacin en Schema XML se basa en Namespaces. Podemos encontrar una
analoga entre stos y los llamados packages en Java. Cada Namespace contiene
elementos y atributos que estn estrechamente relacionados con el Namespace. As, a la
hora de definir un elemento o un atributo de un Namespace, siempre se crear una
conexin entre los diferentes campos de ste. Adems, esta forma de trabajar nos
permite relacionar elementos que no estn en el mismo Namespace.
Despus de escribir un Schema XML se puede confirmar la correcta realizacin mediante
la validacin de esquemas XML: Validacin XML.
7.4 Consulta y transformacin.
Dado el creciente nmero de aplicaciones que usan XML para intercambiar, transmitir y
almacenar datos, las herramientas para una gestin efectiva de datos XML estn siendo
cada vez ms importantes. En particular las herramientas para consultar y transformar los
datos XML son esenciales para extraer informacin de grandes cuerpos de datos XML y
para convertir los datos entre distintas representaciones (esquemas) en XML. Al igual que
la salida de una consulta relacional es una relacin, la salida de una consulta XML puede
ser un documento XML. Como resultado, la consulta y la transformacin se pueden
combinar en una nica herramienta. Varios lenguajes proporcionan grados crecientes de
capacidades de consulta y transformacin:
- X Pathes un lenguaje para expresiones de rutas de accesos y es realmente un
bloque constructor losdos lenguajes de consulta restantes.
- XSLT fue diseado para ser un lenguaje de transformacin como parte del sistema
de hojas de estilo XSL, que se usa para controlar el formato de los datos XML en
HTML u otro lenguaje de impresin o visualizacin. Aunque diseado para el
formato, XSLT puede generar XML como salida y puede expresar muchas consultas
interesantes. Adems, es actualmente el lenguaje ms ampliamente disponible para
manipular datos XML.
- X Query? ha sido propuesto como un estndar para consultar datos XML. X Query
combina las caractersticas de muchas propuestas anteriores para la consulta de
XML, en particular el lenguaje Quilt.
Se usa en todos estos lenguajes un modelo de rbol de datos XML. Un documento XML
se modela como un rbol con nodos para los elementos y atributos. Los nodos elemento
pueden tener nodos hijo, los cuales pueden ser subelementos o atributos del elemento.
De igual forma, cada nodo (ya sea atributo o elemento) distinto del elemento raz tiene un
nodo padre, que es un elemento. El orden de los elementos y atributos en el documento
XML se modela ordenando los nodos hijos de un rbol. Los trminos padre, hijo,
ascendiente, descendiente y hermano se interpretan en el modelo de rbol de datos XML.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 70
7.4.1 Xpath.
XPATH es un lenguaje que permite construir expresiones que recorren y procesan un
documento XML. La idea es parecida a las expresiones regulares para seleccionar partes
de un texto sin atributos. X Path permite buscar y seleccionar teniendo en cuenta la
estructura jerrquica del XML. X Path fue creado para su uso en el estndar XSLT, en el
que se usa para seleccionar y examinar la estructura del documento de entrada de la
transformacin.
X Path en s es un lenguaje sofisticado y complejo, pero distinto de los lenguajes que
usamos (C, C++, Basic, Java). Adems, como casi todo en el mundo de XML, an est
en estado de desarrollo, por lo que no es fcil encontrar herramientas que incorporen
todas sus funcionalidades. X Path es la base sobre la que se han especificado nuevas
herramientas que aprovechar, para el tratamiento de documentos XML.
7.4.2 Xquery.
XQuery es un lenguaje de consulta diseado para consultar colecciones de datos XML.
Es semnticamente similar a SQL, pero incluye algunas capacidades de programacin. El
XQuery 1.0 fue desarrollado por el grupo de trabajo de Consulta XML del W3C. El XQuery
1.0 es una Recomendacin del W3C desde el 23 de enero de 2007.
XQuery 1.0 no incluye capacidad de actualizar los documentos XML. Tampoco puede
realizar bsquedas textuales. Estas dos capacidades estn siendo objeto de desarrollo
para su posible incorporacin en la siguiente versin del lenguaje. XQuery es un lenguaje
de programacin funcional que consta en su totalidad de expresiones. No hay sentencias,
aun cuando algunas de las palabras claves utilizadas pueden sugerir un comportamiento
similar al de una sentencia. Para ejecutar una funcin, la expresin dentro del cuerpo de
la misma se evala y se retorna el resultado obtenido.
CARCTERSTICAS DE XQUERY
Proporciona los medios para extraer y manipular informacin de documentos XML, o de
cualquier fuente de datos que pueda ser representada mediante XML, como por ejemplo
Bases de Datos Relacionales o documentos ofimticos.
XQuery utiliza expresiones XPath para acceder a determinadas partes del documento
XML. Aade adems unas expresiones similares a las usadas en SQL, conocidas como
expresiones FLWOR. Las expresiones FLWOR toman su nombre de los 5 tipos de
sentencias de las que pueden estar compuestas: FOR, LET, WHERE, ORDER BY y
RETURN.
Tambin incluye la posibilidad de construir nuevos documentos XML a partir de los
resultados de la consulta.
APLICACIONES
*Extraer informacin de una base de datos para usarla en un Servicio Web.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 71
*Generar un resumen de la informacin almacenada en una base de datos XML.
Realizar bsquedas textuales en la web y compilar los resultados de la misma.
*Seleccionar y transformar datos de XML a XHTML de forma que se puedan publicar en la
Web.
*Obtener datos desde diferentes fuentes con vistas a ser integradas por la aplicacin.
*Dividir un documento XML que representa una serie de mltiples transacciones en varios
documentos XML, uno por cada transaccin.
7.4.3 XSLT.
XSLT o Transformaciones XSL es un estndar de la organizacin W3C que presenta una
forma de transformar documentos XML en otros e incluso a formatos que no son XML.
Las hojas de estilo XSLT - aunque el trmino de hojas de estilo no se aplica sobre la
funcin directa del XSLT - realizan la transformacin del documento utilizando una o
varias reglas de plantilla. Estas reglas de plantilla unidas al documento fuente a
transformar alimentan un procesador de XSLT, el que realiza las transformaciones
deseadas poniendo el resultado en un archivo de salida, o, como en el caso de una
pgina web, las hace directamente en un dispositivo de presentacin tal como el monitor
del usuario.
Actualmente, XSLT es muy usado en la edicin web, generando pginas HTML o XHTML.
La unin de XML y XSLT permite separar contenido y presentacin, aumentando as la
productividad.
7.5 Almacenamiento de datos XML.
Los documentos y los requerimientos de almacenamiento de datos XML pueden ser
pensados a menudo en dos categoras generales: centrados en los datos y centrados en
los documentos. Las demandas centradas en los datos suelen incluir documentos menos
estructurados, y es apropiada para tems.
Si el documento XML tiene una estructura bien definida y contiene datos actualizables
usados en maneras diversas, el documento es tpicamente centrado en los datos. Los
datos centrados en el documento tienden a ser ms impredecibles en tamao y contenido
que los centrados en los datos los cuales son altamente estructurados, con tipos de datos
de tamao limitado y reglas menos flexibles para campos opcionales y contenido.
Los sistemas de almacenamiento XML deben acomodarse eficientemente con ambos
tipos de requerimientos de datos, dado que XML est siendo ampliamente usado en
sistemas que administran ambos tipos de datos. Las bases de datos relacionales
tradicionales son tpicamente mejores al tratar con requerimientos centrados en los datos,
mientras que los sistemas de administracin de contenido y de documentos son
tpicamente mejores para almacenar datos centrados en el documento.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 72
7.6 Aplicaciones.
XLM puede tener tres posibles roles:
*DE CONTENEDOR DE INFORMACIN
Cuando el XML acta de contenedor, ignora por completo la informacin que contiene.
Esta informacin ir normalmente almacenada en un elemento del tipo CDATA, estos
elementos no son analizados por el parser de XML.
Imaginemos que tenemos dos aplicaciones distintas en un proyecto, podemos establecer
una gramtica XML para encapsular los mensajes XML (aadiendo una cabecera al
documento), y tener un programa que procese las cabeceras de los mensajes y
direcciones a la aplicacin correspondiente.
Tambin nos puede servir para definir un flujo de datos en un workflow.
*PARA DEFINIR EL CONTENIDO DE LOS MENSAJES
Para que se puedan intercambiar informacin dos aplicaciones y puedan procesarla
automticamente.
*PARA DESCRIBIR EL CONTENIDO DE LOS MENSAJES
Si lo utilizamos con este rol, podemos describir el esquema de contenidos de los
mensajes. Estamos definiendo recursos, lo utilizamos como metadatos. Podemos facilitar
el acceso a la informacin a los agentes de software.
Estos son algunos roles y posibles aplicaciones del XML, pero se nos pueden ocurrir.
Descargar Trabajo en el Servidor.
Soporte a Clientes.
Gracias a los enlaces extendidos (XLL), el cliente si tiene algn tipo de problema,
pinchando sobre un enlace de este tipo le puede salir una lista con la persona concreta de
contacto, partes de manuales concretos donde resolver esa duda, departamentos
determinados, ect.
Personalizacin de la Web
Gracias al XSL/XSLT, podemos transformar y dar el formato que queramos a un mismo
documento XML, por lo tanto si sabemos gracias a las cookies, o, los logins, quin es el
usuario/cliente que accede podemos personalizar la vista de la informacin. El
cliente/Usuario de esta forma se sentir ms a gusto, considerar que esa informacin es
suya y que es reconocido en la Web. Muy til para los Sites de Comercio Electrnico.
Buscador Web.
Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 73
Si disponemos de un Site donde toda la informacin se encuentre etiquetada en
documentos XML, las bsquedas seran mucho ms efectivas, ya que se conjuga la
potencia de la bsqueda indexada junto la bsqueda semntica.
Intercambio de informacin.
Si contratamos a una empresa un servicio de noticias, y nos facilitan la estructura de los
datos que vamos a recibir (DTD/Schema), sabremos en todo momento que tipos de
documentos XML estamos recibiendo, y podremos tratarlos de la forma que deseemos.

AVISO LEGAL
Las lecturas que presenta la Coordinacin del sistema escolarizado y semi-escolarizado
de la UCLA en esta Antologa, son fotocopias parciales de los originales y se reproducen
solo con propsitos educativos, de investigacin y sin perseguir la obtencin de lucro
conforme a los artculos 1o y 148o fracciones I, III y IV de la Ley Federal de Derechos de
Autor. El precio que se cobra es para recuperar el costo de produccin de la misma.
Coordinacin del sistema escolarizado y semi-escolarizado.
Universidad Contempornea de las Amricas.

Ingeniera en Sistemas Computacionales
Fundamentos de base de datos. Pgina 74
VI. BIBLIOGRAFA

Referencias Bibliogrficas
Thomas M. Connolly, Carol E. Begg; "Sistemas de base de datos, un enfoque prctico
para diseo, implementacin y gestin. ", Cuarta edicin; Addison Wesley; Madrid;
2005.Captulo 6: Base de datos orientada a objetos.
Silberschatz. Korth. Sudarshan.
Fundamentos de bases de datos 4ta.Edicin. Mc Graw Hill. Adoracin de Miguel Mario
Piattini.
Fundamentos y modelos de base dedatos. Adoracin de Miguel Mario Piattini. C.J.
Date.Introduccin a los sistemas de bases de datos 7ma. Edicin.Pretince Hall.
Jeffrey D. Ullman, Jennifer Widom. Introduccin a los sistemas debases de datos.
Prentice Hall. Ramez Elmasri, Shamkant B. Navathe.
Diseo y desarrollo de aplicaciones
Tercera edicin
Michael V. Mannino
University of Colorado at Denver.
Addison-Wesley, 2002 -962 pginas

Catherine M. Ricardo
Iona College Revisin tcnica Ingeniero Antonio Gonzlez y Pea
Universidad Iberoamericana, Ciudad de Mxico
Doctor Francisco Javier Cartujano
Revisin tcnica
Carlos Villegas Quezada

Referencias Virtuales.
http://www.itlp.edu.mx/publica/tutoriales/basedat2/index.htm
http://www.ultrasist.com.mx/tecnologias/uml.htm
http://www.lania.mx/biblioteca/seminarios/basedatos/sql.html#cgroupby
http://www.itlp.edu.mx/publica/tutoriales/basedat2/hcuatro4_4.htm