Está en la página 1de 166

Modalidad Abierta y a Distancia

Fundamentos de Base de Datos


Guía didáctica

CARRERA CICLO

Tecnologías de la Información 4

ÁREA
TÉCNICA
Departamento de Ciencias de la Computación y Electrónica

Sección de Tecnologías Avanzadas de la Web y SBC

Fundamentos de Base de Datos

Guía didáctica
Autores:
Juan Carlos Morocho Yunga
Audrey Romero

Asesoría virtual
www.utpl.edu.ec
FUNDAMENTOS DE BASE DE DATOS
Guía didáctica
Juan Carlos Morocho
Audrey Romero

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

4.0, CC BY-NY-SA

Diagramación y diseño digital:


EDILOJA Cía. Ltda.
Telefax: 593-7-2611418.
San Cayetano Alto s/n.
www.ediloja.com.ec
edilojainfo@ediloja.com.ec
Loja-Ecuador.

Primera edición.
ISBN digital - 978-9942-25-532-7

La versión digital ha sido acreditada bajo la licencia Creative Commons 4.0, CC BY-NY-SA:
Reconocimiento-No comercial-Compartir igual; la cual permite: copiar, distribuir y comunicar
públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales
y se permiten obras derivadas, siempre que mantenga la misma licencia al ser divulgada.https://
creativecommons.org/licenses/by-nc-sa/4.0/deed.es

24 de septiembre, 2019
2. Índice

2. Índice 4

3. Introducción 7

4. Bibliografía 10

4.1. Básica 10

4.2. Complementaria 10

5. Orientaciones generales para el estudio 13

6. Proceso de enseñanza-aprendizaje para el logro de competencias 18

PRIMER BIMESTRE

UNIDAD 1. INTRODUCCIÓN A LOS SISTEMAS DE BASES DE DATOS 18

1.1. Introducción a los sistemas de gestión de bases de datos y


bases de datos 19

1.2. Sistema de gestión de bases de datos 19

1.3. Sistemas basados en archivos 20

1.4. Sistemas de bases de datos 21

1.5. Independencia y niveles de abstracción 23

1.6. Arquitecturas del SGBD 25

1.7. Lenguajes e interfaces de bases de datos 30

1.8. Funciones de un SGBD 33

1.9. Almacenamiento y análisis de datos 34

1.10. Proceso de construcción de una base de datos 36

Autoevaluación 1 40

UNIDAD 2. MODELO RELACIONAL 43

2.1. Estructura de las bases de datos relacionales 44

2.2. Claves 45

2.3. Esquemas de bases de datos relacionales y su representación 46


2.4. Restricciones de integridad 48

2.5. Operaciones relacionales 49

2.6. Lenguajes de consulta relacional 52

Autoevaluación 2 55

UNIDAD 3. LENGUAJE SQL 58

3.1. Introducción al lenguaje de consulta estructurado 59

3.2. Definición de datos en SQL 62

3.3. Consultas con SQL 68

3.4. Operaciones básicas adicionales 70

3.5. Valores nulos 73

3.6. Funciones de agregación 73

3.7. Subconsultas 76

3.8. Modificación de la base de datos 77

3.9. Combinación de tablas 80

3.10. Vistas 85

3.11. Transacciones 87

3.12. Restricciones de integridad 88

3.13. Índices 90

3.14. Privilegios 91

Autoevaluación 3 95

SEGUNDO BIMESTRE

UNIDAD 4. LENGUAJES DE CONSULTA FORMALES 100

4.1. Algebra relacional 101

4.2. Operaciones fundamentales 102

4.3. Cálculo relacional 108

Autoevaluación 4 111
UNIDAD 5. DISEÑO CONCEPTUAL DE BASE DE DATOS 115

5.1. Diseño de bases de datos 116

5.2. Fases del Diseño de Bases de Datos 116

5.3. Diseño Conceptual 119

5.4. Modelo E-R 119

5.5. Especialización/Generalización 123

5.6. Consideraciones finales del modelado 125

Autoevaluación 5 127

UNIDAD 6. DISEÑO LÓGICO DE BASE DE DATOS 130

6.1. Principios de diseño lógico de bases de datos 130

6.2. Técnica de Normalización 134

6.3. Dominios atómicos y Primera Forma Normal 135

6.4. Dependencias funcionales 139

6.5. Segunda Forma Normal 140

6.6. Tercera Forma Normal 141

Autoevaluación 6 145

7. Solucionario 150

8. Glosario 161

9. Referencias Bibliográficas 163

10. Anexos 164


Texto-guía: Fundamentos de Base de Datos

3. Introducción

Lo que puedes hacer hoy puede mejorar todos tus


mañanas.

(Ralph Martson)

Estimado estudiante, para nosotros es un placer acompañarlo en su viaje para la


obtención de un título profesional, que le traerá muchas satisfacciones personales
y profesionales y que con seguridad harán eco en la sociedad.

La Informática nos acerca a nuevas formas de pensamiento, de comunicación,


de solución, etc.; donde embarcarse en el estudio de esta carrera profesional
requiere perseverancia, pasión, actitud entre otras cualidades. Cualidades que
le permitirán la obtención del título profesional de Ingeniero en Tecnologías de la
Información, que será el inicio de muchos logros en su vida profesional en esta
área. Para nosotros es muy grato decirle que, parte de este viaje corresponde al
aprendizaje del tema de bases de datos.

Fundamentos de Base de Datos es una asignatura que corresponde al cuarto


ciclo de la malla curricular de Ingeniería en Tecnologías de la Información (TI)
de la Modalidad Abierta y a Distancia. La asignatura forma parte de la unidad la
organización curricular básica, en el campo de formación de la praxis profesional.
Fundamentos de Bases de Datos aborda los tópicos más relevantes que usted,
requiere dominar para llevar a la práctica el diseño de bases de datos y la gestión
de motores de bases de datos. La asignatura requiere una dedicación de 160
horas, tiempo que deberá distribuir entre: las actividades de docencia (32 horas),
prácticas de aplicación y experimentación de los aprendizajes (32 horas), y
aprendizaje autónomo (96 horas).

7 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

El propósito principal de la asignatura es brindarle el conocimiento, las estrategias


y las prácticas sobre conceptos, reglas, herramientas y procedimientos que son
requeridos para el desarrollo de los sistemas de información, específicamente en
las tareas de diseño, administración y utilización de bases de datos; con el fin de
desarrollar habilidades que las pueda aplicar en el ejercicio profesional. Además,
esta asignatura contiene es base para el estudio de Bases de Datos Avanzadas.

Las bases de datos constituyen uno de los elementos esenciales de los sistemas
de información y han cambiado considerablemente el manejo de muchas
organizaciones. Las bases de datos son parte de nuestra vida cotidiana; a
menudo interactuamos con ellas, muchas de las veces sin ser conscientes de
ello. Cuando cancelamos las compras del supermercado, reservamos tickets de
avión, hacemos alguna transacción a través del cajero automático y en muchas
otras actividades cotidianas estamos haciendo uso de las bases de datos.
Seguramente usted está emocionado por conocer más a fondo sobre la gestión
de la información dentro de las bases de datos, el diseño de una base de datos,
las herramientas que se pueden utilizar, etc. Según vayamos desarrollando los
contenidos propuestos en esta asignatura, usted irá obteniendo la respuesta a
estas preguntas.

“Las bases de datos constituyen ahora el fundamento de todos los sistemas de


información y han cambiado de manera fundamental la forma en que muchas
organizaciones operan” (Connolly, T. y Begg, C., 2005).

Con el afán de alcanzar las competencias específicas de la asignatura, se ha


organizado en seis unidades, tres por cada bimestre. Durante el primer bimestre,
la unidad 1 aborda la terminología y los conceptos básicos de las bases de datos,
la unidad 2 abarca los componentes del modelo relacional y la unidad 3 contiene
el lenguaje de consulta SQL.
Para el segundo bimestre, la unidad 4 aborda los
lenguajes de consulta formales: álgebra relacional y cálculo relacional, la unidad
5 abarca el diseño conceptual de base de datos y finalmente, la unidad 6 abarca
el diseño lógico de bases de datos. El desarrollo de los contenidos de esta
asignatura nos brindará la oportunidad de adquirir los conocimientos y habilidades
que se requieran para tomar mejores decisiones en el área de bases de datos.

8 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

Le invitamos a que juntos llevemos el estudio de Fundamentos de Bases


de Datos, recordándole que estamos para guiarle y apoyarle en su proceso
aprendizaje.

Finalmente, queremos desearle el mejor de los éxitos en el presente ciclo de


estudios e invitarle a que realice su mejor esfuerzo en este camino de superación
profesional y personal, que contribuye a su formación integral.

9 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

4. Bibliografía

4.1. Básica

Silberschatz, A., Korth, H., y Sudarshan, S. (2014). Fundamentos de bases de


datos. Madrid, España: McGraw-Hill Interamericana de España.

El texto abarca gran parte de los temas que se proponen en la asignatura


de Fundamentos de Base de Datos. Inicia con unidades de conocimiento
elementales y luego profundiza en los temas avanzados. Este texto contiene
resúmenes de los temas más relevantes y, además, contiene ejercicios que
le ayudarán a aplicar los temas de estudio.

Morocho, J. y Romero-Peláez, A., Guía didáctica de Fundamentos de bases de


datos. Loja, Ecuador. Editorial de la Universidad Técnica Particular de Loja.

La guía didáctica es un material educativo que ha sido elaborado con


la finalidad de apoyar el proceso de aprendizaje del estudiante a través
de diversas actividades que orienten, motiven, retroalimenten y evalúen
los conocimientos que irá adquiriendo en el transcurso de su formación
académica.

4.2. Complementaria

Connolly, T., y Begg, C. (2005). Sistemas de bases de datos: un enfoque práctico


para diseño, implementación y gestión. Madrid, España: Pearson Educación.

El texto propone contenido es bastante didáctico, ofrece recursos de


evaluación al final de cada unidad, dispone de casos de estudio para la parte
práctica de la asignatura. Ofrece recursos adicionales en la Web que ayudan
a complementar los contenidos del texto.

10 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

Coronel, C., y Morris, S. (2011). Bases de datos. Diseño, implementación y


gestión (Novena Edi). México: Cengage Learning Editores.

El texto ofrece temas relacionados con los fundamentos de base de datos,


como el lenguaje SQL, el proceso de normalización y temas relacionados
con el diseño de bases de datos relacionales. Propone ejemplos que ayudan
a un mejor entendimiento de las bases teóricas.

Elmasri Ramez, N. S. (2016). Fundamentals of Database Systems (Séptima Ed).


Boston, Estados Unidos: Pearson.

El texto presenta los conceptos fundamentales necesarios para el diseño,


el uso y la implementación de sistemas de bases de datos y aplicaciones
de bases de datos. Hace hincapié en los fundamentos de modelado de
base de datos y el diseño, los lenguajes y los modelos proporcionados por
los sistemas de gestión de base de datos y técnicas de implementación
del sistema de base de datos. Proporciona un análisis exhaustivo de
los aspectos más importantes de los sistemas de bases de datos y sus
aplicaciones.

López, I., Castellano, M. J., y Ospino, J. (2013). Bases de datos. México D.F.,
México: Alfaomega.

El libro aborda el tema de las bases de datos relacionales, con especial


vinculación hacia el desarrollo de aplicaciones para gestión de información.
La orientación del texto es bastante práctica con actividades y ejercicios
aplicados a diferentes SGBD. Es un buen complemento para reforzar el
aprendizaje del diseño, manejo y acceso a bases de datos.

11 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

Silberschatz, A., Korth, H., y Sudarshan, S. (2010). Database System Concepts


(6ta Edición). Yale, USA: McGraw-Hill. Disponible en Database System
Concepts

La página Web contiene material referente al texto básico que puede


consultar como apoyo para el mejor desarrollo de los contenidos, el acceso
es libre.

W3schools.com. SQL Tutorial. Disponible en W3Schools

El portal ofrece varios tutoriales, entre ellos se encuentra el tutorial de SQL


que es un recurso online. Además, permite evaluar los conocimientos que le
permite medir el avance del aprendizaje en el lenguaje SQL.

12 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

5. Orientaciones generales para el estudio

El estudio a distancia es un reto que requiere esfuerzo, dedicación y planificación,


por ello, debe hacer de esta actividad un trabajo continuo y sistemático, organizar
su tiempo con el fin de aprovecharlo efectivamente en el desarrollo de contenidos.

Para el desarrollo de las competencias de la asignatura es necesario que siga


algunas orientaciones sobre cómo aprovechar al máximo las diversas ayudas que
se incluyen en recursos didácticos. El material de estudio y los recursos que se
utilizan para el desarrollo de la asignatura son:

▪▪ Plan docente: proporciona una planificación semanal a detalle, con las


actividades a desarrollar durante un ciclo académico. Es importante que se
utilice este recurso como una herramienta que permite organizar el tiempo
de dedicación que requiere la asignatura.

▪▪ Guía didáctica: establece la hoja de ruta a seguir. Constituye el principal


instrumento que le encamina en cómo organizar, desarrollar y enfocar su
estudio. La guía direcciona al estudiante a los contenidos fundamentales
-del texto básico y/o recursos web- que debe revisar, además le brinda:
orientaciones, recursos, instrumentos y actividades, para aclarar, profundizar
y aplicar lo aprendido.

▪▪ Texto básico: abarca la mayor parte de los contenidos fundamentales


que va a estudiar. Es importante aclarar que, la organización y secuencia
de contenidos del texto básico no se corresponden estrictamente con la
planificación de la asignatura, debido a que la organización de la temática
está orientada a la formación de las competencias y resultados de
aprendizaje establecidos.

13 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

▪▪ Recursos web: permiten completar los contenidos fundamentales a


estudiar. Son materiales educativos de acceso abierto, debidamente
estructurados, didácticos y pertinentes para comprender los temas tratados.
Se incluyen: Recursos Educativos Abiertos (REA-OCW1), video tutoriales,
cuestionarios y otros que el profesor tutor le facilitará a través de la
plataforma virtual de aprendizaje.

▪▪ Entorno Virtual de Aprendizaje (EVA): es una plataforma esencial para


el desarrollo de la asignatura y es el medio para interactuar con el docente
y compañeros. En este espacio encontrará las orientaciones académicas
de cada semana, además de las actividades síncronas y asíncronas
planificadas.

▪▪ Tutoría síncrona: corresponde a la comunicación con el docente utilizando


algún medio síncrono como el chat académico o la llamada telefónica.
El docente tiene establecido un horario semanal de tutoría, y durante
este período de tiempo usted podrá utilizar los medios indicados para
comunicarse.

▪▪ Tarea bimestral: es una actividad teórica y práctica que acompaña a la guía


didáctica de cada asignatura y es calificada sobre seis puntos. Este puntaje
es sumado a la calificación de las actividades síncronas y asíncronas
planificadas de la asignatura (cuatro puntos), sumando en total diez puntos.
La tarea de cada bimestre debe ser enviada en las fechas establecidas en el
calendario académico de MAD.

▪▪ Evaluación presencial se lleva a cabo en cada centro universitario y


debe realizarla al finalizar cada bimestre. Esta evaluación se califica sobre
diez puntos, que sumados a los diez puntos de la tarea bimestral y las
actividades en el EVA le dan un total de veinte puntos por bimestre.

1
OCW OpenCourseWare – Cursos Abiertos

14 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

Algunas recomendaciones y estrategias, que le ayudarán para mejorar los


resultados de su estudio, son las siguientes:

• Lea la introducción de esta guía que resume el propósito de la


asignatura, la importancia en el contexto de la titulación y el área de
conocimiento que aborda.

• Previo a iniciar el estudio de cada bimestre, revise con detenimiento la


planificación del bimestre que consta en el plan de docente. El plan
le permitirá tanto planificar su tiempo semana a semana como conocer
los resultados de aprendizaje esperados.

• Siga las indicaciones de la guía didáctica. Al inicio de cada unidad


cuenta con la presentación, los objetivos y las orientaciones específicas
del tema. Durante el desarrollo de los apartados direcciona su atención
a los contenidos fundamentales de revisión.

• Al final de cada unidad cuenta con una autoevaluación para medir sus
avances.

• Revise con detenimiento los contenidos fundamentales, tanto del


texto básico como de los recursos web, y si es necesario realice una
lectura adicional.

• Además de las fuentes provistas, aproveche internet para la búsqueda


de nuevos recursos que le ayuden a aclarar sus dudas.

• Dosifique su tiempo y defina un horario para la asignatura. Debe


dedicarle al menos 8 horas semanales. Trabaje en base a prioridades.

• Elija un ambiente adecuado para el estudio, que cuente con luz


suficiente y libre de ruidos que puedan interrumpir su concentración.

• Establezca ideas y preguntas clave que le permitan profundizar su


aprendizaje.

15 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

• Apoye su estudio con esquemas, cuadros sinópticos, mapas mentales,


entre otros, para organizar los conocimientos asimilados, desde su
propia perspectiva. Estos instrumentos cumplen un importante papel en
el proceso de aprendizaje.

• Desarrolle progresivamente la tarea de cada bimestre según la


planificación.

• Identifique los símbolos que encontrará en la guía:

Símbolo Propósito

Enfatiza el capítulo del libro relacionado con la unidad de estudio.

Hace referencia a contenido del texto básico

Recomienda actividades para aplicar, reforzar y asimilar un tema.

Remarca y/o enfatiza algunas ideas o conceptos.

Destaca alguna reflexión que queremos compartir.

Hace referencia a un recurso de aprendizaje publicado en el EVA.

Vincula con un recurso o herramienta disponible en la Web que


complementa el tema abordado.

Indica que a continuación se plantea una autoevaluación.

16 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

Estimado estudiante, recuerde que su constancia y esfuerzo serán fundamentales


para lograr las metas que se ha planteado para el presente ciclo de estudios y
que estaremos gustosos de apoyarle en su aprendizaje.

17 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

6. Proceso de enseñanza-aprendizaje para el logro de competencias

PRIMER BIMESTRE

UNIDAD 1. INTRODUCCIÓN A LOS SISTEMAS DE BASES DE DATOS

Para el desarrollo de esta unidad se requiere que durante su


estudio trabaje de forma simultánea con la guía didáctica y
el capítulo “Introducción” del texto básico.

“Las bases de datos son utilizadas como solución,


o como soporte a la solución, de la mayor parte de
los problemas que se presentan en el mundo real”

Luque Ruiz et. al

Estimado estudiante, hoy en día interactuamos con bases de datos en gran parte
de las actividades cotidianas que realizamos, por lo tanto, empezamos esta
unidad con los conceptos básicos.

18 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Para comprender los fundamentos de la tecnología de bases de datos iniciamos


con la definición de base de datos y una revisión sobre su evolución. Continuamos
con la identificación de las funciones típicas, los componentes principales y
el personal implicado en los sistemas de gestión de bases de bases de datos
(SGBD); así también, se realiza el análisis del entorno de las bases de datos, sus
relaciones y/o aplicaciones.

A continuación, le invitamos a explorar por el interesante mundo de las bases de


datos.

1.1. Introducción a los sistemas de gestión de bases de datos y bases


de datos

Es necesario destacar que, en la actualidad las bases de datos son parte de


la vida cotidiana, y de igual manera forman parte esencial de los entornos
informáticos modernos y su aplicabilidad está presente en casi todas las
actividades diarias. Es momento de revisar los conceptos fundamentales de la
gestión de bases de datos.

1.2. Sistema de gestión de bases de datos

Un Sistema de Gestión de Bases de Datos (SGBD) consiste en una colección de


datos interrelacionados y un conjunto de programas para acceder a dichos datos.
La colección de datos, normalmente se denomina bases de datos, que contiene
información relevante para una entidad u organización.

El objetivo principal de un SGBD es proporcionar un entorno conveniente y


eficiente a los usuarios de la base de datos para las funciones de almacenamiento
y recuperación de información.

En su texto básico, repase el apartado “Introducción” para conocer


brevemente las implicaciones que tienen las bases de datos y resalte las
importantes.

19 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

De seguro usted cuenta con su documento de identidad que la obtuvo en


alguna de las dependencias del Registro Civil y para este proceso le solicitaron
su información personal como: nombres, apellidos, nivel de instrucción, entre
otros datos. A esta información se adiciona datos generados por la entidad
como número de identificación asignado, lugar y fecha de expedición, fecha de
caducidad, entre otros. Toda esta información es ingresada en una base de datos;
y es alimentada y actualizada con cada nuevo usuario que acude a la entidad.

En su texto básico, estudie el apartado “Aplicaciones de los sistemas


de bases de datos”, para tener una amplia variedad de ejemplos en
los que todos interactuamos a diario con bases de datos. Así también,
le invitamos a plantearse nuevos ejemplos que no se encuentren en el
texto.

1.3. Sistemas basados en archivos

En la gestión de información comercial inicialmente se empleaban los sistemas de


procesamiento de archivos, que son sistemas que almacenan datos en registros
permanentes en varios archivos.

En su texto básico, estudie el apartado “Propósito de los sistemas


de bases de datos”, donde se indican las limitaciones que tenían
los sistemas de procesamiento de archivos, que son esenciales para
comprender el funcionamiento de los SGDB.

Con la revisión previa, seguramente usted tiene claro que las bases de datos
surgieron para dar respuesta a la gestión computarizada de los datos comerciales,
y además superar las limitaciones de los sistemas de procesamiento de archivos,
como son:

• Redundancia e inconsistencia de datos


• Dificultad de acceso a los datos
• Aislamiento de los datos
• Problemas de integridad
• Problemas de atomicidad
20 Modalidad Abierta y a Distancia
Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Anomalías en el acceso concurrente


• Problemas de seguridad

Realice un esquema que resuma las limitaciones de los sistemas


de procesamiento de archivos, como resultado de un análisis las
circunstancias que las generan.

Luego que ha examinado las características de los sistemas de procesamiento de


archivos está en la capacidad de distinguir las características de un sistema de
bases de datos.

1.4. Sistemas de bases de datos

El procesamiento de datos impulsa el crecimiento de las computadoras y la


automatización de las tareas de procesamiento de datos. Las técnicas de
almacenamiento y procesamiento de datos han evolucionado a lo largo de los
años.

En su texto básico, estudie el apartado “Historia de los sistemas de


bases de datos” y realice una línea de tiempo1 (timeline) de cada
período que nos indique el texto.

Las limitaciones de los sistemas basados en archivos se pueden atribuir a dos


factores:

• La definición de los datos está incluida en los programas de aplicación


en lugar de almacenarse de forma separada e independiente;

• No existe ningún control sobre el acceso y manipulación de los datos,


más allá del que imponen los propios programas de aplicación.

1
Mas información en concepto.de

21 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Para poder ser más efectivos, se necesitaba una nueva técnica y surgieron los
conceptos de base de datos y los sistemas de gestión de bases de datos (SGBD).

Bases de datos

La base de datos es una colección compartida de datos lógicamente relacionados,


junto con una descripción de estos datos, que están diseñados para satisfacer las
necesidades de información de una organización.

Sistema de Gestión de Base de Datos

El Sistema de Gestión de Base de Datos (SGBD) es un sistema software que


permite a los usuarios definir, crear, mantener y controlar el acceso a la base de
datos.

Bases de datos relacionales

El modelo relacional da lugar a las bases de datos relacionales, que usan un


conjunto de tablas para representar tanto los datos como las relaciones existentes
entre ellos. Incluyen un Lenguaje de Definición de Datos (DDL2) y un Lenguaje de
Manipulación de Datos3 (DML).

En su texto básico, estudie el apartado “Bases de datos relacionales”,


y con el fin de identificar los elementos importantes de este tópico le
sugerimos xdesarrollar un diagrama, podría ser adecuado un mapa
mental, para afianzar los conceptos aprendidos.

Las bases de datos tienen sus limitaciones si nos basamos de manera exclusiva
en su SGBD, por lo tanto, es importante destacar que las bases de datos trabajan
conjuntamente con los programas de aplicación4.

2
Del inglés Data Definition Language, se utilizan las siglas en inglés por ser más utilizadas
técnicamente
3
Del inglés Data Manipulation Languaje, se utilizan las siglas en inglés por ser más utilizadas
técnicamente
4
Son programas diseñados para facilitar la realización de tareas específicas en la computadora

22 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

1.5. Independencia y niveles de abstracción

Uno de los objetivos principales de los sistemas de bases de datos es ofrecer al


usuario una visión abstracta de los datos, lo que significa que el sistema oculta
ciertos detalles del almacenamiento y la manipulación de los datos.

Los SGBD comerciales están basados en la denominada arquitectura ANSI-


SPARC que comprende tres niveles de abstracción. La Figura 1 resume los
niveles de abstracción de bases de datos.

Figura 1. Niveles de abstracción de bases de datos


Tomado de: Connolly, T. y Begg, C. (2005)

En su texto básico, examine el apartado “Visión de los datos”, con


el fin de ampliar la explicación sobre los tres niveles de abstracción de
datos y la independencia física de los datos. Además, haga énfasis en la
comprensión del ejemplo propuesto.

23 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La Figura 2 presenta un ejemplo donde se esquematizan las diferencias entre los


tres niveles de abstracción.

Figura 2. Diferencias entre los niveles de abstracción


Tomado de: Connolly, T. y Begg, C. (2005)

Esperamos haya aclarado las definiciones de los niveles de abstracción. Ahora


es importante que continuemos con la revisión de nuevos conceptos que van
surgiendo.

En su texto básico, repase el apartado “Ejemplares y esquemas”, luego


relacione estos elementos con los tres niveles de abstracción. Realice
un cuadro resumen de estos conceptos. Si desea utilizar herramientas
digitales en línea le sugerimos utilice Padlet5 , puede compartir sus
muros en el EVA.

La información almacenada en la base de datos en un momento dado se


denomina ejemplar (Silberschatz, Korth, y Sudarshan, 2014). Es importante
mencionar que, otros autores como (Connolly y Begg, 2005) el concepto ejemplar
es equivalente al denominado instancia de la base de datos.

5
Padlet es un muro digital que puede utilizarse como tablón personal o pizarra colaborativa.

24 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Otro concepto relevante corresponde a una vista del sistema denominada


esquema y al conjunto de vistas de usuario denominadas subesquemas.

En su texto básico, estudie el apartado “Modelo de datos”, con el


propósito de identificar las diferentes herramientas conceptuales
que permiten la descripción de los datos, relaciones, semántica,
restricciones, así como también las diferentes aplicaciones.

Los modelos de datos proporcionan una forma de describir el diseño de bases de


datos en los tres niveles de abstracción que se han mencionado y observado en
el ejemplo de Figura 2.

Realice un cuadro sinóptico que resuma las principales características de


los modelos de datos.

La lectura ¿Le aclaró sus conocimientos sobre el tema? Esperamos que tenga
una clara concepción acerca de las características. Recuerde además, que los
modelos de datos comprenden tres componentes (Connolly y Begg, 2005):

• Una parte estructural, compuesta por un conjunto de reglas que


definen cómo deben construirse las bases de datos.

• Una parte manipulativa, que define los tipos de operaciones que


pueden realizarse sobre los datos.

• Y posiblemente, un conjunto de restricciones de integridad, que


garantiza la precisión de los datos.

1.6. Arquitecturas del SGBD

Las arquitecturas comúnmente utilizadas para implementar SGBD son


básicamente: la arquitectura centralizada y las arquitecturas cliente servidor en
dos capas y tres capas.

25 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Arquitectura centralizada

Las arquitecturas de base de datos han seguido la tendencia de las arquitecturas


de los sistemas computacionales. Anteriormente, la tendencia era poseer
supercomputadoras que soportaban todo el procesamiento tanto programas de
aplicación como interfaz de usuario. Había una supercomputadora central que
recibía peticiones de procesamiento enviadas por terminales6, sin capacidad de
procesamiento, que luego de procesar las peticiones de los usuarios enviaba
de vuelta los resultados a los terminales para que puedan visualizarse por
los usuarios, todo a través de una red de computadoras. Esta arquitectura se
conoce como arquitectura centralizada. La Figura 3 presenta el esquema de
funcionamiento de esta arquitectura.

Figura 3. Arquitectura centralizada de bases de datos

Se observa que las terminales se enlazan con una base de datos central a través
de la conexión de red de comunicación, sobre la que realizan las peticiones y
datos.

Una vez comprendida la arquitectura centralizada, vamos a definir los siguientes


tipos de arquitecturas. La arquitectura de los sistemas de bases de datos se ve
influida por el sistema informático subyacente, sobre el que se ejecuta el sistema
de bases de datos.

6
También llamados estaciones de trabajo

26 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La arquitectura cliente/servidor se forma por un usuario de recursos (cliente) y


un proveedor de recursos (servidor). La arquitectura cliente/servidor permite que
los usuarios se beneficien de la funcionalidad de una PC7 mientras acceden a los
datos almacenados en sistemas de gran tamaño.

Arquitectura cliente/servidor en dos capas

La arquitectura cliente/servidor cuenta con un proceso cliente que hace la petición


del recurso y un proceso servidor que es el que proporciona el recurso. Las
ubicaciones de estos procesos pueden ser en una misma máquina o en otra
ubicación.

Este tipo de arquitectura en dos capas proporciona una separación muy básica.
El cliente (corresponde a la capa de presentación) es principalmente responsable
de la presentación de los datos al usuario. El servidor (corresponde a la capa de
datos) es el responsable de suministrar servicios de datos al cliente.

El funcionamiento de esta arquitectura se resume en:

• Las llamadas a la base de datos son transmitidas desde la máquina


cliente al servidor.

• Los datos son transmitidos desde la máquina cliente al servidor para


las operaciones para las operaciones de inserción y actualización, y
desde el servidor al cliente durante las consultas.

• Los datos son procesados en la máquina cliente.

7
Computador personal, del inglés Personal Computer

27 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La Figura 4 presenta un esquema del funcionamiento de esta arquitectura.

Figura 4. Arquitectura cliente servidor en dos capas


Tomado de: Connolly, T. y Begg, C. (2005)

Se observa que las máquinas cliente se enlazan con una base de datos central a
través de la conexión de red de comunicación, sobre la que realizan las peticiones
y datos. Además, en este esquema los máquinas cliente se encargan de la capa
de presentación.
En la arquitectura cliente servidor básica la idea es tener servidores
especializados con funcionalidades específicas como: almacenar archivos,
servidor web, servidor de base de datos, servidor de correo, entre otros que
prestan sus servicios a los clientes cuando lo requieren. En este contexto las
maquinas cliente proporcionan las interfaces correspondientes para que los
usuarios finales interactúen con los servidores especializados. La Figura 5
presenta un ejemplo de

Figura 5. Servidor de correo electrónico


Tomado de: Aprendiendo PC. (n.d.).
28 Modalidad Abierta y a Distancia
Texto-guía: Fundamentos de Base de Datos
Primer bimestre

En la arquitectura cliente servidor de dos capas, se pueden instalar aplicaciones


en las máquinas cliente para ejecutarlas localmente y cuando requieren un
servicio especializado que está instalado en el servidor crean una conexión hacia
dicho servidor para cumplir su tarea. Los programas de aplicación y la interfaz de
usuario se mantiene en el cliente y el procesamiento de SQL se mantiene en el
lado del servidor.

Arquitectura cliente/servidor en tres capas


La arquitectura cliente servidor en tres capas se compone de:

• El cliente se encuentra en el nivel de interfaz de usuario y se ejecuta en


la computadora del usuario final.

• El servidor de aplicaciones que contiene lógica de negocio y el


procesamiento de datos que corresponde a un nivel intermedio.

• El servidor de bases de datos que corresponde al SGBD que realiza las


tareas de validación y acceso a los datos.

La Figura 6 presenta un esquema del funcionamiento de la arquitectura típica


cliente servidor en tres capas.

Figura 6. Arquitectura típica cliente servidor en tres capas


Tomado de: Connolly, T. y Begg, C. (2005)

29 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

En esta arquitectura se identifican claramente tres capas: la capa de presentación,


la capa de la lógica de negocio y la capa de datos. Se puede observar que en
esta arquitectura aparece un servidor de aplicaciones que se encarga de procesar
las peticiones. Incrementar la potencia del procesamiento esa capa intermedia
permite disminuir los recursos necesarios para los clientes, haciendo que estos
sean simples navegadores Web.

1.7. Lenguajes e interfaces de bases de datos

En un entorno SGBD existen algunos papeles de usuarios, y así también existen


algunos tipos de lenguajes e interfaces.

Lenguajes del SGBD

Los sistemas de bases de datos proporcionan del Lenguaje de Definición de


Datos (DDL) y del Lenguaje de Manipulación de Datos (DML). Estos son los
lenguajes que usted debe estudiar, aplicar y tener la capacidad de analizar su
sintaxis. Es importante destacar que la sintaxis puede variar en función del motor
de base de datos utilizado.

El DDL permite especificar el esquema de la base de datos, mientras que, el DML


permite consultar y actualizar la base de datos. Estos lenguajes se denominan
sub-lenguajes de datos, debido a que no incluyen las estructuras para todas
las necesidades de computación que son proporcionadas por lenguajes de
programación de alto nivel, por ejemplo las instrucciones condicionales.

En su texto básico, estudie el apartado “Lenguajes de bases de datos”,


para comprender el funcionamiento de los sub-lenguajes de datos y sus
características.

El dominio de los lenguajes de bases de datos es una habilidad esencial de la


gestión de bases de datos.

30 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Una de las funciones que permite el DML es la recuperación de información


almacenada en la base de datos, realizada a través de consultas a la base
de datos. Una consulta es una instrucción que solicita recuperar información,
realizada a través de una parte del DML denominada lenguaje de consulta SQL8.
SQL es uno de los lenguajes de consulta más ampliamente utilizado en bases de
datos relacionales y que será tema de estudio en las siguientes unidades.

Realice un mapa mental y realice una anotación explicando las


relaciones entre todos los elementos identificados.
Asegúrese que haya identificado la diferencia entre DML
procedimentales y DML declarativos (DML no procedimentales). Y,
determine las principales funciones de los lenguajes DML y DDL e
incorpórelas dentro de la actividad de aprendizaje.

Es importante indicar también, que el estándar SQL incluye el Lenguaje de control


de acceso y control de transacciones.

• El control de acceso permite la asignación de permisos de acceso y


de privilegios a los usuarios. Un ejemplo son los permisos de conexión,
inserción, borrado, etc.

• El control de transacciones permite la gestión de transacciones,


garantiza que la unidad lógica de trabajo, es decir la transacción, sea
atómica respecto de la recuperación.

Interfaces del SGBD

Un SGBD incluye algunas interfaces9 de usuario de la base de datos, como son:

• Interfaz basada en menú para clientes Web: presentan al usuario


una lista de opciones para que pueda realizar una petición de servicio.

8
del inglés Structured Query Language
9
También llamados formas de acceso

31 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Por ejemplo, las funciones que dispone un estudiante para gestionar


sus matrículas y notas.

• Aplicación para dispositivos móviles: estas interfaces permiten a


los usuarios acceder a sus datos mediante sus dispositivos móviles.
Un ejemplo son servicios virtuales móviles que ofrece un banco a los
clientes.

• Interfaz basada en formularios: los usuarios interactúan con la base


de datos mediante un formulario para el ingreso de datos. Por ejemplo
el formulario que usted utiliza para subscribirse a un evento.

• Interfaz gráfica de usuario: son formularios creados específicamente


para que los usuarios realicen la manipulación de datos.

• Búsqueda en bases de datos basadas en palabras clave: Son


interfaces que permiten búsquedas especializadas en una base de
datos. Por ejemplo en una base de datos científica el usuario puede
buscar un artículo con base a uno o varios atributos: palabras clave,
título, área de conocimiento, etc.

• Interfaces parametrizadas para usuarios: Existen ciertas categorías


de usuarios que ejecutan un pequeño conjunto de funciones que deben
ejecutarse de forma repetitiva, con frecuencia se pueden generar
interfaces específicas para estos usuarios. Un ejemplo es la función de
cierre de caja diario para que lo utilice un cajero de banco durante las
noches.

• Interfaces para el administrador de base de datos: los SGBD


contienen comandos privilegiados para el personal de administración
de base de datos. Por ejemplo el SGBD cuenta con el servicio de
consola para la manipulación de la base de datos. Además, puede
contar con interfaces gráficas o utilizar aplicativos específicos de

32 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

administración de bases de datos como: Toad10, Sequel pro11, entre


otros.

1.8. Funciones de un SGBD

Un SGBD completo debe proporcionar diez servicios que según (Connolly &
Begg, 2005) se espera que estén disponibles y se presentan en la Figura 7.

Figura 7. Funciones de un SGBD


Tomado de: Connolly, T. y Begg, C. (2005)

10
Página oficial Toad
11
Página oficial SequelPro

33 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Por ejemplo, en una base de datos de un sistema financiero, el servicio1 se


puede observar porque se requiere almacenar los datos de sus cuenta-habientes
como datos generales y datos de sus cuentas. Así también a futuro, el saldo
debe irse actualizando según las transacciones realizadas. El servicio8 se puede
ejemplificar debido a que la base de datos debe garantizar integridad, en el
caso de que un cuenta-habiente tenga dos cuentas, la identificación asociada
para cada cuenta debe ser la misma debido a que pertenece al mismo cuenta-
habiente.

Le invitamos a que siga identificando escenarios en donde se puede evidenciar la


presencia de los servicios de un SGBD.

1.9. Almacenamiento y análisis de datos

Los sistemas de bases de datos se constituyen en sistemas de captura de


datos que con el tiempo llegan a almacenar grandes volúmenes de datos.
Las organizaciones hacen uso diariamente de los datos en los sistemas
transaccionales, realizando procesamiento simple y avanzado de los datos. Esto
da lugar a la obtención de información.

La información para que sea significativa requiere de un contexto. Así también, la


información puede servir de base para la toma de decisiones. Un sistema de toma
de decisiones puede ser desarrollada mediante conceptos como almacenes y
mercados de datos, minería de datos, entre los más importantes.

Ahora, vamos a ir analizando los conceptos más utilizados actualmente, en el


campo del análisis de datos.

Minería de datos

La minería de datos se refiere al proceso de análisis semiautomático de grandes


bases de datos para descubrir reglas y patrones de datos. La minería de
datos, al igual que la inteligencia artificial12 o el análisis estadístico, realiza el

12
La inteligencia artificial denominada también aprendizaje de la máquina.

34 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

descubrimiento de conocimiento. Sin embargo, la minería se diferencia de estos


dos últimos debido a que maneja grandes volúmenes de datos, almacenados
principalmente en disco. Se puede inferir que, la minería de datos trata del
descubrimiento de conocimientos en las bases de datos.

Los conocimientos descubiertos en las bases de datos pueden representarse


mediante un conjunto de reglas, ecuaciones13 u otros mecanismos para la
predicción de los resultados. Cuando se conocen los valores de algunas variables
se pueden identificar patrones útiles y para esto se emplean diferentes técnicas.

En la minería de datos, generalmente, hay un componente manual que consiste


en el pre-procesamiento de los datos (preparación de los datos) para que
sean aceptables para los algoritmos, y el pos-procesamiento de los patrones
descubiertos para identificar otros nuevos que puedan resultar útiles. En
una base de datos pueden descubrirse varios patrones, sin embargo, puede
requerirse interacción manual; por este motivo, se considera como un proceso
semiautomático.

En su texto básico, examine el apartado “Minería y análisis de datos”.


Realice un esquema identificando sus características.

Las empresas han comenzado a explotar la gran cantidad de datos disponibles


para tomar mejores decisiones sobre sus actividades. Así un ejemplo son los
artículos que siempre deben tener altas existencias en bodega debido a su alta
demanda, otro ejemplo puede ser identificar patrones de comportamiento de los
clientes en determinadas ocasiones o festividades con el fin de incrementar las
ventas.

• Analice los ejemplos propuestos en el presente apartado.


• Revise el ejemplo de pañales y cervezas, que es un ejemplo simpático
y muy comprensible de posibles aplicaciones de minería de datos.

13
Las ecuaciones relacionan diferentes variables

35 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

¿Qué le pareció el ejemplo presentado? ¡Interesante! ¿verdad? Es sólo uno de


miles de ejemplos de donde se puede obtener de datos importantes.

Almacenes de datos

Las grandes compañías, han implementado almacenes de datos para obtener


consultas eficientes sobre los datos generados en sus operaciones. Los
almacenes de datos recogen datos de distintas fuentes bajo un esquema
unificado. Por tanto, proporcionan al usuario una interfaz única y uniforme de los
datos.

Estimado estudiante, es necesario que usted conozca que este apartado es parte
de los conocimientos básicos de esta asignatura, sin embargo, se ampliarán en el
siguiente componente académico de bases de datos.

1.10. Proceso de construcción de una base de datos

Normalmente, la implementación de una base de datos forma parte de la


implementación de un sistema de información. Existe una estrecha vinculación
entre ambos. En (Coronel y Morris, 2011) se define el ciclo de vida del desarrollo
de sistemas (SDLC14) en las cinco tradicionales fases: planeación15, análisis,
diseño, implementación y mantenimiento. El ciclo de vida de una base de datos
no es ajeno al SDLC, al contrario, debe existir sincronía entre ambos, en cuanto a
planificación (tiempos), coordinación, documentación y otros.

El ciclo de vida de una base de datos (DBLC16) define las fases que marcan la
evolución del desarrollo de un sistema de bases de datos. En (Coronel y Morris,
2011) se plantea un DBLC dividido en seis fases (Figura 8) que guardan mucha
relación con las fases del SDLC. Tanto el DBLC como el SDLC son procesos
vinculados que se van ejecutando paralelamente, son codependientes e
integrados.

14
del inglés System Development Life Cycle
15
o investigación preliminar
16
del inglés Database Life Cycle

36 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Figura 8. Ciclo de Vida de una Base de datos (DBLC)


Elaborado por: Encalada, E. (2017)
Tomado de: Coronel, et. al. (2011)

Papeles de usuario en un entorno de base de datos

De la mano con el DBLC aparecen algunos papeles en un entorno de base de


datos, son: administrador de datos y administrador de base de datos, diseñador
de base de datos, desarrollador de aplicaciones y usuarios finales.

Administrador de datos y administrador de base de datos

El administrador de datos (DA17) y el administrador de bases de datos (DBA18) son


los responsables de gestionar y controlar un SGBD y los datos almacenados.

• El administrador de datos es el responsable de gestionar los recursos


de datos, planificación, desarrollo y mantenimiento de la base de datos,
desarrollo y mantenimiento de estándares, políticas y procedimientos y
el diseño lógico de la base de datos.

17
del inglés Data Administrator
18
del inglés Database Administrator

37 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• El administrador de la base de datos (DBA) es responsable


de la materialización física de la base de datos, incluyendo de
implementación y diseño físicos de la base de datos, el control de
la seguridad y de la integridad, el mantenimiento de la fiabilidad del
sistema y la garantía de que las aplicaciones exhiban un rendimiento
satisfactorio para los usuarios. El papel del DBA es más técnico que el
DA, sin embargo, en algunos casos el DBA asume el rol del DA.

Diseñadores de base de datos

La responsabilidad del diseñador lógico de bases de datos es identificar los


datos (entidades y atributos), las relaciones entre los datos y las restricciones
que hay que aplicar a los datos que se almacenen en la base de datos. Requiere
comprensión profunda y completa de los datos de la organización y sus reglas de
negocio.

Adicionalmente, el diseñador físico de la base de datos decide el proceso


materialización física del diseño lógico de la base de datos; selecciona las
estructuras de almacenamiento y los métodos de acceso específicos a los datos
para conseguir buenas prestaciones; y diseña las medidas de seguridad que los
datos requieren.

Si bien explicamos por separado estos dos roles, las organizaciones no siempre
cuentan con estos roles, y las personas deben tener la capacidad de asumir
cualquiera de los roles o los dos.

Desarrolladores de aplicaciones

Sobre la base de datos se implementan los programas de aplicación para


proporcionar la funcionalidad requerida por los usuarios finales. El desarrollador
construye diferentes tipos de aplicaciones: aplicaciones de escritorio, aplicaciones
Web, aplicaciones móviles o aplicaciones híbridas, utilizando algunas de las
diferentes arquitecturas de sistemas de bases de datos revisados en el apartado
1.5 Arquitecturas de un SGBD.

38 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Usuarios finales

Los usuarios finales son los usuarios no sofisticados que interactúan con la base
de datos invocando alguno de los programas de aplicación. Por ejemplo, en una
entidad financiera que cuenta con su sistema informático que es administrado por
su personal y que además cuenta con los servicios de banca virtual y de banca
móvil, los usuarios finales son: los cajeros, los oficiales de crédito, los agentes de
servicio al cliente, etc., y también los cuenta-habientes que tienen habilitados los
servicios de banca virtual y/o banca móvil.

Muy bien, ¡felicitaciones! hemos completado la primera unidad, Siga adelante


con el mismo entusiasmo. Para complementar esta unidad, es momento que
compruebe sus avances desarrollando la siguiente autoevaluación.

39 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Autoevaluación 1

Una vez completada la presente unidad, el siguiente cuestionario le permite


verificar su aprendizaje en la unidad “Introducción a las bases de datos”.

Seleccione la opción correcta:

1. Los sistemas basados en archivos mantienen los datos en varios


archivos, generalmente en distintos formatos, y requieren igualmente
de varios programas de aplicación para manipular sus datos. Esta
desventaja se la conoce como:

a. Anomalías en el acceso concurrente


b. Dificultad en el acceso a los datos
c. Aislamiento de datos

2. Una base de datos es el:

a. Software que gestiona y controla el acceso a los datos


b. Conjunto de datos que contiene información relativa a una organización
c. Programa escrito por desarrolladores en respuesta a las necesidades
de los usuarios

3. El administrador de base de datos debe seleccionar los datos que se


almacenan en la base de datos empleando el nivel de abstracción:

a. físico
b. lógico
c. de vistas

40 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

4. El lenguaje de definición de datos sirve para:

a. Especificar el esquema de la base de datos


b. Expresar las consultas y modificaciones a la base de datos
c. Especificar los privilegios sobre elementos de la base de datos

5. ¿Cuál de las siguientes sentencias NO corresponde a características de


una base de datos relacional?

a. Emplea el lenguaje de manipulación de datos y de definición de datos.


b. Utiliza un conjunto de tablas para representar datos y sus relaciones
c. Describe el diseño de la base de datos en el nivel físico

6. Identifique el elemento que no corresponde a una aplicación de base de


datos con una arquitectura de tres capas.

a. Máquina cliente
b. Servidor de aplicaciones
c. Lógica de negocio
d. Servidor de base de datos

7. Minería de datos hace referencia a:

a. El proceso de análisis semiautomático de grandes bases de datos para


descubrir patrones útiles
b. La creación de formularios e informes con un mínimo de esfuerzo de
programación
c. El método para añadir información de marcas a los documentos de
texto para el intercambio de datos

41 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

8. ¿Cuál de los siguientes enunciados es una actividad rutinaria de un


DBA?

a. Escribir aplicaciones de base de datos especializadas que no encajan


en el marco tradicional del procesamiento de datos
b. Asegurar disponibilidad del espacio en disco suficiente para la normal
operación de la base de datos
c. Crear el esquema original de la base de datos mediante la ejecución de
comandos de definición de datos de SQL

9. El módulo de gestión de almacenamiento de una base de datos es


responsable de:

a. Ayudar al sistema de base de datos a simplificar y facilitar el acceso a


los datos
b. El almacenamiento, recuperación y actualización de los datos de la
base de datos
c. Permitir a los usuarios de la base de datos obtener buenos tiempos de
respuesta al ejecutar sus consultas

10. El esquema conceptual de una base de datos completamente


desarrollado permite:

a. Identificar los requisitos de datos de la organización


b. Especificar las características físicas de la base de datos
c. Indicar los requisitos funcionales de la empresa

Ahora, seguro Usted requiere verificar si sus respuestas fueron correctas. Con
este fin revise el solucionario que se encuentra al final de la guía didáctica y así
ratifique o rectifique sus respuestas.

42 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

UNIDAD 2. MODELO RELACIONAL

Para el desarrollo de esta unidad se requiere que utilice


paralelamente la guía didáctica y el capítulo “Introducción al
modelo relacional” del texto básico.

“Una de las mayores fortalezas del modelo


relacional es la estructura lógica simple.”
-Thomas Connolly y Carolyn Begg.

Estimado estudiante, en este momento iniciamos con la revisión del tema Modelo
relacional. Se examinan los conceptos estructurales y la representación de datos
el modelo. Este tema es de vital importancia dentro de las bases de datos debido
a que sirve como fundamento teórico de la gestión y manipulación de datos en
una base de datos. Uno de los objetivos principales de la asignatura es desarrollar
en el estudiante la habilidad de aplicar el modelo relacional.

El modelo de datos es un conjunto de herramientas conceptuales para


la descripción de los datos, las relaciones entre ellos, su semántica y las
restricciones de consistencia. El modelo de datos para bases de datos
relacionales más ampliamente utilizado es el Modelo relacional, que por su
simplicidad facilita su comprensión.

43 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

2.1. Estructura de las bases de datos relacionales

El propósito esencial de una base de datos es el almacenamiento de datos. Una


base de datos relacional consiste en un conjunto de tablas, a las que también las
podemos denominar relaciones, de ahí que se denomine modelo relacional.

En su texto básico, estudie el apartado “Estructura de las bases de


datos relacionales”

Es importante que identifique los elementos que son parte de la terminología,


y que aprenda a identificar dichos conceptos en ejercicios prácticos. Con este
propósito, revise la Figura 9 que presenta los elementos básicos del modelo
relacional.

Figura 9. Elementos básicos del modelo relacional – Relación Profesor


Tomado de: Silberschatz, et. al. (2014)

44 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Analice los ejemplos del apartado “Estructura de las bases de datos


relacionales”, y con la terminología utilizada en el modelo relacional
realice un cuadro resumen en Padlet19.

Seguro que ya relacionado los elementos básicos del modelo relacional con sus
respectivos conceptos.

2.2. Claves

Las claves en el modelo relacional son una forma de especificar que las tuplas de
una relación dada se distinguen entre sí. Esto se expresa mediante los atributos
de la relación. Algunos tipos de claves son:

• Superclave
• Clave candidata
• Clave primaria
• Clave externa o también se conoce como clave foránea.

En su texto básico repase el apartado “Claves”. Resalte los conceptos


relevantes. Asegúrese de haber comprendido los conceptos de cada tipo
de claves y los conceptos de integridad asociados.

La Figura 9 ha sido la base para la identificación de ejemplos de los tipos de


claves:

• Superclave: ID + nombre
• Clave candidata: ID
• Clave primaria: ID
• Clave externa: nombre_dept

19
Padlet es un muro digital que puede utilizarse como tablón personal o pizarra colaborativa.

45 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

2.3. Esquemas de bases de datos relacionales y su representación

Es importante hacer diferencia entre un esquema de base de datos y un


ejemplar20 de una base de datos. El esquema de base de datos corresponde
al diseño lógico de una semántica dada y el ejemplar de la base de datos
corresponde a los datos en la base de datos en un instante dado.

Otros conceptos que aparecen dentro de un esquema de base de datos,


corresponden a esquema de relación y ejemplar de la relación. El esquema de
la relación consiste en la lista de atributos y sus dominios, que se mantienen
estáticos. Mientras que ejemplar de la relación se refiere a los datos que se
encuentran en la base de datos en un instante determinado y que pueden cambiar
con el tiempo.

En su texto básico, lea el apartado “Esquema de la base de datos” y


destaque los conceptos relevantes. Asegúrese de que haya comprendido
los conceptos incorporándolos al muro creado en Padlet21.

En el texto básico se hace una analogía entre los conceptos relación y variable de
los lenguajes de programación y, además, entre ejemplar de relación y valor de
una variable. Lo invitamos a revisarlo detenidamente.

En las relaciones asignatura, sección y enseña identifique los elementos


básicos de una relación.

Una base de datos relacional está compuesta de un número de relaciones


normalizadas22, es decir, un conjunto completo de relaciones de base de datos.

20
Recordemos que también se denomina instancia
21
Padlet es un muro digital que puede utilizarse como tablón personal o pizarra colaborativa.
22
Una relación normalizada es una relación que ha seguido un proceso que consiste en designar
y aplicar un conjunto de reglas a las relaciones que se obtienen al transformar el modelo
entidad-relación al relacional (véase Diseño Lógico de Bases de Datos).

46 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La relación Profesor y las relaciones asociadas para el registro de notas es


un ejemplo de relación basado en la Figura 9. El Anexo 1 presenta el ejemplo
completo.

Profesor (ID, nombre, nombre_dept, salario)


Departamento (nombre_dept, edificio)
Asignatura (asignatura_id, nombre_asig, nombre_dept,
creditos)
Matricula (ID, asignatura_id, semestre, año)
Estudiante (ID, nombre_est, nombre_dept, tot_
creditos)

En su texto básico, realice una lectura comprensiva del apartado


“Diagramas de esquema”. Realice un mapa mental y un resumen
donde, con sus propias palabras, explique y relacione estos conceptos.

¿Cómo le resultó la actividad anterior? Recuerde que la representación común


para realizar un esquema de relación consiste en indicar el nombre de la relación
seguido por los atributos entre paréntesis y separados por comas y la clave
primaria se subraya.

Basándonos en el esquema de Booking:


▪▪ Hotel (hotelNo,hotelName,city)
▪▪ Room (roomNo,hotelNo,type,price)
▪▪ Guest (guestNo,guestName,guestAddress)
▪▪ Booking (hotelNo,guestNo,dateFrom,dateTo,roomNo)
Identifique en cada relación, en caso de que existan: superclaves,
claves candidatas, claves primarias y claves externas.

Este ejemplo se encuentra descrito de forma completa en el Anexo 2.

47 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

2.4. Restricciones de integridad

En una relación, cada atributo tiene un dominio asociado, y por lo tanto, existen
restricciones que imponen una limitación al conjunto de valores permitidos
para los atributos de las relaciones. Existen algunos tipos de restricciones para
el modelo relacional y las dos reglas básicas son: integridad de entidades e
integridad referencial. Así también encontramos otras reglas como: valores válidos
y valores nulos.

Integridad de entidades

En una relación, ningún atributo de una clave principal puede ser nulo. Es
importante que se tome en cuenta que si la clave primaria es compuesta, esta
regla debe aplicarse a todos los campos.

Integridad referencial

En caso de relaciones que tengan claves externas (foráneas), el valor de la clave


externa debe corresponderse con el valor de la clave primaria o clave candidata
de alguna tupla de la relación de origen, o el valor de la clave externa debe ser
completamente nulo.

Valores válidos

Los valores válidos corresponden a la limitación a un conjunto de valores


permitidos para los atributos de las relaciones. También se conoce como
integridad de dominios. Es necesario indicar que los dominios pueden ser
inherentes23 de acuerdo al tipo de datos y específicos24 a través de un conjunto de
datos.

23
implícitos
24
explícitos

48 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Valores nulos

Los valores nulos representan un valor, que actualmente es, desconocido para un
atributo de una tupla.

2.5. Operaciones relacionales

Para comprender el concepto relación de bases de datos, es importante que se


comprenda que las bases de datos relacionales tienen como base la teoría de
conjuntos, y por ello, las operaciones que se utilizan para explorar los datos son
las operaciones de conjuntos.

Los lenguajes procedimentales de consulta relacionales proporcionan operaciones


que se pueden aplicar a una única relación o a un conjunto de relaciones. Como
resultado de estas operaciones es siempre una única relación. Las operaciones
relacionales más importantes son:

• Selección
• Proyección
• Reunión natural
• Producto cartesiano
• Unión
• Intersección
• Diferencia de conjuntos

Basándonos en el esquema de Booking, correspondiente al Anexo 2, se realizan


ejemplos con cada una de las operaciones relacionales.

En su texto básico, realice una lectura comprensiva del apartado


“Operaciones relacionales”. Identifique las operaciones relacionales y
su definición en un mapa mental.

49 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La lectura y actividad debió aclararle la forma de utilizar estas operaciones


relacionales. A continuación, relacione estos conceptos aprendidos con los
ejemplos propuestos.

Selección

▪▪ Ejemplo: Tuplas resultantes de enumerar los hoteles de la ciudad de New


York.

HotelNo HotelName City


001 The Marlton Hotel New York
002 Millennium Broadway New York Times Square New York
003 Stewart Hotel New York
004 Hotel Mela Times Square New York

Proyección

▪▪ Ejemplo: Tuplas resultantes de la consulta que genera la lista de hoteles que


contenga nombre de hotel y ciudad.

HotelName City
The Marlton Hotel New York
Millennium Broadway New York Times Square New York
Stewart Hotel New York
Hotel Mela Times Square New York
Grand Beach Hotel Surfside Miami
Grand Beach Hotel Surfside Miami
JW Marriott Miami Miami
Royal Decameron Punta Sal Sullana
Decameron Mompiche Esmeraldas
Royal Decameron Punta Centinela Santa Elena

50 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Reunión natural

▪▪ Ejemplo: Tuplas resultantes de enumerar los nombres de los huéspedes que


se han hospedado en el “Royal Decameron Punta Centinela”.

GuestName
Margoth Cameron
Stuart Lopez
Ian Connolly
Louis Brown

Producto cartesiano

▪▪ Ejemplo: Tuplas resultantes de enumerar las habitaciones y sus precios del


“Royal Decameron Punta Centinela”.

HotelName Type Price


Royal Decameron Punta Centinela Standard 180
Royal Decameron Punta Centinela Standard 180
Royal Decameron Punta Centinela Standard 180

Unión

▪▪ Ejemplo: Tuplas resultantes de enumerar los hoteles de la ciudad New York


junto con los hoteles de la ciudad de Miami.

HotelNo HotelName City


001 The Marlton Hotel New York
002 Millennium Broadway New York Times Square New York
003 Stewart Hotel New York
004 Hotel Mela Times Square New York
005 Grand Beach Hotel Surfside Miami
006 Grand Beach Hotel Surfside Miami
007 JW Marriott Miami Miami

51 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Intersección

▪▪ Ejemplo: Resultados de enumerar los huéspedes que se han hospedado en


“Royal Decameron Punta Centinela” y también en Royal “Decameron Punta
Sal”.

GuestName
Margoth Cameron
Stuart Lopez

2.6. Lenguajes de consulta relacional

Los lenguajes de consulta relacional permiten la implementación de las


operaciones relacionales. La parte del DML relacionada con la extracción de datos
se denomina Lenguaje de consulta.

El lenguaje de consulta:

• Puede definirse como lenguaje de propósito especial y de alto nivel que


se utiliza para la extracción de los datos.

• Permite a los usuarios solicitar información de la base de base de datos


a través de estructuras especiales.

• Se distinguen unos de otros por sus estructuras de extracción de datos.

• Existen lenguajes de consulta procedimentales y no procedimentales.

En los lenguajes procedimentales:

• El usuario indica que se ejecute una serie de operaciones en la base


de datos para obtener el resultado deseado, es decir, le indica la forma
de obtener los datos requeridos.

52 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Normalmente, los DML procedimentales están incrustados en un


lenguaje de programación de alto nivel25. Un lenguaje de tercera
generación (3GL) es procedimental.

• Un ejemplo de lenguaje formal procedimental es el álgebra relacional.

En los lenguajes no procedimentales:

• El usuario describe la información deseada sin establecer el


procedimiento específico para obtener la información.

• Permiten especificar los datos requeridos en una instrucción de


extracción o actualización.

• Proporciona a los usuarios un grado de independencia de los datos.

• Los SGBD relacionales suelen incluir algún tipo de lenguaje no


procedimental para la manipulación de datos, normalmente SQL26 o
QBE27.

• Un ejemplo de lenguaje formal no procedimental es el cálculo


relacional.

Los DML no procedimentales son normalmente más fáciles de aprender y de


utilizar que los lenguajes procedimentales, debido a que el usuario hace menos
trabajo y el SGBD se encarga de una mayor parte de la tarea. Además, es
importante destacar que los lenguajes de consulta pueden ser lenguajes formales,
así también lenguajes de cuarta generación (4GL).

Los lenguajes formales:

25
Un lenguaje de alto nivel tiene una gramática y sintaxis similar a las palabras en una oración.
26
del inglés Structured Query Language
27
del inglés Query By Example

53 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Permiten ilustrar las técnicas básicas para la extracción de la


información.

• Álgebra relacional y Cálculo relacional son ejemplos de lenguajes


formales, y son la base para comprender el funcionamiento de los
lenguajes de consulta. Estos lenguajes se trabajarán en unidades más
adelante.

Los lenguajes de cuarta generación28:

• En esencia, se trata de un lenguaje de programación optimizado.

• El usuario define qué hay que hacer, no el modo de hacerlo.

• 4GL depende de modo fundamental de componentes de mucho mayor


nivel, conocidos con el nombre de herramientas de cuarta generación29.

• SQL es un ejemplo de 4GL. SQL se trabajará en unidades posteriores.

Muy bien, ¡felicitaciones! hemos completado la segunda unidad, Siga adelante


con la misma disciplina. Para complementar esta unidad, es momento que
compruebe sus avances desarrollando la siguiente autoevaluación.

28
Una operación que requiera cientos de líneas de código en un lenguaje de tercera generación
(3GL), como Cobol, generalmente requiere un número mucho menor de línea en un 4GL
(Connolly, T. y Begg, C.,2005).
29
El usuario define una serie de parámetros para que las herramientas que los utilizan generen
un programa de aplicación.

54 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Autoevaluación 2

Una vez completada la presente unidad, el siguiente cuestionario le permite


verificar su aprendizaje en la unidad “Modelo Relacional”.

Seleccione la opción correcta:

1. Una base de datos relacional se compone de un conjunto de:

a. tablas que tienen nombres únicos


b. tuplas organizadas mediante una clave principal
c. columnas con nombres únicos

2. Para referirse a una instancia específica de una relación se utiliza el


término:

a. Esquema de relación
b. Dominio atómico
c. Ejemplar de relación

3. Dentro del modelo relacional, una tupla se refiere a:

a. Una fila de la tabla


b. La columna de una tabla
c. Una instancia de una relación

4. Dentro del modelo relacional, una relación se refiere a una:

a. fila
b. tabla
c. columna

55 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

5. Dentro del modelo relacional, un atributo se refiere a:

a. La columna de una tabla


b. Una instancia de una relación
c. Un ejemplar de una relación

6. Las claves (sean superclaves, candidatas o primarias) son propiedades


de:

a. Toda la relación
b. Cada una de las tuplas
c. El esquema de la base de datos

7. Una clave candidata es:

a. La elegida por el diseñador de base de datos para identificar de forma


única las tuplas de una relación.
b. Aquella que podría identificar de forma única a cada tupla de una
relación.
c. Un conjunto de uno o varios atributos que considerados en conjunto
identifican de forma única a cada tupla de una relación.

8. La operación relacional más frecuente es:

a. Proyección
b. Selección
c. Producto cartesiano

56 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

9. Cuando se aplica una consulta sobre una única relación y donde las
tuplas tienen que cumplir un predicado particular (por ejemplo, fecha_
ingreso > ‘10/06/2015’), el resultado es:

a. Una vista que contiene las tuplas que satisfacen el predicado indicado.
b. La misma relación original, pero que contiene solamente las tuplas que
satisfacen el predicado.
c. Una nueva relación, que es un subconjunto de la relación original.

10. Ciertos lenguajes relacionales cumplen estrictamente con la definición


matemática de conjunto y:

a. Eliminan los duplicados


b. Mantienen los duplicados
c. Eliminan o mantienen los duplicados de acuerdo a los recursos del
servidor de base de datos

Ahora, seguro Usted requiere verificar si sus respuestas fueron correctas. Con
este fin revise el solucionario que se encuentra al final de la guía didáctica y así
ratifique o rectifique sus respuestas.

57 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

UNIDAD 3. LENGUAJE SQL

Para el desarrollo de esta unidad se requiere que utilice,


tanto la guía didáctica y el capítulo “Introducción a SQL”
del texto básico.

“Los SGBD deben proveer de lenguajes e


interfaces apropiados para cada categoría de
usuarios.”
– Elmasri, R, y Navathe, S.

Estimado estudiante, en la presente unidad vamos a revisar el Lenguaje de


Consulta Estructurado SQL30, centraremos nuestra atención en la forma de
construir sentencias SQL utilizando las cláusulas WHERE, ORDER BY, funciones
de agregación, cláusula GROUP BY y subconsultas.

Además, es importante conocer sobre la manipulación de datos mediante las


instrucciones del lenguaje de manipulación de datos (DML31): INSERT, UPDATE
y DELETE. Se complementa con las instrucciones del lenguaje de definición de
Datos (DDL32) que permiten crear las estructuras para soportar los datos y objetos
de la base de datos como: vistas o índices, así como también los comandos para
controlar el acceso a los datos.

30
del inglés Structured Query Language
31
DML, del inglés Data Manipulation Language
32
DDL, del inglés Data Definition Language
58 Modalidad Abierta y a Distancia
Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La aplicación del lenguaje SQL es una competencia importante en la gestión


de base de datos y una de las competencias más requeridas en todo perfil del
profesional informático.

Para llevar a la práctica el lenguaje SQL trabajaremos con el SGBD Oracle,


le recomiendo si aún no lo ha hecho, descargue e instale dicho motor y las
herramientas que facilitan la gestión de la base de datos.

Puede utilizar los siguientes enlaces para acceder a descargar el motor


Oracle y las herramientas asociadas:
Oracle Database Express Edition 11g: si el enlace no estuviera
disponible busque a través de su navegador de preferencia “Oracle
Database Express Edition (XE) 11”. Esta versión del motor de base de
datos es la aconsejable a pesar que existen nuevas versiones de la base
de datos no se requieren por el momento.
Oracle Database Develper: en caso que no funcione el enlace busque, a
través de su navegador, el software en la versión disponible.

3.1. Introducción al lenguaje de consulta estructurado

SQL es la principal herramienta para la interacción del usuario con una base de
datos. A través de este lenguaje se envían solicitudes de datos al servidor, que es
el encargado de responder a dichas peticiones. SQL es un lenguaje relativamente
fácil de aprender.

Estudie el apartado “Introducción al lenguaje de consultas SQL” de


su texto básico, donde podemos revisar la evolución de este importante
lenguaje.

Haciendo un poco de historia de la evolución del lenguaje SQL, podemos


mencionar que el estándar SQL2006, ISO/IEC 9075-14:2006, define las maneras
de uso de SQL para utilizar conjuntamente con XML. Además, proporciona
facilidades que permiten a las aplicaciones integrar dentro de su código SQL el

59 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

uso de XQuery, lenguaje de consulta XML publicado por el W3C33 para acceso
concurrente a datos ordinarios SQL y documentos XML.

En el 2008, tenemos SQL2008 donde se permite el uso de la cláusula ORDER


BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo
INSTEAD OF. Añade la sentencia TRUNCATE.

En la actualidad, se han aprobado nuevas propuestas para extender el SQL,


llamado SQL3. Se está trabajando sobre una extensión del SQL3 para soportar
bases de datos multimedia, conocida como SQL/MM (SQL Multimedia). Debido al
tamaño que posee el SQL3 ya se ha empezado a hablar del SQL4. La Figura 10
muestra la evolución del lenguaje SQL.

Figura 10. Evolución del lenguaje estructurado de consulta SQL


Tomado de: Silberschatz, et. al. (2014)

SQL es un estándar de la ISO34, por tanto, todas las bases de datos que
soportan SQL deben tener la misma sintaxis, sin embargo, muchos de los
productos comerciales de SGBD agregan sus propias mejoras especiales,
aunque estas diferencias son de poca importancia sin embargo no favorecen la
interoperabilidad. Además, agrupa sentencias de acuerdo al papel que cumplen,
siendo estos grupos los siguientes:

33
World Wide Web Consortium, página office al de W3C
34
ISO del inglés International Organization for Standardarization

60 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Lenguaje de definición de datos (DDL), abarca sentencias


del tipo DROP y CREATE para crear/eliminar las estructuras de
almacenamiento requeridas.

• Lenguaje de manipulación de datos (DML), contiene las sentencias


SELECT, INSERT, UPDATE y DELETE, que manipulan los datos en
una base de datos.

• Restricciones de integridad, se expresan mediante los comandos


PRIMARY KEY, FOREIGN KEY y NOT NULL que permiten asegurar
la integridad de los datos.

• Definición de vistas, se especifican mediante el comando CREATE


VIEW.

• Lenguaje de control de transacciones (TCL35), incluye las sentencias


COMMIT y ROLLBACK. Permite ejecutar varias operaciones como una
sola de forma indivisible y si se ejecuta correctamente se confirma a
través COMMIT, caso contrario, si algo sale mal se pueden deshacer los
pasos previos con ROLLBACK.

• SQL incorporado y SQL dinámico, abarcan las definiciones para


incorporarlas en el código SQL en lenguajes de programación de
propósito general.

• Lenguaje de control de datos (DCL36), abarca las sentencias GRANT


y REVOKE y permiten al administrador gestionar el acceso a los datos
en la base de datos.

35
Del inglés Transaction Control Language
36
Del inglés Data Control Language

61 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

3.2. Definición de datos en SQL

Es momento de acudir al texto básico para reforzar conocimientos acerca


de SQL. Estudie los apartado “Definición de datos de SQL.

Seguro que ahora tiene más clara la sintaxis para la definición de datos en SQL
y los tipos de datos que se pueden utilizar. A continuación, se abordan los puntos
más importantes.

Esta parte del lenguaje SQL, el lenguaje de definición de datos, permite crear las
estructuras de almacenamiento de datos y otros objetos de base de datos que
son necesarios para su buen funcionamiento.

La principal estructura es la tabla de base de datos.

• Las tablas están compuestas por columnas o también denominados


atributos.

• Los atributos tienen un tipo de dato y longitud (lo que se conoce como
“dominio”).

• Los tipos de datos pueden variar de acuerdo al producto de base de


datos utilizado, pero contamos con unos tipos de datos básicos que
soporta el estándar SQL.

62 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

La Tabla 1 muestra los tipos de datos básicos de SQL.

Tabla 1. Tipos de datos soportados por SQL

Tipo de dato Descripción


char(n) Cadena de caracteres de longitud fija (n).
varchar(n) Cadena de caracteres de longitud variable, con longitud máxima (n).

int Entero37
smallint Entero pequeño38
numeric(p, Número de punto fijo con precisión especificada por el usuario. El
d) número consta de :
p dígitos (más un signo)
d de los p dígitos están a la derecha del punto decimal
Ejemplo:
numeric (3,1) permite almacenar 44,5 exactamente. Pero no
444,5 ni 0,32 pueden almacenarse exactamente en este campo.
real, double Números de coma flotante y doble precisión con precisión
precision dependiente de la máquina.
float(n) Número de coma flotante, con precisión de al menos n dígitos.
Date Fecha de calendario que contiene cuatro dígitos: año, mes y día
Time Hora del día, en horas, minutos y segundos.

Una variante es time (p) que permite especificar el número de dígitos


fraccionarios para segundos (el valor predeterminado es 0).
Timestamp Combinación de fecha y hora. Timestamp se compone del siglo, año,
mes, día, hora, minuto y segundo. Timestamp registra segundos
fraccionarios39.

Una variante es timestamp (p) que utiliza de forma opcional la


precisión de segundos fraccionarios, que es un número de 0 a 9. p
dice a Oracle el número de dígitos para las fracciones de segundo (el
valor predeterminado es 6).
Tomado de: Silberschatz, et. al. (2014)

37
Subconjunto finito de los enteros que depende de la máquina
38
Subconjunto dependiente de la máquina del tipo entero
39
Es cierto que no todos los procesos son tan críticos en el tiempo que un milisegundo.

63 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Crear tablas

La sintaxis básica para crear una tabla es:

NOTA: [ ] significa que el comando es opcional.

Consulte en la Web la sintaxis del comando CREATE TABLE de Oracle.


Luego. Aplique la sintaxis de creación de una tabla que registra tareas y
que tiene los atributos Idtarea, tarea, detalle, fecha, hora_inicio y hora_
fin.

¿Cómo le fue con la actividad propuesta? Sin lugar a dudas aplicar la teoría nos
ayuda a ir dominando un saber. Ahora que ha escrito su primera tabla mediante
lenguaje DDL está preparándose para ir aplicando profesionalmente el lenguaje
SQL.

Un aspecto muy importante es definir las restricciones de integridad, que se


reflejan en el modelo mediante PRIMARY KEY, FOREIGN KEY y NOT NULL.

La clave primaria se especifica por la sentencia PRIMARY KEY (PK). Es el


atributo que identifica de forma única a cada tupla de la tabla. Cuando creamos la
tabla podemos definir la clave primaria a dos niveles, de columna o de tabla.

64 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Tabla 2. Definición de la clave primaria

A nivel de columna A nivel de tabla


CREATE TABLE PERSONAS CREATE TABLE PERSONAS

( (
p_dni VARCHAR2 (15) PRIMARY KEY, p_dni VARCHAR2 (15),
p_apellido VARCHAR2 (80) NOT p_apellido VARCHAR2 (80) NOT
NULL , NULL,
p_nombre VARCHAR2 (80) NOT NULL p_nombre VARCHAR2 (80) NOT
, NULL,
p_direccion VARCHAR2 (120) , p_direccion VARCHAR2 (120) ,
p_ciudad VARCHAR2 (80) , p_ciudad VARCHAR2 (80) ,
p_fechaNac DATE , p_fechaNac DATE ,
p_tituloAcad VARCHAR2 (80) p_tituloAcad VARCHAR2 (80),
) PRIMARY KEY (p_dni)
);
Tomado de: Silberschatz, et. al. (2014)

La Tabla 2 muestra ejemplos de definición de la clave primaria a nivel de columna


y a nivel de tabla. Los ejemplos correspondientes a esta unidad están basados en
el esquema de Ordenes de Compra que se encuentra en el Anexo 3.

La clave foránea se especifica por la sentencia FOREIGN KEY (FK). Es la


restricción que ayuda a asegurar la integridad referencial, relacionando los valores
de un atributo que es clave foránea en la tabla hija, con los valores de un atributo
que es clave primaria en la tabla padre. La sintaxis básica de la clave foránea se
muestra a continuación:

65 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Como alternativa al código anterior, se puede crear primero la tabla ORDENES


sin la restricción de clave foránea y añadirlo después a través de una sentencia
ALTER TABLE, según el siguiente especificación:

La restricción NOT NULL determina que en los atributos definidos con esta
restricción no se ingresen valores nulos. En caso que se envíen a insertar valores
nulos, el SGBD debe lanzar un error señalando que se está violando la restricción
de integridad.

Actualizar tablas

También, puede suceder que cuando hayamos creado una tabla se requiera
añadir, modificar el tipo de dato o eliminar una columna, para esta función se
cuenta con ALTER TABLE.

1. Para agregar una nueva columna se emplea:

ALTER TABLE <nombre-tabla>


ADD <nombre-columna> <tipo-dato>

Ejemplo: Agregamos la columna dirección a la tabla Personas de tipo


numérico de longitud 10.
ALTER TABLE PERSONAS ADD (direccion number(10));

2. Para modificar el tipo de dato de una columna se emplea:

ALTER TABLE <nombre-tabla>


MODIFY <nombre-columna> <tipo-dato>

66 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Ejemplo: Se modifica la columna direccion de la tabla Personas,


cambiando al tipo de dato varchar2 de longitud 100 caracteres.
ALTER TABLE PERSONAS MODIFY (direccion
VARCHAR2(100));

3. Para eliminar una columna se emplea:

ALTER TABLE <nombre-tabla>


DROP COLUMN <nombre-columna>

Ejemplo: Se modifica la tabla Personas eliminando la columna


direccion.
ALTER TABLE PERSONAS DROP COLUMN direccion;

Borrar tablas y otros objetos de base de datos

Si creamos estructuras y objetos de bases de datos, también puede ser necesario


eliminarlas. Con este fin, se tiene la sentencia DROP seguido del tipo de objeto
que vamos a borrar. Si la tabla se requiere borrar, la sentencia es DROP TABLE,
si es una vista sería DROP VIEW. La sintaxis puede variar de un SGBD a otro, el
ejemplo mostrado es la sintaxis para Oracle:

DROP TABLE nombre_tabla;


DROP INDEX nombre_índice;
DROP VIEW nombre_vista;

Para ejemplificar los comandos anteriores, creamos una copia de la tabla


Personas:

CREATE TABLE Personas_copia


AS SELECT p_dni, p_apellido, p_nombre FROM Personas;

67 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

1. Ahora procedemos a eliminar la copia de la tabla Personas:


DROP TABLE Personas_copia;

2. Eliminar un índice:
DROP INDEX Personas_p_nombres;

3. Eliminar una vista:


DROP VIEW vPersonas;

Cuando se ha creado una tabla, la información acerca de dicho objeto de base


de datos, denominada metadatos, es incluida en el diccionario de datos. En el
diccionario de datos se registra información de las columnas que contiene la
tabla, junto con su tipo de datos y longitud.. La tabla inicialmente está vacía, pero
lista para empezar a almacenar datos. Para la manipulación de datos empleamos
comandos como INSERT, UPDATE y DELETE.

Es una buena estrategia que aplique los ejemplos de creación de


tablas y las restricciones de integridad que se han presentado en su
texto básico, utilizando el motor de base de datos especificado con el
fin de aplicar las sentencias aprendidas.

¿Cómo le ha ido con esta actividad? Seguro que aplicar los conocimientos a la
práctica le ha resultado una actividad muy enriquecedora. Sigamos avanzando.

3.3. Consultas con SQL

Dado que una base de datos está diseñada para el almacenamiento, es necesario
que esos datos sean consultados. Las consultas de base de datos se realizan
mediante la sentencia SELECT. Cuando realizamos consultas sobre una sola
tabla, la estructura de la sentencia es:

SELECT <nombre-columna>, <nombre-columna>


FROM <nombre-tabla>
WHERE alguna-columna operador valor;

68 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Donde:

• SELECT va seguido de la lista de atributos separados por comas.

• FROM indica la tabla de procedencia de los datos.

• En este caso, en WHERE se incluye si se quiere filtrar datos por algún


criterio y se puede establecer condiciones, no solamente una sino
varias unidas a través de conectores lógicos AND y OR, como se lo hace
en cualquier lenguaje de programación.

• El resultado de esta consulta será un conjunto de tuplas que satisfacen


la condición planteada que forman otra relación sin nombre.

Avanzando las consultas, también se realizan consultas sobre varias tablas. Para
este tipo de consultas, en la parte del FROM se listan las tablas que contienen los
datos, separados por comas. La Tabla 3 muestra la estructura de la sentencia:

Tabla 3. Sintaxis de la sentencia SELECT

SINTAXIS EJEMPLO
a.
Utilizando WHERE
SELECT <nombre-columna>, SELECT p_dni, p_nombre, p_
<nombre-columna> apellido, ec_descripcion
FROM <nombre-tabla-1>, <nombre- FROM ESTADO_CIVIL, PERSONAS
tabla-2>, … WHERE ESTADO_CIVIL.EC_ID =
WHERE columna-tabla-1 = PERSONAS.ESTADO_CIVIL_EC_ID;
columna-tabla-2;
b.
Utilizando INNER JOIN
SELECT <nombre-columna>, SELECT p_dni, p_nombre, p_
<nombre-columna> apellido, ec_descripcion
FROM <nombre-tabla-1> FROM ESTADO_CIVIL JOIN PERSONAS
INNER JOIN <nombre-tabla-2> ON ESTADO_CIVIL.EC_ID = PERSONAS.
ON columna-tabla-1 = columna- ESTADO_CIVIL_EC_ID;
tabla-2;
Elaborado por: Morocho, J. y Romero, A. (2017)

69 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Si consultamos en más de una tabla, se debe asegurar que si tenemos n-tablas


se deben definir n-1 condiciones de JOIN (columna-tabla1 = columna-
tabla2).

3.4. Operaciones básicas adicionales

Las operaciones básicas adicionales permiten realizar comparación entre


atributos mediante la cláusula WHERE del tipo columna-tabla1 = columna-
tabla2.

Suele suceder que los atributos tienen el mismo nombre en ambas tablas, por lo
que, para diferenciarlos tendríamos que anteponer el nombre de la tabla, así:

nombre-tabla1.columna-tabla1= nombre-tabla2.columna-
tabla2.
Ejemplo:

emp.depId=dep.depId

Para abreviar y no repetir los nombres completos o poco descriptivos de tablas


se utiliza un “alias” utilizando para ello la cláusula AS, su uso no es obligatorio y
puede utilizar tanto a nivel de columnas como de tablas. La sintaxis de la cláusula
AS se presenta en el ejemplo siguiente:

En el ejemplo anterior:

• Observe la lista de atributos del SELECT donde se asigna un alias al


atributo tp_descripcion, que posibilita que en el encabezado de
los resultados aparece formapago, y por tanto, permite encabezados
personalizados;

70 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Note que en la parte del FROM, las tablas utilizan “alias”. Los alias son
nombres cortos que permiten referenciar a las tablas en la sentencia
SELECT;

• Para el ejemplo, el alias de la tabla ORDENES es o, el alias de la tabla


PERSONAS es p y el alias de la tabla TIPOS_PAGO es tp;

• En la parte del WHERE tenemos una condición p_nombre=’UTPL’


que filtra las tuplas donde el atributo p_nombre coincide con la cadena
‘UTPL’;

• Luego o.PERSONAS_p_dni=p.p_dni establece el JOIN entre las


tablas ORDENES y PERSONAS;

• Y por último, tp.tp_id = o.TIPOS_PAGO_tp_id establece el JOIN


entre TIPOS_PAGO y ORDENES.

Consulte en internet sobre las formas de asignar alias a las columnas


cuando necesitamos encabezados más elaborados que incluyen
espacios en blanco entre palabras, y sobre la utilidad de la cláusula
ORDER BY.
Luego, aplique este conocimiento, en la tabla tareas creada
anteriormente en otro apartado y cree una nueva tabla denominada
proyectos con los atributos idProyecto, proyecto,
departamento.
Relacione estas dos tablas y obtenga los resultados de las tareas
asignadas a cada proyecto y debe mostrar lo siguiente nombre del
proyecto, nombre de la tarea y fecha.

¿Cómo le ha parecido la actividad propuesta? Ahora ha experimentado un nivel


práctico de los lenguajes DDL y DML que le ayudará a tener mayor dominio en
el leguaje SQL. El lenguaje SQL es muy potente y nos permite hacer consultas
muy elaboradas incluyendo formas variadas de condiciones que permiten filtrar la
información de acuerdo a las necesidades de los usuarios. Para ello tenemos a
disposición algunas funciones que podemos utilizar, la Tabla 4 muestra algunas de
ellas.
71 Modalidad Abierta y a Distancia
Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Tabla 4. Funciones para utilizar en las consultas SQL

Función Descripción
UPPER() Convierte una cadena de caracteres en mayúsculas.
SELECT UPPER(nombreCli) AS cliente, ciudad
FROM Clientes;
LOWER() Convierte una cadena de caracteres en minúsculas.
SELECT LOWER(nombreCli) AS cliente, ciudad
FROM Clientes;
TRIM() Eliminar espacios en blanco al inicio y fin de una cadena de
caracteres.
SELECT TRIM(nombreCli) AS cliente, ciudad
FROM Clientes;
LIKE Encuentra coincidencias a partir de un patrón de caracteres.
NOT LIKE % representa cualquier secuencia de cero o más caracteres
_ representa cualquier carácter individual
SELECT * FROM Clientes
WHERE Ciudad LIKE ‘%o’;
SELECT * FROM Clientes
WHERE Ciudad NOT LIKE ‘L%’;
BETWEEN… AND… Condición de búsqueda basada en un rango.
NOT BETWEEN … SELECT * FROM Productos
AND … WHERE Precio BETWEEN 10 AND 20;
SELECT * FROM Productos
WHERE Precio NOT BETWEEN 10 AND 20;
IN Condición de búsqueda basada en pertenencia a un conjunto.
NOT IN SELECT * FROM Clientes
WHERE Ciudad IN (‘Loja’,’Cuenca’);
SELECT * FROM Clientes
WHERE Ciudad NOT IN (‘Quito’,’Guayaquil’);
IS NULL Condición de búsqueda para verificar valores NULL
IS NOT NULL SELECT Nombres, Direccion FROM Personas
WHERE Direccion IS NULL;
SELECT Nombres, Direccion FROM Personas
WHERE Direccion IS NOT NULL;
DISTINCT Evita que el resultado devuelva valores repetidos
SELECT DISTINCT Departamento FROM Personas;

72 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

En su texto básico estudie los apartados “Estructura básica de


las consultas SQL”, “Operaciones básicas adicionales” y
“Operaciones sobre conjuntos”.

¿Cómo le ha resultado la lectura? Estamos seguros que le dio visión más amplia
de las posibilidades de consultas SQL que se pueden aplicar.

3.5. Valores nulos

Un valor nulo (NULL) hace referencia a un valor desconocido, es un valor no


definido y no contemplado por el momento, pero que luego, se puede sustituir y
tratarse adecuadamente. NULL no es un valor cero, no es un FALSE y no es una
cadena vacía. Generalmente estos valores tienen un tratamiento especial, ya que
por ejemplo al momento de calcular estadísticas de 20 valores considerados, la
presencia de dos valores nulos tiene incidencia en el resultado.

Es una mala práctica tomar a un NULL como comodín, para solucionar casos
inesperados, por ejemplo si no conocemos el segundo apellido de un cliente,
llenando la base de datos de estos valores que luego resultan difíciles de tratar.

En su texto básico en el aparatado “Definición básica de esquemas”


estudie de manera especial las funciones isNull e is not Null, e
identifique ejemplos que aplican estas restricciones.

¿Cómo estuvo la lectura? En realidad es un concepto simple, lo más importante


es que usted vaya identificando diferentes escenarios de aplicación de esta
restricción.

3.6. Funciones de agregación

Las funciones de agregación retornan un simple valor, calculado desde valores en


una columna. SQL incorpora las cinco funciones de agregación:

73 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Media AVG( ), devuelve la media aritmética y recibe como parámetro


una columna o una expresión.

• Mínimo MIN( ), devuelve el valor mínimo de una lista de valores


(pueden ser caracteres).

• Máximo MAX( ), devuelve el valor máximo de una lista de valores


(pueden ser caracteres).

• Total SUM( ), retorna la sumatoria de una lista de valores.

• Recuento COUNT( ), devuelve el total de elementos de una lista de


valores (pueden ser caracteres).

A continuación, se muestra la sintaxis de la consulta al incluir las funciones de


agregación.

SELECT función-agregación(nombre-columna) FROMnombre-


tabla;

Ejemplo: La consulta que obtiene el número de órdenes, puede ser:


SELECT count(o_id) total -- total es el alias de la
columna
FROM ORDENES;

Además, se puede aplicar las funciones de agregación para efectuar los cálculos
por grupos de tuplas con base a un criterio de agrupación, incluyendo para esto la
cláusula GROUP BY. La sintaxis es la siguiente:

SELECT nombre-columna, función-agregación(nombre-


columna)
FROM nombre-tabla
WHERE nombre-columna operador valor
GROUP BY nombre-columna

74 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

HAVING función-agregación(nombre-columna) operador


valor;

Ejemplo: La consulta que obtiene el número de órdenes de cada


cliente, puede ser:

SELECT p_nombre, p_apellido, count(o_id)


FROM ordenes o, personas p
WHERE o.PERSONAS_P_DNI = p.P_DNI
GROUP BY p_nombre, p_apellido;

El siguiente ejemplo está basado en el ejemplo anterior al que se le ha agregado


una condición de grupo con el HAVING count(o_id) > 1, que provoca que las
personas que tengan solamente una orden no aparezcan.

SELECT p_nombre, p_apellido, count(o_id)


FROM ordenes o, personas p
WHERE o.PERSONAS_P_DNI = p.P_DNI
GROUP BY p_nombre, p_apellido
HAVING count(o_id) > 1;

• La sección SELECT enlista las columnas que se consideran el criterio


de agrupamiento y la función de grupo a utilizar.

• La sección FROM especifica la procedencia de los datos (una o más


tablas).

• La sección WHERE muestra solamente las tuplas que cumplen la


condición y que luego formarán los grupos.

• La parte del GROUP BY agrupa las tuplas de acuerdo al criterio de


agrupamiento especificado.

75 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

• Finalmente, la sección HAVING, es una cláusula opcional que permite


que los grupos formados se muestren solamente aquellos grupos
que cumplen con la condición especificada mediante la función de
agregación.

3.7. Subconsultas

Una subconsulta es una sentencia SELECT, que tiene la misma sintaxis que
una sentencia normal. Una subconsulta aparece dentro de otra sentencia
SELECT, dicho de otro modo, es una sentencia SELECT anidada dentro de otra.
Generalmente se utilizan para filtrar una cláusula WHERE o HAVING con el
conjunto de resultados de la subconsulta. La sintaxis de una subconsulta es la
siguiente:

SELECT nombre-columna, …
FROM nombre-tabla, …
WHERE nombre-columna operador (SELECT nombre-columna
FROM nombre-tabla
WHERE nombre-columna operador valor);

Ejemplo: Busca todas las órdenes que pertenecen a Eduardo


Jaramillo. Para esta consulta empleamos una subconsulta.

SELECT o.O_ID, o.O_FECHA, o.O_MONTO


FROM ORDENES o
WHERE o.PERSONAS_P_DNI IN
(SELECT distinct p.P_DNI FROM PERSONAS p
WHERE p.P_NOMBRE =’Eduardo’ AND p.P_
APELLIDO=’Jaramillo’);

Estudie los apartados “Funciones de agregación” y


“Subconsultas”.

76 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

¿Cómo ha ido su lectura? Seguro que le han quedado claras el uso de las
funciones de agregación, mediante la explicación de las funciones disponibles en
SQL para poder utilizarlas y acoplarlas a las consultas. Así también, con haber
estudiado sobre subconsultas debe haber descubierto el potencial de este tipo de
consultas.

Es importante que usted conozca tanto la base teórica y que vaya haciendo
prácticas para ir adquiriendo con la práctica la técnica que un experto en base de
datos requiere para el manejo de SQL.

Además, le sugerimos que estudie el Tutorial de SQL disponible en


W3Schools

¿Cómo le ha parecido el tutorial? Estupendo! Nos alegra que le haya ayudado, es


una herramienta completa para entrenarse en el dominio del lenguaje SQL.

3.8. Modificación de la base de datos

Una parte del lenguaje SQL está dedicado a la manipulación de los datos de
una base de datos. La base de datos es un activo de la organización y varios
usuarios acceden al mismo tiempo, esto se denomina concurrencia. En una base
de datos varios usuarios a la vez estarán haciendo consultas, insertando datos en
las tablas, actualizando datos y también borrando datos, por lo tanto, la base de
datos está en continuo movimiento. Las sentencias que se emplean en el lenguaje
DML son:

INSERT

La sentencia INSERT permite insertar datos en una tabla. La sintaxis es la


siguiente:

INSERT INTO <nombre-tabla>


VALUES (valor1, valor2, valor3, ...);

77 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Donde:

• <nombre-tabla> hace referencia a la tabla en donde se insertan los


datos, esta puede estar vacía o contener datos.

• Luego la palabra reservada VALUES seguida de los valores a insertar


en la tabla separados por comas y encerrados entre paréntesis.
Generalmente, los nombres de columnas de la tabla son omitidos en
caso de que se requiera insertar datos en todas las columnas. Además,
se puede especificar las columnas donde se van a insertar datos y los
valores correspondientes, pudiendo ser también todas las columnas
si es que se lo desea, o al menos las que tienen restricción de NOT
NULL.

INSERT INTO <nombre-tabla> (columna1, columna2,


columna3,...)
VALUES (value1, value2, value3, ...);

Ejemplo: Inserta un nuevo tipo de pago en la tabla TIPOS_PAGO en


donde solamente se inserta valores en dos de sus tres columnas, por
ello se debe especificar la lista de atributos de la tabla entre paréntesis.

INSERT INTO TIPOS_PAGO (tp_id, tp_descripcion)


VALUES (2, ‘Contado’);

Ejemplo: Realiza la inserción de un estado civil en la tabla ESTADO_


CIVIL, como se inserta valores en todas las columnas de la tabla no es
necesario especificar la lista de atributos de la tabla.

INSERT INTO ESTADO_CIVIL


VALUES (4, ‘Viudo’);

78 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

UPDATE

La sentencia UPDATE permite actualizar datos que ya existen en la base de datos.


La sintaxis de la sentencia es la siguiente:

UPDATE <nombre-tabla>
SET columna1=valor1, columna2=valor2, ...
WHERE alguna-columna operador valor;
Donde:

• <nombre-tabla> representa el nombre de la tabla donde se


actualizan los datos.

• Seguido de la palabra reservada SET, a su vez la columna1


representa la columna de actualización de los datos y valor1
representa el nuevo dato de la columna1, y en caso de haber más
columnas que se van a actualizar se separan por comas.

• Si no se incluye la sentencia WHERE los cambios aplicarán a todas las


tuplas de la tabla, por lo tanto, si solamente se desea actualizar ciertas
tuplas se debe agregar una condición a cumplir.

Ejemplo: Actualiza las tuplas de ec_id = 4 con un estado civil de ‘Viudo’


o ‘Viuda’.

UPDATE ESTADO_CIVIL SET ec_descripcion = ‘Viudo/a’


WHERE ec_id=4;

DELETE

La sentencia DELETE elimina las tuplas de una relación. La sintaxis es la


siguiente:

DELETE FROM <nombre-tabla>


WHERE alguna-columna operador valor;

79 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Donde:

• <nombre-tabla> representa el nombre de la tabla donde se realiza la


eliminación de los datos.

• La cláusula WHERE se incluye si solamente se requiere borrar ciertos


datos que cumplan la condición alguna-columna=algún-valor,
si obviamos el WHERE se eliminarán todas las tuplas que contenga la
tabla.

Ejemplo: Elimina las tuplas que contengan el estado civil ‘Viudo/a’.

DELETE FROM ESTADO_CIVIL


WHERE ec_id=4;

Estudie el apartado “Modificación de la base de datos”, en donde


encontrará ejemplos de sentencias INSERT, UPDATE y DELETE.

¿Cómo le ha ayudado la lectura? Indudablemente le han complementado los


conocimientos sobre las sentencias de manipulación de datos.

• Visite el tutorial de SQL en el portal web W3Schools


• Desarrolle el test en línea de la temática de SQL disponible en SQL-
Quiz

¿Le ha resultado útil el tutorial SQL? Es la mejor manera de aprender! Es


importante que instale su base de datos y vaya paralelamente practicando.

3.9. Combinación de tablas

Cuando la información requerida está en más de una tabla se debe aplicar


operaciones de combinación. La combinación permite obtener información de otra
tabla a través de las claves foráneas basadas en un atributo común. Tenemos
algunos tipos de combinación que los revisamos a continuación:

80 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

INNER JOIN

Devuelve todas las tuplas que tengan coincidencia con los valores basados en el
atributo común entre dos tablas. La Tabla 5 muestra en

a. la sintaxis completa y en
b. la sintaxis sin INNER.

Tabla 5. Sintaxis de la operación INNER JOIN

SINTAXIS EJEMPLO
a.
SELECT columna(s) SELECTT p_nombre, p_apellido,
FROM tabla1 ec.EC_DESCRIPCION
LEFT JOIN tabla2 FROM ESTADO_CIVIL ec
ON tabla1.columna=tabla2. INNER JOIN PERSONAS p ON ec.EC_ID
columna; = p.ESTADO_CIVIL_EC_ID;
b.
SELECT columna(s) SELECT p_nombre, p_apellido,
FROM tabla1 ec.EC_DESCRIPCION
INNER JOIN tabla2 FROM ESTADO_CIVIL ec
ON JOIN PERSONAS p ON ec.EC_ID =
tabla1.columna=tabla2.columna p.ESTADO_CIVIL_EC_ID;
Elaborado por: Morocho, J. y Romero, A. (2017)

NOTA: INNER JOIN es lo mismo que JOIN

La Figura 11 muestra gráficamente la operación JOIN.

Figura 11. Operación INNER JOIN de SQL


Tomado de: W3Schools

81 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

LEFT JOIN

Devuelve todas las tuplas desde la tabla izquierda y que coinciden con las tuplas
de la tabla derecha. La Tabla 6 muestra en a) la sintaxis completa y en b) la
sintaxis con LEFT OUTER JOIN.

Tabla 6. Sintaxis de la operación LEFT JOIN

SINTAXIS EJEMPLO
a.
SELECT columna(s) SELECT p_nombre, p_apellido,
FROM tabla1 ec.EC_DESCRIPCION
LEFT JOIN tabla2 FROM ESTADO_CIVIL ec
ON tabla1.columna=tabla2. LEFT JOIN PERSONAS p
columna; ON ec.EC_ID = p.ESTADO_CIVIL_EC_
ID;
b.
SELECT columna(s) SELECT p_nombre, p_apellido,
FROM tabla1 ec.EC_DESCRIPCION
LEFT OUTER JOIN tabla2 FROM ESTADO_CIVIL ec
ON LEFT OUTER JOIN
tabla1.columna=tabla2.columna PERSONAS p
ON ec.EC_ID = p.ESTADO_CIVIL_EC_
ID;

La Figura 12 muestra gráficamente la operación LEFT JOIN.

Figura 12. Operación LEFT JOIN de SQL


Tomado de: W3Schools

82 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

En algunas bases de datos LEFT JOIN se lo conoce como LEFT OUTER


JOIN.

RIGHT JOIN
Devuelve todas las tuplas desde la tabla derecha y que coinciden con las tuplas
de la tabla izquierda. La Tabla 7 muestra en a) la sintaxis completa y en b) la
sintaxis con RIGHT OUTER JOIN.

Tabla 7. Sintaxis de la operación RIGHT JOIN


SINTAXIS EJEMPLO
a.
SELECT columna(s) SELECT columna(s)
FROM tabla1 FROM tabla1
RIGHT JOIN tabla2 RIGHT OUTER JOIN tabla2
ON tabla1.columna=tabla2. ON
columna; tabla1.columna=tabla2.columna
b.
SELECT columna(s) SELECT p_nombre, p_apellido,
FROM tabla1 ec.EC_DESCRIPCION
RIGHT OUTER JOIN tabla2 FROM ESTADO_CIVIL ec
ON RIGHT OUTER JOIN
tabla1.columna=tabla2.columna PERSONAS p
ON ec.EC_ID = p.ESTADO_CIVIL_EC_
ID;

Elaborado por: Morocho, J. y Romero, A. (2017)

La Figura 13 muestra gráficamente la operación RIGHT JOIN.

Figura 13. Operación RIGHT JOIN de SQL


Tomado de: W3Schools

83 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

En algunas bases de datos RIGHT JOIN se lo conoce como RIGHT OUTER


JOIN.

FULL JOIN

Devuelve todas las tuplas cuando hay una coincidencia en una de las tablas. La
sintaxis es como sigue:

SELECT columna(s)
FROM tabla1
FULL OUTER JOIN tabla2
ON tabla1.columna =tabla2.columna;

Ejemplo:

SELECT p_nombre, p_apellido, ec.EC_DESCRIPCION


FROM ESTADO_CIVIL ec
FULL OUTER JOIN PERSONAS p
ON ec.EC_ID = p.ESTADO_CIVIL_EC_ID;

La Figura 14 muestra gráficamente la operación FULL OUTER JOIN.

Figura 14. Operación RIGHT JOIN de SQL


Tomado de: W3Schools

84 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Estudie el apartado “Expresiones de reunión” en su texto básico, que


complementa los conceptos revisados sobre operaciones de JOIN.

¿Cómo le ha parecido la lectura del apartado indicado? Es importante que usted


sepa que SQL soporta varios tipos de reunión. Esperamos que la lectura haya
enriquecido su conocimiento sobre las diferentes posibilidades de combinación de
tablas.

3.10. Vistas

Una vista es una relación virtual, que se define a través de una consulta SQL de
cualquier tipo. Esta definición se almacena en la base de datos y se la puede
invocar como a cualquier tabla de la base de datos. Una vez se invoque una vista
el SGBD ejecutará el código SQL almacenado en la definición y la vista se creará
como una relación que contenga todas la tuplas que devuelve la consulta. La
sintaxis para crear una vista es la siguiente:

CREATE VIEW nombre_vista AS


SELECT nombre_columna(s)
FROM nombre_tabla
WHERE condiciones;

La llamada a una vista puede ser como sigue:

SELECT column_name(s)
FROM nombre_vista;

Este objeto de base de datos es muy importante, debido a que nos puede ayudar
como método de seguridad al segmentar los datos que se pueden visualizar a
partir de las relaciones base que son las tablas dueñas de los datos. Por ejemplo:

85 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

▪▪ Si tenemos la tabla base:

Personas(P_DNI, P_APELLIDO, P_NOMBRE, P_DIRECCION, P_


CIUDAD, P_FECHANAC, P_TITULOACAD, ESTADO_CIVIL_EC_ID)

▪▪ Podríamos definir dos vistas, la primera vista para el departamento Recursos


Humanos:

vPersonasRRHH(rrhh_dni, rrhh_nombres, rrhh_estadoc, rrhh_


fechaNac)

▪▪ Y la segunda vista para el departamento de Proyectos:

vPersonasProy(p_dni, p_nombres, p_tituloAcad).

▪▪ En la segunda vista, no se incluye los atributos p_direccion, p_


ciudad, p_fechaNac y estado_civil_ec_id, debido a que, en este
caso, por normativa institucional solamente el personal de RRHH debe tener
acceso a la información de los empleados.

Ejemplo: Creación de la vista vPersonasRRHH.

CREATE OR REPLACE VIEW vPersonasRRHH


AS
SELECT PERSONAS.p_dni rrhh_dni,
PERSONAS.p_nombre|| ‘ ‘ || PERSONAS.p_apellido,
rrhh_NOMBRES,ESTADO_CIVIL.ec_descripcion, rrhh_
estadoc,
PERSONAS.p_fechaNac rrhh_fechaNac
FROM PERSONAS
INNER JOIN ESTADO_CIVIL
ON ESTADO_CIVIL.ec_id = PERSONAS.ESTADO_CIVIL_ec_id ;

86 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Ejemplo: Creación de la vista vPersonasProy.

CREATE OR REPLACE VIEW vPersonasProy


AS
SELECT PERSONAS.p_dni,
PERSONAS.p_nombre|| ‘ ‘ || PERSONAS.p_apellido,
p_nombres,PERSONAS.p_tituloAcad
FROM PERSONAS ;

Para complementar lo revisado sobre las vistas, estudie el apartado


“Vistas” de su texto básico.

¿La lectura ha sido esclarecedora, cómo le ha parecido? Recuerde que las


vistas se definen como relaciones que contienen el resultado de una consulta?
Las vistas son útiles para ocultar información innecesaria o sensible, y también
permiten acopiar en información de más de una relación en una única vista.

3.11. Transacciones

Una transacción es la unidad básica de procesamiento de una base de datos


y refleja las operaciones que son activadas por eventos, como la compra de un
ticket aéreo, el registro para un curso o el realizar un depósito bancario.

ANSI40 ha definido normas para el buen funcionamiento de las transacciones de


una base de datos. En SQL se da soporte a las transacciones con dos comandos:
COMMIT y ROLLBACK.

▪▪ COMMIT, hace que los cambios efectuados por la transacción se hagan


permanentes en la base de datos. Luego de terminada una transacción
inmediatamente empieza otra.

40
Del inglés American National Standards Institute

87 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

▪▪ ROLLBACK, ocasiona que todos los cambios realizados en la transacción


se deshagan, por lo tanto, la base de datos vuelve a su estado antes de
empezar la transacción y queda disponible para la ejecución de nuevas
transacciones.

Cuando una transacción está ejecutando sus operaciones y todavía no se ha


enviado un COMMIT, se puede enviar un ROLLBACK y deshacer lo que hasta ese
momento se ha ejecutado. Por el contrario, si ya se ejecutó un COMMIT no es
posible ejecutar un ROLLBACK.

Ejemplo: muestra una transacción de borrado, como todavía no se ha


ejecutado un COMMIT, es factible aplicar un ROLLBACK.

DELETE FROM clientes;


ROLLBACK; /* se deshacen los cambios */

Ejemplo: muestra una transacción de borrado, que se confirma a través de


un COMMIT, después de esto no será posible deshacer los cambios.

DELETE FROM clientes WHERE idCliente = ‘CLI010’;


COMMIT; /* se confirman los cambios */

3.12. Restricciones de integridad

Anteriormente hemos explicado las restricciones de tipo NOT NULL, PRIMARY


KEY y FOREING KEY. Siguiendo con el conjunto de restricciones tenemos
también UNIQUE y CHECK.

UNIQUE

Esta restricción identifica de forma única cada registro en la tabla de la base de


datos. Es muy parecida a la restricción PRIMARY KEY, ya que ambos garantizan
la unicidad en una columna o conjunto de columnas.

88 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Debemos considerar que cuando creamos una PRIMARY KEY, automáticamente


se crea una restricción UNIQUE sobre la clave primaria creada. Además, podemos
crear varias restricciones UNIQUE por tabla, pero solamente una PRIMARY KEY
por tabla.

La Tabla 8 muestra en a) una restricción UNIQUE definida con el atributo P_Id y


en b) una restricción UNIQUE asignándole un nombre y basada en las columnas
P_Id y Apellido, quiere decir que los pares de valores de estas columnas
deben ser únicos en la tabla Personas.

Tabla 8. Ejemplos de la restricción UNIQUE

a. b.
CREATE TABLE Personas CREATE TABLE Personas
( (
P_Id int NOT NULL UNIQUE, P_Id int NOT NULL,
Apellido varchar(255) NOT Apellido varchar(255) NOT NULL,
NULL, Nombre varchar(255),
Nombre varchar(255), Ciudad varchar(255),
Ciudad varchar(255) CONSTRAINT uc_PersonaID UNIQUE
) (P_Id,Apellido)
)
Elaborado por: Morocho, J. y Romero, A. (2017)

CHECK

Permite definir una restricción sobre una columna o sobre la tabla completa, para
lo cual evalúa una condición que debe cumplir las tuplas. La Tabla 9 muestra en a)
una restricción CHECK definida junto con el atributo y en b) una restricción CHECK
asignándole un nombre por lo tanto se define al final de la lista de atributos.

89 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Tabla 9. Ejemplos de la restricción CHECK

a. b.
CREATE TABLE Personas CREATE TABLE Personas
( (
P_Id int NOT NULL CHECK (P_ P_Id int NOT NULL,
Id>0), Apellido varchar(255) NOT NULL,
Apellido varchar(255) NOT Nombre varchar(255),
NULL, Ciudad varchar(255),
Nombre varchar(255), CONSTRAINT chk_Persona CHECK (P_
Ciudad varchar(255) Id>0 AND Ciudad=’Loja’)
) )

Estudie el apartado “Restricciones de integridad” para reforzar sus


conocimientos de los tipos de restricciones.

¿Cómo le ha resultado esta lectura? Recuerde que las restricciones de integridad


aseguran que la base de datos tenga un estado consistente.

3.13. Índices

Al momento de consultar datos, es de suma importancia que los tiempos de


respuesta sean apropiados. Para esta actividad en la base de datos, nos ayuda
mucho que los datos estén indexados de acuerdo a un criterio.

Aparece el concepto de índices, que funcionan de forma análoga a los índices de


un libro, por ejemplo: si deseamos encontrar en nuestro texto de base de datos el
tema de “Lenguaje SQL” ¿tiene sentido leer en todas las páginas hasta encontrar
el tema? Por supuesto que no, es mejor ir al índice del libro y buscar el tema para
encontrar las páginas concretas que nos lleven a lo que estamos buscando.

Otro ejemplo, cuando vamos a la biblioteca en busca de un libro ¿tiene sentido


buscar por todos los estantes de la biblioteca hasta encontrar en libro que

90 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

estamos buscando? Creo que sería mejor utilizar el catálogo de la biblioteca, que
está indizado por título, tema y autor, logrando ubicar el texto de una forma rápida
y sencilla.

La sintaxis para crear un índice en SQL es la siguiente:

CREATE INDEX nombre_indice


ON nombre_tabla (nombre_columna);

Ejemplo: Creación de un índice basado en el atributo o_fecha de la


tabla Ordenes:

CREATE INDEX o_fecha_idx ON ORDENES (o_fecha);

Estudie en el texto básico en el apartado “Creación de índices” como


complemento en el aprendizaje sobre los índices de base de datos.

¿La lectura le ha incorporado nueva información? Seguro que le ha


complementado lo explicado. Estos conceptos son muy manejados por los DBA y
usted como Ingeniero en formación debe incorporarlos a su jerga técnica.

3.14. Privilegios

Debemos recordar que cada objeto de base de datos tiene un propietario, que
es el usuario con el que se ingresa a la base de datos para proceder a crear las
estructuras. Por esta razón, cada usuario posee un conjunto de objetos de su
propiedad que no pueden ser accedidos por otros usuarios salvo el caso de que
se les autorice para este efecto.

Generalmente, el administrador de base de datos es quien gestiona nuevos


usuarios, asigna privilegios, reestructura la base de datos de ser necesario, en fin,
es el análogo al superusuario en un sistema operativo.

91 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Dentro de estas autorizaciones tenemos:

▪▪ Privilegios de lectura (SELECT) ;


▪▪ Privilegios de actualización (UPDATE);
▪▪ Privilegios de inserción de nuevos datos (INSERT) ;
▪▪ Privilegios de borrado (DELETE).

Mediante SQL podemos asignar o revocar privilegios a través de las sentencias


GRANT y REVOKE.

GRANT

Esta instrucción se utiliza para conceder privilegios sobre objetos de la base de


datos a usuarios específicos. Esta sentencia generalmente la utiliza el propietario
del objeto que es quien tiene todos los privilegios. La sintaxis de la sentencia es:

GRANT <lista_privilegios>
ON <nombre_objeto>
TO <usuario/rol>;

Ejemplo: Concesión de privilegios de SELECT, INSERT y UPDATE


sobre la tabla Ordenes que son propiedad del usuario_A hacia el
usuario_B.

GRANT select, insert, update ON ORDENES TO usr_B;


REVOKE

Se emplea para quitar los privilegios concedidos con la sentencia GRANT. La


sintaxis es la siguiente:

REVOKE <lista_privilegios>
ON <nombre_objeto>
FROM <usuario/rol>;

92 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Ejemplo: Derogación de privilegios INSERT y UPDATE sobre la tabla


Ordenes que son propiedad del usuario_A al usuario_B:

REVOKE INSERT, UPDATE ON ORDENES FROM usr_B;

Notará que en la sintaxis se mencionan los Roles, que son objetos de base de
datos que agrupan conjuntos de privilegios sobre otros objetos, se utilizan para
evitar asignar privilegios individualmente.

Supongamos que tenemos varios profesores en una universidad que tienen


los mismos privilegios, entonces cuando ingrese un nuevo profesor se debería
asignar los privilegios uno a uno. Sin embargo, para evitar esta tarea se crea un
rol y se le asignan los privilegios a este rol, y luego al nuevo profesor se le asigna
únicamente el rol que agrupa los privilegios necesarios.

Ahora, estudie el apartado “Autorización” de su texto básico que


complementa explicación dada.

¿La lectura ha cubierto sus expectativas? Seguro que ha clarificado el concepto


de privilegios, esta en una tarea técnica que es parte de las responsabilidades de
un DBA.

• Instale la versión de la base de datos Oracle Express Edition y luego


Oracle SQLDeveloper41, en caso de que no las tenga instaladas.
Con estas herramientas podrá practicar lo estudiado en la presente
unidad.

¿Cómo estuvo la instalación de las herramientas necesarias? En caso de dudas


en el EVA cuenta con un videotutorial sobre el proceso de instalación, si no logra
superar sus problemas técnicos con esto, recuerde que su tutor está presto a
apoyarle. No dude en contactarlo!

41
Herramienta para interactuar con la base de datos que posee una consola de SQL

93 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Muy bien, ¡felicitaciones! hemos completado la tercera unidad, Siga adelante


con el mismo entusiasmo. Para complementar esta unidad, es momento que
compruebe sus avances desarrollando la siguiente autoevaluación.

94 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

Autoevaluación 3

Una vez completada la presente unidad, el siguiente cuestionario le permite


verificar su aprendizaje en la unidad “Lenguaje SQL”.

a. Conteste Verdadero (V) o Falso (F) a las siguientes afirmaciones,


según corresponda:

1.  (   ) En una instrucción SELECT la cláusula ORDER BY es obligatoria

2.  (   ) En SQL las funciones de agregación calculan un único valor como


resultado

3.  (   ) La cláusula WHERE de los grupos es el HAVING

4.  (   ) Una instrucción SELECT anidada se denomina subselección

5.  (   ) Si las columnas de la tabla de resultados provienen de más de


una tabla, deberá utilizarse una combinación

6.  (   ) La cláusula DELETE puede usarse para eliminar definitivamente


una tabla

7.  (   ) La reunión externa izquierda es simétrica a la reunión externa


derecha

8.  (   ) La operación de reunión externa completa se representa por


LEFT-RIGHT OUTER JOIN.

9.  (   ) Una vista puede considerarse un método de seguridad.

95 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

10.  (   ) En una transacción una vez aplicado un COMMIT es posible


aplicar un ROLLBACK para deshacer los cambios aplicados.

11.  (   ) Una vez creada una tabla es posible añadir una restricción
mediante la instrucción ALTER TABLE.

b. En las siguientes preguntas seleccione la respuesta correcta:

12. La operación relacional más frecuente es:

a. Proyección
b. Selección
c. Producto cartesiano

13. Examine la estructura de la tabla

EMP(empId, empNombre, empSalario, comisión)

¿Qué sucedería al aplicar la siguiente sentencia?


ALTER TABLE emp MODIFY (salary DEFAULT 10000);

a. Este genera un error debido a que las definiciones de columnas no


pueden ser alteradas para añadir valores por defecto.
b. Únicamente las subsecuentes inserciones donde EmpSalario no se
especifique deberían almacenar el valor 10000.
c. Generaría un error debido a que las definiciones de columna no pueden
ser alteradas si la tabla ya contiene tuplas.
d. Todas las tuplas existentes y las subsecuentes donde EmpSalario
contenga un valor NULL se actualizarán a 10000.

96 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

14. Tenemos las tablas:

EMP(empId, empNombre, fechaIngreso, empSalario, depId) y,


DEPT(depId, depNombre, depLocalidad).

Se requiere generar un reporte que muestre todos los nombres de


departamentos con la correspondiente cantidad que invierten en salarios.
¿Qué sentencia SQL ayudaría a cumplir el requerimiento?

a.
SELECT depNombre, SUM (empSalario)
FROM emp e, dept d
WHERE e.depId = d.depId
GROUP BY depNombre;

b.
SELECT depNombre, SUM(empSalario)
FROM emp e, dept d
WHERE e.depId = d. depId
GROUP BY depNombre, empSalario;

c.
SELECT depNombre, empSalario
FROM emp e, dept d
WHERE e.depId = d. depId
GROUP BY depNombre
HAVING empSalario = SUM(empSalario);

d.
SELECT depNombre, empSalario
FROM emp e, dept d
GROUP BY depNombre
HAVING empSalario = SUM(empSalario);

97 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

15. El lenguaje SQL se subdivide en:

a. DML, DCL, TCL y FCL


b. DML, DDL, DCL y TTL
c. DML, DDL, DCL y XTL
d. DML, DDL, DCL y TCL

16. Con el comando ALTER, no se puede:

a. Borrar una columna.


b. Modificar el tipo de dato de una columna.
c. Cambiarle el nombre a la tabla.
d. Actualiza la tabla.

17. Con GRANT y REVOKE se puede:

a. otorgar permisos de SELECT a una o varias tablas


b. otorgar permisos para borrar datos de una tabla
c. retirar permisos para actualizar una tabla
d. Todas las anteriores

18. Una transacción consiste:

a. De una secuencia de instrucciones de consulta y de actualización


b. De una secuencia de instrucciones de consulta o de actualización
c. De una instrucción de consulta
d. De una instrucción de actualización

19. Los roles sirven para:

a. Limitar los recursos que utiliza cada usuario


b. Agrupar un conjunto de permisos
c. Asignar permisos al administrador de la base de datos (DBA)
d. Ninguna de las anteriores

98 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Primer bimestre

20. Para confirmar una transacción se emplea:

a. El comando HAVING
b. La sentencia ROLLBACK
c. El comando COMMIT
d. La sentencia CHECK

21. En una sentencia de reunión, se debe utilizar junto con JOIN la palabra
reservada:

a. ON
b. WHERE
c. HAVING
d. Cualquiera de las anteriores.

¿Cómo le fue en su autoevaluación? ¡Esperamos que muy bien! y si no es así


revise los apartados correspondientes y su guía didáctica a fin de aclarar las
dudas que tenga. Recuerde además que cuenta con el apoyo de su tutor para
consultarle a través del EVA o telefónicamente.

99 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

SEGUNDO BIMESTRE

UNIDAD 4. LENGUAJES DE CONSULTA FORMALES

Para el desarrollo de esta unidad, se requiere que vaya


revisando la guía didáctica y el capítulo “Lenguajes
formales de consulta relacional” del texto básico.

“Los lenguajes de manipulación de datos se


distinguen unos de otros por sus estructuras
subyacentes de extracción de datos”
– Connolly y Begg

Estimado estudiante, ya hemos revisado el lenguaje de consultas de una base


de datos relacional el SQL, y a continuación nos corresponde estudiar otro de los
elementos importantes de un modelo de datos que corresponde a un lenguaje
de consulta más formal, asociados con el modelo relacional. Este tema es clave
porque le dará la experticia y la base para trabajar a futuro en la gestión de datos.

No se desanime si al principio es difícil de entender estas operaciones, le


recomiendo relacionar estos conceptos con la forma en que trabajan las consultas

100 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

en SQL y de seguro encontrará que son similares, nada más que el álgebra
relacional es un lenguaje más formal.

4.1. Algebra relacional

El álgebra relacional es un lenguaje de consulta procedimental. Consta de


un conjunto de operaciones que toman como entrada una o dos relaciones y
producen como resultado una nueva relación, por lo tanto, es posible anidar y
combinar operadores.

Las operaciones fundamentales en álgebra relacional son: selección,


proyección, unión, diferencia, producto cartesiano y renombramiento. De las
operaciones básicas se derivan otras operaciones como: intersección, reunión
natural, asignación y reunión externa. La Figura 15 muestra las operaciones
fundamentales de álgebra relacional en conjunto.

Figura 15. Operaciones fundamentales de álgebra relacional


Elaborado por: Morocho, J. y Romero, A. (2017)

101 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

4.2. Operaciones fundamentales

La selección, proyección y renombramiento son operaciones unarias ya que


operan sobre una única relación, mientras que la unión, diferencia y producto
cartesiano se denominan operaciones binarias. Nos aprestamos a revisar cada
una de estas operaciones para conocer su funcionamiento.

Operación selección

Define una nueva relación con las tuplas que satisfacen cierto predicado. Se
denota con la letra griega sigma minúscula (σ). La sintaxis es:

σ predicado(R)

Donde:

• σ es el símbolo de la operación de selección predicado, es la condición


o condiciones que las tuplas deben cumplir para formar parte del
resultado.

• (R) representa la relación desde donde se obtiene los resultados.

Ejemplo:

σ edad>30 (Empleados)

El término selección del álgebra relacional tiene un significado diferente del


que se utiliza en SQL, que resulta un hecho histórico desafortunado. En
álgebra relacional, el término selección corresponde a lo que en SQL se
denomina where. (Silberschatz, Sudarshan y Korth, 2014)

102 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Operación proyección

Se aplica a una relación R, permite definir una nueva relación que contiene un
subconjunto vertical de R. Extrae los valores de los atributos especificados y
elimina los duplicados. Se denota con la letra griega pi mayúscula (π).

La sintaxis es la siguiente:

πa1,…,an(R)

Donde:

• π es el símbolo de la operación.
• a1,…,an atributos especificados que se van a recuperar.
• (R) representa la relación desde donde se obtiene los resultados.

Ejemplo:

πnomEmp, apellidoEmp, edad


(Empleados)

Operación Unión

En álgebra relacional la unión de dos relaciones compatibles A y B se representa


de la siguiente forma:

A UNION B o A U B

Aparece algo interesante, el concepto de relaciones compatibles, y es que en


el álgebra relacional la compatibilidad se aplica a las operaciones de unión,
intersección y diferencia. Cada operación requiere dos relaciones que deben ser
compatibles, lo que implica que se cumplan estas dos condiciones:

103 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

▪▪ Las dos relaciones deben tener la misma grado, esto significa que deben
tener el mismo número de atributos.

▪▪ Los dominios de los atributos i-ésimos de cada relación, se deben basar en


el mismo dominio.

Operación diferencia de conjuntos

En álgebra relacional la diferencia entre dos relaciones compatibles A y B se


representa de la siguiente forma:

A MENOS B o A - B.

Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B.

Operación producto cartesiano

En álgebra relacional el producto cartesiano de dos relaciones A y B es:

A veces B o A x B.

Produce el conjunto de todas las tuplas t, tales que t es el encadenamiento de una


tupla a de la relación A y de una tupla b de la relación B. Se denota con el símbolo
x.

También podríamos decir que cada tupla de la relación A se combina con cada
tupla de la relación B, así por ejemplo si A tiene 4 tuplas y B posee 5 tuplas, el
resultado del producto cartesiano resultaría en 20 tuplas.

Operación renombramiento

Permite asignar un nombre a una relación producto de aplicar alguna otra


operación. Se representa de la siguiente forma:

104 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

𝛒x(E)

Significa que el resultado de la expresión de álgebra relacional E, será nombrado


con x.

Operación intersección de conjuntos

En álgebra relacional la intersección de dos relaciones compatibles A y B, se


representa con la forma:

A INTERSECCIÓN B o A ∩ B.

Produce el conjunto de todas las tuplas pertenecientes a A y B. Al igual que en


teoría de conjuntos el símbolo representa la intersección entre dos relaciones.

Operación reunión natural

En álgebra relacional la reunión entre el atributo X de la relación A con el


atributo Y de la relación B produce el conjunto de todas las tuplas t tal que t es el
encadenamiento de una tupla a perteneciente a A y una tupla b perteneciente a B,
cuyos valores tienen el mismo valor.

La reunión natural se representa con la forma:

A⋈B

Se parece mucho al producto cartesiano, pero difiere en que en el resultado


solamente aparecen aquellas tuplas que coinciden en valores, en un atributo
común que tiene el mismo nombre, por esta razón la operación de reunión
asume que es el mismo atributo y que seguramente tiene valores coincidentes,
aplica esta regla de forma natural, de ahí el nombre de la operación. Además,
elimina uno de los ejemplares de cada atributo común.

105 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Operación asignación

Esta operación permite asignar resultados temporales a una variable, tal como se
hace en los lenguajes de programación. Se representa con la forma

temp1 ← E

Donde:

▪▪ temp1 es la variable
▪▪ el símbolo ← que representa la operación
▪▪ E representa una expresión de álgebra relacional

Reunión externa

Es una extensión de la operación de reunión, pero además de devolver las tuplas


que coinciden en valores del atributo común, también conserva las tuplas que se
perderían al no encontrar correspondencia en una de las dos relaciones, y en los
lugares donde no hay un valor correspondiente se reemplazaría por valores nulos.

Esta operación tiene tres formas diferentes:

• Reunión externa por la izquierda A ⟕ B, reúne aquellas tuplas


que coinciden entre las dos tablas más aquellas tuplas de la relación
izquierda que no tienen correspondencia en la relación a la derecha.

• Reunión externa por la derecha A ⟖ B, reúne aquellas tuplas que


coinciden entre las dos tablas más aquellas tuplas de la relación
derecha que no tienen correspondencia en la relación a la izquierda.

• Reunión externa completa A ⟗ B, reúne aquellas tuplas que


coinciden entre las dos tablas más aquellas tuplas de la relación
izquierda que no tienen correspondencia en la relación a la
derecha y más aquellas tuplas de la relación derecha que no tienen
correspondencia en la relación a la izquierda.

106 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Operaciones adicionales

▪▪ Proyección generalizada

Es una extensión de la operación de proyección, que permite utilizar operaciones


aritméticas (+, -, * y ÷) en la lista de atributos y también la concatenación de
cadenas de caracteres.

Ejemplo: Concatena el nombre más el apellido y el salario anual se divide


para 12 resultando en el salario mensual.

𝜋 nomEmp+apellidoEmp,edad,salario÷12(Empleados)

▪▪ Agregación

Esta operación permite el uso de funciones de agregación, algunas de las cuales


ya las revisamos con SQL, como son sumatoria sum, promedio avg, máximo max,
mínimo min o el conteo count. Se representa de la siguiente forma:

𝔍AL(A)

• Donde 𝔍 representa la operación de agregación


• AL representa la pareja (<función_agregación> <atributo>)
• A representa la relación o una expresión de álgebra relacional.

Ejemplo: Muestra una operación de conteo, que calcula cuántos profesores


tenemos en la relación Profesor.

𝔍count(ID)(Profesor)

Estudie el apartado “Álgebra relacional” de su texto básico, en donde


encontrará ejemplos que le ayudarán a reforzar lo revisado hasta el
momento.

107 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Le recomendamos realizar un resumen de las operaciones del álgebra


relacional, que contenga la sintaxis de cada operación y una breve
explicación de no más de 2 líneas de texto.

De seguro ha realizado un compendio de los aspectos más importantes en cuanto


a las operaciones de Álgebra Relacional que le servirán para practicar este tema.

4.3. Cálculo relacional

Hemos superado los conceptos del álgebra relacional, y es momento de estudiar


el cálculo relacional. El cálculo relacional es un lenguaje donde se especifican
los datos requeridos, pero no se indica la forma de extraerlo, esta es la razón por
la que este se denomina un lenguaje no procedimental; a diferencia del álgebra
relacional que es un lenguaje procedimental.

El cálculo de predicados es la base del cálculo relacional. Es importante


mencionar que las expresiones en cálculo relacional son equivalentes en álgebra
relacional. Tenemos dos tipos de cálculo relacional:

• cálculo relacional de tuplas


• cálculo relacional de dominios

Cálculo relacional de tuplas

El objetivo del cálculo relacional es localizar las tuplas donde un determinado


predicado sea verdadero. Por lo tanto, este tipo de cálculo se basa en el uso de
variables de tuplas. Una variable de tupla es una variable que “toma sus valores”
de las tuplas de una relación.

Por ejemplo para expresar la consulta: “Muestre los nombres de los profesores
quienes tienen más de 30 años de edad”, la expresión sería:

108 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Cálculo relacional de tuplas Equivalente en álgebra relacional


{S.nombre |Profesores(S) Λ 𝜋 nombre(𝛔edad>30(Profesores))
S.edad>30}

Donde S es la variable de tupla que funciona tal


como los registros si hablamos de archivos de
datos, de esta forma podemos referenciar una
columna de la variable:nombre o edad.

Cálculo relacional de dominios

De forma similar que en el cálculo relacional de tuplas se utilizan variables de


tuplas de la relación; en el cálculo relacional de dominios se utilizan también
variables, pero en este caso las variables toman los valores de los dominios de
los atributos.

Si expresamos en cálculo relacional de dominios al ejemplo anterior, la expresión


es la siguiente:

{nombre | (∃id, nombre_dept, edad) (Profesores(id,nombre,


nombre_dept,edad) Λ edad Λ>30)}

▪▪ nombre es la variable de dominio.

▪▪ (∃id, nombre_dept, edad) incluye el operador existencial más los


atributos de la tupla que no están declarados como variables.

▪▪ Profesores(id,nombre, nombre_dept,edad) indica la relación y el


listado de atributos de donde se obtienen los datos.

▪▪ edad > 30 indica los predicados que deben cumplir las variables.

109 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Acuda al texto básico y estudie los apartados “El cálculo relacional de


tuplas” y “El cálculo relacional de dominios”. El texto le ayudará a
reforzar la comprensión de estas operaciones.

Realice los ejercicios del final del capítulo “Lenguajes Formales de


consulta relacional” para realizar ejercicios tanto de álgebra como de
cálculo relacional.

¿Cómo le han resultado los ejercicios? Recuerde que realizar estos ejercicios le
permitirán tener una mejor comprensión del trabajo del motor de base de datos
cuando enviamos a realizar una consulta. El dominio de este tema le permitirá
comprender y aplicar técnicas de optimización de consultas, que son temas
avanzados de SQL.

Excelente ¡felicitaciones! hemos completado la cuarta unidad, Siga adelante


con el mismo entusiasmo. Para complementar esta unidad, es momento que
compruebe sus avances desarrollando la siguiente autoevaluación.

¡sigamos adelante!

110 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Autoevaluación 4

Una vez que ha completado la presente unidad, el siguiente cuestionario le


permite verificar su aprendizaje en la unidad “Lenguajes de Consulta Formales”.

Considere el siguiente modelo de base de datos relacional:

Empleado (nombre_persona, calle, ciudad)


Trabaja (nombre_persona, nombre_empresa, sueldo)
Empresa (nombre_empresa, ciudad)
Jefe (nombre_persona, nombre_jefe)

Responda a las siguientes interrogantes:

1. ¿Cuáles de las seis operaciones básicas son binarias?

a. Unión
b. Selección
c. Diferencia
d. Proyección
e. Renombramiento
f. Producto cartesiano

2. Los operadores que toman una o dos relaciones como entrada,


producen como salida:

a. El conjunto de tuplas que cumple la condición planteada en el WHERE


b. Una nueva relación
c. Una vista con las tuplas que cumplen el predicado

111 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

3. Para seleccionar todos los empleados que residen en Loja, ¿cuál de las
siguientes sentencias emplearía?

a. 𝛔 ciudad=’Loja’(Empleado)
b. 𝜋 ciudad IN ’Loja’(Empleado)
c. 𝛔 (Empleado ciudad>’Loja’)

4. Se requiere presentar un listado con el nombre del empleado y el


sueldo que gana, ¿cuál de las siguientes sentencias emplearía?

a. 𝛔 nombre_persona, sueldo (Trabaja)


b. 𝜋 nombre_persona, sueldo (Empleado)
c. 𝜋 nombre_persona, sueldo (Trabaja)

5. La operación producto cartesiano permite:

a. Combinar información de dos relaciones cualesquiera


b. Encontrar tuplas que están en una relación, pero no en la otra
c. Encontrar el conjunto de tuplas que están en ambas relaciones
eliminando las repetidas

6. La operación de unión requiere de dos condiciones para poder


ejecutarse, señale ¿cuál de las siguientes no corresponde?

a. Las dos relaciones deben tener la misma cardinalidad, esto significa


que deben tener el mismo número de atributos.
b. Los dominios de los atributos i-ésimos de cada relación, se deben
basar en el mismo dominio.
c. Las dos relaciones deben tener un atributo común en donde haya
valores coincidentes.

112 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

7. Marque el enunciado correcto:

a. El álgebra relacional es un lenguaje no procedimental y el cálculo


relacional es procedimental.
b. El álgebra relacional es un lenguaje procedimental y el cálculo
relacional es no procedimental.
c. Tanto el cálculo relacional de tuplas como el cálculo relacional de
dominios son lenguajes procedimentales.

8. La siguiente sentencia de cálculo relacional {S | Empleado(S) Λ


S.ciudad = 'Loja'}, quiere decir que:

a. Busque el nombre de una persona que es Empleado y reside en Loja.


b. Encuentre todas las tuplas de la relación Empleado donde la ciudad
sea Loja.
c. No se puede ejecutar ya que la variable S está mal declarada.

9. Existen dos tipos de cálculo relacional, señale ¿cuál de los siguientes


tipos no corresponde?

a. Tuplas
b. Conjuntos
c. Dominios

10. El cálculo relacional de dominios sirve de base teórica al lenguaje:

a. SQL
b. QBE
c. XML

113 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

¿Cómo le fue en la autoevaluación? Confiamos en que muy bien.

Para verificar su rendimiento, compare sus respuestas con el solucionario. Si


el resultado fue poco favorable, le recomendamos que revise nuevamente los
puntos que aún no los tiene claros. Y comunique a su tutor sus inquietudes que
está presto a apoyarle en su proceso de aprendizaje. Hemos terminado la cuarta
unidad. ¡Felicitaciones!

114 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

UNIDAD 5. DISEÑO CONCEPTUAL DE BASE DE DATOS

Para el desarrollo de esta unidad, se requiere que vaya


utilizando la guía didáctica y el capítulo “Diseño de base de
datos y el modelo E-R” de su texto base.

Construya sus datos de modo coherente. Las


incoherencias pueden dificultar las ordenaciones y
las búsquedas.
– Beekman George

Estimado estudiante, vamos a dar inicio a uno de los temas más relevantes de
la asignatura, el diseño de bases de datos relacionales. Es importante resaltar
que, el desarrollo de un sistema de base de datos inicia con la recopilación y
captura de información, luego se requiere de un análisis y documentación de los
requerimientos del negocio. Estas tareas sirven para identificar las necesidades
de datos de la organización y son el punto de partida para el diseño de base de
datos.
Recuerde en todo momento, que estamos para ayudarle en la adquisición de
conocimientos y habilidades necesarias para comenzar las fases de diseño de la
base de datos.

Empecemos!

115 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

5.1. Diseño de bases de datos

La creación de sistemas de información que incluyen bases de datos implica


algunas fases de desarrollo, las que se estudian a más detalle en otras
asignaturas de la carrera. Algunas de las fases de desarrollo son:

• diseño del esquema de base de datos,


• diseño de los programas que tienen acceso a los datos y los actualizan,
• diseño del esquema de seguridad para controlar el acceso a los datos,
entre otras.

Las necesidades del negocio y del usuario son de vital importancia para
el despliegue de las fases de diseño, y para efectos de esta asignatura,
específicamente abordaremos el diseño de bases de datos. El diseño de base
de datos es un proceso iterativo, que tiene un punto de partida y una serie de
refinamientos sucesivos que prácticamente no tienen fin.

5.2. Fases del Diseño de Bases de Datos

Seguramente usted sabe que para todo proceso ordenado, nos valemos de una
metodología, así también, para el diseño de base de datos, se debe adoptar una
metodología que nos brinde las herramientas necesarias para lograr un diseño
robusto. En el diseño de base de datos se puede determinar tres fases bien
marcadas: diseño conceptual, diseño lógico y diseño físico.
Recordemos que un modelo de datos es una representación lo más real posible
de una parte del mundo real.

Como en cualquier proyecto de desarrollo de software empezamos por la


definición de requerimientos, en este caso la definición de los datos que se
constituyen en la entrada del diseño de datos.

116 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

1. Iniciamos por el diseño conceptual obteniendo como producto el


modelo E-R.

2. Transformamos este diseño a un diseño lógico donde se obtiene el


diseño1 relacional.

3. Luego, al diseño relacional se aplica el proceso de normalización para


reducir las redundancias al mínimo.

4. Y finalmente, se traduce el diseño lógico a un diseño físico, que


completa la materialización física de la base de datos.

En Fundamentos de Bases de Datos, abarcamos las dos primeras fases:


diseño conceptual y diseño lógico. Mientras que, en la asignatura de Bases de
Datos Avanzadas se forma en la fase de diseño físico. La Figura 16 muestra, a
manera de resumen, las actividades en el proceso de diseño de bases de datos
relacionales.

1
También denominado modelo

117 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Figura 16. El proceso de diseño de base de datos resumido


Tomado de: Connolly, T. y Begg, C. (2005)

En su texto básico estudie el apartado “Visión general del proceso de


diseño” que le servirá de introducción al proceso de diseño de base de
datos.

¿Cómo le ha parecido la lectura? Esta lectura le brinda una visión general de


todo el proceso de diseño, seguro usted pudo identificar los roles que intervienen
en las fases de diseño, las tareas que cada responsable realiza, y los diferentes
problemas que se deben evitar al diseñar una base de datos respecto de la
estrategia de representación de las diferentes cosas del mundo real.

118 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

5.3. Diseño Conceptual

Es la fase inicial para el diseño de bases de datos, recibe como insumo2 los
requisitos de datos de los usuarios para trasladarlos a un modelo de datos
requerido y desarrollar el diseño conceptual, que corresponde a un modelo
abstracto de datos, para este propósito se emplea el modelo entidad-relación (E-
R).

Para una mayor comprensión estudie el apartado “El modelo entidad-


relación”, que le ayudará a entender esta herramienta así como a
aplicarla.

¿La lectura le ha resultado útil? ¿qué es lo más importante que la lectura le ha


proporcionado? Esperamos que vaya comprendiendo la importancia del diseño
conceptual. Y vaya tomando notas de sus inquietudes para resolverlas a través de
algún medio de interacción en EVA.

5.4. Modelo E-R

El modelo E-R es un modelo de datos conceptual de alto nivel muy popular


y ampliamente utilizado. Permite hacer una descripción muy concisa de los
requerimientos de datos de los usuarios y ofrece descripciones a detalle
de conjuntos de entidades, conjuntos de relaciones y restricciones que son
expresados usando conceptos propios de este modelo de datos de alto nivel, sin
caer en detalles de implementación haciéndolo fácil de entender y comunicar a
usuarios no técnicos.

Estudie el apartado “Restricciones” donde se explica sobre los


conceptos de cardinalidad y participación. Adicionalmente, estudie
el apartado “Eliminar atributos redundantes de un conjunto de
entidades” que le ayudará a elaborar un buen diseño de las entidades.

2
Conjunto de elementos que toman parte en la producción de otros bienes.

119 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

¿Cómo estuvo la lectura? Las restricciones se agregan al modelo conceptual


para incorporar las características que los problemas del mundo real requieren
especificar. Vaya tomando nota de sus preguntas para despejarlas en una sesión
síncrona o asíncrona.
El modelo E-R emplea algunas convenciones para representar los elementos en
sus diagramas. La Figura 17 hace una descripción de la notación empleada en un
modelo E-R.

Figura 17. Notación para los diagramas E-R


Tomado de: Elmasri, R. y Navathe S. (2016)

120 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

En su texto básico estudie el apartado “Diagramas entidad-relación” esto


complementará su estudio sobre esta herramienta.

Complemente la lectura revisando los modelos presentados en las figuras que se


encuentran más adelante en este capítulo.

Un modelo de datos representado a través de esta nomenclatura se muestra en la


Figura 18.

Figura 18. Diagrama E-R de una compañía


Tomado de: Elmasri, R. y Navathe S. (2016)

121 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Existen formas alternativas de representación de un modelo E-R como el


diagrama UML; la Figura 19 muestra un ejemplo de esta notación.

Figura 19. Diagrama E-R de una compañía en notación UML


Tomado de: Elmasri, R. y Navathe S. (2016)

Con el objeto de afianzar conocimientos estudie el apartado “Notaciones


alternativas para el modelado de datos” de su texto básico, que
ampliará su visión acerca de los diagramas E-R y le permitirá entender
las notaciones utilizadas por otros autores.

¿Le ha quedado clara la nomenclatura a utilizar? Si no es así revise nuevamente


la nomenclatura la utilizada en el texto básico.

El diseño conceptual empieza por identificar las entidades, que son conceptos
ya sea físicos o abstractos que se desea representar en la base de datos. Como
siguiente paso se identifica las relaciones entre las entidades de forma que se
establezcan los vínculos correspondientes.

122 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

A continuación se identifica los atributos para asociarlos a las entidades; para


hacer más fácil la identificación de los atributos nos podemos hacer la pregunta
¿qué quiero almacenar acerca de <entidad> ?. Una vez tenemos identificados
los atributos determinamos para cada uno de ellos su dominio e identificamos de
entre ellos las claves candidata, principal y alternativa.

No está por demás recordar que, el nombrado de las entidades debe ir en


correspondencia con su contenido, de igual forma con los atributos, deberían
concordar con los datos que van a almacenar.

En algunos casos el equipo de diseñadores establece ciertos lineamientos para


asignar nombres a los objetos de base de datos, se puede utilizar nombres en
plural para las entidades por ejemplo PERSONAS; para los atributos anteceder
las iniciales de la tabla a cada atributo para identificarlo plenamente, por ejemplo
si tenemos el atributo nombre de la entidad Personas, deberíamos asignarle
el nombre PER_NOMBRE; si vamos a crear una vista podría ser V_PERSONAS;
si creamos un índice podríamos utilizar un nombre como PERSONAS_IDX o
si creamos una restricción de tipo CHECK podríamos asignarle un nombre
PERSONAS_CK.

Recuerde que en la fase de diseño conceptual todavía no aparecen las


claves foráneas, estas aparecen al transformar el diseño conceptual al
diseño lógico.

Dependiendo del problema a modelar y de la experiencia del diseñador se puede


incluir conceptos de modelado avanzados como especialización y generalización.

5.5. Especialización/Generalización

La especialización es una técnica arriba-abajo, por ello decimos que vamos


de lo más general a lo específico, para definir un conjunto de subentidades
denominadas Subclases a partir de una entidad denominada Superclase.

123 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

En el caso del ejemplo de la Figura 20, la Superclase tiene atributos que


son comunes a las Subclases pero cada Subclase posee atributos que las
distinguen unas de otras. Por ejemplo los empleados (Superclase) de un banco
todos tienen un número de DNI3, nombre, fecha de ingreso, entre
otros y además se pueden clasificar en (Subclases) oficial de crédito,
cajero o secretaria. La entidad oficial puede describirse por número de
despacho, cajero puede estar asociado a una caja y tener un número de
horas trabajadas y la secretaria puede registrar un número de horas
trabajadas.

Además, en notación de un diagrama E-R la especialización se representa


mediante una figura triangular invertida etiquetada como ES, tal como muestra la
Figura 20.

Figura 20. Especialización/Generalización


Tomado de: Elmasri, R. y Navathe S. (2016)

La generalización es el proceso contrario a la especialización, es una técnica


abajo-arriba en el que varios conjuntos de entidades (Subclases) con atributos

3
Documento Nacional de Identificación, DNI.

124 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

comunes se pueden expresar a través de una entidad de nivel superior


(Superclase), se puede decir que la generalización es una inversión simple de la
especialización.

Estas técnicas avanzadas de modelado se utilizan para dotar al modelo de más


semántica, permitiendo acentuar las similitudes y diferencias en cuanto a atributos
de las entidades para representar de mejor forma lo que sucede en el mundo real.

5.6. Consideraciones finales del modelado

Como paso final del modelado, se debe comprobar si existen atributos


redundantes para eliminarlos y validar el modelo resultante con el usuario,
para confirmar que está cumpliendo con todos los requisitos de datos y que no
entren en conflicto entre sí. En cuanto a la parte técnica, se requiere generar
documentación de esta fase para respaldar el diseño generado y los acuerdos
alcanzados en cuanto al modelado de la base de datos; para cubrir este parte
consideramos:

▪▪ Documento de requerimientos de datos, sobre el cual se inicia la


identificación de entidades y sus relaciones.

▪▪ Diagrama E-R que contiene de forma diagramática las entidades, atributos,


relaciones y claves.

▪▪ Diccionario de datos, este es un documento complementario al diagrama


E-R, en donde se registrará aspectos que no ha sido posible representarlos
en el modelado.

En este punto se ha logrado completar la documentación de la fase de diseño


conceptual que servirá como insumo para la siguiente fase, el diseño lógico.

125 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Elabore un listado de actividades que se deben ejecutar dentro de la fase


de diseño conceptual.
Le sugerimos utilice Padlet4 y comparta el enlace en EVA para todos los
compañeros.

¿Cómo estuvo la actividad? Esta actividad le permitirá tener en mente las


actividades que se deben realizar, que seguro inicialmente se harán más pausado
y luego ya irá adquiriendo la habilidad para realizarlas más ágilmente.

La fase de diseño conceptual se concentra en qué datos se deben


representar en la base de datos, sin preocuparse de aspectos físicos
como el almacenamiento, el sistema operativo o el sistema de gestión de
base de datos (SGBD) a utilizar.

Muy bien, ¡felicitaciones! hemos completado la quinta unidad, Siga adelante con el
mismo entusiasmo. Para complementar esta unidad, es momento que compruebe
sus avances desarrollando la siguiente autoevaluación.

4
Padlet es un muro digital que puede utilizarse como tablón personal o pizarra colaborativa.

126 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Autoevaluación 5

Una vez completada la presente unidad, el siguiente cuestionario le permite


verificar su aprendizaje en la unidad “Diseño Conceptual de Bases de Datos”.

Seleccione la opción correcta:

1. Las necesidades de datos de los usuarios no son relevantes en la etapa


de diseño conceptual.

a. Verdadero
b. Falso

2. En la fase de diseño conceptual la interacción con los usuarios es


primordial.

a. Verdadero
b. Falso

3. El proceso de diseño de una base de datos es un proceso:

a. Iterativo, que prácticamente no tiene fin


b. Tedioso, pues se requiere de muchos conocimientos
c. Metodológico, ya que en base a este se define una metodología

4. Uno de los insumos para el diseño de base de datos es:

a. El diagrama de clases
b. El diagrama de flujo del software a construir
c. La especificación de requisitos de usuario

127 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

5. Para transformar el diseño conceptual al diseño lógico nos basamos en


las:

a. Dependencias funcionales
b. Cardinalidades de las relaciones
c. Claves primarias y foráneas

6. Una relación que tiene cardinalidad N:N, ¿cómo se transforma al diseño


lógico?

a. Se propaga la clave principal hacia la entidad que tenga cardinalidad


máxima
b. Se crea una tabla intermedia cuyos atributos son las claves primarias
de las entidades que está relacionando
c. Se aplica normalización hasta reducir a una relación 1:N y aplicar
propagación de clave primaria

7. Para transformar al diseño lógico una relación expresada como


especialización se debe:

a. Generar una tabla por cada entidad de la especialización


b. Generar solamente las subclases definidas en el modelo
c. Generar solamente la superclase definida en el modelo
d. Cualquiera de las anteriores

8. Dentro del proceso de diseño de una base de datos, una técnica arriba-
abajo es la:

a. Generalización
b. Especialización
c. Normalización

128 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

9. ¿Cuál de los siguientes elementos no se puede describir el modelo


E-R?

a. Conjuntos de entidades
b. Conjuntos de relaciones
c. Claves primaria
d. Claves foráneas
e. Restricciones

10. Marque la respuesta incorrecta. La especialización y generalización


definen una relación de inclusión entre:

a. Superclases y subclases
b. Un conjunto de entidades de fuertes y uno o más conjuntos de
entidades débiles
c. Un conjunto de entidades de nivel superior y uno o más conjuntos de
entidades de nivel inferior

¿Cómo le fue en su autoevaluación? ¡Esperamos que muy bien! y si no es así


revise los apartados correspondientes y su guía didáctica a fin de aclarar las
dudas que tenga. Recuerde que cuenta con el apoyo de su tutor.

129 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

UNIDAD 6. DISEÑO LÓGICO DE BASE DE DATOS

Para el desarrollo de esta unidad, se requiere que vaya


utilizando la guía didáctica y el capítulo “Diseño de base de
datos y el modelo E-R” de su texto básico.

Las bases de datos son tan buenas como lo sean


sus datos.
– Beekman George

Castro, C. (2017)

6.1. Principios de diseño lógico de bases de datos

En la fase de diseño lógico se traduce el esquema conceptual de alto nivel al


modelo de datos de la implementación del sistema de bases de datos que se va a
utilizar. Para efecto de esta asignatura, emplearemos el modelo relacional, que es
el modelo de datos más utilizado para bases de datos relacionales.

Consiste en traducir el modelo E-R en un esquema lógico de relaciones basado


en la cardinalidad de las relaciones. Lo explicaremos de forma fácil:

1. Primero, toda entidad del modelo conceptual se convierte en una tabla


en el modelo relacional.

130 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

2. Toda relación entre tablas 1:N se traduce en una propagación de la


clave (se crea una clave primaria o foránea) o se crea una nueva tabla
intermedia. La regla dice que se debe propagar la clave principal a la
entidad que tiene la cardinalidad máxima.

• La Figura 21 muestra un ejemplo de propagación de la clave principal


de la entidad instructor a la entidad phone, que es la entidad que posee
la cardinalidad N, debido a que el atributo ID pasa a ser clave foránea
en phone.

• En la Figura 21 en a) se muestra una relación 1:N y en b) la relación


transformada a modelo relacional, en donde se propaga la clave
principal desde instructor a phone y desaparecen el rombo que
representa la relación y las cardinalidades. Debemos destacar
también que en el diseño lógico aparecen las claves foráneas.

Figura 21. Propagación de clave principal


Tomado de: Silberschatz, et. al. (2014)

3. Todo tipo de relaciones entre tablas N:M (muchos a muchos) origina la


creación de una nueva tabla intermedia, cuyos atributos son las claves

131 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

primarias de las entidades que está relacionando más los atributos que
pueda tener la relación.

• La Figura 22 en a) muestra una relación con cardinalidad N:N y en


b) se genera una tabla que enlaza las tablas que relaciona y cuyos
atributos están formados por las claves primarias de las tablas que está
relacionando.

Figura 22. Generación de tabla intermedia en relación N:N


Adaptado por: Morocho, J. Y Romero, A.
Tomado de: Silberschatz, et. al. (2014)

4. Recordemos que en la unidad 5 se revisa el tema de especialización


y generalización, por lo tanto, es importante que revise también las
opciones de transformación al modelo relacional de estas formas de
representación, tomemos como ejemplo la Figura 23.

132 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Figura 23. Ejemplo de especialización/generalización


Tomado de: Silberschatz, et. al. (2014)
Adaptado por: Morocho, J. Y Romero, A.

Tenemos tres posibilidades de transformación:

1. Generar una tabla para la superclase y una tabla por cada subclase
heredando el atributo de clave primaria de la superclase, de esta forma:

Persona(ID, name, address)


Empleado(ID, salary)
Estudiante(ID, tot_credits)

2. Generar solamente la superclase, para lo cual se genera una sola tabla con
los atributos de la superclase más los atributos de cada subclase, con la
desventaja que tendremos muchos valores nulos en algunas columnas, ya
que si ingresamos una persona que sea empleado tendrá salary pero no
tendrá tot_credits. Quedaría de esta forma:

Persona(ID, name, address, salary, tot_credits)

133 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

3. Generar solamente las subclases, con lo que cada subclase heredaría los
atributos de la superclase, de esta forma:

Empleado(ID, salary, name, address)


Estudiante(ID, tot_credits, name, address)

En este caso no existe una regla para conocer qué método de transformación
utilizar, sino que depende de las características del problema a resolver y de la
habilidad y experiencia del diseñador de base de datos.

Estudie en su texto básico el apartado “Reducción a esquemas


relacionales”.

La lectura hace una amplia explicación de la transformación del modelo E-R al


modelo relacional.

Estimado estudiante, ha llegado el momento de revisar otro tema clave de


la asignatura: “La normalización”, que tiene gran importancia a la hora de
diseñar una base de datos para una organización, ya que se espera crear
una representación precisa de los datos, de las relaciones entre ellos y las
restricciones que son aplicables. Para conseguir este objetivo podemos emplear
la técnica de Normalización.

6.2. Técnica de Normalización

Hasta este punto usted está en la capacidad de diseñar un modelo de datos


para satisfacer las necesidades de información de una organización. Llegó el
momento de revisar otro tema clave en el proceso de diseño de una base de
datos relacional como lo es la Normalización y para ello emplearemos las formas
normales, que permiten obtener un modelo de datos con las entidades mínimas
requeridas y manteniendo un mínimo de redundancia.

134 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Podemos optar por guiarnos con una metodología de diseño de base de datos,
como la propuesta por (Connolly y Begg, 2005) en la que tenemos las fases de
diseño conceptual, diseño lógico y diseño físico. Una vez concluido el diseño
lógico, se debe aplicar el proceso de normalización con el objeto de optimizar
nuestro modelo de datos, a través del establecimiento de redundancia mínima.

El proceso formal de normalización influye en dos escenarios:

a. Su papel principal es apoyar en la identificación de relaciones,


principalmente cuando tenemos esquemas grandes, a partir de los cuales
desagregamos en varias relaciones de acuerdo a las dependencias
funcionales minimizando la redundancia de datos.

b. Como medio de verificación para comprobar la estructura de las relaciones,


cuando tenemos un modelo de relaciones que generalmente es producto de
haber empezado por el diseño conceptual y luego haber llegado al diseño
lógico.

Generalmente cuando hay redundancia de datos, esta provoca anomalías de


inserción, borrado y modificación.

Consultar en internet los efectos de este tipo de anomalías y realizar un


mapa mental que le servirá para reforzar este tema.

¿Qué tal ha ido esta actividad? Seguro muy provechosa para su aprendizaje. Vale
la pena que comparta en el muro digital.

6.3. Dominios atómicos y Primera Forma Normal

El modelo E-R permite que las entidades contengan atributos multivaluados y/o
compuestos y al momento de crear la tabla eliminamos estas subestructuras. Para
el caso de los atributos compuestos, creamos un atributo por cada componente y
para atributos multivaluados creamos una tupla por cada ítem.

135 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Cuando encontramos una entidad que tiene grupos repetitivos, decimos que
está en una forma no normalizada (UNF5). La Tabla 10 muestra un ejemplo de la
tabla Asignación donde se almacena datos de proyectos y empleados con grupos
repetitivos.

Tabla 10. Tabla no normalizada

projID projName empID EmpName jobClass Chg_ Hours


15 Evergreen 103 June E. Elect 84.5 23.6
Arbough Engineer
Evergreen 101 John G. News Database 105.0 19.4
Designer
Evergreen 105 Alice K. Database 105.0 35.7
Johnson* Designer
Evergreen 106 William Programmer 35.8 12.6
Smithfield
Evergreen 102 David H. Systems 95.8 23.6
Senior Analyst
18 Amber 114 Annelis Jones Applications 48.1 24.6
Wave Designer
Amber 118 Jammes J. General 18.4 45.3
Wave Frommer Support
Amber 104 Anne K. Systems 96.8 32.4
Wave Ramoras* Analyst
Amber 112 Darlene M. DSS Analyst 45.9 44.0
Wave Smithson
22 Rolling 105 Alice K. Database 105.0 64.7
Tide Johnson Designer
Rolling 104 Anne K. Systems 96.8 46.4
Tide Ramoras Analyst
Rolling 113 Delbert K. Applications 48.1 29.6
Tide Joenbrood* Designer
Rolling 111 Geoff B. Wabash Clencal 26.9 22.0
Tide Support

5
Forma no normalizada, Unnormalized Form

136 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

projID projName empID EmpName jobClass Chg_ Hours


Rolling 106 William Programmer 35.8 12.6
Tide Smithfield
25 Starflight 107 Maria D. Programmer 35.8 24.6
Alonzo
Starflight 115 Travis B. Systems 96.8 45.8
Bawangi Analyst
Starflight 101 John G. News * Database 105.0 56.3
Designer
Starflight 114 Annelis Jones Applications 48.1 33.1
Designer
Starflight 108 Ralph B. Systems 96.8 23.6
Washington Analyst
Starflight 118 Jammes J. General 18.4 30.5
Frommer Support
Starflight 112 Darlene M. DSS Analyst 45.9 41.4
Smithson
Tomado de: (Coronel & Morris, 2011)

Para pasar a primera forma normal basta con hacer que cada intersección de
fila y columna contenga uno y un sólo un valor. Esto también se conoce como
dominio atómico. La Tabla 11 muestra la tabla Asignación en 1FN.

Tabla 11. Tabla normalizada EN 1FN

projID projName empID EmpName jobClass Chg_ Hours


15 Evergreen 103 June E. Arbough Elect Engineer 84.5 23.6
15 Evergreen 101 John G. News Database 105.0 19.4
Designer
15 Evergreen 105 Alice K. Johnson* Database 105.0 35.7
Designer
15 Evergreen 106 William Smithfield Programmer 35.8 12.6
15 Evergreen 102 David H. Senior Systems Analyst 95.8 23.6
18 Amber Wave 114 Annelis Jones Applications 48.1 24.6
Designer
18 Amber Wave 118 Jammes J. Frommer General Support 18.4 45.3
18 Amber Wave 104 Anne K. Ramoras* Systems Analyst 96.8 32.4

137 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

projID projName empID EmpName jobClass Chg_ Hours


18 Amber Wave 112 Darlene M. Smithson DSS Analyst 45.9 44.0
22 Rolling Tide 105 Alice K. Johnson Database 105.0 64.7
Designer
22 Rolling Tide 104 Anne K. Ramoras Systems Analyst 96.8 46.4
22 Rolling Tide 113 Delbert K. Applications 48.1 29.6
Joenbrood* Designer
22 Rolling Tide 111 Geoff B. Wabash Clencal Support 26.9 22.0
22 Rolling Tide 106 William Smithfield Programmer 35.8 12.6
25 Starflight 107 Maria D. Alonzo Programmer 35.8 24.6
25 Starflight 115 Travis B. Bawangi Systems Analyst 96.8 45.8
25 Starflight 101 John G. News * Database 105.0 56.3
Designer
25 Starflight 114 Annelis Jones Applications 48.1 33.1
Designer
25 Starflight 108 Ralph B. Washington Systems Analyst 96.8 23.6
25 Starflight 118 Jammes J. Frommer General Support 18.4 30.5
25 Starflight 112 Darlene M. Smithson DSS Analyst 45.9 41.4
Tomado de: (Coronel & Morris, 2011)

Acudamos al texto básico y estudie los apartados “Características de


los buenos diseños relacionales” y “Dominios atómicos y la primera
forma normal”.

El texto hace una introducción al tema de normalización que es esencial en el


diseño lógico de bases de datos, preste especial atención a este tema y si es
necesario repita la actividad.

6.4. Dependencias funcionales

Siguiendo con el estudio de la unidad, conviene recordar que el concepto


asociado a Normalización es el de dependencias funcionales (DF), que describe
la relación entre atributos.

138 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Con las DF aparece el término determinante, que es el atributo o atributos


situados a la izquierda de la flecha que describe la dependencia y el término
determinado que es el atributo que está a la derecha.

Si tenemos una relación R, con los atributos A y B, se dice que B depende


funcionalmente de A (A->B) siempre que para cada valor distinto en A hay un solo
valor en B.

La normalización se basa en las dependencias funcionales para agrupar atributos


e ir componiendo las entidades, obteniendo como resultado un modelo de tablas.

Una dependencia funcional se dice completa si es que el atributo determinado


depende completamente de todos los atributos que forman la clave principal.
Por el contrario, una dependencia parcial se da cuando hay una dependencia
funcional en la que el determinante es sólo parte de la llave primaria (recuerde
que estamos suponiendo que hay sólo una clave candidata). Por ejemplo, si (A,B)
–>(C,D), B –>C y (A,B) es la clave primaria, entonces la dependencia funcional
B –>C es una dependencia parcial porque sólo parte de la clave primaria (B) se
necesita para determinar el valor de C. Las dependencias parciales tienden a ser
más bien sencillas y fáciles de identificar. (Coronel & Morris, 2011)

Otro tipo de dependencia funcional es la dependencia transitiva, que se basa en


la ley de transitividad de conjuntos, si X->Y, Y->Z y X es la llave primaria, X->Z
es una dependencia transitiva porque X determina el valor de Z a través de Y.
(Coronel y Morris, 2011)

Es importante que en cada entidad se defina una clave primaria, para luego definir
las dependencias funcionales con base a esta. Tomando el ejemplo de la tabla
Asignación, de la figura 8, podemos definir la clave primaria como la combinación
de PROJ_NUM y EMP_NUM, que determina al resto de atributos, como muestra:

PROJ_NUM, EMP_NUM –> PROJ_NAME, EMP_NAME, JOB_CLASS, CHG_


HOUR, HOURS

139 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

En el texto básico estudie “Descomposición mediante dependencias


funcionales”, que nos explica el detalle el fundamento de la
normalización.

Recuerde que las dependencias funcionales son el fundamento de la


normalización y debe estar completamente claro todo lo relacionado a este
apartado. Si le han quedado dudas regístrelas y compártalas en EVA.

6.5. Segunda Forma Normal

La conversión a segunda forma normal se da siempre y cuando la clave primaria


de la relación sea una clave compuesta. Si es una clave primaria simple, la tabla
automáticamente pasa de 1FN a 2FN.

Como primer paso creamos nuevas tablas para eliminar las dependencias
parciales. Para ello podemos separar cada componente de la clave compuesta
si este genera una dependencia parcial, como si fuera una nueva relación, pero
conservando en la relación original el atributo determinante para que actúe como
clave foránea. Continuando con el ejemplo de la tabla Asignación, quedaría de la
siguiente forma:

PROJ_NUM –> genera la tabla Proyectos


EMP_NUM –> genera la tabla Empleados
PROJ_NUM, EMP_NUM –> la tabla Asignaciones

Luego los atributos que son dependientes funcionalmente en una dependencia


parcial se remueven de la tabla original y se colocan en la nueva tabla con su
determinante. Cualquier atributo que no sea dependiente en una dependencia
parcial permanecerá en la tabla original. Esto da origen a las siguientes tablas:

Proyectos (PROJ_NUM, PROJ_NAME)


Empleados (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)
Asignación (PROJ_NUM, EMP_NUM, ASSIGN_HOURS)

140 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Hasta este punto hemos obtenido un modelo de tablas que minimiza los
problemas de redundancia traducidos en anomalías de modificación, además se
puede ya identificar las claves foráneas que sirven para relacionar las tablas.

Consulte en internet o de ser posible en la bibliografía


complementaria, la definición de la 2FN.

Le ha quedado clara la segunda forma normal, de no ser así le recomendamos


volver a realizar la actividad, antes de continuar.

6.6. Tercera Forma Normal

En este punto todavía pueden persistir anomalías en el modelo de datos, así que
debemos eliminarlas.

La 3ra FN dice que debemos eliminar las dependencias transitivas, por tanto
empezamos por identificar las dependencias transitivas y escribir una copia de
su determinante como clave primaria para una nueva tabla, pero en la tabla
original debe permanecer el determinante para que actúe como clave foránea.
Continuando con el ejemplo de la asignación de empleados a proyectos, quedaría
de la siguiente forma:

JOB_CLASS –> determinante de la dependencia transitiva identificada

El siguiente paso sería reasignar los atributos dependientes de los determinantes


identificados como dependencias transitivas. El esquema de tablas quedaría de la
siguiente forma:

Proyectos(PROJ_NUM, PROJ_NAME)
Empleados(EMP_NUM, EMP_NAME, JOB_CLASS)
Cargo(JOB_CLASS ,CHG_HOUR)
Asignación(PROJ_NUM, EMP_NUM, ASSIGN_HOURS)

141 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Una vez eliminada la dependencia transitiva las tablas están en 3ra FN. Existen
otras formas normales, pero generalmente un modelo normalizado hasta la 3FN
ha eliminado al mínimo la redundancia y permitirá trabajar de forma adecuada.

Vaya a la sección “Tercera forma normal” y analice lo que ahí se


explica acerca de la 3FN.

En muchos casos, cuando se ha llegado a segunda forma normal la relación


también está en tercera forma normal. Sin embargo, si se requiere aplicar la 3FN
resulta una tarea más sencilla. En la mayoría de los casos llegar a tercera forma
normal es suficiente y no requiere procesos de normalización avanzados.

Elabore un cuadro sinóptico con la definición de las tres formas normales


revisadas, defínalas en no más de tres líneas, esto le ayudará a recordar
estas reglas que son muy importantes en el diseño de una base de
datos.

Una vez que el diseño de base de datos esté implementado y funcionando, se


deberán tomar algunos correctivos donde haga falta, en base al monitoreo del
rendimiento de la base de datos. Una de las técnicas es la desnormalización,
que no es más que la introducción de redundancia controlada y en consecuencia
se puede perder algunos beneficios de un modelo completamente normalizado
con el fin de mejorar las prestaciones, lo que no significa que se deba obviar el
proceso de normalización. Específicamente la desnormalización es la duplicación
de ciertos atributos o la combinación de relaciones para reducir el número de
combinaciones requeridas para procesar una consulta (Connolly y Begg, 2005).

Una vez concluida la fase de diseño lógico, se ha logrado generar el diagrama


relacional incluyendo quizá algunas restricciones inherentes a la lógica del
diseño; a su vez se ha aplicado la técnica de normalización para dotar de calidad
al modelo y reducir al mínimo la redundancia. También se debe actualizar el
diccionario de datos de forma que el documento refleje el diseño relacional

142 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

generado y llegados a este punto estamos listos para proceder a la siguiente fase:
el diseño físico.

Elabore un listado de actividades que se deben ejecutar dentro de la fase


de diseño lógico.
Le sugerimos utilice Padlet6 y comparta el enlace en EVA para todos los
compañeros.

¿Cómo estuvo la actividad? Esta actividad le permitirá tener en mente las


actividades que se deben realizar, que seguro inicialmente se harán más pausado
y luego ya irá adquiriendo la habilidad para realizarlas más ágilmente.

La fase de diseño lógico ya podría incluir una orientación hacia la


selección de qué sistema de gestión de base de datos se va a utilizar
y de esta forma validar si se puede o no implementar las restricciones
necesarias incluidas en el modelado de la base de datos. A pesar
de ello todavía en esta fase no se consideran aspectos físicos como
almacenamiento e infraestructura ya que estos aspectos se determinan
en el diseño físico de base de datos.

Muy bien hemos culminado con éxito el desarrollo de las unidades planificadas,
de seguro que su esfuerzo ha valido la pena, pues ya sabe cómo llegar hasta la
fase de diseño lógico de una base de datos. Para complementar esta unidad, es
momento que compruebe sus avances desarrollando la siguiente autoevaluación.

6
Padlet es un muro digital que puede utilizarse como tablón personal o pizarra colaborativa.

143 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

Autoevaluación 6

Es momento de validar la asimilación de los contenidos de la unidad, por lo que


le invitamos a desarrollar la autoevaluación propuesta a continuación. Aunque el
desarrollo de estas preguntas es opcional, se le recomienda resolverlas. Si tiene
alguna duda consulte con su profesor tutor.

Seleccione la opción correcta:

1. En la fase de diseño lógico se especifica las formas de organización de


los archivos y las estructuras de almacenamiento.

a. Verdadero
b. Falso

2. La normalización busca construir un diseño de esquemas que se halle:

a. Al menos en 2FN
b. Con cero redundancia
c. En la forma normal adecuada

3. Una relación sufre de anomalías de actualización cuando tiene:

a. Una clave primaria compuesta


b. Redundancia en los datos
c. Se halle en una de las formas normales no deseables

4. Al identificar las dependencias funcionales, el atributo o grupo de


atributos que está del lado izquierdo de la flecha se denomina:

a. Determinado
b. Determinante
c. Clave primaria

144 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

5. Una tabla que contiene uno o más grupos repetitivos está en:

a. Forma no normalizada
b. 1 FN
c. 2 FN

6. La normalización es un proceso formal que:

a. Actúa como medio para eliminar totalmente la redundancia de un


modelo de datos.

b. Apoya en la identificación de relaciones, principalmente cuando


tenemos esquemas grandes.

c. Permite generar un conjunto de esquemas de relación a partir del


diseño E-R.

7. Un dominio atómico se presenta cuando las relaciones están en:

a. Forma no normalizada
b. 1 FN
c. 2 FN

145 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

En base al esquema Exposiciones, responda las preguntas 8-10.

8. Para convertir al modelo relacional la relación Artista-


PresentadoPor-Exposición, el resultado sería:

a. Se genera un solo conjunto de entidad, conformado por los atributos de


las dos entidades que se relacionan.

b. Se generan dos conjuntos de entidad: Artista y Exposición y se


propaga la clave principal de Artista hacia Exposición.

c. Se generan tres conjuntos de entidad: Artista, PresentadoPor y


Exposición, siendo PresentadoPor una tabla intermedia.

146 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Segundo bimestre

9. Para convertir al modelo relacional la relación Obra-Mostrada En-


Exposición, el resultado sería:

a. Se genera un solo conjunto de entidad, conformado por los atributos de


las dos entidades que se relacionan.
b. Se generan dos conjuntos de entidad: Obra y Exposición y se
propaga la clave principal de Obra hacia Exposición.
c. Se generan tres conjuntos de entidad: Obra, Mostrada En y
Exposición, siendo MostradaEn una tabla intermedia.

10. Para convertir al modelo relacional la relación Artista-ColeccionadoPor-


Coleccionista, el resultado sería:

a. Se generan dos conjuntos de entidad: Artista y Coleccionista y


se propaga la clave principal de Artista hacia Coleccionista.
b. Se generan dos conjuntos de entidad: Artista y Coleccionista y
se propaga la clave principal de Coleccionista hacia Artista.
c. Se generan tres conjuntos de entidad: Artista, ColeccionadoPor
y Coleccionista, siendo ColeccionadoPor una tabla intermedia.

¿Cómo le fue en su autoevaluación? ¡Esperamos que muy bien! y si no es así


revise los apartados correspondientes y su guía didáctica a fin de aclarar las
dudas que tenga. Recuerde que cuenta con el apoyo de su tutor.

Hemos concluido con el estudio de la asignatura Fundamentos de Base de


Datos, esperamos que los conocimientos adquiridos le permita ir avanzando en
su proceso de aprendizaje y que en poco tiempo usted culmine su formación y
obtenga su titulación correspondiente. Estamos seguros que los temas abordados
en la asignatura le serán de mucha utilidad en su actividad laboral. Felicitaciones
por las metas alcanzadas!!

147 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

7. Solucionario

Autoevaluación 1
Pregunta Respuesta Retroalimentación
1 c Al tener datos en varios archivos y no estar relacionados se
dificulta la recuperación de datos que tengan algún tipo de
relación.
2 b Una base de datos representa en conjunto a la información
que maneja o es propiedad de una persona u organización.
El software que gestiona y controla el acceso a los datos es
el SGBD.

3 b El administrador de base de datos debe emplear el nivel


lógico ya que debe analizar qué relaciones existen entre los
datos que se van a almacenar en la base de datos.
4 a El lenguaje de definición de datos DDL se emplea para crear
las estructuras (tablas) donde se almacenan los datos así
como otros objetos (vistas, índices entre otros) de base de
datos.
5 c El lenguaje DDL es el que describe el diseño de base de
datos en el nivel físico más no es una característica de la
base de datos.
6 c La lógica de negocio viene incorporada en el servidor de
aplicaciones en lugar de estar distribuida entre múltiples
clientes.
7 a La minería de datos ayuda a encontrar información que
antes no se podía ver o permanecía oculta entre grandes
cantidades de datos.
8 b El DBA debe permitir alta disponibilidad de la base de datos
lo que permite atender a los usuarios cuando y dónde lo
requieran

148 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 1
Pregunta Respuesta Retroalimentación
9 b Una base de datos posee varios gestores entre ellos el de
almacenamiento que se encarga, como su nombre lo dice, de
almacenar, actualizar y recuperar datos cuando los usuarios
lo requieran.
10 a, c Un esquema conceptual permite validar que los requisitos de
datos de la organización están contemplados en el esquema,
así como también permite indicar los requisitos funcionales
de la empresa. Recuerde que las características físicas de la
base de datos se deben contemplar en etapas posteriores.

149 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 2
Pregunta Respuesta Retroalimentación
1 a Una base de datos relacional es un conjunto de tablas que
están relacionadas entre sí mediante claves foráneas y es
precisamente esa característica por lo que se denomina
relacional.
2 c Un ejemplar de relación se denomina al estado en que se
encuentra una relación en un instante determinado.
3 a El término tupla es sinónimo de fila cuando hablamos de
bases de datos relacionales.
4 b El modelo relacional se basa en relaciones (de ahí su
nombre) las cuales físicamente se representan a través de
tablas.
5 a El término atributo es sinónimo de columna cuando hablamos
de base de datos relacionales.
6 a Cada relación debe tener al menos una clave primaria que
identifique las tuplas de forma única.
7 b En cada relación, en el modelo relacional, se debe definir
claves candidatas de entre las cuales se selecciona la clave
primaria.
8 b La operación de selección es muy común. Por lo general
las consultas de datos involucran el cumplimiento de alguna
condición, por ejemplo, edad > 20.
9 c El resultado de una consulta es un conjunto de tuplas que
igualmente forman una relación que no tienen nombre.
10 a Cuando hablamos de base de datos relacionales una de sus
características es que no debe tener valores duplicados.

150 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 3
Pregunta Respuesta Retroalimentación
1. F En una instrucción SELECT las cláusulas obligatorias son
SELECT y FROM.

2. V Una función de agregación puede ser SUM(). Esta función


devuelve la sumatoria de una lista de valores por lo tanto un
solo resultado.
3. V La clausula HAVING permite filtrar los grupos que se han
formado mediante GROUP BY para lo cual se evalúa una
condición HAVING <condición>.
4. V Una sentencia SELECT puede contener otras sentencias
SELECT por ejemplo en la parte del WHERE para completar
una condición: nom_departamento = (SELECT nom_depar
FROM departamentos WHERE idDep = 10).
5. V Cuando los datos que necesitamos presentar como resultado
provienen de más de una tabla se debe establecer un JOIN
entre tablas para lo cual deben tener un atributo común que
permita dicha combinación.
6. F La cláusula DELETE se usa para borrar tuplas de una tabla.
En el caso de borrar una tabla empleamos DROP TABLE.
7. V Son operaciones simétricas, lo único que cambia es que
dependiendo si se aplica LEFT OUTER JOIN o RIGTH
OUTER JOIN se recupera los datos de la tabla que está a la
derecha o a la izquierda del JOIN.
8. F La operación de reunión externa completa se ejecuta
mediante FULL OUTER JOIN.

9. V Una vista puede ayudar a segmentar la información y


solamente presentar una cierta cantidad evitando mostrar
todo el contenido de una o varias tablas.
10. F La instrucción COMMIT confirma los cambios en los datos
grabándolos en disco. Luego de un COMMIT ya no tendría
efecto ejecutar inmediatamente un ROLLBACK debido a que
ésta última sentencia deshace los cambios hasta antes de
que se produzca un COMMIT.

151 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 3
Pregunta Respuesta Retroalimentación
11. V Se puede alterar la tabla mediante ALTER TABLE por ejemplo
para añadir una restricción a nivel de columna que no permita
aceptar valores nulos (NOT NULL).
12. b Al alterar la tabla para incluir un valor por defecto para
una columna, solamente se verán afectadas las siguientes
inserciones a partir de la ejecución del ALTER TABLE.
13. a Se debe aplicar la función SUM() para obtener los totales de
inversión en salarios. Se requiere un JOIN entre tablas para
obtener el nombre del departamento y agrupar mediante
GROUP BY por el nombre del departamento.
14. d SQL tiene comandos para definición de datos (DDL),
manipulación de datos (DML), control de datos (DCL) y
control de transacciones (TCL).
15. c Para actualizar datos de una tabla se requiere comandos
DML.
16. d Los comandos DCL: GRANT y REVOKE asignan privilegios
para manipulación de datos sobre tablas.
17. b Una transacción puede estar compuesta por una o más de
una sentencia SQL que consulta o modifica datos en la base
de datos.
18. b Mediante un rol se puede agrupar privilegios de acuerdo con
las reglas del negocio lo que provoca que la administración
de usuarios sea más fácil.
19. c COMMIT sirve para confirmar los cambios hechos a los datos
con lo cual las modificaciones se graban en disco.
20. a JOIN ON es la sentencia que permite aplicar combinación
(reunión) entre tablas mediante un atributo común.

152 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 4
Pregunta Respuesta Retroalimentación
1 a, c, f Unión requiere de al menos dos relaciones para poder
ejecutarse. Diferencia requiere al menos dos relaciones para
funcionar y el Producto Cartesiano requiere dos relaciones
para obtener un resultado.
2 b Al ejecutar alguna operación de álgebra o cálculo relacional,
el resultado es un conjunto de tuplas que forman una
relación.
3 a La operación de selección incluye restricciones (condiciones)
que las filas tienen que cumplir para formar parte del
resultado.
4 c Se aplica una proyección debido a que se pide seleccionar
solamente algunas de las columnas disponibles de la tabla y
no incluye ninguna restricción.
5 a El resultado es la combinación de cada una de las tuplas de
la primera relación con todas y cada una de las tuplas de la
segunda relación.

6 c Cuando dos relaciones tienen un atributo en común con


valores coincidentes nos referimos a una clave foránea.
7 b El álgebra relacional es procedimental porque debemos
mencionar todas las operaciones que se deben realizar para
obtener los datos solicitados. El cálculo relacional es no
procedimental debido a que solamente se debe mencionar el
patrón de búsqueda más no el procedimiento a seguir para
obtener los datos deseados.
8 b S es una variable de tupla la cual sirve para recuperar todas
las tuplas de la relación Empleado que cumplen con la
condición de que el atributo ciudad sea igual a Loja.
9 b El cálculo relacional de tuplas en el que el objetivo es
encontrar las tuplas que cumplen una condición. El cálculo
relacional de dominios se fundamenta en variables que
actúan sobre todas las tuplas de la relación, pero tomas sus
valores de los dominios de los atributos.

153 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 4
Pregunta Respuesta Retroalimentación
10 b QBE (Query by Example, consulta mediante ejemplo) es una
técnica visual para elaborar consultas a base de datos que
ayuda a comprender cómo obtener los datos de una base de
datos.

154 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 5
Pregunta Respuesta Retroalimentación
1 b En la etapa de diseño conceptual se construye el modelo ER
que recoge los requerimientos de datos de la organización.
Los requerimientos de datos provienen en su mayoría de los
usuarios.
2 a La activa participación de los usuarios en la etapa de
diseño conceptual es crucial. Son ellos quienes aportan los
requerimientos que necesitan ser modelados en la base de
datos.
3 a El diseño de una base de datos se dice que no tiene fin
debido a que siempre se puede mejorar o agregar alguna
funcionalidad que requiere ser soportada por la base de
datos. Sucede también que los cambios en los requerimientos
suelen ser constantes por parte de los usuarios.
4 c En un proceso formal de diseño de base de datos siempre se
genera un documento de especificación de requisitos que es
un insumo para el proceso de diseño conceptual de base de
datos.
5 b Las cardinalidades sirven de base para pasar del diseño
conceptual al diseño lógico. Las cardinalidades se basan en
el tipo de relación: 1:n o n:n.
6 b Un tipo de relación n:n siempre genera una tabla intermedia y
sus atributos serán las claves primarias de las entidades que
relaciona más los atributos que tenga la relación.
7 d Todas las alternativas son válidas y se las puede implementar
de acuerdo con las condiciones de modelado del problema a
resolver.
8 b La especialización se dice una técnica de arriba-abajo debido
a que empieza en el concepto más general y se subdivide en
conceptos más específicos. Por ejemplo, la entidad Persona
se puede especializar en Empleado, Profesor, Alumno entre
otros.
9 d Las claves foráneas aparecen cuando pasamos del
diseño conceptual al diseño físico aplicando las reglas de
transformación en base a las cardinalidades.

155 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 5
Pregunta Respuesta Retroalimentación
10 b La especialización identifica a una superclase de la que se
derivan subclases más especializadas. También se dice
que un subconjunto de entidades de nivel inferior se derivan
de una entidad de nivel superior y también heredan sus
atributos.

156 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 6
Pregunta Respuesta Retroalimentación
1 b La especificación de las formas de organización de los
archivos y las estructuras de almacenamiento se hace en la
fase de diseño físico.
2 c Generalmente el proceso de normalización llega hasta la 3FN
y la redundancia no se puede eliminar sino minimizar.
3 b La redundancia ocasiona anomalías de actualización. Esto
quiere decir, por ejemplo, cuando se actualiza algún dato no
se puede actualizar solamente en un sitio centralizado, sino
que se debe actualizar en todas las ubicaciones donde exista
ese dato, corriendo el riesgo de que en algún sitio el dato no
se actualice y por lo tanto los datos se vuelvan inconsistentes.
4 b Determinante pues determina al valor que se encuentra al
lado derecho de la flecha.
5 a Una forma no normalizada contiene grupos repetitivos de
datos y es el punto desde donde se aplica la 1FN.
6 b La normalización se basa en las dependencias funcionales
y una dependencia funcional es la relación entre atributos,
por tanto, al agrupar atributos estamos identificando las
relaciones que componen la base de datos.
7 b El 1FN ya no tenemos grupos repetitivos, sino que tenemos
un valor atómico en el dominio de cada atributo, esto quiere
decir que son valores indivisibles.
8 b La regla dice que cuando se presenta un tipo de relación 1:m
se propaga (duplica) la clave principal de la entidad que tiene
cardinalidad mínima hacia la entidad que tiene cardinalidad
máxima.
9 c La regla dice que cuando se presenta un tipo de relación m:m
se debe crear una tabla intermedia formada por los atributos
de clave primaria de las entidades que está relacionando.

157 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Solucionario

Autoevaluación 6
Pregunta Respuesta Retroalimentación
10 a La regla dice que cuando se presenta un tipo de relación 1:m
se propaga (duplica) la clave principal de la entidad que tiene
cardinalidad mínima hacia la entidad que tiene cardinalidad
máxima.

158 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

8. Glosario

▪▪ 3GL: Lenguaje de 3ra Generación

▪▪ 4GL: Lenguaje de 4ta Generación

▪▪ AR: Álgebra Relacional

▪▪ CR: Cálculo Relacional

▪▪ DA: Administrador de Datos (Data Administrator)

▪▪ DBA: Administrador de Bases de Datos (Database Administrator)

▪▪ DBLC: Ciclo de Vida de Bases de Datos (Database Life Cycle)

▪▪ DNI: Documento de Identificación Nacional

▪▪ E-R: Modelo Entidad-Relación

▪▪ ETL: Extracción, Transformación, Carga (Extract, Transform and Load)

▪▪ FN: Forma Normal

▪▪ LDD (se utiliza las siglas en inglés DDL): Lenguaje de Definición de Datos
(Data Definition Language)

▪▪ LMD (se utiliza las siglas en inglés DML): Lenguaje de Manipulación de


Datos (Data Manipulation Language)

▪▪ OLAP: Procesamiento Analítico en Línea (OnLine Analytical Processing)

159 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Glosario

▪▪ OLTP: Procesamiento de Transacciones En Línea (OnLine Transaction


Processing)

▪▪ QBE: Consultas por Ejemplo (Query by Example)

▪▪ SDLC: Ciclo de vida del Desarrollo de Sistemas (Software Development Life


Cycle)

▪▪ SGBD: Sistema de Gestión de Base de Datos, también conocido como


Motor de Base de Datos. Similar a DBMS

▪▪ SGBD (DBMS): Sistema de Gestión de Base de Datos (Database


Management System)

▪▪ SGBDD (DDBMS): Sistema de Gestión de Bases de Datos Distribuidas


(Distributed Database Management System)

▪▪ SQL: Lenguaje Estructurado de Consulta (Structured Query Language)

▪▪ TPS: Sistemas de procesamiento de transacciones (Transaction Processing


System), Sistemas operacionales, Sistemas transaccionales

▪▪ UNF: Forma no normalizada

160 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

9. Referencias Bibliográficas

Connolly, T., y Begg, C. (2005). Sistemas de Base de Datos. Un enfoque práctico


para diseño, implementación y gestión. Madrid, España: Pearson Educación.

Coronel, C., y Morris, S. (2011). Bases de Datos. Diseño, implementación y


gestión. Mexico DF, Mexico: Cengage.

Elmasri, Ramez; Navathe, Shamkant B. (2016) Fundamentals of database


systems. Boston Pearson.

Morocho, J., Romero, A. (2017). Guía didáctica de Fundamentos de Bases de


Datos. Loja, Ecuador: UTPL.

Silberschatz, A., Korth, H. y Sudarshan, S. (2014). Fundamentos De Bases De


Datos. Madrid, España: McGraw-Hill.

Castro, C., Giraldo, J., Valdéz, J. y Pérez H. CAPÍTULO 11 Problema 7. Diseño


de geodatabase caso agencia - Scientific Figure on ResearchGate.
Disponible en: https://www.researchgate.net/figure/Figura-2-Modelo-
Logico-Caso-Agencia-23-Diseno-fisico-Modelo-Relacional-El-diseno-fisico_
fig2_322328333 [Última fecha de acceso 26 Junio, 2019]

Aprendiendo PC. (n.d.). ¿Qué es un servidor de correo electrónico? Disponible en:


http://www.aprendiendopc.com/que-es-un-servidor-de-correo-electronico

161 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

10. Anexos

Anexo 1: Caso de aplicación Registro de Notas

Profesor (ID, nombre, nombre_dept, salario)


Departamento (nombre_dept, edificio)
Asignatura (asignatura_id, nombre_asig, nombre_dept,
creditos)
Matricula(ID, asignatura_id, semestre, año)
Estudiante(ID, nombre_est, nombre_dept, tot_creditos)

Anexo 2: Caso de aplicación Booking

• Hotel (hotelNo,hotelName,city)
• Room (roomNo,hotelNo,type,price)
• Guest (guestNo,guestName,guestAddress)
• Booking (hotelNo,guestNo,dateFrom,dateTo,roomNo)

162 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Anexos

Hotel

HotelNo HotelName City


001 The Marlton Hotel New York
002 Millennium Broadway New York Times Square New York
003 Stewart Hotel New York
004 Hotel Mela Times Square New York
005 Grand Beach Hotel Surfside Miami
006 Grand Beach Hotel Surfside Miami
007 JW Marriott Miami Miami
008 Royal Decameron Punta Sal Sullana
009 Decameron Mompiche Esmeraldas
010 Royal Decameron Punta Centinela Santa Elena

Room

RoomNo HotelNo Type Price


101 008 Standard 204
102 008 Standard 204
103 008 Standard 204
201 009 Standard 157
202 009 Standard 157
2010 010 Standard 180
2011 010 Standard 180
209 001 Standard 190
210 001 Standard 190
101 002 Standard 225
110 002 Standard 225
320 003 Standard 355
321 003 Standard 355
222 004 Standard 420
220 004 Standard 380

163 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Anexos

Guest

GuestNo GuestName GuestAddress


9865A Margoth Cameron 5 West 8th Street, Greenwich Village, 10011,
Nueva York, EE. UU.
9821A Stuart Lopez 17 West 32nd St, New York, NY 10001
8345B Ian Connolly 42151 San Diego Ca 92111
7456A Louis Brown 307 Harrison Avenue, NJ
8647A Jennifer Langer 77 Massachusetts Avenue Cambridge, MA

Booking

HotelNo GuestNo DateFrom DateTo RoomNo


010 9865A 09/12/2017 15/12/2017 2010
010 9821A 09/12/2017 15/12/2017 2011
008 8345B 12/12/2017 17/12/2017 101
008 7456A 12/12/2017 16/12/2017 103
008 9865A 16/12/2017 22/12/2017 103
008 9821A 16/12/2017 22/12/2017 102
001 8345B 18/12/2017 26/12/2017 209
003 7456A 19/12/2017 321

164 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos
Anexos

Anexo 3: Esquema de Datos de Ordenes de Compra

165 Modalidad Abierta y a Distancia


Texto-guía: Fundamentos de Base de Datos

www.utpl.edu.ec

ÁREA
sociohumanística

166 Modalidad Abierta y a Distancia

También podría gustarte