miércoles, 16 de agosto de 2017

[Proyecto]

Saludos!!! si oprimió el href del proyecto en derechos

[Fecha de publicación: 2017-08-15]

Mejorar con bases de datos Mysql


Tipos de dato en una base de datos MySQL

1 Tipos numéricos:

Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no.

TinyInt:

Es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255

Bit ó Bool:

Un número entero que puede ser 0 ó 1

SmallInt:

Número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.

MediumInt:

Número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215.

Integer, Int:

Número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295

BigInt:

Número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615.

Float:

Número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.

xReal, Double:

Número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308

Decimal, Dec, Numeric:

Número en coma flotante desempaquetado. El número se almacena como una cadena
Tipo de Campo
Tamaño de Almacenamiento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes if D > 0, M+1 bytes if D = 0

2 Tipos fecha:

A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31.

Date:

Tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia

DateTime:

Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos

TimeStamp:

Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo:
Tamaño
Formato
14
AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
12
AñoMesDiaHoraMinutoSegundo aammddhhmmss
8
ñoMesDia aaaammdd
6
AñoMesDia aammdd
4
AñoMes aamm
2
Año aa

Time:

Almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS'

Year:

Almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos.
Tipo de Campo
Tamaño de Almacenamiento
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte

3 Tipos de cadena:

Char(n):

Almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.

VarChar(n):

Almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres.
Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object)
La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.

TinyText y TinyBlob:

Columna con una longitud máxima de 255 caracteres.

Blob y Text:

Un texto con un máximo de 65535 caracteres.

MediumBlob y MediumText:

Un texto con un máximo de 16.777.215 caracteres.

LongBlob y LongText:

Un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb.

Enum:

Campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos

Set:

Un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores.
Tipo de campo
Tamaño de Almacenamiento
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB, TINYTEXT
Longitud+1 bytes
BLOB, TEXT
Longitud +2 bytes
MEDIUMBLOB, MEDIUMTEXT
Longitud +3 bytes
LONGBLOB, LONGTEXT
Longitud +4 bytes
ENUM('value1','value2',...)
1 ó dos bytes dependiendo del número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores
Diferencia de almacenamiento entre los tipos Char y VarChar
Valor
CHAR(4)
Almace
namiento
VARCHAR(4)
Almace
namiento
''
''
4 bytes
"
1 byte
'ab'
'ab '
4 bytes
'ab'
3 bytes
'abcd'
'abcd'
4 bytes
'abcd'
 
'abcdefgh'
'abcd'
4 bytes
'abcd'
5 bytes

jueves, 3 de agosto de 2017

[Fecha de publicación: 2017-08-01]

PRECUACION PARA INSTALAR PHPMYADMIN

Cómo Instalar y Proteger phpMyAdmin en Ubuntu 16.04?


Paso uno — Instalar phpMyAdmin

Para empezar, podemos simplemente instalar phpMyAdmin desde los repositorios predeterminados de Ubuntu.
Podemos hacerlo actualizando nuestro índice de paquetes local y luego usar el sistema de paquetería apt para descargar los archivos e instalarlos en nuestro sistema:
  • sudo apt-get update
  • sudo apt-get install phpmyadmin php-mbstring php-gettext
Esto le hará algunas preguntas para configurar correctamente su instalación.
Advertencia: cuando aparece el primer mensaje, apache2 se resalta, pero no se selecciona. Si no pulsa Space para seleccionar Apache, el instalador no moverá los archivos necesarios durante la instalación. Pulse SpaceTab y, a continuación, Enter para seleccionar Apache.
  • Para la selección del servidor, elija apache2.
  • Seleccione yes cuando se le pregunte si desea utilizar dbconfig-common para configurar la base de datos
  • Se le pedirá la contraseña del administrador de la base de datos
  • A continuación, se le pedirá que elija y confirme una contraseña para la aplicación phpMyAdmin
El proceso de instalación realmente agrega el archivo de configuración phpMyAdmin Apache al directorio /etc/apache2/conf-enabled/, donde se lee automáticamente.
Lo único que debemos hacer es habilitar explícitamente las extensiones PHP mcrypt y mbstring, que podemos hacer escribiendo:
  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring
Después, necesitará reiniciar Apache para que sus cambios sean reconocidos:
  • sudo systemctl restart apache2
Ahora puede acceder a la interfaz web visitando el nombre de dominio de su servidor o la dirección IP pública seguida de /phpmyadmin:
  • https://nombre_del_dominio_o_IP/phpmyadmin
pantalla de inicio phpMyAdmin
Ahora puede iniciar sesión en la interfaz utilizando el nombre de usuario root y la contraseña administrativa que configuró durante la instalación de MySQL.
Al iniciar sesión, verá la interfaz de usuario, que se verá así:
interfaz de usuario phpMyAdmin

Paso Dos — Asegure su Instancia de phpMyAdmin

Hemos sido capaces de levantar y ejecutar nuestra interfaz phpMyAdmin con bastante facilidad. Sin embargo, todavía no hemos terminado. Debido a su ubicuidad, phpMyAdmin es un popular objetivo para los atacantes. Debemos tomar medidas adicionales para evitar el acceso no autorizado.
Una de las formas más sencillas de hacerlo es colocar un gateway delante de toda la aplicación. Podemos hacerlo utilizando las funcionalidades de autenticación y autorización de .htaccess integradas de Apache.

Configurar Apache para Permitir Sobreescritura de .htaccess

Primero, necesitamos habilitar el uso de sobreescritura de archivos .htaccess editando nuestro archivo de configuración de Apache.
Editaremos el archivo vinculado que se ha colocado en nuestro directorio de configuración de Apache:
  • sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Tenemos que agregar una directiva AllowOverride All dentro de <Directory /usr/share/phpmyadmin> del archivo de configuración

IMPORTANTE
CHMOD(name;0777)