SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Cap´
   ıtulo 6

Bases de datos
   6.1   Bases de datos y SGBD . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   151
   6.2   El modelo entidad-relaci´n . . . . . . .
                                   o                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   155
   6.3   Modelos de datos basados en registros        .   .   .   .   .   .   .   .   .   .   .   .   .   .   158
   6.4   Lenguajes asociados a los SGBD . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   160
   6.5   Elementos de un SGBD . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   163
   6.6   Ejercicios . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   164
   6.7   Comentarios bibliogr´ficos . . . . . . .
                               a                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   165



6.1      Bases de datos y SGBD
6.1.1     Archivos y SGA
    En el cap´ ıtulo 2 se vio la posibilidad que tienen los computadores
de trabajar con datos elementales (tales como n´meros reales, enteros,
                                                   u
caracteres y valores l´gicos) o de organizarlos en estructuras m´s com-
                       o                                           a
plejas, tales como vectores o tablas. En el 4 se introdujeron los archivos
como organizaci´n b´sica de la informaci´n, almacenada en un disposi-
                  oa                        o
tivo f´
      ısico; entonces no fue preciso distinguir en ellos ning´n tipo de or-
                                                             u
ganizaci´n: pod´ considerarse como listas de elementos de caracteres.
          o       ıan
    Ahora interesa considerar un archivo como una lista de datos del
mismo tipo, cada dato de un archivo es un registro, y puede tener una
estructura compuesta por varios datos de distinto tipo, llamados cam-
pos. Considerando el fichero de los alumnos de un colegio como s´  ımil
152                                    Cap´
                                          ıtulo 6. Bases de datos


de archivo, cada ficha es un registro, y cada dato consignado en ella
constituye un campo.
    La utilizaci´n de los archivos en inform´tica ha permitido desarrollar
                o                             a
programas de aplicaci´n en areas muy diversas: el fichero de socios de
                        o     ´
una biblioteca, el de su fondo bibliogr´fico, el de clientes de cualquier
                                          a
empresa, el de proveedores, el de art´   ıculos de un inventario, etc. Los
programas desarrollados para gestionar archivos se llaman en general
sistemas de gesti´n de archivos (SGA). Debido a su directa aplicabilidad,
                  o
la utilizaci´n de los archivos y los SGA han evolucionado much´
            o                                                     ısimo en
los ultimos a˜os, originando las bases de datos y, correspondientemente,
    ´         n
los programas dedicados a su gesti´n.o

6.1.2    Bases de datos y SGBD
   Hablando en t´rminos muy amplios, una base de datos consiste en
                  e
una colecci´n de datos, organizados de forma integrada en archivos, junto
           o
con un conjunto de programas dedicados a su gesti´n. Estos programas
                                                    o
forman los sistemas de gesti´n de bases de datos (SGBD).
                             o
    Al igual que los SGA, los SGBD son programas destinados principal-
mente a almacenar, manipular y recuperar la informaci´n, y desempe˜an
                                                      o             n
operaciones que suelen tener lugar a diario: altas y bajas de clientes,
apuntes en las cuentas bancarias, adquisici´n y p´rdida de libros o su
                                             o     e
pr´stamo y devoluci´n, elaboraci´n de informes sobre los clientes o so-
  e                   o           o
cios morosos, sobre las calificaciones de los alumnos de un curso en una
asignatura y un largo etc´tera.
                          e
    Sin embargo, en los SGA el programador deb´ controlar artesanal-
                                                   ıa
mente m´ltiples detalles, tales como la descripci´n pormenorizada de los
         u                                       o
datos, su almacenamiento en los dispositivos, la concordancia de cada
rutina que maneje esos datos con la descripci´n de los mismos, la con-
                                               o
cordancia de los datos cuando se repitan en distintos archivos, etc. M´s
                                                                      a
a´n, el programador es responsable de que cada modificaci´n de los datos
 u                                                        o
o de los programas se vea reflejada en todos esos puntos.
    En cambio, los SGBD controlan autom´ticamente operaciones como
                                         a
el almacenamiento de los datos en los dispositivos f´
                                                    ısicos, as´ como el
                                                              ı
153
6.1. Bases de datos y SGBD


acceso de los programas a los mismos; adem´s, aseguran la consistencia
                                            a
de los datos repetidos y de los programas que los manejan, etc.
   Gracias a estas ventajas, con los SGBD es posible concentrar m´s   a
atenci´n en el problema (a su nivel) y mucha menos en los detalles (de
      o
bajo nivel) de su implantaci´n f´
                              o ısica (o interna), lo que facilita enor-
memente el dise˜ o, desarrollo y mantenimiento de las bases de datos y
                n
permite, por lo tanto, afrontar otras de gran envergadura.

Conclusi´n
        o
    En resumen, los SGA consisten en agregados de programas y archi-
vos, a˜adidos por el programador para cubrir ad hoc necesidades nuevas.
      n
En cambio, los SGBD son sistemas “integrados” de programas y archi-
vos, dise˜ados con el prop´sito espec´
         n                o          ıfico de desarrollar y gestionar bases
de datos, como indica su nombre, de acuerdo con un plan general.
    Por ello, la funcionalidad de los SGBD es superior a la de los SGA.
M´s concretamente, se pueden identificar las siguientes diferencias entre
  a
ambos tipos de sistemas:

   • En general, los SGA consisten en aglomerados de programas y ar-
     chivos r´
             ıgidos, puesto que se han agregado sucesivamente para re-
     solver s´lo operaciones muy concretas. Por el contrario, los SGBD
             o
     se caracterizan por una gran flexibilidad, permitiendo la reestruc-
     turaci´n de la informaci´n gestionada, la incorporaci´n de nuevas
           o                  o                           o
     aplicaciones, o la modificaci´n de las existentes manteniendo la
                                   o
     organizaci´n global.
                o

   • La informaci´n de los SGA presenta frecuentemente redundancias
                  o
     innecesarias. La repetici´n de los datos en los diversos archivos
                              o
     es ineficiente: adem´s de hacer un mal aprovechamiento de la
                          a
     memoria, aumenta y dificulta a la vez las operaciones de consulta
     y mantenimiento de esa informaci´n. La redundancia de los datos
                                       o
     lleva aparejado adem´s el riesgo de que esos datos repetidos no
                           a
     concuerden (inconsistencia), lo que se supera en los SGBD gracias
     a su alto grado de integraci´n.
                                 o
154                                           Cap´
                                                 ıtulo 6. Bases de datos


      • Por lo com´n, los SGA est´n implantados en sistemas operativos
                    u              a
        monousuario, por lo que carecen de mecanismos para atender a
        diferentes personas desde diferentes puntos. En cambio, los SGBD
        est´n dise˜ados muchas veces para funcionar en sistemas multiu-
           a       n
        suario, pudiendo atender consultas y actualizaciones de los datos
        que se solicitan al mismo tiempo, y est´n dotados con mecanis-
                                                 a
        mos para garantizar la seguridad y confidencialidad de los datos en
        sistemas multiusuario.

      • Los SGA carecen en general de protecci´n frente a fallos del sis-
                                                o
        tema. En cambio, los SGBD disponen de los mecanismos necesa-
        rios para recuperar la informaci´n en caso de necesidad.
                                        o

    Por consiguiente, los SGBD aventajan a los SGA en muchos aspec-
tos. Aunque se ha se˜alado el inconveniente de que, al ser sistemas m´s
                     n                                               a
complejos y potentes, tienen mayores requerimientos de hardware y soft-
ware, este problema se est´ atenuando con el aumento de potencia que
                           a
los computadores personales est´n experimentando hoy en d´ y con el
                                a                             ıa
abaratamiento del software.
    A pesar de las ventajas que suponen las bases de datos, debe ad-
vertirse que el buen dise˜o de una base de datos no es una cualidad
                         n
intr´
    ınseca de los SGBD, as´ como tampoco son propios de los SGA los
                           ı
defectos de un mal dise˜o o desarrollo. Una base de datos desarrollada
                       n
con un SGA puede resultar segura, funcionar en un entorno multiusua-
rio y estar exenta de redundancias (en la informaci´n) aunque, eso s´
                                                   o                 ı,
debe ser el desarrollador quien se preocupe de mantener esas cualida-
des, mientras que un SGBD asume algunas de esas responsabilidades y
facilita muchas otras.

6.1.3       Niveles de una base de datos
    La complejidad de una base de datos puede superarse dotando al
sistema de una organizaci´n l´gica que facilite su manejo. Seg´n las
                         oo                                   u
normas del ANSI/SPARC1 ([Stu75]), esta organizaci´n debe constar de
                                                   o
  1
      American National Standard Institute.
155
                             ´
6.2. El modelo entidad-relacion


los tres niveles siguientes, de m´s pr´ximo al problema a m´s cercano a
                                 a    o                    a
la m´quina:
     a

   • Nivel interno o f´ısico, formado por los detalles de la organizaci´n
                                                                       o
     f´
      ısica de la base de datos, tales como la representaci´n escogida de
                                                           o
     los datos a bajo nivel y el almacenamiento real de los datos en los
     discos u otros dispositivos f´ısicos.

   • Nivel conceptual o l´gico donde se describe, a alto nivel, la infor-
                         o
     maci´n de la base de datos, ignorando los detalles de su almace-
         o
     namiento.

   • Nivel externo o de visi´n, que comprende las visiones particulares
                            o
     que tienen de la base de datos los distintos usuarios, ya sean usua-
     rios finales o programadores, con frecuencia en distintos lenguajes.
     Estos ultimos ven la descripci´n de la informaci´n en sus lenguajes
           ´                       o                 o
     respectivos.


6.2     El modelo entidad-relaci´n
                                o
    Un modelo de datos es un enfoque adoptado para formalizar la in-
formaci´n del mundo real que ata˜e a una base de datos. En el nivel
        o                          n
conceptual y l´gico, existen dos grupos de modelos: los basados en ob-
               o
jetos, y los basados en registros.
    El modelo entidad-relaci´n es seguramente el m´s ampliamente acep-
                             o                        a
tado entre los primeros. En ´l se concibe la realidad como un conjunto de
                             e
objetos (llamados entidades y caracterizadas por atributos) y relaciones
entre los mismos. En los ejemplos mencionados, constituye una entidad
cada cliente concreto, cada cuenta bancaria, cada socio de la biblioteca,
cada uno de sus libros, etc. Resulta natural agrupar las entidades en gru-
pos homog´neos (conjuntos de entidades): en el conjunto de entidades
            e
“libros”, por ejemplo, tendr´ cabida todos los libros de la biblioteca.
                              ıan
Considerando ahora este conjunto de entidades, podemos identificar en
ellas los atributos siguientes: t´
                                 ıtulo, autor, editorial, signatura, n´mero
                                                                      u
de registro, etc.
156                                      Cap´
                                            ıtulo 6. Bases de datos


    Las asociaciones entre varios conjuntos de entidades pueden esta-
blecerse mediante relaciones. Por ejemplo, se puede considerar una re-
laci´n entre los conjuntos de entidades “socios”-“libros” para expresar
    o
los “pr´stamos”. Tambi´n es posible caracterizar las relaciones con atri-
       e                e
butos (como la “fecha” de devoluci´n para un pr´stamo).
                                   o             e
      Las relaciones entre entidades pueden ser de varios tipos:

   • Una relaci´n entre dos entidades es de uno a uno (abreviadamente,
                 o
     1:1) si existe una correspondencia biun´
                                            ıvoca entre ellas. Por ejem-
     plo, cada autom´vil tiene una unica matr´
                      o             ´          ıcula y viceversa.

   • La relaci´n “socios”-“libros” mencionada en el p´rrafo anterior es
               o                                      a
     de uno a muchos (1:m): un socio puede tener prestados desde
     ninguno hasta muchos libros al mismo tiempo, pero cada libro
     tiene, a lo sumo, un unico socio que lo ha pedido.
                          ´

   • La relaci´n entre “profesores”-“asignaturas” es de muchos a mu-
              o
     chos (m:m), ya que un profesor puede impartir varias asignaturas,
     e igualmente una asignatura puede ser impartida por varios pro-
     fesores. En este tipo de relaciones no se imponen restricciones
     sobre el n´mero de elementos por relacionar de cada conjunto de
               u
     entidades.

   Con estos conceptos, es posible representar gr´ficamente la estruc-
                                                 a
tura de una base de datos del siguiente modo:

   • Cada conjunto de entidades se expresa mediante un rect´ngulo.
                                                           a

   • Los atributos que caracterizan un conjunto de entidades se repre-
     sentan con elipses asociadas al rect´ngulo correspondiente.
                                         a

   • Las relaciones se representan mediante rombos, unidos con l´ ıneas a
     los conjuntos de entidades asociados. En los casos de las relaciones
     1:1 y 1:m, el conjunto de entidades dado por el 1 se se˜ala desde
                                                              n
     la relaci´n con una flecha:
              o

          – Relaci´n m:m
                  o
157
                             ´
6.2. El modelo entidad-relacion


                                 ¨rr
                              ¨¨stamos
                                     r
                              pr´
                                e
                              rrr¨ ¨
                                                   socios
                libros
                                   ¨
                                               fl
               i „
                                                 fl
           „
                     i                               l
                                                                
                      i„                  f
                                             
                                                     n0 .socio
           t´
            ıtulo      i   „                      f
                           „
                                    nombre  f              
     autor              i                                 
            registro                      
                         i
              editor i                        domicilio
                                                         
                              c
              i                      
                             
                   signatura   fecha
                                        
                            




            Figura 6.1. Representaci´n gr´fica de una relaci´n
                                    o    a                 o


                                    
                                    
                                       
                                       
                                       
                                  
                                      
                                    


        – Relaci´n 1:m
                o

                                    
                                    
                                       
                          '           
                                      
                                  
                                      
                                    


        – Relaci´n 1:1
                o

                                    
                                    
                                       
                          '                    E
                                      
                                  
                                      
                                    



    Por ejemplo, la relaci´n “pr´stamos” puede representarse como mues-
                          o     e
tra la figura 6.1.
158                                            Cap´
                                                  ıtulo 6. Bases de datos


6.3        Modelos de bases de datos basados en
           registros
    Tradicionalmente, se han considerado diferentes enfoques a la hora
de organizar una base de datos. Cada uno adoptaba una concepci´n      o
distinta de la realidad, dependiendo del tipo de estructura de datos m´s
                                                                      a
adecuado para construir un modelo del problema planteado.
    En el modelo jer´rquico subyace una estructura de datos arbores-
                     a
cente. Ejemplos de esta estructura son la genealog´ de los toros de lidia
                                                  ıa
y la organizaci´n de directorios de un disco. Esta orientaci´n se suele
               o                                             o
usar cuando el problema abarca s´lo relaciones 1:m.
                                  o
    El enfoque en red adopta como modelo de datos el concepto ma-
tem´tico de grafo: un conjunto de puntos llamados nodos, que se conec-
    a
tan unos con otros mediante l´ıneas llamadas arcos. El ejemplo arquetipo
de grafo es una red de carreteras: los arcos son los diferentes tramos, y
los nodos las intersecciones. En este tipo de relaciones se pueden repre-
sentar tambi´n las relaciones m:m, aunque no de un modo muy natural.
             e
    Al igual que en el modelo entidad-relaci´n, en el enfoque de datos en
                                            o
red la base de datos consiste en un conjunto de entidades (que son los
nodos de un grafo), caracterizadas por atributos y relacionadas mediante
relaciones (que son los arcos). En el modelo en red, a las relaciones se
les llama ligaduras, y son siempre binarias, si bien es posible construir
relaciones de cualquier orden combinando dichas relaciones binarias.
    En la actualidad, los modelos jer´rquico y en red se consideran am-
                                     a
pliamente superados por el modelo relacional, que est´ muy desarrollado
                                                     a
y extensamente difundido, funcionando en equipos grandes y peque˜os.n
Debido a su importancia, le dedicamos el siguiente apartado.

6.3.1       El modelo relacional
    El enfoque relacional considera una base de datos como un conjunto
de tablas,2 que representan entidades o relaciones. Dados n conjuntos de
  2
      Llamadas relaciones, de donde viene el nombre de este modelo.
159
6.3. Modelos de datos basados en registros


entidades E1 , ..., En , una tabla es un conjunto de n-tuplas de la forma
(e1 , ..., en ), donde ei ∈ Ei ; en otras palabras, una relaci´n es un subcon-
                                                              o
junto del producto cartesiano E1 × ... × En .
   Visto un conjunto de entidades como una tabla, cada fila representa
una entidad concreta, y cada columna un atributo:

                                     libros
              Autor     T´
                         ıtulo    Editor Signatura        Registro
               ...        ...       ...      ...            ...

    Si la tabla representa una relaci´n, cada columna es una de las en-
                                     o
tidades vinculadas por ella. En realidad, no es preciso consignar cada
entidad completa, sino que basta con incluir los atributos necesarios para
determinarla un´ ıvocamente. Este conjunto de atributos se llama clave
de la entidad:
                               pr´stamos
                                 e
                       Registro N´m. socio
                                 u                  Fecha
                         ...        ...               ...

    Pongamos un ejemplo. Una base de datos correspondiente a la in-
formaci´n de cierta carrera universitaria3 podr´ constar, entre otras, de
        o                                      ıa
dos relaciones, que almacenan respectivamente los datos personales de
los alumnos y las asignaturas en que se han matriculado en un curso:

                Direcciones (nombreAl, direcci´n, tel´fono)
                                              o      e

       Matr´
           ıculas (nombreAs, nombreAl, curso, n´mCr´ditos, nota)
                                               u   e

    El atributo nombreAl es una clave para la primera relaci´n. Una
                                                                 o
clave de la segunda la forman los atributos nombreAs y nombreAl.
    En realidad, no se han establecido las relaciones concretas entre las
entidades (para lo cual se requerir´ rellenar las tablas con los datos re-
                                   ıa
ales) sino s´lo el encabezamiento de cada tabla asociada al que llamamos
            o
esquema de la relaci´n.
                      o
   3
    Se supondr´ para simplificar que los nombres de los alumnos no pueden repetirse,
              a
y que tambi´n las asignaturas tienen nombres distintos.
           e
160                                       Cap´
                                             ıtulo 6. Bases de datos


    Las relaciones establecidas para describir nuestro modelo no son las
unicas posibles. De hecho, el planteamiento puede mejorarse f´cilmente,
´                                                             a
sustituyendo la ultima relaci´n por las dos siguientes:
                 ´           o

               Asignaturas (nombreAs, curso, n´mCr´ditos)
                                              u   e

                 Matr´
                     ıculas’ (nombreAl, nombreAs, nota)

en las que ya no se repiten el curso y n´mero de cr´ditos de cada asig-
                                        u          e
natura por cada alumno que se matricule en ella, mejorando el aprove-
chamiento de la memoria y la gesti´n posterior de ella en consultas y
                                     o
actualizaciones de la informaci´n.
                               o
    Este proceso (llamado normalizaci´n) no siempre resulta tan senci-
                                        o
llo. Sin embargo, mediante su empleo se llega a describir una base de
datos gracias a relaciones naturales y sin redundancias, con las ventajas
mencionadas.


6.4       Lenguajes asociados a los SGBD
    Visto el SGBD como un intermediario, deber´ proporcionar al admi-
                                                  a
nistrador un medio con que definir la base de datos durante su creaci´n o
                                                                      o
realizar posteriores reestructuraciones, de acuerdo con los nuevos reque-
rimientos, facilit´ndole el establecimiento de relaciones entre los datos.
                  a
Finalmente, deber´ poner al alcance del usuario toda la informaci´n para
                    a                                             o
que ´ste la manipule de un modo flexible y eficiente.
     e
    Los SGBD proporcionan lenguajes de alto nivel para que los usuarios
soliciten sus operaciones, ya que la propia base de datos oculta muchos
detalles de la representaci´n y el almacenamiento de las relaciones, y
                            o
dichos lenguajes pueden obviar esos detalles.
      Los lenguajes de los SGBD son en general de dos tipos:

      • Lenguajes de definici´n de datos
                            o
        Estos lenguajes recogen la descripci´n de los datos tal como la
                                               o
        concibe el usuario, esto es, la definici´n de los esquemas de la base
                                               o
161
6.4. Lenguajes asociados a los SGBD


     de datos. Como interpretaci´n de esas definiciones, producen el
                                  o
     diccionario de datos (v´ase 6.5) as´ como la forma real, a bajo
                             e          ı
     nivel, en que los datos se organizan en los distintos dispositivos
     f´
      ısicos, discos normalmente.

   • Lenguajes de manipulaci´n de datos
                            o
     Estos lenguajes permiten al usuario realizar operaciones tales como
     a˜adir informaci´n nueva en la base de datos, suprimir, modificar
      n               o
     o consultar la existente.
     Estas operaciones tienen una gran potencia, ya que los lenguajes
     de consulta modernos disponen de mecanismos para definir las
     operaciones m´s frecuentes. Por otra parte, tienen tambi´n una
                    a                                           e
     gran flexibilidad, estando dotados de medios para que el usuario
     pueda desarrollar programas de acuerdo con sus necesidades, ya
     sea ofreciendo lenguajes de programaci´n propios o bien enlazando
                                           o
     con lenguajes de programaci´n de alto nivel.
                                  o

6.4.1   Lenguajes relacionales
    Se han desarrollado dos enfoques de los lenguajes relacionales: el
a
´lgebra relacional y el c´lculo relacional, aunque la mayor´ de los len-
                         a                                 ıa
guajes de consulta comercializados actualmente incluyen caracter´ısticas
de ambos. Entre ellos, es obligado citar el SQL (Structured Query Lan-
guage), que funciona tanto en bases de datos desarrolladas para mi-
crocomputadores, como en otras para minis y mainframes, tales como
Informix-SQL, Ingres y Oracle. A continuaci´n presentamos brevemente
                                              o
los enfoques mencionados en el estilo de SQL.

   • En los lenguajes basados en el ´lgebra relacional las operaciones
                                     a
     se realizan con tablas y su resultado es tambi´n una tabla. Las
                                                   e
     principales son las siguientes:

        – La operaci´n de selecci´n extrae de una relaci´n las tuplas
                    o             o                     o
          que verifican cierto predicado. Por ejemplo:
                                       ıculas’, nota ≥ 5)
                        selecci´n (Matr´
                               o
162                                       Cap´
                                             ıtulo 6. Bases de datos


             consiste en la relaci´n de las papeletas de aprobado; en cada
                                  o
             una se consigna el nombre de un alumno, una asignatura y la
             nota obtenida. El esquema de la relaci´n obtenida es
                                                     o
                     nombreAl, nombreAs, nota, convocatoria
             que coincide con el de la relaci´n Matr´
                                             o      ıculas’.
           – La proyecci´n extrae de una relaci´n las columnas que se indi-
                        o                      o
             quen, eliminando las filas repetidas en la relaci´n resultante.
                                                             o
             Por ejemplo:
              proyecci´n (Matr´
                      o       ıculas, nombreAs, curso, n´mCr´ditos)
                                                         u   e
             coincide con la relaci´n de Asignaturas.
                                   o
           – La concatenaci´n de dos relaciones que tengan alguna co-
                           o
             lumna en com´n consiste en otra tabla, que pivota en la(s)
                          u
             columna(s) com´n(es). Por ejemplo, la relaci´n Matr´
                            u                            o       ıculas
             podr´ obtenerse as´
                 ıa            ı:
                        concatenaci´n (Matr´
                                   o       ıculas’, nombreAs)

        Considerando que una tabla es un conjunto de tuplas, el algebra
                                                                   ´
        relacional tambi´n incluye las operaciones conocidas de uni´n, in-
                         e                                          o
        tersecci´n y diferencia (de conjuntos de tuplas), entre relaciones
                o
        con la misma estructura.

      • Los lenguajes basados en el c´lculo relacional son declarativos: las
                                     a
        consultas se expresan especificando la informaci´n deseada me-
                                                           o
        diante el c´lculo de predicados de primer orden. Por ejemplo, la
                   a
        definici´n siguiente
               o

         { n, d  | ∃ t (( n, d, t ∈ Direcciones) ∧
                             ∀ a, c(( n, a, c ∈ Matr´
                                                      ıculas’) ⇒ (c ≥ 9))}

        facilitar´ la relaci´n de aquellos alumnos que han obtenido un so-
                 ıa         o
        bresaliente en todas las asignaturas de las que se han matriculado,
        junto con su direcci´n.
                              o
163
6.5. Elementos de un SGBD


6.5    Elementos de un SGBD
    Siguiendo la presentaci´n por capas que se hizo de los sistemas ope-
                           o
rativos, en una base de datos pueden distinguirse tres niveles:

   • El m´s bajo se encuentra directamente sobre el sistema operativo,
         a
     y consiste en los archivos de datos, los de ´
                                                 ındices y el diccionario
     de datos:

        – Los archivos de ´ındices tienen id´ntico cometido al del ´
                                            e                      ındice
          de un libro, permitiendo localizar r´pidamente un registro a
                                               a
          trav´s de su direcci´n (p´gina) en un archivo de datos (libro).
              e               o     a
        – El diccionario de datos es un archivo que contiene la des-
          cripci´n de la estructura de los archivos de datos a los tres
                o
          niveles; esto es, de los distintos esquemas de la base de datos.

   • El nivel intermedio es el del sistema de gesti´n propiamente dicho,
                                                   o
     y comprende los siguientes m´dulos:
                                    o

        – Un programa compilador para el lenguaje de definici´n de
                                                                o
          datos, que construye (o modifica) el diccionario de datos.
        – Un int´rprete del lenguaje de consultas: cuando las instruc-
                 e
          ciones del lenguaje de manipulaci´n de datos se insertan entre
                                            o
          sentencias de otros lenguajes de alto nivel, el precompilador
          traduce esas instrucciones al lenguaje de alto nivel.
        – Un programa gestor de la base de datos, que es el intermedia-
          rio entre los archivos, que contienen informaci´n a bajo nivel
                                                         o
          estructurada conforme al diccionario de datos, y los progra-
          mas que acceden a ellos a un nivel m´s alto.
                                                 a
        – Es corriente que los SGBD faciliten rutinas de reorganizaci´n
                                                                     o
          y generaci´n de ´
                    o      ındices de los registros de la base de datos
          siguiendo ciertos criterios.
        – Frecuentemente se incluye un optimizador que, bas´ndose en
                                                                 a
          las definiciones de las tablas y los ´
                                              ındices, crea el camino m´s
                                                                       a
          eficiente de acceso a los datos. Este camino se construye en
          un paso de la compilaci´n de un programa de alto nivel o en
                                   o
164                                        Cap´
                                              ıtulo 6. Bases de datos


              el momento de la ejecuci´n. Este m´dulo permite al usuario
                                       o           o
              desentenderse de los detalles de nivel f´
                                                      ısico.
           – Muchos SGBD ofrecen tambi´n diversas rutinas de generaci´n
                                          e                            o
             de programas, tales como formatos de pantalla, generaci´n de
                                                                    o
             etiquetas, listados o informes a medida.
           – Otro aspecto de gran desarrollo en la actualidad son las lla-
             madas herramientas CASE4 , cuyo objetivo es facilitar el des-
             arrollo y mantenimiento de programas de cierta envergadura.
       • En el nivel m´s alto se encuentran el administrador y los usuarios
                      a
         de la misma:
           – El administrador de la base de datos es la persona que redefine
             el esquema de la base de datos en las sucesivas modificaciones.
             Adem´s, concede o deniega a los distintos usuarios el acceso
                   a
             a toda la base de datos o a parte de ella.
           – Los usuarios pueden tener diferentes niveles de especializa-
             ci´n, con diferentes grados de acceso a la base de datos.
               o
             Si tomamos como ejemplo la base de datos de un banco, el ni-
             vel menos especializado lo representa un cliente, capaz de con-
             sultar los datos de su cuenta o modificarlos como consecuen-
             cia de una transacci´n efectuada en un cajero autom´tico.
                                   o                                  a
             En un nivel intermedio se hallar´ los empleados, autoriza-
                                               ıan
             dos a realizar consultas y movimientos m´s complejos. Los
                                                         a
             programadores de aplicaciones se hallar´ en el nivel m´s
                                                       ıan                a
             especializado.

6.6        Ejercicios
   1. Los campos de un registro de un archivo pueden definirse mediante su
      tama˜o (m´ximo), es decir, su n´mero de caracteres o de d´
           n     a                      u                           ıgitos ente-
      ros y decimales. En este supuesto, fije el tama˜o que tienen los campos
                                                     n
      correspondientes a los siguientes datos: nombre, apellidos, domicilio, po-
      blaci´n, provincia, c´digo postal y tel´fono.
           o               o                 e
   4
   Computer Aided Software Engineering: ingenier´ de la programaci´n asistida por
                                                ıa                o
computador.
165
                         ´
6.7. Comentarios bibliograficos


   2. Se desea gestionar una videoteca mediante una base de datos, mante-
      niendo datos sobre los clientes y las cintas. Se considera la posibilidad
      de consultar la base de datos para conocer en un momento dado las
      existencias por temas, autores y actores.

         • Describa los niveles de visi´n y conceptual seg´n las normas del
                                       o                  u
           ANSI/SPARC.
         • Identifique unos atributos apropiados para caracterizar las entida-
           des “clientes” y “cintas”.
         • Identifique las relaciones 1:1, 1:m y m:m que existan.
         • Construya un diagrama E-R.
         • Construya el esquema de relaci´n correspondiente.
                                         o

   3. Encuentre un sistema de gesti´n de bases de datos e identifique sus ca-
                                     o
      racter´
            ısticas, valorando en qu´ medida alcanza los objetivos propuestos
                                    e
      por los SGBD, cu´les son los elementos que posee y sus limitaciones.
                         a
   4. En la base de datos referida a una carrera universitaria utilizada como
      ejemplo del modelo relacional se define la siguiente relaci´n
                                                                o

        Notas ≡ (nombreAl, curso, grupo, nombreP, nombreAs, feb, mayo,
                                     final)

      de cada alumno, en cada asignatura, con sus calificaciones de febrero,
      mayo y final. Se ha aprovechado la tabla para incluir el nombre del
      profesor que imparte la asignatura en ese grupo.

         • Mejore el planteamiento para evitar que se repita el nombre del
           profesor cada vez que aparezca un alumno suyo.
         • Evite asimismo la repetici´n del curso y grupo de cada alumno cada
                                     o
           vez que aparece una asignatura.

   5. Actuando como administrador de la base de datos del ejercicio anterior,
      establezca a qu´ informaci´n pueden acceder: un alumno, un profesor, el
                     e          o
      personal de administraci´n, el jefe de estudios y el director del centro.
                              o


6.7     Comentarios bibliogr´ficos
                            a
   Las bases de datos constituyen, ya se ha dicho, un area de directa aplicaci´n
                                                      ´                       o
en muy diversos campos del mundo empresarial. Pero tampoco puede negarse
166                                          Cap´
                                                ıtulo 6. Bases de datos


la contribuci´n de los SGA, que tambi´n han evolucionado considerablemente,
             o                          e
ofreciendo un elevado nivel, muy cercano a los problemas reales, proporcionando
un ambiente sencillo, apto para su uso por no profesionales de la inform´tica.
                                                                          a
Un ejemplo de SGA es el dBase, cuyo reducido coste, sencillo manejo y escasos
requerimientos f´ısicos la hacen tremendamente asequible. Entre los numerosos
libros que se han escrito sobre ella, encontramos en [Bye90] una referencia
b´sica y pr´ctica de la versi´n III plus.
  a        a                  o
     Entre las bases de datos relacionales que funcionan en PC’s bajo DOS,
deben mencionarse tambi´n Oracle y DB2/2. Aunque su medio principal son los
                           e
entornos grandes, es posible usarlas en microcomputadores con fines educativos
(lo que contribuye por otra parte a su difusi´n), as´ como en la fase de desarrollo.
                                             o      ı
En [MW83] se introducen informalmente los conceptos b´sicos de las bases de
                                                            a
datos relacionales, revis´ndose igualmente algunas de amplia difusi´n.
                         a                                              o
    Posiblemente, SQL es el lenguaje de consulta de bases de datos m´s exten-
                                                                     a
dido en la actualidad (DB2, Oracle, Informix, Arity, RDB, etc.) En [HH89] se
presenta este lenguaje, desde su fundamentaci´n en la l´gica del primer orden
                                              o        o
hasta su utilizaci´n en algunos SGBD comercializados.
                  o
    Entre los numerosos textos sobre esta tem´tica, indicamos [KS93], [Dat93]
                                             a
y [MP93], muy completos y actualizados.
    En los a˜os noventa ha surgido un nuevo enfoque de bases de datos, el de
            n
las orientadas al objeto, que est´ despertando un vivo inter´s y tiene una gran
                                 a                          e
y r´pida acogida. [SH90] es un estudio comparado de sus principios con los del
   a
modelo relacional.
Cap´
   ıtulo 7

Historia de los
instrumentos de c´lculo
                 a
   7.1   Precursores de los computadores digitales . . .     .   .   .   .   .   .   .   .   .   167
   7.2   Nacimiento de los computadores . . . . . . . .      .   .   .   .   .   .   .   .   .   171
   7.3   Evoluci´n de los lenguajes y de la metodolog´
                o                                      ıa    .   .   .   .   .   .   .   .   .   175
   7.4   Tecnolog´ actual, tendencias y perspectivas . .
                  ıa                                         .   .   .   .   .   .   .   .   .   176
   7.5   Comentarios bibliogr´ficos . . . . . . . . . . . .
                              a                              .   .   .   .   .   .   .   .   .   179



    El nacimiento de la Computaci´n, tal como la vemos hoy d´ es re-
                                    o                           ıa,
cient´
     ısimo (apenas tiene medio siglo de edad), e incluso est´ en pleno
                                                              a
desarrollo; por eso, junto al inter´s que despierta el origen de los ins-
                                   e
trumentos de c´lculo y la inform´tica, surge la necesidad de conocer,
                a                  a
siquiera someramente, su alcance en la actualidad, as´ como la de ima-
                                                       ı
ginar las expectativas de futuro previsibles.


7.1      Precursores de los computadores digitales
7.1.1    La antig¨ edad
                 u
    Desde que los hombres aprendieron a contar han necesitado apoyarse
en el c´lculo para manipular cantidades y buscar m´todos para facili-
       a                                            e
tarlo. Estos m´todos fueron bastante rudimentarios hasta que los sabios
               e
168     Cap´                                         ´
           ıtulo 7. Historia de los instrumentos de calculo


y astr´nomos hind´es recogieron la herencia greco-babil´nica inventando
      o          u                                     o
la numeraci´n posicional actual.
           o
    Con el desarrollo de esos m´todos, fue necesario anotar n´meros (ya
                               e                              u
fueran considerados datos, cantidades auxiliares o resultados finales),
apareciendo as´ los primeros instrumentos de c´mputo: el uso de los
               ı                                  o
dedos con tal objeto condujo a las primeras t´cnicas de c´lculo digital; y
                                             e           a
parecida finalidad tuvo el uso de piedras (calculi, t´rmino latino del que
                                                    e
procede la palabra c´lculo) entre los romanos, el de los nudos (quipa)
                      a
sobre una cuerda, o las muescas practicadas por diversos pueblos sobre
varas de madera.
    Desde entonces, los avances se han debido a progresos en los m´todos,
                                                                  e
en los instrumentos y en la integraci´n de ambos.
                                     o
    Dos utensilios de esta ´poca merecen ser citados: la m´quina anal´-
                            e                               a         o
gica de Antic´ıteros, precursora de los calendarios astron´micos bizanti-
                                                          o
nos; y especialmente el ´baco, que apareci´ entre el tercer y el primer
                          a                  o
milenio a. C., y puede ser considerado como la primera m´quina digital,
                                                           a
ya basada en la numeraci´n posicional.
                           o

7.1.2    Antecedentes del c´lculo mec´nico
                           a         a
    Los aut´matas de reloj que todav´ adornan los campanarios de las
           o                           ıa
iglesias medievales (a partir de finales del s. XIII) son automatismos
mec´nicos dise˜ados para reproducir una secuencia fija de movimientos.
     a         n
Precisamente se les ha llamado aut´matas de programa interior para
                                      o
expresar as´ que la serie de sus movimientos est´ intr´
           ı                                    a     ınsecamente descrita
en su maquinaria.

7.1.3    La m´quina de Pascal
             a
    Hacia la mitad del s. XVII, Pascal construy´ una calculadora, capaz
                                               o
de sumar y restar, bas´ndose en la pieza fundamental de los engranajes
                       a
de los molinos: la rueda dentada. El funcionamiento de la m´quina de
                                                              a
Pascal puede compararse al de un cuentakil´metros: cada rueda posee
                                             o
diez posiciones y, a cada vuelta, provoca en la siguiente un arrastre de
una posici´n.
          o
169
7.1. Precursores de los computadores digitales


    Son directos descendientes de la m´quina de Pascal las m´quinas
                                       a                       a
electromec´nicas de oficina, hoy ya en desuso, y las UAL de los actuales
          a
computadores, cambiando las ruedas dentadas por circuitos electr´nicos.
                                                                o
   En 1673, Leibnitz perfeccion´ la m´quina de Pascal, incorpor´ndole
                                 o    a                         a
la multiplicaci´n (por adici´n repetida del multiplicando en diferentes
               o            o
o
´rdenes decimales) y la divisi´n.
                              o
    Las rudimentarias operaciones que facilitaban estos aparatosos ins-
trumentos no compensaban su costosa construcci´n. Por ello, los pro-
                                                  o
gresos consistieron en perfeccionamientos menores hasta finales del siglo
XIX, en que se supo incorporar a las m´quinas de c´lculo una aportaci´n
                                      a           a                  o
procedente de la industria textil.

7.1.4    La m´quina de Babbage
             a
    Las m´quinas de Pascal y Leibnitz se consideran de programa exte-
          a
rior, debido a que las instrucciones son aportadas por el hombre junto
con los datos, como ocurre con las calculadoras m´s simples. No obs-
                                                   a
tante, sus instrucciones son demasiado simples como para poder consi-
derarse un programa. Esta noci´n apareci´ cabalmente con la m´quina
                                 o        o                     a
de Jacquard, mec´nico franc´s que en 1790 concibi´ la idea de un telar
                  a          e                     o
autom´tico, capaz de tejer sus dibujos obedeciendo secuencias de ins-
       a
trucciones previamente registradas en tarjetas perforadas. El telar de
Jacquard fue construido en 1800, y ha revolucionado la industria textil,
pero el inter´s que tiene para nosotros es la aportaci´n del verdadero
             e                                        o
concepto de programa exterior, tal como lo entendemos actualmente.
    En el s. XIX, C. Babbage concibi´ su M´quina Anal´
                                      o      a           ıtica (1834), ca-
paz de seguir las secuencias de instrucciones proporcionadas desde el ex-
terior (como los datos), previamente registradas en tarjetas perforadas.
El modus operandi de la m´quina de Babbage consist´ en ir leyendo
                             a                          ıa
tarjetas (descriptoras de operaciones) y ejecut´ndolas sucesivamente.
                                                a
   La gran aportaci´n de Babbage consiste en reunir las dos siguientes
                   o
caracter´
        ısticas:
   • la flexibilidad de las calculadoras de Pascal y Leibnitz, que operan
     sobre distintos datos, pero carecen de automatismo, estando su
170       Cap´                                         ´
             ıtulo 7. Historia de los instrumentos de calculo


        velocidad siempre limitada por la lentitud de introducir los datos
        y las operaciones

      • el automatismo de los aut´matas de reloj, que no requieren la in-
                                  o
        tervenci´n humana, por lo que funcionan sin interrupci´n, aunque
                o                                             o
        carecen de flexibilidad, ya que cada secuencia de movimientos re-
        quiere el dise˜o de una m´quina distinta.
                      n           a

    Babbage no pudo terminar la construcci´n de su m´quina de diferen-
                                           o          a
cias. Repetidamente se ha sostenido que la complejidad de esta m´quina
                                                                a
rozaba probablemente los l´ımites de la mec´nica; sin embargo, estudios
                                            a
recientes [Swa93] demuestran que su dise˜o era completamente viable.
                                         n
   En el dise˜o de la m´quina de diferencias se definen los organos
               n           a                               ´
esenciales de cualquier sistema computacional actual:

                   Entrada           de instrucciones y datos
                   Almac´n
                         e                   memoria
               Unidad de Control     con su actual cometido
                    Molino              calculador, U.A.L.
                    Salida           con su actual cometido

      Por ello se le ha llamado el “Padre de la Computaci´n moderna”.1
                                                         o

7.1.5      La tabulaci´n mec´nica
                      o     a
    El desarrollo de los estados modernos fue lo que determin´ la nece-
                                                                o
sidad de procesar grandes vol´menes de datos: siguiendo un mandato
                               u
constitucional en EE.UU., era necesario realizar un censo de la poblaci´no
cada diez a˜os. En 1886 se hizo patente la imposibilidad de obtener los
            n
resultados del censo de 1880 antes de 1890. Consciente de esta situaci´n,
                                                                        o
Hollerit, funcionario de la oficina de censos, ide´ un sistema de tabu-
                                                  o
laci´n de los datos basado en tarjetas perforadas similares a las del telar
    o
de Jacquard.
  1
    Entre los muchos campos que abarc´ Babbage citamos los primeros m´todos que
                                         o                           e
posteriormente originaron la Investigaci´n Operativa.
                                        o
171
7.2. Nacimiento de los computadores


    Con su sistema, Hollerit consigui´ procesar el censo de 1890 en la
                                       o
cuarta parte del tiempo requerido para el de 1880. Su m´todo fue tan
                                                          e
eficiente que abandon´ la Oficina de Censos, e inaugur´ una compa˜´ de
                       o                             o            nıa
desarrollo de m´quinas electromagn´ticas (incorporando a su invento los
                a                   e
avances en electromec´nica y electricidad, construidos para perfeccionar
                       a
el tel´fono) que fue la precursora de la actual IBM.
      e

   Con el desarrollo de los computadores, las tarjetas perforadas pasa-
ron a ser uno de los principales soportes de la informaci´n, situaci´n que
                                                         o          o
perdur´ hasta finales de los a˜os setenta.
       o                       n


7.2     Nacimiento y evoluci´n de los
                            o
        computadores digitales
    En la primera mitad del siglo XX, gracias a los avances en tecnolog´
                                                                       ıa
electr´nica, se crearon las primeras calculadoras electromec´nicas, que
      o                                                       a
funcionaban a base de rel´s.
                          e

    Al poseer los rel´s dos estados (abierto y cerrado), constituyen el ele-
                     e
mento ideal para representar los dos d´ ıgitos de la numeraci´n binaria (0
                                                              o
y 1), y tambi´n los dos valores l´gicos (verdadero y falso) del algebra de
             e                   o                               ´
Boole. Por ello, los rel´s pueden considerarse elementos de memoria ca-
                        e
paces de albergar resultados parciales. Adem´s, estos instrumentos eran
                                                a
capaces de seguir secuencias de instrucciones almacenadas previamente
sobre tarjetas perforadas.

    Los primeros computadores que funcionaron a base de tecnolog´
                                                                ıa
el´ctrica fueron:
  e

  1. En 1943, el Harvard Mark I, con rel´s electromagn´ticos.
                                        e             e

  2. En 1943, el Colosus I, considerado como el primer computador
     electr´nico, a base de (200) v´lvulas, dise˜ado durante la II Gue-
           o                       a            n
     rra Mundial para descifrar los mensajes del encriptador alem´n a
     Enigma.
172       Cap´                                         ´
             ıtulo 7. Historia de los instrumentos de calculo


   3. En 1946, el ENIAC,2 tambi´n a base de (18.000) v´lvulas, dise˜ado
                                e                     a            n
      para confeccionar tablas bal´
                                  ısticas.
   A partir de los rel´s, la lenta mec´nica fue poco a poco desplazada
                        e               a
por la electricidad: el tubo de rayos cat´dicos, el transistor, los circuitos
                                          o
impresos y m´s tarde integrados, etc.
               a
    En realidad, estas m´quinas estaban programadas al m´s bajo nivel
                         a                                 a
(en t´rminos de direcciones f´
     e                        ısicas de memoria, etc.) para desempe˜ ar
                                                                    n
tareas muy espec´ ıficas. Por ello, carec´ por completo de versatilidad,
                                        ıan
debido a la dificultad que entra˜aba reprogramarlas.
                                 n

7.2.1      El modelo de von Neumann
   En 1945, von Neumann dio el paso definitivo, incorporando a las
m´quinas de rel´s de entonces los dos siguientes conceptos:
 a             e
   1. Programa registrado, utilizando la memoria del calculador para
      almacenar el programa de instrucciones junto con los datos.
   2. Ruptura (condicional) de secuencia, es decir, capacidad autom´ti-
                                                                    a
      ca de decisi´n: dependiendo de cierto valor se ejecutar´ una parte
                  o                                          ıa
      del programa u otra.
   En 1945, von Neumann defini´ su modelo de computador,3 que es en
                                 o
esencia el que funciona en nuestros d´ con dos caracter´
                                     ıas,              ısticas:
   1. La secuencialidad en la transmisi´n y tratamiento de los datos
                                       o
   2. La codificaci´n de instrucciones mediante impulsos electromagn´-
                  o                                                e
      ticos, reemplazando el cableado

7.2.2      Generaciones tecnol´gicas
                              o
    Las m´quinas basadas en el modelo de von Neumann se comercia-
          a
lizaron en los a˜os cincuenta (1952-55) y, desde entonces, la carrera ha
                n
sido y sigue siendo imparable. De esta d´cada parten las siguientes ge-
                                         e
neraciones tecnol´gicas:
                  o
  2
      Electronic Numerical Integrator And Calculator.
  3
      Tambi´n conocido como M´quinas de von Neumann.
            e                   a
173
7.2. Nacimiento de los computadores


Primera generaci´n
                o
    Las v´lvulas electr´nicas desplazaron a los rel´s, y los computadores
           a           o                           e
adquirieron velocidad y potencia. Citamos entre los computadores de la
primera generaci´n el ENIAC, terminado en 1946, y el UNIVAC,4 pri-
                  o
mera m´quina con la arquitectura de von Neumann. El modus operandi
         a
era el siguiente:

      • carga del programa y los datos, previamente perforados (T1 )

      • ejecuci´n (T2 )
               o

      • salida de los resultados (T3 )

   El tiempo total invertido es la suma T1 + T2 + T3 . Las fases pri-
mera y tercera se llaman tiempos de ocio del procesador, porque en ellos
permanec´ inactivo.
         ıa

Segunda generaci´n
                o
    El aumento de potencia se debe a una innovaci´n de los laboratorios
                                                   o
Bell en 1948: el transistor. En cuanto al modo de trabajar, se introdujo
la simultaneidad de las operaciones de c´lculo con las de carga y salida,
                                         a
reduci´ndose los per´
       e             ıodos de ocio del procesador.
    Para aumentar la velocidad de las operaciones de carga/salida, que
retrasaban todo el proceso, se introdujo el uso de cintas magn´ticas,
                                                                 e
m´s r´pidas que las tarjetas perforadas. Este modo de trabajar se llama
  aa
off-lining.

Tercera generaci´n
                o
    Tecnol´gicamente, los avances en velocidad y potencia se deben a la
          o
incorporaci´n de circuitos integrados (1952) y memorias de semiconduc-
           o
tores (1971).
  4
      UNIVersal Automatic Computer.
174       Cap´                                         ´
             ıtulo 7. Historia de los instrumentos de calculo


    En esta generaci´n el trabajo se caracteriza por explotar la simul-
                     o
taneidad del procesamiento con las operaciones de entrada/salida me-
diante la multiprogramaci´n, consistente en que varios programas co-
                           o
existen en memoria, y cuando uno de ellos debe realizar una operaci´n  o
de entrada/salida, el procesador no se detiene, sino que se dedica a otro
programa. As´ la UCP nunca est´ ociosa habiendo trabajo por hacer,
               ı,                  a
facilit´ndose adem´s la asignaci´n de prioridades a los programas que se
       a          a             o
encuentran a la espera.

Cuarta generaci´n
               o
    Se incorporan nuevas tecnolog´ de fabricaci´n y de integraci´n de
                                   ıas           o                 o
los componentes f´
                 ısicos entre s´ (VLSI: Very Large Scale of Integration).
                               ı
      En cuanto a la explotaci´n, se generalizan:
                              o

   • el teleprocesamiento: extensi´n del sistema de carga y proceso
                                  o
     a terminales remotas, sacando partido de la asignaci´n de prio-
                                                         o
     ridades.

   • los sistemas interactivos o conversacionales: los usuarios intervie-
     nen en el desarrollo de las sucesivas etapas, lo que trae consigo
     una mayor flexibilidad en la modificaci´n y puesta a punto de
                                              o
     programas.

      • el tiempo compartido, con lo que se mejora el tiempo medio de
        respuesta.

      • esta generaci´n se corresponde cronol´gicamente con la difusi´n de
                     o                       o                       o
        los llamados computadores personales.
175
7.3. Evolucion de los lenguajes y de la metodolog´
            ´                                    ıa


7.3     Evoluci´n de los lenguajes y de la
               o
        metodolog´ıa
    Mientras tanto, a partir de los a˜os cincuenta, los lenguajes tambi´n
                                     n                                 e
emprenden la carrera de su evoluci´n particular: para evitar la codifi-
                                     o
caci´n de programas a bajo nivel, es preciso que sea la m´quina la que
    o                                                       a
adquiera lenguajes pr´ximos al humano.
                      o
    A la aparici´n del FORTRAN (FORmula TRANslator system) si-
                o
guieron el Algol y el Cobol, intentando acercarse a un lenguaje univer-
sal. La avalancha posterior de lenguajes y dialectos demostr´ que esas
                                                            o
tentativas de universalidad resultaron vanas.
    Por otra parte, la actividad de la programaci´n experiment´ en los
                                                  o              o
a˜os sesenta un desarrollo mucho m´s r´pido que las t´cnicas emplea-
  n                                    aa                e
das en ´l; esta cr´
        e         ıtica situaci´n se conoce como crisis del software. No
                               o
exist´ una metodolog´ de la programaci´n: cada programador desarro-
     ıa                 ıa                o
llaba sus propios m´todos o “trucos” para programar, y se consideraba
                     e
a la programaci´n m´s como un arte que como una t´cnica. Muy pronto
                o     a                              e
surgi´ la necesidad de sistematizar la programaci´n, desarrollando he-
     o                                             o
rramientas y h´bitos de dise˜o met´dicos y disciplinados para conseguir
               a              n      o
que los programas fueran correctos, eficientes y mantenibles. La tesis
de la programaci´n estructurada y las aportaciones de Dahl, Dijkstra,
                  o
Hoare [DDH72] y el propio Wirth, vinieron a conferir a la programaci´no
un car´cter de disciplina.
       a
    Aparece as´ la programaci´n estructurada y modular y comienzan a
                 ı             o
aplicarse t´cnicas de dise˜o de algoritmos como el m´todo de los refi-
           e               n                          e
namientos sucesivos. En este contexto nace el lenguaje Pascal, que fue
creado con el prop´sito de ense˜ar a programar de una forma met´dica y
                   o            n                               o
disciplinada. De hecho, se considera como un lenguaje ideal para entrar
en contacto con la programaci´n, por lo que es el primero que muchas
                                o
universidades vienen ense˜ando durante a˜os. Los nuevos lenguajes de
                           n                n
programaci´n que aparecen a partir de los a˜os setenta incorporan estas
            o                                 n
t´cnicas, facilitando su desarrollo y aplicaci´n.
 e                                            o
   Posteriormente, los lenguajes de programaci´n han seguido evolucio-
                                              o
nando, y paralelamente las t´cnicas de desarrollo de algoritmos. En el
                            e
176     Cap´                                         ´
           ıtulo 7. Historia de los instrumentos de calculo


cap´
   ıtulo 5 se han recogido algunos de los modelos de programaci´n m´s
                                                               o   a
empleados.


7.4     Tecnolog´ actual, tendencias y
                ıa
        perspectivas
   A partir de la aparici´n del computador personal al principio de los
                         o
a˜os ochenta, la inform´tica ha dejado de ser un coto cerrado de un
 n                      a
grupo restringido de especialistas y se ha popularizado, alcanzando a
usuarios sin ning´n tipo de conocimientos previos en este ´rea.
                 u                                        a
    Hoy en d´ la Inform´tica est´ difundida por un sinf´ de sectores:
              ıa,          a        a                        ın
las finanzas, la gesti´n, la investigaci´n, el control de procesos industria-
                     o                 o
les (dise˜o, concepci´n y fabricaci´n asistidas por computador), la edu-
         n            o             o
caci´n, la edici´n, la composici´n musical, etc., y el n´mero de usuarios
     o          o                o                       u
que utilizan la inform´tica en su trabajo o en su ocio sigue aumentando.
                       a
   En los pa´ desarrollados, cada d´ est´ m´s cercana la predicci´n
            ıses                   ıa   aa                       o
de “un computador en cada puesto de trabajo y en cada hogar”.
    Por ello, se hace necesario facilitar la relaci´n entre el usuario y el
                                                   o
computador y disminuir el tiempo de aprendizaje, y para lograrlo se
recurre a modelos m´s intuitivos que muestran al computador como
                      a
un escritorio o mesa de trabajo, a las aplicaciones como tareas y los
ficheros de datos como carpetas de documentos, mediante entornos de
tipo gr´fico (4.2.5).
       a
    A su vez, se ha dado una notable evoluci´n tecnol´gica: los com-
                                             o        o
putadores son cada vez m´s potentes y m´s baratos. Se puede afirmar
                         a               a
que esta evoluci´n es m´s r´pida en el campo del hardware que en el
                o      aa
software. Aparecen computadores con enormes posibilidades, pero los
programas capaces de aprovecharlas llegan con varios a˜os de retraso.
                                                      n
    La mayor capacidad de proceso est´ permitiendo la entrada de la
                                        a
inform´tica en campos en los que su presencia era limitada, y la creaci´n
       a                                                               o
de actividades enteramente nuevas, como son:

  1. Visi´n artificial: reconocimiento de formas
         o
177
7.4. Tecnolog´ actual, tendencias y perspectivas
             ıa


  2. Tratamiento de im´genes: correcci´n de aberraciones y defectos
                      a               o
     o
     ´pticos.

  3. Realidad virtual: s´ ıntesis de im´genes virtuales estereosc´picas,
                                       a                         o
     pel´
        ıculas virtuales.

  4. Comunicaciones: enlaces mediante m´dem, correo electr´nico, es-
                                           o                 o
     tablecimiento de redes integradas de comunicaciones (datos, sonido
     y v´
        ıdeo).

  5. Juegos: de rol, arcade, ajedrez.

  6. Simulaci´n de procesos
             o

  7. Multimedia: procesamiento de datos, sonido y v´
                                                   ıdeo integrados.

    De hecho, todo el mundo coincide en calificar este enorme desarro-
llo de la inform´tica como una verdadera revoluci´n de la informaci´n.
                a                                 o                 o
Como tal revoluci´n, tiene importantes repercusiones de ´
                   o                                     ındole econ´-o
mica y social. La utilizaci´n de la inform´tica genera un aumento de
                           o               a
la productividad y de la calidad de la producci´n. En consecuencia, las
                                               o
empresas se ven obligadas a informatizarse para poder competir en el
mercado. El aumento de la productividad puede significar tambi´n un
                                                                 e
aumento del desempleo o del ocio.
    Para imaginar c´mo ser´n los computadores del futuro, quiz´s lo m´s
                   o       a                                  a      a
razonable sea identificar las limitaciones de los computadores actuales,
e imaginar sus formas de superaci´n.
                                  o
    Por lo pronto, la naturaleza f´
                                  ısica de los componentes electr´nicos los
                                                                 o
limita en tama˜o y en velocidad. De ah´ que la investigaci´n se oriente
               n                           ı                  o
hacia la superaci´n de las configuraciones tradicionales (basadas en el
                  o
modelo de von Neumann) por otras arquitecturas y redes m´s avanzadas
                                                              a
(paralelas, neuronales, ...) llamadas a veces “arquitecturas de flujo de
datos” (v´ase el cap´
          e           ıtulo 3). En ellas, un programa no se compone de
instrucciones que se ejecutan “de arriba abajo”, sino de segmentos que
pueden “resolverse” en cuanto los datos precisos est´n disponibles. Los
                                                      e
datos fluyen a trav´s de complicadas redes, compitiendo por acaparar la
                    e
178       Cap´                                         ´
             ıtulo 7. Historia de los instrumentos de calculo


atenci´n de los recursos (principalmente los procesadores, que trabajan
      o
simult´neamente).
      a

7.4.1      Inteligencia artificial
    El ambicioso objetivo que se persigue es dotar a los computadores
del futuro con una serie de capacidades que se engloban bajo el t´rmino
                                                                  e
gen´rico de Inteligencia Artificial. Esta disciplina se ocupa en la actua-
    e
lidad de las siguientes areas de investigaci´n:
                        ´                   o

      • lenguajes naturales: s´
                              ıntesis del habla, identificaci´n del lenguaje
                                                            o
        hablado, traducci´n autom´tica
                         o          a
      • razonamiento y aprendizaje autom´ticos, sistemas expertos, de-
                                        a
        mostraci´n autom´tica
                o       a
      • programaci´n autom´tica
                  o       a

    Todas esas capacidades requieren, en general, un mayor estudio del
proceso cognitivo. En particular, todas ellas necesitan sustituir el empleo
de datos por el de conocimientos, lo que plantea el dif´ problema de
                                                          ıcil
su representaci´n.
               o

7.4.2      Las comunicaciones
    Otro aspecto de la inform´tica con tremendo auge en la actualidad
                              a
es el de las comunicaciones, ya que se abre la posibilidad de acceder a
la informaci´n de origen remoto, tratarla autom´ticamente y enviar los
             o                                  a
resultados a su lugar de origen.
   Para ello se crean redes de comunicaciones de mayor o menor cober-
tura, desde una sala o un edificio hasta redes nacionales o mundiales.
    Las aplicaciones de la teleinform´tica est´n cada d´ m´s extendidas
                                     a        a        ıa a
y ya casi empiezan a parecernos algo natural. Como ejemplos podemos
citar desde el uso de los cajeros autom´ticos hasta la posibilidad de
                                           a
efectuar reservas de avi´n o de hotel desde puntos remotos, la consulta
                        o
del cat´logo de una biblioteca en una ciudad de otro pa´ el correo
        a                                                  ıs,
electr´nico, etc.
      o
179
                         ´
7.5. Comentarios bibliograficos


7.5     Comentarios bibliogr´ficos
                            a
     [JM90] y [Ber86] son dos buenas recopilaciones, con car´cter general, so-
                                                                a
bre la historia pasada de los instrumentos de c´lculo, desde la calculadora de
                                                  a
Pascal hasta nuestros d´ [Ber86] es extraordinariamente entretenido, con un
                            ıas.
buen n´mero de an´cdotas y curiosidades sobre los padres de la computaci´n
        u             e                                                       o
moderna. Especialmente interesantes son las citas de escritos de von Neumann
recogidas en ´l.
              e
     En [Swa93] se presentan los avatares en que se vio envuelta la construcci´n
                                                                              o
de la m´quina anal´
        a            ıtica de Babbage, demostrando que el proyecto era viable, a
pesar de no verse finalizado: En este art´ ıculo se describe la construcci´n de la
                                                                         o
m´quina anal´
  a           ıtica con motivo del segundo centenario del nacimiento de Charles
Babbage, y de acuerdo con sus planos originales.
     Aunque los computadores digitales actuales tienen su origen en el modelo
de von Neumann (1945), la invenci´n del primer computador electr´nico es
                                      o                                  o
anterior, y se debe a J. V. Atanasoff, que construy´ el primer computador
                                                        o
digital entre 1937 y 1942. De hecho, es posible que los creadoes del ENIAC
copiaran algunas de sus ideas ([Mac88]).
     Sobre computaci´n avanzada en la actualidad y perspectivas de futuro de
                        o
la inform´tica pueden consultarse [Com87] y [Sim85]. [La 91] trata sobre este
          a
mismo tema, en relaci´n con las comunicaciones.
                          o
Ap´ndice A
  e

Introducci´n al DOS
          o

    El dos es, hoy en d´ el sistema operativo m´s difundido para com-
                       ıa,                     a
putadores PC de IBM y compatibles. Dada la gran difusi´n de ´stos,
                                                          o     e
se comprende la importancia que tiene conocer el dos.
    Aunque los PCs pueden comunicarse con otros a trav´s de redes, su
                                                           e
modo habitual de trabajar es aut´nomo, por lo que el dos es un sistema
                                  o
operativo monousuario. Su cometido (v´ase el cap´
                                          e          ıtulo 4) consiste en
gestionar los recursos del sistema, controlando el uso de los dispositivos
(como las unidades de disco, la impresora, el rat´n), administrando la
                                                   o
memoria principal y facilitando la ejecuci´n de programas y la organi-
                                            o
zaci´n de archivos dentro de los discos.
    o
    El dos es en realidad un programa (o mejor dicho un conjunto de
programas) grabado en un disco.1 Cuando se enciende un equipo, se
empieza cargando este programa en la memoria principal y se efect´anu
las tareas de puesta en marcha (v´ase la secci´n A.3); entonces entra en
                                   e           o
funcionamiento un int´rprete de mandatos, que espera las ´rdenes del
                       e                                     o
usuario (v´ase la secci´n A.2), y las va ejecutando sucesivamente.
           e           o
    Asumimos en adelante una configuraci´n con disco fijo (duro) en el
                                         o
que se encuentra este programa de arranque del dos, que es actualmente
el caso m´s habitual.
         a
   1
    De hecho, ´se es el significado de las siglas que forman su nombre: “Disk Operating
              e
System”, que quiere decir en ingl´s Sistema Operativo de Disco.
                                  e
182                               ´                   ´
                                Apendice A. Introduccion al DOS


A.1      Organizaci´n de recursos
                   o
A.1.1     Principales dispositivos
    Durante el trabajo con el dos, a veces necesitamos referirnos expl´  ı-
citamente a los perif´ricos; para ello, se emplean los siguientes t´rminos
                     e                                             e
en el lenguaje del dos:


             identificador                    perif´rico
                                                  e
                                               nulo
                 nul:
                                  consola = teclado + monitor
                 con:
          a: b: c: . . .                unidades de disco
            lpt1: = prn:                    impresora
             lpt2: . . .          otros dispositivos en paralelo
            com1: = aux:               dispositivo en serie
             com2: . . .            otros dispositivos en serie


    Todos los dispositivos pueden nombrarse omitiendo los dos puntos
finales, a excepci´n de las unidades de disco que deben llevarlos obliga-
                 o
toriamente.


A.1.2     Archivos
    Un archivo del dos no es m´s que un documento, aunque en vez de
                                 a
estar representado por una secuencia de letras escritas sobre papel, con-
siste en una secuencia de bytes (que representan caracteres igualmente)
grabados sobre una zona de un disco magn´tico. Dependiendo del con-
                                             e
tenido de los archivos, desde el punto de vista del dos, algunos archivos
son “de datos” y otros son “programas”, escritos en lenguaje de m´quina
                                                                  a
o del dos.

   Los archivos se nombran mediante palabras, llamadas identificadores,
formadas por letras, d´
                      ıgitos y los caracteres siguientes:

                   ~!@#$%^()-_{}’
183
               ´
A.1. Organizacion de recursos


Los identificadores de los archivos tienen dos partes: nombre (de un
m´ximo de ocho letras) y extensi´n (de un m´ximo de tres), siendo esta
  a                               o           a
ultima opcional. Al escribir el identificador de un archivo, estas dos
´
partes se separan mediante un punto. Usando la notaci´n EBNF (v´ase
                                                       o          e
el cap´
      ıtulo 5), esta descripci´n puede expresarse as´
                              o                     ı:

                  identificador ::= nombre[.extensi´n]
                                                  o

Ateni´ndonos a estas reglas, conviene elegir los nombres de los archivos
      e
relacionados con su contenido. En cuanto a las extensiones, su elecci´n
                                                                      o
depende del tipo de archivo; las m´s usuales son las siguientes:
                                  a

              extensi´n
                     o                uso habitual
                                  Programas ejecutables
              com exe
                               Lotes de ´rdenes (v. A.2.5)
                                        o
                 bat
                                 Programas del sistema
                 sys
                               C´digo fuente de programas
                                o
           bas pas cob
                                en Basic, Pascal o Cobol
                                    Archivos de texto
                txt

   L´gicamente, los identificadores usados para representar archivos no
    o
pueden coincidir con los identificadores propios de dispositivos.
    Con frecuencia, se necesita realizar ciertas operaciones con un grupo
de archivos m´s o menos grande. Si esos archivos fueron bautizados si-
              a
guiendo ciertas pautas, es posible identificarlos gen´ricamente mediante
                                                     e
un patr´n o plantilla de archivo. Para ello, se usan los caracteres co-
        o
mod´ * y ?, que representan respectivamente cualquier cadena de ca-
    ın,
racteres como terminaci´n del nombre o extensi´n, y un car´cter en
                         o                          o             a
cualquier posici´n del identificador. Por ejemplo:
                o

        Plantilla                    Interpretaci´n
                                                 o
                      archivo.com, archi-1.com, arch.com,. . .
       arch∗.com
                      c92-93.txt, c93-94.txt, c9a-9f.txt,. . .
      c9?-9?.txt
         ∗.exe            Todos los archivos con esa extensi´n
                                                            o
           ∗.∗                     Todos los archivos
184                                   ´                   ´
                                    Apendice A. Introduccion al DOS


A.1.3      Directorios
    El n´mero de archivos grabados en un disco llega con frecuencia a
        u
                                                        ´
ser enorme, por lo que se hace necesario clasificarlos. Este es el come-
tido de los directorios y subdirectorios, algo as´ como compartimentos
                                                 ı
y compartimentos dentro de compartimentos que permiten organizar
jer´rquicamente los archivos de un disco.
   a
    En general, los identificadores de los directorios siguen las mismas
reglas que los archivos, aunque en el caso de los directorios es bastante
frecuente omitir la extensi´n. Adem´s de los identificadores corrientes,
                           o         a
existen s´
         ımbolos especiales para indicar las siguientes posiciones:
                identificador                 posici´n
                                                   o
                                  el directorio principal o ra´
                                                              ız
                      
                                       el directorio actual
                      .
                                      el directorio “padre”
                     ..
    La comparaci´n de los directorios con compartimentos se refleja gr´-
                 o                                                     a
ficamente en el ejemplo de la figura A.1, donde los identificadores de los
directorios y subdirectorios se˜alan puertas (de entrada), y los archivos
                               n
est´n representados directamente por sus identificadores. Otro modo
   a
m´s sencillo e igualmente util de representarlos es como ´rboles, seg´n
  a                        ´                              a            u
se muestra en la figura A.2.
   Es importante tener en cuenta que los archivos contenidos en cada
unidad de trabajo est´n organizados en forma de arbol, por lo tanto,
                      a                          ´
cada unidad tiene su propio directorio ra´ y en todo momento cada
                                         ız
unidad tiene un directorio actual.
    Adem´s, es posible referirse a cualquier directorio o conjunto de ar-
          a
chivos indicando una ruta de acceso desde la posici´n actual, esto es, el
                                                     o
                     2 (v´ase 4.2.2). Con este fin, el s´
directorio de trabajo    e                             ımbolo  sirve para
concatenar los pasos hacia dicha posici´n.
                                        o
    As´ por ejemplo, considerando que el disco C: est´ organizado seg´n
       ı                                               a              u
la estructura anterior, es posible referirse a los archivos ejerci.tex y
examen.tex desde diversos lugares:
   2
    Esta posici´n se conoce frecuentemente como directorio “por defecto”, a causa de
               o
una traducci´n dudosa de su nombre default directory, en ingl´s.
            o                                                e
185
               ´
A.1. Organizacion de recursos

                               

                 escuela                command.com
                                         autoexec.bat
                grupo-C.dbf                config.sys
                ejerci.tex
                                           juegos
                examen.tex
                                          tetris.exe
                 cartas
                carta-2.txt
                                           keyb.com
                carta-1.txt
                                         keyboard.sys
                                            win.bat



                        Figura A.1.


  • Desde C:

                         escuela*.tex


  • Desde C:escuela

                               *.tex


  • Desde C:escuelacartas

                              ..*.tex


  • Desde C:escuelajuegos

                       ..escuela*.tex
186                   ´                   ´
                    Apendice A. Introduccion al DOS




      

          command.com
          config.sys
          autoexec.bat
          keyb.com
          keyboard.sys
          win.bat

            escuela

                       grupo-C.dbf
                       ejerci.tex
                       examen.tex

                          cartas

                                     carta-1.txt
                                     carta-2.txt

            juegos
                       tetris.exe


                    Figura A.2.
´                                                                            187
A.2. Ordenes del DOS


       • Desde cualquier lugar del disco C:

                                    escuela*.tex


       • Desde cualquier lugar, incluso desde otro disco:

                                   C:escuela*.tex

A.1.4        Prompt
    El prompt 3 es un indicador con el que el dos expresa que est´ es-
                                                                    a
perando nuestras ordenes, listo para ejecutarlas. El dos puede indicar
                  ´
esta disposici´n de diversas formas, a nuestro capricho, pero la m´s ex-
              o                                                    a
tendida consiste en recordar el disco de trabajo y la posici´n, dentro de
                                                            o
´l, en ese momento; suele finalizarse con el car´cter . Por ejemplo, el
e                                               a
prompt

                              C:ESCUELACLASES

indica que la posici´n de trabajo actual es el subdirectorio CLASES, del
                    o
directorio ESCUELA, en el disco C:. A la derecha del prompt aparece el
cursor, bajo nuestro control, para escribir la orden que deseemos.

            ´
A.2         Ordenes del DOS
   El sistema dos ofrece un int´rprete de mandatos que permite al
                                 e
usuario la comunicaci´n con el computador.
                     o
    Empecemos por poner unos cuantos ejemplos de ´rdenes, junto con
                                                       o
su funcionamiento. En adelante, usaremos letra de molde para reprodu-
cir el intercambio de informaci´n entre computador y usuario; lo escrito
                               o
por el computador aparece en letra vertical y lo escrito por el usuario en
letra oblicua:
   3
    Aunque en espa˜ol significa incitar o incitaci´n, s´lo usamos el t´rmino ingl´s, sin
                  n                              o    o              e          e
traducir.
188                              ´                   ´
                               Apendice A. Introduccion al DOS


C:CD pascal
C:PASCALA:
A:Dir *.CHI
      El volumen en la unidad A no tiene etiqueta
      El n´mero de serie del volumen es 335E-11EF
          u
      Directorio de A:

  ENTROPY       CHI    1633       21/06/93      9:08
  REGLAMEN      CHI    2204       27/06/93     20:07
  JUNIO-93      CHI    3425       29/06/93     17:03
              3   Archivo(s)     176640 bytes libres

A:FORMAT B:
 Comando o archivo no se encuentra
A:C:DOSFORMAT B:
... ... ...
A:CLS
    Debe advertirse que en el lenguaje del dos no se distingue entre las
letras may´sculas y las min´sculas. Esto afecta a los identificadores (ya
          u                  u
sea para dispositivos, archivos o directorios), as´ como a las ´rdenes que
                                                  ı            o
estudiaremos.
    Por otra parte, los comandos del dos pueden agruparse en dos ca-
tegor´ıas: ´rdenes (internas) del dos y programas (externos). El dos
           o
conoce las primeras, y es capaz de interpretarlas y ejecutarlas en cual-
quier momento; tambi´n es posible ordenar la ejecuci´n de un programa
                       e                             o
tras el prompt pero, para ejecutarlo, el dos debe leer el disco para pa-
sarlo a la memoria del computador. Por lo tanto, s´lo es posible ejecutar
                                                  o
programas grabados en un disco accesible por el dos.
    Por ejemplo: el cambio de unidad, las ordenes CLS, DIR y CD son
                                          ´
o
´rdenes internas; FORMAT en cambio es un programa. El inter´s de esta
                                                           e
observaci´n consiste en que, cuando se ordena un comando externo o
         o
programa, para que ´ste pueda ejecutarse deber´ darse alguna de las
                      e                        a
siguientes circunstancias:
´                                                               189
A.2. Ordenes del DOS


   - el programa deber´ estar en la unidad y directorio de trabajo ac-
                      a
     tual, o

   - se indicar´ su posici´n, para que el dos pueda encontrarlo, o
               a          o

   - estar´ en alguna de las posiciones conocidas de antemano por
          a
     el dos en los que busca las ´rdenes de uso frecuente (v´ase la
                                 o                          e
     secci´n A.2.3).
          o

   En los siguientes apartados se describir´n los comandos del dos m´s
                                           a                           a
usuales. Interesa saber de cada uno si es externo o interno, su prop´sito
                                                                    o
y su sintaxis correcta. Usaremos las reglas EBNF (introducidas en el
cap´
   ıtulo 5) escribiendo los s´
                             ımbolos terminales con letra vertical y los
no terminales con letra oblicua, en vez de distinguirlos con may´sculas
                                                                  u
y min´sculas, o de usar los metas´
      u                            ımbolos  y , por tener ´stos otro
                                                               e
cometido.
   As´ por ejemplo, podemos decir que la estructura general de las
      ı
o
´rdenes del dos es la siguiente:

                    comando [argumentos] [opciones]

donde la primera palabra es el nombre del comando, y aparece siempre;
los argumentos son los objetos que maneja la orden, frecuentemente ar-
chivos o directorios, y no siempre aparecen (por ejemplo, la orden CLS
no tiene argumentos); y las opciones son espec´ ıficas de cada comando,
como /W, y alteran el funcionamiento del mismo. En estas descripciones
sint´cticas aparecer´n con frecuencia los siguientes s´
    a                a                                ımbolos no termi-
nales:

   • Unidad : A:, B:, C:, . . .

   • La [posici´n], opcional, se indica cuando procede, dando una uni-
               o
     dad de disco y/o un camino de acceso, bien desde el directorio ra´
                                                                      ız
     (posici´n absoluta) o desde el (sub)directorio actual abierto en el
            o
     disco correspondiente (posici´n relativa):
                                   o

                                  [unidad][camino]
190                                 ´                   ´
                                  Apendice A. Introduccion al DOS


   • Archivo(s), que muchas veces se expresar´n de forma gen´rica me-
                                              a              e
     diante una plantilla o patr´n, usando los s´
                                o               ımbolos comod´ın.

      • Las opciones, tales como /B, /S, . . .

   Por otra parte, muchas de las ordenes incluyen en su sintaxis partes
                                    ´
opcionales, frecuentemente un disco, una posici´n dentro de ´l o un
                                                  o              e
conjunto de archivos. Cuando esas partes opcionales se omiten, se asume
que se trata del disco de trabajo actual, del (sub)directorio abierto, de
todos los archivos a la vista, etc.

            ´
A.2.1       Ordenes b´sicas
                     a
CLS (interna)

   • Prop´sito: Borra la pantalla, situando el prompt y el cursor en su
         o
     comienzo.

   • Sintaxis: CLS

Cambio de unidad (interna)

   • Prop´sito: Establece una nueva unidad de trabajo.
         o

   • Sintaxis: unidad

FORMAT (externa)

      • Prop´sito: Preparar un disco para ser usado por el dos, creando
              o
        el directorio (vac´ inicial.
                          ıo)

      • Sintaxis: [posici´n]FORMAT unidad [opciones]
                         o

   • Algunas de las opciones usadas con este comando son las siguientes:

           – /S, para transferir a un disco el sistema operativo, haciendo
             as´ posible iniciar el funcionamiento del dos con ese disco.
               ı
           – /V, para dar un nombre a un disco.
´                                                               191
A.2. Ordenes del DOS


A.2.2    Manejo de archivos
DIR (interna)
   • Prop´sito: Proporciona informaci´n sobre:
         o                           o

        – la posici´n especificada,
                   o
        – los archivos visibles en esa posici´n,
                                             o
        – las puertas (de acceso a directorios) a la vista, incluyendo el
          subdirectorio actual, desde la posici´n indicada,
                                               o
        – la memoria libre en una unidad.

   • Sintaxis: DIR [posici´n][archivo(s)] [/W][/P]
                          o

   • Ejemplo:

     C:PASCAL-6 DIR /w

         El volumen en la unidad C tiene etiqueta BLAISE
         El n´mero de serie del volumen es 0F1E-18DF
             u
         Directorio de C:PASCAL-6

     .            ..           TVISION     TVDEMOS
     UTILS        TURBO3       TURBO   EXE UNZIP              EXE
     README   COM TURBO    TPL TURBO   TP TPC                 EXE
     TPTOUR   EXE TPTOUR   CBT TPTOUR1 CBT TPTOUR_P           CBT
     TPTOUR   CBT TPTOUR_U CBT README      TURBO              HLP
     TPC      CFG NONAME00 PAS
            22 Archivo(s) 5171200 bytes libres


   • Opciones

        – /P sirve para parar la relaci´n de p´gina en p´gina.
                                       o      a         a
        – Con la opci´n /W, s´lo se da el identificador de cada archivo
                     o        o
          y se aprovecha la pantalla a lo ancho, con lo que la relaci´n
                                                                     o
          ocupa menos l´ıneas.
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd
Sgbd

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendoza
 
Laura Garcia y Camila Hernandez
Laura Garcia y Camila HernandezLaura Garcia y Camila Hernandez
Laura Garcia y Camila Hernandez
 
Ciberconsulta
CiberconsultaCiberconsulta
Ciberconsulta
 
Ciberconsulta
CiberconsultaCiberconsulta
Ciberconsulta
 
01 Introducion Bd
01 Introducion Bd01 Introducion Bd
01 Introducion Bd
 
Base de datos
Base de datosBase de datos
Base de datos
 
¿Qué funciones cumple un DBA?
¿Qué funciones cumple un DBA?¿Qué funciones cumple un DBA?
¿Qué funciones cumple un DBA?
 
Clase Base De Datos I
Clase Base De Datos IClase Base De Datos I
Clase Base De Datos I
 
Intro base de datos
Intro base de datosIntro base de datos
Intro base de datos
 
Tipos de BDD y SGBD
Tipos de BDD y SGBDTipos de BDD y SGBD
Tipos de BDD y SGBD
 
Sistemas manejadores de base de datos
Sistemas manejadores de base de datosSistemas manejadores de base de datos
Sistemas manejadores de base de datos
 
bases de datos
 bases de datos  bases de datos
bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 

Destacado

Presentación3
Presentación3Presentación3
Presentación3Marijo80
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Bryan Rodríguez
 
Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Carmen Soler
 
Mantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gMantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gCarmen Soler
 
Mapa conceptual 2
Mapa conceptual 2Mapa conceptual 2
Mapa conceptual 2Marijo80
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oraclevinivaldivieso
 

Destacado (8)

Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
Presentación3
Presentación3Presentación3
Presentación3
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
 
Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2
 
Mantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gMantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11g
 
Mapa conceptual 2
Mapa conceptual 2Mapa conceptual 2
Mapa conceptual 2
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
 

Similar a Sgbd

Similar a Sgbd (20)

Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendoza
 
BASES DE DATOS.pptx
BASES DE DATOS.pptxBASES DE DATOS.pptx
BASES DE DATOS.pptx
 
material bases de datos
material bases de datosmaterial bases de datos
material bases de datos
 
Doris aguagallo bdii_tarea1 (2)
Doris  aguagallo bdii_tarea1 (2)Doris  aguagallo bdii_tarea1 (2)
Doris aguagallo bdii_tarea1 (2)
 
Base de datos
Base de datosBase de datos
Base de datos
 
Tipos de bdd
Tipos de bddTipos de bdd
Tipos de bdd
 
Tipos de bdd
Tipos de bddTipos de bdd
Tipos de bdd
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
TIPOS DE BDD Y SGBD
TIPOS DE BDD Y SGBDTIPOS DE BDD Y SGBD
TIPOS DE BDD Y SGBD
 
Ensayo base de datos jean hernandez 29.807.063
Ensayo base de datos jean hernandez 29.807.063Ensayo base de datos jean hernandez 29.807.063
Ensayo base de datos jean hernandez 29.807.063
 
Base de datos
Base de datos Base de datos
Base de datos
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 
Trabajo bases de datos equipo 3 seccion 5
Trabajo bases de datos equipo 3 seccion 5Trabajo bases de datos equipo 3 seccion 5
Trabajo bases de datos equipo 3 seccion 5
 
Trabajo bases de datos equipo 3 sección 5
Trabajo bases de datos equipo 3 sección 5Trabajo bases de datos equipo 3 sección 5
Trabajo bases de datos equipo 3 sección 5
 
Base de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosBase de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Intro base de datos
Intro base de datosIntro base de datos
Intro base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 

Más de Jesamin

Tapicería oaxaquita
Tapicería oaxaquitaTapicería oaxaquita
Tapicería oaxaquitaJesamin
 
Tapicería Oaxaquita
Tapicería OaxaquitaTapicería Oaxaquita
Tapicería OaxaquitaJesamin
 
Trabajo Recepcional
Trabajo RecepcionalTrabajo Recepcional
Trabajo RecepcionalJesamin
 
Manual Project 2007 En Espanol
Manual Project 2007 En EspanolManual Project 2007 En Espanol
Manual Project 2007 En EspanolJesamin
 
Fuentes de financiamiento
Fuentes de financiamientoFuentes de financiamiento
Fuentes de financiamientoJesamin
 
Kardex S050121142
Kardex S050121142Kardex S050121142
Kardex S050121142Jesamin
 
Simposio en Sistemas Telemáticos y Organizaciones Inteligentes
Simposio en Sistemas Telemáticos y Organizaciones InteligentesSimposio en Sistemas Telemáticos y Organizaciones Inteligentes
Simposio en Sistemas Telemáticos y Organizaciones InteligentesJesamin
 

Más de Jesamin (9)

Tapicería oaxaquita
Tapicería oaxaquitaTapicería oaxaquita
Tapicería oaxaquita
 
Tapicería Oaxaquita
Tapicería OaxaquitaTapicería Oaxaquita
Tapicería Oaxaquita
 
Trabajo Recepcional
Trabajo RecepcionalTrabajo Recepcional
Trabajo Recepcional
 
Teclas
TeclasTeclas
Teclas
 
Manual Project 2007 En Espanol
Manual Project 2007 En EspanolManual Project 2007 En Espanol
Manual Project 2007 En Espanol
 
Fuentes de financiamiento
Fuentes de financiamientoFuentes de financiamiento
Fuentes de financiamiento
 
Tema 8
Tema 8Tema 8
Tema 8
 
Kardex S050121142
Kardex S050121142Kardex S050121142
Kardex S050121142
 
Simposio en Sistemas Telemáticos y Organizaciones Inteligentes
Simposio en Sistemas Telemáticos y Organizaciones InteligentesSimposio en Sistemas Telemáticos y Organizaciones Inteligentes
Simposio en Sistemas Telemáticos y Organizaciones Inteligentes
 

Último

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 

Último (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 

Sgbd

  • 1. Cap´ ıtulo 6 Bases de datos 6.1 Bases de datos y SGBD . . . . . . . . . . . . . . . . . . . . . . 151 6.2 El modelo entidad-relaci´n . . . . . . . o . . . . . . . . . . . . . . 155 6.3 Modelos de datos basados en registros . . . . . . . . . . . . . . 158 6.4 Lenguajes asociados a los SGBD . . . . . . . . . . . . . . . . . 160 6.5 Elementos de un SGBD . . . . . . . . . . . . . . . . . . . . . . 163 6.6 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 6.7 Comentarios bibliogr´ficos . . . . . . . a . . . . . . . . . . . . . . 165 6.1 Bases de datos y SGBD 6.1.1 Archivos y SGA En el cap´ ıtulo 2 se vio la posibilidad que tienen los computadores de trabajar con datos elementales (tales como n´meros reales, enteros, u caracteres y valores l´gicos) o de organizarlos en estructuras m´s com- o a plejas, tales como vectores o tablas. En el 4 se introdujeron los archivos como organizaci´n b´sica de la informaci´n, almacenada en un disposi- oa o tivo f´ ısico; entonces no fue preciso distinguir en ellos ning´n tipo de or- u ganizaci´n: pod´ considerarse como listas de elementos de caracteres. o ıan Ahora interesa considerar un archivo como una lista de datos del mismo tipo, cada dato de un archivo es un registro, y puede tener una estructura compuesta por varios datos de distinto tipo, llamados cam- pos. Considerando el fichero de los alumnos de un colegio como s´ ımil
  • 2. 152 Cap´ ıtulo 6. Bases de datos de archivo, cada ficha es un registro, y cada dato consignado en ella constituye un campo. La utilizaci´n de los archivos en inform´tica ha permitido desarrollar o a programas de aplicaci´n en areas muy diversas: el fichero de socios de o ´ una biblioteca, el de su fondo bibliogr´fico, el de clientes de cualquier a empresa, el de proveedores, el de art´ ıculos de un inventario, etc. Los programas desarrollados para gestionar archivos se llaman en general sistemas de gesti´n de archivos (SGA). Debido a su directa aplicabilidad, o la utilizaci´n de los archivos y los SGA han evolucionado much´ o ısimo en los ultimos a˜os, originando las bases de datos y, correspondientemente, ´ n los programas dedicados a su gesti´n.o 6.1.2 Bases de datos y SGBD Hablando en t´rminos muy amplios, una base de datos consiste en e una colecci´n de datos, organizados de forma integrada en archivos, junto o con un conjunto de programas dedicados a su gesti´n. Estos programas o forman los sistemas de gesti´n de bases de datos (SGBD). o Al igual que los SGA, los SGBD son programas destinados principal- mente a almacenar, manipular y recuperar la informaci´n, y desempe˜an o n operaciones que suelen tener lugar a diario: altas y bajas de clientes, apuntes en las cuentas bancarias, adquisici´n y p´rdida de libros o su o e pr´stamo y devoluci´n, elaboraci´n de informes sobre los clientes o so- e o o cios morosos, sobre las calificaciones de los alumnos de un curso en una asignatura y un largo etc´tera. e Sin embargo, en los SGA el programador deb´ controlar artesanal- ıa mente m´ltiples detalles, tales como la descripci´n pormenorizada de los u o datos, su almacenamiento en los dispositivos, la concordancia de cada rutina que maneje esos datos con la descripci´n de los mismos, la con- o cordancia de los datos cuando se repitan en distintos archivos, etc. M´s a a´n, el programador es responsable de que cada modificaci´n de los datos u o o de los programas se vea reflejada en todos esos puntos. En cambio, los SGBD controlan autom´ticamente operaciones como a el almacenamiento de los datos en los dispositivos f´ ısicos, as´ como el ı
  • 3. 153 6.1. Bases de datos y SGBD acceso de los programas a los mismos; adem´s, aseguran la consistencia a de los datos repetidos y de los programas que los manejan, etc. Gracias a estas ventajas, con los SGBD es posible concentrar m´s a atenci´n en el problema (a su nivel) y mucha menos en los detalles (de o bajo nivel) de su implantaci´n f´ o ısica (o interna), lo que facilita enor- memente el dise˜ o, desarrollo y mantenimiento de las bases de datos y n permite, por lo tanto, afrontar otras de gran envergadura. Conclusi´n o En resumen, los SGA consisten en agregados de programas y archi- vos, a˜adidos por el programador para cubrir ad hoc necesidades nuevas. n En cambio, los SGBD son sistemas “integrados” de programas y archi- vos, dise˜ados con el prop´sito espec´ n o ıfico de desarrollar y gestionar bases de datos, como indica su nombre, de acuerdo con un plan general. Por ello, la funcionalidad de los SGBD es superior a la de los SGA. M´s concretamente, se pueden identificar las siguientes diferencias entre a ambos tipos de sistemas: • En general, los SGA consisten en aglomerados de programas y ar- chivos r´ ıgidos, puesto que se han agregado sucesivamente para re- solver s´lo operaciones muy concretas. Por el contrario, los SGBD o se caracterizan por una gran flexibilidad, permitiendo la reestruc- turaci´n de la informaci´n gestionada, la incorporaci´n de nuevas o o o aplicaciones, o la modificaci´n de las existentes manteniendo la o organizaci´n global. o • La informaci´n de los SGA presenta frecuentemente redundancias o innecesarias. La repetici´n de los datos en los diversos archivos o es ineficiente: adem´s de hacer un mal aprovechamiento de la a memoria, aumenta y dificulta a la vez las operaciones de consulta y mantenimiento de esa informaci´n. La redundancia de los datos o lleva aparejado adem´s el riesgo de que esos datos repetidos no a concuerden (inconsistencia), lo que se supera en los SGBD gracias a su alto grado de integraci´n. o
  • 4. 154 Cap´ ıtulo 6. Bases de datos • Por lo com´n, los SGA est´n implantados en sistemas operativos u a monousuario, por lo que carecen de mecanismos para atender a diferentes personas desde diferentes puntos. En cambio, los SGBD est´n dise˜ados muchas veces para funcionar en sistemas multiu- a n suario, pudiendo atender consultas y actualizaciones de los datos que se solicitan al mismo tiempo, y est´n dotados con mecanis- a mos para garantizar la seguridad y confidencialidad de los datos en sistemas multiusuario. • Los SGA carecen en general de protecci´n frente a fallos del sis- o tema. En cambio, los SGBD disponen de los mecanismos necesa- rios para recuperar la informaci´n en caso de necesidad. o Por consiguiente, los SGBD aventajan a los SGA en muchos aspec- tos. Aunque se ha se˜alado el inconveniente de que, al ser sistemas m´s n a complejos y potentes, tienen mayores requerimientos de hardware y soft- ware, este problema se est´ atenuando con el aumento de potencia que a los computadores personales est´n experimentando hoy en d´ y con el a ıa abaratamiento del software. A pesar de las ventajas que suponen las bases de datos, debe ad- vertirse que el buen dise˜o de una base de datos no es una cualidad n intr´ ınseca de los SGBD, as´ como tampoco son propios de los SGA los ı defectos de un mal dise˜o o desarrollo. Una base de datos desarrollada n con un SGA puede resultar segura, funcionar en un entorno multiusua- rio y estar exenta de redundancias (en la informaci´n) aunque, eso s´ o ı, debe ser el desarrollador quien se preocupe de mantener esas cualida- des, mientras que un SGBD asume algunas de esas responsabilidades y facilita muchas otras. 6.1.3 Niveles de una base de datos La complejidad de una base de datos puede superarse dotando al sistema de una organizaci´n l´gica que facilite su manejo. Seg´n las oo u normas del ANSI/SPARC1 ([Stu75]), esta organizaci´n debe constar de o 1 American National Standard Institute.
  • 5. 155 ´ 6.2. El modelo entidad-relacion los tres niveles siguientes, de m´s pr´ximo al problema a m´s cercano a a o a la m´quina: a • Nivel interno o f´ısico, formado por los detalles de la organizaci´n o f´ ısica de la base de datos, tales como la representaci´n escogida de o los datos a bajo nivel y el almacenamiento real de los datos en los discos u otros dispositivos f´ısicos. • Nivel conceptual o l´gico donde se describe, a alto nivel, la infor- o maci´n de la base de datos, ignorando los detalles de su almace- o namiento. • Nivel externo o de visi´n, que comprende las visiones particulares o que tienen de la base de datos los distintos usuarios, ya sean usua- rios finales o programadores, con frecuencia en distintos lenguajes. Estos ultimos ven la descripci´n de la informaci´n en sus lenguajes ´ o o respectivos. 6.2 El modelo entidad-relaci´n o Un modelo de datos es un enfoque adoptado para formalizar la in- formaci´n del mundo real que ata˜e a una base de datos. En el nivel o n conceptual y l´gico, existen dos grupos de modelos: los basados en ob- o jetos, y los basados en registros. El modelo entidad-relaci´n es seguramente el m´s ampliamente acep- o a tado entre los primeros. En ´l se concibe la realidad como un conjunto de e objetos (llamados entidades y caracterizadas por atributos) y relaciones entre los mismos. En los ejemplos mencionados, constituye una entidad cada cliente concreto, cada cuenta bancaria, cada socio de la biblioteca, cada uno de sus libros, etc. Resulta natural agrupar las entidades en gru- pos homog´neos (conjuntos de entidades): en el conjunto de entidades e “libros”, por ejemplo, tendr´ cabida todos los libros de la biblioteca. ıan Considerando ahora este conjunto de entidades, podemos identificar en ellas los atributos siguientes: t´ ıtulo, autor, editorial, signatura, n´mero u de registro, etc.
  • 6. 156 Cap´ ıtulo 6. Bases de datos Las asociaciones entre varios conjuntos de entidades pueden esta- blecerse mediante relaciones. Por ejemplo, se puede considerar una re- laci´n entre los conjuntos de entidades “socios”-“libros” para expresar o los “pr´stamos”. Tambi´n es posible caracterizar las relaciones con atri- e e butos (como la “fecha” de devoluci´n para un pr´stamo). o e Las relaciones entre entidades pueden ser de varios tipos: • Una relaci´n entre dos entidades es de uno a uno (abreviadamente, o 1:1) si existe una correspondencia biun´ ıvoca entre ellas. Por ejem- plo, cada autom´vil tiene una unica matr´ o ´ ıcula y viceversa. • La relaci´n “socios”-“libros” mencionada en el p´rrafo anterior es o a de uno a muchos (1:m): un socio puede tener prestados desde ninguno hasta muchos libros al mismo tiempo, pero cada libro tiene, a lo sumo, un unico socio que lo ha pedido. ´ • La relaci´n entre “profesores”-“asignaturas” es de muchos a mu- o chos (m:m), ya que un profesor puede impartir varias asignaturas, e igualmente una asignatura puede ser impartida por varios pro- fesores. En este tipo de relaciones no se imponen restricciones sobre el n´mero de elementos por relacionar de cada conjunto de u entidades. Con estos conceptos, es posible representar gr´ficamente la estruc- a tura de una base de datos del siguiente modo: • Cada conjunto de entidades se expresa mediante un rect´ngulo. a • Los atributos que caracterizan un conjunto de entidades se repre- sentan con elipses asociadas al rect´ngulo correspondiente. a • Las relaciones se representan mediante rombos, unidos con l´ ıneas a los conjuntos de entidades asociados. En los casos de las relaciones 1:1 y 1:m, el conjunto de entidades dado por el 1 se se˜ala desde n la relaci´n con una flecha: o – Relaci´n m:m o
  • 7. 157 ´ 6.2. El modelo entidad-relacion ¨rr ¨¨stamos r pr´ e rrr¨ ¨ socios libros ¨ fl   i „ fl „   i l   i„ f   n0 .socio t´ ıtulo i „ f „ nombre f autor i registro i editor i domicilio c i signatura fecha Figura 6.1. Representaci´n gr´fica de una relaci´n o a o       – Relaci´n 1:m o   '     – Relaci´n 1:1 o   '  E    Por ejemplo, la relaci´n “pr´stamos” puede representarse como mues- o e tra la figura 6.1.
  • 8. 158 Cap´ ıtulo 6. Bases de datos 6.3 Modelos de bases de datos basados en registros Tradicionalmente, se han considerado diferentes enfoques a la hora de organizar una base de datos. Cada uno adoptaba una concepci´n o distinta de la realidad, dependiendo del tipo de estructura de datos m´s a adecuado para construir un modelo del problema planteado. En el modelo jer´rquico subyace una estructura de datos arbores- a cente. Ejemplos de esta estructura son la genealog´ de los toros de lidia ıa y la organizaci´n de directorios de un disco. Esta orientaci´n se suele o o usar cuando el problema abarca s´lo relaciones 1:m. o El enfoque en red adopta como modelo de datos el concepto ma- tem´tico de grafo: un conjunto de puntos llamados nodos, que se conec- a tan unos con otros mediante l´ıneas llamadas arcos. El ejemplo arquetipo de grafo es una red de carreteras: los arcos son los diferentes tramos, y los nodos las intersecciones. En este tipo de relaciones se pueden repre- sentar tambi´n las relaciones m:m, aunque no de un modo muy natural. e Al igual que en el modelo entidad-relaci´n, en el enfoque de datos en o red la base de datos consiste en un conjunto de entidades (que son los nodos de un grafo), caracterizadas por atributos y relacionadas mediante relaciones (que son los arcos). En el modelo en red, a las relaciones se les llama ligaduras, y son siempre binarias, si bien es posible construir relaciones de cualquier orden combinando dichas relaciones binarias. En la actualidad, los modelos jer´rquico y en red se consideran am- a pliamente superados por el modelo relacional, que est´ muy desarrollado a y extensamente difundido, funcionando en equipos grandes y peque˜os.n Debido a su importancia, le dedicamos el siguiente apartado. 6.3.1 El modelo relacional El enfoque relacional considera una base de datos como un conjunto de tablas,2 que representan entidades o relaciones. Dados n conjuntos de 2 Llamadas relaciones, de donde viene el nombre de este modelo.
  • 9. 159 6.3. Modelos de datos basados en registros entidades E1 , ..., En , una tabla es un conjunto de n-tuplas de la forma (e1 , ..., en ), donde ei ∈ Ei ; en otras palabras, una relaci´n es un subcon- o junto del producto cartesiano E1 × ... × En . Visto un conjunto de entidades como una tabla, cada fila representa una entidad concreta, y cada columna un atributo: libros Autor T´ ıtulo Editor Signatura Registro ... ... ... ... ... Si la tabla representa una relaci´n, cada columna es una de las en- o tidades vinculadas por ella. En realidad, no es preciso consignar cada entidad completa, sino que basta con incluir los atributos necesarios para determinarla un´ ıvocamente. Este conjunto de atributos se llama clave de la entidad: pr´stamos e Registro N´m. socio u Fecha ... ... ... Pongamos un ejemplo. Una base de datos correspondiente a la in- formaci´n de cierta carrera universitaria3 podr´ constar, entre otras, de o ıa dos relaciones, que almacenan respectivamente los datos personales de los alumnos y las asignaturas en que se han matriculado en un curso: Direcciones (nombreAl, direcci´n, tel´fono) o e Matr´ ıculas (nombreAs, nombreAl, curso, n´mCr´ditos, nota) u e El atributo nombreAl es una clave para la primera relaci´n. Una o clave de la segunda la forman los atributos nombreAs y nombreAl. En realidad, no se han establecido las relaciones concretas entre las entidades (para lo cual se requerir´ rellenar las tablas con los datos re- ıa ales) sino s´lo el encabezamiento de cada tabla asociada al que llamamos o esquema de la relaci´n. o 3 Se supondr´ para simplificar que los nombres de los alumnos no pueden repetirse, a y que tambi´n las asignaturas tienen nombres distintos. e
  • 10. 160 Cap´ ıtulo 6. Bases de datos Las relaciones establecidas para describir nuestro modelo no son las unicas posibles. De hecho, el planteamiento puede mejorarse f´cilmente, ´ a sustituyendo la ultima relaci´n por las dos siguientes: ´ o Asignaturas (nombreAs, curso, n´mCr´ditos) u e Matr´ ıculas’ (nombreAl, nombreAs, nota) en las que ya no se repiten el curso y n´mero de cr´ditos de cada asig- u e natura por cada alumno que se matricule en ella, mejorando el aprove- chamiento de la memoria y la gesti´n posterior de ella en consultas y o actualizaciones de la informaci´n. o Este proceso (llamado normalizaci´n) no siempre resulta tan senci- o llo. Sin embargo, mediante su empleo se llega a describir una base de datos gracias a relaciones naturales y sin redundancias, con las ventajas mencionadas. 6.4 Lenguajes asociados a los SGBD Visto el SGBD como un intermediario, deber´ proporcionar al admi- a nistrador un medio con que definir la base de datos durante su creaci´n o o realizar posteriores reestructuraciones, de acuerdo con los nuevos reque- rimientos, facilit´ndole el establecimiento de relaciones entre los datos. a Finalmente, deber´ poner al alcance del usuario toda la informaci´n para a o que ´ste la manipule de un modo flexible y eficiente. e Los SGBD proporcionan lenguajes de alto nivel para que los usuarios soliciten sus operaciones, ya que la propia base de datos oculta muchos detalles de la representaci´n y el almacenamiento de las relaciones, y o dichos lenguajes pueden obviar esos detalles. Los lenguajes de los SGBD son en general de dos tipos: • Lenguajes de definici´n de datos o Estos lenguajes recogen la descripci´n de los datos tal como la o concibe el usuario, esto es, la definici´n de los esquemas de la base o
  • 11. 161 6.4. Lenguajes asociados a los SGBD de datos. Como interpretaci´n de esas definiciones, producen el o diccionario de datos (v´ase 6.5) as´ como la forma real, a bajo e ı nivel, en que los datos se organizan en los distintos dispositivos f´ ısicos, discos normalmente. • Lenguajes de manipulaci´n de datos o Estos lenguajes permiten al usuario realizar operaciones tales como a˜adir informaci´n nueva en la base de datos, suprimir, modificar n o o consultar la existente. Estas operaciones tienen una gran potencia, ya que los lenguajes de consulta modernos disponen de mecanismos para definir las operaciones m´s frecuentes. Por otra parte, tienen tambi´n una a e gran flexibilidad, estando dotados de medios para que el usuario pueda desarrollar programas de acuerdo con sus necesidades, ya sea ofreciendo lenguajes de programaci´n propios o bien enlazando o con lenguajes de programaci´n de alto nivel. o 6.4.1 Lenguajes relacionales Se han desarrollado dos enfoques de los lenguajes relacionales: el a ´lgebra relacional y el c´lculo relacional, aunque la mayor´ de los len- a ıa guajes de consulta comercializados actualmente incluyen caracter´ısticas de ambos. Entre ellos, es obligado citar el SQL (Structured Query Lan- guage), que funciona tanto en bases de datos desarrolladas para mi- crocomputadores, como en otras para minis y mainframes, tales como Informix-SQL, Ingres y Oracle. A continuaci´n presentamos brevemente o los enfoques mencionados en el estilo de SQL. • En los lenguajes basados en el ´lgebra relacional las operaciones a se realizan con tablas y su resultado es tambi´n una tabla. Las e principales son las siguientes: – La operaci´n de selecci´n extrae de una relaci´n las tuplas o o o que verifican cierto predicado. Por ejemplo: ıculas’, nota ≥ 5) selecci´n (Matr´ o
  • 12. 162 Cap´ ıtulo 6. Bases de datos consiste en la relaci´n de las papeletas de aprobado; en cada o una se consigna el nombre de un alumno, una asignatura y la nota obtenida. El esquema de la relaci´n obtenida es o nombreAl, nombreAs, nota, convocatoria que coincide con el de la relaci´n Matr´ o ıculas’. – La proyecci´n extrae de una relaci´n las columnas que se indi- o o quen, eliminando las filas repetidas en la relaci´n resultante. o Por ejemplo: proyecci´n (Matr´ o ıculas, nombreAs, curso, n´mCr´ditos) u e coincide con la relaci´n de Asignaturas. o – La concatenaci´n de dos relaciones que tengan alguna co- o lumna en com´n consiste en otra tabla, que pivota en la(s) u columna(s) com´n(es). Por ejemplo, la relaci´n Matr´ u o ıculas podr´ obtenerse as´ ıa ı: concatenaci´n (Matr´ o ıculas’, nombreAs) Considerando que una tabla es un conjunto de tuplas, el algebra ´ relacional tambi´n incluye las operaciones conocidas de uni´n, in- e o tersecci´n y diferencia (de conjuntos de tuplas), entre relaciones o con la misma estructura. • Los lenguajes basados en el c´lculo relacional son declarativos: las a consultas se expresan especificando la informaci´n deseada me- o diante el c´lculo de predicados de primer orden. Por ejemplo, la a definici´n siguiente o { n, d | ∃ t (( n, d, t ∈ Direcciones) ∧ ∀ a, c(( n, a, c ∈ Matr´ ıculas’) ⇒ (c ≥ 9))} facilitar´ la relaci´n de aquellos alumnos que han obtenido un so- ıa o bresaliente en todas las asignaturas de las que se han matriculado, junto con su direcci´n. o
  • 13. 163 6.5. Elementos de un SGBD 6.5 Elementos de un SGBD Siguiendo la presentaci´n por capas que se hizo de los sistemas ope- o rativos, en una base de datos pueden distinguirse tres niveles: • El m´s bajo se encuentra directamente sobre el sistema operativo, a y consiste en los archivos de datos, los de ´ ındices y el diccionario de datos: – Los archivos de ´ındices tienen id´ntico cometido al del ´ e ındice de un libro, permitiendo localizar r´pidamente un registro a a trav´s de su direcci´n (p´gina) en un archivo de datos (libro). e o a – El diccionario de datos es un archivo que contiene la des- cripci´n de la estructura de los archivos de datos a los tres o niveles; esto es, de los distintos esquemas de la base de datos. • El nivel intermedio es el del sistema de gesti´n propiamente dicho, o y comprende los siguientes m´dulos: o – Un programa compilador para el lenguaje de definici´n de o datos, que construye (o modifica) el diccionario de datos. – Un int´rprete del lenguaje de consultas: cuando las instruc- e ciones del lenguaje de manipulaci´n de datos se insertan entre o sentencias de otros lenguajes de alto nivel, el precompilador traduce esas instrucciones al lenguaje de alto nivel. – Un programa gestor de la base de datos, que es el intermedia- rio entre los archivos, que contienen informaci´n a bajo nivel o estructurada conforme al diccionario de datos, y los progra- mas que acceden a ellos a un nivel m´s alto. a – Es corriente que los SGBD faciliten rutinas de reorganizaci´n o y generaci´n de ´ o ındices de los registros de la base de datos siguiendo ciertos criterios. – Frecuentemente se incluye un optimizador que, bas´ndose en a las definiciones de las tablas y los ´ ındices, crea el camino m´s a eficiente de acceso a los datos. Este camino se construye en un paso de la compilaci´n de un programa de alto nivel o en o
  • 14. 164 Cap´ ıtulo 6. Bases de datos el momento de la ejecuci´n. Este m´dulo permite al usuario o o desentenderse de los detalles de nivel f´ ısico. – Muchos SGBD ofrecen tambi´n diversas rutinas de generaci´n e o de programas, tales como formatos de pantalla, generaci´n de o etiquetas, listados o informes a medida. – Otro aspecto de gran desarrollo en la actualidad son las lla- madas herramientas CASE4 , cuyo objetivo es facilitar el des- arrollo y mantenimiento de programas de cierta envergadura. • En el nivel m´s alto se encuentran el administrador y los usuarios a de la misma: – El administrador de la base de datos es la persona que redefine el esquema de la base de datos en las sucesivas modificaciones. Adem´s, concede o deniega a los distintos usuarios el acceso a a toda la base de datos o a parte de ella. – Los usuarios pueden tener diferentes niveles de especializa- ci´n, con diferentes grados de acceso a la base de datos. o Si tomamos como ejemplo la base de datos de un banco, el ni- vel menos especializado lo representa un cliente, capaz de con- sultar los datos de su cuenta o modificarlos como consecuen- cia de una transacci´n efectuada en un cajero autom´tico. o a En un nivel intermedio se hallar´ los empleados, autoriza- ıan dos a realizar consultas y movimientos m´s complejos. Los a programadores de aplicaciones se hallar´ en el nivel m´s ıan a especializado. 6.6 Ejercicios 1. Los campos de un registro de un archivo pueden definirse mediante su tama˜o (m´ximo), es decir, su n´mero de caracteres o de d´ n a u ıgitos ente- ros y decimales. En este supuesto, fije el tama˜o que tienen los campos n correspondientes a los siguientes datos: nombre, apellidos, domicilio, po- blaci´n, provincia, c´digo postal y tel´fono. o o e 4 Computer Aided Software Engineering: ingenier´ de la programaci´n asistida por ıa o computador.
  • 15. 165 ´ 6.7. Comentarios bibliograficos 2. Se desea gestionar una videoteca mediante una base de datos, mante- niendo datos sobre los clientes y las cintas. Se considera la posibilidad de consultar la base de datos para conocer en un momento dado las existencias por temas, autores y actores. • Describa los niveles de visi´n y conceptual seg´n las normas del o u ANSI/SPARC. • Identifique unos atributos apropiados para caracterizar las entida- des “clientes” y “cintas”. • Identifique las relaciones 1:1, 1:m y m:m que existan. • Construya un diagrama E-R. • Construya el esquema de relaci´n correspondiente. o 3. Encuentre un sistema de gesti´n de bases de datos e identifique sus ca- o racter´ ısticas, valorando en qu´ medida alcanza los objetivos propuestos e por los SGBD, cu´les son los elementos que posee y sus limitaciones. a 4. En la base de datos referida a una carrera universitaria utilizada como ejemplo del modelo relacional se define la siguiente relaci´n o Notas ≡ (nombreAl, curso, grupo, nombreP, nombreAs, feb, mayo, final) de cada alumno, en cada asignatura, con sus calificaciones de febrero, mayo y final. Se ha aprovechado la tabla para incluir el nombre del profesor que imparte la asignatura en ese grupo. • Mejore el planteamiento para evitar que se repita el nombre del profesor cada vez que aparezca un alumno suyo. • Evite asimismo la repetici´n del curso y grupo de cada alumno cada o vez que aparece una asignatura. 5. Actuando como administrador de la base de datos del ejercicio anterior, establezca a qu´ informaci´n pueden acceder: un alumno, un profesor, el e o personal de administraci´n, el jefe de estudios y el director del centro. o 6.7 Comentarios bibliogr´ficos a Las bases de datos constituyen, ya se ha dicho, un area de directa aplicaci´n ´ o en muy diversos campos del mundo empresarial. Pero tampoco puede negarse
  • 16. 166 Cap´ ıtulo 6. Bases de datos la contribuci´n de los SGA, que tambi´n han evolucionado considerablemente, o e ofreciendo un elevado nivel, muy cercano a los problemas reales, proporcionando un ambiente sencillo, apto para su uso por no profesionales de la inform´tica. a Un ejemplo de SGA es el dBase, cuyo reducido coste, sencillo manejo y escasos requerimientos f´ısicos la hacen tremendamente asequible. Entre los numerosos libros que se han escrito sobre ella, encontramos en [Bye90] una referencia b´sica y pr´ctica de la versi´n III plus. a a o Entre las bases de datos relacionales que funcionan en PC’s bajo DOS, deben mencionarse tambi´n Oracle y DB2/2. Aunque su medio principal son los e entornos grandes, es posible usarlas en microcomputadores con fines educativos (lo que contribuye por otra parte a su difusi´n), as´ como en la fase de desarrollo. o ı En [MW83] se introducen informalmente los conceptos b´sicos de las bases de a datos relacionales, revis´ndose igualmente algunas de amplia difusi´n. a o Posiblemente, SQL es el lenguaje de consulta de bases de datos m´s exten- a dido en la actualidad (DB2, Oracle, Informix, Arity, RDB, etc.) En [HH89] se presenta este lenguaje, desde su fundamentaci´n en la l´gica del primer orden o o hasta su utilizaci´n en algunos SGBD comercializados. o Entre los numerosos textos sobre esta tem´tica, indicamos [KS93], [Dat93] a y [MP93], muy completos y actualizados. En los a˜os noventa ha surgido un nuevo enfoque de bases de datos, el de n las orientadas al objeto, que est´ despertando un vivo inter´s y tiene una gran a e y r´pida acogida. [SH90] es un estudio comparado de sus principios con los del a modelo relacional.
  • 17. Cap´ ıtulo 7 Historia de los instrumentos de c´lculo a 7.1 Precursores de los computadores digitales . . . . . . . . . . . . 167 7.2 Nacimiento de los computadores . . . . . . . . . . . . . . . . . 171 7.3 Evoluci´n de los lenguajes y de la metodolog´ o ıa . . . . . . . . . 175 7.4 Tecnolog´ actual, tendencias y perspectivas . . ıa . . . . . . . . . 176 7.5 Comentarios bibliogr´ficos . . . . . . . . . . . . a . . . . . . . . . 179 El nacimiento de la Computaci´n, tal como la vemos hoy d´ es re- o ıa, cient´ ısimo (apenas tiene medio siglo de edad), e incluso est´ en pleno a desarrollo; por eso, junto al inter´s que despierta el origen de los ins- e trumentos de c´lculo y la inform´tica, surge la necesidad de conocer, a a siquiera someramente, su alcance en la actualidad, as´ como la de ima- ı ginar las expectativas de futuro previsibles. 7.1 Precursores de los computadores digitales 7.1.1 La antig¨ edad u Desde que los hombres aprendieron a contar han necesitado apoyarse en el c´lculo para manipular cantidades y buscar m´todos para facili- a e tarlo. Estos m´todos fueron bastante rudimentarios hasta que los sabios e
  • 18. 168 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo y astr´nomos hind´es recogieron la herencia greco-babil´nica inventando o u o la numeraci´n posicional actual. o Con el desarrollo de esos m´todos, fue necesario anotar n´meros (ya e u fueran considerados datos, cantidades auxiliares o resultados finales), apareciendo as´ los primeros instrumentos de c´mputo: el uso de los ı o dedos con tal objeto condujo a las primeras t´cnicas de c´lculo digital; y e a parecida finalidad tuvo el uso de piedras (calculi, t´rmino latino del que e procede la palabra c´lculo) entre los romanos, el de los nudos (quipa) a sobre una cuerda, o las muescas practicadas por diversos pueblos sobre varas de madera. Desde entonces, los avances se han debido a progresos en los m´todos, e en los instrumentos y en la integraci´n de ambos. o Dos utensilios de esta ´poca merecen ser citados: la m´quina anal´- e a o gica de Antic´ıteros, precursora de los calendarios astron´micos bizanti- o nos; y especialmente el ´baco, que apareci´ entre el tercer y el primer a o milenio a. C., y puede ser considerado como la primera m´quina digital, a ya basada en la numeraci´n posicional. o 7.1.2 Antecedentes del c´lculo mec´nico a a Los aut´matas de reloj que todav´ adornan los campanarios de las o ıa iglesias medievales (a partir de finales del s. XIII) son automatismos mec´nicos dise˜ados para reproducir una secuencia fija de movimientos. a n Precisamente se les ha llamado aut´matas de programa interior para o expresar as´ que la serie de sus movimientos est´ intr´ ı a ınsecamente descrita en su maquinaria. 7.1.3 La m´quina de Pascal a Hacia la mitad del s. XVII, Pascal construy´ una calculadora, capaz o de sumar y restar, bas´ndose en la pieza fundamental de los engranajes a de los molinos: la rueda dentada. El funcionamiento de la m´quina de a Pascal puede compararse al de un cuentakil´metros: cada rueda posee o diez posiciones y, a cada vuelta, provoca en la siguiente un arrastre de una posici´n. o
  • 19. 169 7.1. Precursores de los computadores digitales Son directos descendientes de la m´quina de Pascal las m´quinas a a electromec´nicas de oficina, hoy ya en desuso, y las UAL de los actuales a computadores, cambiando las ruedas dentadas por circuitos electr´nicos. o En 1673, Leibnitz perfeccion´ la m´quina de Pascal, incorpor´ndole o a a la multiplicaci´n (por adici´n repetida del multiplicando en diferentes o o o ´rdenes decimales) y la divisi´n. o Las rudimentarias operaciones que facilitaban estos aparatosos ins- trumentos no compensaban su costosa construcci´n. Por ello, los pro- o gresos consistieron en perfeccionamientos menores hasta finales del siglo XIX, en que se supo incorporar a las m´quinas de c´lculo una aportaci´n a a o procedente de la industria textil. 7.1.4 La m´quina de Babbage a Las m´quinas de Pascal y Leibnitz se consideran de programa exte- a rior, debido a que las instrucciones son aportadas por el hombre junto con los datos, como ocurre con las calculadoras m´s simples. No obs- a tante, sus instrucciones son demasiado simples como para poder consi- derarse un programa. Esta noci´n apareci´ cabalmente con la m´quina o o a de Jacquard, mec´nico franc´s que en 1790 concibi´ la idea de un telar a e o autom´tico, capaz de tejer sus dibujos obedeciendo secuencias de ins- a trucciones previamente registradas en tarjetas perforadas. El telar de Jacquard fue construido en 1800, y ha revolucionado la industria textil, pero el inter´s que tiene para nosotros es la aportaci´n del verdadero e o concepto de programa exterior, tal como lo entendemos actualmente. En el s. XIX, C. Babbage concibi´ su M´quina Anal´ o a ıtica (1834), ca- paz de seguir las secuencias de instrucciones proporcionadas desde el ex- terior (como los datos), previamente registradas en tarjetas perforadas. El modus operandi de la m´quina de Babbage consist´ en ir leyendo a ıa tarjetas (descriptoras de operaciones) y ejecut´ndolas sucesivamente. a La gran aportaci´n de Babbage consiste en reunir las dos siguientes o caracter´ ısticas: • la flexibilidad de las calculadoras de Pascal y Leibnitz, que operan sobre distintos datos, pero carecen de automatismo, estando su
  • 20. 170 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo velocidad siempre limitada por la lentitud de introducir los datos y las operaciones • el automatismo de los aut´matas de reloj, que no requieren la in- o tervenci´n humana, por lo que funcionan sin interrupci´n, aunque o o carecen de flexibilidad, ya que cada secuencia de movimientos re- quiere el dise˜o de una m´quina distinta. n a Babbage no pudo terminar la construcci´n de su m´quina de diferen- o a cias. Repetidamente se ha sostenido que la complejidad de esta m´quina a rozaba probablemente los l´ımites de la mec´nica; sin embargo, estudios a recientes [Swa93] demuestran que su dise˜o era completamente viable. n En el dise˜o de la m´quina de diferencias se definen los organos n a ´ esenciales de cualquier sistema computacional actual: Entrada de instrucciones y datos Almac´n e memoria Unidad de Control con su actual cometido Molino calculador, U.A.L. Salida con su actual cometido Por ello se le ha llamado el “Padre de la Computaci´n moderna”.1 o 7.1.5 La tabulaci´n mec´nica o a El desarrollo de los estados modernos fue lo que determin´ la nece- o sidad de procesar grandes vol´menes de datos: siguiendo un mandato u constitucional en EE.UU., era necesario realizar un censo de la poblaci´no cada diez a˜os. En 1886 se hizo patente la imposibilidad de obtener los n resultados del censo de 1880 antes de 1890. Consciente de esta situaci´n, o Hollerit, funcionario de la oficina de censos, ide´ un sistema de tabu- o laci´n de los datos basado en tarjetas perforadas similares a las del telar o de Jacquard. 1 Entre los muchos campos que abarc´ Babbage citamos los primeros m´todos que o e posteriormente originaron la Investigaci´n Operativa. o
  • 21. 171 7.2. Nacimiento de los computadores Con su sistema, Hollerit consigui´ procesar el censo de 1890 en la o cuarta parte del tiempo requerido para el de 1880. Su m´todo fue tan e eficiente que abandon´ la Oficina de Censos, e inaugur´ una compa˜´ de o o nıa desarrollo de m´quinas electromagn´ticas (incorporando a su invento los a e avances en electromec´nica y electricidad, construidos para perfeccionar a el tel´fono) que fue la precursora de la actual IBM. e Con el desarrollo de los computadores, las tarjetas perforadas pasa- ron a ser uno de los principales soportes de la informaci´n, situaci´n que o o perdur´ hasta finales de los a˜os setenta. o n 7.2 Nacimiento y evoluci´n de los o computadores digitales En la primera mitad del siglo XX, gracias a los avances en tecnolog´ ıa electr´nica, se crearon las primeras calculadoras electromec´nicas, que o a funcionaban a base de rel´s. e Al poseer los rel´s dos estados (abierto y cerrado), constituyen el ele- e mento ideal para representar los dos d´ ıgitos de la numeraci´n binaria (0 o y 1), y tambi´n los dos valores l´gicos (verdadero y falso) del algebra de e o ´ Boole. Por ello, los rel´s pueden considerarse elementos de memoria ca- e paces de albergar resultados parciales. Adem´s, estos instrumentos eran a capaces de seguir secuencias de instrucciones almacenadas previamente sobre tarjetas perforadas. Los primeros computadores que funcionaron a base de tecnolog´ ıa el´ctrica fueron: e 1. En 1943, el Harvard Mark I, con rel´s electromagn´ticos. e e 2. En 1943, el Colosus I, considerado como el primer computador electr´nico, a base de (200) v´lvulas, dise˜ado durante la II Gue- o a n rra Mundial para descifrar los mensajes del encriptador alem´n a Enigma.
  • 22. 172 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo 3. En 1946, el ENIAC,2 tambi´n a base de (18.000) v´lvulas, dise˜ado e a n para confeccionar tablas bal´ ısticas. A partir de los rel´s, la lenta mec´nica fue poco a poco desplazada e a por la electricidad: el tubo de rayos cat´dicos, el transistor, los circuitos o impresos y m´s tarde integrados, etc. a En realidad, estas m´quinas estaban programadas al m´s bajo nivel a a (en t´rminos de direcciones f´ e ısicas de memoria, etc.) para desempe˜ ar n tareas muy espec´ ıficas. Por ello, carec´ por completo de versatilidad, ıan debido a la dificultad que entra˜aba reprogramarlas. n 7.2.1 El modelo de von Neumann En 1945, von Neumann dio el paso definitivo, incorporando a las m´quinas de rel´s de entonces los dos siguientes conceptos: a e 1. Programa registrado, utilizando la memoria del calculador para almacenar el programa de instrucciones junto con los datos. 2. Ruptura (condicional) de secuencia, es decir, capacidad autom´ti- a ca de decisi´n: dependiendo de cierto valor se ejecutar´ una parte o ıa del programa u otra. En 1945, von Neumann defini´ su modelo de computador,3 que es en o esencia el que funciona en nuestros d´ con dos caracter´ ıas, ısticas: 1. La secuencialidad en la transmisi´n y tratamiento de los datos o 2. La codificaci´n de instrucciones mediante impulsos electromagn´- o e ticos, reemplazando el cableado 7.2.2 Generaciones tecnol´gicas o Las m´quinas basadas en el modelo de von Neumann se comercia- a lizaron en los a˜os cincuenta (1952-55) y, desde entonces, la carrera ha n sido y sigue siendo imparable. De esta d´cada parten las siguientes ge- e neraciones tecnol´gicas: o 2 Electronic Numerical Integrator And Calculator. 3 Tambi´n conocido como M´quinas de von Neumann. e a
  • 23. 173 7.2. Nacimiento de los computadores Primera generaci´n o Las v´lvulas electr´nicas desplazaron a los rel´s, y los computadores a o e adquirieron velocidad y potencia. Citamos entre los computadores de la primera generaci´n el ENIAC, terminado en 1946, y el UNIVAC,4 pri- o mera m´quina con la arquitectura de von Neumann. El modus operandi a era el siguiente: • carga del programa y los datos, previamente perforados (T1 ) • ejecuci´n (T2 ) o • salida de los resultados (T3 ) El tiempo total invertido es la suma T1 + T2 + T3 . Las fases pri- mera y tercera se llaman tiempos de ocio del procesador, porque en ellos permanec´ inactivo. ıa Segunda generaci´n o El aumento de potencia se debe a una innovaci´n de los laboratorios o Bell en 1948: el transistor. En cuanto al modo de trabajar, se introdujo la simultaneidad de las operaciones de c´lculo con las de carga y salida, a reduci´ndose los per´ e ıodos de ocio del procesador. Para aumentar la velocidad de las operaciones de carga/salida, que retrasaban todo el proceso, se introdujo el uso de cintas magn´ticas, e m´s r´pidas que las tarjetas perforadas. Este modo de trabajar se llama aa off-lining. Tercera generaci´n o Tecnol´gicamente, los avances en velocidad y potencia se deben a la o incorporaci´n de circuitos integrados (1952) y memorias de semiconduc- o tores (1971). 4 UNIVersal Automatic Computer.
  • 24. 174 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo En esta generaci´n el trabajo se caracteriza por explotar la simul- o taneidad del procesamiento con las operaciones de entrada/salida me- diante la multiprogramaci´n, consistente en que varios programas co- o existen en memoria, y cuando uno de ellos debe realizar una operaci´n o de entrada/salida, el procesador no se detiene, sino que se dedica a otro programa. As´ la UCP nunca est´ ociosa habiendo trabajo por hacer, ı, a facilit´ndose adem´s la asignaci´n de prioridades a los programas que se a a o encuentran a la espera. Cuarta generaci´n o Se incorporan nuevas tecnolog´ de fabricaci´n y de integraci´n de ıas o o los componentes f´ ısicos entre s´ (VLSI: Very Large Scale of Integration). ı En cuanto a la explotaci´n, se generalizan: o • el teleprocesamiento: extensi´n del sistema de carga y proceso o a terminales remotas, sacando partido de la asignaci´n de prio- o ridades. • los sistemas interactivos o conversacionales: los usuarios intervie- nen en el desarrollo de las sucesivas etapas, lo que trae consigo una mayor flexibilidad en la modificaci´n y puesta a punto de o programas. • el tiempo compartido, con lo que se mejora el tiempo medio de respuesta. • esta generaci´n se corresponde cronol´gicamente con la difusi´n de o o o los llamados computadores personales.
  • 25. 175 7.3. Evolucion de los lenguajes y de la metodolog´ ´ ıa 7.3 Evoluci´n de los lenguajes y de la o metodolog´ıa Mientras tanto, a partir de los a˜os cincuenta, los lenguajes tambi´n n e emprenden la carrera de su evoluci´n particular: para evitar la codifi- o caci´n de programas a bajo nivel, es preciso que sea la m´quina la que o a adquiera lenguajes pr´ximos al humano. o A la aparici´n del FORTRAN (FORmula TRANslator system) si- o guieron el Algol y el Cobol, intentando acercarse a un lenguaje univer- sal. La avalancha posterior de lenguajes y dialectos demostr´ que esas o tentativas de universalidad resultaron vanas. Por otra parte, la actividad de la programaci´n experiment´ en los o o a˜os sesenta un desarrollo mucho m´s r´pido que las t´cnicas emplea- n aa e das en ´l; esta cr´ e ıtica situaci´n se conoce como crisis del software. No o exist´ una metodolog´ de la programaci´n: cada programador desarro- ıa ıa o llaba sus propios m´todos o “trucos” para programar, y se consideraba e a la programaci´n m´s como un arte que como una t´cnica. Muy pronto o a e surgi´ la necesidad de sistematizar la programaci´n, desarrollando he- o o rramientas y h´bitos de dise˜o met´dicos y disciplinados para conseguir a n o que los programas fueran correctos, eficientes y mantenibles. La tesis de la programaci´n estructurada y las aportaciones de Dahl, Dijkstra, o Hoare [DDH72] y el propio Wirth, vinieron a conferir a la programaci´no un car´cter de disciplina. a Aparece as´ la programaci´n estructurada y modular y comienzan a ı o aplicarse t´cnicas de dise˜o de algoritmos como el m´todo de los refi- e n e namientos sucesivos. En este contexto nace el lenguaje Pascal, que fue creado con el prop´sito de ense˜ar a programar de una forma met´dica y o n o disciplinada. De hecho, se considera como un lenguaje ideal para entrar en contacto con la programaci´n, por lo que es el primero que muchas o universidades vienen ense˜ando durante a˜os. Los nuevos lenguajes de n n programaci´n que aparecen a partir de los a˜os setenta incorporan estas o n t´cnicas, facilitando su desarrollo y aplicaci´n. e o Posteriormente, los lenguajes de programaci´n han seguido evolucio- o nando, y paralelamente las t´cnicas de desarrollo de algoritmos. En el e
  • 26. 176 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo cap´ ıtulo 5 se han recogido algunos de los modelos de programaci´n m´s o a empleados. 7.4 Tecnolog´ actual, tendencias y ıa perspectivas A partir de la aparici´n del computador personal al principio de los o a˜os ochenta, la inform´tica ha dejado de ser un coto cerrado de un n a grupo restringido de especialistas y se ha popularizado, alcanzando a usuarios sin ning´n tipo de conocimientos previos en este ´rea. u a Hoy en d´ la Inform´tica est´ difundida por un sinf´ de sectores: ıa, a a ın las finanzas, la gesti´n, la investigaci´n, el control de procesos industria- o o les (dise˜o, concepci´n y fabricaci´n asistidas por computador), la edu- n o o caci´n, la edici´n, la composici´n musical, etc., y el n´mero de usuarios o o o u que utilizan la inform´tica en su trabajo o en su ocio sigue aumentando. a En los pa´ desarrollados, cada d´ est´ m´s cercana la predicci´n ıses ıa aa o de “un computador en cada puesto de trabajo y en cada hogar”. Por ello, se hace necesario facilitar la relaci´n entre el usuario y el o computador y disminuir el tiempo de aprendizaje, y para lograrlo se recurre a modelos m´s intuitivos que muestran al computador como a un escritorio o mesa de trabajo, a las aplicaciones como tareas y los ficheros de datos como carpetas de documentos, mediante entornos de tipo gr´fico (4.2.5). a A su vez, se ha dado una notable evoluci´n tecnol´gica: los com- o o putadores son cada vez m´s potentes y m´s baratos. Se puede afirmar a a que esta evoluci´n es m´s r´pida en el campo del hardware que en el o aa software. Aparecen computadores con enormes posibilidades, pero los programas capaces de aprovecharlas llegan con varios a˜os de retraso. n La mayor capacidad de proceso est´ permitiendo la entrada de la a inform´tica en campos en los que su presencia era limitada, y la creaci´n a o de actividades enteramente nuevas, como son: 1. Visi´n artificial: reconocimiento de formas o
  • 27. 177 7.4. Tecnolog´ actual, tendencias y perspectivas ıa 2. Tratamiento de im´genes: correcci´n de aberraciones y defectos a o o ´pticos. 3. Realidad virtual: s´ ıntesis de im´genes virtuales estereosc´picas, a o pel´ ıculas virtuales. 4. Comunicaciones: enlaces mediante m´dem, correo electr´nico, es- o o tablecimiento de redes integradas de comunicaciones (datos, sonido y v´ ıdeo). 5. Juegos: de rol, arcade, ajedrez. 6. Simulaci´n de procesos o 7. Multimedia: procesamiento de datos, sonido y v´ ıdeo integrados. De hecho, todo el mundo coincide en calificar este enorme desarro- llo de la inform´tica como una verdadera revoluci´n de la informaci´n. a o o Como tal revoluci´n, tiene importantes repercusiones de ´ o ındole econ´-o mica y social. La utilizaci´n de la inform´tica genera un aumento de o a la productividad y de la calidad de la producci´n. En consecuencia, las o empresas se ven obligadas a informatizarse para poder competir en el mercado. El aumento de la productividad puede significar tambi´n un e aumento del desempleo o del ocio. Para imaginar c´mo ser´n los computadores del futuro, quiz´s lo m´s o a a a razonable sea identificar las limitaciones de los computadores actuales, e imaginar sus formas de superaci´n. o Por lo pronto, la naturaleza f´ ısica de los componentes electr´nicos los o limita en tama˜o y en velocidad. De ah´ que la investigaci´n se oriente n ı o hacia la superaci´n de las configuraciones tradicionales (basadas en el o modelo de von Neumann) por otras arquitecturas y redes m´s avanzadas a (paralelas, neuronales, ...) llamadas a veces “arquitecturas de flujo de datos” (v´ase el cap´ e ıtulo 3). En ellas, un programa no se compone de instrucciones que se ejecutan “de arriba abajo”, sino de segmentos que pueden “resolverse” en cuanto los datos precisos est´n disponibles. Los e datos fluyen a trav´s de complicadas redes, compitiendo por acaparar la e
  • 28. 178 Cap´ ´ ıtulo 7. Historia de los instrumentos de calculo atenci´n de los recursos (principalmente los procesadores, que trabajan o simult´neamente). a 7.4.1 Inteligencia artificial El ambicioso objetivo que se persigue es dotar a los computadores del futuro con una serie de capacidades que se engloban bajo el t´rmino e gen´rico de Inteligencia Artificial. Esta disciplina se ocupa en la actua- e lidad de las siguientes areas de investigaci´n: ´ o • lenguajes naturales: s´ ıntesis del habla, identificaci´n del lenguaje o hablado, traducci´n autom´tica o a • razonamiento y aprendizaje autom´ticos, sistemas expertos, de- a mostraci´n autom´tica o a • programaci´n autom´tica o a Todas esas capacidades requieren, en general, un mayor estudio del proceso cognitivo. En particular, todas ellas necesitan sustituir el empleo de datos por el de conocimientos, lo que plantea el dif´ problema de ıcil su representaci´n. o 7.4.2 Las comunicaciones Otro aspecto de la inform´tica con tremendo auge en la actualidad a es el de las comunicaciones, ya que se abre la posibilidad de acceder a la informaci´n de origen remoto, tratarla autom´ticamente y enviar los o a resultados a su lugar de origen. Para ello se crean redes de comunicaciones de mayor o menor cober- tura, desde una sala o un edificio hasta redes nacionales o mundiales. Las aplicaciones de la teleinform´tica est´n cada d´ m´s extendidas a a ıa a y ya casi empiezan a parecernos algo natural. Como ejemplos podemos citar desde el uso de los cajeros autom´ticos hasta la posibilidad de a efectuar reservas de avi´n o de hotel desde puntos remotos, la consulta o del cat´logo de una biblioteca en una ciudad de otro pa´ el correo a ıs, electr´nico, etc. o
  • 29. 179 ´ 7.5. Comentarios bibliograficos 7.5 Comentarios bibliogr´ficos a [JM90] y [Ber86] son dos buenas recopilaciones, con car´cter general, so- a bre la historia pasada de los instrumentos de c´lculo, desde la calculadora de a Pascal hasta nuestros d´ [Ber86] es extraordinariamente entretenido, con un ıas. buen n´mero de an´cdotas y curiosidades sobre los padres de la computaci´n u e o moderna. Especialmente interesantes son las citas de escritos de von Neumann recogidas en ´l. e En [Swa93] se presentan los avatares en que se vio envuelta la construcci´n o de la m´quina anal´ a ıtica de Babbage, demostrando que el proyecto era viable, a pesar de no verse finalizado: En este art´ ıculo se describe la construcci´n de la o m´quina anal´ a ıtica con motivo del segundo centenario del nacimiento de Charles Babbage, y de acuerdo con sus planos originales. Aunque los computadores digitales actuales tienen su origen en el modelo de von Neumann (1945), la invenci´n del primer computador electr´nico es o o anterior, y se debe a J. V. Atanasoff, que construy´ el primer computador o digital entre 1937 y 1942. De hecho, es posible que los creadoes del ENIAC copiaran algunas de sus ideas ([Mac88]). Sobre computaci´n avanzada en la actualidad y perspectivas de futuro de o la inform´tica pueden consultarse [Com87] y [Sim85]. [La 91] trata sobre este a mismo tema, en relaci´n con las comunicaciones. o
  • 30. Ap´ndice A e Introducci´n al DOS o El dos es, hoy en d´ el sistema operativo m´s difundido para com- ıa, a putadores PC de IBM y compatibles. Dada la gran difusi´n de ´stos, o e se comprende la importancia que tiene conocer el dos. Aunque los PCs pueden comunicarse con otros a trav´s de redes, su e modo habitual de trabajar es aut´nomo, por lo que el dos es un sistema o operativo monousuario. Su cometido (v´ase el cap´ e ıtulo 4) consiste en gestionar los recursos del sistema, controlando el uso de los dispositivos (como las unidades de disco, la impresora, el rat´n), administrando la o memoria principal y facilitando la ejecuci´n de programas y la organi- o zaci´n de archivos dentro de los discos. o El dos es en realidad un programa (o mejor dicho un conjunto de programas) grabado en un disco.1 Cuando se enciende un equipo, se empieza cargando este programa en la memoria principal y se efect´anu las tareas de puesta en marcha (v´ase la secci´n A.3); entonces entra en e o funcionamiento un int´rprete de mandatos, que espera las ´rdenes del e o usuario (v´ase la secci´n A.2), y las va ejecutando sucesivamente. e o Asumimos en adelante una configuraci´n con disco fijo (duro) en el o que se encuentra este programa de arranque del dos, que es actualmente el caso m´s habitual. a 1 De hecho, ´se es el significado de las siglas que forman su nombre: “Disk Operating e System”, que quiere decir en ingl´s Sistema Operativo de Disco. e
  • 31. 182 ´ ´ Apendice A. Introduccion al DOS A.1 Organizaci´n de recursos o A.1.1 Principales dispositivos Durante el trabajo con el dos, a veces necesitamos referirnos expl´ ı- citamente a los perif´ricos; para ello, se emplean los siguientes t´rminos e e en el lenguaje del dos: identificador perif´rico e nulo nul: consola = teclado + monitor con: a: b: c: . . . unidades de disco lpt1: = prn: impresora lpt2: . . . otros dispositivos en paralelo com1: = aux: dispositivo en serie com2: . . . otros dispositivos en serie Todos los dispositivos pueden nombrarse omitiendo los dos puntos finales, a excepci´n de las unidades de disco que deben llevarlos obliga- o toriamente. A.1.2 Archivos Un archivo del dos no es m´s que un documento, aunque en vez de a estar representado por una secuencia de letras escritas sobre papel, con- siste en una secuencia de bytes (que representan caracteres igualmente) grabados sobre una zona de un disco magn´tico. Dependiendo del con- e tenido de los archivos, desde el punto de vista del dos, algunos archivos son “de datos” y otros son “programas”, escritos en lenguaje de m´quina a o del dos. Los archivos se nombran mediante palabras, llamadas identificadores, formadas por letras, d´ ıgitos y los caracteres siguientes: ~!@#$%^()-_{}’
  • 32. 183 ´ A.1. Organizacion de recursos Los identificadores de los archivos tienen dos partes: nombre (de un m´ximo de ocho letras) y extensi´n (de un m´ximo de tres), siendo esta a o a ultima opcional. Al escribir el identificador de un archivo, estas dos ´ partes se separan mediante un punto. Usando la notaci´n EBNF (v´ase o e el cap´ ıtulo 5), esta descripci´n puede expresarse as´ o ı: identificador ::= nombre[.extensi´n] o Ateni´ndonos a estas reglas, conviene elegir los nombres de los archivos e relacionados con su contenido. En cuanto a las extensiones, su elecci´n o depende del tipo de archivo; las m´s usuales son las siguientes: a extensi´n o uso habitual Programas ejecutables com exe Lotes de ´rdenes (v. A.2.5) o bat Programas del sistema sys C´digo fuente de programas o bas pas cob en Basic, Pascal o Cobol Archivos de texto txt L´gicamente, los identificadores usados para representar archivos no o pueden coincidir con los identificadores propios de dispositivos. Con frecuencia, se necesita realizar ciertas operaciones con un grupo de archivos m´s o menos grande. Si esos archivos fueron bautizados si- a guiendo ciertas pautas, es posible identificarlos gen´ricamente mediante e un patr´n o plantilla de archivo. Para ello, se usan los caracteres co- o mod´ * y ?, que representan respectivamente cualquier cadena de ca- ın, racteres como terminaci´n del nombre o extensi´n, y un car´cter en o o a cualquier posici´n del identificador. Por ejemplo: o Plantilla Interpretaci´n o archivo.com, archi-1.com, arch.com,. . . arch∗.com c92-93.txt, c93-94.txt, c9a-9f.txt,. . . c9?-9?.txt ∗.exe Todos los archivos con esa extensi´n o ∗.∗ Todos los archivos
  • 33. 184 ´ ´ Apendice A. Introduccion al DOS A.1.3 Directorios El n´mero de archivos grabados en un disco llega con frecuencia a u ´ ser enorme, por lo que se hace necesario clasificarlos. Este es el come- tido de los directorios y subdirectorios, algo as´ como compartimentos ı y compartimentos dentro de compartimentos que permiten organizar jer´rquicamente los archivos de un disco. a En general, los identificadores de los directorios siguen las mismas reglas que los archivos, aunque en el caso de los directorios es bastante frecuente omitir la extensi´n. Adem´s de los identificadores corrientes, o a existen s´ ımbolos especiales para indicar las siguientes posiciones: identificador posici´n o el directorio principal o ra´ ız el directorio actual . el directorio “padre” .. La comparaci´n de los directorios con compartimentos se refleja gr´- o a ficamente en el ejemplo de la figura A.1, donde los identificadores de los directorios y subdirectorios se˜alan puertas (de entrada), y los archivos n est´n representados directamente por sus identificadores. Otro modo a m´s sencillo e igualmente util de representarlos es como ´rboles, seg´n a ´ a u se muestra en la figura A.2. Es importante tener en cuenta que los archivos contenidos en cada unidad de trabajo est´n organizados en forma de arbol, por lo tanto, a ´ cada unidad tiene su propio directorio ra´ y en todo momento cada ız unidad tiene un directorio actual. Adem´s, es posible referirse a cualquier directorio o conjunto de ar- a chivos indicando una ruta de acceso desde la posici´n actual, esto es, el o 2 (v´ase 4.2.2). Con este fin, el s´ directorio de trabajo e ımbolo sirve para concatenar los pasos hacia dicha posici´n. o As´ por ejemplo, considerando que el disco C: est´ organizado seg´n ı a u la estructura anterior, es posible referirse a los archivos ejerci.tex y examen.tex desde diversos lugares: 2 Esta posici´n se conoce frecuentemente como directorio “por defecto”, a causa de o una traducci´n dudosa de su nombre default directory, en ingl´s. o e
  • 34. 185 ´ A.1. Organizacion de recursos escuela command.com autoexec.bat grupo-C.dbf config.sys ejerci.tex juegos examen.tex tetris.exe cartas carta-2.txt keyb.com carta-1.txt keyboard.sys win.bat Figura A.1. • Desde C: escuela*.tex • Desde C:escuela *.tex • Desde C:escuelacartas ..*.tex • Desde C:escuelajuegos ..escuela*.tex
  • 35. 186 ´ ´ Apendice A. Introduccion al DOS command.com config.sys autoexec.bat keyb.com keyboard.sys win.bat escuela grupo-C.dbf ejerci.tex examen.tex cartas carta-1.txt carta-2.txt juegos tetris.exe Figura A.2.
  • 36. ´ 187 A.2. Ordenes del DOS • Desde cualquier lugar del disco C: escuela*.tex • Desde cualquier lugar, incluso desde otro disco: C:escuela*.tex A.1.4 Prompt El prompt 3 es un indicador con el que el dos expresa que est´ es- a perando nuestras ordenes, listo para ejecutarlas. El dos puede indicar ´ esta disposici´n de diversas formas, a nuestro capricho, pero la m´s ex- o a tendida consiste en recordar el disco de trabajo y la posici´n, dentro de o ´l, en ese momento; suele finalizarse con el car´cter . Por ejemplo, el e a prompt C:ESCUELACLASES indica que la posici´n de trabajo actual es el subdirectorio CLASES, del o directorio ESCUELA, en el disco C:. A la derecha del prompt aparece el cursor, bajo nuestro control, para escribir la orden que deseemos. ´ A.2 Ordenes del DOS El sistema dos ofrece un int´rprete de mandatos que permite al e usuario la comunicaci´n con el computador. o Empecemos por poner unos cuantos ejemplos de ´rdenes, junto con o su funcionamiento. En adelante, usaremos letra de molde para reprodu- cir el intercambio de informaci´n entre computador y usuario; lo escrito o por el computador aparece en letra vertical y lo escrito por el usuario en letra oblicua: 3 Aunque en espa˜ol significa incitar o incitaci´n, s´lo usamos el t´rmino ingl´s, sin n o o e e traducir.
  • 37. 188 ´ ´ Apendice A. Introduccion al DOS C:CD pascal C:PASCALA: A:Dir *.CHI El volumen en la unidad A no tiene etiqueta El n´mero de serie del volumen es 335E-11EF u Directorio de A: ENTROPY CHI 1633 21/06/93 9:08 REGLAMEN CHI 2204 27/06/93 20:07 JUNIO-93 CHI 3425 29/06/93 17:03 3 Archivo(s) 176640 bytes libres A:FORMAT B: Comando o archivo no se encuentra A:C:DOSFORMAT B: ... ... ... A:CLS Debe advertirse que en el lenguaje del dos no se distingue entre las letras may´sculas y las min´sculas. Esto afecta a los identificadores (ya u u sea para dispositivos, archivos o directorios), as´ como a las ´rdenes que ı o estudiaremos. Por otra parte, los comandos del dos pueden agruparse en dos ca- tegor´ıas: ´rdenes (internas) del dos y programas (externos). El dos o conoce las primeras, y es capaz de interpretarlas y ejecutarlas en cual- quier momento; tambi´n es posible ordenar la ejecuci´n de un programa e o tras el prompt pero, para ejecutarlo, el dos debe leer el disco para pa- sarlo a la memoria del computador. Por lo tanto, s´lo es posible ejecutar o programas grabados en un disco accesible por el dos. Por ejemplo: el cambio de unidad, las ordenes CLS, DIR y CD son ´ o ´rdenes internas; FORMAT en cambio es un programa. El inter´s de esta e observaci´n consiste en que, cuando se ordena un comando externo o o programa, para que ´ste pueda ejecutarse deber´ darse alguna de las e a siguientes circunstancias:
  • 38. ´ 189 A.2. Ordenes del DOS - el programa deber´ estar en la unidad y directorio de trabajo ac- a tual, o - se indicar´ su posici´n, para que el dos pueda encontrarlo, o a o - estar´ en alguna de las posiciones conocidas de antemano por a el dos en los que busca las ´rdenes de uso frecuente (v´ase la o e secci´n A.2.3). o En los siguientes apartados se describir´n los comandos del dos m´s a a usuales. Interesa saber de cada uno si es externo o interno, su prop´sito o y su sintaxis correcta. Usaremos las reglas EBNF (introducidas en el cap´ ıtulo 5) escribiendo los s´ ımbolos terminales con letra vertical y los no terminales con letra oblicua, en vez de distinguirlos con may´sculas u y min´sculas, o de usar los metas´ u ımbolos y , por tener ´stos otro e cometido. As´ por ejemplo, podemos decir que la estructura general de las ı o ´rdenes del dos es la siguiente: comando [argumentos] [opciones] donde la primera palabra es el nombre del comando, y aparece siempre; los argumentos son los objetos que maneja la orden, frecuentemente ar- chivos o directorios, y no siempre aparecen (por ejemplo, la orden CLS no tiene argumentos); y las opciones son espec´ ıficas de cada comando, como /W, y alteran el funcionamiento del mismo. En estas descripciones sint´cticas aparecer´n con frecuencia los siguientes s´ a a ımbolos no termi- nales: • Unidad : A:, B:, C:, . . . • La [posici´n], opcional, se indica cuando procede, dando una uni- o dad de disco y/o un camino de acceso, bien desde el directorio ra´ ız (posici´n absoluta) o desde el (sub)directorio actual abierto en el o disco correspondiente (posici´n relativa): o [unidad][camino]
  • 39. 190 ´ ´ Apendice A. Introduccion al DOS • Archivo(s), que muchas veces se expresar´n de forma gen´rica me- a e diante una plantilla o patr´n, usando los s´ o ımbolos comod´ın. • Las opciones, tales como /B, /S, . . . Por otra parte, muchas de las ordenes incluyen en su sintaxis partes ´ opcionales, frecuentemente un disco, una posici´n dentro de ´l o un o e conjunto de archivos. Cuando esas partes opcionales se omiten, se asume que se trata del disco de trabajo actual, del (sub)directorio abierto, de todos los archivos a la vista, etc. ´ A.2.1 Ordenes b´sicas a CLS (interna) • Prop´sito: Borra la pantalla, situando el prompt y el cursor en su o comienzo. • Sintaxis: CLS Cambio de unidad (interna) • Prop´sito: Establece una nueva unidad de trabajo. o • Sintaxis: unidad FORMAT (externa) • Prop´sito: Preparar un disco para ser usado por el dos, creando o el directorio (vac´ inicial. ıo) • Sintaxis: [posici´n]FORMAT unidad [opciones] o • Algunas de las opciones usadas con este comando son las siguientes: – /S, para transferir a un disco el sistema operativo, haciendo as´ posible iniciar el funcionamiento del dos con ese disco. ı – /V, para dar un nombre a un disco.
  • 40. ´ 191 A.2. Ordenes del DOS A.2.2 Manejo de archivos DIR (interna) • Prop´sito: Proporciona informaci´n sobre: o o – la posici´n especificada, o – los archivos visibles en esa posici´n, o – las puertas (de acceso a directorios) a la vista, incluyendo el subdirectorio actual, desde la posici´n indicada, o – la memoria libre en una unidad. • Sintaxis: DIR [posici´n][archivo(s)] [/W][/P] o • Ejemplo: C:PASCAL-6 DIR /w El volumen en la unidad C tiene etiqueta BLAISE El n´mero de serie del volumen es 0F1E-18DF u Directorio de C:PASCAL-6 . .. TVISION TVDEMOS UTILS TURBO3 TURBO EXE UNZIP EXE README COM TURBO TPL TURBO TP TPC EXE TPTOUR EXE TPTOUR CBT TPTOUR1 CBT TPTOUR_P CBT TPTOUR CBT TPTOUR_U CBT README TURBO HLP TPC CFG NONAME00 PAS 22 Archivo(s) 5171200 bytes libres • Opciones – /P sirve para parar la relaci´n de p´gina en p´gina. o a a – Con la opci´n /W, s´lo se da el identificador de cada archivo o o y se aprovecha la pantalla a lo ancho, con lo que la relaci´n o ocupa menos l´ıneas.