Unidad 3: Introducción a la gestión de Bases de Datos Flashcards
DEFINICIÓN DE BASE DE DATOS
Una base de datos es un conjunto de datos no redundantes, almacenados en un soporte informático, organizados en forma independiente de su utilización y accesibles simultáneamente por distintos usuarios y aplicaciones.
MEJORAS DE LA BBDD CON RESPECTO A ARCHIVOS
-Independencia de Datos
-Eficiencia en el acceso a Datos
-Administración centralizada de los Datos
-Reducción en el tiempo de desarrollo
-Seguridad de Datos
-Recuperación ante fallas
-Acceso concurrente
Independencia de Datos
Se puede definir Independencia de datos a la capacidad para modificar el esquema en un nivel del sistema de base de datos sin tener que modificar el esquema del nivel inmediato superior.
◼ Independencia Lógica: la capacidad de modificar la definición del esquema conceptual sin necesidad de alterar el esquema externo
◼ Independencia Física: capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual o el esquema externo.
Eficiencia en el acceso a Datos
Indica los métodos de acceso para gestionar los datos en las aplicaciones.
Administración centralizada de los Datos
Al tener un modelo que contemple todas las características de los datos referentes a todos los procesos de la organización en forma centralizada se minimiza la redundancia.
Reducción en el tiempo de desarrollo
La posibilidad de contar con un modelo centralizado de datos y ciertas particularidades avanzadas de las Bases de Datos como el almacenamiento de código en Triggers (disparadores), Store Procedures (procedimientos almacenados) y Functions (funciones), permite disminuir el tiempo de desarrollo ya que muchos de los procedimientos comunes son almacenados en la base de datos e invocados desde las aplicaciones.
Seguridad de Datos
Integridad, Confidencialidad y Disponibilidad.
Mediante la Integridad se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.
En cuanto a Confidencialidad, es el administrador de la base de datos según las directivas de la organización, quién da acceso o no a los datos de la base de datos.
Disponibilidad es la capacidad de garantizar la continuidad de los servicios, incluso en situaciones de deficiencias.
Recuperación ante fallas
Los SGBD proveen la posibilidad de que ante una falla como puede ser un corte de luz, una falla de Hardware o de Sistema Operativo, cuando el sistema vuelve a su operación normal, la base de datos se recupera en forma consistente.
Acceso concurrente
Acceso a multiUsuarios.
SISTEMA DE GESTIÓN DE BASES DE DATOS (DBMS O SGBD)
Un SGBD es el conjunto de programas que permiten definir, manipular y utilizar la información que contienen las bases de datos, realizar todas las tareas de administración necesarias para mantenerlas operativas, mantener su integridad, confidencialidad y disponibilidad. Una Base de Datos nunca se accede o manipula directamente sino a través del SGBD.
La mayoría de los SGBD actuales están inspirados en una arquitectura sugerida en 1978 por un grupo de trabajo de ANSI conocida como ANSI/X3/SPARC “DBMS Framework”.
Esta arquitectura concibe a la base de datos en tres niveles o esquemas:
-El nivel externo es la representación de los datos tal y como los ve el usuario.
-El nivel lógico, es una representación abstracta del contenido total de la base de datos.
-El nivel interno es el más cercano a la máquina.
CLASIFICACIÓN DE LOS SGBD
◼ Jerárquico
◼ En Red
◼ Relacional
◼ Orientado a Objetos
◼ Multidimensional
◼ No relacionales o “NoSQL”
Jerárquico
Una base de datos jerárquica se puede visualizar como una estructura en árbol.
En Red
Fueron una evolución del modelo jerárquico. En una base de datos en red, cada uno de los registros están enlazados entre sí, pero, no necesariamente siguiendo una estructura en árbol.
Relacional
En una base de datos relacional se representan los datos como un conjunto de tablas bidimensionales compuestas de filas y columnas. Cada fila representa una relación entre un conjunto de valores y está identificada por una clave única.
Orientado a Objetos
Este modelo permite almacenar en la base de datos los objetos completos (estado y comportamiento) e incorpora todos los conceptos importantes del paradigma de objetos: herencia, encapsulamiento, polimorfismo.
Multidimensional
Tiene una estructura con aspecto de hoja de cálculo, los datos se almacenan tal como se ven.
No relacionales o “NoSQL”
Son un sistema de almacenamiento de información que se caracteriza por no usar el lenguaje SQL para las consultas. Esto no significa que no puedan usar el lenguaje SQL, pero no lo hacen como herramienta de consulta, sino como apoyo.
SISTEMA DE GESTIÓN DE BASES DE DATOS RELACIONALES
Es una herramienta para almacenar y manipular información en forma eficiente y efectiva en el sentido de que los datos están protegidos contra pérdida o destrucción accidental, que no utiliza más recursos de los necesarios (ni humanos ni de hardware) y que puede operar con aceptables niveles de performance.
12 Reglas de una base de datos relacional:
0. Gestión de una base de datos relacional.
1. Representación de la información.
2. Garantía de accesibilidad lógica.
3. Representación sistemática de la información que falta.
4. Catálogo dinámico en línea (Diccionario de Datos).
5. Sublenguaje de datos completo.
6. Vistas actualizables.
7. Inserción, actualización y borrado de alto nivel.
8. Independencia de los datos físicos.
9. Independencia de los datos lógicas.
10.Independencia de la integridad.
11.Independencia de la distribución.
12.La regla de la no inversión.
Gestión de una base de datos relacional
Todo sistema que se enuncie como (o diga ser) un sistema de gestión de base de datos relacional, debe ser capaz de manejar bases de datos exclusivamente con sus capacidades relacionales.
Representación de la información
Toda la información de una base de datos relacional se representa explícitamente a nivel lógico y exactamente de una forma: mediante valores en tablas.
Garantía de accesibilidad lógica
Todos y cada uno de los datos (valor atómico) de una base de datos relacional tienen la garantía de ser accesibles lógicamente mediante el recuso a una combinación de:
* nombre de la tabla,
* valor de la clave primaria
* nombre de la columna
Representación sistemática de la información que falta
Los valores nulos tiene existencia en los sistemas de gestión de bases de datos totalmente relacionales, para representar la información que falta y la información que no es aplicable, de forma sistemática e independiente del tipo de datos.
Catálogo dinámico en línea (Diccionario de Datos)
La descripción de la base de datos se representa a nivel local de la misma forma que los datos ordinarios, de forma que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a sus preguntas de la misma manera que las aplican a los datos normales.
Sublenguaje de datos completo
Debe haber, al menos, un lenguaje cuyas instrucciones puedan expresarse, por alguna sintaxis bien definida, como cadena de caracteres, y que sea completo, soportando todos los términos siguientes:
* Definición de datos
* Definición de vistas
* Manejo de datos
* Limitaciones de integridad
* Autorización
* Límites de la transacción (su comienzo, hacer permanentemente un cambio y deshacer un cambio no permanente)
Vistas actualizables
Todas las vistas que en teoría sean actualizables también son actualizables por el sistema
Inserción, actualización y borrado de alto nivel
La capacidad de manejar una relación de base o una relación derivada como un único operador se aplica no sólo a la recuperación de datos, sino también a la inserción. A la actualización y al borrado de datos.
Independencia de los datos físicos
Los programas de aplicaciones y las actividades terminales permanecen lógicamente inalterados siempre que se realizan cambios en las representaciones de almacenamiento o en los métodos de acceso.
Independencia de los datos lógicas
Los programas de aplicaciones y las actividades finales permanece lógicamente inalterados cuando se llevan a cabo cambios en las tablas de base que conservan la información de cualquier tipo que permita teóricamente su inalterabilidad
Independencia de la integridad
Las limitaciones de integridad, específicas de una base de datos en particular, deben ser definibles en el sublenguaje de datos relacionales y almacenables en el catálogo, no en el programa de aplicaciones.
Independencia de la distribución
Tanto si un sistema soporta la distribución de la base de datos como si no, debe ser un sublenguaje de datos que pueda soportar bases de datos distribuidas sin alterar los programas de aplicaciones o las actividades finales.
La regla de la no inversión
Si un sistema relacional tiene un lenguaje de bajo nivel, ese bajo nivel no se puede usar para invertir o eludir las reglas de integridad y las limitaciones que se expresan en el lenguaje relacional de un nivel superior.
FUNCIONES QUE DEBE CUMPLIR UN SGBDR
-DDL (Data Definition Language).
-DML (Data Manipulation Language).
-DCL (Data Control Language)
-TCL (Transaction Control Language)
ARQUITECTURAS
Implementación física
-ARQUITECTURA CENTRALIZADA
-ARQUITECTURA CLIENTE-SERVIDOR
ARQUITECTURA CENTRALIZADA
Los sistemas de gestión de bases de datos centralizados son aquellos que se ejecutan en un único sistema informático.
El acceso a la base de datos que reside en un Servidor se realiza por terminales o software instalado en las PC que actúan como emuladores de terminales.
ARQUITECTURA CLIENTE-SERVIDOR
En cuanto a sistemas que consumen datos de una base de datos en la modalidad cliente-servidor se tienen las siguientes funciones:
Funciones del cliente
- Administrar la interfaz gráfica de usuario
- Aceptar datos del usuario
- Procesar la lógica de la aplicación
- Conectarse a la base de datos y generar las solicitudes
- Transmitir las solicitudes de la base de datos al servidor
- Recibir los resultados del servidor
- Dar formato a los resultados
Funciones del servidor
- Aceptar las solicitudes de los clientes a la base de datos, verificando que el cliente tiene los derechos de seguridad apropiados para realizar la solicitud
- Procesar dichas solicitudes
- Transmitir los resultados al cliente
- Llevar a cabo la verificación de integridad
- Mantener los datos de la base de datos
- Proporcionar control de acceso concurrente
- Llevar a cabo la recuperación
- Optimizar el procesamiento de consultas y actualización
Tipos de arquitecturas cliente-servidor
-Arquitecturas de dos capas: Entre ellas se encuentran las de cliente fino y cliente obeso
-Arquitectura de 3 capas: Se agrega una capa intermedia para las reglas de lógica y procesamiento de datos.
CARACTERÍSTICAS DE UN SISTEMA DE GESTIÓN DE BASE DE DATOS
-CALIDAD
-SEGURIDAD DE DATOS
-SEGURIDAD DE ACCESOS
-ADMINISTRACIÓN DE LA CONTINUIDAD Y DISPONIBILIDAD
Herramientas de los SGBDR
MOTOR DE BASE DE DATOS:Son los elementos que se encargarán de la manipulación física de los datos
HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES: Actualmente existen
numerosísimas herramientas para el desarrollo que permitirán la generación de
interfaces de usuario “amigables” para el acceso a las bases de datos, tanto para la actualización de datos como para consulta de los mismos.
Las aplicaciones pueden dividirse en:
1. Aplicaciones escritas por los programadores mediante lenguajes de alto nivel
donde se incluyen scripts de sentencias de SQL.
2. Aplicaciones integradas al SGBDR que ayudan a la creación o ejecución de otras aplicaciones.
HERRAMIENTAS PARA EL ACCESO AL ESQUEMA DE LA BASE DE DATOS: Refiere a las herramientas con que cuenta el SGBDR para la manipulación de la definición del Esquema de la Base de Datos. Si sólo cuenta con el lenguaje SQL será bastante tedioso el mantenimiento de esquemas de grandes volúmenes. Las GUIs (Graphical User Interface) para el acceso a la definición del esquema, catálogo o diccionario de datos, como suele denominarse, son de gran utilidad.
SEGURIDAD DE DATOS
◼ REDUNDANCIA CONTROLADA
◼ INTEGRIDAD
◼ RESISTENCIA A FALLOS
SEGURIDAD DE ACCESOS
◼ Mantener la confidencialidad de los datos
ADMINISTRACIÓN DE LA CONTINUIDAD Y DISPONIBILIDAD
◼ Recuperar el sistema de una copia anterior ante fallos no recuperables
LAS BASES DE DATOS EN UN PROYECTO DE DESARROLLO DE SOFTWARE
-DEFINIR LOS REQUERIMIENTOS DEL SISTEMA
-RECONOCER EL PROCESO AL QUE ESTÁN AFECTADOS LOS DATOS
-CONSTRUIR EL MODELO CONCEPTUAL DE DATOS
-PREPARAR EL ESQUEMA DE LA BASE DE DATOS
-DISEÑAR LA INTERFAZ DE USUARIO Y LAS APLICACIONES
PERFILES DE USUARIOS: ROLES Y FUNCIONES
-ADMINISTRADOR DE LA BASE DE DATOS
-DISEÑADOR DE LA BASE DE DATOS
ADMINISTRADOR DE LA BASE DE DATOS
Data Base Administrador. Es la persona encargada de administrar los recursos de base de datos de la organización y del software relacionado con ellos.
Las funciones que debe cumplir un DBA incluyen:
* La administración de la estructura de la Base de Datos
* Administrar el motor de Base de Datos
* Especificar el Diccionario de Datos
* Administrar la actividad de los datos
* Asegurar la confiabilidad de la Base de Datos
* Autorizar el acceso a la base de datos
La administración de la estructura de la Base de Datos
El DBA debe participar en la administración de la puesta en marcha o de la modificación sobre cualquiera de los niveles de la estructura de la base de datos
Administrar el motor de Base de Datos
El DBA debe decidir muchas cuestiones al instalarlo, entre ellas cómo se accederán físicamente los datos en la base de datos almacenada, su relación con el sistema operativo, etc. A este proceso suele llamársele Definición del esquema interno.
Especificar el Diccionario de Datos
El DBA es el encargado de crear el esquema conceptual correspondiente. Al proceso que tiene que ver con la definición del modelo conceptual se lo denomina Definición del esquema conceptual de la Base de Datos.
Administrar la actividad de los datos
El DBA deberá proporcionar estándares, guías de acción, procedimientos de control y la documentación necesaria para garantizar que los usuarios trabajen en forma cooperativa y complementaria al procesar datos en la base de datos. El DBA deberá procurar siempre que los estándares que serán aplicados beneficien también a todos los usuarios, privilegiando la optimización en la operación del SGBD y el apego a las políticas de la empresa.
Asegurar la confiabilidad de la Base de Datos
El DBA deberá atender problemas garantizando la implementación de restricciones para que los programadores y los usuarios en general sigan las políticas y se eviten estos problemas y, en caso de que ocurran, tener definidos procedimientos para solucionarlos.
El DBA debe definir procedimientos de respaldo y recuperación
Autorizar el acceso a la base de datos
El DBA debe atender es el de coordinar los derechos de acceso a datos compartidos y aplicaciones, en conjunto con las políticas de seguridad de la organización.
El DBA deberá definir verificaciones de seguridad e integridad para controlar que las políticas se estén cumpliendo correctamente.
ANALISTAS DE SISTEMAS
Determinan los requerimientos de todos los actores del sistema y desarrollan la especificación de Casos de Uso que servirán como base para el diseño y programación de las aplicaciones.
PROGRAMADORES DE APLICACIONES
◼ Internas al SGBD
◼ Aplicaciones Externas al SGBD