0% encontró este documento útil (0 votos)
88 vistas40 páginas

Arduino

El documento contiene información sobre conceptos básicos de programación como Arduino, variables, funciones, operadores lógicos, bucles y estructuras de control. También incluye ejemplos de código para manipular arrays y realizar tareas como filtrar números pares e impares. Por último, presenta temas sobre administración de usuarios y permisos en bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
88 vistas40 páginas

Arduino

El documento contiene información sobre conceptos básicos de programación como Arduino, variables, funciones, operadores lógicos, bucles y estructuras de control. También incluye ejemplos de código para manipular arrays y realizar tareas como filtrar números pares e impares. Por último, presenta temas sobre administración de usuarios y permisos en bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

FUNDAMENTOS DE

PROGRAMACION

Docente: Ing. Félix Plúas N.


Em@il: fpluas@[Link]
UNIDAD 4
• Que es Arduino
• El IDE del Arduino
• Variables
• Funciones
• Operadores
• If, for, while, y el switch
• Entradas, botones, debounce, pullup, análogico…
• String, array, void
• Señales PWM, Registro, Datasheet (No incluye)
• Módulos, detectores, pantallas, actuadores (No incluye)
Ejemplo
numbers = [12, 37, 5, 42, 8, 3]
even = []
odd = []
while len(numbers) > 0:
number = [Link]()
if(number % 2 == 0):
[Link](number)
else:
[Link](number)
Administración de bases de datos
¿Qué es un DBA?
• Un administrador de base de datos (DBA) es el técnico de
información responsable de dirigir o realizar todas las
actividades relacionadas con el mantenimiento de un entorno
de base de datos exitoso. Un DBA se asegura de que la base de
datos de una organización y sus aplicaciones relacionadas
funcionen de manera funcional y eficiente.
¿Qué papel juega el usuario administrador de una
base de datos?
• Para mantener en estado adecuado una base de datos, el papel
que desempeña el usuario administrador es fundamental para
garantizar el buen desempeño de cualquier base de datos.
¿Por qué una empresa necesita un DBA? Toda organización que
maneja grandes volúmenes de datos requiere un sistema de gestión
de base de datos (DBMS).
• La persona o grupo de personas encargadas de administrar, supervisar
y asegurar el adecuado uso de los datos dentro de un DBMS
(Database Management System) son los DBA. Estos sistemas
permiten manejar grandes montañas de datos de una manera
eficiente, permitiendo así disponer de una mejor herramienta para la
toma de decisiones de negocios. Por lo tanto, la necesidad de los
administradores de bases de datos (DBA) es hoy mayor que nunca
¿Cuáles son las funciones que realiza un DBA?
• Gestión General de Base de Datos
• Modelado de Datos y Diseño de Base de Datos
• Auditoria
• Integración con aplicaciones
• Resguardo y recuperación de datos
• Inteligencia de negocios y almacenamiento de datos
• Planificación de capacidad
• Administración de cambios
• Desarrollo de aplicaciones (programas)
Gestión General de Base de Datos
• El DBA es la persona con más conocimientos sobre base de datos en
una organización. Como tal, debe entender las reglas básicas de la
tecnología de base de datos relacional y ser capaz de comunicarlos
con precisión a los demás.
Modelado de Datos y Diseño 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. Esta tarea es más difícil de lo que parece. Un
modelo conceptual de datos describe los requisitos de datos a un
nivel muy alto, un modelo de datos lógico proporciona en
profundidad los detalles de los tipos de datos, longitudes, relaciones y
cardinalidad. El DBA utiliza técnicas de normalización para ofrecer
modelos de datos que reflejen las necesidades de los datos de la
empresa.
Auditoria
• Una de las tareas de un DBA es identificar qué usuarios tienen acceso
a insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO
sólo podría ser necesaria por un tiempo limitado, para usuarios
específicos o datos específicos. También puede ser requerida 24/7
para todos los datos que se introduzcan en el DBMS. Regularmente,
para realizar las funciones de autorías los DBAs tienen que trabajar en
combinación con los auditores internos y externos 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 recuperación 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 desarrolladores de
aplicaciones, por lo que a veces se ve en la obligación de desarrollar
código para casos específicos.
Administración de usuarios y permisos
Para crear un usuario en MySQL utilizamos la sentencia GRANT, antes
de crear un usuario debes iniciar sesión con un usuario que tenga los
permisos necesarios:

GRANT USAGE ON *.* TO usuariodb IDENTIFIED BY ‘contraseña';

En la instrucción anterior usamos *.* con esto indicamos que el usuario


tendrá acceso a todas las bases de datos y todas sus tablas.
Asignar privilegios a usuario para una tabla
GRANT SELECT ON [Link] TO usuariodb;

Asignar privilegios a usuario para todas las tablas de la base de datos


GRANT SELECT ON basededatos.* TO usuariodb;

Actualizar Privilegios
FLUSH PRIVILEGES;

Visualizar privilegios de usuario


SHOW GRANTS FOR usuariodb;
Cambiar contraseña:
SET PASSWORD FOR usuariodb@'%' = PASSWORD(‘nuevaclave');
Quitar privilegios:
REVOKE SELECT ON [Link] FROM usuariodb;
Eliminar usuario:
DROP USER usuariodb;
Privilegio Característica
ALL Conceder todos los privilegios
CREATE Crear nuevas tablas
DROP Borrar tablas
SELECT Seleccionar datos de tablas
INSERT Insertar datos en tablas
UPDATE Usar la sentencia update
DELETE Usar la sentencia delete
Backup e Import
La gestión de backup es importante en las tareas de un DBA y es por ello que
vamos a hablar de mysqldump.
El comando mysqldump es un programa que incluye por defecto el gestor de base
de datos MySQL y que permite la posibilidad de realizar copias de seguridad de los
datos almacenados ejecutando la instrucción mediante línea de comando, ya sea
en una ventana MS-Dos de Windows o en un terminal Linux.
Este comando permite crear copias de seguridad que pueden ser restaurados en
distintos tipos de gestores de bases de datos ya que devuelve un fichero SQL con
todas las sentencias necesarias para la restauración de la copia en cualquier otro
sitio.
Requisitos previos

Para empezar, es interesante conocer los requisitos que se necesitan para poder
importar o exportar una base de datos en MySQL o MariaDB:

• Acceso al servidor donde está instalado MySQL o MariaDB.


• El nombre de la base de datos, el usuario y la contraseña de acceso a la base de
datos.
Algunas de las opciones más destacadas que nos ofrece el comando
mysqldump son:
• --add-drop-table: Añade un “drop table” (borrado de tabla) antes de
cada sentencia “create” (creación de tabla).
• --all-databases o -A: Realiza un backup de todas las bases de datos
que hay en el gestor MySQL.
• --databases o -B: Realiza una copia de las bases de datos que se le
indican a continuación de la opción. Ejemplo: mysqldump –databases
bbdd1 bbdd2 > [Link]
• --force o -f: Continúa realizando el backup aunque se produzca un
error durante la creación.
• --host o -h: Nos permite indicar el servidor MySQL donde está la base
de datos. El servidor por defecto es localhost.
• --password o –p: Permite indicar la contraseña para conectarse al
servidor MySQL. Si utilizamos la opción corta (-p) no debemos dejar
un espacio en blanco.
También es posible indicar la opción sin introducir la contraseña, en
este caso al pulsar “Intro” el sistema nos preguntará por ella.
• --port o –P: Si el servidor indicado utiliza un puerto diferente al de por
defecto del servicio MySQL (3306) lo tendremos que indicar mediante
esta opción.
• --user o –u: Para indicar el usuario MySQL que se conectará al
servidor.
• --xml: Nos devuelve un backup en formato XML en vez de SQL.
A continuación algunos ejemplos de uso del comando mysqldump:
1.- Backup de una base de datos completa
mysqldump –h localhost –u user –ppassword bbdd > [Link]
2.- Backup de dos tablas de una base de datos
mysqldump –h localhost –u user –ppassword bbdd tabla1 tabla2 >
[Link]
3.- Backup de dos bases de datos completas
mysqldump –h localhost –u user –ppassword --databases bbdd1
bbdd2 > [Link]
4.- Backup de todas las bases de datos
mysqldump –h localhost –u user –ppassword –all-databases >
[Link]
5.- Backup de una base de datos hospedada en un servidor externo con
un puerto que no es el de por defecto
mysqldump –h [Link] –P 3310 –u user –ppassword
bbdd > [Link]
Una vez ejecutado el Backup es importante conocer como hacemos el import de la
base y para ellos disponemos del siguiente comando:

mysql -u username -p new_database < [Link]

• username es el nombre del usuario con acceso a la base de datos.


• new_database es el nombre de la base de datos donde se realizará la
importación.
• [Link] es el nombre del archivo que contiene todas las instrucciones sql que
se van a importar.
Índices
Los índices en MySQL permiten localizar y devolver registros de una
forma sencilla y rápida. Son especialmente útiles cuando queremos
buscar elementos de entre los millones y hasta billones de registros que
puede contener una tabla en un momento dado. Cuando no usamos
índices, a veces podemos percibir que MySQL tarda demasiado en
responder una consulta o, incluso para usuarios inexpertos, puede
parecer que se ha creado un índice pero que no se siente una mejora
en la velocidad.
¿Qué son los índices?
Un índice es un puntero a una fila de una determinada tabla de nuestra
base de datos. Pero… ¿qué significa exactamente un puntero? Pues
bien, un puntero no es más que una referencia que asocia el valor de
una determinada columna (o el conjunto de valores de una serie de
columnas) con las filas que contienen ese valor (o valores) en las
columnas que componen el puntero.
¿Tienen restricciones?
La creación de índices implica un aumento en el tiempo de ejecución
sobre aquellas consultas de inserción, actualización y eliminación
realizadas sobre los datos afectados por el índice (ya que tendrán que
actualizarlo). Del mismo modo, los índices necesitan un espacio para
almacenarse, por lo que también tienen un coste adicional en forma de
espacio en disco.
Escenarios de uso
Si no existiesen índices, la búsqueda empezaría por la primera fila de la
tabla hasta la última buscando aquellas filas que cumplen los valores
establecidos para las columnas empleadas en la consulta. Esto implica
que, cuanto más filas tenga la tabla, más tiempo tardará en realizar la
consulta. En cambio, si la tabla contiene índices en las columnas
empleadas en la consulta, MySQL tendría una referencia directa hacia
los datos sin necesidad de recorrer secuencialmente todos ellos.
En general, MySQL emplea los índices para las siguientes acciones:
• Encontrar las filas que cumplen la condición WHERE de la consulta
cuyas columnas estén indexadas.
• Para recuperar las filas de otras tablas cuando se emplean
operaciones de tipo JOIN. Para ello, es importante que los índices
sean del mismo tipo y tamaño ya que aumentará la eficiencia de la
búsqueda. Por ejemplo: una operación de tipo JOIN sobre dos
columnas que tengan un índice del tipo INT(10).
• Disminuir el tiempo de ejecución de las consultas con ordenación
(ORDER BY) o agrupamiento (GROUP BY) si todas las columnas
presentes en los criterios forman parte de un índice.
• Si la consulta emplea una condición simple cuya columna de la
condición está indexada, las filas serán recuperadas directamente a
partir del índice, sin pasar a consultar la tabla.
Tipos de índices
• INDEX (NON-UNIQUE): este tipo de índice se refiere a un índice
normal, no único. Esto implica que admite valores duplicados para la
columna (o columnas) que componen el índice. No aplica ninguna
restricción especial a los datos de la columna (o columnas) que
componen el índice sino que se emplea simplemente para mejorar el
tiempo de ejecución de las consultas.
• UNIQUE: este tipo de índice se refiere a un índice en el que todas las
columnas deben tener un valor único. Esto implica que no admite
valores duplicados para la columna (o columnas) que componen el
índice. Aplica la restricción de que los datos de la columna (o
columnas) deben tener un valor único.
• PRIMARY: este tipo de índice se refiere a un índice en el que todas las
columnas deben tener un valor único (al igual que en el caso del
índice UNIQUE) pero con la limitación de que sólo puede existir un
índice PRIMARY en cada una de las tablas. Aplica la restricción de que
los datos de la columna (o columnas) deben tener un valor único.
• FULLTEXT: estos índices se emplean para realizar búsquedas sobre
texto (CHAR, VARCHAR y TEXT). Estos índices se componen por todas
las palabras que están contenidas en la columna (o columnas) que
contienen el índice. No aplica ninguna restricción especial a los datos
de la columna (o columnas) que componen el índice sino que se
emplea simplemente para mejorar el tiempo de ejecución de las
consultas. Este tipo de índices sólo están soportados por InnoDB y
MyISAM en MySQL 5.7.
• SPATIAL: estos índices se emplean para realizar búsquedas sobre
datos que componen formas geométricas representadas en el
espacio. Este tipo de índices sólo están soportados por InnoDB y
MyISAM en MySQL 5.7.
Para crear un índice, se empleará la siguiente estructura:
«CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name ON
table_name (index_col_name…) index_type;»
Donde:
• index_name: es el nombre del índice.
• table_name: es el nombre de la tabla donde se va a crear el índice.
• index_col_name: nombre de la columna (o columnas) que formarán el índice.
• index_type: es el tipo del índice. Se emplea con USING [BTREE | HASH].
Un ejemplo sería:
CREATE UNIQUE INDEX mi_indice_unico ON mi_tabla
(mi_columna) USING HASH;
Estructuras de índices
• B-TREE: este tipo de índice se usa para comparaciones del tipo =, >, <,
>=, <=, BETWEEN y LIKE (siempre y cuando se utilice sobre constantes
que no empiecen por %). Para realizar búsquedas empleando este
tipo de índice, se empleará cualquier columna (o conjunto de
columnas) que formen el prefijo del índice. Por ejemplo: si un índice
está formado por las columnas [A, B, C], se podrán realizar búsquedas
sobre: [A], [A, B] o [A, B, C].
• HASH: este tipo de índice sólo se usa para comparaciones del tipo = o
<=>. Para este tipo de operaciones son muy rápidos en comparación a
otro tipo de estructura. Para realizar búsquedas empleando este tipo
de índice, se emplarán todas las columnas que componen el índice.
Bibliografía
[Link]
https://
[Link]/comunicacion/wp-content/images/2013/02/white-paper-acens-
[Link]
https://
[Link]/es/blog/cuales-son-las-funciones-de-un-administrador-de-
base-de-datos

También podría gustarte