2. FUNCIONES Y OBJETIVOS DE LA
ADMINISTRACIÓN DE BASES DE DATOS.
• Es un sistema robusto que es capaz de emplear algoritmos de
almacenamiento y recuperación de información para poder implementar un
modelo de datos de manera física garantizando que todas las transacciones
que se realizan con respecto a dichos datos sean "ácidas" (Atomicidad,
Consistencia, Aislamiento, Duración).
3. EL ADMINISTRADOR DE LA BASE DE DATOS
• Los Administradores de Bases de Datos son responsables del
manejo, mantenimiento, desempeño y de la confiabilidad de
bases de datos. Asimismo, están a cargo de la mejora y diseño de
nuevos modelos de las mismas.
4. FUNCIONES PRINCIPALES
❑Comprender las necesidades de los usuarios:
❑Mantener la accesibilidad a la base de datos.
❑Garantizar que sea segura.
❑Monitorear el desempeño de la base de datos para garantizar que esté
manejando los parámetros adecuadamente y que le brinde respuestas
rápidas a los usuarios.
❑Garantizar que la información cumpla con los requerimientos de
almacenamiento del sistema.
5. FUNCIONES PRINCIPALES
• Control Global de la BD: El DBA es en general el que controla el funcionamiento
global de la BD. Puede ser una o varias personas.
• Definir el Esquema de la BD: A partir del modelo conceptual, construye sentencias
del DDL que se traducirán en estructuras de datos e información en el diccionario de
datos del SGBD usado.
• Definir Estructuras de Almacenamiento: Se trata de definir cómo y donde se
almacenará cada tipo de datos: Datos de la BD y del diccionario, del sistema de
recuperación (rollback system), de los índices (indexes), de las aplicaciones o
herramientas (tools), de información temporal. La correcta administración de estas
estructuras de almacenamiento puede conseguir aumentar mucho la eficiencia de un
SGBD, lo cual es muy importante.
6. Para los siguientes ejemplos ocuparemos una base de datos que ya cree
anteriormente, implementaremos el concepto de cada uno de estos dentro de la
practica con una base de datos en MySQL.
7. ESQUEMA CONCEPTUAL
• El diseño conceptual parte de las especificaciones de requisitos de usuario
y su resultado es el esquema conceptual de la base de datos. Un esquema
conceptual es una descripción de alto nivel de la estructura de la base de
datos, independientemente del SGBD que se vaya a utilizar para
manipularla. Un modelo conceptual es un lenguaje que se utiliza para
describir esquemas conceptuales. El objetivo del diseño conceptual es
describir el contenido de información de la base de datos y no las
estructuras de almacenamiento que se necesitarán para manejar esta
formación.
8.
9. ESQUEMA INTERNO
• Se describe la estructura física de la base de datos mediante un esquema interno.
Este esquema se especifica mediante un modelo físico y describe todos los detalles
para el almacenamiento de la base de datos, así como los métodos de acceso.
10. ESTABLECER ENLACE CON LOS USUARIOS
En las bases de datos anteriores, hicimos todas las ediciones como usuario root,
con acceso completo a todas las bases de datos. Como sea, en este caso hay
mas restricciones que pueden ser requeridas, hay formas de crear usuarios con
permisos personalizados.
Es asunto del DBA enlazarse con los usuarios para asegurar que los datos
necesarios estén disponibles y para escribir (o ayudar a escribir) los esquemas
externos necesarios, utilizando el DDL externo aplicable. (Como ya
mencionamos, un sistema dado podría manejar varios DDLs externos distintos.)
Además, también es necesario definir las transformaciones externas/conceptual
correspondientes. En la práctica, es probable que el DDL externo incluya los
medios para especificar dichas transformaciones, pero, una vez más, los
esquemas y las transformaciones deben ser claramente separables.
11. Por ejemplo para la base de datos que estamos usando, el administrador
creara un usuario y le asignará los privilegios, utilizando el lado izquierdo
como administrador y e derecho como usuario.
12. DEFINIR LAS RESTRICCIONES DE SEGURIDAD Y
DE INTEGRIDAD.
Las restricciones desde el punto de vista de integridad de bases de datos. se
presentan dependencias funcionales, integridad referencial y otros mecanismos
para mantenimiento de integridad, tales como disparadores y afirmaciones. El
objetivo es la protección de la ´ base de datos de accidentes. Restricciones de
los dominios. Integridad referencial. Asertos (asserts). Disparadores (triggers).
Seguridad y autorización. Autorización en SQL. Cifrado y autenticación.
El administrador de bases de datos tiene el privilegio de asignar privilegios,
esto como parte de restricciones de seguridad e integridad, para así, no
cualquier usuario pueda modificar o realizar lo que quiera en la base de
datos.
13. En este ejemplo el administrador solo asigna todos los privilegios a
la tabla casos. lo cual significa que el usuario no tiene acceso a la
tabla región.
14. DEFINIR LAS POLÍTICAS DE VACIADO Y RECARGA
Una vez que una empresa se compromete con un sistema de base de datos, se vuelve
drásticamente dependiente del funcionamiento exitoso de dicho sistema. En el caso de
que se produzca un daño en cualquier parte de la base de datos, ocasionado, por
ejemplo, por un error humano o por una falla en el hardware o en el sistema
operativo, resulta esencial poder reparar los datos afectados con el mínimo de
demora y con tan poco efecto como sea posible sobre el resto del sistema. Por
ejemplo, de manera ideal no debería afectarse la disponibilidad de los datos que no
fueron afectados.
Por cierto, la necesidad de una rápida reparación de los datos es una de las razones
por las que podría ser buena idea repartir todos los datos en varias bases de datos,
en vez de mantenerlos todos en un mismo lugar; una base de datos individual podría
muy bien definir una unidad para fines de vaciado y de recarga.
15. Para este ejemplo hicimos un respaldo de la base de datos hospital,
y volvimos a cargarlo en una base de datos nueva.
16. SUPERVISIÓN DEL RENDIMIENTO
• El DBA es el responsable de organizar el sistema de tal manera que se
obtenga el rendimiento "ideal para la empresa" y de hacer los ajustes
apropiados, es decir, afinar conforme las necesidades cambien. Por ejemplo,
podría ser necesario reorganizar de vez en cuando la base de datos
almacenada para asegurar que los niveles de rendimiento se mantengan
aceptables.
17. RESPUESTA A LOS REQUERIMIENTOS CAMBIANTES
todo cambio al nivel (interno) de almacenamiento físico debe estar
acompañado por el cambio correspondiente en la definición de la
transformación conceptual/interna, de manera que el esquema conceptual
permanezca constante. Desde luego, la anterior no es una lista detallada;
simplemente pretende dar una idea del alcance y naturaleza de las
responsabilidades del DBA.
18. EL SISTEMA DE ADMINISTRACIÓN DE BASES DE DATOS
El DBMS es el software que maneja todo acceso a la base de datos. De manera
conceptual, lo que sucede es lo siguiente :
1. Un usuario emite una petición de acceso, utilizando algún sub lenguaje de datos
específico (por lo regular SQL).
2. 2. El DBMS intercepta esa petición y la analiza.
3. 3. El DBMS inspecciona, en su momento, el esquema externo para ese usuario, la
transformación externa/conceptual correspondiente, el esquema conceptual, la
transformación conceptual/interna y la definición de la estructura de
almacenamiento.
4. 4. El DBMS ejecuta las operaciones necesarias sobre la base de datos
almacenada.
19. El sistema de administración de bases de datos que
utilizamos es MySQL y las razones fueron.
• Es Multiplataforma: Para S.O. como Windows, Linux y Mac disponemos de nuestro
servidor para instalarlo.
• Es fácil encontrar ayuda: Al ser una base de datos que se utiliza en multitud de
aplicaciones web existen multitud de tutoriales, foros, …. en la red en los que
podemos encontrar la información que necesitamos
• Menos características. Menos mantenimientos: Realmente esto nos da la ventaja para
que un programador cualquiera pueda aprender rápidamente como debe mantener
la base de datos para sus aplicaciones. Sin necesidad de ser un experto
Administrador en Base de Datos (DBA).
• Soporte para la transacciones. Una de las grandes ventajas de utilizar MySQL es la
gestión de las transacciones. Las transacciones en MySQL son Atómicas, consistentes,
aisladas y durable; ACID.
20. DEFINICIÓN DE DATOS
El DBMS debe ser capaz de aceptar definiciones de datos (esquemas externos,
el esquema conceptual, el esquema interno y todas las transformaciones
respectivas) en la forma fuente y convertirlas a la forma objeto
correspondiente. En otras palabras, el DBMS debe incluir entre sus componentes
un procesador DDL, o compilador DDL, para cada uno de los diversos DDLs
(lenguajes de definición de datos). El DBMS también debe "entender" 1:
definiciones DDL, en el sentido que, por ejemplo, "entienda" que los registros
externos EMPLEADO incluyen un campo SALARIO; entonces, debe poder utilizar
este conocimiento para analizar y responder a las peticiones de manipulación
de datos (por ejemplo. "Obtener todos los empleados con salario < $50,000").
21. COMO OBSERVAMOS, ESTE SISTEMA GESTOR NOS
PERMITE REALIZAR LA MODIFICACIÓN DE LA
ESTRUCTURA DE LOS OBJETOS DE UNA BD.
CREAMOS, MODIFICAMOS Y ELIMINAMOS.
22. MANIPULACIÓN DE DATOS
El DBMS debe ser capaz de manejar peticiones para recuperar, actualizar o
eliminar datos existentes en la base de datos o agregar nuevos datos a ésta.
En otras palabras, el DBMS debe incluir un componente procesador DML o
compilador DML para tratar con el DML (lenguaje de manipulación de datos).
En general, las peticiones DML pueden ser "planeadas" o "no planeadas":
a. Una petición planeada es aquella cuya necesidad fue prevista antes del
momento de ejecutar la petición. Probablemente el DBA habrá afinado el
diseño físico de la base de datos de tal forma que garantice un buen
desempeño para las peticiones planeadas.
23. b. En contraste, una petición no planeada es una consulta ad hoc; es decir, una
petición para la que no se previó por adelantado su necesidad, sino que en vez
de ello, surgió sin pensarlo. El diseño físico de la base de datos podría o no ser
el adecuado para la petición específica en consideración.
Las peticiones planeadas son características de las aplicaciones "operacionales"
o de "producción", mientras que las peticiones no planeadas son características
de las aplicaciones de "apoyo a la toma de decisiones".
Además, peticiones planeadas serán emitidas generalmente desde programas
de aplicación preescritos, mientras que las no planeadas, por definición, serán
emitidas en forma interactiva mediante algún procesador del lenguaje de
consulta.
24. Como lenguaje de manipulación de datos podemos tener las consultas, las
actualizaciones, el borrado de datos y más dentro de una tabla.
25. OPTIMIZACIÓN Y EJECUCIÓN
Las peticiones DML, planeadas o no planeadas, deben ser procesadas por el
componente optimizador, cuya finalidad es determinar una forma eficiente de
implementar la petición. Las peticiones optimizadas se ejecutan entonces bajo el
control del administrador en tiempo de ejecución.
26. SEGURIDAD E INTEGRIDAD DE LOS DATOS.
El DBMS debe vigilar las peticiones del usuario y rechazar todo intento de
violar las restricciones de seguridad y de integridad definidas por el DBA. Estas
tareas pueden realizarse durante el tiempo de compilación, de ejecución o
entre ambos.
Seguridad en las Bases de Datos El objetivo es proteger la Base de Datos
contra accesos no autorizados. Se llama también privacidad. Incluye aspectos
de: 1. Aspectos legales, sociales y éticos 2. Políticas de la empresa, niveles de
información pública y privada 3. Controles de tipo físico, acceso a las
instalaciones 4. Identificación de usuarios: voz, retina del ojo, etc. 5. Controles
de sistema operativo.
27. La seguridad de los datos implica protegerlos de operaciones indebidas que
pongan en peligro su definición, existencia, consistencia e integridad
independientemente de la persona que los accede. Esto se logra mediante
mecanismos que permiten estructurar y controlar el acceso y actualización de
los mismos sin necesidad de modificar o alterar el diseño del modelo de datos;
definido de acuerdo a los requisitos del sistema o aplicación software.
Esto nos lleva a lo que habíamos explicado anteriormente de las funciones de
un administrador de base de datos, en donde se otorgan privilegios a ciertos
usuarios de acuerdo a las políticas de la empresa o simplemente por mantener l
seguridad de la base de datos.
28. RECUPERACIÓN DE DATOS Y CONCURRENCIA
El DBMS o más probablemente, algún otro componente de software
relacionado, denominado comúnmente administrador de transacciones o monitor
de procesamiento de transacciones (monitor PT) debe imponer ciertos controles
de recuperación y concurrencia.
Este sistema gestor debe ser capaz de gestionar transacciones con un nivel de
aislamiento que nosotros podamos establecer. O bien con la que trae por
default como se ve en el tema de nivel de concurrencia de cada sistema gestor.
29. DICCIONARIO DE DATOS
El DBMS debe proporcionar una función de diccionario de datos. Este diccionario
puede ser visto como una base de datos por derecho propio (aunque una base de
datos del sistema mí que como una base de datos del usuario). El diccionario contiene
"datos acerca de los datos" (en ocasiones llamados metadatos o descriptores); es
decir, definiciones de otros objetos del sistema, en lugar de simples "datos en bruto".
En particular, todos los diversos esquemas y transformaciones (externos, conceptuales,
etcétera) y todas las diversas restricciones de seguridad y de integridad, serán
almacenadas en el diccionario, tanto en forma fuente como objeto. Un diccionario
extenso incluirá además mucha información adicional; mostrará por ejemplo qué
programas utilizan qué partes de la base de datos, qué usuarios necesitan qué
informes, etcétera.
A continuación se presentara el diccionario de datos de la base de datos que
estuvimos trabajando en el ejemplo…
30. Nombre Descripción Tipo Longitud Soporte
nulos
Valor
permitido
Valor por
defecto
Negativos Casos
negativos
Numérico 11 Si Entero Null
Sospechosos Casos
sospechosos
Numérico 11 Si Entero Null
Confirmados Casos
confirmados
Numérico 11 Si Entero Null
Recuperados Casos
recuperados
Numérico 11 Si Entero Null
Defunciones Muertes Numérico 11 Si Entero Null
Fecha Fecha de
corte
Texto 10 Si Fecha Fecha del
sistema
Juridicción Identificador Numérico 11 Si Entero Null
Tabla casos: contiene los casos de covid-19 en las regiones de Oaxaca.
Clave primaria No posee
Claves ajenas Juridicción
31. Nombre Descripción Tipo Longitud Soporte
nulos
Valor
permitido
Valor por
defecto
Nombre_region Describe el
nombre de la
región de Oaxaca
texto 20 Si Texto Null
Num_juridiccion Se utiliza como
llave foránea
Numérico 11 No Entero 0
Tabla región : contiene las regiones en donde existen casos de covid-19 en Oaxaca.
Clave primaria No posee
Claves ajenas Juridicción
32. RENDIMIENTO.
Sobra decir que el DBMS debe realizar todas las tareas antes identificadas de
la manera más eficiente posible. Podemos resumir todo lo anterior diciendo que
la finalidad general del DBMS consiste en proporcionar una interfaz de usuario
para el sistema de base de datos. Podemos definir la interfaz de usuario como
un límite en el sistema debajo del cual todo es invisible para el usuario. Por lo
tanto, por definición la interfaz de usuario se encuentra en el nivel externo.