Академический Документы
Профессиональный Документы
Культура Документы
Nombre :
Índice
Tareas y trabajos
UNIDAD 1 - FUNDAMENTOS DE LA ADMINISTRACIÓN DE LAS BASES
DE DATOS.
Una base de datos o bancos de datos es un conjunto de datos que pertenecen al
mismo contexto almacenado sistemático para su posterior uso. Una de las Bases de
Datos es un “almacén” que nos permite guardar información de forma organizada para
que luego podamos encontrar y utilizar fácilmente.
El termino Bases de Datos fue escuchado por primera vez en 1963, para definir a un
conjunto de datos relacionados que se encuentran agrupados de forma estructura.
Las bases de datos son el resultado de buscar una solución a los sistemas de
archivos, en los cuales:
Las estructuras de datos son creadas por los programas y para modificarlas hay
que modificar cada programa que lo accesa.
Los archivos sólo pueden ser accesados por programas creados en el mismo
lenguaje del programa creador del archivo.
Para accesar la información se debe recorrer el archivo.
Los archivos son fáciles de afectar en su estructura y perder los datos.
Los datos se organizan independientemente de las aplicaciones que los vayan a usar
(independencia lógica)y de los ficheros en los que vayan a
almacenarse(independencia física).Los usuarios y las aplicaciones pueden acceder a
los datos mediante el uso de lenguajes de consulta (p.ej.SQL, Query-by-example…).
Los datos se gestionan de forma centralizada e independiente de las aplicaciones.
Consistencia e integridad de los datos.
Fiabilidad (protección frente a fallos).
Seguridad (control de acceso a los datos).
Unidad 2 - ADMINISTRACION DE BASES DE DATOS
El administrador de base de datos (DBA) es el técnico responsable de implementar las
decisiones del administrador de datos. Por lo tanto, debe ser un profesional en IT. El
trabajo del DBA consiste en crear la base de datos real e implementar los controles
técnicos necesarios para hacer cumplir las diversas decisiones de las políticas hechas
por el DA. El DBA también es responsable de asegurar que el sistema opere con el
rendimiento adecuado y de proporcionar una variedad de otros servicios técnicos.
Un administrador de bases de datos (también conocido como DBA, en inglés database
administrator) 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.
Sus tareas incluyen las siguientes:
Implementar, dar soporte y gestionar bases de datos corporativas.
Crear y configurar bases de datos relacionales.
Ser responsables de la integridad de los datos y la disponibilidad.
Diseñar, desplegar y monitorizar servidores de bases de datos.
Diseñar la distribución de los datos y las soluciones de almacenamiento.
Garantizar la seguridad de las bases de datos, realizar copias de seguridad y
llevar a cabo la recuperación de desastres.
Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
Diseñar planes de contingencia.
Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la
inteligencia de negocios.
Producir diagramas de entidades relacionales y diagramas de flujos de datos,
normalización esquemática, localización lógica y física de bases de datos y
parámetros de tablas.
La integridad referencial consiste en que los datos que referencian otros (claves
foráneas) deben ser correctos.
RECUPERACION
Concepto
Un sistema de recuperación consiste en restaurar la BD a un estado que se sepa
correcto, tras cualquier fallo que la haya dejado en un estado incorrecto.
Recuperación de BD:
“devolver la BD a un estado consistente”
La recuperabilidad significa que, si se da algún error en los datos, hay un bug de
programa ó de hardware, el DBA (Administrador de base de datos) puede traer de
vuelta la base de datos al tiempo y estado en que se encontraba en estado
consistente antes de que el daño se causara. Las actividades de recuperación
incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de
manera que se minimice el riesgo de daño ó pérdida de los mismos, tales como hacer
diversas copias en medios de almacenamiento removibles y almacenarlos fuera del
área en antelación a un desastre anticipado. La recuperación es una de las tareas
más importantes de los DBA’s.
La recuperabilidad, frecuentemente denominada “recuperación de desastres”, tiene
dos formas primarias. La primera son los respaldos y después las pruebas de
recuperación.
La recuperación de las bases de datos consisten en información y estampas de
tiempo junto con bitácoras los cuales se cambian de manera tal que sean consistentes
en un momento y fecha en particular. Es posible hacer respaldos de la base de datos
que no incluyan las estampas de tiempo y las bitácoras, la diferencia reside en que el
DBA debe sacar de línea la base de datos en caso de llevar a cabo una recuperación.
Las pruebas de recuperación consisten en la restauración de los datos, después se
aplican las bitácoras a esos datos para restaurar la base de datos y llevarla a un
estado consistente en un tiempo y momento determinados. Alternativamente se puede
restaurar una base de datos que se encuentra fuera de línea sustituyendo con una
copia de la base de datos.
Si el DBA (o el administrador) intentan implementar un plan de recuperación de bases
de datos sin pruebas de recuperación, no existe la certeza de que los respaldos sean
del todo válidos. En la práctica, los respaldos de la mayoría de los RDBMSs son
raramente válidos si no se hacen pruebas exhaustivas que aseguren que no ha habido
errores humanos ó bugs que pudieran haber corrompido los respaldos.
RESPALDO
Es la obtención de una copia de los datos en otro medio magnetico, de tal modo que a
partir de dicha copia es posible restaurar el sistema al momento de haber realizado el
respaldo. Por lo tanto, los respaldos deben hacerse con regularidad, con la frecuencia
preestablecida y de la manera indicada, a efectos de hacerlos correctamente.
Es fundamental hacer bien los respaldos. De nada sirven respaldos mal hechos ( por
ejemplo incompletos). En realidad, es peor disponer de respaldos no confiables que
carecer totalmente de ellos.
Suele ocurror que la realización de respaldos es relegada a un plano secundario.
Existen varias maneras de respaldar base de datos MySQL, en este post unicamente
mostraré una manera de hacerlo utilizando mysqldump() y PHP.
Basicamente lo que se realiza es un resplado de todas las bases de datos, por lo que
el script debe ejecutarse como un usuario que tenga permisos sobre todas las bases.
Adicionalmente se mantiene en disco las ultimas 3 copias de los respaldos.
$backupFile”;
exec($command, $salida);
// Mantiene los ultimos 3 backups
$days=3;
$archivos = scandir(“./”);
foreach ($archivos as $key => $val)
{
if(substr($val,-2) != “gz”)
unset($archivos[$key]);
}
$i=count($archivos);
foreach ($archivos as $key => $val)
{
if($i
Para sacar un respaldo a tu base de datos usas el mysqldump:
Código PHP:
//
shell> mysqldump -u usuario [-p] nombreBase > respaldoBase.sql
//
Cuando una versión distribuida del SGBD se introdujo por primera vez
cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.
Reglas de Identidad
Los conceptos básicos de integridad en el modelo relacional son el de llave primaria,
llave foránea, valores nulos y un par de reglas de integridad.
Una llave primaria es uno o un conjunto de atributos que permiten identificar a las n-
adas de manera única en cualquier momento.
Una llave foránea de una relación es un atributo que hace referencia a una llave
primaria de otra relación; esto da pie a que una relación pueda tener varias llaves
foráneas.
Un valor nulo es un valor que está fuera de la definición de cualquier dominio el cual
permite dejar el valor del atributo ``latente'', su uso es frecuente en las siguientes
situaciones:
i)Cuando se crea una n-ada y no se conocen todos los valores de cada uno de los
atributos.
ii)Cuando se agrega un atributo a una relación ya existente.
iii)Para no tomarse en cuenta al hacer cálculos numéricos.
Las dos reglas de integridad tienen que ver precisamente con los conceptos antes
mencionados y son:
Integridad de Relaciones.
Ningún atributo que forme parte de una llave primaria puede aceptar valores nulos.
Integridad Referencial.
Al tener una relación 9#9 con llave primaria 10#10 de dominio 11#11 y otra relación
1#1 con atributo 10#10 que no es llave primaria de 1#1, entonces cualquier valor en el
atributo 10#10 en 1#1 debe ser:
i)nulo, o
ii)un valor que esté en el atributo 10#10 de la llave primaria de una n-ada en la
relación 9#9
MODELOS DE ACCESO DE BASE DE DATOS
Acceso
Tiene
MENUS
TIPO_USUARIO
La tabla de usuarios es uno de los pilares mas importantes en los sistemas en los que
es requerido un modulo de usuarios, esta tabla de usuarios esta ligada al modulo de
usuarios, a las acciones de registro, login y aquellas otras tablas relacionadas.
Cuando se habla de modelado de base de datos, normalmente se pienza en
programas visuales como dia o mysql workbench, en mi caso prefiero trabajar con
codigo SQL.
1. Modelo simple
Bueno el modelo mas simple para la tabla de usuarios seria la siguiente:
En el modelo simple tenemos una tabla llamada “user”, podria llamarse usuario,
personas o lo que usteden gusten, es recomendable siempre usar nombres de tablas
y campos que se relacionen con lo que vamos a almacenar a excepcion de casos
especiales en los que se utilizan nombres indecifrables para proteger la base de
datos.
En el modelo simple podemos ver 3 campos:
• id: este es el identificador automatico incremental para diferenciar cada usuario,
es requerido que este campo tambien sea la llave primaria de la tabla.
• username: nombre del usuario, este es el nombre de acceso al usuario, en otros
casos se podria usar el email, tambien es valido una palabra, etc, el nmbre de
usuario debe ser unico, es decir no se debe repetir.
• password: contrase~a, el password tambien es una palabra o texto, y sirve para
proteger o autenticar el usuario, es recomendable que el password este
encriptada.
Bueno, con este modelo super simple ya podemos hacer un registro, login, etc.
Registro
Login
Se podria decir que el modelo simple de la tabla de usuario es funcional y valido, pero
normalmente en la vida real la tabla de usuarios tendra muchos campos mas, pero la
escencia del funcionamiento es la misma, es decir:
• Para hacer el registro se pueden agregar mas campos como: nombre, apellidos,
fecha de nacimiento, etc.
• Para el login solo se necesitan 2 campos: el username y password, en algunos
casos se puede sustituir el username por el email.
2. Modelo basico
Ahora veamos un modelo basico pero un poco mas completo que el modelo simple.
Podemos ver que este modelo cuenta con algunos campos extras, que nos sirven
para tener mas informacion del usuario.
• name: nombre, el nombre del usuario
• lastname: almacena el o los apellidos del usuario
• image: sirve para almacenar una imagen o foto.
• email: sustituye el username, aunque tambien se puede usar username.
• created_at: es un auxiliar para guardar y saber la fecha en la que se registra el
usuario.
El modelo basico cumple con algunos requerimientos extra y en algunos casos puede
ser suficiente.
3. Modelo Completo / Evilnapsis
Ahora veamos el modelo completo o modelo evilnapsis, no es que yo halla inventado
este modelo, mas bien es el modelo que me parece mucho mas funcional y lo utilizo
en proyectos privados y los proyectos de la tienda.
El modelo completo a diferencia del modelo basico tiene 2 campos de diferencia:
• status: sirve para almacenar y conocer un estado del usuario, algunos estados
recomendados podrian ser: inactivo, activo, bloqueado, etc. para mayor facilidad
se debe asociar estos estados a un numero entero y almacenar tal numero.
• kind: tipo, este campo normalmente lo utilizo para diferenciar entre tipos de
usuarios, por ejemplo: administrador, vendedor, medico, paciente, alumno,
maestro, etc. de la misma manera que para el status, se debe relacionar cada
tipo de usuario a un numero entero.
El modelo completo ayuda mas a crear un sistema mas variado, los status y kinds,
hacen que la tabla usuario se adapte mas a ciertos cambios.
A veces yo utilizo los campos status y kind a otras tablas, o tambien los principios, si
crees que tu sistema solo contara con 2 status y.o 2 kinds puedes usar valores
booleanos en vez de valores enteros.
Conclusion
El modelo de usuarios a veces puede ser dificil, dependiendo de los requerimientos,
pueden suceder casos simples y faciles como agregar campos de texto para datos del
usuario como direccion, telefono, email secundario, tambien pueden haber casos en
los que se requiera almacenar algun codigo de recuperacion o valores de
configuracion para el usuario.
Espero con estos modelos y consejos de bases de datos les ayuden a crear sus
propias tablas de usuarios de acuerdo a sus necesidades.
MODELO SIMPLE
MODELO BASICO
MODELO COMPLETO
REGISTRO
LOGIN
¿Qué es la Normalización?
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: