Fundamentos de Bases de Datos
Base de Datos (B.D.): Una B.D. es un conjunto de datos interrelacionados por determinados criterios, que trata de evitar redundancias innecesarias y cuya información almacenada puede servir a una o varias aplicaciones. La información que se almacena es independiente de los programas que la usan, y permite añadir, eliminar, modificar y recuperar información de la base.
Ventajas de las Bases de Datos
Las bases de datos ofrecen numerosas ventajas, entre las que destacan:
- Reduce la redundancia al brindar un control centralizado de la información.
- Ayuda a evitar inconsistencias que pueden surgir de la redundancia.
- Garantiza la seguridad de la información, ya que controla no solo los accesos sino también la manipulación de la información entre diferentes programas de aplicaciones.
- Independencia de los datos, tanto lógicos como físicos.
Arquitectura de un Sistema de B.D.
La arquitectura de un sistema de B.D. está conformada por tres niveles, que muestran la separación entre las aplicaciones empleadas por los usuarios y la base de datos física:
- Nivel Externo o de Vistas: Describe la manera de ver la información por los usuarios. Apunta a cómo ven los usuarios las estructuras de datos en función de su problema particular, permitiéndoles ver solo la parte que precisan y ocultándoles el resto de la B.D.
- Nivel Conceptual o Lógico: Es donde se detalla la estructura de la base de datos. Este nivel está conformado por la descripción de los datos que se almacenan así como también las relaciones definidas entre ellos.
- Nivel Físico: Es donde se describe cómo se almacenan realmente los datos, en un medio físico, como por ejemplo: un disco rígido.
Elementos de un Sistema de B.D.
Los principales elementos que componen un sistema de B.D. son:
- Usuarios:
- Ocasionales
- Programadores
- Administradores de B.D. (DBA): Implementa los tipos de accesos, define la seguridad, mantiene los datos consistentes.
- Software: Sistema de Administración de B.D. (DBMS)
- Definir la estructura
- Manipular la estructura
- Hardware:
- Discos
- Procesadores
- Datos: Elementos que componen el sistema de B.D.
Independencia de los Datos
Significa estar en condiciones de generar modificaciones en un nivel de la arquitectura sin requerir modificar el nivel de la arquitectura que se encuentra inmediatamente superior al nivel donde se llevó a cabo el cambio.
- Independencia Lógica: Significa que puede modificarse el esquema conceptual sin necesidad de alterar los esquemas del nivel externo o las aplicaciones.
- Independencia Física: Significa que puede modificarse el esquema del nivel físico sin necesidad de alterar los programas que utilizan dichos datos.
Cardinalidad
Describe características de las relaciones que serán fundamentales para lograr una adecuada transformación del modelo conceptual al modelo de datos a implementar en el SGBD. Los tipos de relaciones entre entidades son:
- 1:1 (uno a uno)
- 1:M (uno a muchos) o M:1 (muchos a uno)
- M:M (muchos a muchos)
Usuarios de B.D.
Existen diferentes tipos de usuarios que interactúan con las bases de datos:
- Usuarios Ocasionales y Comunes: Son los que necesitan acceder a la B.D. para consultar información, actualizarla o simplemente generar un listado.
- Programadores de Aplicaciones: Responsables de implementar los programas de aplicaciones.
- Administradores de B.D. (DBA): Es el responsable de definir los criterios de seguridad, integridad y políticas de resguardo para el SGBD.
Bases de Datos de Tipo Relacional
Los elementos fundamentales de las bases de datos relacionales son las Entidades y los Atributos.
Entidades: Es una cosa u objeto del mundo real que es distinguible de todos los demás objetos. Una entidad puede ser concreta o abstracta.
Clasificación de las entidades:
- Tangibles: libro, auto.
- Roles: empleados, médicos, pacientes.
- Incidentes: compras, alquiler.
Atributos: Es una propiedad descriptiva o característica simple que posee cada uno de los objetos o miembros de un conjunto de ENTIDADES.
Clasificación de los atributos:
- Descriptivos: Expresan características esenciales de cada entidad.
- Nominadores: Nombran a la entidad como única.
- Referenciales: Permiten vincular una instancia de un conjunto de entidades con otra instancia de otro conjunto de entidades.
Atributos Nominadores (Claves)
- Clave Candidata: Deben cumplir con la condición de unicidad y minimalidad.
- Clave Primaria (Primary Key – PK): Es la clave candidata que se considera más adecuada para el diseño.
- Clave Alternativa: Es la que no fue seleccionada como clave primaria y cumplen con las condiciones de UNICIDAD y MINIMALIDAD.
- Clave Foránea: Es un atributo de alguna entidad que es clave primaria de otra entidad.
Arquitectura Cliente-Servidor
Es aquel en el que uno o más clientes y uno o más servidores conjuntamente con un sistema operativo y un sistema de comunicación entre procesos, forman un sistema compuesto que permite cómputo distribuido, análisis y presentación de los datos.
Principales Componentes
Los principales componentes de un sistema cliente-servidor son:
- Núcleo (Back-end): Es el SGBD propiamente (servidor).
- Interfaz (Front-end): Aplicaciones que funcionan sobre el SGBD (cliente).
Funciones del Cliente
El cliente se encarga de:
- Administrar la interfaz gráfica de usuarios.
- Aceptar datos del usuario.
- Procesar la lógica de la aplicación.
- Generar las solicitudes para la base de datos.
- Transmitir las solicitudes de la B.D. al servidor.
- Dar formato a los resultados.
Funciones del Servidor
El servidor se encarga de:
- Aceptar las solicitudes de la B.D. de los clientes.
- Procesar dichas solicitudes.
- Dar formato a los resultados y transmitirlos al cliente.
- Llevar a cabo la verificación de integridad.
- Mantener los datos generales de la B.D.
- Proporcionar control de acceso concurrentemente.
- Llevar a cabo la recuperación.
- Optimizar el procesamiento de consultas y actualizaciones.
Principales Ventajas del Modelo Cliente-Servidor
- Accesibilidad: Los datos pueden ser accedidos desde múltiples clientes.
- Rendimiento: Se puede optimizar el rendimiento por hardware y procesos.
- Seguridad: La seguridad de los datos está centralizada en el servidor.
- Interoperabilidad: Los componentes claves (cliente, servidor y red) trabajan juntos.
Desventajas
- Alta complejidad tecnológica ante la integración de variedad de productos para el mantenimiento de los sistemas.
- La congestión de la red puede reducir el rendimiento del sistema.
Cloud Computing
Es una tecnología que permite ofrecer servicios de computación a través de internet. En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles sin conocimiento (o al menos sin ser expertos) en la gestión de los recursos que usan. Algunos ejemplos de esta explicación podrían ser: las redes PEER-TO-PEER, GOOGLE Y SKYPE, etc.