ADMINISTRACION DE BASE DE DATOS
martes, 23 de octubre de 2018
martes, 16 de octubre de 2018
Practica de usuarios y privilegios
MySQL es un manejador de base de datos de código libre que ayuda a los usuarios a almacenar, organizar y recolectar datos. Tiene variedad de opciones para otorgar a determinados usuarios permisos entre tablas y bases de datos.
En esta practica crearemos una base de datos con dos tablas (datos personales y calificaciones) a la cual podrán acceder tres diferentes usuarios (contador, finanzas y división) con diferentes privilegios.
- Para esto entraremos con el usuario root a mysql.
Al escribir el comando select user from mysql.user; nos mostrara todos los usuarios existentes en MySQL, asi como lo muestra la imagen de arriba, se desplegara una lista de todos ellos.
En el root se puede crear una base de datos con tablas a las que despues nuestros usuarios podran acceder.
2. Creamos nuestra base de datos: create database alumnos;
Si se quiere corroborar que la base de datos ha sido creada, entonces antes de acceder a ella, escibiriamos: show databases;
Despues accedemos a ella: use alumnos
Ahora estamos dentro de nuestra base de datos y crearemos la primera tabla llamada datos personales.
Codigo: create table datosper(
num_con int not null auto_increment primary key, nombre varchar (50), apellidop varchar(50), cel varchar (10) noot null);
jueves, 11 de octubre de 2018
UNIDAD 2
ESTRUCTURAS FÍSICAS DE LAS BASE DE DATOS
Estructura física de la base de datos Oracle:
1.Estructura de la memoria
Es la estructura de memoria compartida que contienen datos e información de control para una instancia de una base de datos, cada instancia tiene sus propias estructuras de memoria y se localiza en la memoria virtual del computador. Las estructuras de memoria se denominan System Global Area (SGA) la cual es un área compartida por todos los usuarios.
Fondo común compartido (Shared pool)
Este se utiliza durante el procesamiento de comando y tiene dos zonas:
- Library Cache
- Data Dictionary Cache (Dictionary Cache o Row Cache)
Área de Memoria rápida (Dtabase buffer cache)
Mantiene los bloques de datos leídos directamente de los archivos de datos y esta organizada en dos listas.
- Lista de sucios. Bloques que han sufrido modificaciones y no han sido escritos en disco.
- Lista de menos recientemente usados: mantiene los bloques libres, los bloques a los que se está accediendo actualmente y los bloques sucios que aún no han sido remitidos a la lista de sucios.
Área de registro de rehacer (Redo log buffer)
Es un buffer circular que mantiene todos los cambios que han sido realizados sobre la base de datos por operaciones de insert, update, delete, create, alter y drop.
2. Archivos
En Oracle los archivos de clasifican en
2.1 Los Archivos de Datos (Datafiles): sirve para
el almacenamiento físico de las tablas, índices y procedimientos, estos son los
únicos que contienen los datos de los usuarios de la base de datos.
2.2 Archivos de Control (control files): tiene la descripción
física y dirección de los archivos para el arranque correcto de la base de
datos
2.3 Archivos de Rehacer (redo log files): tienen
los cambios que se han hecho a la base de datos para recuperar fallas o para
manejar transacciones. Debe esta conformado por dos grupos como mínimo y cada
grupo debe esta en discos separados. El principal propósito de estos archivos
es de servir de respaldo de los datos en la memoria RAM.
2.4 Archivos fuera de línea (archived files):
archivos opcionales donde se pueda guardar información vieja de los archivos de
rehacer, convenientes para respaldos de base de datos.
3.Los procesos
Los procesos son programas que se ejecutan para permitir el
acceso a los datos, se cargan en memoria y son transportados para los usuarios
y son clasificados en tres grupos:
3.1. Procesos de Base
o de Soporte
Se encargan de traer datos desde y hacia la estructura de
memoria (SGA), cada uno tiene su propia área de memoria.
Tipos de procesos:
Database Writer (DBWR): se encarga de copiar los bloques
desde el buffer cache hasta la memoria secundaria.
Log Writer (LGWR): escribe las entradas desde el Log Buffer
a disco.
La escritura de bloques del Redo Log Buffer a disco ocurre
secuencialmente y bajo las siguientes reglas:
- Cuando el Redo Log está lleno en un 33% o más.
- Cuando oucrre un time-out (cada tres segundos).
- Antes de que el DBWR escriba algún bloque modificado a disco.
- Cuando una transacción se compromete.
Checkpoint (CKPT): encargado de notificar al DBWR para que
se escriban en los archivos de datos todos los bloques contenidos en la lista
de sucios. Este proceso es invocado en intervalos de tiempo determinados. El
CKPT es opcional, si no existe las funciones son realizadas por el LGWR.
System Monitor (SMON): Encargado de realizar un proceso de recuperación
rápida cada vez que una instancia es inicializada. Esta labor incluye limpieza
de las estructuras de datos de soporte a la ejecución de consultas y llevar a
la base de datos a un estado estable previo a la ejecución de aquellas
transacciones que no hayan culminado exitosamente. También se encarga de
desfragmentar el espacio físico de almacenamiento uniendo bloques de datos
libres en la memoria secundaria.
Process Monitor (PMON): lleva la pista de los procesos de la
base de datos y efectúa labores de limpieza (liberar recursos y bloques
ocupados en los cache’s) si alguno de ellos termina prematuramente.
Archiver (ARCH): copia las bitácoras activas cuando éstas se
encuentran llenas. Este proceso se encuentra activo sólo cuando el DBMS se
encuentra operando en modo ARCHIVELOG, el único modo que admite recuperación de
los datos frente a fallas del sistema.
Recoverer (RECO): resuelve transacciones distribuidas que se
encuentran pendientes debido a la red o a fallas ocurridas en la base de datos
distribuida.
Dispatcher (Dnnn): se crea por cada sesión de trabajo
activa; es responsable de enrutar los requerimientos desde el proceso usuario,
al cual se encuentra asociado, hacia los procesos servidores y retornar la
respuesta al proceso de usuario adecuado. Estos procesos se crean solo cuando
se ejecuta con la opción multithreading.
3.2 Procesos de
Usuario:
se encarga de ejecutar el código de aplicación del usuario y
manejar el perfil del usuario con sus variables de ambiente. Estos procesos no
se pueden comunicar directamente con la base de datos, por lo que la
comunicación la establecen mediante procesos de servidores.
3.3. Procesos de
Servidores
Estos procesos ejecutan las órdenes SQL de los usuarios y
llevan los datos del buffer caché para que los procesos de usuario puedan tener
acceso a los datos.
Estructura lógica de la base de datos Oracle:
Arquitectura MySQL
MySQL es un sistema
de bases de datos relacional. Eso significa que la información está organizada
en bases de datos, que están compuestas por tablas, que están compuestas por
registros, que están compuestos por columnas.
Además de los datos
que almacenamos, las tablas pueden contener índices, y algunas de sus columnas
tienen propiedades especiales como claves primarias y claves foráneas que permiten
establecer relaciones entre las tablas.
Los sistemas que
manejan estas estructuras se pueden describir en capas.
En general, un sistema
de bases de datos relacional tiene tres capas:
CAPA APLICACION
La capa de
aplicación es la parte más externa del sistema y es la interface a través de la
que los usuarios se comunican con el sistema.
La funcionalidad
central del sistema está en la capa lógica. Es donde se realizan todas las operaciones
del sistema.
CAPA LOGICA
En esta capa se
realizan varias operaciones. La primera y que sirve de interface con la capa de
aplicación es el procesamiento de las instrucciones SQL. Después hay dos módulos:
el manejo de transacciones, y la recuperación después de errores. Finalmente está
la parte que se encarga de traducir las instrucciones SQL en acciones sobre el almacenamiento
de datos.
CAPA FISICA
Finalmente, la capa
física es donde están almacenados los datos.
lunes, 3 de septiembre de 2018
Sistemas gestores de base de datos
Ejemplos de gestores de base de datos
Oracle
Es uno de los sistemas de gestión de base de datos relacional más fiable y usado. Pertenece a Oracle Corporation y se desarrolló en 1977. Está construido alrededor de un marco en el que se puede acceder directamente a los objetos a partir del lenguaje de consulta SQL. Tiene su propio componente de red para que pueda haber comunicación a través de las redes. Se ejecuta en casi todas las plataformas (Windows, Unix, Linux, MAC OS…). La principal y peculiar característica de Oracle es que, su arquitectura, se divide entre la lógica y la física. A grandes rasgos, esto permite una mayor flexibilidad en las redes de datos y, a la vez, robustez en la estructura de los datos.
Microsoft SQL Server
Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas.
Características:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales oclientes de la red sólo acceden a la información.
Microsoft Access
Es un sistema de gestión de bases de datos relacional creado y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.
Características:
Crear tablas de datos indexadas.
Modificar tablas de datos.
Relaciones entre tablas (creación de bases de datos relacionales).
Creación de consultas y vistas.
Consultas referencias cruzadas.
Consultas de acción (INSERT, DELETE, UPDATE).
Formularios.
Informes.
Llamadas a la API de windows.
Ventajas:
Tablas para almacenar los datos.
Consultas para buscar y recuperar únicamente los datos que necesita.
Formularios para ver, agregar y actualizar los datos de las tablas.
Desventajas:
Limitaciones en el procesamiento de las búsqueda.
Sistemas de acceso libre
MySQL
Gestor de simple instalación que actúa del lado del cliente (servidor) y de código abierto con licencia comercial disponible. Actualmente, pertenece a Oracle Corporation. Gestiona bases de datos relacionales.
Es multiusuario y el más usado dentro del software libre. Destaca por requerir de poca memoria y procesador para funcionar, dando lugar además a una mayor velocidad en sus operaciones. Es usado principalmente para el desarrollo web.
FireBird
Potente y, a la vez, sencillo sistema de gestión de base de datos relacional SQL. Es uno de los mejores gestores de código abierto (Open Source) compatible con Windows y Linux. Entre otras funciones, da soporte completo para procedimientos almacenados, transacciones compatibles con las características ACID y métodos de acceso múltiple (nativo, Python, .NET, etc…).
PostgreSQL
Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
Apache Derby
Es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Características:
APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99.
Su código mide alrededor de 2000KB comprimido.
Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en un única base de datos y control completo de usuarios.
A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo.
Transacciones y recuperación ante errores ACID.
Ventajas:
se pude configurar como cliente/servidor • tiene la opción del manejador debase de datos soporta la arquitectura cliente/servidor desventajas: • es tedioso solo lo puedes manipular si conoces lo básico de SQL • necesitas códigos para crear la base de dato
B2 express-C
Es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la versión de pago DB2 propiedad también de la empresa IBM, este motor de base de datos es gratuita pero no libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener limite de crecimiento en sus archivos de base de datos.
Características:
Compatibilidad SQL, lo que facilita la ejecución de aplicaciones escritas para otras bases de datos principales, en DB2.
Mejorías para el desarrollo de aplicativos.
Mejoras en seguridad
Ventajas:
No hay Límites de Datos
No hay límites de conexiones
martes, 28 de agosto de 2018
ADMINISTRADOR DE BASE DE DATOS
Que es un administrador de base de datos
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.
Funciones de un administrador de base de datos
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
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.
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
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.
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.
Ademas estan otras funciones como la inteligencia de negocios y almacenamiento de datos y la de planificación de capacidad, las cuales sirven para que la empresa tome una mejor decision en cuanto a la administracion y el tamaño de sus bases de datos.
Sueldo promedio de un DBA
Según la firma Robert Half Techonology, los DBA están dentro del grupo de profesionales mejores pagados en la industria de la tecnología de la información (TI). La firma realizó una encuesta salarial en el año 2012 en los EEUU y los resultados arrojaron que el rango salarial de un Administrador de Base de Datos (DBA) es de $79,000.00 – $113,750.00 y el rango salarial de un Desarrollador de Base de Datos (DBD) es de $82, 000.00 – $119,750.00.
lunes, 27 de agosto de 2018
PRACTICA DE COMANDOS EN MySQL
Practica de comando en MySQL desde el cmd.
Descargar manual de comando MySQL: Manual de MySQL
Ingresamos en MySQL en el cmd escribiendo la variable de entorno: mysql -u root -pCrearemos una base de datos: create database biblioteca;
Y para que nos muestre la base de datos creada escribiremos : show databases;
Como lo muestra la imagen de arriba.
Ahora con nuestra base de datos creada, haremos una tabla en ella llamada libros, pero primero debemos entrar en la base de datos: use biblioteca
Y después: create table libros(id_clave int not null auto_increment,nombre_lib varchar(45) not null, autor varchar(20), primary key (id_clave));
SEGUNDA PRACTICA EN MySQL
Creando una base de datos llamada banco: create database banco;
Crear tabla clientes: create table clientes(id_clientes int not null auto_increment, nombre varchar(45) not null direccion varchar(45) not null,
primary key(id_clientes));
Mostrar la base de datos: show databases;
Insertar datos en la tabla clientes: insert into clientes values (1,'Karina Sanchez Perez', 'Evergreen Av. 102');
Mostrar los datos en la tabla: describe clientes;
Selecconar los datos de una tabla en especifico: select * from clientes;
Utilizando una base de datos llamada banco.
Modificaremos la tabla clientes, insertando mas datos, modificándolos y borrandolos.
- Insertar datos: insert into clientes (nombre, direccion) values('Ramon Martinez', 'calle num 20');
- Actualizaremos datos: update clientes set nombre='Karina Sanchez Perez' where id_clientes=2;
- Borraremos datos: DELETE FROM clientes where id_clientes=1;
- En la siguiente imagen se muestran los cambios hechos en nuestra tabla cliente, dando el comando: select * from clientes;
MySQL
QUE ES MySQL
MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos.
APLICACIONES
MySQL es muy utilizado en aplicaciones web, como Joomla, Wordpress, Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación.
REQUERIMIENTOS DE MySQL
COSTOS DE MySQL
Hay dos versiones de las licencias comerciales perpetuas que se venden a
los socios la MySQL Classic y MySQL Pro.
El costo para la licencia MySQL Classic es $399
MySQL Pro El coste para MySQL Pro es
$699. La version Classic y Pro de la licencia del terceros se licencia por
base del servidor, permitiendo que un numero ilimitado de usuarios, los
dispositivos, las maquinas, etc. conecten con el servidor, sin hacia fuera
un limite de CPUs en esa maquina.
MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos.
APLICACIONES
MySQL es muy utilizado en aplicaciones web, como Joomla, Wordpress, Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación.
REQUERIMIENTOS DE MySQL
- 512 Mb de memoria Ram
- 1024 Mb maquina virtual
- 1 GB de espacio de disco duro
- Sistema operativo:Windows,Linux y Unix
- Arquitectura del sistema 32/64 bit
- Protocolo de red TCP/IP
COSTOS DE MySQL
Hay dos versiones de las licencias comerciales perpetuas que se venden a
los socios la MySQL Classic y MySQL Pro.
El costo para la licencia MySQL Classic es $399
MySQL Pro El coste para MySQL Pro es
$699. La version Classic y Pro de la licencia del terceros se licencia por
base del servidor, permitiendo que un numero ilimitado de usuarios, los
dispositivos, las maquinas, etc. conecten con el servidor, sin hacia fuera
un limite de CPUs en esa maquina.
Suscribirse a:
Comentarios (Atom)
PRACTICAS EN WORKBENCH
Creación de tablas y relaciones en workbench desde cero. Creación de un modelo de base de datos en workbench
-
Practica de comando en MySQL desde el cmd. Descargar manual de comando MySQL: Manual de MySQL Ingresamos en MySQL en el cmd escribiendo...











































