Base de Datos Resumen
Base de Datos Resumen
Bases de Datos
Las bases de datos son una parte fundamental de la informática y la gestión de la
información en la era digital. Permiten almacenar, organizar y recuperar datos de
manera eficiente, lo que resulta esencial en una amplia variedad de aplicaciones,
desde sistemas de gestión empresarial hasta redes sociales y motores de
búsqueda.
4.1 Normalización
La normalización es un proceso clave en el diseño de bases de datos relacionales.
Su objetivo principal es eliminar la redundancia y mejorar la integridad de los datos.
La normalización se divide en diferentes formas (1NF, 2NF, 3NF, etc.), cada una de
las cuales se aplica para reducir las anomalías de actualización y asegurar que los
datos estén almacenados de manera eficiente.
5.1 Transacciones
Una transacción es una secuencia de operaciones que se ejecutan como una unidad
atómica. Esto significa que todas las operaciones de una transacción se realizan
correctamente o ninguna se realiza en absoluto. La propiedad ACID (Atomicidad,
Consistencia, Aislamiento y Durabilidad) garantiza que las transacciones sean
confiables y mantengan la integridad de los datos.
Estos son solo algunos de los aspectos clave relacionados con las bases de datos.
El mundo de las bases de datos es amplio y continuamente evolucionando, con
nuevas tecnologías y enfoques que surgen constantemente para abordar los
desafíos y las oportunidades en la gestión de datos.
1. Flexibilidad de datos:
● Basado en documentos: las bases de datos NoSQL como MongoDB
almacenan datos en documentos, generalmente en formatos como JSON o
BSON (JSON binario). Cada documento puede tener una estructura diferente,
lo que permite flexibilidad a medida que evolucionan los datos.
● Almacenes clave-valor: en este tipo, los datos se almacenan como un
conjunto de pares clave-valor. Los almacenes clave-valor son altamente
escalables y pueden manejar cantidades masivas de datos, pero ofrecen
capacidades de consulta limitadas.
● Almacenes de familia de columnas: los datos se organizan en familias de
columnas, que son similares a las tablas de las bases de datos relacionales,
pero con un esquema dinámico. Esto se ejemplifica en bases de datos como
Apache Cassandra.
● Bases de datos de gráficos: diseñadas para administrar y consultar datos con
relaciones complejas, las bases de datos de gráficos utilizan nodos y bordes
para representar y almacenar datos. Neo4j es un ejemplo popular.
2. Escalabilidad:
● Escalabilidad horizontal: las bases de datos NoSQL son conocidas por su
capacidad para escalar horizontalmente, lo que significa que puede agregar
más servidores para manejar cargas de datos crecientes. Esto los hace
adecuados para aplicaciones web y escenarios de big data.
● Teorema CAP: Las bases de datos NoSQL a menudo se clasifican en función
del teorema CAP, que establece que un sistema distribuido puede lograr como
máximo dos de tres características: consistencia, disponibilidad y tolerancia
de partición. Diferentes bases de datos NoSQL priorizan estas características
de manera diferente.
3. Casos de uso:
● Big Data: Las bases de datos NoSQL se usan comúnmente en aplicaciones de
big data donde los volúmenes de datos son enormes, y las bases de datos
tradicionales pueden tener dificultades para mantenerse al día con la escala.
● Aplicaciones en tiempo real: las bases de datos NoSQL sobresalen en
aplicaciones en tiempo real como redes sociales, juegos e IoT, donde la baja
latencia y el alto rendimiento son críticos.
● Gestión de contenido: Son adecuados para sistemas de gestión de contenido,
ya que permiten un fácil manejo de varios tipos de datos como texto,
imágenes, videos y metadatos.
● Análisis: Las bases de datos NoSQL se pueden utilizar para almacenar y
analizar datos para inteligencia empresarial y almacenamiento de datos.
5. Desafíos:
● Consistencia de datos: Lograr una sólida consistencia de datos puede ser un
desafío en bases de datos NoSQL distribuidas, y pueden ser necesarias
compensaciones.
● Lenguaje de consulta: Cada base de datos NoSQL puede tener su lenguaje de
consulta o API, por lo que es necesario que los desarrolladores aprendan
diferentes herramientas.
● Modelado de datos: La flexibilidad de las bases de datos NoSQL requiere una
cuidadosa consideración del modelado de datos para evitar problemas de
rendimiento o inconsistencia de datos.
1. Definición de Objetivos:
● Identificar el propósito de la base de datos: ¿se utilizará para gestionar
inventarios, realizar seguimiento de ventas, mantener registros de empleados,
u otros fines?
● Determinar qué preguntas o consultas debe poder responder la base de
datos.
4. Seguridad y Privacidad:
● Establecer políticas de seguridad para garantizar que solo las personas
autorizadas puedan acceder y modificar los datos.
● Considerar la encriptación de datos sensibles y la implementación de
medidas de seguridad adicionales.
5. Escalabilidad y Rendimiento:
● Planificar la escalabilidad de la base de datos para acomodar crecimiento
futuro.
● Diseñar índices y consultas eficientes para mejorar el rendimiento.
6. Plan de Respaldo y Recuperación:
● Establecer estrategias de respaldo regulares para evitar la pérdida de datos
en caso de fallos.
● Definir procedimientos de recuperación en caso de fallos catastróficos.
1. Arquitectura Cliente-Servidor:
● En esta arquitectura, la base de datos se encuentra en un servidor central, y
los clientes se conectan para acceder y manipular los datos.
● Permite el acceso remoto a la base de datos y es común en aplicaciones web
y empresariales.
3. Arquitectura Distribuida:
● Utiliza múltiples servidores de bases de datos distribuidos geográficamente
para mejorar la disponibilidad y la escalabilidad.
● Requiere mecanismos de sincronización y coherencia de datos para
mantener la integridad de los datos.
4. Arquitectura NoSQL:
● En bases de datos NoSQL, la arquitectura puede variar según el tipo de base
de datos (documento, columna, gráfico, etc.).
● Estas bases de datos a menudo se escalan horizontalmente, dividiendo los
datos en múltiples nodos.
5. Arquitectura en la Nube:
● Las bases de datos en la nube se ejecutan en infraestructura de nube, lo que
proporciona flexibilidad y escalabilidad instantánea.
● Los servicios de bases de datos en la nube, como AWS RDS y Azure SQL
Database, son ejemplos de esta arquitectura.
Conclusión
Las bases de datos son una parte esencial de la tecnología moderna, y su
comprensión es crucial para profesionales de TI y empresas en todos los sectores.
Este resumen ha abarcado los conceptos clave y las tendencias actuales en el
mundo de las bases de datos, pero hay mucho más por descubrir en este campo en
constante evolución.
9.1.1 Amenazas accidentales para la seguridad Los siguientes son algunos ejemplos de
violaciones accidentales de la seguridad.
■ El usuario solicita sin malicia un objeto u operación para los que no debería estar
autorizado, y la solicitud se aprueba debido a un fallo en los procedimientos de autorización
o porque hay un error en el sistema de administración de la base de datos o sistema
operativo.
■ Una persona envía por accidente un mensaje que debería enviarse a otro usuario,
lo que resulta en el acceso no autorizado al contenido de la base de datos.
■ Un error en el sistema de comunicaciones conecta a un usuario a una sesión que
pertenece a otro que tiene diferentes privilegios de acceso.
■ Por accidente, el sistema operativo sobrescribe, erróneamente, en archivos y
destruye parte de la base de datos, busca en los archivos incorrectos, y luego los envía
inadvertidamente al usuario, o no borra archivos que deben ser destruidos. 9.1.2 Amenazas
deliberadas para la seguridad Las violaciones deliberadas a la seguridad ocurren cuando un
usuario logra de manera intencional acceso no autorizado a la base de datos. Un empleado
disgustado que conozca el sistema de cómputo de la organización representa una amenaza
enorme a la seguridad. Los espías industriales que buscan información para la competencia
también amenazan la seguridad. Hay muchos modos de hacer violaciones deliberadas en la
seguridad, entre las que están las siguientes:
■ Intervención de líneas de comunicación para interceptar mensajes hacia y desde la
base de datos
■ Escucha furtiva electrónica para obtener señales de las estaciones de trabajo,
impresoras y otros dispositivos dentro de un edificio
■ Lectura o copiado de pantallas e impresiones dejadas con descuido por usuarios
autorizados
■ Suplantación de un usuario autorizado, o con mayor acceso, por medio del uso de
su registro y clave 09 Ricardo CH 09.indd 344 20/3/09 15:59:01 www.FreeLibros.org 9.2
Seguridad física y autentificación del usuario 345
■ Escritura de programas con código ilegal para esquivar el sistema de administración
de la base de datos y su mecanismo de autorización, con el fin de acceder a los datos
directamente desde el sistema operativo
■ Escribir programas de aplicaciones con código que efectúa operaciones no
autorizadas
■ Obtención de información sobre datos ocultos, al consultarlos con inteligencia a la
base de datos
■ Retirar dispositivos de almacenamiento físico de los equipos de cómputo
■ Hacer copias físicas de archivos almacenados sin pasar por el sistema de
administración de la base de datos, con lo que se esquivan sus mecanismos de seguridad
■ Sobornar, amenazar o influir en los usuarios autorizados, a fin de utilizarlos co
Lenguajes de Consulta
Conceptos Importantes
1. Índices:
● Los índices son estructuras de datos que mejoran la velocidad de las
consultas al permitir un acceso más rápido a los registros en una base de
datos.
● Se pueden crear índices en columnas específicas para acelerar la búsqueda
de datos.
2. Integridad de Datos:
● La integridad de datos se refiere a la precisión y coherencia de los datos en la
base de datos.
● Las restricciones de integridad, como las claves primarias y foráneas,
garantizan la calidad de los datos.
4. Transacciones:
● Las transacciones son secuencias de operaciones que se ejecutan como
unidades atómicas, asegurando que todas se completen con éxito o ninguna
se realice en absoluto.
● Ejemplos de operaciones de transacción incluyen transferencias bancarias y
reservas de vuelos.
5. Modelo Conceptual:
● Antes de implementar una base de datos, es importante crear un modelo
conceptual que describa cómo se relacionan las entidades y los datos en el
sistema.
● Los diagramas ER (Entidad-Relación) son una herramienta común para crear
modelos conceptuales.
Tendencias Futuras
Estos son solo algunos de los aspectos clave relacionados con las bases de datos.
La elección de la base de datos y su diseño dependen en gran medida de los
requisitos específicos de tu aplicación y de la cantidad de datos que necesitas
gestionar.