Subido por Hermes Rodriguez Rivero

Base de datos I proce

Anuncio
BASES DE DATOS I
Cu adernillo de procedimientos para el aprendizaje
(Versión para fase inicial)
C O N LA C OL AB O RA C IÓ N D E L uis Gabriel M ondrag ón Torres
1
BASES DE DATOS I
Cuadernillo de procedimientos para el aprendizaje
2000. Secretaría de Educación Pública/ Dirección General del Bachillerato
COSTO DE RECUPERACIÓN $ 12.00
2
ÍNDICE
Presentación...........................................................................................................................................................
5
UNIDAD I. Introducción a las bases de datos............................................................................................
1. Importancia, conceptos básicos y objetivos de las bases de datos........................................................
2. Sistema de manejo de bases de datos...........................................................................................................
3. Usuarios de las bases de datos.......................................................................................................................
4. Relaciones entre datos.....................................................................................................................................
5. Tipos de modelos entre datos........................................................................................................................
¿Qué he aprendido?.................................................................................................................................................
Quiero saber más......................................................................................................................................................
8
11
13
15
17
18
21
23
UNIDAD II. Bases de datos relacionales......................................................................................................
1. Estructuras básicas de las bases de datos relacionales y normalización.............................................
2. Álgebra relacional............................................................................................................................................
3. Vistas o subesquemas......................................................................................................................................
4. Lenguaje relacional estándar SQL...............................................................................................................
¿Qué he aprendido?.................................................................................................................................................
Quiero saber más......................................................................................................................................................
24
26
29
32
32
34
36
UNIDAD III. Manipulación de bases de datos...........................................................................................
1. Creación de una base de datos.......................................................................................................................
2. Consultas a una base de datos.......................................................................................................................
3. Modificaciones a una base de datos..............................................................................................................
4. Ordenación de la información.......................................................................................................................
¿Qué he aprendido?.................................................................................................................................................
Quiero saber más.....................................................................................................................................................
37
38
40
41
42
45
46
UNIDAD IV. Características avanzadas de las bases de datos..............................................................
1. Manejo de variables y funciones...................................................................................................................
2. Generador de reportes....................................................................................................................................
3. Generador de pantallas...................................................................................................................................
4. Creación y manejo de bases de datos múltiples........................................................................................
¿Qué he aprendido?.................................................................................................................................................
Quiero saber más.....................................................................................................................................................
47
48
50
52
53
55
56
3
4
PRESENTACIÓN
El uso de las bases de datos se ha ido incrementando con el tiempo, de tal forma
BASES DE DATOS I
que no dudaríamos en decir que actualmente desempeñan un papel muy importante
en todas las instituciones educativas o privadas, así como en las empresas que
ofrecen diferentes tipos de servicios.
Lo anterior se debe a la necesidad de contar con información rápida y oportuna,
generándose sistemas de información más eficientes, a partir de definir mejores
modelos para representar la información. Así, la importancia de la información
en la mayoría de las organizaciones ha conducido al desarrollo de una gran cantidad
de conceptos y técnicas para la gestión eficiente de los datos, lo que implica tanto
la definición de estructuras para almacenar la información como la búsqueda de
mecanismos para su manipulación. Es así como surgen las bases de datos y en
específico los sistemas gestores de bases de datos, cuyo objetivo es proporcionar
un entorno donde sea posible recuperar, almacenar y manipular un conjunto de
datos necesarios. Las bases de datos han evolucionado a tal grado que actualmente
la demanda y oferta de usuarios y diseñadores ha crecido respectivamente. Cuando
surgieron las bases de datos se requería de un especialista en técnicas de
estructuración de datos para diseñar los sistemas, actualmente muchos técnicos y
profesionistas cuentan con los elementos necesarios para realizar un buen sistema
de bases de datos.
Es importante que identifiques la importancia de cursar la asignatura de Bases de
Datos I, ya que ésta te brindará los elementos teóricos-prácticos para generar y
operar con las bases de datos relacionales y resolver problemas de complejidad
creciente a través de sistemas sencillos.
Conforme vayas avanzando en el estudio de esta asignatura, te darás cuenta que
no es fácil desarrollar soluciones prácticas en el primer intento, sobre todo cuando
diseñan bases de datos grandes, ya que para lograrlo necesitarás utilizar toda una
metodología para diseñar bases de datos. La ejercitación en problemas de este
tipo te permitirá conocer y profundizar en el estudio y manejo de Sistemas de
Bases de Datos.
Para que puedas realizar el estudio de esta asignatura es conveniente que entiendas
la manera particular en la que se estructura esta guía. Las unidades están
constituidas por las siguientes secciones:
Qué voy aprender. En este apartado encontrarás los propósitos y los objetivos
de cada una de las unidades didácticas. Es muy importante que tengas en mente
lo que vas a lograr con el estudio de los temas del programa, tener claridad de la
meta es fundamental para poder utilizar las herramientas de que disponemos
para llegar a ella.
Con la intención de presentarte un proceso real de trabajo, en la primera unidad
se describe el planteamiento de una situación laboral, la cual llamaremos Situación
de aprendizaje. Durante el desarrollo de toda la guía se harán referencias al Manual
de Ejercicios y Prácticas, en donde se presentará la solución parcial de dicha situación,
la parte faltante te corresponderá desarrollarla. También debes desarrollar las
prácticas, ya que ellas te darán los elementos de modelaje en la solución de la
situación de aprendizaje.
5
¿Cómo aprendo? En esta sección encontrarás las actividades de aprendizaje que te irán llevando
paso a paso a través de estrategias de solución, pero siéntete con la libertad de probar otros caminos
después de que hayas dominado el que se te propone. En todos los temas te presentamos una tabla con
tres columnas: en la primera de ellas, titulada actividades de aprendizaje se incluye una secuencia de
acciones que debes realizar para acercarte con mayor facilidad al estudio de esta asignatura, haciéndose
referencias al manual de ejercicios y prácticas para reforzar los contenidos revisados y resolver la
situación de aprendizaje; en la segunda, recursos, se proporcionan algunas sugerencias para que
encuentres fácilmente la información que requieres; finalmente, en la tercera columna, llamada productos,
se anotan los resultados concretos que debes obtener al terminar la secuencia de actividades
correspondiente a cada tema, tales productos deben servirte como un control de tu propio avance. Te
servirá también para ir formando un glosario con los términos más usuales y sus definiciones; es
decir, un diccionario personal que te ayudará en caso de dudas al utilizar alguna de las herramientas
que estás estudiando.
¿Qué he aprendido? Al concluir el estudio de cada unidad, te convendrá detenerte a pensar acerca de
tus logros y descubrir qué tan firme y precisa se está llevando a cabo tu formación en esta asignatura.
Se te plantean una serie de reflexiones que te ayudarán a valorar tu esfuerzo. No es un examen sino
una evaluación, se trata de que ejerzas tu capacidad de reflexión acerca de ti mismo y que, en caso
necesario, revises aquellos puntos del programa de estudio que consideres que todavía no dominas
por completo. Será el momento de revisar también tus actitudes con respecto a la manera en que
estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal,
seguramente al ir anotándolos, te darás cuenta con satisfacción que el esfuerzo ha valido la pena.
Quiero saber más. En esta sección se proponen actividades adicionales para que, a tu elección,
puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo lo que
necesitas saber se te proporcionará en un curso, por el contrario, deberás estar siempre alerta a
enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus propios
problemas. Tu participación es muy importante para que el estudio de las Bases de Datos tenga
sentido y utilidad real. Te darás cuenta que es satisfactorio descubrir que puedes ser cada vez más
eficiente en el manejo de nuevos medios para enfrentar tus problemas y, en la mayoría de los casos,
encontrar la mejor solución que esté a tu alcance.
Ubicación de la asignatura
La asignatura de Bases de Datos I, se ubica en el eje básico de la estructura de la Capacitación en
Informática y corresponde al quinto semestre. La importancia de esta asignatura es que te permite
aprender conceptos, principios generales y operaciones básicas de las bases de datos relacionales de
un modo inmediato, mediante el conocimiento general de la teoría y la solución de problemas de
complejidad creciente, para que puedas desarrollar bases de datos sencillas y así facilitar la continuidad
de tus estudios sobre el tema.
6
La ubicación gráfica dentro de la Capacitación en Informática es la siguiente.
EJE
BÁSICO
Sistemas de
Información I
Sistemas de
Información I
Lógica Computacional
y Programación
Bases de Datos I
EJE DE
APLICACIÓN
Aplicaciones Gráficas
con Programas
Integrados
EJE
COMPLEMENTARIO
Bases de Datos II
Aplicaciones Específicas
con Programas
Integrados
Introducción a las
Redes
Relación directa
Relación indirecta
Objetivo de la asignatura
Aplicar los conceptos, principios generales y operaciones básicas de las bases de datos relacionales en
modo inmediato, mediante el conocimiento general de la teoría y la solución de problemas de
complejidad creciente, para desarrollar sistemas sencillos y facilitar la continuidad de estudios sobre
el tema.
7
¿QUÉ VOY A APRENDER?
UNIDAD I
INTRODUCCIÓN A LAS BASES DE DATOS
Objetivo de la Unidad:
Comprender el concepto, aplicación, uso, tipos y estructuras básicas
de las bases de datos, mediante el análisis de sus objetivos, lenguajes
de manipulación, tipos de usuario, relaciones entre datos y modelos,
para identificar los problemas que es posible resolver mediante
este tipo de herramientas.
Las organizaciones han crecido mucho y por lo tanto han requerido sistematizar la información
que ocupan para sus transacciones. Es por ello que desde los 70’s se optó por cambiar los
sistemas de archivos a bases de datos, para facilitar el acceso a la información, considerando
que es importante en la organización y la gestión de recursos de información, dado que permite
eficientar los tiempos de consulta para tomar desiciones en el momento adecuado.
Es importante señalar que tendremos que seguir cierta metodología para diseñar bases de
datos medianas o grandes, y generar así sistemas de procesamiento de transacciones, es decir,
elaborar sistemas que utilizan grandes cantidades de información almacenadas en bases de
datos, en las cuales se realizan muchas transacciones o modificaciones diariamente. Si nuestro
objetivo es generar bases de datos chicas, entonces no será tan necesario utilizar toda una
metodología para diseñarla.
Por lo anterior, empezaremos por explicarte qué son las bases de datos, cómo se diseñan y los
problemas más comunes que se presentan al realizar un mal diseño, para poder definir sistemas
informáticos que permitan procesar información de una manera rápida y confiable.
Abordaremos la descripción de las aplicaciones de software que permiten manipular de forma
rápida y confiable la información contenida en una base de datos, ya que sin éste nuestra base
de datos quedaría a un nivel descriptivo y con datos contenidos en papel. Estas aplicaciones de
software se conocen como Sistemas Gestores de Bases de Datos (SGBD) o Sistemas Manejadores
de Bases de Datos (DBMS, siglas en inglés de Data Base Manager System), y se caracterizan
por tener una organización física y lógica, utilizar un lenguaje específico y tener interfaces con
otros sistemas de comunicaciones.
Asimismo, definiremos las relaciones entre datos, los principales modelos conceptuales para la
representación de la estructura lógica de los datos, así como los usuarios de las bases de datos.
En el desarrollo de la situación de aprendizaje, las actividades que se te proponen y aquellas
que realices por cuenta propia, podrás identificar la forma de diseñar bases de datos relacionales,
apoyándote en el álgebra relacional y el lenguaje SQL.
8
Los temas que forman el contenido de esta unidad se presentan a continuación:
Unidad I. Introducción a las bases de datos
Bases de datos
Utilizando
Gestores de
bases de datos
Utilizan
Tienen una
Organización
Física
Lógica
Utilizan el
Lenguajes
Manejar
datos
Describir
Consultas
Programas
Pueden tener
Diseño
de datos
Problemas
De
Redundancia
Inconsistencia
Integridad
Seguridad
Tienen
Usuarios
Modelos
conceptuales
De tipo
Como
Finales
Diseñadores
o programas
Operadores
o capturitas
Lista
Árbol
Reticular
Relacional
Debes notar que los conceptos más importantes están sombreados, préstales especial
atención puesto que forman parte del conjunto de conceptos fundamentales en tus estudios
de Informática.
9
A continuación te presentamos el eje rector de la guía, en el cual se te presenta un proceso real
de trabajo muy similar a los que te podrás encontrar en el campo laboral.
SITUACIÓN DE APRENDIZAJE
El servicio de mensajería FQB actualmente cuenta con 50 sucursales distribuidas por todo el
país, éstas se encargan de recibir o enviar paquetes a través de toda la República Mexicana,
dichos paquetes pueden ser desde una carta hasta paquetes de 100 kg.
El gerente regional ha detectado una serie de problemáticas con los envíos, ya que en algunas
ocasiones se pierden las órdenes de envío o no se llenan correctamente y los paquetes no
llegan a sus destinos; de igual manera, llegan paquetes cuyo destino no coincide con la sucursal,
por lo cual se tienen que regresar a su origen para volverse a enviar, provocando molestias con
los usuarios del servicio de mensajería FQB.
La forma en que opera la paquetería es la siguiente:
-
El encargado de recibir los paquetes registra en una libreta de clientes los datos generales
de éste y del destinatario, tales como: nombre, dirección y teléfono, asignándoles una clave
única de identificación para tener sus datos a la mano por si surge algún problema en el
envío o recepción del paquete.
-
Como segundo paso, el encargado registra en la libreta de salidas las características del o
los paquetes, tales como: clave del artículo, descripción y costo. Asimismo, registra la clave
única de identificación del cliente que envía el paquete. En caso de desconocer alguna
característica del paquete se auxilia con una libre de artículos, en donde se encuentran
dichos datos.
-
Lo siguiente que realiza es generar una factura de contratación del servicio con los siguientes
datos: número de factura, fecha de facturación, datos generales del cliente remitente y
destinatario, así como los datos generales de las sucursales de origen y destino, y por
último, la descripción de los paquetes, costo por paquete y total del envío.
Los datos generales de las sucursales son: Estado, dirección, teléfono y clave de identificación
de la sucursal.
-
Cuando llega un paquete, el encargado registra los datos del mismo en la libreta de entradas,
incluyendo tanto la clave única de identificación del cliente que envía como el que recibe, y
en la libreta de clientes también registra los datos generales de ambos clientes, incluyendo
las claves únicas de identificación asignadas.
-
Por último cataloga el paquete según el destino, para que en el momento oportuno se
envíe.
El gerente regional decide sistematizar el servicio de mensajería, de tal forma que se cuente
con una base de datos relacional que almacene la información descrita, la cual se pueda manipular
a través de pantallas de captura y consulta, y permita elaborar facturaciones mediante la
generación de reportes, utilizando una aplicación de bases de datos.
10
¿CÓMO APRENDO?
1. IMPORTANCIA, CONCEPTOS BÁSICOS Y OBJETIVOS
DE LAS BASES DE DATOS
Objetivo:
Familiarizarse con los objetivos, aplicaciones, terminología y problemas fundamentales de las bases de
datos y los sistemas para su manejo, mediante el estudio de su importancia, la problemática que abordan
y sus características básicas.
Es importante que identifiques la importancia de las bases de datos como medio de
almacenamiento de información, así como las implicaciones que tiene realizar un mal diseño
de la base de datos, ya que esto provoca ciertos problemas con la información que podrían
causar grandes complicaciones en la información de una organización.
Por lo anterior identificaremos a las bases de datos como el medio de almacenamiento de
información, la forma de realizar un diseño confiable y, por ende, los principales problemas que
implicaría realizar un mal diseño.
En la actualidad las bases de datos son el elemento crucial en las áreas que utilizan sistemas
computarizados, ya que permite mantener y operar información en forma organizada, segura,
confiable y en grandes cantidades.
Primero empezaremos por definir algunos conceptos indispensables para entender aspectos
importantes de la asignatura.
Una base de datos es un conjunto de datos organizados y relacionados entre sí, de forma
lógica, que en su totalidad dan información sobre aspectos reales.
Entenderemos como dato un hecho real conocido que podemos registrar, el cual por sí solo no
da información.
Definiremos información como un conjunto de datos que le dan significado a diversos aspectos
del mundo real.
Imaginemos que la Secretaría de Hacienda y Crédito Público al momento de hacer sus
recaudaciones de impuestos de las personas físicas (personas que trabajan por honorarios o
que prestan algún servicio), registraran los pagos en un conjunto de bases de datos iguales en
cada entidad federativa y como nosotros tenemos la obligación de hacer nuestra declaración,
pero nos encontramos en una entidad federativa diferente de donde tenemos nuestro domicilio
y es el último día para entregarla, lo más sencillo sería ir a pagar en donde estamos; pero al
regresar a casa y al cabo de un mes nos llega un requerimiento de incumplimiento de nuestro
pago de impuestos. ¿Por qué se nos requiere, si pagamos puntualmente? La respuesta es que
existe un problema de redundancia de información en las bases de datos, es decir, tenemos
una serie de bases de datos de gran tamaño que almacenan la misma información, provocando
una duplicación innecesaria de información y desperdicio de espacio por almacenamiento, esto
provoca al mismo tiempo un problema de inconsistencia, ya que la base de datos de nuestra
localidad no está actualizada con respecto de donde realizamos el pago y en caso de que si se
encuentre actualizada, pudieron haber surgido irregularidades al momento de capturar la
información, provocando un problema, que en este caso se trata de un requerimiento por parte
de Hacienda.
11
La solución a este problema es que exista una sola base de datos, donde se registre toda la
información actualizada de los pagos y a la cual puedan acceder las oficinas de Hacienda de
cada entidad federativa. A su vez, esto provoca una serie de problemáticas de integridad y
seguridad de información, ya que van a existir varios usuarios que utilicen la misma base de
datos.
La integridad se refiere a que se deben especificar restricciones en el tipo de dato que contiene
la información a almacenar, es decir, si se va a registrar el pago de impuestos de un contribuyente,
el dato impuesto deberá contener un valor numérico y el dato contribuyente un conjunto de
letras, de tal forma que dichos datos no acepten otros valores diferentes a los especificados.
Con respecto a la seguridad nos referimos a los usuarios que tienen autorización o privilegios
para manipular la base de datos, de tal forma que algunos usuarios sólo tendrán autorización
para introducir información específica como el pago del impuesto, pero no para modificar el
R.F.C. del contribuyente, esto implica que algunos usuarios tendrán el privilegio de visualizar
los datos, mientras que otros tendrán el privilegio de consultarlos y actualizarlos.
La Secretaría de Hacienda y Crédito Público en la actualidad cuenta con una sola base de datos
compartida entre todas las entidades federativas, tomando las precauciones necesarias para
evitar los problemas de redundancia, inconsistencia, integridad y seguridad de su información.
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Productos
Adoración de Miguel y Mario Resumen y definición de las
Realiza un resumen sobre la
importancia de las bases de datos, Piattini. Fundamentos y modelos bases de datos.
así como su definición.
de Bases de Datos. México,
Alfaomega Grupo Editor,
1999, pp. 3-33.
En un cuadro sinóptico marca las Adoración de Miguel y Mario
principales problemáticas que se Piattini. Op. cit., pp. 6-7.
presentan al realizar un mal
diseño de una base de datos, tales
como redundancia, inconsistencia,
integridad y seguridad.
Cuadro sinóptico sobre las
principales problemáticas
que se presentan al realizar
un mal diseño de una base
de datos.
Investiga sobre la independencia
de datos y funciones
(operaciones).
Adoración de Miguel y Mario Ficha de contenido sobre la
independencia de datos y
Piattini. Op. cit., pp. 21-22.
funciones.
Realiza los ejercicios 1 y 2.
Manual de ejercicios y prácticas.
Ejercicios 1 y 2 resueltos.
A partir de revisar y analizar la
situación de aprendizaje,
identifica qué problemas de
redundancia e inconsistencia
pueden existir.
Situación de aprendizaje.
Ficha de contenido sobre las
posibles problemáticas de
redundancia e inconsistencia
que puedan existir en la
situación de aprendizaje.
12
2. SISTEMAS DE MANEJO DE BASES DE DATOS
Objetivo:
Reconocer los componentes fundamentales de los sistemas de manejo de bases de datos, a través del
estudio de sus elementos físicos y lógicos, los diferentes lenguajes de que se compone un manejador de
bases de datos y las posibles interfaces con otros sistemas de comunicaciones como la INTERNET.
Los sistemas de base de datos se diseñan para almacenar grandes cantidades de información.
La gestión de datos implica tanto la definición de estructuras para el almacenamiento de la
información como la provisión de mecanismos para la manipulación de la misma. Los sistemas
de base de datos deben proporcionar la seguridad de la información almacenada en ellos y
evitar prosibles fallas o resultados erróneos como la caída del sistema del acceso de personas
ajenas a éste.
El propósito principal de un sistema de bases de datos es proporcionar un entorno que sea
conveniente y eficiente, para las personas que lo usan en la recuperación y almacenamiento de
la información.
Así, los Sistemas de Manejo de Bases de Datos, también conocidos como Sistemas Gestores de
Bases de Datos (SGBD), sirven para realizar una serie de operaciones con los datos almacenados
en una base de datos. Se podría decir que la base de datos es el recurso que contiene la
organización de la información y el SGBD es el medio para manipularla. En otras palabras un
SGBD es un conjunto de programas o software de aplicación general, que permite crear y
manipular una cantidad variable de bases de datos computarizada, a partir de utilizar un
diccionario de datos o catálogo que es donde se definen los datos, la estructura de éstos y las
restricciones de los datos que se almacenarán en la base de datos.
Cabe aclarar que no siempre es necesario usar un SGBD de aplicación general para crear una
Base de Datos computarizada (el cual requerirá siempre de un catálogo), también se podría
crear a partir de escribir una serie de programas en un lenguaje de programación, como el
Turbo Pascal, para manipular una base de datos específica creando así nuestro propio SGBD
de aplicación específica (no requiere de catálogo).
Los elementos de un SGBD se pueden presentar a través de la definición de tres niveles de
abstracción que pueden ser observados y que son: el nivel físico, el nivel lógico o interno y
nivel conceptual o externo, los cuales conforman la estructura y nos brindan los detalles de
cómo se almacenan y mantienen los datos.
Cuando ya se ha implementado una base de datos, es decir, se ha diseñado la base de datos, se
ha seleccionado el SGBD y se ha llenado ésta de datos, el usuario lo que requerirá en este
momento será usarla; las operaciones más comunes que se usan son: la consulta, modificación,
actualización y el borrado de datos, para esto el SGBD ofrece un lenguaje de manipulación
de datos (DML, siglas en inglés de data manipulation language).
13
NIVEL
EXTERNO
NIVEL
CONCEPTUAL
NIVEL
LÓGICO O
INTERNO
VISTA
EXTERNA1
...
VISTA
EXTERNAn
ESQUEMA CONCEPTUAL
ESQUEMA INTERNO
BASE DE DATOS ALMACENADA
El nivel externo es la vista que tienen los usuarios del sistema, es decir, el usuario “n” sólo ve
lo que requiere de la información de la base de datos, el resto está ocultó.
El nivel conceptual presenta información referente a las entidades, datos, relaciones,
operaciones y restricciones que tienen los usuarios en la base de datos.
El nivel lógico o interno detalla la estructura física de almacenamiento de la base de datos, así
como los direccionamientos de la información.
Sin embargo, cuando estas bases de datos son usadas por personas que únicamente realizan
transacciones simples y predefinidas por el sistema, se deben desarrollar interfaces amigables
para ellos, para que puedan manipular la base de datos.
Entenderemos por interface al medio que permite comunicar a dos dispositivos electrónicos
entre sí (por ejemplo dos computadoras) o a un dispositivo electrónico con un usuario.
A continuación te presentamos las interfaces más utilizadas por un SGBD:
Interfaces basadas en menús. Mediante la presentación de un menú desplegable se le
presentan al usuario una serie de opciones a elegir para realizar ciertas solicitudes o
transacciones. Es un ambiente que evita al usuario memorizar toda una serie de instrucciones
para realizar sus movimientos, ya que éste lo va llevando paso a paso.
Interfaces gráficas. El usuario selecciona o realiza una serie de movimientos o transacciones,
a través de seleccionar con un apuntador en un gráfico o imagen presentada en la pantalla lo
que desea hacer.
Sin embargo, existen otros tipos de interfaces a nivel de comunicación, como la INTERNET,
en donde un usuario de cualquier parte del mundo puede compartir información con otros
usuarios, sin importar las distancias.
14
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Adoración de Miguel y
Elabora un resumen sobre los
Sistemas Gestores de Bases de Datos Mario Piattini. Op. cit.,
(SGBD), sus elementos físicos y
pp. 28-31, 62,63.
lógicos (nivel de abstracción) y su
arquitectura según el modelo
ANSI/ESPARC o de tres esquemas.
Productos
Resumen y arquitectura
sobre los SGBD, según el
modelo de ANSI/ESPARC
o tres esquemas,
comentando dicho modelo.
Realiza una ficha de contenido sobre Adoración de Miguel y
los lenguajes de los SGBD.
Mario Piattini. Op. cit.,
pp. 43-51.
Ficha de contenido sobre los
lenguajes de los SGBD.
3. USUARIOS DE LAS BASES DE DATOS
Objetivo:
Identificar los principales tipos de usuarios de bases de datos, mediante el análisis de situaciones reales
de trabajo o vida, para ubicar el papel del operador y desarrollador de bases de datos.
Cuando se diseña una base de datos mediana o grande se debe tener en cuenta que están
involucradas personas en el desarrollo, mantenimiento, diseño y uso de las bases de datos, cada
una de estas personas tiene un rol determinante en el manejo de la base de datos.
Cuando se genera una base de datos pequeña como la agenda, lo más común es que una sola
persona la diseñe, construya y use.
Entre los diferentes tipos de usuarios que pueden intervenir en el desarrollo de una base de
datos se encuentran:
Usuarios diseñadores y desarrolladores
Son las personas encargadas de diseñar la base de datos y realizar las definiciones en el SGBD
a nivel interno, para cubrir los requerimientos de los demás usuarios de la base de datos.
“Éstos se encargan de diseñar e implementar los módulos e interfaces del SGBD en forma de
paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos
componentes o módulos, como los módulos para implementar el catálogo, los lenguajes de
consulta, los procesadores de interfaz, el acceso a los datos y la seguridad. El SGBD debe
poder comunicarse con otros programas del sistema, como el sistema operativo y los
compiladores de diversos lenguajes de programación.”1
1
Elmasri y Navarrete. Sistemas de Bases de Datos, conceptos fundamentales. 2a. edición, México, Eddison-Wesley Iberoamericana, 1997, p. 11.
15
Usuarios operadores y capturistas
Son las personas encargadas de hacer el vaciado de información en la base de datos, así como
de llevar a cabo el funcionamiento y mantenimiento del sistema de información.
Usuarios finales
Requieren tener acceso directo a la base de datos para realizar consultas, modificaciones y
generar reportes, de hecho la base de datos existe para ellos. Dentro de este tipo de usuarios
tenemos la siguiente clasificación:
Esporádicos. Personas que utilizan la base de datos algunas veces para solicitar información
con diferentes criterios.
Smples o paramétricos. Forman el grueso de la población de los usuarios finales, realizan
operaciones o transacciones de uso común, que se han probado exhaustivamente. En este
grupo se encuentran las personas que utilizan a los sistemas bancarios, reservaciones de
cualquier tipo, entre otras.
Avanzados. Son las personas capacitadas para manipular al SGBD, las cuales tienen
requerimientos complejos de información.
Autónomos. Utilizan bases de datos personalizadas de fácil uso, cuyo ambiente es de tipo
gráfico, es decir, mantiene un ambiente amigable.
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Desarrolla un cuadro sinóptico sobre Adoración de Miguel y
Mario Piattini. Op. cit.,
los tipos de usuarios: finales,
diseñadores, desarrolladores,
pp. 35-38.
operadores y capturistas.
Productos
Cuadro sinóptico acerca de
los diferentes tipos de
usuarios de una base de
datos.
A partir de revisar y analizar la
situación de aprendizaje, identifica
en que momentos intervendrán los
diferentes tipos de usuarios para
realizar el diseño de la base de
datos.
Ficha de contenido sobre
los usuarios que
intervendrán en el diseño
de la base de datos.
Situación de aprendizaje.
16
4. RELACIONES ENTRE DATOS
Objetivo:
Clasificar un conjunto de datos, mediante el análisis de las relaciones existentes entre ellos, para
preparar la identificación del modelo conceptual.
Un conjunto de datos puede describir un objeto del mundo real, al cual llamaremos ENTIDAD,
dichos datos o atributos pueden servir para relacionar una entidad con otra al tener éstas
datos en común, es decir, los valores que pueden tomar los datos son de características similares
en las entidades, a éstos se les conoce como atributo clave (dato que permite la relación entre
entidades).
A continuación te presentamos un ejemplo de una entidad cualquiera con sus atributos y valores
asignados.
Atributos
Valores
Tipo = Tenis
Color = Blanco
Número = 21 1/2
Marca = Reebok
Zapato
Modelo = Clásico
Entidad
Supongamos que además de la entidad “Zapato” incorporamos otra entidad: “Persona” cuyos
atributos son nombre, edad y sexo. Podríamos relacionar las dos entidades mediante la relación
“Tiene”, quedando el siguiente esquema de ER:
Tipo
Nombre
Edad
PERSONA
1
TIENE
N
Número
ZAPATO
Modelo
Sexo
Color
Marca
Este tipo de relación se conoce como binaria o vínculo binario, ya que tenemos dos entidades
conectadas a una misma relación, y los índices 1 y N (1:N) significan que a la entidad ”PERSONA”
se le pueden relacionar o vincular a N entidades “ZAPATO”.
Igualmente, si tuviéramos tres entidades conectadas a una misma relación se entenderá que es
una relación ternaria, y si los índices indican (1:1) significa que la relación entre entidades es
de una a una, asimismo si los índices son (N:1) quiere decir que la relación entre entidades es
de N a una.
17
A continuación se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje
Elabora un resumen sobre las
relaciones entre datos,
identificando elementos como:
entidad, atributo, atributo clave,
valor y relación o interrelación.
Recursos
Productos
Adoración de Miguel y Mario Resumen sobre el modelado
Piattini. Op. cit., pp. 103-109. de datos utilizando el
modelo Entidad – Relación
o Entidad-Interrelación.
Realiza el ejercicio 3.
Manual de ejercicios y prácticas.
Ejercicio 3 resuelto.
5. TIPOS DE MODELOS DE DATOS
Objetivo:
Identificar la estructura lógica subyacente en un conjunto de datos, a partir de modelos conceptuales de
lista, árbol o red, para identificarlos como casos particulares del modelo relacional y preparar el diseño
de una base de datos relacional.
Para realizar el diseño conceptual de la base de datos, primero debemos saber que existen
varios tipos de modelos de datos, los cuales son un conjunto de elementos que sirven para
describir la estructura de una base de datos, entenderemos por conjunto de elementos a los
tipos de datos, relaciones entre ellos y las posibles restricciones que se establecen para esos
datos.
Conforme se han ido implementado las bases de datos, se han creado varios modelos de datos,
los cuales se clasifican en tres niveles dependiendo del conjunto de elementos que presentan
en la estructura de datos.
1. Modelo de alto nivel o conceptual. Los usuarios no expertos en el área de informática
podrían interpretar o leer este tipo de modelo, ya que el conjunto de elementos que presenta
(entidades, atributos y relaciones) son muy significativos para cualquier persona.
Entenderemos por entidad a la representación real de un objeto o cosa, por ejemplo: una
persona, un documento, un perro, etc. Un atributo es una propiedad o característica
importante que da una información más completa de una entidad; y una relación describe
la interfaz o relación que existe entre dos o más entidades.
2. Modelo de bajo nivel o físicos. Este tipo de modelo va dirigido a los usuarios expertos en
el área de informática, ya que es más abstracto, presenta la forma en como se almacena la
base de datos en la computadora y las rutas de acceso de la misma.
3. Modelo de representación o de implementación. Es el punto intermedio entre los dos
modelos anteriores, de tal forma que un usuario no experto podría interpretarlo, pero
podría ver ciertos detalles de la forma en que se encuentran organizados los datos. En este
último modelo se encuentran los SGBD comerciales. De este modelo se desprenden tres
esquemas o modelos más: relacional, de red, jerárquico.
18
Modelo relacional. Tiene un mayor sustento teórico y es el más utilizado actualmente en el
mundo de las aplicaciones de bases de datos, implicando un mayor desarrollo de SGBD de tipo
relacional. Este modelo presenta a la base de datos como un conjunto de tablas (concepto que
revisaremos a detalle en la unidad II) relacionadas entre sí.
Modelo de red. Los datos de la base se presentan como registros y conjuntos, cada conjunto
define una relación de uno a n registros. Los conjuntos pueden tener a un mismo registro
como participante o propietario.
Modelo jerárquicos o arborescentes. Presenta una estructura de tipo Padre – Hijo. Un
esquema de este tipo presenta a los registros ordenados de forma jerárquica, es decir, en forma
de árbol
Cuando se define el modelo de datos el diseñador de la base elabora un modelo conceptual de
los datos a utilizar en ésta, de tal forma que sea independiente de cualquier SGBD. Para lograrlo
se debe considerar que este modelo sea:
1. Expresivo, para distinguir los tipos datos, restricciones y relaciones.
2. Sencillo, ya que cualquier usuario debe entenderlo, independientemente de tener o no
elementos de diseño de bases de datos.
3. Diagramático, para que de forma visual se pueda interpretar el esquema conceptual del
diseño de la base de datos (utilizando como base al diagrama de Entidad – Relación).
4. Formal, ya que el modelo del diseño conceptual no debe ser ambiguo, sino claro y confiable.
Para el diseño conceptual nos apoyaremos solamente en el modelo relacional: el diagrama o
modelo de Entidad-relación, el cual explicaremos a continuación.
Modelo de Entidad – Relación (ER). Es utilizado en diseño de bases de datos relacionales.
Lo importante de este modelo es representar a los datos como entidades que se pueden relacionar
con otras, cuya característica es que tienen atributos propios.
Para empezar a entender el modelo definiremos a la ENTIDAD como un objeto del mundo
real, independiente de los demás objetos existentes, cuya principal propiedad es que tienen
características o ATRIBUTOS propios, donde cada atributo de cada entidad podrá almacenar
un VALOR, pero si este valor hace único a la entidad, entonces a este atributo se le conoce
como ATRIBUTO CLAVE.
19
La siguiente tabla presenta la notación básica para realizar diagramas de Entidad –Relación.
Símbolo
Significado
Entidad
Vínculo o relación
Atributo
Atributo clave
De tal forma que la entidad “Zapato” con sus atributos la podríamos representar en el siguiente
diagrama:
Tipo
Color
Número
Marca
Modelo
ZAPATO
A continuación se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje
Recursos
Realiza un cuadro sinóptico sobre Adoración de Miguel y Mario
los modelos de datos de alto nivel Piattini. Op. cit., pp. 92, 123o conceptual, de bajo nivel o físico 129, 297-312, 357-370.
y de representación o de
implementación y a partir de este
último sus esquemas de datos más
comerciales: relacional (modelo
de Entidad-Relación), de red y
Jerárquico.
Realiza el ejercicio 4.
Manual de ejercicios y prácticas.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
1, donde realizarás el diagrama de
entidad relación.
20
Productos
Cuadro sinóptico sobre los
modelos de datos y los
esquemas de éstos más
comerciales.
Ejercicio 4 resuelto.
Resolución de la Práctica 1.
¿QUÉ HE APRENDIDO?
A continuación encontrarás la evaluación de la unidad, para que valores tus avances hasta el
momento.
I Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la
definición que le corresponda.
Concepto
( ) Dato.
Definición
a) Conjunto de datos organizados y relacionados entre sí, de forma
lógica.
( ) SGBD.
b) Hecho real conocido que podemos registrar.
( ) Base de datos.
c) Conjuntos de elementos relacionados que indican un aspecto del
mundo real.
( ) Información.
d) Conjunto de programas o software de aplicación general.
( ) Catálogo.
e) Estructura donde se definen los datos, la estructura y las
restricciones de éstos.
II. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis
una V si es verdadera o una F si es falsa.
( ) Existen dos niveles para realizar un modelo de base de datos: el de alto nivel o conceptual
y el de bajo nivel o físico.
( ) El modelo relacional es el que tiene un mayor sustento teórico, además de ser el más
utilizado actualmente.
( ) Una entidad es la representación virtual de un objeto o cosa.
( ) Para seleccionar un SGBD no es necesario considerar el costo por la gestión de la base de
datos.
III. Identifica en el siguiente Diagrama de Entidad – Relación lo que se señala y escribe qué
significa en las líneas según su enumeración.
1
3
Dirección
Niveles
Nombre
TIENE UN
CASA
4
2
5
21
Edad
DUEÑO
Nacionalidad
Color
R.F.C.
Edo
Civil
1.-_______________________________ 2.-_______________________________
3.-_______________________________ 4.-_______________________________
5.-_______________________________
IV. Lee las siguientes preguntas y contéstalas correctamente.
1.
2.
3.
4.
5.
¿Qué es redundancia en una base de datos?
¿Qué es inconsistencia en una base de datos?
¿Qué es integridad en una base de datos?
¿Qué es seguridad en una base de datos?
¿Qué tipos de relaciones se pueden hacer entre datos?
V. Selecciona la opción correcta para cada enunciado y coloca la letra correspondiente dentro
del paréntesis.
1. (
a)
b)
c)
d)
e)
) En el modelo de ANSI/ESPARC se presenta información referente a las entidades
datos, relaciones, operaciones y restricciones que tienen los usuarios en la base de
datos.
Nivel interno.
Nivel conceptual.
Nivel externo.
Nivel lógico.
Nivel físico.
2. ( ) Forman el grueso de la población de usuarios, los cuales realizan transacciones de uso
común.
a)
b)
c)
d)
e)
Usuarios diseñadores.
Usuarios capturistas.
Usuarios desarrolladores.
Usuarios finales.
Usuarios operadores.
3. (
a)
b)
c)
d)
e)
) Los menús desplegables se consideran como...
lenguajes de la base de datos.
interfaces amigables del usuario.
elementos del diseño de la base de datos.
conjunto de esquemas que se utilizan en el modelo ER.
arquitectura del diagrama de ANSI/ESPARC o de tres esquemas.
22
QUIERO SABER MÁS
Explica en qué consiste el ciclo de vida de una base de datos.
Investiga sobre otros modelos para representar los datos, por ejemplo el orientado a objetos.
Investiga acerca del modelo de entidad - relación extendido.
Identifica otros lenguajes lenguajes que utiliza el SGBD.
23
¿QUÉ VOY A APRENDER?
UNIDAD II
BASES DE DATOS RELACIONALES
Objetivo de la Unidad:
Conocer las características de las bases de datos relacionales
y la forma estándar de expresarlas, mediante el análisis de
sus estructuras básicas, distintas vistas, así como la utilización
de herramientas de álgebra relacional y lenguaje SQL, para
poder comunicar un diseño conceptual.
Hoy en día el modelo relacional se ha establecido como el principal modelo para las aplicaciones
de procesamiento de datos, dejando atrás a los sistemas de bases de datos basados en el modelo
de red o jeráquico, cuya principal diferencia es que mientras en el modelo de red y jerárquico
los datos se representan mediante conjuntos de registros y las relaciones entre ellos mediante
enlaces, en el modelo relacional los datos y las relaciones se representan a través de tablas.
Las bases de datos relacionales se presentan como un conjunto de entidades, relaciones o
vínculos y atributos, que hoy en día se utilizan en numerosas organizaciones. Es por ello que
en esta unidad nos encargaremos de revisar a detalle las características de las bases de datos
relacionales, la forma de realizar consultas utilizando el álgebra relacional y la forma de
crearlas y manipularlas al utilizar un lenguaje estructurado de consultas.
En este modelo de datos relacional utilizaremos estructuras básicas como lo son las tablas o
relaciones, renglones o tuplas y columnas o atributos. También revisaremos las reglas de
normalización.
Realizarás ejercicios de álgebra relacional para empezar a introducirte en las posibles
operaciones que se pueden realizar con una base de datos relacional.
En la unidad anterior revisamos la arquitectura de un SGBD con el modelo de ANSI/ESPARC,
en el cual se establece una serie de “vistas” en el nivel externo, es decir, partes de la información
contenida en la base de datos que el usuario ve, según los privilegios o restricciones de acceso,
y en esta unidad te explicaremos a detalle, precisamente esas vistas.
Los SGBD como ya se ha mencionado sirven para manipular la información contenida en una
base de datos. En la actualidad existe una gran variedad de SGBD de tipo relacional, por lo
cual se ha creado un lenguaje único para expresar los elementos, relaciones, búsquedas y otras
operaciones posibles con la base de datos, para manipularla. Este lenguaje, mejor conocido por
sus siglas en inglés SQL (Structured Query Lenguage, en español: Lenguaje Estructurado de
Consultas), es independiente de cualquier SGBD, por lo cual facilita a los usuarios diseñadores
y desarrolladores de bases de datos su trabajo de diseño.
24
A continuación te presentamos los contenidos organizados de esta unidad.
Unidad II. Bases de datos relacionales
Bases de datos
relacionales
Maneja
Base de datos
relacional
Se apoya en
Tiene
Álgebra relacional
Utiliza un
Vistas
Lenguaje relacional
estándar SQL
Según los
Privilegios de acceso
No olvides que para resolver la situación de aprendizaje que se planteo en la unidad anterior,
tendrás que incorporar nuevos aprendizajes que se te indicarán en las actividades de aprendizaje
y que será resuelta parcialmente en las prácticas planteadas en toda la Guía.
25
¿CÓMO APRENDO?
1. ESTRUCTURAS BÁSICAS DE LAS BASES DE DATOS RELACIONALES
Y NORMALIZACIÓN
Objetivo:
Diseñar y normalizar una base de datos sencilla, a partir de la identificación de relaciones, la especificación
de campos y la aplicación de las reglas de normalización, para contar con una especificación susceptible
de desarrollarse.
El modelo de datos relacional considera a la base de datos como un conjunto de relaciones,
donde cada relación equivaldría a una tabla.
“Si visualizamos una relación o entidad como una tabla de valores, cada fila de la tabla representa
una colección de valores de datos relacionados entre sí. Dichos valores se pueden interpretar
como hechos que describen una entidad o un vínculo entre entidades del mundo real. El nombre
de la tabla y los nombres de las columnas ayudan a interpretar el significado de los valores que
están en cada fila de la tabla...
“En la terminología del modelo relacional, una fila o renglón se denomina tupla, una cabecera
de columna un atributo y la tabla es una relación. El tipo de datos que describe los tipos de
valores que pueden aparecer en cada columna se llama dominio”.2
A continuación te presentamos una tabla o relación llamada Alumnos, con los siguientes
atributos: nombre, matrícula, dirección y teléfono, con seis tuplas, filas o renglones.
También identificaremos a las tuplas como registros, donde cada dominio de éstos se considera
como la unidad mínima de almacenamiento en el modelo de datos relacional.
Nombre de la relación
ALUMNO
Tuplas
NOMBRE
Juan Luis Pérez
Pedro Gómez C.
Rebeca Cruz Montes
José López Canseco
Margarita Godínez I.
Luis Ramírez Ramos
Atributos
MATRÍCULA
8945678
8987654
8976541
8973635
8973526
8927262
DIRECCIÓN
Av. de los Remedios No. 18
San Juan de los Lagos No. 8
Satélite No. 123
Av. Corregidora No. 12
Av. Tláhuac No. 89
Av. de los Niños Héroes No . 1
TELÉFONO
(5) 674-89-00
(5) 844-78-66
(5) 625-19-89
(5) 876-09-12
(5) 738-28-19
No tiene
En el ejemplo anterior se puede ver que una tabla o relación se ve como un conjunto de filas,
tuplas o registros; debemos considerar que pueden existir atributos o columnas cuyos valores
sean únicos en cada tupla de la relación, de tal forma que no podamos identificar dos tuplas con
valores idénticos en la misma columna, a estas columnas las llamaremos claves candidatas.
Identificaremos como clave primaria a una clave candidata, la cual seguirá conservando sus
características en todo momento, es decir, los valores serán siempre únicos en cada tupla sin
importar que se anexen más tuplas o registros.
2
Elmasri y Navathe. Op. cit., p. 140.
26
Si en la relación existen más de dos claves candidatas, el usuario asignará una como clave
primaria y las demás como claves secundarias.
Una clave externa o foránea es una clave candidata que hace referencia a otra relación mediante
un atributo en común.
Un atributo primo es cualquier clave candidata y un atributo no primo es cualquier atributo
que no sea clave candidata.
Es importante hacer notar que las siguientes palabras las utilizaremos como sinónimos:
Entidad = Relación = Tabla
Atributo = Campo = Columna (pueden ser utilizadas como claves)
Fila = Tupla = Registro
Como hemos definido, las claves primas son los valores de una columna los cuales no se repiten
en ningún dominio; sin embargo, para cuidar la integridad de la relación, estos valores no
pueden ser nulos, ya que si en algunas tuplas definimos los valores de dicha columna con un
valor nulo, tendremos serios problemas para distinguir una tupla de otra, basándonos en este
campo.
Sin embargo, existen ciertas reglas para lograr un mejor diseño del modelo de datos relacional,
tales como:
1. Significado de los campos. Al diseñar una relación procura que los campos sean por sí
solos significativos, no mezcles atributos de dos o más entidades para realizar el modelo de
datos relacional, ya que esto provocará que sea confuso.
2. Redundancia en las tuplas por valores similares en los campos. Si existe mucha
repetición de dominios de un campo en una relación, esto provocará una saturación en el
almacenamiento de la información. Si dividimos dicha relación en dos o más relaciones, la
primera con los atributos de la entidad principal y la segunda con los datos que podría
crear redundancia en las tuplas de un campo, esto ahorrará espacio y evitará problemas de
inconsistencia.
A continuación te presentamos un ejemplo donde existe redundancia e inconsistencia en una
relación.
Empleado
Nombre
Juan Pérez Pulido
Pedro Acacio López
Luis Manuel Pedrasa
Homero Sánchez S.
...
Institución
Bachilleres
Bachilleres
Bachilleres
Bachilleras
Dirección Institución
Av. de los Milagros S/N
Av. de los Milagros S/N
Av. de los Milagros S/N
Av. de los Milagros S/N
Área
CFT
CFT
CFT
CFT
Subárea
Técnica
Pedagógica
Pedagógica
Técnica
2,000 Tuplas
La redundancia se encuentra en los campos: Institución, dirección, área y subárea.
27
Si la persona que captura dicha información lo realiza incorrectamente, es decir, tiene errores
de captura, podría causar problemas de inconsistencia, sobre todo en los campos Institución,
dirección, área y subárea.
A continuación te presentamos la forma en que se resolverían los problemas de redundancia e
inconsistencia.
Empleado
Nombre
Juan Pérez Pulido
Pedro Acacio López
Luis Manuel Pedrasa
Homero Sánchez S.
...
Institución
Clave
Institución
1115
Bachilleres
1116
Conalep
Clave Institución
1115
1115
1115
1115
Clave Área
14A
14B
14A
14B
2,000 Tuplas
Dirección Institución
Av. de los Milagros S/N
Calle Santiago No. 125
...
15 Tuplas
Clave
14A
14B
123J
Áreas
Área
Subárea
CFT
Técnica
CFT
Pedagógica
ASD
Almacén
50 Tuplas
Donde los campos subrayados presentan problemas de redundancia e inconsistencia.
La relación principal “Empleado”, evita completamente la redundancia y en general la
inconsistencia, ya que solamente se escriben una vez los datos de la Institución, así como los
datos del área donde pertenece.
Si desde la relación “Empleado” requerimos el nombre o la dirección de la Institución, solamente
haremos referencia a estos datos mediante la clave primaria Institución ->Clave desde la clave
externa empleado ->Clave Institución.
Nota. La forma de hacer referencia a un campo de una relación será: Relación –> Campo
Normalización
En el ejemplo anterior utilizamos un criterio de normalización: cuando nuestro modelo de
datos relacional es insatisfactorio, debe dividirse en relaciones más pequeñas con algunos
atributos del primero.
“En el proceso de la normalización, según la propuesta original de Codd (1972a), se somete un
esquema de relación a una serie de pruebas para “certificar” si pertenece o no a una cierta
forma normal. En un principio, Codd propuso tres formas normales, a las cuales llamó primera,
segunda y tercera formas normales.”3 A continuación te las explicamos.
3
Elmasri y Navathe. Op. cit., p. 413.
28
Primera forma de normalización: Establece que los dominios de una relación deben ser
indivisibles; esto quiere decir que los valores que toman las tuplas de cualquier campo no
pueden ser otras relaciones.
Segunda forma de normalización: Establece que para vincular dos relaciones debe existir
solamente una clave primaria en la relación que vincula y un clave foránea en la relación
vinculada.
Tercera forma de normalización: Primero debe cumplir con la segunda forma de
normalización, y si eliminamos la clave primaria de la relación que vincula, no debe afectar las
definiciones de los otros campos.
A continuación se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje
Recursos
Productos
Realiza una consulta bibliográfica Adoración de Miguel y Mario Ficha de contenido con los
conceptos solicitados.
sobre los conceptos básicos que se Piattini. Op. cit., pp.129-135,
utilizan para describir al diseño
265-273.
de datos relacionales (estructuras
básicas de las bases de datos
relacionales).
En un cuadro sinóptico señala las Adoración de Miguel y Mario Cuadro sinóptico sobre las
reglas o formas de normalización. Piattini. Op. cit., pp. 273-287. formas de normalización.
Realiza los ejercicios 5 y 6.
Manual de ejercicios y prácticas.
Ejercicios 5 y 6 resueltos.
2. ÁLGEBRA RELACIONAL
Objetivo:
Construir búsquedas en bases de datos relacionales, mediante el uso de operaciones básicas de álgebra
relacional, para seleccionar registros específicos.
El álgebra relacional sirve para manipular relaciones enteras y para que vayamos ubicando las
posibles operaciones de selección y consulta en bases de datos relacionales, así como las
operaciones de conjuntos.
Podemos catalogar las operaciones del álgebra relacional en dos:
Operaciones de
conjuntos
Unión
Diferencia
Intersección
Producto cartesiano
Operaciones con bases
de datos relacionales
Selección
Proyección
Reunión (esta operación
no se verisará en la guía).
29
Operaciones de conjuntos
Las operaciones de la teoría de conjuntos se aplican al modelo relacional, porque las tablas o
relaciones se pueden ver como un conjunto de registros o tuplas y podemos tratar los registros
de dos tablas como conjuntos.
La única restricción que existe en las operaciones de unión, diferencia e intersección es que las
relaciones contengan los mismos campos o atributos. A continuación se definen estas
operaciones.
Unión. Cuando tenemos una o más tablas, la operación de unión junta en el resultado todas las
tuplas o registros existentes en dichas tablas, eliminando las tuplas repetidas.
Su sintaxis es la siguiente: Tabla1 ∪ Tabla2
Diferencia. Cuando tenemos una o más tablas, la operación diferencia junta en el resultado
todas las tuplas o registros que no se repiten en ninguna de las tablas, eliminando las tuplas
repetidas.
Su sintaxis es la siguiente: Tabla1Tabla2
Intersección. Cuando tenemos una o más tablas, la operación de intersección junta en el
resultado todas las tuplas o registros que se encuentren repetidas en dichas tablas, eliminando
las tuplas que son únicas
Su sintaxis es la siguiente: Tabla1 ∩ Tabla2
Producto cartesiano. Crea registros con los campos combinados de las dos tablas, es decir, el
resultado será una nueva tabla que contenga los campos o atributos de las dos tablas y los
registros se llenarán de la siguiente manera:
Desde Índice1 = Registro uno hasta el registro n de la tabla 1 Haz
Desde Índice2 = Registro uno hasta registro n de la tabla 2 Haz
Llena la tabla respuesta con Índice1 + Índice 2
Gráficamente lo veríamos de la siguiente manera:
Tabla 1
Clave 1
1115
1116
Institución
Bachilleres
Conalep
Dirección Institución
Av. de los Milagros S/N
Calle Santiago No. 125
Tabla 2
Clave 2
14A
14B
123J
Área
CFT
CFT
ASD
Subárea
Técnica
Pedagógica
Almacén
Tabla Resultado (Tabla 1 PRODUCTO CARTESIANO Tabla 2)
Clave 1
1115
1115
1115
1116
1116
1116
Institución
Bachilleres
Bachilleres
Bachilleres
Conalep
Conalep
Conalep
Dirección Institución
Av. de los Milagros S/N
Av. de los Milagros S/N
Av. de los Milagros S/N
Calle Santiago No. 125
Calle Santiago No. 125
Calle Santiago No. 125
30
Clave 2
14A
14B
123J
14A
14B
123J
Área
CFT
CFT
ASD
CFT
CFT
ASD
Subárea
Técnica
Pedagógica
Almacén
Técnica
Pedagógica
Almacén
Operaciones con base de datos relacionales
Seleccionar: esta operación sirve para seleccionar ciertos registros o tuplas que cumplan con
un criterio específico, si tomamos en consideración la tabla Resultado del ejemplo anterior, un
criterio de selección podría ser: todas las tuplas de tabla Resultado cuya clave2 sea 123J.
El resultado sería el siguiente:
Clave 1
1115
1116
Institución
Bachilleres
Conalep
Dirección Institución
Av. de los Milagros S/N
Calle Santiago No. 125
Clave 2
123J
123J
Área
ASD
ASD
Subárea
Almacén
Almacén
La sintaxis que se ocupará será la siguiente:
σ <Criterio de selección> (<Nombre de la Tabla o relación>), donde s significa selección.
Proyectar: selecciona algunos atributos o campos de una relación y desecha las otras columnas,
ya que lo único que permite visualizar son los campos seleccionados, proyectando así una
sección de la relación. Si tomamos nuevamente la tabla Resultado, y seleccionamos las columnas
Institución y Dirección Institución, el resultado sería el siguiente:
Institución
Bachilleres
Bachilleres
Bachilleres
Conalep
Conalep
Conalep
Dirección Institución
Av. de los Milagros S/N
Av. de los Milagros S/N
Av. de los Milagros S/N
Calle Santiago No. 125
Calle Santiago No. 125
Calle Santiago No. 125
La sintaxis que se ocupará será la siguiente:
π <Lista de atributos> (<Nombre de la Tabla o relación>), donde p significa selección.
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Productos
Realiza un cuadro sinóptico sobre Adoración de Miguel y Mario Cuadro sinóptico sobre el
Piattini. Op. cit., pp. 167-182. álgebra relacional.
el álgebra relacional, indicando
las operaciones de conjuntos y las
operaciones con bases de datos
relacionales.
Realiza los ejercicios 7 y 8.
Manual de ejercicios y prácticas.
31
Ejercicios 7 y 8 resueltos.
3. VISTAS O SUBESQUEMAS
Objetivo:
Describir el uso y aplicación de las vistas en las bases de datos relacionales, mediante la enumeración
de sus características en términos de privilegios de consulta y ordenamiento, para satisfacer las
necesidades de los diferentes tipos de usuarios.
Al elaborar una base de datos, es necesario tener claridad de qué es lo que se va a realizar y
para quién, ya que si bien el desarrollador de ésta debe conocer perfectamente los componentes
o niveles de la base, existen partes o componentes a los que los usuarios sólo pueden accesar
por razones de seguridad, quedando así algunos datos ocultos al usuario. Así, las relaciones de
datos que se hacen visibles a los usuarios se les denomina vistas.
“Por sí mismas las vistas constituyen un importante mecanismo de autorización discrecional.
Por ejemplo, si el propietario A de una relación R desea que otra cuenta B pueda leer únicamente
ciertos campos de R, A puede crear una vista V de R que incluya sólo esos atributos, y después
otorgar a B el privilegio de SELECT para V. Lo mismo se aplica cuando se desea limitar a B a
la lectura de sólo ciertas tuplas de R; se puede crear una vista V’ definiéndola por medio de una
consulta que seleccione sólo las tuplas de R que A desea poner al alcance de B.”4
Hablaremos más sobre vistas en el siguiente tema. A continuación se presentan las actividades
que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Productos
Realiza un resumen sobre el uso y Adoración de Miguel y Mario Resumen sobre vistas.
aplicación de las vistas en las
Piattini. Op. cit., pp. 136,
bases de datos relacionales,
423-425.
mediante el establecimiento de
privilegios y la forma de
ordenarlas por medio de índices.
Realiza los ejercicios 9 y 10.
Manual de ejercicios y prácticas.
Ejercicios 9 y 10 resueltos.
4. LENGUAJE RELACIONAL ESTÁNDAR SQL
Objetivo:
Expresar elementos, relaciones, búsquedas y vistas sencillas, mediante el lenguaje estandarizado SQL,
para contar con un instrumento de diseño independiente de cualquier manejador específico.
Ante la necesidad de contar con un lenguaje de consultas cómodas para el usuario de bases de
datos comerciales, surge el SQL, el cual se ha convertido en el lenguaje comercial de mayor
influencia para realizar consultas en las bases de datos relacionales.
4
Elmasri y Navathe. Op. cit., p. 604.
32
En este tema definiremos los términos que se utilizarán en el lenguaje SQL: esquema SQL, al
cual se le hace referencia mediante un nombre y se establece el nombre del usuario que es
propietario de dicho esquema. Asimismo, definiremos otros elementos que se encuentran dentro
del esquema, como son: las tablas, vistas, dominios y concesiones de autorización.
A continuación te presentamos la forma en que se encuentran organizados los elementos del
esquema.
NOMBRE DEL ESQUEMA SQL
Usuario
propietario
Usuarios x
Relación 1
Vista 1
Relación 2
Vista 2
.
.
.
.
.
.
Relación n
Vista n
Usa al
Ve si tiene
Dominios
Restricciones de
acceso/
autorización
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Recursos
Productos
Adoración de Miguel y Mario Resumen sobre el lenguaje
Realiza un resumen sobre el
Piattini. Op. cit., pp. 215-260. SQL.
lenguaje de relación estándar
SQL, considerando sus elementos,
las relaciones, búsquedas y vistas
que se puedan expresar en dicho
lenguaje.
Manual de ejercicios y prácticas.
Ejercicios 11 y 12 resueltos.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
2, donde realizarás la
transformación del diagrama de
entidad relación al diseño de
datos relacional.
Resolución de la práctica 2.
Realiza los ejercicios 11 y 12.
33
¿QUÉ HE APRENDIDO?
A continuación encontrarás la evaluación de la unidad, para que valores tus avances hasta el
momento.
I. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la
definición que le corresponda.
Concepto
Definición
(
) Clave externa o foránea.
a) Clave candidata que hace referencia a otra relación
mediante un atributo en común.
(
) Clave primaria.
b) Si en la relación existen más de dos claves
candidatas, el usuario asignará una segunda.
(
) Clave candidata.
c) Clave candidata, la cual seguirá conservando sus
características en todo momento siendo esta la
principal.
(
) Clave secundaria.
d) Columnas cuyos valores sean únicos en cada tupla
de la relación, de tal forma que no podamos
identificar dos tuplas con valores idénticos en la
misma columna.
II. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis
una V si es verdadera o una F si es falsa.
(
) A una base de datos relacional se le considera un conjunto de relaciones.
( ) Cada atributo de la tabla representa una colección de valores de datos relacionados entre
sí.
( ) Una fila se denomina tupla, una cabecera de columna un atributo y la tabla es una relación.
( ) Un atributo no primo es cualquier clave candidata y un atributo primo es cualquier atributo
que no sea clave candidata.
III. Lee las siguientes preguntas y contéstalas correctamente.
1. ¿En qué consiste la primera forma de normalización?
2. Explica la segunda forma de normalización.
3. ¿En qué consiste la tercera forma de normalización?
4. ¿Qué es seguridad en una base de datos?
34
IV. Selecciona la opción correcta para cada enunciado y coloca la letra correspondiente dentro
del paréntesis.
1. ( ) Para realizar una consulta en SQL, uno de los pasos debe ser...
a) seleccionar campos.
b) plantear una pregunta.
c) seleccionar las tuplas.
d) plantear relaciones.
e) establecer modelos.
2. ( ) Una vista se puede considerar como una tabla...
a) base.
b) relacional.
c) virtual.
d) entidad.
e) secundaria.
35
QUIERO SABER MÁS
Revisa otras formas de transformar modelos conceptuales a modelos lógicos de datos.
Investiga sobre otros lenguajes de consulta a bases de datos relacional como lo es el SQL3.
Estudia la operación Reunión del álgebra relacional.
Analiza el cálculo relacional.
Como comentábamos en la unidad I, las bases de datos están tomando una importancia única,
ya que facilitan el acceso rápido y confiable a la información de una organización.
Es necesario escoger un SGBD entre todos los comerciales que existen para crear aplicaciones
de bases de datos, es sabido que actualmente el ritmo con que cambia el software es bastante
acelerado provocando que posiblemente en algunos años el SGBD que seleccionamos sea
obsoleto.
Sin embargo, nuestra preocupación nos lleva a tratar de darte todos los elementos necesarios
para que, cuando llegue el momento de cambiar o utilizar otro SGBD, seas capaz de entenderlo
y aplicar las herramientas que contiene.
36
¿QUÉ VOY A APRENDER?
UNIDAD III
MANIPULACIÓN DE BASES DE DATOS
Objetivo de la Unidad:
Diseñar y construir una base de datos sencilla, mediante su
modificación, ordenación y realización de consultas, para
desarrollar aplicaciones elementales.
Las bases de datos han tomado gran importancia, ya que facilitan el acceso rápido y confiable
a la información de una organización, asimismo se ha desarrollado un sinnúmero de SGBD
comerciales de tipo relacional los cuales permiten la creación y manipulación de las bases de
datos diseñadas bajo un modelo relacional, permitiendo seleccionar uno con base a las
necesidades y posibilidades de la organización.
El ritmo con que cambia el software es bastante acelerado provocando que posiblemente en
algunos años el SGBD que seleccionamos no se encuentre en el mercado, sin embargo se
seguirá utilizando el lenguaje de consultas SQL para definir y realizar operaciones con la
información contenida en la base de datos. En general, todos los SGBD se basan en el lenguaje
de consultas SQL, por lo cual trataremos de darte todos los elementos necesarios para que
puedas manejar cualquier SGBD de tipo relacional.
Empezaremos por realizar operaciones básicas con Visual Fox Pro 5.0 tales como la creación,
uso y cierre de una base de datos, en un segundo momento realizaremos operaciones de consulta
y modificación de la base de datos y de su estructura, finalizando con ordenaciones lógicas y
físicas de la información contenida en la base de datos, funciones ya revisadas en álgebra
relacional y el lenguaje estándar relacional SQL. A continuación te presentamos el esquema
de los contenidos que se revisarán en esta unidad.
Unidad III. Manipulación de bases de datos
Bases de datos
las genera
Sistema gestor de
bases de datos
Operaciones
Crear
Consultar
Ordenar
Modificar
Estructura
Registros
37
Físicamente
Lógicamente
(Índices)
¿CÓMO APRENDO?
1. CREACIÓN DE UNA BASE DE DATOS
Objetivo:
Crear y manipular bases de datos elementales, mediante las instrucciones de creación de archivos, definición
de campos e incorporación de registros, para familiarizarse con los comandos básicos del programa.
Hemos creado modelos de base de datos a un nivel lógico, mediante el modelo de base de datos
relacional, sin embargo, el diseño de la base de datos no se ha completado todavía, falta crear
el diseño físico de la base de datos en un SGBD de tipo relacional, dado que nuestro modelo
lleva ese enfoque.
Hasta el momento hemos definido un modelo de datos relacional, sin embargo es necesario
llegar a la construcción de un diseño físico para poder aplicarlo utilizando una computadora;
esto se logra al crear una base de datos en un SGBD, que en nuestro caso será el Visual Fox
Pro 5.0, el cual nos permitirá consolidar todo nuestro diseño de la base de datos.
Es importante que no olvides que así como seleccionamos Visual Fox Pro 5.0 como nuestro
SGBD, podrás utilizar cualquier otro para realizar aplicaciones prácticas, sin embargo éste
debe ser de tipo relacional para que puedas aplicar lo que propone este curso.
Primero tendremos que revisar qué estructuras de datos tiene definidas nuestro SGBD
seleccionado, para poder ajustar el modelo lógico de la base de datos al modelo físico, por lo
cual revisaremos a continuación los datos que maneja nuestro SGBD.
TIPO DE DATO
Carácter
Monetario
Numérico
Flotante
Fecha
FechaHora
Doble
Entero
Lógico
Memo
General
Carácter (binario)
Memo (binario)
DESCRIPCIÓN
Un conjunto de hasta 254 letras o caracteres.
20 dígitos, con signo de pesos y punto decimal.
20 dígitos, con signo y punto decimal.
Para números muy cortos o muy largos de tipo exponencial.
Son fechas con el formato mm/dd/aa.
Información de calendario y hora en formato de 8 bytes.
Más preciso que el punto flotante.
Almacena valores enteros.
Acepta el valor cierto/falso (True/False).
Almacena información de cualquier tipo.
Almacena objetos OLE (imágenes).
Almacena información de tipo texto con base en una página de
códigos.
Almacena información de tipo memo con base en una página de
códigos.
Realizaremos el ejercicio con la primer tabla presentada en la unidad II, en donde aparecen los
atributos de la relación alumnos.
Alumno
NOMBRE MATRÍCULA DIRECCIÓN TELÉFONO
38
Estableceremos un tipo de dato y tamaño para cada campo de la tabla alumno, según juzguemos
conveniente, de tal forma que tendríamos la siguiente estructura de datos:
Tabla: Alumnos.
NOMBRE DEL CAMPO
NOMBRE
MATRÍCULA
DIRECCIÓN
TELÉFONO
TIPO DE
DATO
CARÁCTER
NUMÉRICO
CARÁCTER
CARÁCTER
TAMAÑO
25
7
35
12
DECIMALES (SÍ
ES NUMÉRICO)
0
Al terminar el diseño físico o creación de la base de datos (estructura de la base de datos),
procederemos a capturar las tuplas o registros de la tabla, quedando la información capturada
como se muestra en la siguiente tabla.
ALUMNOS
NOMBRE
Juan Luis Pérez
Pedro Gómez C.
Rebeca Cruz Montes
José López Canseco
Margarita Godínez I.
Luis Ramírez Ramos
MATRÍCULA
8945678
8987654
8976541
8973635
8973526
8927262
DIRECCIÓN
Av. de los Remedios No. 18
San Juan de los Lagos No. 8
Satélite No. 123
Av. Corregidora No. 12
Av. Tláhuac No. 89
Av. de los Niños Héroes No 1
TELÉFONO
(5) 674-89-00
(5) 844-78-66
(5) 625-19-89
(5) 876-09-12
(5) 738-28-19
No tiene
Cuando es la primera vez que creamos una estructura de base de datos de forma física, nuestro
SGBD nos pregunta si queremos capturar los registros en ese momento o después. Si por
alguna razón no aceptaste capturarlos en este momento, tendremos que poner en “uso” la
tabla Alumnos.
Nota. La extensión DBF significa Data Base File (Archivo de base de datos).
A continuación se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje
Recursos
Realiza una consulta bibliográfica Susan L. Reber y otros. Visual
sobre la forma de crear una base Fox Pro 5.0. México, Prentice
de datos, así como incorporar
Hall, 1998, Capítulos 1 y 2.
registros, abrirla y cerrarla.
Productos
Ficha de contenido sobre la
creación de una base de
datos, incorporación de
registros, abrirla y
cerrarla.
Realiza los ejercicios propuestos
en los Capítulos 1 y 2.
Susan L. Reber y otros.
Op. cit.
Ejercicios resueltos.
Realiza el ejercicio 13.
Manual de ejercicios y prácticas.
Ejercicio 13 resuelto.
39
2. CONSULTAS A UNA BASE DE DATOS
Objetivo:
Realizar consultas a una base de datos, aplicando expresiones de álgebra relacional, para construir
filtros y criterios de búsqueda.
Una vez capturada la información se podrán realizar consultas simples a la base de datos. A
continuación te presentamos la estructura de una consulta:
En el lenguaje estándar relacional SQL, ya hemos realizado consultas de la siguiente forma:
1. Seleccionar los campos que intervendrán en la consulta.
2. Seleccionar las tablas que contienen dichos campos.
3. Poner el criterio o condición de búsqueda.
De tal forma que los comandos en SQL son los siguientes:
SELECT <lista de campos>
FROM <lista de tablas>
WHERE <criterio de búsqueda>
Cuando realizamos una consulta en un SGBD se realiza de una manera muy similar, la cual
describimos a continuación:
1. Seleccionar las tablas que contienen dichos campos.
2. Seleccionar los campos que intervendrán en la consulta.
3. Poner el criterio o condición de búsqueda.
La sintaxis o forma de realizar la consulta dependerá del SGBD, pero en general la forma
simple de hacerla sería la siguiente serie de órdenes (éstas se pueden escribir directamente en
la ventana de comandos):
USES <base de datos>
LIST <lista de campos> FOR <condición >
Una consulta podría ser: qué alumnos no tienen teléfono de la base de datos Alumnos, la serie
de órdenes sería la siguiente:
USES Alumnos
LIST Nombre FOR Teléfono =’No tiene’
A continuación se te presentan las actividades que debes realizar para cubrir con este tema.
40
Actividades de aprendizaje
Recursos
En un cuadro sinóptico señala la Susan L. Reber y otros.
forma de crear consultas en un
Op. cit., Capítulos 5 y 7.
SGBD, a través de establecer la
estructura y comandos básicos de
un Query.
Productos
Cuadro sinóptico sobre el
Query.
Realiza los ejercicios propuestos
en los Capítulos 5 y 7.
Ejercicios resueltos.
Susan L. Reber y otros.
Op. cit.
3. MODIFICACIONES A UNA BASE DE DATOS
Objetivo:
Modificar una base de datos tanto en su estructura como en su contenido, mediante el uso de las
instrucciones para agregar o eliminar campos, cambiar los atributos de los campos o el contenido de los
mismos.
Si deseas modificar la estructura de la base de datos, únicamente tendrás que volver a accesar
a estructura de la base de datos y realizar las modificaciones correspondientes, igualmente, si
deseas modificar el contenido de los registros, lo único que tendrás que hacer es editar o
desplegar los registros.
Dentro del SGBD tendrás que seleccionar la base de datos y seleccionar la opción de modificar
estructura. Para modificar los registros de la base de datos bastará con editarlos, existen varias
formas de hacerlo, por ejemplo, la edición de registros o el despliegue de registros, la forma de
hacerlo es abrir o poner en uso la base de datos y solicitar la edición o el despliegue con los
comandos Edit o Browse respectivamente.
En cualquier modo de despliegue o edición del SGBD, el usuario podrá modificar el contenido
de los registros. Si visualizamos los registros desplegados en el modo Browse, veremos que
éstos no están ordenados de ninguna forma, es decir, no hay una ordenación ascendente o
descendente en ninguno de los campos.
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Elabora una ficha de contenido sobre
la forma de modificar una estructura
de bases de datos y la información
contenida en la tabla (registros).
Recursos
Susan L. Reber y otros.
Op. cit., Capítulo 3.
Productos
Ficha de contenido sobre
modificaciones a la
estructura de una base de
datos y a los registros.
Realiza los ejercicios propuestos en el Susan L. Reber y otros.
Capítulo 3.
Op. cit.
Ejercicios resueltos.
Con relación a la situación de
aprendizaje, desarrolla la práctica 3,
donde realizarás la creación, consulta
y modificación de la base de datos.
Resolución de la práctica 3.
Manual de ejercicios y
prácticas.
41
4. ORDENACIÓN DE LA INFORMACIÓN
Objetivo:
Ordenar lógica y físicamente los registros de una base de datos, mediante el uso de instrucciones, para
construir índices y reordenar registros.
A continuación te explicaremos qué son las ordenaciones y qué tipos de ordenaciones existen
en las bases de datos.
En bases de datos una ordenación significa que los registros se encuentren colocados en un
orden ascendente o descendente de acuerdo con los valores alfabéticos o numéricos, dependiendo
del tipo de dato del campo.
Generalmente una tabla se ordena para facilitar las búsquedas de información en la base de
datos, si la tabla base se encuentra desordenada, podremos ordenarla mediante la selección de
un campo que nosotros consideremos significativo para dicha búsqueda.
Podemos ordenar de dos formas, la primera se refiere a usar una ordenación física la cual se
refiere a crear una copia de la tabla original, pero con los registros ordenados en relación al
campo seleccionado o de ordenación, esto implica una duplicación de información y de espacio
en el dispositivo de almacenamiento.
La serie de órdenes para realizar la ordenación física será:
USES <Base de datos original o base>
SORT ON <Campo de ordenación> TO <Base de datos copia ordenada>
(Con esto se ha creado otra base de datos ordenada, pero no se encuentra activa)
Ejemplo: Para ordenar la tabla Alumno debemos seleccionarla y crear una nueva tabla con
los registros ordenados. La ordenación que se solicita en este ejemplo es por matrícula del
alumno.
Tabla original o base
ALUMNOS
NOMBRE
Juan Luis Pérez
Pedro Gómez C.
Rebeca Cruz Montes
José López Canseco
Margarita Godínez I.
Luis Ramírez Ramos
MATRÍCULA
8945678
8987654
8976541
8973635
8973526
8927262
DIRECCIÓN
Av. de los Remedios No. 18
San Juan de los Lagos No. 8
Satélite No. 123
Av. Corregidora No. 12
Av. Tláhuac No. 89
Av. de los Niños Héroes No. 1
La serie de órdenes para crear la ordenación física será:
USES ALUMNOS
SORT ON <MATRÍCULA > TO <ALUMATRI>
42
TELÉFONO
(5) 674-89-00
(5) 844-78-66
(5) 625-19-89
(5) 876-09-12
(5) 738-28-19
No tiene
Si ponemos en uso la base de datos ALUMATRI con la orden USE ALUMATRI y pedimos
visualizar la información con algún modo de despliegue, la tabla que veremos será la siguiente:
ALUMNOS
NOMBRE
Luis Ramírez Ramos
Juan Luis Pérez
Margarita Godínez I.
José López Canseco
Rebeca Cruz Montes
Pedro Gómez C.
MATRÍCULA
8927262
8945678
8973526
8973635
8976541
8987654
DIRECCIÓN
Av. de los Niños Héroes No 1
Av. de los Remedios No. 18
Av. Tláhuac No. 89
Av. Corregidora No. 12
Satélite N0. 123
San Juan de los Lagos No. 8
TELÉFONO
No tiene
(5) 674-89-00
(5) 738-28-19
(5) 876-09-12
(5) 625-19-89
(5) 844-78-66
Si observas la tabla podrás ver que se encuentra ordenada ascendentemente por la matrícula,
lamentablemente esta forma de ordenación no es muy práctica cuando tratamos grandes
cantidades de información, dado que el tiempo que requiere el SGBD para realizarla es
demasiado, además de que podríamos saturar nuestro dispositivo de almacenamiento.
La segunda forma de ordenación y la más recomendable en todos los aspectos, es la ordenación
por medio de índices o lógica, actualmente los SGBD ya traen integrado en el diseño de la
estructura de la base de datos la especificación de ordenación por índices, de tal forma que la
nueva información que se registre en nuestra base de datos ocupará su lugar en la tabla de
forma ordenada con base en nuestro índice.
Esta forma de ordenación ocupa menos espacio de almacenamiento porque se trabaja sobre la
misma base de datos original, haciendo referencia a un archivo índice (más pequeño que una
copia de la misma base de datos) para desplegar la información de forma ordenada.
A continuación te presentamos como interactúa el archivo índice con la base de datos, al ordenar
de forma lógica y ascendentemente la tabla Alumnos, con el campo de ordenación matrícula.
Consideraremos únicamente los campos nombre y matrícula e incluiremos un número de
registro para referenciar.
ARCHIVO ÍNDICE
Orden
1
2
3
4
5
6
No.
Reg.
6
1
5
4
3
2
ALUMNOS
No.
Reg.
1
2
3
4
5
6
NOMBRE
Juan Luis Pérez
Pedro Gómez C.
Rebeca Cruz Montes
José López Canseco
Margarita Godínez I.
Luis Ramírez Ramos
MATRÍCULA
8945678
8987654
8976541
8973635
8973526
8927262
Si se solicitará el despliegue de información de los tres primeros registros ordenados, se haría
referencia al archivo índice y de ahí se vería que son los registros 6,1 y 5. Este archivo índice se
encuentra integrado en la base de datos original, cuando se definen en la estructura de base de
datos en un SGBD relacional.
43
A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Realiza un resumen sobre los
tipos de ordenación físico y por
índices.
Recursos
Susan L. Reber y otros.
Op. cit., Capítulo 4.
Productos
Resumen sobre tipos de
ordenación.
Realiza los ejercicios propuestos
en el Capítulo 4.
Susan L. Reber y otros.
Op. cit.
Ejercicios resueltos.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
4, donde realizarás la ordenación
física y lógica de la base de datos.
44
Resolución de la práctica 4.
¿QUÉ HE APRENDIDO?
Contesta la siguiente evaluación, para que valores tus avances hasta el momento.
I. Lee con atención cada uno de los siguientes tipos de datos y coloca dentro del paréntesis la
descripción que le corresponda.
Tipo de dato
( ) OLE.
Descripción
a) Un conjunto de letras o caracteres.
(
) Float.
b) Valores numéricos reales o enteros.
(
) Binary.
c) Acepta el valor cierto/falso (True/False).
(
) Logical.
d) Son fechas con el formato dd/mm/aa.
(
) Date.
(
) Numeric.
e) Para números muy cortos o muy largos de
tipo exponencial.
(
) Character.
f) Objetos que se pueden vincular o incrustar.
g) Permite manipular imágenes.
II. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis
una V si es verdadera o una F si es falsa.
(
) Las declaraciones, consultas y otras operaciones en el SGBD se tendrán que escribir en
inglés.
( ) En el SGBD Visual Fox Pro 5.0 existe una venta para escribir comandos.
(
) Cuando es la primera vez que creamos una estructura de base de datos de forma física,
nuestro SGBD nos pregunta si queremos capturar los registros en ese momento.
( ) Existen dos modos de despliegue de información en nuestro SGBD.
III. Lee las siguientes preguntas y contéstalas correctamente.
1.
2.
3.
4.
5.
¿Qué es una consulta?
¿Qué es un SGBD?
¿Qué es una ordenación física?
¿Qué es una ordenación lógica o por medio de índices?
Incorpora 5 registros más a la tabla Alumnos y realiza otra serie de consultas: a) ¿Cuántos
alumnos se apellidan Godínez?, b) Despliega los nombres de los alumnos cuyas matrículas
comienzan con “89” y no tienen teléfono, c) Despliega la matrícula de los alumnos cuya
primera letra de su nombre o apellido sea “C”.
6. Ordena la tabla alumnos por dirección, matrícula y teléfono.
45
QUIERO SABER MÁS
Revisa cuál es la forma de consultar información de varias tablas a la vez.
Investiga cuáles son los comandos para realizar todas las operaciones que se realizaron en la
ventana del Navegador.
46
¿QUÉ VOY A APRENDER?
UNIDAD IV
CARACTERÍSTICAS AVANZADAS DE LAS
BASES DE DATOS
Objetivo de la Unidad:
Instrumentar estructuras relacionales de mediana
complejidad, mediante el manejo de variables, la generación
de reportes, pantallas y bases de datos múltiples, para
implementar aplicaciones más poderosas y agregar elementos
que faciliten el manejo de la base a otros usuarios.
En esta unidad te presentaremos la forma de implementar aplicaciones más poderosas, a partir
de definir la utilización de variables y las funciones ya definidas en el Sistema Gestor de Bases
de Datos, para obtener resultados de la base de datos.
Describiremos la forma de crear reportes y pantallas (formatos), para presentar la información
al usuario con una presentación amigable, de tal forma que las consultas y la operación de la
base de datos sean fáciles de realizar.
Por último, realizaremos una serie de operaciones con una base de datos relacional, al crear y
manejar varias tablas interconectadas.
A continuación te presentamos un esquema con los que contenidos de en esta unidad.
Sistema Gestor de
Base de Datos
Maneja
Variables
Funciones
Base de datos
múltiples
Generador
de
Reportes
47
Pantallas
¿CÓMO APRENDO?
1. MANEJO DE VARIABLES Y FUNCIONES
Objetivo:
Utilizar variables y las funciones interconstruidas en la base de datos, mediante la aplicación de las
reglas de construcción y empleo correctas, para sintetizar o completar información de la base de datos.
Algunas veces requerimos datos que se pueden calcular a partir de los datos almacenados en la
base de datos, por lo cual para evitar la redundancia de la información se considera que no se
requiere almacenarlos. Sin embargo, estos datos, aunque sean temporales para realizar consultas,
deben almacenarse en lo que se conoce como variables, para poder manipularse. Entenderemos
por variable a un espacio asignado en memoria para manipular un dato de cualquier tipo.
En los Sistemas Gestores de Base de Datos a las variables se les conoce como campos calculados,
es decir, es el campo “virtual” que opera con los campos de una tabla y permite consultar su
resultado. Las consultas que se realizan con campos calculados ocupan las siguiente expresiones
de cálculo:
Operadores
aritméticos
+
*
/
Función
Suma
Resta
Multiplicación
División
Operadores de
comparación
<
>
<>
=
<=
>=
Operadores
lógicos
Y (and)
O (Or)
No (Not)
Función
Menor que
Mayor que
Diferente
Igual
Menor o igual
Mayor o igual
Función
El resultado es cierto cuando se presentan dos
preposiciones y éstas son verdaderas, en caso de que
una preposición sea falsa, el resultado será falso.
El resultado es cierto cuando una de las dos
preposiciones presentadas es verdadera, en caso de
que las dos sean falsas, el resultado será falso.
Niega la proposición presentada.
48
Ejemplo: Supongamos que tenemos la siguiente tabla sobre nuestros clientes, los cuales compran n productos a un costo m.
CLIENTES
Nombre
Juan Luis Guerra Pérez
Pedro Torres Alcantar
Maritza Galindo Escalante
Luis Manuel Pelayo Montes
Antonio Torres Heredia
David Hernández Martínez
José Luis Méndez López
Teléfono
612-98-00
786-00-98
844-98-09
612-23-72
768-09-87
876-09-09
844-40-22
Cantidad de
productos
3
7
6
12
1
5
20
Costo
unitario/
producto
$50.00
$47.00
$129.00
$18.50
$20.00
$1,203.00
$420.00
Si quisiéramos saber lo que gasto el cliente en todos los productos, necesitaríamos utilizar un
campo calculado llamado totales, el cual se calcularía al multiplicar el campo cantidad de
productos por el campo costo unitario/producto.
De tal forma, tendríamos lo siguiente:
Totales = Cantidad de productos * Costo unitario/producto.
Totales
$ 150.00
$ 329.00
$ 774.00
$ 222.00
$ 20.00
$ 6,015.00
$ 8,400.00
Cuando ocupamos funciones en una base de datos, lo hacemos generalmente para resumir
información contenida en una tabla, las funciones a final de cuentas sirven para realizar consultas
específicas sobre algún campo de la base de datos. Las funciones interconstruidas más comunes
son las siguientes:
Función
Suma
Promedio
Mínimo
Máximo
Cuenta
Para
Descripción
Calcula la suma de todos los valores de un campo numérico.
Calcula la media aritmética sobre todos los valores de un campo
numérico.
Devuelve el valor más pequeño de un campo numérico.
Devuelve el valor más grande de un campo numérico.
Devuelve el número de registros que contiene una tabla.
Condiciona las funciones anteriores bajo un criterio específico.
49
Si consideramos la tabla del ejemplo anterior “Clientes”, podemos realizar las siguientes
consultas utilizando funciones:
Consulta 1
Suma Cantidad de productos
Resultado: 54
Consulta 2
Promedio Costo unitario/producto
Resultado: $ 269.643
Consulta 3
Mínimo Cantidad de productos
Resultado: 1
Consulta 4
Máximo Cantidad de productos
Resultado: 20
Consulta 5
Cuenta Clientes
Resultado: 7
Consulta 6
Cuenta Clientes para Cantidad productos >=7
Resultado: 3
Consulta 7
Suma Costo unitario/producto para Cantidad de Productos <6
Resultado: $ 1,273.00
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
En una ficha de contenido
desarrolla el tema de variables o
campos calculados, así como las
funciones.
Recursos
Susan L. Reber y otros.
Op. cit..
Realiza los ejercicios propuestos
para campos calculados en el
Capítulo 8.
Susan L. Reber y otros.
Op. cit.
Productos
Ficha de contenido sobre
variables y funciones.
Ejercicios resueltos.
2. GENERADOR DE REPORTES
Objetivo:
Elaborar reportes de presentación de resultados en pantalla y por escrito, a partir de información
seleccionada de una base de datos de una manera organizada y estética, para facilitar su consulta.
A continuación estudiaremos el tema de REPORTES O INFORMES, a partir de definir la
estructura general de estos, la forma de crearlos y modificarlos en un SGBD, así como la
generación del reporte.
Hasta el momento sólo hemos visualizado la información en pantalla, según las vistas que
presenta el SGBD, sin embargo, un reporte permite presentar la información de una base de
datos de forma organizada y estética en una hoja impresa, esta información es extraída o
calculada a partir de los datos almacenados en la tabla.
50
Visto un reporte desde el Sistema Gestor de Base de Datos se considera como un archivo que
contiene la definición de la estructura del reporte, la cual utiliza etiquetas o encabezados,
información de los campos de la base de datos y algunos campos calculados o variables.
Un reporte presenta la siguiente estructura:
Cabecera de página
Etiqueta
Detalles
Campo 1
Pie de página
En la cabecera de página se encuentran los siguientes datos:
• Encabezado del reporte: contiene información que irá al principio del reporte.
• Encabezado de página: contiene información que aparecerá en todas las páginas del reporte.
Pueden ser las etiquetas de los campos.
• Encabezado de grupo: cuando el informe está dividido en grupos, aparecerán los datos del
grupo.
La sección de detalles contiene la información general del reporte, es aquí donde se despliegan
los registros de una base de datos al poner el campo dentro de esta sección, para que se
desplieguen sus registros partir de los criterios establecidos para el reporte.
Dentro del pie de página se encuentran los siguientes datos:
• Pie de grupo: contiene la información que va al final del grupo, puede ser un valor calculado.
• Pie de página: contiene la información que se requiere que aparezca en todas las páginas,
como lo es el número de página.
• Pie de reporte: contiene la información que va al final de todo el reporte, como pueden ser
las sumas totales y el nombre del responsable del reporte.
La forma de crear, modificar y generar un reporte queda a disposición del SGBD.
A nivel de SQL, las instrucciones que podríamos usar serían las siguientes:
Para crear un reporte: CREATE REPORT <Nombre del reporte>
Para modificar un reporte: MODIFY REPORT <Nombre del reporte>
Para generar un reporte: REPORT FORM <Nombre del reporte>
Es importante recalcar que para generar un reporte debemos considerar la orientación del
papel de la impresora que se va a utilizar para imprimirlo.
51
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Elabora un resumen sobre las
ventajas de los reportes, su
estructura, la forma de crearlos,
modificarlos y generarlos.
Recursos
Susan L. Reber y otros.
Op. cit., Capítulos 6 y 8.
Productos
Resumen sobre reportes.
Realiza los ejercicios relacionados Susan L. Reber y otros.
con reportes propuestos en los
Op. cit.
Capítulos 6 y 8.
Ejercicios resueltos.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
5, donde realizarás un reporte de
la base de datos.
Resolución de la práctica 5.
3. GENERADOR DE PANTALLAS
Objetivo:
Desplegar campos y registros seleccionados en pantalla, mediante el uso de las instrucciones o controles
de creación de pantallas, para construir vistas sobre la base de datos que satisfaga necesidades específicas.
Una PANTALLA o FORMULARIO es una herramienta visible en todos los SGBD para
introducir o editar información de una o varias tablas de una base de datos relacional, en una
secuencia personalizada por el usuario.
Los formularios los diseña el usuario para interactuar con la base de datos contenida en el
SGBD de una forma más amigable, además de que al usuario común le presenta únicamente la
información que requiere, generando vistas de la información.
En una pantalla el usuario puede incluir imágenes (al igual que en los reportes), encabezados
de la pantalla, etiquetas de los campos a utilizar y los campos.
Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar
las ediciones o consultas de los usuarios, éstas varían según el tipo de SGBD. No olvides que
para crear una pantalla se debe seleccionar la base de datos a visualizar.
Cuando ya se tiene diseñada la pantalla, la podemos poner en uso para editar, capturar o
consultar información.
La forma de crear, modificar y poner en uso una pantalla queda a disposición del SGBD. A
nivel de SQL, las instrucciones que podríamos usar serían las siguientes:
Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla>
Para modificar una pantalla: MODIFY SCREEN <Nombre de la pantalla>
Para generar una pantalla: SELECT SCREEN <Nombre de la pantalla>
52
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Realiza un resumen sobre
pantallas, su estructura, la forma
de crearlas, modificarlas y
generarlas.
Recursos
Susan L. Reber y otros.
Op. cit., Capítulo 10 .
Productos
Resumen sobre pantallas.
Realiza los ejercicios propuestos
en el Capítulo 10.
Susan L. Reber y otros.
Op. cit., Capítulo 10 .
Ejercicios resueltos.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
6, donde realizarás una pantalla
para manipular la base de datos.
Resolución de la práctica 6.
4. CREACIÓN Y MANEJO DE BASES DE DATOS MÚLTIPLES
Objetivo:
Construir bases de datos múltiples, a partir de la vinculación de bases de datos sencillas, para reducir la
redundancia y asegurar la consistencia de la información.
Cuando nuestra base de datos es de tipo relacional, es decir, contiene más de dos tablas,
éstas deben tener un campo en común, tal y como lo vimos en la unidad II. La idea de usar
bases de datos relacionales es para evitar la redundancia y la inconsistencia de la información,
cuyo diseño revisamos a detalle también en esta unidad. Ahora te explicaremos cómo conectar
dos tablas a nivel físico en un SGBD.
Ubiquemos el ejercicio de la unidad II, cuando hablábamos de los datos del empleado, recordarás
que dividimos la tabla principal en varias para evitar los errores de redundancia e inconsistencia,
quedando las siguientes tablas:
Empleado
Nombre
Juan Pérez Pulido
Pedro Acacio López
Luis Manuel Pedrasa
Homero Sánchez S.
Áreas
Clave
14A
14B
123J
Clave Institución
1115
1115
1115
1115
Clave Área.
14A
14B
14A
14B
Institución
Clave Nombre
1115
Bachilleres
1116
Conalep
Área
CFT
CFT
ASD
Subárea
Técnica
Pedagógica
Almacén
53
Dirección
Av. de los Milagros S/N
Calle Santiago No. 125
Donde los campos señalados son claves primarias.
La forma de realizar dichas conexiones en un nivel físico y en un SGBD será el siguiente:
EMPLEADO
NOMBRE
CVEINSTITU
CVEAREA
INSTITUCIÓN
CLAVE
NOMBRE
DIRECCIÓN
ÁREAS
CLAVE
ÁREA
SUBÁREA
Podemos generar reportes o pantallas usando bases de datos relacionales, sólo hay que hacer
referencia a la tabla de la que se está leyendo el campo y eso es todo.
A continuación se presentan las actividades que debes realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Actividades de aprendizaje
Realiza un resumen sobre la
forma de crear y manipular bases
de datos múltiples a un nivel
físico, en un SGBD (en específico
Visual Fox Pro V 5.0).
Recursos
Susan L. Reber y otros.
Op. cit., Capítulo 5 y 7.
Con relación a la situación de
Manual de ejercicios y prácticas.
aprendizaje, desarrolla la práctica
7, donde realizarás un reporte y
una pantalla para manipular la
base de datos relacional.
54
Productos
Resumen sobre bases de
datos relacionales en un
SGBD.
Resolución de la práctica 7.
¿QUÉ HE APRENDIDO?
A continuación te presentamos la evaluación de la unidad, para que valores tus avances hasta
el momento.
I Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la
definición que le corresponda.
Concepto
Definición
(
) Para
a) Calcula la suma de todos los valores de un campo numérico.
(
) Promedio
(
) Cuenta
b) Calcula la media aritmética sobre todos los valores de un campo
numérico.
c) Devuelve el valor más pequeño de un campo numérico.
(
) Máximo
d) Devuelve el valor más grande de un campo numérico.
(
) Suma
e) Devuelve el número de registros que contiene una tabla.
(
) Mínimo
f) Condiciona las funciones anteriores bajo un criterio específico.
II. Lee con atención cada una de las siguiente proposiciones y coloca dentro del paréntesis una
V si es verdadera o una F si es falsa.
(
) Los campos que conectan dos tablas en las bases de datos relacionales deben ser del
mismo tipo.
(
) Un reporte desde el Sistema Gestor de Base de Datos, se considera como un archivo que
contiene la definición de la estructura del reporte.
(
) Los formularios los diseña el usuario para interactuar con el Sistema Gestor de Bases de
Datos.
(
) Una base de datos de tipo relacional contiene una o más tablas.
III. Lee las siguientes preguntas y contéstalas correctamente.
1. ¿Qué es un reporte?
2. ¿Qué es una pantalla?
3. Explica brevemente qué es una base de datos relacional.
4. Explica la estructura de una pantalla del SGBD Visual Fox Pro 5.0
5. Explica la lógica para relacionar dos tablas de una base de datos relacional.
55
QUIERO SABER MÁS
Investiga sobre la forma de generar reportes y pantallas en otros SGBD, como son: Visual
dBase 5.5 y Access 97 o 2000, entre otros.
Realiza consultas con campos calculados en bases de datos relacionales.
Elabora un cuadro comparativo de la forma de conectar dos o más tablas en diferentes SGBD.
56
Descargar