Ir al contenido principal

Mis visitas

S5 A2 Análisis y abstracción de información

Actividad 2 Análisis y abstracción de información

Antecedentes

Historia de las Bases de Datos

El término bases de datos fue escuchado por primera vez en un simposio celebrado en California en 1963.
En una primera aproximación, se puede decir que una base de datos es un conjunto de información relacionada que se encuentra agrupada o estructurada.
Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.
Por su parte, un sistema de Gestión de Bases de datos es un tipo de software muy específico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; o lo que es lo mismo, una agrupación de programas que sirven para definir, construir y manipular una base de datos, permitiendo así almacenar y posteriormente acceder a los datos de forma rápida y estructurada.
Actualmente, las bases de datos están teniendo un impacto decisivo sobre el creciente uso de las computadoras.

Década años 1990

En la década de 1990 la investigación en bases de datos giró en torno a las bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la hora de gestionar datos complejos en los campos donde las bases de datos relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron herramientas como Excel y Access del paquete de Microsoft Office que marcan el inicio de las bases de datos orientadas a objetos.

Historia breve de la administración de proyectos

La administración de proyectos, en su forma moderna, comenzó a afianzarse hace solo unas décadas. A partir de principios de los años sesenta del siglo pasado, las empresas y otras organizaciones comenzaron a observar las ventajas de organizar el trabajo en forma de proyectos. Esta perspectiva de organización centrada en proyectos evolucionó aún más cuando las organizaciones empezaron a entender la necesidad fundamental de que sus empleados se comuniquen y colaboren entre sí al tiempo que integran su trabajo en diferentes departamentos, profesiones y, en algunos casos, industrias completas.

Bases teóricas

¿QUÉ ES UN SISTEMA DE BASE DE DATOS?

Un sistema de base de datos es básicamente un sistema computarizado para guardar registros; es decir, es un sistema computarizado cuya finalidad general es almacenar información y permitir a los usuarios recuperar y actualizar esa información con base en peticiones. La información en cuestión puede ser cualquier cosa que sea de importancia para el individuo u organización; en otras palabras, todo lo que sea necesario para auxiliarle en el proceso general de su administración.
Algunos autores prefieren distinguir entre "datos" para referirse a lo que está en realidad almacenado en la base de datos e "información" para referirse al significado de esos datos como lo entiende algún usuario. La diferencia es importante; tan importante que parece preferible hacerla explícita donde sea necesario, en vez de depender de una diferenciación un tanto arbitraria entre dos términos que son en esencia sinónimos. Que un sistema de base de datos comprende cuatro componentes principales: datos, hardware, software y usuarios.
Los sistemas de bases de datos, y en este libro haremos constantemente esta suposición (ya que materialmente no afecta ninguna de nuestras explicaciones posteriores). Sin embargo, en la práctica podría haber buenas razones (incluso en un sistema pequeño) para que los datos sean separados en diferentes bases de datos. En general, los datos de la base de datos —por lo menos en un sistema grande— serán tanto integrados como compartidos. Los aspectos de integración y compartimiento de datos representan una ventaja importante de los sistemas de bases de datos en el entorno "grande"; y al menos, también la integración de datos puede ser importante en los entornos "pequeños". Términos integrado y compartido.
  • Por integrada, queremos decir que podemos imaginar a la base de datos como una unificación de varios archivos que de otro modo serían distintos, con una redundancia entre ellos eliminada al menos parcialmente. Por ejemplo, una base de datos dada podría contener un archivo EMPLEADO que proporcionara los nombres de los empleados, domicilios, departamentos, sueldos, etc. y un archivo INSCRIPCIÓN que representara la inscripción de los empleados a los cursos de capacitación. Suponga ahora que, fuera de llevar a cabo el proceso de administración de cursos de capacitación, es necesario saber el departamento de cada estudiante inscrito. Entonces, resulta claro que no es necesario incluir esa información de manera redundante en el archivo INSCRIPCIÓN, debido a que siempre puede consultarse haciendo referencia al archivo EMPLEADO.
  • Por compartida, queremos decir que las piezas individuales de datos en la base pueden ser compartidas entre diferentes usuarios y que cada uno de ellos puede tener acceso a la misma pieza de datos, probablemente con fines diferentes. Como indiqué anteriormente, distintos usuarios pueden en efecto acceder a la misma pieza de datos al mismo tiempo ("acceso concurrente"). Este compartimiento, concurrente o no, es en parte consecuencia del hecho de que la base de datos está integrada. En el ejemplo citado arriba, la información de departamento en el archivo EMPLEADO sería típicamente compartida por los usuarios del Departamento de personal y los usuarios del Departamento de capacitación; y como ya sugerí, estas dos clases de usuarios podrían emplear esa información para fines diferentes. Nota: en ocasiones, si la base de datos no es compartida, se le conoce como "personal" o como" específica de la aplicación".

Hardware

Los componentes de hardware del sistema constan de:
  • Los volúmenes de almacenamiento secundario —principalmente discos magnéticos— que se emplean para contener los datos almacenados, junto con los dispositivos asociados de E/S (unidades de discos, etc.), los controladores de dispositivos, los canales de E/S, entre otros; y
  • Los procesadores de hardware y la memoria principal asociada usados para apoyar la ejecución del software del sistema de base de datos.

Software

Entre la base de datos física —es decir, los datos como están almacenados físicamente— usuarios del sistema, hay una capa de software conocida de manera indistinta como el administrador de base de datos o el servidor de base de datos; o más comúnmente como el sistema de administración de base de datos (DBMS). Todas las solicitudes de acceso a la base de datos son manejadas por el DBMS; para agregar o eliminar archivos (o tablas), recuperar y almacenar datos desde y en dichos archivos, etcétera son características que proporciona el DBMS. Por lo tanto, una función general que ofrece DBMS consiste en ocultar a los usuarios de la base de datos los detalles al nivel de hará (en forma muy parecida a como los sistemas de lenguajes de programación ocultan a los programadores de aplicaciones los detalles a nivel de hardware). En otras palabras, el DBMS ofrece a los usuarios una percepción de la base de datos que está, en cierto modo, por encima del nivel del hardware y que maneja las operaciones del usuario expresadas en términos de ese nivel más alto de percepción. A lo largo de este libro explicaremos con mayor detalle ésta y otras funciones del DBMS.
Algunos aspectos adicionales:
  • El DBMS es, por mucho, el componente de software más importante del sistema en general, aunque no es el único. Otros comprenden las utilerías, herramientas de desarrollo de aplicaciones, ayudas de diseño, generadores de informes y (el más importante) el administrador de transacciones o monitor PT. Para una mayor explicación de estos componentes.
  • El término DBMS se usa también para referirse en forma genérica a un producto determinado de algún fabricante; por ejemplo, el producto "DB2 Universal Database" de IBM para OS/390. El término ejemplar de DBMS se usa entonces para referirse a una copia de dicho producto que opera en alguna instalación de computadora determinada. Como seguramente notará, en ocasiones es necesario distinguir cuidadosamente entre estos dos conceptos.

Nota: Debemos advertirle que en la industria de las computadoras la gente a menudo usa el término base de datos cuando en realidad se refieren al DBMS (en cualquiera de los sentidos anteriores). He aquí un ejemplo típico: "El fabricante de la base de datos X superó al fabricante de la base de datos Y en proporción de dos a uno." Este uso es engañoso y no es correcto, aunque es mucho muy común. (Por supuesto, el problema es que, si al DBMS lo llamamos base de datos, entonces ¿cómo llamaremos a la base de datos?).
Usuarios
Consideramos tres grandes clases de usuarios (y que en cierto modo se traslapan):
  • Primero, hay programadores de aplicaciones responsables de escribir los programas de aplicación de base de datos en algún lenguaje de programación como COBOL. PL/1. C++ Java o algún lenguaje de alto nivel de la "cuarta generación" Estos programas acceden a la base de datos emitiendo la solicitud apropiada al DBMS (por lo regular una instrucción SQL). Los programas en sí pueden ser aplicaciones convencionales por lotes o pueden ser aplicaciones en línea, cuyo propósito es permitir al usuario final el acceso a la base de datos desde una estación de trabajo o terminal en línea (vea el párrafo siguiente). Las aplicaciones más modernas pertenecen a esta variedad. 
  • En consecuencia, la segunda clase de usuarios son los usuarios finales, quienes interactúan con el sistema desde estaciones de trabajo o terminales en línea. Un usuario final puede acceder a la base de datos a través de las aplicaciones en línea mencionadas en el párrafo anterior, o bien puede usar una interfaz proporcionada como parte integral del software del sistema de base de datos. Por supuesto, las interfaces proporcionadas por el fabricante están apoyadas también por aplicaciones en línea, aunque esas aplicaciones están integradas; es decir, no son escritas por el usuario. La mayoría de los sistemas de base de datos incluyen por lo menos una de estas aplicaciones integradas, digamos un procesador de lenguaje de consulta, mediante el cual el usuario puede emitir solicitudes a la base de datos (también conocidas como instrucciones o comandos), como SELECT e INSERT, en forma interactiva con el DBMS. El lenguaje SQL es un ejemplo típico de un lenguaje de consulta de base de datos. Nota: El término "lenguaje de consulta", a pesar de ser común, no es muy preciso, ya que el verbo "consultar" en lenguaje normal sugiere sólo una recuperación, mientras que los lenguajes de consulta por lo regular (aunque no siempre) ofrecen también actualización y otras operaciones. La mayoría de los sistemas proporcionan además interfaces integradas adicionales en las que los usuarios no emiten en absoluto solicitudes explícitas a la base de datos, como SELECT, sino que en vez de ello operan mediante (por ejemplo) la selección de elementos en un menú o llenando casillas de un formulario. Estas interfaces controladas por menús o por formularios tienden a facilitar el uso a personas que no cuentan con una capacitación formal en IT (Tecnología de la información; la abreviatura IS, de Sistemas de información, también es muy usada con el mismo significado). En contraste, las interfaces controladas por comandos (por ejemplo, los lenguajes de consulta) tienden a requerir cierta experiencia profesional en IT, aunque tal vez no demasiada (obviamente no tanta como la que es necesaria para escribir un programa de aplicación en un lenguaje como COBOL). Por otra parte, es probable que una interfaz controlada por comandos sea más flexible que una controlada por menús o por formularios, dado que los lenguajes de consulta por lo regular incluyen ciertas características que no manejan esas otras interfaces.
  • El tercer tipo de usuario, es el administrador de base de datos o DBA. La función del DBA, y la función asociada (muy importante) del administrador de datos.

¿QUE ES UNA BASE DE DATOS?

Datos persistentes

Es una costumbre referirse a los datos de la base de datos como "persistentes" (¡aunque en realidad éstos podrían no persistir por mucho tiempo!). Por persistentes queremos decir, de manera intuitiva, que el tipo de datos de la base de datos difiere de otros datos más efímeros, como los datos de entrada, los datos de salida, las instrucciones de control, las colas de trabajo, los bloques de control de software, los resultados intermedios y de manera más general, cualquier dato que sea de naturaleza transitoria. En forma más precisa, decimos que los datos de la base de datos "persisten" debido en primer lugar a que una vez aceptados por el DBMS para entrar en la base de datos, en lo sucesivo sólo pueden ser removidos de la base de datos por alguna solicitud explícita al DBMS, no como un mero efecto lateral de (por ejemplo) algún programa que termina su ejecución. Por lo tanto, esta noción de persistencia nos permite dar una definición más precisa del término "base de datos":
  • Una base de datos es un conjunto de datos persistentes que es utilizado por los sistemas de aplicación de alguna empresa dada.

Aquí, el término "empresa" es simplemente un término genérico conveniente para identificar a cualquier organización independiente de tipo comercial, técnico, científico u otro. Una empresa podría ser un solo individuo (con una pequeña base de datos personal), toda una corporación o un gran consorcio similar (con una gran base de datos compartida) o todo lo que se ubique entre estas dos opciones. Aquí tenemos algunos ejemplos:
  1. Una compañía manufacturera
  2. Un banco
  3. Un hospital
  4. Una universidad
  5. Un departamento gubernamental

Toda empresa necesariamente debe mantener una gran cantidad de datos acerca de su operación. Estos datos son los "datos persistentes" a los que nos referimos antes. En forma característica, las empresas que acabamos de mencionar incluirían entre sus datos persistentes a los siguientes:
  1. Datos de producción
  2. Datos contables
  3. Datos de pacientes
  4. Datos de estudiantes
  5. Datos de planeación

DATOS Y MODELOS DE DATOS

Existe otra importante forma de pensar sobre lo que en realidad son los datos y las bases de datos.
La palabra datos se deriva del vocablo latín para "dar"; por lo tanto, los datos en realidad son hechos dados, a partir de los cuales es posible inferir hechos adicionales. (Inferir hechos adicionales a partir de hechos dados es exactamente lo que hace el DBMS cuando responde a una consulta de un usuario.) Un "hecho dado" corresponde a su vez a lo que en lógica se denomina proposición verdadera;* por ejemplo, el enunciado "El proveedor V1 se ubica en Londres" podría ser una de estas proposiciones verdaderas. De aquí se desprende que una base de datos es en realidad una colección de tales proposiciones verdaderas.

¿POR QUÉ UNA BASE DE DATOS?

¿Por qué utilizar un sistema de base de datos? ¿Cuáles son las ventajas? Hasta cierto punto, la respuesta a estas preguntas depende de si el sistema en cuestión es de un solo usuario o multiusuario (o para ser más precisos, existen muchas ventajas adicionales en el caso del sistema multiusuario). Consideraremos primero el caso de un solo usuario.
Pero imagine una base de datos similar para un gran restaurante, con una existencia tal vez de miles de botellas y cambios muy frecuentes a dichas existencias; o piense en una tienda de licores, también con una gran existencia y una mayor rotación en la misma. Tal vez en estos casos sea más fácil apreciar las ventajas de un sistema de base de datos sobre los métodos tradicionales basados en papel, para llevar un registro. He aquí algunas:
  • Compactación: No hay necesidad de archivos en papel voluminosos.
  • Velocidad: La máquina puede recuperar y actualizar datos más rápidamente que un humano. En particular, las consultas específicas sin mucha elaboración (por ejemplo, "¿Tenemos más Zinfandel que Pinot Noir?") pueden ser respondidas con rapidez, sin necesidad de búsquedas manuales o visuales que llevan tiempo.
  • Menos trabajo laborioso; Se puede eliminar gran parte del trabajo de llevar los archivos a mano. Las tareas mecánicas siempre las realizan mejor las máquinas.
  • Actualidad: En el momento que la necesitemos, tendremos a nuestra disposición información precisa y actualizada.

Desde luego, los beneficios anteriores se aplican aún con más fuerza en un entorno multiusuario, donde es probable que la base de datos sea mucho más grande y compleja que en el caso de un solo usuario. No obstante, en el entorno multiusuario hay una ventaja adicional, que expresaremos así: El sistema de base de datos ofrece a la empresa un control centralizado de sus datos (los cuales, como se habrá dado cuenta a estas alturas, constituyen uno de sus activos más valiosos). Esta situación contrasta en gran medida con la que se encuentra en una empresa que no cuenta con un sistema de base de datos, en donde por lo general cada aplicación tiene sus propios archivos privados (a menudo también sus propias cintas y discos) de modo que los datos están muy dispersos y son difíciles de controlar de una forma sistemática.

Comentarios

Entradas más populares de este blog

Estadística Básica U1 A1 La estadística y mi carrera

La estadística y mi carrera En ésta actividad había que seleccionar un tema de investigación, relacionada con la carrera y aplicar la estadística, en mi caso se me hizo particularmente complicado hallar la manera de elegir el tema correcto de investigación. Situación Conocer la iniciativa MéxicoFIRST la cual se dedica a la certificación de programadores en México. Reseña Este documento pretende abarcar la investigación sobre la certificación en México, sus beneficios y cuantos programadores se han beneficiado con esta iniciativa. Descripción del problema Una verdadera problemática para los estudiantes y futuros profesionales de la programación, es conocer las dependencias con las que se cuenta para prepararse profesionalmente, ser más competitivos y brindar servicios de calidad. Justificación de su trascendencia Conocer los beneficios de una certificación y el impacto de este en nuestra vida profesional ayudara a motivar a los estudiantes a alcanzar estas ...

Fundamentos de programación U1 A1 Elementos básicos de programación

Elementos básicos de programación En esta actividad el docente dejó instrucciones para investigar lo siguiente: ¿Qué es un lenguaje de programación? ¿Qué es un programa?  ¿Qué es la programación?  ¿Por qué es importante escribir programas?  ¿Qué es un lenguaje de programación? Es aquella estructura que, con una cierta base sintáctica y semántica, imparte distintas instrucciones a un programa de computadora. (Pérez Porto & Merino, 2009) ¿Qué es un programa?  Un programa, en computación, es una secuencia de órdenes que se escriben en lenguajes llamados códigos de programación con el fin de lograr que la computadora realice una o más acciones determinadas. (vikidia, 2017) ¿Qué es la programación?  La programación de computadoras es el arte de hacer que una computadora haga lo que nosotros queramos. En el nivel más simple consiste en ingresar en la computadora una secuencia de órdenes para lograr un cierto objetivo. En el entorno de MS, ...

S8 A2 Presentación multimedia y exposición de resultados