Mostrando las entradas con la etiqueta Administracion de Base de Datos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Administracion de Base de Datos. Mostrar todas las entradas

sábado, 1 de abril de 2017

LINKS DE DESCARGAS PARA LIBROS DE BASE DE DATOS

LINK PARA DESCARGAR LIBROS DE BASE DE DATOS

SISTEMA GESTOR DE BASE DE DATOS

fundamentos bases datos silber schatz

fundamentos de B.D4ta-edicion silber schatz

sistemas-gestores-de-bases-de-datos

2.1.8 Comandos generales de alta y baja del DBMS

Una tabla es un sistema de elementos de datos (atributo - valores) que se organizan que usando un modelo vertical - columnas (que son identificados por su nombre)- y horizontal filas. Una tabla tiene un número específico de columnas, pero puede tener cualquier número de filas. Cada fila es identificada por los valores que aparecen en un subconjunto particular de la columna que se ha identificado por una llave primaria.

Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. Como consecuencia, normalmente es bastante fácil importar una hoja de cálculo en una tabla de una base de datos. La principal diferencia entre almacenar los datos en una hoja de cálculo y hacerlo en una base de datos es la forma de organizarse los datos.

MySQL
 MySQL soporta varios motores de almacenamiento que tratan con distintos tipos de tabla. Los motores de almacenamiento de MySQL incluyen algunos que tratan con tablas transaccionales y otros que no lo hacen:

MyISAM: trata tablas no transaccionales. Proporciona almacenamiento y recuperación de datos rápida, así como posibilidad de búsquedas fulltext. MyISAM se soporta en todas las configuraciones MySQL, y es el motor de almacenamiento por defecto a no ser que tenga una configuración distinta a la que viene por defecto con MySQL.

El motor de almacenamiento MEMORY proporciona tablas en memoria. El motor de almacenamiento MERGE permite una colección de tablas MyISAM idénticas ser tratadas como una simple tabla. Como MyISAM, los motores de almacenamiento MEMORY y MERGE tratan tablas no transaccionales y ambos se incluyen en MySQL por defecto.

Nota: El motor de almacenamiento MEMORY anteriormente se conocía como HEAP.

Los motores de almacenamiento InnoDB y BDB proporcionan tablas transaccionales. BDB se incluye en la distribución binaria MySQL-Max en aquellos sistemas operativos que la soportan. InnoDB también se incluye por defecto en todas las distribuciones binarias de MySQL 5.0. En distribuciones fuente, puede activar o desactivar estos motores de almacenamiento configurando MySQL a su gusto.

El motor de almacenamiento EXAMPLE es un motor de almacenamiento 'tonto' que no hace nada. Puede crear tablas con este motor, pero no puede almacenar datos ni recuperarlos. El objetivo es que sirva como ejemplo en el código MySQL para ilustrar cómo escribir un motor de almacenamiento. Como tal, su interés primario es para desarrolladores.

NDB Cluster es el motor de almacenamiento usado por MySQL Cluster para implementar tablas que se particionan en varias máquinas. Está disponible en distribuciones binarias MySQL-Max 5.0. Este motor de almacenamiento está disponible para Linux, Solaris, y Mac OS X. Los autores mencionan que se añadirá soporte para este motor de almacenamiento en otras plataformas, incluyendo Windows en próximas versiones.

El motor de almacenamiento ARCHIVE se usa para guardar grandes cantidades de datos sin índices con una huella muy pequeña.

El motor de almacenamiento CSV guarda datos en archivos de texto usando formato de valores separados por comas.

El motor de almacenamiento FEDERATED se añadió en MySQL 5.0.3. Este motor guarda datos en una base de datos remota. En esta versión sólo funciona con MySQL a través de la API MySQL C Client. En futuras versiones, será capaz de conectar con otras fuentes de datos usando otros drivers o métodos de conexión clientes.

La versión 5 de MySQL crea por defecto tablas InnoDB que permiten el manejo de integridad referencial, transacciones. Al igual que las tablas regulares de Oracle. Para saber si el gestor de base de datos de MySQL que tenemos las soporta es necesario ejecutar la siguiente sentencia.
 SHOW VARIABLES like '%innodb%';
Comando Describe
MySQL proporciona este comando que resulta útil para conocer la estructura de una tabla, las columnas que la forman y su tipo y restricciones. La sintáxis es la siguiente:
DESCRIBE nombre Tabla.
DESCRIBE f1;

Comando SHOW TABLES y SHOW CREATE TABLE
El comando SHOW TABLES muestra las tablas dentro de una base de datos y SHOW CREATE TABLES muestra la estructura de creación de la tabla.

Tablas Temporales
 Las tablas temporales solo existen mientras la sesión está viva. Si se corre este código en un script de PHP (Cualquier otro lenguaje), la tabla temporal se destruirá automáticamente al término de la ejecución de la página. Si no específica MEMORY, la tabla se guardará por defecto en el disco.
CREATE TEMPORARY TABLE temporal (
 ife   INTEGER (13) PRIMARY KEY,
 nombre CHAR (30) NOT NULL UNIQUE
);
Este tipo de tabla solo puede ser usada por el usuario que la crea.
Si creamos una tabla que tiene el mismo nombre que una existente en la base de datos, la que existe quedará oculta y trabajaremos sobre la temporal.

Tablas Memory (Head)
Se almacenan en memoria
Una tabla head no puede tener más de 1600 campos
Las tablas MEMORY usan una longitud de registro fija.
MEMORY no soporta columnas BLOB o TEXT.
MEMORY en MySQL 5.0 incluye soporte para columnas AUTO_INCREMENT e índices en columnas que contengan valores NULL.
Las tablas MEMORY se comparten entre todos los clientes (como cualquier otra tabla no-TEMPORARY).
CREATE TEMPORARY TABLE temporal (
 ife   INTEGER (13) PRIMARY KEY,
 nombre CHAR (30) NOT NULL UNIQUE
) ENGINE = MEMORY;

Modificación
Esta operación se puede realizar con el comando ALTER TABLE. Para usar ALTER TABLE, necesita permisos ALTER, INSERT y CREATE para la tabla. La sintaxis para MySQL es
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...;
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name]
| ADD [COLUMN] (column_definition,)
| ADD INDEX [index_name] [index_type] (index_col_name,)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name,)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type] (index_col_name,)
| ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options

Referencias Bibliograficas:
http://proyecto359.webnode.mx/unidad2/
https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-2-arquitectura-del-gestor
http://dsc.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%20II.pdf
http://administracionbd.weebly.com/unidad-2.html
http://itmlauragomezadmdebasededatos.blogspot.mx/2016/05/unidad-2-arquitectura-del-gestor.html

2.1.7 Procedimiento para configuración de un DBMS

Para configurar nuestro DBMS podemos acceder a las siguientes pantallas, para Oracle o MySQL.

El esquema de una base de datos (en inglés, DatabaseSchema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla. 

Oracle generalmente asocia un 'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).

Por otro lado MySQL presenta dos esquemas information_schema y MySQL ambos guardan información sobre privilegios y procedimientos del gestor y no deben ser elimandos.

Adelante, sin miedo…
Optamos por Detailed Configuration, de modo que se optimice la configuración del servidorMySQL.
Ha llegado un momento crucial. Dependiendo del uso que vayamos a darle a nuestro servidor deberemos elegir una opción u otra, cada una con sus propios requerimientos de memoria. Puede que te guste la opción Developer Machine, para desarrolladores, la más apta para un uso de propósito general y la que menos recursos consume. Si vas a compartir servicios en esta máquina, probablemente Server Machine sea tu elección o, si vas a dedicarla exclusivamente como servidor SQL, puedes optar por Dedicated MySQL Server Machine, pues no te importará asignar la totalidad de los recursos a esta función.
De nuevo, para un uso de propósito general, te recomiendo la opción por defecto, Multifunctional Database.
InnoDB es el motor subyacente que dota de toda la potencia y seguridad a MySQL. Su funcionamiento requiere de unas tablas e índices cuya ubicación puedes configurar. Sin causas de fuerza mayor, acepta la opción por defecto.
Esta pantalla nos permite optimizar el funcionamiento del servidor en previsión del número de usos concurrentes. La opción por defecto, Decision Support (DSS) / OLAP será probablemente la que más te convenga.
Deja ambas opciones marcadas, tal como vienen por defecto. Es la más adecuada para un uso de propósito general o de aprendizaje, tanto si eres desarrollador como no. Aceptar conexiones TCP te permitirá conectarte al servidor desde otras máquinas (o desde la misma simulando un acceso web típico).
Hora de decidir qué codificación de caracteres emplearás, salvo que quieras empezar a trabajar con Unicode porque necesites soporte multilenguaje, probablemente Latin1 te sirva (opción por defecto).
Instalamos MySQL como un servicio de Windows (la opción más limpia) y lo marcamos para que el motor de la base de datos arranque por defecto y esté siempre a nuestra disposición. La alternativa es hacer esto manualmente.
Además, me aseguro de marcar que los ejecutables estén en la variable PATH, para poder invocar a MySQL desde cualquier lugar en la línea de comandos.
Pon una contraseña al usuario root. Esto siempre es lo más seguro.
Si lo deseas, puedes indicar que el usuario root pueda acceder desde una máquina diferente a esta, aunque debo advertirte de que eso tal vez no sea una buena práctica de seguridad.
Última etapa, listos para generar el fichero de configuración y arrancar el servicio.
Sólo damos al botón de Finalizar y terminamos con la configuración del DBMS.
 

Referencias Bibliograficas:

http://proyecto359.webnode.mx/unidad2/
https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-2-arquitectura-del-gestor
http://dsc.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%20II.pdf
http://administracionbd.weebly.com/unidad-2.html
http://itmlauragomezadmdebasededatos.blogspot.mx/2016/05/unidad-2-arquitectura-del-gestor.html

2.1.6 Procedimiento general de instalación

MySQL Enterprise Edition
MySQL Enterprise Edition incluye el conjunto más completo de características avanzadas y herramientas de gestión para alcanzar los más altos niveles de escalabilidad, seguridad, fiabilidad y tiempo de actividad. Reduce el riesgo, costo y complejidad en el desarrollo, implementación y administración de aplicaciones críticas de negocio MySQL.

El MySQL Enterprise incluye las siguientes opciones:

Backup: Realiza copias de seguridad de bases de datos MySQL en línea, de los subconjuntos de tablas InnoDB, y la recuperación mediante puntos de restauración.

Alta Disponibilidad: es proporcionada con soluciones certificadas que incluyen replicación de MySQL.

Escalabilidad: permite alcanzar el rendimiento sostenido y la escalabilidad de cada vez mayor de usuarios, consulta, y las cargas de datos

MySQL Enterprise Security: Proporciona listas para utilizar los módulos de autenticación externos para integrar fácilmente las infraestructuras existentes de seguridad, incluyendo Pluggable Authentication Modules y el directorio activo de Windows

MySQL Enterprise Monitor: supervisa continuamente su base de datos y de forma proactiva le asesora sobre cómo implementar las mejores prácticas de MySQL, incluyendo consejos y alertas de seguridad

MySQL Query Analyzer: Mejora el rendimiento de las aplicaciones mediante el control de rendimiento de las consultas y precisa localización de código SQL que está causando una desaceleración

MySQL Workbench: Cuenta con ofertas de modelado de datos, desarrollo de SQL y herramientas de administración integral para la administración del servidor de configuración del usuario, y mucho más.

El proceso de instalación es muy simple y prácticamente no requiere intervención por parte del usuario.

Comienza el proceso; sólo nos llevará un par de minutos…

Cada vez que veo la pantalla de la GNU GPL me lleno de felicidad. No sólo por las condiciones y el precio: es además, para mí, una garantía de profesionalidad.

Estadísticamente, la instalación típica será la que mejor se adapte a tus necesidades.
Todo listo; presiona Install cuando quieras.
Una vez instalado MySQL, la siguiente fase es la configuración del servidor en sí mismo. Asegúrate de que la marca Launch the MySQL Instance Configuration Wizard esté activa.

Oracle Database XE es una gran base de datos para:
  • Desarrolladores que trabajan en PHP, Java, .NET, XML, y Open Sourceapplications
  • DBAs que necesitan desarollar libremente
  • Vendedores de Software y hardware que necesitan distribuir sin cargos
  • Instituciones educativas y estudiantes que cursan materias relacionados con base de datos

Oracle es líder en bases de datos. Con Oracle XE, es posible desarrollar y desplegar aplicaciones potentes, actualizar sin costo y generar complejas migraciones.

Oracle Express Edition se instala en una máquina con cualquier número de procesadores, solo puede contener una base de datos y direccionar un máximo de 4GB de datos y un máximo de 1GB RAM.

Oracle Database XE, usa una interface basada en browser (Navegador) para:
  • Administrar la base de datos
  • Crear tablas, vistas, y otros objetos de base de datos
  • Importar, exportar, y ver tablas de datos
  • Ejecutar consultas y scripts SQL
  • Generar reportes

Oracle Database XE incluye Oracle Application Express release 2.1, un ambiente de desarrollo gráfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versión reducida de Oracle con las misma características y potencialidad de Oracle Database. Es necesario destacar que no soporta todos los tipos de datos de Oracle Database XE.

Oracle Database XE incluye las siguientes utilidades:

  Línea de comandos SQL (SQL*Plus), para ejecutar sentencias SQL y comandos PL/SQL y ejecutar scripts
         SQL*Loader, para insertar datos en la base de datos
         Utilidades para importar, exportar y volcar la base de datos

Requerimientos del sistema para Oracle Database XE Server y Oracle Database XE Client.

Requerimiento 
Valor
Arquitectura del sistema
Intel x86 (desde Windows 2000 hasta seven) o Linux x86 (Debian, Mandriva, Novell, Red Hat y Ubuntu )
Protocolo de red
TCP/IP
Espacio en disco
Servidor : 1.6 gigabytes mínimo
Cliente: 75 megabytes
RAM
256 megabytes mínimo, 512 megabytes recomendado
Estos puertos son usados por defecto por Oracle Database XE

Referencias Bibliograficas:
http://proyecto359.webnode.mx/unidad2/
https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-2-arquitectura-del-gestor
http://dsc.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%20II.pdf
http://administracionbd.weebly.com/unidad-2.html
http://itmlauragomezadmdebasededatos.blogspot.mx/2016/05/unidad-2-arquitectura-del-gestor.html

2.1.5 Variables de Ambiente y Archivos Importantes para Instalación

Para instalar el SGBD como primer instancia el archivo primordial es el que se descarga de la Web. Su configuración dependerá del S.O. 
  1. Extraer el contenido del archivo dentro del directorio de instalación deseado. 
  2. Crear un archivo de opciones. 
  3. Elegir un tipo de servidor MySQL.
  4. Iniciar el servidor MySQL. 
  5. Establecer la seguridad de las cuentas de usuario por defecto. 

Variable: Es un espacio en memoria al cual se le da un nombre Hay variables específicas que se crean al momento de entrar al sistema, pero también hay variables que pueden ser definidas por el usuario. Las variables son una forma de pasar información a los programas al momento de ejecutarlos.

Variables de Ambiente: Se usan para personalizar el entorno en el que se ejecutan los programas y para ejecutar en forma correcta los comandos del shell. Toman su valor inicial generalmente de un archivo .profile, pero hay veces en que el usuario tiene que modificar los valores de alguna variable de ambiente cuando está tratando de instalar o ejecutar un nuevo programa. A continuación se comentan las opciones más utilizadas de la sección mysqld (afectan al funcionamiento del servidor MySQL), se almacenan en el archivo my.cnf (o my.ini)

basedir = ruta: Ruta a la raíz MySQL

console: Muestra los errores por consola independientemente de lo que se configure para log_error.

datadir = ruta: Ruta al directorio de datos.

default-table-type = tipo: Tipo de la Tabla InnoDB o, MyISAM.

flush: Graba en disco todos los comandos SQL que se ejecuten (modo de trabajo, sin transacción).

general-log = valor: Con valor uno, permite que funcione el archivo LOG para almacenar las consultas realizadas.

general-log-file = ruta: Indica la ruta al registro general de consultas.

language: Especifica el idioma de los lenguajes de error, normalmente esots archivos de lenguaje, están bajo /usr/local/share.

log-error = ruta: Permite indicar la ruta al registro de errores.

log = ruta: Indica la ruta al registro de consultas.

long-query-time = n: Segundos a partir de los cuales una consulta que tardes más, se considerará una consulta lenta.

og-bin = ruta: Permite indicar la ruta al registro binario.

pid-file = ruta: Ruta al archivo que almacena el identificador de proceso de MySQL.

port = puerto: Puerto de escucha de MySQL.

skip-grant-tables: Entra al servidor saltándose las tablas de permisos, es decir todo el mundo tiene privilegios absolutos.

skip-networking: El acceso a MySQL se hará solo desde el servidor local.

slow-query-log = 0|1: Indica si se hace LOG de las consultas lentas.

slow-query-log-file = ruta: Ruta al archivo que hace LOG de las consultas lentas.

socket = ruta: Archivo o nombre de socket a usar en las conexiones locales.

standalone: Para Windows, hace que el servidor no pase a ser un servicio.

user = usuario: Indica el nombre de usuario con el que se iniciará sesión en MySQL.

tmpdir = ruta: Ruta al directorio para archivos temporales.

Archivos LOG en MySQL

Hay cuatro registros (logs):
  • Registro de Errores (Error Log): Indica cuando arrancó y se detuvo el servidor. Se graba por defecto en la carpeta de datos de MySQL (archivo host_name.err, donde host_name es el nombre del servidor), pero la variable de sistema log_error permite indicar otra ruta si fuera necesario.
  • Registro General de Consultas (General Log File): Está en la carpeta de datos de MySQL, salvo que se indique la variable general-log-file. Contiene las consultas realizadas. Es el archivo host_name.log.
  • Registro Binario (Binary Log): Registra instrucciones DML. Los archivos binarios se almacenan por defecto en el directorio de datos. Sirve para intentar restaurar una base de datos en caso de desastre. Es binario, por lo que su manejo es complicado, para ver el contenido se usa la utilidad mysqlbinlog de esta forma: mysqlbinlog archivoLOG
  • Registro de Consultas Lentas (Slow Query Log File): Registra las consultas que tardaron más del tiempo mínimo establecido. El archivo está (salvo quese especifique slow-log-file como parámetro) en la carpeta de datos de MySQL con el nombre host_name-slow.log
Referencias Bibliograficas:
http://proyecto359.webnode.mx/unidad2/
https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-2-arquitectura-del-gestor
http://dsc.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%20II.pdf
http://administracionbd.weebly.com/unidad-2.html
http://itmlauragomezadmdebasededatos.blogspot.mx/2016/05/unidad-2-arquitectura-del-gestor.html

2.1.4 Instalación del software de Base Datos en modo transaccional

Debido al constante crecimiento de datos que generan las empresas hoy en día, se ha vuelto muy necesaria la búsqueda de nuevas plataformas para almacenar y analizar la información, ambientes que consuman menos recursos, que sean más escalables y que provean una alta disponibilidad. La solución consiste en el procesamiento paralelo de los datos de una base de datos. Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.

Una transacción es un conjunto de líneas de un programa que llevan insert o update o delete. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.

Se usan los siguientes métodos:
  • Begin TRans para iniciar la transacción
  • CommitTrans para efectuar los cambios con éxito
  • RollbackTrans para deshacer los cambios
Y depende que base de datos uses para efectuar las operaciones pero, es la misma teoría para cualquier BD.

Instalación de MySQl en Windows 7

1.    Comprobar que no existe una versión anterior, si existe desinstalarla.
2.    Descargar el archivo de instalación, en nuestro caso MySQL Enterprise.
3.    Ejecute el archivo:
4.    Procesa a instalar en el modo por defecto. Es necesario tener conexión a Internet
5.    Configure el servidor según sus necesidades
6.    Es este punto se configura como se comportará nuestro servidor y el servicio. Además se descargan e instalan los paquetes necesarios.

7.    Ahora proceda a configurar MySQL Workbench; es una herramienta visual de diseño de bases de datos que integra desarrollo de software, administración de bases de datos, diseño de bases de datos, creación y mantenimiento para el sistema de base de datos MySQL. Es el sucesor de DBDesigner 4 de fabFORCE.net, y reemplaza el anterior conjunto de software, MySQL GUI Tools Bundle.

En MySQL 5.x se soporta por defecto el modo transaccional mediante el motor InnoDB
Dos recursos basados en disco muy importantes que gestiona el motor de almacenamiento InnoDB son sus archivos de datos de espacios de tablas y sus archivos de registro (log).

Si no se especifican opciones de configuración para InnoDB, MySQL 5.0 crea en el directorio de datos de MySQL un archivo de datos de 10MB (autoextensible) llamado ibdata1 y dos archivos de registro (log) de 5MB llamados ib_logfile0 e ib_logfile1.

Referencias Bibliograficas:
http://proyecto359.webnode.mx/unidad2/
https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-2-arquitectura-del-gestor
http://dsc.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%20II.pdf
http://administracionbd.weebly.com/unidad-2.html

http://itmlauragomezadmdebasededatos.blogspot.mx/2016/05/unidad-2-arquitectura-del-gestor.html