Introducción a la Bases Datos
2024-2
Historia de BASES DE DATOS
• Las bases de datos existen desde la Antigüedad,
donde se recogía información sobre las cosechas
o los censos en papiros y se custodiaban en
bibliotecas. Pero si hablamos de bases de datos
ligadas a la informática, su origen se remonta a
1884 con Herman Hollerith, que desarrolló
el tabulador electromagnético de tarjetas
perforadas con el fin de ayudar en el resumen de
información y posteriormente a la contabilidad.
• El término “base de datos” se escuchó por primera
vez en 1963 en un simposio en California. Se la definió
como “un conjunto de “información” relacionada
que se encuentra agrupara o estructurada”.
2
Historia
décadas del 50 y 60
• En los años 60 se dio la aparición de las cintas magnéticas, un
nuevo avance que permitía automatizar la información y realizar
respaldos, pero con la desventaja de que solo se podían hacer
de manera secuencial, es decir, para buscar dicha información
había que ir al lugar exacto en el que se encontraba y volver al
principio de nuevo cada vez que se quería hacer una nueva
búsqueda. El tiempo de respuesta era bastante elevado.
• Con los 60 llegó la bajada de precios de los ordenadores,
haciendo su uso más accesible para las empresas. En esta época
se popularizó el uso también de los discos duros, un avance que
permitió guardar la información de manera directa y consultarla
sin necesidad de saber la ubicación exacta de los datos.
• También se inició la primera generación de bases de datos de
red (CODASYL) y las jerárquicas (IMS), que permitían almacenar
las estructuras de datos en listas y árboles, además de la
creación de un estándar en los sistemas de bases de datos,
gracias a la creación de nuevos lenguajes de sistemas de
información.
3
Historia
décadas del 70 y 80
• Edgar Frank Codd, científico informático inglés,
definió el modelo relacional y publicó una serie
de reglas para los sistemas de datos relacionales.
• Más tarde, el multimillonario Lawrence “Larry”
Ellison, aprovechó las aportaciones de Codd para
desarrollar el Relational Software System, lo que
actualmente se conoce como Oracle Corporation,
que se destacaba por su estabilidad,
escalabilidad, transacciones y multiplataforma.
• En la década de los 80 se desarrolló el lenguaje
de consulta estructurado (SQL – Structured
Query Language) que permitió realizar consultas
con el fin de recuperar datos de interés de
una base de datos y realizar modificaciones en la
misma de forma sencilla.
4
Historia
décadas del 90
• Surgió las bases de datos orientas a objetos que
tuvieron, incluso en la actualidad, bastante éxito en el
momento de ejecutar datos complejos en los lugares
donde las bases de datos relacionales no han podido
desenvolverse con una manera eficaz. De esta forma se
desarrollaron herramientas como Excel y Access. Así se
creó la tercera generación de Sistemas Gestores de
Bases de Datos.
5
¿Qué son las bases de datos?
• Una base de datos es un “almacén” que nos permite guardar
grandes cantidades de información de forma organizada para
que luego sea fácilmente accesible, gestionada y actualizada.
• Una base de datos es un conjunto de datos pertenecientes a
un mismo contexto y almacenados sistemáticamente para su
posterior uso.
6
Componentes de bases de datos
• Las bases de datos están organizadas por campos, registros y archivos.
1. Campo:
Es el nombre de la unidad de información. Cada entrada en una base de datos
puede tener múltiples campos de diversos tipos. Para definir un nuevo campo, en
primer lugar debe darle un nombre. Después de definir un campo, puede
configurar opciones de validación, introducción automática y almacenamiento.
2. Registro (también llamado fila o tupla) :
Representa un objeto único de datos implícitamente estructurados en una tabla.
Un registro es un conjunto de campos que contienen los datos que pertenecen a
una misma repetición de entidad.
3. Archivos:
Los archivos de bases de datos almacenan datos en formato estructurado,
organizados en tablas y campos que permiten su localización y acceso más rápido
7
Tipos de datos
• Enteros: permite representar números enteros.
• Reales: o flotante, viene del término punto flotante, que es la manera en que el computador representa
internamente los números reales. los números reales no se pueden representar de manera exacta en un
computado. el número decimal 0.7 es representado internamente por el computador mediante la aproximación
0.69999999999999996. Los números reales literales se escriben separando la parte entera de la decimal con un
punto. Las partes entera y decimal pueden ser omitidas si alguna de ellas es cero.
• Lógicos: Los valores lógicos verdadero y falso son de tipo booleano, que representa valores lógicos.
8
Tipos de datos
• Texto: son valores que representan texto, los textos literales pueden ser representados con texto entre comillas
simples o comillas dobles.
• Alfanumérico: contiene cifras numéricas y caracteres alfabéticos.
• Autoincremental: son campos numéricos enteros que incrementan en una unidad su valor para cada registro
incorporado. Su utilidad resulta más que evidente: servir de identificador registro.
• Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita
ordenar los registros por fechas o calcular los días entre una fecha y otra.
9
sistema de gestión de bases de datos (SGBD)
• Un sistema de gestión de bases de datos relacionales (RDBMS) es un
programa que te permite crear, actualizar y administrar una base de datos
relacional.
• Un sistema gestor de base de datos (SGBD) es un conjunto de programas
que permiten el almacenamiento, modificación y extracción de la información
en una base de datos. Los usuarios pueden acceder a la información usando
herramientas específicas de consulta y de generación de informes, o bien
mediante aplicaciones al efecto.
10
sistema de archivos o ficheros
• Es el componente del sistema operativo encargado de administrar y facilitar el uso de las
memorias periféricas, ya sean secundarias o terciarias.
• Son los métodos y estructuras de datos que un sistema operativo utiliza para seguir la pista
de los archivos de un disco o partición; es decir, es la manera en la que se organizan los
archivos en el disco.
• Es utilizado para referirse a una partición o disco que se está utilizando para
almacenamiento, o el tipo del sistema de archivos que utiliza.
11
Jerarquía y propiedades de base de datos
• Diccionario de datos: Repositorio de información sobre los programas
de aplicaciones, las bases de datos, los modelos de datos lógicos.
Cuando este cambia, el proceso de cambio incluye comprobaciones de
edición que pueden impedir daños en el diccionario de datos.
• Contenedor: Ubicación de almacenamiento de datos, por ejemplo, un
directorio de archivos, o dispositivo, que se utiliza para definir una base
de datos.
• Partición de almacenamiento: Unidad lógica de almacenamiento en
una base de datos, por ejemplo, una colección de contenedores. Las
particiones de almacenamiento de base de datos se denominan tablas
12
Jerarquía y propiedades de base de datos
• Objeto de negocios: Entidad tangible dentro de una aplicación que
los usuarios crean, manipulan y a la que acceden mientras realizan
un caso de uso. Normalmente, los objetos de negocio en un sistema
tienen un estado, son persistentes y duraderos.
• Objeto de base de datos: Objeto que existe en una instalación de
un sistema de base de datos, por ejemplo, una instancia, una base
de datos, un grupo de particiones de base de datos, una agrupación
de almacenamiento intermedio, una tabla o un índice. Un objeto de
base de datos contiene datos y no tiene comportamiento.
13
Jerarquía y propiedades de base de datos
• Tabla: Objeto de base de datos que contiene una colección de datos para un tema
específico. Las tablas constan de filas y columnas.
• Columna: Componente vertical de una tabla de base de datos. Una columna tiene un
nombre y un tipo de datos específico, por ejemplo, carácter, decimal o entero.
• Fila: Componente horizontal de una tabla, que consta de una secuencia de valores, uno
para cada columna de la tabla.
14
Jerarquía y propiedades de base de datos
• Vista: Tabla lógica que se basa en datos almacenados en un conjunto subyacente de tablas. Los datos
devueltos por una vista los determina una SELECCIÓN que se ejecuta en las tablas subyacentes.
• Índice: Conjunto de punteros que están ordenador lógicamente según los valores de una clave. Los
índices proporcionan acceso rápido a los datos y pueden imponer la exclusividad de los valores de
clave para las filas en la tabla.
• Relación: Vínculo entre uno o más objetos que se crea especificando una sentencia de UNIÓN.
• Unión: Operación relacional en la que los datos pueden recuperarse de dos tablas, normalmente
basado en una condición de unión que especifica columnas de unión.
15
levantamiento de requerimientos
• Es una etapa fundamental en proyectos de ingeniería de software, es la
identificación y documentación de los requerimientos del futuro sistema al
comienzo del proyecto, pues en numerosas ocasiones se ha demostrado que es
cuando pueden prevenirse errores que puedan significar el fracaso del proyecto.
16
levantamiento de requerimientos
17
levantamiento de requerimientos
• Es la identificación y documentación de los requerimientos y limitaciones de un sistema a partir de los
usuarios, clientes o interesados (Stakeholders).
• Tipos de levantamiento de datos
1. Análisis de documentación: Consiste en obtener la información sobre los requerimientos
funcionales y requerimientos no funcionales de software a partir de documentos que ya están
elaborados.
2. Observación: Consiste en estudiar el entorno de trabajo de los usuarios, clientes e interesados de
proyecto (Stakeholders).
3. Entrevistas: Se realizan con los usuarios o interesados clave. Direccionan al usuario hacia
aspectos específicos del requerimiento a levantar. Son útiles para obtener y documentar
información detallada sobre los requerimientos y sus niveles de granularidad.
18
levantamiento de requerimientos
4. Encuestas o cuestionarios: Es una técnica útil cuando existen grupos de personas muy grandes
con los que debo realizar el levantamiento de requerimientos.
5. Mesas de trabajo (Workshops): Es una técnica efectiva para obtener información rápidamente de
varias personas. Es recomendable tener una agenda predefinida y preseleccionar a los participantes,
siguiendo buenas prácticas para reuniones efectivas.
6. Tormenta de ideas: Es una sesión de trabajo estructurada orientada para obtener la mayor cantidad
de ideas posibles. Es recomendable limitarlas en el tiempo, utilizar ayudas visuales y designar un
facilitador.
19
levantamiento de requerimientos
7. Historia del usuario: Las historias de usuario, son una aproximación simple al levantamiento de
requerimientos de software, en la cual la conversación pasa a ser más importante que la
formalización de requerimientos escritos. Es recomendable que sean escritas por el mismo cliente o
interesado
8. Universo del discurso: Es un texto descriptivo – narrativo, es el conjunto de cosas acerca de las
cuales se habla en un determinado contexto. Dependiendo del dominio de discurso, una
misma proposición podrá ser verdadera o falsa. Este ayuda a colocar limite a las solicitudes del
cliente, pues llega hasta donde nuestro cliente nos indica
20
Requerimientos No Funcionales
• Son los que especifican criterios para evaluar la operación de un servicio de tecnología de información, en contraste con
los requerimientos funcionales que especifican los comportamientos específicos.
• El Plan para implementar los requerimientos no funcionales se detalla en la Arquitectura del Sistema, mientras que el de
los requerimientos funcionales se especifica en el Diseño.
• Pueden clasificarse en requerimientos de producto, organizacionales y externos.
• Los requerimientos no funcionales son ignorados o subestimados en la fase de análisis de requerimientos. El error,
termina identificándose en la fase de implementación cuando remediarlos implica más trabajo y costo
• Tipos:
1. Pruebas de carga 6. Pruebas de seguridad
2. Pruebas de estrés 7. Pruebas de resistencia
3. Pruebas de volumen 8. Pruebas de escalabilidad
4. Pruebas de configuración 9. Pruebas de recuperación
5. Pruebas de usabilidad 10. Pruebas de mantenibilidad
21
Requerimientos Funcionales
• son aquellos que describen cualquier actividad que este deba realizar, es el comportamiento o función particular de
un sistema o software cuando se cumplen ciertas condiciones que fueron descritas o solicitadas por el cliente.
• Por lo general, estos deben incluir funciones desempeñadas por pantallas específicas, descripciones de los flujos de
trabajo a ser desempeñados por el sistema, requerimientos de negocio, cumplimiento, seguridad u otros.
• se suelen registran en la matriz de trazabilidad de requerimientos y en la especificación de requerimientos de
software, este último, documenta las operaciones y actividades que el sistema debe poder desempeñar.
1. Descripciones de los datos a ser 4. Descripción de los reportes del sistema y
ingresados en el sistema. otras salidas
2. Descripciones de las operaciones a ser 5. Definición de quien puede ingresar datos
realizadas por cada pantalla. en el sistema.
3. Descripción de los flujos de trabajo 6. Como el sistema cumplirá los reglamentos
realizados por el sistema y regulaciones de sector o generales que
le sean aplicables.
22
GRACIAS