Administración de base de datos
Administrador de DBA y sus características
Que es un DBA
(DBA) o administrador de base de datos es el responsable por la Administración de las Bases de Datos.
Administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.
Que significa DBA
![]() |
Aquí se muestra otra definición del DBA |
Un administrador de base de datos (DBA) dirige o lleva a cabo todas las actividades relacionadas con el mantenimiento de un entorno de base de datos exitoso. Las responsabilidades incluyen el diseño, implementación y mantenimiento del sistema de base de datos; el establecimiento de políticas y procedimientos relativos a la gestión, la seguridad, el mantenimiento y el uso del sistema de gestión de base de datos; y la capacitación de los empleados en la gestión y el uso de las bases de datos.
Que es un administrador de base de datos
Administrador de base de datos o (DBA) es aquel profesional que administra las tecnologías de la información y la
comunicación, siendo responsable de los aspectos técnicos, tecnológicos,
científicos, inteligencia de negocios y legales de bases de
datos, y de la calidad de datos.
Los administradores de bases de datos gestionan y mantienen las bases de datos informatizadas. Se aseguran de que estas sean seguras y estén actualizadas. Estos profesionales trabajan sobre las formas de reorganizar las bases de datos para hacerlas más rápidas o más fáciles de usar. Crean sistemas de respaldo para que los datos no se pierdan si surgen problemas en la base datos.
Administración de base de datos
Función del DBA:
En este vídeo se muestra la importancia de una base de datos, algunas de las funciones de un DBA o administrador de base de datos al mismo tiempo se muestran algunos recomendaciones sobre lo que se debe hacer en y no se debe hacer etc :
A continuación se muestran las funciones de un administrador
de base de datos y sus definiciones las cuales son:
Modelado de datos y diseños de base de datos: Un DBA debe ser un profesional experto en la recopilación y análisis de las
necesidades del usuario para obtener modelos de datos conceptuales y lógicos.
Un modelo conceptual de datos describe los requisitos de datos a un nivel muy
alto, un modelo de datos lógicos proporciona en profundidad de los tipos de
datos, longitudes, relaciones y carnalidad.
Auditoria: Una de las tareas de DBA es
identificar que usuarios tienen acceso a insertar, actualizar o eliminar datos
y cuando. Es decir administra las funciones de cada usuario, regularmente para
realizar las funciones de auditoria los DBAS tienen que trabajar en combinación
con los auditores internos y externas de la empresa.
Integración con aplicaciones: La mayoría de
las empresas hoy en día utilizan aplicaciones de terceros (casi nadie ya
desarrolla sus propias aplicaciones in-house), muy pocas de estas aplicaciones
funcionan de manera aislada. En otras palabras, las aplicaciones tienen que
interconectarse unas con otras, generalmente utilizando base de datos como el
medio para compartir los datos. Los DBAs a menudo se involucran en los procesos
de integrar las aplicaciones existentes con las bases datos que administran.
Esto puede incluir la creación de aplicaciones a medida, scripts, etc.
Resguardo y recuperacion de datos: Uno de los
aspectos más fundamentales del trabajo del DBA es proteger los datos de la
organización. Esto incluye hacer copias de seguridad periódicas de los datos y
mantenerlos a salvo de la destrucción accidental o intencional. Además,
diseñar, implementar y probar un plan de recuperación para que cuando se
presenten los problemas, los datos se pueden restaurar rápidamente.
Inteligencia de negocios y almacenamiento de datos: Una
de las áreas de mayor crecimiento para el DBA es la Inteligencia de Negocios (BI)
y almacenamiento de datos. Esto se debe a que cada vez más organizaciones están
tratando de extraer toda la información que pueda con el fin de tomar mejores
decisiones de negocios.
Planificación de capacidad: En la mayoría de las
organizaciones, el número y tamaño de las bases de datos crece
rápidamente. Es la responsabilidad del DBA gestionar el creciente volumen de
datos y diseñar los planes apropiados para administrarlos. Esto incluye también
la gestión del hardware donde se almacenan los datos.
Administración de cambios: La configuración del
servidor SQL Server o MySQL, el esquema de base de datos, el código de
Transact-SQL, y muchas otras facetas del ecosistema de aplicaciones cambian con
el tiempo. A menudo es la responsabilidad del DBA realizar el análisis de
impacto antes de realizar los cambios dentro de una DBMS. Implementar cambios,
hacer pruebas piloto y documentar todos los cambios y procedimientos es parte
del trabajo de un DBA.
Desarrollo de aplicaciones: Muchos administradores de
base datos deben de desarrollar aplicaciones y scripts con el objetivo de
automatizar tareas relacionadas con la inserción, sustracción o borrado de
información dentro del manejador de base de datos. En general, éste debe de colaborar
a nivel de integración de sistema con los desarrolla dores de aplicaciones, por
lo que a veces se ve en la obligación de desarrollar código para casos
específicos.
Estructura de una 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 y las autorizaciones para una organización.
Cuando cambia el diccionario de datos, el proceso de cambio incluye comprobaciones de edición que pueden impedir daños en el diccionario de datos. El único modo de recuperar un diccionario de datos es restaurarlo desde una copia de seguridad.
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 deespacios de tabla en DB2.
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. Los objetos de negocio contienen datos de negocio y conforman el comportamiento del negocio.
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.
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.
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 sentencia SELECT 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 join.
Join: Operación relacional SQL 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.
Documentos:
Una base de datos documental, también llamada una base de datos orientada a documentos u tienda de documentos, es un subconjunto de un tipo de base de datos NoSQL.
Algunos almacenes de documentos también pueden ser bases de datos de valores clave. Una base de datos de documentos se utiliza para almacenar, recuperar y administrar datos semiestructurados.
A diferencia de las bases de datos relacionales tradicionales, el modelo de datos en una base de datos de documentos no está estructurado en un formato de tabla de filas y columnas.
El esquema puede variar, proporcionando mucha más flexibilidad para el modelado de datos que las bases de datos relacionales.
Las bases de datos documental almacena cada registro y sus datos asociados en un solo documento. Cada documento contiene datos semiestructurados que pueden ser consultados con el uso de varias herramientas de consulta y análisis del DBMS.
Funciones:
Una base de datos de documentos utiliza documentos como la estructura para almacenamiento y consultas. En este caso, el término "documento" puede referirse a un documento de texto, pero comúnmente es un archivo de XML o JSON. En lugar de columnas con nombres y tipos de datos que se utilizan en una base de datos relacional, un documento contiene una descripción del tipo de datos y el valor de esa descripción.
Cada documento puede tener la misma o diferente estructura. Para agregar tipos adicionales de datos a una base de datos de documentos, no hay necesidad de modificar el esquema completo de la base de datos como lo hay con una base de datos relacional. Los datos pueden simplemente agregarse agregando objetos a la base de datos.
Los documentos se agrupan en "colecciones", que tienen un propósito similar a una tabla relacional. Una base de datos de documentos proporciona un mecanismo de consulta para buscar colecciones de documentos con atributos particulares.
Las tiendas de documentos ofrecen importantes ventajas cuando se requieren características específicas, que incluyen:
Modelado flexible de datos: a medida que las aplicaciones web, móviles, sociales e IoT cambian la naturaleza de los modelos de datos de aplicaciones, las bases de datos de documentos eliminan la necesidad de forzar modelos de datos relacionales para admitir nuevos tipos de modelos de datos de aplicaciones.
Rendimiento de escritura rápido: a diferencia de las bases de datos relacionales tradicionales, algunas bases de datos de documentos priorizan la disponibilidad de escritura sobre la estricta consistencia de los datos. Esto garantiza que las escrituras siempre serán rápidas, incluso si una falla en una parte del hardware o de la red da como resultado un pequeño retraso en la replicación de datos y la coherencia en todo el entorno.
Rendimiento rápido de consultas: muchas bases de datos de documentos tienen potentes motores de búsqueda y funciones de indexación que proporcionan capacidades de consulta rápidas y eficientes.
Administrador de la actividad de datos
Aunque el DBA protege los datos, no los procesa. El DBA no es usuario del sistema, en consecuencia, no administra valores de datos; el DBA administra actividad de datos. Dado que la BD es un recurso compartido, el DBA debe proporcionar estándares, guías de acción, procedimientos de control y la documentación necesaria para garantizar que los usuarios trabajan en forma cooperativa y complementaria al procesar datos en la BD.
Como es de suponerse, existe una gran actividad al interior de un DBMS. La concurrencia de múltiples usuarios requieren de estandarizar los procesos de operación; el DBA es responsable de tales especificaciones y de asegurarse que estas lleguen a quienes concierne. Todo el ámbito de la BD se rige por estándares, desde la forma como se capture la información (tipo, longitud, formato), como es procesada y presentada. El nivel de estandarización alcanza hasta los aspectos más internos de la BD; como sé accesa a un archivo, como se determinan los índices primarios y auxiliares, la foliación de los registros y demás.
Debe procurarse siempre que los estándares que serán aplicados beneficien también a los usuarios, privilegiando siempre la optimización en la operación del DBMS y el apego de las políticas de la empresa.
Una administración de BD efectiva deberá disponer siempre de este tipo de estándares; entre las funciones del DBA se encuentra la de revisarlos periódicamente para determinar su operatividad, y en su caso ajustarlos, ampliarlos o cancelarlos. Es también su responsabilidad el que estos se cumplan.
Cuando se definen estándares sobre la estructura de la BD, estos deben registrarse en una sección del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de proceso pueden acceder.
Otro de los aspectos que el administrador debe atender es el de coordinar las nuevas propuestas para realizar ajustes en los derechos de acceso a datos compartidos y aplicaciones específicamente propuestas serían analizados en conjunto con los supervisores o directivos de las áreas involucradas para determinar si procede pudieran aparecer problemas cuando dos o más grupos de usuarios quedan autorizados para notificar los mismos datos.
Uno de tales conflictos es el de la actualización perdida; este ocurre cuando el trabajo de un usuario queda sobrescrito sobre por el de un segundo usuario. El DBA queda responsabilizado para identificar la posible ocurrencia de dichos problemas así como de crear normas y procedimientos para su eliminación. Se obtendrán este tipo de garantías cuando el DBMS sea capaz de implementar las restricciones aplicables al acceso concurrente, y este sea utilizado adecuadamente por programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estándares el seguimiento de instructivos y manuales y las reglas establecidas para los diversos procesamientos y procedimientos que se llevan acabo.
Diccionario de datos
Un diccionario de datos es un conjunto de definiciones que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización.
Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información, se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos del sistema, su contenido también se emplea durante el diseño.
En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripción de todos estos elementos.
Si los analistas desean conocer cuántos caracteres abarca un determinado dato o qué otros nombres recibe en distintas partes del sistema, o dónde se utiliza, encontrarán las respuestas en un diccionario de datos desarrollado en forma apropiada.
El diccionario se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos de sistemas.
La función de un diccionario de datos es definir los elementos de una base de datos para servir de apoyo para futuros programadores de un sistema ya desarrollado por ejemplo: un administrador de datos se retira o contrata a un asistente, el diccionario de datos le ayudara a este si el administrador no esta presente este del mismo modo es necesario para un reporte.
Usuarios
Usuarios normales: Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usarios pueden también simplemente leer informes generados de la base de datos.
Programadores de aplicaciones: Son profesionales informáticos que escriben los programas de aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa.
Usuarios sofisticados: Interactúan con el sistema sin programas escritos, usando el lenguaje de consulta de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea (OLAP, OnLine Analytical Processing), o herramientas de recopilación de datos.
Usuarios especializados: Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.
Administradores de la base de datos (ABD): Son las personas que tienen el control central del SGBD. Entre las funciones del ABD se encuentran:
- Definición del esquema de la base de datos.
- Definición de la estructura y el método de acceso.
- Modificación del esquema y la organización física.
- Concepción de autorización para el acceso a los datos.
- Mantenimiento rutinario.
usuarios y privilegios
Una vez creados los usuarios será necesario dotarlos de privilegios para que puedan realizar operaciones específicas en la base de datos. Estos privilegios suelen clasificarse en:
- Privilegios del Sistema ( System privileges ) permisos a 'niveles de la base de datos como pueden ser conexión a la base de datos, creación de usuarios, limitar cuentas.
- Privilegios sobre Objetos ( Object privileges ) vistas, tablas, secuencias, procedimientos, paquetes.
- Privilegios sobre Roles ( Role privileges ) son otorgados mediante roles agrupando un conjunto de privilegios.
Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o permiso a un usuario utilizamos la sentencia REVOKE
Para conocer los privilegios y su sintaxis es necesario consultar los manuales de referencia de su SGBD. En el caso de Oracle usaremos la vista SYSTEM_PRIVILEGE_MAP
SYSDBA y SYSOPER son privilegios administrativos necesarios para llevar a cabo las operaciones administrativas de alto nivel tales como la creación, puesta en marcha, el cierre, la copia de seguridad, o la recuperación de la base de datos. El sistema de privilegios SYSDBA es para los administradores de bases de datos totalmente habilitadas y el privilegio del sistema SYSOPER permite a un usuario realizar tareas operativas básicas, pero sin la capacidad de mirar a los datos del usuario.
Los privilegios del sistema SYSDBA y SYSOPER permiten el acceso a una instancia de base, incluso cuando la base de datos no está abierto. por lo tanto, el control de estos privilegios está completamente fuera de la base de datos en sí. Este control permite a un administrador que se concede uno de estos privilegios para conectarse a la base de datos de ejemplo para iniciar la base de datos.
Especializados
Usuarios especializados
Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas que no son.
Adecuadas en el marco de procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computador, sistemas de bases de conocimientos y sistemas expertos, sistemas que almacenan los datos con tipos de datos complejos (por ejemplo, datos gráficos y datos de audio) y sistemas de modelado del entorno.
Usuario de configuración de base de datos
El usuario de administración de base de datos que se suele crear al instalar un Sistema de gestión de base de datos (DBMS) es el database installation user o el database configuration user. El usuario de configuración de base de datos no es necesariamente el usuario predeterminado que se crea cuando se instala el sistema de gestión de bases de datos. El usuario predeterminado se puede utilizar como usuario de configuración de base de datos.
Usuario de tiempo de ejecución de base de datos
El database runtime user tiene menos privilegios que el usuario de configuración de base de datos. El usuario de tiempo de ejecución tiene acceso en tiempo de ejecución al origen de datos de una base de datos y puede realizar operaciones básicas de lectura y escritura sobre los datos. Plantéese la creación de un usuario de tiempo de ejecución dedicado para cada dominio de base de datos de WebSphere Portal Express. Si no crea usuarios de tiempo de ejecución, WebSphere Portal Express utiliza el usuario de configuración para conectar a las bases de datos en tiempo de ejecución.
Permisos de los usuarios de base de datos
La tabla siguiente identifica los permisos mínimos que son necesarios para la función correcta de los dos tipos de usuarios de base de datos: usuarios de configuración y usuarios de tiempo de ejecución. Los privilegios que se listan pertenecen a todos los dominios de base de datos de WebSphere Portal Express.
programadores de aplicación
Los programadores de aplicaciones informáticas desarrollan, crean y modifican aplicaciones informáticas de software generales o programas de utilidad especializada; analizan las necesidades del usuario y desarrollan soluciones de software, diseñan o personalizan software para el uso del cliente con el objetivo de optimizar la eficiencia operativa; pueden analizar y diseñar las bases de datos dentro de un área de aplicación, trabajando individualmente o coordinando el desarrollo de la base de datos como parte de un equipo.
algunas de sus funciones son:
- Desarrollar una aplicación de software específicamente para usuarios individuales.
- Consultar con los usuarios sobre el diseño del sistema de software y su mantenimiento.
- Reunirse con los analistas de sistemas, ingenieros, programadores y otros para el diseño del sistema y la obtención de información sobre las limitaciones y las capacidades del proyecto, las necesidades de ejecución y los interfaces.
Accesos normales
La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
- Evitar la redundancia de los datos.
- Disminuir problemas de actualización de los datos en las tablas.
- Proteger la integridad de datos.
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales. No se permiten los duplicados.
- Todos los datos en una columna deben ser del mismo tipo.
En el modelo relacional es frecuente llamar tabla a una relación; para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
usuario
Según la Real Academia Española, un usuario es aquel que usa algo o que usa ordinariamente algo. Por ejemplo un usuario de una biblioteca es un lector interesado en leer algún volumen de su archivo. Sin embargo, esto se opone a los conceptos de la Web semántica, Web 2.0 y 3.0, ya que la realidad actual prima a los ciudadanos como emisores y no solo como receptores que usan los medios. Es preferible, por tanto hablar de actores, sujetos, ciudadanos, etc. para referirse a las personas que interactúan en las redes digitales.
A continuación veremos algunos tipos de usuarios ya mencionados:
Usuarios normales: Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usarios pueden también simplemente leer informes generados de la base de datos.
Programadores de aplicaciones: Son profesionales informáticos que escriben los programas de aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa.
Usuarios sofisticados: Interactúan con el sistema sin programas escritos, usando el lenguaje de consulta de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea (OLAP, OnLine Analytical Processing), o herramientas de recopilación de datos.
Usuarios especializados: Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.
Administrador
Los privilegios de administrador están asociados con su cuenta de usuario. Los usuarios administradores tienen estos privilegios, mientras que los usuarios estándar no. Sin privilegios de administrador no podrá instalar software. Algunas cuentas de usuario (por ejemplo, la cuenta de root) tiene privilegios de administrador permanentemente. No debería usar los privilegios de administrador todo el tiempo porque, accidentalmente, puede cambiar un archivo importante (por ejemplo, eliminar un archivo del sistema necesario).
En resumen, los privilegios de administrador le permiten cambiar partes importantes de su sistema cuando lo necesite, pero le impiden hacerlo accidentalmente.
Creación de una base de datos
En este articulo estaremos comentando la creacion de una base de datos en my SQL workbench.
.
Sentencia insert en mysql
insert o insret into es una sentencia que nos permite insertar datos a los campos de una tabla en especifica los datos se insertaran de manera ordenada.
Es la sentencia utilizada para introducir filas en una tabla.
INSERT inserta nuevas filas en una tabla existente. Los formatos INSERT ... VALUES e INSERT ... SET, insertas filas basándose en los valores especificados explícita mente. El formato The INSERT ... SELECT inserta filas seleccionadas de otra tabla o tablas. El formato INSERT ... VALUES con una lista de múltiples valores está soportada por MySQL desde la versión 3.22.5. La sintaxis INSERT ... SET está soportada por MySQL desde la versión 3.22.10.Sentencia select con mysql
select es una sentencia que se utiliza para seleccionar tanto campos como tablas . esta sentencia es una de las mas básicas debido a que si queremos insertar modificar etc debemos seccionar la tabla.
Clausula where con mysql
Es una clausula que es fundamental para el desarrollo de una base de datos ya que nos permite seleccionar con mas exactitud un campo. Esta sentencia entra en conjunto con muchas es por ello que no debe olvidarse un where en código de programación debido a que nos brida una mayor precisión al hora de seleccionar un campo.
Clausula betwen con mysql
Es una clausula que se utiliza como especificador de búsqueda de manera numérica en conjunto con select, where, and, or.
Clausula like con mysql
El operador like se utiliza en una clausula where para buscar un patrón especifico en una where para buscar un patrón especifico en una columna.
hay dos comodines utilizados en conjunto con el operador como:
%_El signo de porcentaje representa un solo cero, uno, o varios caracteres.
_El subrayado representa un solo carácter.
Operador lógico or
Clausula order by
Es una clausula que ordena de la manera en la que se le exige.
La cláusula MySQL ORDER BY se usa para ordenar los registros en su conjunto de resultados.
Clausula group by
Es una clausula que agrupa o muestra de manera ordenada los datos iguales.
Privilegios proporcionados por mysql
El sistema de privilegios de MySQL asegura que todos los usuarios pueden ejecutar sólo la operación permitida a los mismos. Como cuando un usuario se conecta a un servidor MySQL, su identidad se determina mediante el equipo desde el que se conecta y el nombre de usuario que especifique. Cuando efectúe peticiones tras conectar, el sistema le otorga privilegios acorde a su identidad y lo que quiera hacer.
MySQL considera tanto su nombre de usuario y su equipo a la hora de identificarle, ya que no hay razón para asumir que un nombre de usuario pertenece a la misma persona en cualquier sitio de Internet. Por ejemplo, el usuario joe que conecta desde office.com no tiene porqué ser la misma persona que el usuario joe que conecta desde elsewhere.com. MySQL trata esto permitiendo-le distinguir usuarios en diferentes equipos que tienen el mismo nombre. Puede otorgar un conjunto de privilegios para conexiones de joe desde office.com, y un conjunto distinto para conexiones de joe desde elsewhere.com.
El control de acceso de MySQL implica dos etapas:
Etapa 1: El servidor comprueba si debe permitirle conectarse.
Etapa 2: Asumiendo que se conecta, el servidor comprueba cada comando que ejecuta para ver si tiene suficientes permisos para hacerlo. Por ejemplo, si intenta seleccionar registros de una tabla en una base de datos o eliminar una tabla de la base de datos, el servidor verifica que tenga el permiso SELECT para la tabla o el permiso DROP para la base de datos.
El servidor usa las tablas user, db, y host en la base de datos mysql en ambas etapas de control de acceso. Las columnas en estas tablas de permisos se muestran a continuación:
Nombre tabla | user | db | host |
Alcance columnas | Host | Host | Host |
User | Db | Db | |
Password | User | ||
Columnas privilegios | Select_priv | Select_priv | Select_priv |
Insert_priv | Insert_priv | Insert_priv | |
Update_priv | Update_priv | Update_priv | |
Delete_priv | Delete_priv | Delete_priv | |
Index_priv | Index_priv | Index_priv | |
Alter_priv | Alter_priv | Alter_priv | |
Create_priv | Create_priv | Create_priv | |
Drop_priv | Drop_priv | Drop_priv | |
Grant_priv | Grant_priv | Grant_priv | |
Create_view_priv | Create_view_priv | Create_view_priv | |
Show_view_priv | Show_view_priv | Show_view_priv | |
Create_routine_priv | Create_routine_priv | ||
Alter_routine_priv | Alter_routine_priv | ||
References_priv | References_priv | References_priv | |
Reload_priv | |||
Shutdown_priv | |||
Process_priv | |||
File_priv | |||
Show_db_priv | |||
Super_priv | |||
Create_tmp_table_priv | Create_tmp_table_priv | Create_tmp_table_priv | |
Lock_tables_priv | Lock_tables_priv | Lock_tables_priv | |
Execute_priv | |||
Repl_slave_priv | |||
Repl_client_priv | |||
Columnas seguridad | ssl_type | ||
ssl_cipher | |||
x509_issuer | |||
x509_subject | |||
Columnas recursos control | max_questions | ||
max_updates | |||
max_connections | |||
max_user_connections |
Mas información en: http://tecnologiaenvivo.com/como-funciona-el-sistema-de-privilegios/.
Datos dinámicos
La necesidad de dato dinámico aparece cuando tienes una estructura de datos que se repite una y otra vez. Por ejemplo pongamos que deseas crear una pantalla con una lista de perros, y que para cada perro quieres detallar su peso, color, altura y cuantos aspectos desees. La estructura de datos para cada perro es la misma pero los valores varían.
Para ahorrar tiempo y trabajo definimos la estructura una sola vez en forma de base de datos. Y creamos dentro de la misma tantos registros como perros deseemos documentar.
Ahora ya tenemos una estructura de datos dinámica, puesto que en función de qué registro de perros visualicemos los valores para cada campo de la base de datos variarán.
Lo bueno de ésto es que solo diseñas en pantalla la estuctura de datos una vez y usas enlaces para mostrar una visualización u otra de la base de datos. Cada visualización o vista se define con criterios de selección o condición, de forma que una vista puede mostrar todos los perros de cierta raza, o de un peso mayor que 4 kg, etc.
Podrás añadir y quitar registros viéndose el cambio reflejado en la base de datos y por ende en el contenido de la App sin que el cliente tenga que descargarse de nuevo la App.
Datos estáticos
Su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo típico son los arreglos. Tienen el problema de que hay que dimensionar la estructura de antemano, lo que puede conllevar desperdicio o falta de memoria.Especificar Nombre De cuentas y Roles
Una cuenta MySQL se define en términos de un nombre de usuario y el equipo o equipos desde los que el usuario puede conectar al servidor. La cuenta también tiene una contraseña. Hay varias diferencias entre cómo se usan los nombres de usuario y contraseñas en MySQL y cómo los usa el sistema operativo:
- Los nombres de usuario, tal como los usa MySQL para autentificación, no tienen nada que ver con los nombres de usuario (nombres de logueo) tal y como los usa Windows o Unix. En Unix, la mayoría de clientes MySQL por defecto tratan de loguear usando el nombre de usuario Unix como el nombre de usuario MySQL, pero eso es sólo como conveniencia. El comportamiento por defecto puede cambiarse fácilmente, ya que el programa clienet permite especificar cualquier nombre de usuario con la opción
-u
o--user
. Como esto significa que cualquiera puede intentar conectar al servidor usando cualquier nombre de usuario, no puede hacer una base de datos segura de ninguna forma a no ser que todas las cuentas MySQL tengan contraseña. Cualquiera que especifique un nombre de usuario para una cuenta que no tenga contraseña puede conectar al servidor.
Control de acceso
Una vez establecida una conexión, el servidor entra en el estado 2 del control de acceso. Por cada petición que viene en la conexión, el servidor determina que operación realizar, y entonces comprueba si tiene suficientes privilegios para hacerlo. Aquí es donde las columnas de privilegios de las tablas grant entran en juego. Estos privilegios puede venir de cualquiera de las tablas
user
, db
, host
, tables_priv
, o columns_priv
.(Puede encontrar útil consultar Sección 5.6.2, “Cómo funciona el sistema de privilegios”, que enumera las columnas presentes en cada una de las tablas grant.)
Verificación de conexión
PHP proporciona la función mysql_connect() para abrir una conexión a una base de datos. Se utilizan 5 parámetros opcionales y el resultado proporciona un identificador de la conexión (en el caso de mariadb) al realizar una conexión exitosa o un valor de false en una conexión incorrecta.
PHP también nos proporciona la función mysql_close() para cerrar la conexión previamente abierta, esta función utiliza un único parámetro.
La sintaxis es la siguiente:
mysql_connect(server,userpasswd,new_link,client_flag);
Parametros
server
|
Parámetro opcional y especifica el servidor donde la base de datos está corriendo, el valor por defecto es localhost:3306
|
---|---|
user
|
Especifica el nombre de usuario accediendo a la base de datos, si no es asignado por defecto tratará de utilizar el nombre de usuario el propietario del servidor.
|
passw
|
La contraseña configurada para el usuario, no tiene un valor por defecto configurado, es decir, es blanco.
|
new_link
|
Este parámetro opcional especifica que en una segunda llamada a mysql_connect () con argumentos idénticos, en lugar de una nueva conexión, se devolverá el identificador de la conexión actual.
|
client_flag
|
Este parámetro opcional utiliza una combinación de los siguientes valores constantes:
- MYSQL_CLIENT_SSL − Si utiliza encriptación SSL. - MYSQL_CLIENT_COMPRESS − Utiliza protocolo de compresión. - MYSQL_CLIENT_IGNORE_SPACE − Permite espacios después de nombres de función. - MYSQL_CLIENT_INTERACTIVE − Permite segundos de inactividad in,teractivos de tiempo de espera antes de cerrar la conexión. |
Comentarios
Publicar un comentario