martes, 24 de abril de 2018

Que es y para qué sirve el PIP en python

PIP.


Al igual que con cualquier lenguaje de programación serio, Python admite bibliotecas y marcos de terceros que puede instalar para evitar tener que reinventar la rueda con cada nuevo proyecto. Puede encontrarlos en un repositorio central llamado "PyPI" (Python Package Index).


¿Qué es PIP para Python?
PIP es un acrónimo que significa "Paquetes de instalación PIP" o "Programa de instalación preferida". Es una utilidad de línea de comandos que le permite instalar, reinstalar o desinstalar paquetes PyPI con un comando simple y directo: "pip".

Si alguna vez ha realizado algún trabajo de línea de comandos en Windows (con el símbolo del sistema) o Mac o Linux (con el Terminal y Bash), entonces te sentirás como en casa y puedes ir directamente a las instrucciones de instalación para su particular sistema operativo.

¿Se instala PIP con Python?

Si está utilizando Python 2.7.9 (o superior) o Python 3.4 (o superior), entonces PIP viene instalado con Python por defecto. Si está utilizando una versión anterior de Python, deberá seguir los pasos de instalación que se detallan a continuación. De lo contrario, salte a la parte inferior para aprender cómo comenzar a usar PIP.

Si está ejecutando Python en un entorno virtual creado con virtualenv o pyvenv, entonces PIP estará disponible para ese entorno independientemente de la versión de Python.

Antes de instalar PIP para Python:

Debe asegurarse de que Python esté instalado correctamente en su sistema. En Windows, abra el símbolo del sistema con la tecla de Windows + X y seleccione Símbolo del sistema. En Mac, abre la Terminal usando Comando + Espacio y busca la terminal. En Linux, abra la Terminal usando Ctrl + Alt + T o como sea que haya sido hecho en su distribución particular.

Luego escribe:


python --version

En Linux, los usuarios de Python 3.x pueden necesitar usar el siguiente comando:


python3 --version

Si obtiene un número de versión (por ejemplo, "Python 2.7.5"), significa que Python está listo para funcionar.

Si aparece el mensaje "Python is not defined", primero deberá instalar Python correctamente.


Cómo instalar PIP en Windows:

Las siguientes instrucciones deberían funcionar en Windows 7, Windows 8.1 y Windows 10:


1.-Descargue el script del instalador get-pip.py. Si estás en Python 3.2, necesitarás esta versión de get-pip.py. De cualquier manera, haga clic derecho en el enlace y seleccione Guardar como y guárdelo en cualquier carpeta del pc, como su carpeta de Descargas.


2.-Abra el símbolo del sistema y navegue hasta el archivo get-pip.py.


3.-Ejecute el siguiente comando: python get-pip.py

martes, 13 de marzo de 2018

Estructura de la SGA.

Oracle utiliza la memoria para almacenar la siguiente información:

*Código del programa
*Información acerca de una sesión conectada, incluso si no se encuentra activa.
*Información necesaria durante la ejecución del programa(por ejemplo, el estado de las consultas)
*La información que comparten y con la cual se comunican los procesos Oracle (por ejemplo, la información de bloqueo)
*La Caché de Datos

 La memoria se puede estructurar en las siguientes partes:

*Área Global del sistema (SGA), la cual se comparte entre todos los servidores y los procesos en segundo plano.
*Áreas globales de programas (PGA), que es privada para cada servidor y proceso en segundo planos; a cada proceso se asigna un PGA.
*Área de Ordenaciones (Sort Areas).
*Memoria Virtual
*Área de código de Software (SCA).


                                        




SGA de Base de datos:




SGA (Área Global del Sistema) es una estructura básica de memoria de Oracle que sirve para facilitar la transferencia de información entre usuarios y también almacena la información estructural de la BD más frecuentemente requerida.


El área global del sistema y un conjunto de procesos de la base de datos constituyen una instancia de una base de datos Oracle. La base de datos Oracle automáticamente reserva memoria para el área global del sistema cuando se inicia una instancia, y el sistema operativo reclama la memoria cuando se apaga dicha instancia. Cada instancia tiene su propia SGA.



su composicion es:


Buffer Redo Log:


Los registros Redo describen los cámbios realizados en la BD y son escritos en los ficheros redo log para que puedan ser utilizados en las operaciones de recuperación hacia adelante, roll-forward, durante las recuperaciones de la BD.


Database Buffer Cache (Buffers de BD):


Es el caché que almacena los bloques de datos leidos de los segmentos de datos de la BD, tales como tablas, índices y clusters. Los bloques modificados se llamas bloques sucios. El tamaño de buffer caché se fija por el parámetro DB_BLOCK_BUFFERS.


Shared SQL Pool (Área de SQL Compartido, ):


En esta zona se encuentran las sentencias SQL que han sido analizadas. El analisis sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de SQL compartido. 



Arquitectura de un manejador de bases de datos (DBMS).



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.
  • Procesos:
    • Threading
    • 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


Archivos:
  • Control (ctl): almacenan información acerca de la estructura de archivos de la base.
  • Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior.
  • Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de consulta incluyendo aquellas que no modifican los datos.
  • Datos (dbf): el tipo más común, almacena la información que es accesada en la base de datos.




Tipos de instancias de un DBMS.



Online Transaction Processing (OLTP): compra/venta, telemarketing
  • Segmentos cortos de rollback
  • Shared Pool muy largo
  • Redo log suficiente
  • Indices en discos separados
  • Segmentos temporales pequeños
Decision Support Systems (DSS): datawarehouse
  • Segmentos largos de rollback
  • Shared Pool relativamente corto
  • Redo log suficiente
  • Indices apropiados
  • Segmentos largos de temporal
  • Parallel Query en la medida de lo posible (si está disponible)

miércoles, 7 de marzo de 2018

componentes de un gestor de base de datos


Un SGBD está estructurado en diversos componentes software( o módulos), a cada uno de los cuales se les asigna una operación específica. Como hemos indicado anteriormente , algunas de las funciones del SGBD están soportadas por el sistema operativo subyacente . Sin embargo, el sistema operativo sólo proporciona servicios básicos y el SGBD debe diseñarse para funcionar encima suyo. Por tanto, el diseño de un SGBD debe tener en consideración la interfaz entre el SGBC y el sistema operativo.




Gestor de archivos:


Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar la información.

 Manejador de base de datos:



Sirve de interfaz entre los datos y los programas de aplicación.

Procesador de consultas:


Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Además convierte la solicitud del usuario en una forma más eficiente.

 Compilador de DDL:


Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos.

 Archivo de datos:


En él se encuentran almacenados físicamente los datos de una organización.

 Diccionario de datos:


Contiene la información referente a la estructura de la base de datos.

 Índices:


Permiten un rápido acceso a registros que contienen valores específicos.

Control de autorización:


Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.


 Gestor de recuperación:

Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.


 Gestor de transacciones:



Este módulo realiza el procesamiento de las transacciones.

miércoles, 28 de febrero de 2018

programa que imprime 5 veces


TURBO ASSAMBLE:


.model small
.stack 64
.data 
mensaje db 0Ah,  0dh,"letrero cinco veces", "$"
.code
inicio:
    mov cx,0005
ciclo:
    mov ax,@data
    mov ds,ax
    mov dx,offset mensaje
    mov ah,09h
  int 21h
  loop ciclo
 
  mov ah,04ch
  int 21h
  end inicio




EMU 8086:



.model small
.stack 64
.data 
mensaje db 0Ah,  0dh,"letrero cinco veces", "$"
.code
inicio:
    mov cx,0005
ciclo:
    mov ax,@data
    mov ds,ax
    mov dx,offset mensaje
    mov ah,09h
  int 21h
  loop ciclo
 
  mov ah,04ch
  int 21h
  end inicio






MENÚ DE OPCIONES EN TURBO ASSEMBLE.


MENÚ DE OPCIONES  EN TURBO ASSEMBLE.




pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment

    titulo db 13,10,'CAMBIAR FONDO DE PANTALLA',13,10,10,'Menu:',13,10,10,'$'
    mensaje db '1.-Pantalla Azul y letras Rosas',13,10,'2.-Pantalla Morada y Letras Amarillas ',13,10,'3.-Pantalla Aqua y Letras Celestes',13,10,'4.-Pantalla Roja y Letras Verdes',13,10,10,'Para salir, presione cualquier tecla...',13,10,'$'

datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos

    inicio:
         mov ah,0
         mov al,3h
         int 10h
         mov ax,0600h
         mov bh,0fh
         mov cx,0000h
         mov dx,184Fh
         int 10h
         mov ah,02h
         mov bh,00
         mov dh,00
         mov dl,00
         int 10h

            mov ax,datos
            mov ds,ax
            lea dx,titulo
            mov ah,9h
            int 21h
            lea dx,mensaje
            mov ah,9h
            int 21h
             mov ah,08
             int 21h
             cmp al,49
             je llamarAzul
            cmp al,50
            je llamarMorado
            cmp al,51
            je llamarAqua
            cmp al,52
            je llamarRojo
            jmp fin

            fin:
            mov ax,4c00h
            int 21h
            llamarAzul:
            CALL AZULPROC
            llamarMorado:
            CALL MORADOPROC
            llamarAqua:
            CALL AQUAPROC
            llamarRojo:
            CALL ROJOPROC
           
           
            AZULPROC PROC NEAR
            mov ah,0
             mov al,3h
             int 10h
             mov ax,0600h
             mov bh,0fh
             mov cx,0000h
             mov dx,184Fh
             int 10h
             mov ah,02h
             mov bh,00
             mov dh,00
             mov dl,00
             int 10h
            mov ah,06h
            mov bh,1dh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            AZULPROC ENDP

            MORADOPROC PROC NEAR
            mov ah,0
             mov al,3h
             int 10h
             mov ax,0600h
             mov bh,0fh
             mov cx,0000h
             mov dx,184Fh
             int 10h
             mov ah,02h
             mov bh,00
             mov dh,00
             mov dl,00
             int 10h
            mov ah,06h
            mov bh,5eh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            MORADOPROC ENDP
           
            AQUAPROC PROC NEAR
            mov ah,0
             mov al,3h
             int 10h
             mov ax,0600h
             mov bh,0fh
             mov cx,0000h
             mov dx,184Fh
             int 10h
             mov ah,02h
             mov bh,00
             mov dh,00
             mov dl,00
             int 10h
            mov ah,06h
            mov bh,3bh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            AQUAPROC ENDP
           
            ROJOPROC PROC NEAR
             mov ah,0
             mov al,3h
             int 10h
             mov ax,0600h
             mov bh,0fh
             mov cx,0000h
             mov dx,184Fh
             int 10h
             mov ah,02h
             mov bh,00
             mov dh,00
             mov dl,00
             int 10h
            mov ah,06h
            mov bh,4ah
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            ROJOPROC ENDP
            codigo ends
             end inicio





miércoles, 7 de febrero de 2018

manejador de base de datos XAMPP

QUE ES XAMPP?.


XAMPP es un servidor independiente de plataforma de código libre. Te permite instalar de forma sencilla Apache en tu propio ordenador, sin importar tu sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su uso es gratuito.
XAMPP incluye además servidores de bases de datos como MySQL ySQLite con sus respectivos gestores phpMyAdmin y phpSQLiteAdmin. Incorpora también el intérprete de PHP, el intérprete de Perl, servidores de FTP como ProFTPD ó FileZilla FTP Serve, etc. entre muchas cosas más.


Si alguna vez has intentado instalar Apache, sabes que no es una tarea fácil, sin embargo con XAMPP todo es diferente. Una de las ventajas de usar XAMPP es que su instalación es de lo mas sencilla, basta descargarlo, extraerlo y comenzar a usarlo.


después de la creación creamos una pequeña base de datos:
















link del algoritmo de la burbuja