miércoles, 25 de abril de 2018
lunes, 23 de abril de 2018
Libreria para mysql en python 'PyMySQL'
Pymysql
pymysql es un paquete para la interacción con bases de datos
MySQL escrito completamente en Python, a diferencia de su principal
“competidor”, MySQLdb. Se presenta como una atractiva alternativa a este último
y con razón, pues las ventajas son bastante relevantes. Corre en distintas
implementaciones de Python: CPython, PyPy y IronPython. Además, su instalación
resulta más sencilla al prescindir de código escrito en C. Por último, y de las
que más aprecio personalmente, soporte para el conjunto de versiones 3.x.
Descarga e instalación
Si cuentas con pip en tu ordenador, el proceso será de lo
más sencillo. Ejecutar en la terminal:
pip install PyMySQL
Como alternativa, puedes descargar el código de fuente desde
PyPI o bien desde el proyecto en GitHub. Una vez descomprimido el archivo,
situarse en la carpeta recientemente creada y ejecutar:
python
setup.py install
https://recursospython.com/guias-y-manuales/pymysql-controlador-base-de-datos-mysql/
pymysql instalado
domingo, 22 de abril de 2018
conexion de pip mysql y python
Librerias para conectar python y mysql:
pymysql
mysql
myslqdb
Vídeos de ayuda:
https://www.youtube.com/watch?v=1zv9DXy8FiM
https://www.youtube.com/watch?v=1VV1ludVeBk&t=34s
https://dev.mysql.com/doc/connector-python/en/connector-python-example-connecting.html
miércoles, 18 de abril de 2018
Herramientas PIP de PYTHON
pip es una herramienta escrita en Python para facilitar la
descarga e instalación de paquetes del lenguaje que se encuentren en el Python
Package Index (PyPI). Podría suponerse que las siglas provienen de Python
Install Package, aunque no hay certeza de esto. Corre en las principales
plataformas: Microsoft Windows, Linux y OS X; en CPython 2.6+, 3.x y PyPy.
Una ventaja importante de pip es la facilidad de su interfaz
de línea de comandos, el cual permite instalar paquetes de software de Python
fácilmente desde solo una orden:
pip install nombre-paquete
Los usuarios también pueden fácilmente desinstalar algún
paquete:
pip uninstall nombre-paquete
Otra característica particular de pip es que permite
gestionar listas de paquetes y sus números de versión correspondientes a través
de un archivo de requisitos. Esto nos permite una recreación eficaz de un
conjunto de paquetes en un entorno separado (p. ej. otro ordenador) o entorno
virtual. Esto se puede conseguir con un archivo correctamente formateado
requisitos.txt y la siguiente orden:
pip install -r requisitos.txt
Con pip es posible instalar un paquete para una versión
concreta de Python, sólo es necesario reemplazar ${versión} por la versión de
Python que queramos: 2, 3, 3.4, etc:
pip${versión} install nombre-paquete
martes, 17 de abril de 2018
macro de suma
sumas macro a, b ;macro de la suma
mov al, a ;se mueve el primer numero a al
add al, b ;a al se le suma el segundo numero (b)
add al, 30h ;a al se le suma 30h para obtener de nuevo el numero en decimal
mov suma, al ;se mueve al a suma
mov ah, 09 ;salida de cadena de caracteres
lea dx, msj3 ;se imprime el mensaje 3
int 21h ;interrupcion
mov ah, 02 ;peticion para colocar el cursor
mov dl, suma ;se mueve suma a dl
int 21h ;interrupcion
mov ah, 4ch ;termina programa
int 21h ;interrupcion
endm
.model small ;Modelo de memoria mas utilizado
.stack 64
.data ;segmento de datos con variables
n1 db 0
n2 db 0
suma db 0
msj db "Dame el primer valor: $"
msj2 db 10,13, "Dame el segundo valor $"
msj3 db 10,13, "suma = $"
.code ;segmento de codigo
mov ax, @data ;se mueve data a ax
mov ds, ax ;movemos ax a ds
mov ah, 09 ;salida de una cadena de caracteres
lea dx, msj ;se imprime el primer mensaje
int 21h ;interrupcion
mov ah, 01 ;peticion de leer caracter
int 21h ;interrupcion
sub al, 30h ;se resta 30h para obtener el numero
mov n1, al ;se mueve al a n1
mov ah, 09 ;salida de una cadena de caracteres
lea dx, msj2 ;se imprime el segundo mensaje
int 21h ;interrupcion
mov ah, 01 ;peticion de leer caracter
int 21h ;interrupcion
sub al, 30h ;se resta 30h para obtener el numero
mov n2, al ;se mueve al a n2
sumas n1, n2 ;se llama al macro y se le envian los parametros
ret
mov al, a ;se mueve el primer numero a al
add al, b ;a al se le suma el segundo numero (b)
add al, 30h ;a al se le suma 30h para obtener de nuevo el numero en decimal
mov suma, al ;se mueve al a suma
mov ah, 09 ;salida de cadena de caracteres
lea dx, msj3 ;se imprime el mensaje 3
int 21h ;interrupcion
mov ah, 02 ;peticion para colocar el cursor
mov dl, suma ;se mueve suma a dl
int 21h ;interrupcion
mov ah, 4ch ;termina programa
int 21h ;interrupcion
endm
.model small ;Modelo de memoria mas utilizado
.stack 64
.data ;segmento de datos con variables
n1 db 0
n2 db 0
suma db 0
msj db "Dame el primer valor: $"
msj2 db 10,13, "Dame el segundo valor $"
msj3 db 10,13, "suma = $"
.code ;segmento de codigo
mov ax, @data ;se mueve data a ax
mov ds, ax ;movemos ax a ds
mov ah, 09 ;salida de una cadena de caracteres
lea dx, msj ;se imprime el primer mensaje
int 21h ;interrupcion
mov ah, 01 ;peticion de leer caracter
int 21h ;interrupcion
sub al, 30h ;se resta 30h para obtener el numero
mov n1, al ;se mueve al a n1
mov ah, 09 ;salida de una cadena de caracteres
lea dx, msj2 ;se imprime el segundo mensaje
int 21h ;interrupcion
mov ah, 01 ;peticion de leer caracter
int 21h ;interrupcion
sub al, 30h ;se resta 30h para obtener el numero
mov n2, al ;se mueve al a n2
sumas n1, n2 ;se llama al macro y se le envian los parametros
ret
lunes, 16 de abril de 2018
PROCEDIMIENTOS ALMACENADOS, EJERCICIOS
CASE
delimiter //
create procedure usuarios(
in _id int,
in _nombre varchar(45),
in _apellido_pa varchar(45),
in _apellido_ma varchar(45),
in telefono varchar(45),
in accion varchar(45)
)
begin
case accion
when 'nuevo' then
insert into usuarios(nombre, apellido_pa, apellido_ma, telefono)
values (_nombre,_apellido_pa, _apellido_ma, _telefono);
when 'editar' then
update usuarios set
nombre=_nombre, apellido_pa=_apellido_pa, apellido_ma=_apellido_ma, telefono=_telefono
where idusuarios=_id;
end case;
end
INSERTAR
delimiter //
create procedure alta_libros(
in Nombre varchar(45),
in editorial int(11))
begin
insert into libros (Nombre, editorial) values(Nombre ,editorial);
end
BORRAR
delimiter //
create procedure borrar_libro(in id_libro_a int)
begin
delete from libros where id_libro=id_libro_a;
end
call borrar_libro(2);
CONSULTAR
delimiter //
create procedure consulta_editorial(in re int)
begin
select * from editorial where id_editorial=re;
end
programa con macros
gotoxy macro fila,col ;macro que pone el cursor en la posicion deseada
mov ah,02h ;funcion imprimir caracter
mov dh,fila ;ingresamos la coordenada de x
mov dl,col ;ingresamos la coordenada de y
mov bh,0h ;numero de pagina
int 10h ;interrupcion
endm ;fin del macro
pantalla macro que ;macro que imprime el primer caracter de la palabra escrita
mov ah,02h ;funcion imprimir caracter
mov dl,offset que ;ponemos el mensaje en dl
int 21h ;interrupcion
endm ;fin del macro
imprime macro eztryng ;macro que imprime los mensajes que le enviemos
mov dx,offset eztryng ;ponemos elmensaje en dx
mov ah,9 ;funcion imprimir variable
int 21h ;interrupcion
endm ;fin del macro
.data ;segmento de datos con variables
mensaje DB "INGRESE UN CARACTER: ",13,10,"$"
mensaje2 DB "INGRESE X del 0 al 9: ",13,10,"$"
mensaje3 DB "INGRESE Y del 0 al 9: ",13,10,"$"
mensaje4 DB "Que letra quieres",13,10,"$"
caracter DB ?
varx DB ?
vary DB ?
vaa db 0
vtext db 100 dup('$') ;Declaracion del vector
.code ;segmento de codigo
startup: ;funcion de inicio
mov ax,@data ;almacenamos lo que esta en el segento data
mov ds,ax ;movemos ax a ds
imprime mensaje ;llamamos al macro imprime y le enviamos la variable mensaje
mov si,00h ;limpiamos el registro si
mov caracter,0 ;limpiamos la variable caracter
leer: ;inicio de la funcion leer
mov ax,0000 ;limpiamos ax
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
mov caracter[si],al ;ponemos el caracter tecleado en el arreglo caracter
inc si ;incrementamos si
cmp al,0dh ;comparamos al=salto de linea
ja leer ;de no ser igual repite la funcion leer para ingresar otro caracter
jb leer ;en caso de que al=salto de linea continua el programa
;mov cx,si
mov ah,02h ;funcion imprimir caracter
mov dl,10 ;imprimimos un salto de linea
int 21h ;interrupcion
imprime caracter ;llamamos al macro imprime y le enviamos la variable caracter
mov ah,02h ;funcion imprime caracter
mov dl,10 ;imprimimos un salto de linea
int 21h ;interrupcion
imprime mensaje2 ;llamamos al macro imprime y le enviamos la variable mensaje2
mov ax,0000 ;limpiamos ax
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
mov bl,al ;ponemos el numero en bl
mov varx,al ;ponemos el numero en varx
imprime mensaje3 ;llamamos al macro imprime y le enviamos la variable mensaje3
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
mov bl,al ;ponemos el numero en bl
mov vary,al ;ponemos el numero en vary
mov ax,0003h ;funcion que limpia la pantalla
int 10h ;interrupcion
imprime mensaje4
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
gotoxy vary,varx ;llamamos al macro gotoxy y le enviamos las variables vary y varx
mov ah,00 ;limpiamos la parte alta de ax
mov si,ax ;ingresamos en si la posicion del caracter que deseamos imprimir
;kol:
pantalla caracter[si] ;llamamos al macro pantalla y le enviamos el caracter en la posicion deseada
;inc si
;loop kol
mov ah,01h ;funcion de captura con impresion en pantalla
int 21h ;interrupcion
mov ax,4c00h ;funcion de fin
int 21h ;interrupcion
end startup ;fin
mov ah,02h ;funcion imprimir caracter
mov dh,fila ;ingresamos la coordenada de x
mov dl,col ;ingresamos la coordenada de y
mov bh,0h ;numero de pagina
int 10h ;interrupcion
endm ;fin del macro
pantalla macro que ;macro que imprime el primer caracter de la palabra escrita
mov ah,02h ;funcion imprimir caracter
mov dl,offset que ;ponemos el mensaje en dl
int 21h ;interrupcion
endm ;fin del macro
imprime macro eztryng ;macro que imprime los mensajes que le enviemos
mov dx,offset eztryng ;ponemos elmensaje en dx
mov ah,9 ;funcion imprimir variable
int 21h ;interrupcion
endm ;fin del macro
.data ;segmento de datos con variables
mensaje DB "INGRESE UN CARACTER: ",13,10,"$"
mensaje2 DB "INGRESE X del 0 al 9: ",13,10,"$"
mensaje3 DB "INGRESE Y del 0 al 9: ",13,10,"$"
mensaje4 DB "Que letra quieres",13,10,"$"
caracter DB ?
varx DB ?
vary DB ?
vaa db 0
vtext db 100 dup('$') ;Declaracion del vector
.code ;segmento de codigo
startup: ;funcion de inicio
mov ax,@data ;almacenamos lo que esta en el segento data
mov ds,ax ;movemos ax a ds
imprime mensaje ;llamamos al macro imprime y le enviamos la variable mensaje
mov si,00h ;limpiamos el registro si
mov caracter,0 ;limpiamos la variable caracter
leer: ;inicio de la funcion leer
mov ax,0000 ;limpiamos ax
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
mov caracter[si],al ;ponemos el caracter tecleado en el arreglo caracter
inc si ;incrementamos si
cmp al,0dh ;comparamos al=salto de linea
ja leer ;de no ser igual repite la funcion leer para ingresar otro caracter
jb leer ;en caso de que al=salto de linea continua el programa
;mov cx,si
mov ah,02h ;funcion imprimir caracter
mov dl,10 ;imprimimos un salto de linea
int 21h ;interrupcion
imprime caracter ;llamamos al macro imprime y le enviamos la variable caracter
mov ah,02h ;funcion imprime caracter
mov dl,10 ;imprimimos un salto de linea
int 21h ;interrupcion
imprime mensaje2 ;llamamos al macro imprime y le enviamos la variable mensaje2
mov ax,0000 ;limpiamos ax
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
mov bl,al ;ponemos el numero en bl
mov varx,al ;ponemos el numero en varx
imprime mensaje3 ;llamamos al macro imprime y le enviamos la variable mensaje3
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
mov bl,al ;ponemos el numero en bl
mov vary,al ;ponemos el numero en vary
mov ax,0003h ;funcion que limpia la pantalla
int 10h ;interrupcion
imprime mensaje4
mov ah,01h ;fincion de ingreso de caracter con impresion del mismo en pantalla
int 21h ;interrupcion
sub al,30h ;le restamos 30h al caracter ingresado para transformarlo en un numero
gotoxy vary,varx ;llamamos al macro gotoxy y le enviamos las variables vary y varx
mov ah,00 ;limpiamos la parte alta de ax
mov si,ax ;ingresamos en si la posicion del caracter que deseamos imprimir
;kol:
pantalla caracter[si] ;llamamos al macro pantalla y le enviamos el caracter en la posicion deseada
;inc si
;loop kol
mov ah,01h ;funcion de captura con impresion en pantalla
int 21h ;interrupcion
mov ax,4c00h ;funcion de fin
int 21h ;interrupcion
end startup ;fin
miércoles, 11 de abril de 2018
resumen de la unidad II: Arquitectura del Gestor de Bases de Datos
Objetivo de la Unidad
*Conocer los diferentes tipos de memoria y procesos que nos
podemos encontrar en un sistema gestor de bases de datos.
*Tener conocimiento sobre el procedimiento de instalación y
configuración de un DBMS.
*Saber los requisitos que pide cada DBMS y comandos
generales de alta y baja.
*Poder elegir el mejor DBMS en cada situación.
2.1 Características
del DBMS
CONTROL DE REDUNDANCIA
* Redundancia es el resultante de almacenar los mismos datos
varias veces, esto conduce a serios problemas como duplicación del esfuerzo,
derrochar espacio de almacenamiento, incoherencia de los datos.
* En la practica se puede recurrir a una redundancia
controlada, en este caso el DBMS debe tener la capacidad de controlarla.
* Se pueden poner especificaciones en el DBMS durante el
diseño de la base de datos y se ejecuten en automatico cuando se actualice un
archivo de BD.
RESTRICCIÓN DE LOS ACCESOS NO AUTORIZADOS
* Cuando varios usuarios comparten una base de datos grande,
la mayoría no tiene autorización para acceder a toda la información de la BD.
* Un DBMS debe proporcionar seguridad y un subsistema de
autorización que el DBA debe utilizar para crear cuentas y especificar las
restricciones de la misma.
CUMPLIMIENTO DE LAS RESTRICCIONES DE INTEGRIDAD
La mayor parte de las aplicaciones de base de datos tienen
ciertas restricciones de integridad que deben cumplir los datos. El SGBD debe
ofrecer recursos para definir tales restricciones y hacer que se cumplan.
RESPALDO Y RECUPERACIÓN
* El DBMS debe contar con el subsistema de copia de
seguridad y recuperación.
* Por ejemplo si falla la computadora en medio de una
transacción compleja de actualización el DBMS debe dejar la BD en el estado
anterior.
Suministro de varias interfaces de usuarios
* Cuando una base de datos la utilizan muchos tipos de
usuarios con distintos niveles de conocimiento técnico, un DBMS.
2.1.1 Estructura de
Memoria y Procesos de la Instancia
Memoria:
Shared Global Area (SGA): es el área más grande de memoria y
quizás el más importante
Shared Pool: es una caché que mejora el rendimiento ya que
almacena parte del diccionario de datos y el parsing de algunas consultas en
SQL.
Redo Log Buffer: contiene un registro de todas las
transacciones dentro de la base, las cuales se almacenan en el respectivo
archivo de Redo y en caso de siniestro se vuelven a ejecutar aquellos cambios
que aún no se hayan reflejado en el archivo de datos (commit).
Large Pool: espacio adicional, generalmente usado en casos
de multithreading y esclavos de I/O.
Java Pool: usado principalmente para almacenar objetos Java
Procesos:
System Monitor: despierta periódicamente y realiza algunas
actividades entre las que se encuentran la recuperación de errores,
recuperación de espacio libre en tablespaces y en segmentos temporales.
Process Monitor: limpia aquellos procesos que el usuario
termina de manera anormal, verificando consistencias, liberación de recursos,
bloqueos.
Database Writer: escribe bloques de datos modificados del
buffer al disco, aquellas transacciones que llegan a un estado de commit.
Log Writer: escribe todo lo que se encuentra en el redo log
buffer hacia el redo file
Checkpoint: sincroniza todo lo que se tenga en memoria, con
sus correspondientes archivos en disco
proceso servidor y proceso cliente
El proceso cliente es el programa en la memoria de la
máquina en la que el usuario ha conectado con Oracle. Este proceso se comunica
con un proceso servidor que es lanzado cuando el cliente establece conexión con
Oracle.
Puede haber un mismo proceso servidor para más de un cliente
en caso de una configuración compartida de proceso servidor. Cuando el proceso
cliente y el servidor establecen conexión, se crea la sesión de usuario, que es
manejada por el proceso servidor. El proceso de usuario no puede acceder
directamente a la base de datos.
2.1.2 Estructuras
Físicas de la Base de Datos
Una BD Oracle tiene una estructura física y una estructura
lógica que se mantienen separadamente.
La estructura física se corresponde a los ficheros del
sistema operativo: de datos (datafiles), de redo log y de control (controlfiles).
La estructura lógica está formada por los tablespace y los
objetos de un esquema de BD (tablas, vistas, índices,...).
La Arquitectura de Oracle tiene tres componentes básicos:
*La Estructura de 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 y se divide en tres
partes:
1.- shared
pool
2.-
Database buffer cache
3.- Redo
Log Buffer
*Los Procesos
Los procesos son programas que se ejecutan para permitior el
acceso a los datos, se cargan en memoria y son transportados para los usuarios.
*Los Archivos.
Se clasifican en 4 tipos:
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.- 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
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.
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.
2.1.3 Requerimiento
para Instalación
Antes de instalar cualquier SGBD es necesario conocer los
requerimientos de hardware y software, el posible software a desinstalar
previamente, verificar el registro de Windows y el entorno del sistema, así como
otras características de configuración especializadas como pueden ser la
reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos
HTML para los diversos navegadores. Se presenta a continuación una serie de
requerimientos mínimos de hardware y software para instalar oracle 11g Express
y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.
La regla general para determinar el tamaño de la memoria
virtual depende del tamaño de memoria RAM instalada. Si su sistema tiene menos
de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos
dos veces este tamaño. Si usted tiene más de 8 GB de memoria RAM instalada
puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más
memoria RAM tenga instalada, es menos probable usar el espacio de intercambio,
a menos que tenga un proceso inadecuado.
2.1.4 Instalación del
Software de BD en Modo Transaccional
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 las 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.
Una vez que se sabe la forma de ingresar comandos, es el
momento de acceder a una base de datos.
Suponga que en su hogar posee varias mascotas y desea
registrar distintos tipos de información sobre ellas. Puede hacerlo si crea
tablas para almacenar sus datos e introduce en ellas la información deseada.
Entonces, podrá responder una variedad de preguntas acerca de sus mascotas
recuperando datos desde las tablas. Los pasos serían:
• Crear una base de datos
• Crear una tabla
• Introducir datos en la tabla
• Recuperar datos desde la tabla de varias maneras
• Emplear múltiples tablas
2.1.5 Variables de
Ambiente y Archivos Importantes para Instalación
Para instalar MySQL como primer instancia el archivo
primordial es el que se descarga de la web de MySQL. Depende del sistema
operativo su instalación.
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.
El proceso para instalar MySQL desde un archivo ZIP es lo
siguiente:
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.
2.1.6 Procedimiento General de Instalación
El proceso de instalación es muy simple y prácticamente no
requiere intervención por parte del usuario.
Es similar en otra Bases de Datos.
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, Database Schema)
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 eliminados.
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.
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;
Conclusión:
Los sistemas gestores de bases de datos, nos facilitan el
desempeño y manejo de la información útil. Su funcionamiento depende de qué
tanto provecho seamos capaces darle a estas herramientas tan poderosas, por tal
razón es preciso conocer definir, manejar e identificar los SGBD para lograr
extraer todo el potencial que encierran estos novedosos programas. Pero también
es muy importante como es su estructura, características, procedimientos de
instalación y configuración, de igual manera conocer sobre la memoria y sus
diferentes tipos y los diferentes procesos que nos pueden ayudar en diferentes
situaciones.
martes, 10 de abril de 2018
Suscribirse a:
Comentarios (Atom)
Trabajo con puerto usb
Programación de puerto USB USB viene de frase en Ingles “Universal Serial Bus” que se utiliza para describir un tipo de puerto en la co...
-
La unidad fundamental del almacenamiento de datos en SQL Server es la página. El espacio en disco asignado a un archivo de datos (.mdf o ....
-
8 Programa que mediante un botón con función permite centrar la ventana secundaria
-
Ejemplo 1 """" programa que crea una ventana usando la libreria Tkinter Fecha: 30 agosto 2017 Autor: Juan Rodolfo G...






















