PLANEACIÓN Y CONSULTA TERCER PERIODO INFORMÁTICA

 PLANEACIÓN TERCER PERIODO





CONSULTA (en php)

  • ¿Cómo se declara una variable numérica en php?
Las variables en PHP son representadas con un signo de dólar ($) seguido por el nombre de la variable. $variable, $Variable, $variAble, $VariAble, etc. Se representan a distintas variables.

Se debe de recordar que una variable es un espacio de la memoria del ordenador (en este caso del servidor) a la que asignamos un contenido que a grandes rasgos puede ser un valor numérico (sólo números, con su valor de cálculo) o alfanumérico (sólo texto o texto con números, sin valor de cálculo).

Para declarar un nombre de variable válido, éste tiene que empezar con una letra (o si no empieza con una letra, tendrá que hacerlo con un carácter de subrayado), seguido de cualquier número de letras, números y caracteres de subrayado, sin espacios. Veamos algunos ejemplos:



  • ¿Cómo se realiza una operación con variables numéricas en php?
Las operaciones con variables dependerán del contenido que éstas guarden, por consiguiente no es lo mismo utilizar el signo de más (+) con variables que guardan números, que utilizarlo con variables que guardan cadenas de caracteres.

Las operaciones matemáticas con variables se llevan cabo de manera horizontal y de izquierda a derecha.

La misma lógica aplica para todas las operaciones matemáticas básicas, es decir la suma ($variable1 + $variable2), la resta ($variable1 - $variable2), la multiplicación ($variable1 * $variable2) y la división (($variable1 / $variable2); además, está una operación más, la operación módulo ($variable1 % $variable2). La operación módulo proporciona el cociente que resulta de la división entre la variable1 y la variable2. Si bien de momento la utilidad de esta función no resulta alocadamente obvia, podemos asegurar que la utilizarán en más de algún programa que desarrollen en un futuro cercano.


  • ¿Cómo incrementamos una variable? 
Puede configurar las propiedades de la acción Variable de incremento en las siguientes fichas. todo a través de los ajustes de incremento de variable

  • Nombre de variable: Introduzca la variable que desee incrementar. Haga clic en para seleccionar una variable utilizada recientemente, o haga clic en Más variables para abrir el cuadro de diálogo Insertar variable.
  • Incremento en: Especifica la cantidad que la variable especificada aumentará cada vez que se ejecute la acción.

  • ¿Cómo decrementamos en una variable? 
Todo el proceso se realiza a través de las siguientes funciones: 




  • ¿Es posible mostrar en pantalla en una misma línea cadenas y números?
Los campos de las tablas MySQL nos dan la posibilidad de elegir tres tipos de contenidos: datos numéricos, cadenas (alfanuméricos) y fechas y horas.

Cada vez que tengamos que crear una tabla que sirva para almacenar datos de una aplicación Web, debemos poner a prueba nuestra capacidad para definir los tipos de datos que con mayor eficiencia puedan almacenar cada dato que necesitemos guardar. Los campos de las tablas MySQL nos dan la posibilidad de elegir entre 3 tipos de contenidos:

  • Datos numéricos: TINYINT, SMALLINT, MEDIUMINT, INT o INTEGER, BIGINT
  • Datos para guardar cadenas de caracteres (alfanuméricos): CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEX, ENUM, SET
  • Datos para almacenar fechas y horas: DATE, DATETIME, TIME, TIMESTAMP, YEAR
  • Atributos de los campos: NULL, DEFAULT, BINARY, INDEX, PRIMARY KEY, AUTO_INCREMENT, UNIQUE, FULLTEXT


Explique los tipos de datos en MySQL -sus componentes (base de datos): 
  • Grupo de datos numéricos 
La diferencia entre uno y otro tipo de dato es simplemente el rango de valores que puede contener.

NUMÉRICOS ENTEROS
Comencemos por conocer las opciones que tenemos para almacenar datos que sean numéricos enteros (edades, cantidades, magnitudes sin decimales); poseemos una variedad de opciones:


Si necesitamos definir un campo para almacenar la "edad" de nuestros usuarios, sería suficiente con asignar a ese campo un tipo de dato TINYINT, que permite almacenar como máximo el valor de 127 (es decir, por mas que tenga tres dígitos, no nos dejará almacenar un 999, ni siquiera un 128, solo un número hasta el número 127 inclusive).

Como la edad posible de las personas queda incluida en ese rango, es suficiente un TINYINT.

Ahora bien, si queremos definir el tipo de dato para el campo id (identificador) de la tabla de productos de un gran mercado que vende varios miles de artículos diferentes, ya no será suficiente con un TINYINT, y deberemos conocer con mayor precisión la cantidad de artículos distintos que comercializa (en la actualidad y la cantidad prevista en un futuro próximo, para que nuestro sistema de almacenamiento no quede obsoleto rápidamente).

Asimismo, si quisiéramos definir un campo que identifique a cada uno de los seres humanos que habitamos en el planeta, deberemos recurrir a un campo BIGINT, ya que el tipo INT sólo permite hasta 2 mil millones de datos diferentes, lo cual no nos alcanzaría.

Por ejemplo, para guardar el puntaje de un juego, que pudiera tomar valores negativos, o el saldo de una cuenta corriente, o una tabla que incluya valores de temperatura bajo cero, y casos similares.


VALORES SIN SIGNO
Ahora bien: existe la posibilidad de duplicar el limite de valor máximo positivo de cada tipo de dato, si eliminamos la posibilidad de almacenar valores negativos.

Pensemos en los ejemplos anteriores: la edad no tiene sentido que sea negativa, entonces, si eliminamos la posibilidad de que ese campo almacene valores negativos, duplicaríamos el limite positivo de almacenamiento, y el campo de tipo TINYINT que normalmente permitía almacenar valores del -128 al 127, ahora dejará almacenar valores desde el 0 hasta el 255.

Esto puede ser útil para almacenar precios, cantidades de objetos o magnitudes que no puedan ser negativas, etc.




NÚMEROS CON DECIMALES
Dejemos los enteros y pasemos ahora a analizar los valores numéricos con decimales. Estos tipos de datos son necesarios para almacenar precios, salarios, importes de cuentas bancarias, etc. que no son enteros. Tenemos que tener en cuenta que si bien estos tipos de datos se llaman "de coma flotante", por ser la coma el separador entre la parte entera y la parte decimal, en realidad MySQL los almacena usando un punto como separador. En esta categoría, disponemos de tres tipos de datos: FLOAT, DOUBLE y DECIMAL.

Por último, DECIMAL es ideal para almacenar valores monetarios, donde se requiera menor longitud, pero la "máxima exactitud" (sin redondeos).Este tipo de dato le asigna un ancho fijo a la cifra que almacenará. El máximo de dígitos totales para este tipo de dato es de 64, de los cuales 30 es el número de decimales máximo permitido. Más que suficientes para almacenar precios, salarios y monedas. El formato en el que se definen en el phpMyAdmin es idéntico para los tres: primero la longitud total, luego, una coma y, por ultimo, la cantidad de decimales.


  • Grupo de datos alfanuméricos 
Para almacenar datos alfanuméricos (cadenas de caracteres) en MySQL poseemos los siguientes tipos de datos:


CHAR
Comencemos por el tipo de dato alfanumérico mas simple: CHAR (character, o carácter). Este tipo de dato permite almacenar textos breves, de hasta 255 caracteres de longitud como máximo en caracteres que le definamos, aunque no lo utilicemos.

Por ejemplo, si definiéramos un campo "nombre" de 14 caracteres como CHAR, reservará (y consumirá en disco) este espacio.

1 2 3 4 5 6 7 8 9 10 11 12 13 14
J u a n P e r e z  
C a r l o s G a r c i a  
J o s e R a m i r e z  
L u i s F e r n a n d e z
 
Por lo tanto, no es eficiente cuando la longitud del dato que se almacenará en un campo es desconocida a priori (típicamente, datos ingresados por el usuario en un formulario, como su nombre, domicilio, etc.)

¿En qué casos usarlo, entonces? Cuando el contenido de ese campo será completado por nosotros, programadores, al agregarse un registro y, por lo tanto, estamos seguros de que la longitud siempre será la misma.

Pensemos en un formulario con botones de radio para elegir el "sexo"; independientemente de lo que muestren las etiquetas visibles para el usuario, podríamos almacenar un solo carácter M o F (masculino o femenino) y, en consecuencia, el ancho del campo CHAR podría ser de un digito, y sería suficiente. Lo mismo sucede con códigos que identifiquen provincias, países, estados civiles, etc.


VARCHAR
El tipo de dato VARCHAR (carácter varying, o caracteres variables) es útil cuando la longitud del dato es desconocida, cuando depende de la información que el usuario escribe en campos o áreas de texto de un formulario.

La longitud máxima permitida era de 255 caracteres hasta MySQL 5.0.3. pero desde esta versión cambio a un máximo de 65.535 caracteres.

Este tipo de dato tiene la particularidad de que cada registro puede tener una longitud diferente, que dependerá de su contenido; si en su registro el campo "nombre" (supongamos que hubiera sido definido con un ancho máximo de 20 caracteres) contiene solamente el texto: "Pepe", consumirá sólo cinco caracteres, cuatro para las cuatro letras, y uno más que indicará cuántas letras se utilizaron.

En cambio, en el caso de datos de longitud siempre constante, sería un desperdicio gastar un carácter por registro para almacenar la longitud, y por eso convendría utilizar CHAR en esos casos.


BINARY Y VARBINARY
Estos dos tipos de datos son idénticos a CHAR y VARCHAR, respectivamente, salvo que almacenan bytes en lugar de caracteres, una diferencia muy sutil para un nivel básico a intermedio de MySQL.


TEXT
Antes de la versión 5.0.3. de MySQL, este campo era el utilizado "por excelencia" para descripciones de productos, comentarios, textos de noticia, y cualquier otro texto largo. Pero, a parir de la posibilidad de utilizar VARCHAR para longitudes de hasta 65.535 caracteres, es de esperar que se utilice cada vez menos este tipo de campo.

La principal desventaja de TEXT es que no puede indexarse fácilmente (a diferencia de VARCHAR). Tampoco se le puede asignar un valor predeterminado a un campo TEXT (un valor por omisión que se complete automáticamente si no se ha proporcionado un valor al insertar un registro). Sólo deberíamos utilizarlo para textos realmente muy largos, como los que mencionamos al comienzo de este párrafo.


BLOB
Es un campo que guarda información en formato binario y se utiliza cuando desde PHP se almacena en la base de datos el contenido de un archivo binario (típicamente, una imagen o un archivo comprimido ZIP) leyéndolo byte a byte, y se requiere almacenar todo su contenido para luego reconstruir el archivo y servidor al navegador otra vez, sin necesidad de almacenar la imagen o el ZIP en un disco, sino que sus bytes quedan guardados en un campo de una tabla de la base de datos.

El tamaño máximo que almacena es de 65.535 bytes. De todos modos, y como lo hemos mencionado en este ejemplo, respecto al tipo de dato para una imagen, usualmente no se guarda "la imagen" (sus bytes, el contenido del archivo) en la base de datos porque, un sitio grande, se vuelve muy pesada y lenta la base de datos, sino que almacena sólo la URL que lleva hasta la imagen.


TINYBLOB, MEDIUMBLOB Y LONGBLOB
Similares al BLOB, sólo cambia la longitud máxima:

TINYBLOB es de 255 bytes
MEDIUMBLOB es de 16.777.215 bytes, y
LONGBLOB es de 4 Gb (o lo máximo que permita manipular el sistema operativo)


ENUM
Su nombre es la abreviatura de "enumeración". Este campo nos permite establecer cuáles serán los valores posibles que se le podrán insertar. Es decir, crearemos una lista de valores permitidos, y no se autorizará el ingreso de ningún valor fuera de la lista, y se permitirá elegir solo uno de estos datos como valor del campo.

Los valores deben estar separados por comas y envueltos entre comillas simples. El máximo de valores diferentes es de 65.535.


SET
Su nombre significa "conjunto". De la misma manera que ENUM, debemos especificar una lista, pero de hasta 64 opciones solamente. La carga de esos valores es idéntica a la de ENUM, una lista de valores entre comillas simples, separados por comas. Pero, a diferencia de ENUM, sí podemos llegar a dejarlo vacío, sin elegir ninguna opción de las posibles. Y también podemos elegir como valor del campo más de uno de los valores de la lista.


  • Grupo de datos fechas y horas 
En MySQL, poseemos varias opciones para almacenar datos referidos a fechas y horas.

DATE
El tipo de dato DATE nos permite almacenar fechas en el formato: AAAA-MM-DD (los cuatro primeros dígitos para el año, los dos siguientes para el mes, y los últimos dos para el día).


En los países de habla hispana estamos acostumbrados a ordenar las fechas en Día, Mes y Año, pero para MySQL es exactamente al revés. Tengamos en cuenta que esto nos obligará a realizar algunas maniobras de reordenamiento utilizando funciones de manejo de caracteres.

Si bien al leer un campo DATE siempre nos entrega los datos separados por guiones, al momento de inserta un dato nos permite hacerlo tanto en formato de número continuo (por ejemplo, 201512319, como utilizando cualquier carácter separador (2015-12-31 o cualquier otro carácter que separe los tres grupos).

El rango de fechas que permite manejar desde el 1000-01-01 hasta el 9999-12-31. Es decir, que no nos será útil si trabajamos con una línea de tiempo que se remonte antes del año 1000, (¿alguna aplicación relacionada con la historia?), pero si nos resultara útil para datos de un pasado cercano y un futuro muy largo por delante, ya que llega casi hasta el año 10.000.

DATETIME
Un campo definido como DATETIME nos permitirá almacenar información acerca de un instante de tiempo, pero no sólo la fecha sino también su horario, en el formato:

AAAA-MM-DD HH:MM:SS

Siendo la parte de la fecha de un rango similar al del tipo DATE (desde el 1000-01-01 00:00:00 al 9999-12-31 23:59:59), y la parte del horario, de 00:00:00 a 23:59:59.


TIME
Este tipo de cambio permite almacenar horas, minutos y segundos, en el formato HH:MM:SS, y su rango permitido va desde -839:59:59 hasta 839:59:59 (unos 35 días hacia atrás y hacia adelante de la fecha actual). Esto lo hace ideal para calcular tiempos transcurridos entre dos momentos cercanos.


TIMESTAMP
Un campo que tenga definido el tipo de dato TIMESTAMP sirve para almacenar una fecha y un horario, de manera similar a DATETIME, pero su formato y rango de valores serán diferentes.
El formato de un campo TIMESTAMP puede variar entre tres opciones:

AAAA-MM-DD HH:MM:SS
AAAA-MM-DD
AA-MM-DD

Es decir, la longitud posible puede ser de 14, 8 o 6 dígitos, según qué información proporcionemos.

El rango de fechas que maneja este campo va desde el 1970-01-01 hasta el año 2037. Además, posee la particularidad de que podemos definir que su valor se mantenga actualizado automáticamente, cada vez que se inserte o que se actualice un registro.

De esa manera, conservaremos siempre en ese campo la fecha y hora de la última actualización de ese dato, que es ideal para llevar el control sin necesidad de programar nada.


YEAR
En caso de definir un campo como YEAR, podremos almacenar un año, tanto utilizando dos como cuatro dígitos.
En caso de hacerlo en dos dígitos, el rango posible se extenderá desde 70 hasta 99 (del 70 hasta el 99 se entenderá que corresponden al rango de años entre 1970 y 1999, y del 00 al 69 se entenderá que se refiere a los años 2000 a 2069); en caso de proporcionar los cuatro dígitos, el rango posible se ampliará, yendo desde 1901 hasta 2155.

Una posibilidad extra, ajena a MySQL pero relativa a las fechas y horarios, es generar un valor de timestamp con la función time de PHP (repito, no estamos hablando de MySQL, no nos confundamos a causa de tantos nombres similares).

A ese valor, lo podemos almacenar en un campo INT de 10 dígitos. De esa forma, será muy simple ordenar los valores de ese campo (supongamos que es la fecha de una noticia) y luego podremos mostrar la fecha transformando ese valor de timestamp en algo legible mediante funciones de manejo de fecha propias de PHP.



CONSULTAR Y PONER EN EL BLOG PERSONAL

  • LA ESTRUCTURA DE UNA TABLA SQL (EXPLICAR CADA UNA DE LAS PARTES)
Microsoft SQL Server es un sistema de administración relacional de base de datos (RDBMS) que, en su nivel fundamental, almacena la información en tablas. Las tablas son los objetos de base de datos que se comportan como contenedores de información, en los cuales la información será lógicamente organizada en formato de filas y columnas. Cada fila es considerada como una entidad que es descrita por las columnas que contienen los atributos de la entidad. Por ejemplo la tabla de usuarios contiene una fila para cada usuario, y cada usuario es descrito por las columnas de la tabla que contiene la información del usuario, como el CustomerName y CustomerAddress.

Las tablas de Microsoft SQL Server están contenidas dentro de los objetos contenedores de base de datos que son llamados esquemas. El esquema también funciona como límite de seguridad, donde puedes limitar permisos de base de datos de usuarios para estar en un nivel especifico de esquema solamente. Puedes imaginar el esquema como un folder que contiene una lista de archivos. Puedes crear hasta 2.147.483.647 tablas en una base de datos con más de 1024 columnas en cada tabla. Cuando diseñas una tabla de base de datos, las propiedades que son asignadas a la tabla y a las columnas dentro de la misma, van a controlar los tipos de información permitidas y los rangos de información que la tabla acepta.

Además de la tabla definida de usuario básico, SQL Server nos provee la habilidad de trabajar con otros tipos de tablas especiales, tales como:

  • Una Tabla Ancha es una tabla que utiliza la Columna dispersa para optimizar el almacenamiento para los valores NULL, reduciendo el espacio consumido por la tabla e incrementando el número de columnas permitidas en la tabla a 30 mil columnas

  • Las Tablas del Sistema son un tipo especial de tabla en el cual el motor de SQL Server almacena información sobre las instancias de configuración de SQL Server e informaciones de objetos, que pueden ser consultadas usando las vistas del sistema.

  • Las Tablas con Particiones son tablas en las cuales la información será dividida horizontalmente en unidades separadas en el mismo grupo de archivos o diferentes grupos de archivos basados en una clave específica, para realzar el rendimiento de recuperación de información.


Estructura física

Cada partición de tabla contiene filas de información. En una estructura de índice agrupado, que es administrada in unidades de localización, dependiendo de los tipos de información de cada columna en cada fila de información. La imagen basada en Microsoft, el artículo SQL Server libros en pantalla Organización de Tablas e Índices resume la estructura de la tabla:




Como puedes ver de la anterior imagen, las páginas de información para la tabla de SQL Server pueden ser organizadas dentro de cada partición en dos formas: En Montón o en tablas Árbol B Agrupadas.


Tabla Montón
En la tabla de Montón, las filas de información no son almacenadas en ningún orden particular dentro de cada página de información. Además, no hay un orden particular de controlar las secuencias de páginas de información que no estén conectadas a una lista de conexión. Esto es debido al hecho a que la tabla de montón contiene índices no agrupados. Como no hay un orden impuesto para las filas de la tabla de montón, las filas de información serán adicionadas a la primera localización disponible dentro de las páginas de tablas, después de verificar que tiene suficiente espacio.

Cuando almacenas información en tablas de montón, las filas en la tabla son identificadas por una referencia para el identificador de esa fila (RID) que contiene el número de archivo, el número de página de información y el espacio de cada página de información.




Cada partición en el la tabla montón tendrá un una estructura montón con las unidades de asignación de información para almacenar y manejar la información en esa partición dependiendo de los tipos de información en el montón. Por ejemplo, todos los montones contienen unidades de asignación IN_ROW_DATA y puede contener unidades de asignación LOB_DATA si contiene objetos grandes de información o unidades de asignación ROW_OVERFLOW_DATA si contiene columnas de extensión variable que excede el límite del tamaño de fila de 8K bytes.

A pesar que cada montón no tiene una estructura de índice que maneje las páginas y la asignación de información, el motor de SQL Server usa un Mapa de Asignación de Índice (IAM) para mantener una entrada para cada página para localizar la asignación de estas páginas disponibles. El IAM es considerado como la única conexión lógica entre las páginas de información, que el Motor de SQL Server usará para moverse en el montón. El sistema objeto sys.allocation_units puede ser usado para listar todas las unidades de asignación en bases de datos específicos como es mostrado abajo:




Cuando la operación de modificación de información es realizada en las páginas de tablas de información de montón, los Punteros de Envío serán insertados en el montón para apuntar la nueva localización de la información movida. Estos punteros de envío van a causar problemas de rendimiento en el tiempo debido a que visitan la antigua/original localización vs la nueva localización especificada por los punteros de envío para obtener un valor específico. Empezando por la versión 2008 de SQL Server, un nuevo método ha sido introducido para mejorar los problemas de rendimiento de los punteros de envío, usando el comando ALTER TABLE REBUILD, que reconstruirá la tabla de montón como se muestra abajo:



Es mejor no mantener la tabla con mecanismos de clasificación, cuando tienes largas tablas que puedes usar para recuperar información de una clasificación especifica con orden de agrupación de manera que resulte en un muy malo rendimiento. Para evitar esos problemas de rendimiento, la tabla puede ser diseñada con un orden lógico interno. Esto puede ser conseguido convirtiendo la tabla de tabla montón a tabla agrupada.


Tabla Agrupada
Una tabla agrupada es una tabla que tiene índices agrupados predefinidos en la columna o múltiples columnas de la tabla que define el orden de almacenamiento de las filas dentro de las páginas de las páginas de información y el orden de las páginas dentro de la tabla, basados en la clave de índice de agrupamiento. Como las filas de la tabla pueden ser almacenadas solo en un orden, puedes decidir solo un uso de índice agrupado por cada tabla.

Un índice agrupado es construido usando las estructuras Árbol B, con un Árbol B por cada partición de las tablas agrupadas, en la cual la información de las páginas de cada nivel de los índices agrupados, desde el nivel raíz hasta el nivel de hoja, están unidos en una lista doblemente unida. Esto provee una navegación rápida de información debido al proceso de recuperación, basado en los valores de índices agrupados. Similar a la estructura de montón, cada Árbol B contendrá unidades de asignación IN_ROW_DATA y puede contener unidades de designación LOB_DATA si contiene objetos de información grandes o unidades de designación ROW_OVERFLOW_DATA si contiene longitudes de columna variables que excedan el tamaño de fila límite de 8K bytes.

Permítenos crear una restricción clave primaria en la primera tabla de montón, que va a añadir un índice agrupado automáticamente a esa tabla como se muestra abajo:



Consultando el sistema objeto sys.indexes para la tabla otra vez, verás que el ID del índice agrupado es 1 como se muestra en los detalles del índice abajo:




  • EXPLIQUE LOS TIPOS DE DATOS (CONFIGURACIÓN BD-TABLAS).
En programación, un tipo de dato informático o simplemente tipo es un atributo de los datos que indica al ordenador (y/o al programador) sobre la clase de datos que se va a trabajar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.




Conclusiones

  1. PHP es una herramienta bastante importante y poderosa en su acción y función para la realización de páginas web.
  2. Logré llegar a comprender las amplias opciones de edición de esta herramienta y que logran adaptarse a necesidades bastante diversas.
  3. Hace parte de un campo de informática de fácil aplicación y bastante cotidiana para el desarrollo de páginas web de todo tipo.



Webgrafía

  • https://disenowebakus.net/tipos-de-datos-mysql.php
  • disenowebakus.net
  • www.sqlshack.com
  • www.uv.mx
  • docs.microsoft.com
  • www.lawebdelprogramador.co
  • http://www.utn.edu.ec/reduca/programacion/fundamentos/tipos_de_datos.html



Alejandra Zapata Duque 11-02

(13/07/2021)

No hay comentarios:

Publicar un comentario

PLANEACIÓN Y CONSULTA TERCER PERIODO INFORMÁTICA

  PLANEACIÓN TERCER PERIODO CONSULTA (en php) ¿Cómo se declara una variable numérica en php? Las variables en PHP son representadas con un s...