FUNDAMENTOS DE BASES DE DATOS

Description

Del curso de Platzi: Fundamentos de Base de datos
Francisco Hernandez
Mind Map by Francisco Hernandez, updated more than 1 year ago
Francisco Hernandez
Created by Francisco Hernandez over 4 years ago
12586
2

Resource summary

FUNDAMENTOS DE BASES DE DATOS
  1. Tipos de bases de datos
    1. RDB = Relacionales

      Annotations:

      • En la industria hay varias compañías dedicadas a ser manejadoras de bases de datos relacionales como SQL Server, Oracle, MariaDB, entre otras.
      1. Historia
        1. Edgar Codd

          Annotations:

          • Edgar Frank "Ted" Codd fue un científico informático inglés (19 de agosto de 1923 - 18 de abril de 2003),1​2​ conocido por crear el modelo relacional de bases de datos.
          1. Regla 0: de fundación

            Annotations:

            • a) Cualquier sistema que se proclame como relacional, debe ser capaz de gestionar sus bases de datos enteramente mediante sus capacidades relacionales.
            1. Regla 1: de la información

              Annotations:

              • a) Todos los datos deben estar almacenados en las tablas b) Esas tablas deben cumplir las premisas del modelo relacional c) No puede haber información a la que accedemos por otra vía
              1. Regla 2: acceso garantizado

                Annotations:

                • a) Cualquier dato es accesible sabiendo la clave de su fila y el nombre de su columna o atributo b) Si a un dato no podemos acceder de esta forma, no estamos usando un modelo relacional
                1. Regla 3: tratamiento sistemático de valores nulos

                  Annotations:

                  • a) Esos valores pueden dar significado a la columna que los contiene b) El SGBD debe tener la capacidad de manejar valores nulos c) El SGBD reconocerá este valor diferenciándolo de cualquier otro d) El SGBD deberá aplicársele la lógica apropiada e) Es un valor independiente del tipo de datos de la columna
                  1. Regla 4: catálogo dinámico en línea basado en el modelo relacional

                    Annotations:

                    • a) El catálogo en línea es el diccionario de datos b) El diccionario de datos se debe de poder consultar usando las mismas técnicas que para los datos c) Los metadatos, por tanto, se organizan también en tablas relacionales d) Si SELECT es una instrucción que consulta datos, también será la que consulta los metadatos
                    1. Regla 5: comprensiva del sublenguaje de los datos completo

                      Annotations:

                      • a) Al menos tiene que existir un lenguaje capaz de hacer todas las funciones del SGBD b) No puede haber funciones fuera de ese lenguaje c) Puede haber otros lenguajes en el SGBD para hacer ciertas tareas d) Pero esas tareas también se deben poder hacer con el “lenguaje completo”
                      1. Regla 6: actualización de vistas

                        Annotations:

                        • a) Las vistas tienen que mostrar información actualizada b) No puede haber diferencias entre los datos de las vistas y los datos de las tablas base
                        1. Regla 7: Alto nivel de inserción, actualización, y cancelación

                          Annotations:

                          • a) La idea es que el lenguaje que maneja la base de datos sea muy humano b) Eso implica que las operaciones del lenguaje de manipulación de los datos (DML) trabajen con conjuntos de filas a la vez c) Para modificar, eliminar o añadir datos, no hará falta programar de la forma en la que lo hacen los lenguajes de tercera generación como C o Java
                          1. Regla 8: independencia física de los datos

                            Annotations:

                            • a) Cambios en la física de la BD no afecta a las aplicaciones ni a los esquemas lógicos b) El acceso a las tablas (elemento lógico) no cambia porque la física de la base de datos cambie
                            1. Regla 9: independencias lógicas de los datos

                              Annotations:

                              • a) Cambios en el esquema lógico (tablas) de la BD no afectan al resto de esquemas b) Si cambiamos nombres de tabla, o de columna o modificamos información de las filas, las aplicaciones (esquema externo) no se ven afectadas c) Es más difícil de conseguir
                              1. Regla 10: independencia de la integridad

                                Annotations:

                                • a) Las reglas de integridad (restricciones) deben de ser gestionadas y almacenadas por el SGBD
                                1. Regla 11: independencia de la distribución

                                  Annotations:

                                  • a) Que la base de datos se almacene o gestione de forma distribuida en varios servidores, no afecta al uso de esta ni a la programación de las aplicaciones de usuario b) El esquema lógico es el mismo independientemente de si la BD es distribuida o no
                                  1. Regla 12: de la no subversión

                                    Annotations:

                                    • a) La base de datos no permitirá que exista un lenguaje o forma de acceso, que permita saltarse las reglas anteriores
                              2. NRDB = No relacionales

                                Annotations:

                                • Todavía están avanzando y existen ejemplos muy distintos como cassandra, elasticsearch, neo4j, MongoDB, entre otras.
                              3. Diagramas

                                Annotations:

                                • Un diagrama es como un mapa y nos ayuda a entender cuáles son las entidades con las que vamos a trabajar, cuáles son sus relaciones y qué papel van a jugar en las aplicaciones de la base de datos
                                1. ER (entidad-relación)
                                  1. Entidades

                                    Annotations:

                                    • Una entidad es algo similar a un objeto (programación orientada a objetos) y representa algo en el mundo real, incluso algo abstracto. Tienen atributos que son las cosas que los hacen ser una entidad y por convención se ponen en plural.
                                    1. Atributos
                                      1. LLave

                                        Annotations:

                                        • Los atributos llave son aquellos que identifican a la entidad y no pueden ser repetidos
                                        1. Naturales

                                          Annotations:

                                          • Clave artificial: No es inherente al objeto y se asigna de manera arbitraria
                                          1. Clave artificial

                                            Annotations:

                                            • Naturales: Son inherentes al objeto como el número de serie
                                          2. Compuestos

                                            Annotations:

                                            • Los atributos compuestos son aquellos que tienen atributos ellos mismos
                                          3. Entidades débiles

                                            Annotations:

                                            • No pueden existir sin una entidad fuerte y se representan con un cuadrado con doble línea
                                            1. Por identidad

                                              Annotations:

                                              • No se diferencian entre sí más que por la clave de su identidad fuerte
                                              1. Por existencia

                                                Annotations:

                                                • Se les asigna una clave propia
                                            2. Relaciones

                                              Annotations:

                                              • Las relaciones nos permiten ligar o unir nuestras diferentes entidades y se representan con rombos. Por convención se definen a través de verbos
                                              1. Cardinalidad
                                                1. 1:N
                                                  1. 1:1
                                                    1. 0:N
                                                      1. 0:1
                                                        1. N:N
                                                    2. Físico
                                                      1. Tipos de datos
                                                        1. Texto

                                                          Annotations:

                                                          • CHAR(n), VARCHAR(n), TEXT
                                                          1. Números

                                                            Annotations:

                                                            • INTEGER, BIGINT, SMALLINT, DECIMAL(n,s), NUMERIC(n,s)
                                                            1. Fecha/hora

                                                              Annotations:

                                                              • DATE, TIME, DATETIME, TIMESTAMP
                                                              1. Lógicos

                                                                Annotations:

                                                                • BOOLEAN Sólo puede tener 1 de 2 valores. "Activo" o "Inactivo" por ejemplo.
                                                              2. Constraints
                                                                1. NOT NULL

                                                                  Annotations:

                                                                  • Se asegura que la columna no tenga valores nulos
                                                                  1. UNIQUE

                                                                    Annotations:

                                                                    • Se asegura que cada valor en la columna no se repita
                                                                    1. PRIIMARY KEY

                                                                      Annotations:

                                                                      • Es una combinación de NOT NULL y UNIQUE
                                                                      1. FOREIGN KEY

                                                                        Annotations:

                                                                        • Identifica de manera única una tupla en otra tabla
                                                                        1. CHECK

                                                                          Annotations:

                                                                          • Se asegura que el valor en la columna cumpla una condición dada
                                                                          1. DEFAULT

                                                                            Annotations:

                                                                            • Coloca un valor por defecto cuando no hay un valor especificado
                                                                            1. INDEX

                                                                              Annotations:

                                                                              • Se crea por columna para permitir búsquedas más rápidas
                                                                            2. Normalización

                                                                              Annotations:

                                                                              • La normalización como su nombre lo indica nos ayuda a dejar todo de una forma normal. Esto obedece a las 12 reglas de Codd y nos permiten separar componentes en la base de datos
                                                                              1. Primera forma normal (1FN)

                                                                                Annotations:

                                                                                • Primera forma normal (1FN): Atributos atómicos (Sin campos repetidos)
                                                                                1. Segunda forma normal (2FN)

                                                                                  Annotations:

                                                                                  • Cumple 1FN y cada campo de la tabla debe depender de una clave única.
                                                                                  1. Tercera forma normal (3FN)

                                                                                    Annotations:

                                                                                    • Cumple 1FN y 2FN y los campos que NO son clave, NO deben tener dependencias.
                                                                                    1. Cuarta forma normal (4FN)

                                                                                      Annotations:

                                                                                      • Cumple 1FN, 2FN, 3FN y los campos multivaluados se identifican por una clave única.
                                                                          2. SQL

                                                                            Annotations:

                                                                            • significa Structured Query Language y tiene una estructura clara y fija. Su objetivo es hacer un solo lenguaje para consultar cualquier manejador de bases de datos volviéndose un gran estándar. Ahora existe el NOSQL o Not Only Structured Query Language que significa que no sólo se utiliza SQLen las bases de datos no relacionales. Ejemplo: Cassandra, Big Query de Google (ésta se utiliza para Inteligencia artificial incluso)
                                                                            1. DDL

                                                                              Annotations:

                                                                              • Significa Data Definition Language. Es un sublenguaje de SQL que nos ayuda a crear la estructura de una base de datos
                                                                              1. CREATE

                                                                                Annotations:

                                                                                • Nos ayuda a crear bases de datos, tablas, vistas, índices, etc
                                                                                • Ejemplo 1  -- Creando base de datos CREATE SCHEMA `platziblog`; 
                                                                                • Ejemplo 2 -- Creando tabla (entidad) CREATE TABLE `platziblog`,            `categorias` (`id` INT NOT NULL AUTO_INCREMENT, `nombre_categoria` VARCHAR (30) NOT NULL,  PRIMARY KEY (`id`));
                                                                                • Ejemplo 3 --Creando tabla dependiente (entidad débil) -Para Columns CREATE TABLE `platziblog`.`posts` (`id` INT NOT NULL AUTO_INCREMENT, `titulo` VARCHAR (130) NOT NULL, `fecha_publicacion` TIMESTAMP NULL, `contenido` TEXT NOT NULL, `estatus` CHAR (8) NULL DEFAULT 'activo', `usuario_id` INT NOT NULL, `categoria_id` INT NOT NULL, PRIMARY KEY (`id`)); -Para Foreing Keys ALTER TABLE `platziblog`.`posts` ADD INDEX `posts_usuarios_idx` (`usuario_id` ASC); ; ALTER TABLE `platziblog`.`posts` ADD CONSTRAINT `posts_usuarios`      FOREIGN KEY (`usuario_id`)      REFERENCES `platziblog`.`usuarios` (`id`)      ON DELETE NO ACTION      ON UPDATE CASCADE;
                                                                                • Ejemplo 4 -- Creando tabla transitiva o pivote (la que rompe la cardinalidad N:N) - Para Columns CREATE TABLE `platziblog`.`posts_etiquetas` ( `id` INT NOT NULL AUTO_INCREMENT, `post_id` INT NOT NULL, `etiqueta_id` INT NOT NULL, PRIMARY KEY (`id`)); - Para Foreing Keys ALTER TABLE `platziblog`.`posts_etiquetas` ADD INDEX `postsetiquetas_posts_idx` (`post_id` ASC); ; ALTER TABLE `platziblog`.`posts_etiquetas` ADD CONSTRAINT `postsetiquetas_posts`      FOREING KEY (`post_id`)      REFERENCES `platziblog`.`posts` (`id`)      ON DELETE NO ACTION      ON UPDATE NO ACTION;
                                                                                1. ALTER

                                                                                  Annotations:

                                                                                  • Ayuda a alterar o modificar entidades
                                                                                  1. DROP

                                                                                    Annotations:

                                                                                    • Nos ayuda a borrar. Hay que tener cuidado al utilizarlo
                                                                                  2. DML

                                                                                    Annotations:

                                                                                    • Trata del contenido de la base de datos. Son las siglas de Data Manipulation Language 
                                                                                    1. INSERT

                                                                                      Annotations:

                                                                                      • Inserta o agrega nuevos registros a la tabla
                                                                                      •  -- Datos de prueba (parte 1)    -- Usuarios INSERTINTO`platziblog.usuarios` (`id`,`login`,`password`,`nickname`,`email`) VALUES (1,'israel','jc8209*(^GCHN_(hcLA','Israel','israel@platziblog.com'); INSERTINTO`platziblog.usuarios` (`id`,`login`,`password`,`nickname`,`email`) VALUES (2,'monica','(*&^LKJDHC_(*#YDLKJHODG','Moni','monica@platziblog.com'); INSERTINTO`platziblog.usuarios` (`id`,`login`,`password`,`nickname`,`email`) VALUES (3,'laura','LKDJ)_*(-c.M:\"[pOwHDˆå߃∂','Lau','laura@platziblog.com'); INSERTINTO`platziblog.usuarios` (`id`,`login`,`password`,`nickname`,`email`) VALUES (4,'edgar','LLiy)CX*Y:MO','Ed','edgar@platziblog.com'); INSERTINTO`platziblog.usuarios` (`id`,`login`,`password`,`nickname`,`email`) VALUES (5,'perezoso','&N_*JS)_Y)*(&TGOKS','Oso Pérez','perezoso@platziblog.com'); -- Categorías INSERTINTO`platziblog.categorias` (`id`,`nombre_categoria`) VALUES (1,'Ciencia'); INSERTINTO`platziblog.categorias` (`id`,`nombre_categoria`) VALUES (2,'Tecnología'); INSERTINTO`platziblog.categorias` (`id`,`nombre_categoria`) VALUES (3,'Deportes'); INSERTINTO`platziblog.categorias` (`id`,`nombre_categoria`) VALUES (4,'Espectáculos'); INSERTINTO`platziblog.categorias` (`id`,`nombre_categoria`) VALUES (5,'Economía'); -- Etiquetas INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (1,'Robótica'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (2,'Computación'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (3,'Teléfonos Móviles'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (4,'Automovilismo'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (5,'Campeonatos'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (6,'Equipos'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (7,'Bolsa de valores'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (8,'Inversiones'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (9,'Brokers'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (10,'Celebridades'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (11,'Eventos'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (12,'Moda'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (13,'Avances'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (14,'Nobel'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (15,'Matemáticas'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (16,'Química'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (17,'Física'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (18,'Largo plazo'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (19,'Bienes Raíces'); INSERTINTO`platziblog.etiquetas` (`id`,`nombre_etiqueta`) VALUES (20,'Estilo');  -- Posts-etiquetas INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (1,43,3); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (2,43,11); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (3,44,2); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (4,44,4); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (5,45,14); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (6,45,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (7,46,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (8,46,11); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (9,46,12); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (10,46,20); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (11,47,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (12,48,1); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (13,48,2); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (14,48,4); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (15,48,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (16,49,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (17,49,14); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (18,49,17); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (19,50,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (20,50,14); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (21,50,16); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (22,51,7); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (23,51,8); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (24,51,9); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (25,51,18); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (26,52,8); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (27,52,18); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (28,53,7); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (29,53,8); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (30,54,4); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (31,54,5); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (32,55,5); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (33,55,6); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (34,56,5); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (35,56,6); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (36,56,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (37,58,2); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (38,58,3); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (39,58,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (40,59,1); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (41,59,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (42,57,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (43,60,5); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (44,60,6); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (45,61,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (46,61,12); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (47,61,20); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (48,62,5); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (49,62,10); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (50,63,13); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (51,63,14); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (52,63,17); INSERTINTO`platziblog.posts_etiquetas` (`id`,`post_id`,`etiqueta_id`) VALUES (53,52,19);
                                                                                      • -- Datos de prueba (parte 2)-- Posts INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (43,'Se presenta el nuevo teléfono móvil en evento','2030-04-05 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',1,2); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (44,'Tenemos un nuevo auto inteligente','2025-05-04 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',2,2); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (45,'Ganador del premio Nobel por trabajo en genética','2023-12-22 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',3,1); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (46,'Los mejores vestidos en la alfombra roja','2021-12-22 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet o
                                                                                      • --Datos de prueba parte 3 rci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',4,4); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (47,'Los paparatzi captan escándalo en cámara','2025-01-09 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','inactivo',4,4); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (48,'Se mejora la conducción autónoma de vehículos','2022-05-23 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',1,2); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (49,'Se descubre nueva partícula del modelo estandar','2023-01-10 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',2,1);
                                                                                      • --Datos de prueba parte 4 INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (50,'Químicos descubren nanomaterial','2026-06-04 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',2,1); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (51,'La bolsa cae estrepitosamente','2024-04-03 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',2,5); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (52,'Bienes raices más baratos que nunca','2025-04-11 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','inactivo',2,5);
                                                                                      • --Datos de prueba parte 5 INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (53,'Se fortalece el peso frente al dolar','2021-10-09 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',1,5); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (54,'Tenemos ganador de la formula e','2022-11-11 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',1,3); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (55,'Ganan partido frente a visitantes','2023-12-10 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',2,3);
                                                                                      • --Datos de prueba parte 6 INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (56,'Equipo veterano da un gran espectaculo','2023-12-01 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','inactivo',2,3); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (57,'Escándalo con el boxeador del momento','2025-03-05 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',4,4); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (58,'Fuccia OS sacude al mundo','2028-10-10 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.','activo',1,2);
                                                                                      • Datos de prueba parte 7 INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (59,'U.S. Robotics presenta hallazgo','2029-01-10 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n','activo',1,2); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (60,'Cierra campeonato mundial de football de manera impresionante','2023-04-10 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n','activo',2,3); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (61,'Escándalo en el mundo de la moda','2022-04-11 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n','activo',4,4);
                                                                                      • -- Datos de prueba parte 8   INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (62,'Tenemos campeona del mundial de volleiball','2024-09-09 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n','inactivo',2,3); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (63,'Se descubre la unión entre astrofísica y fisica cuántica','2022-05-03 00:00:00','Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n','inactivo',3,1); INSERTINTO`platziblog.posts` (`id`,`titulo`,`fecha_publicacion`,`contenido`,`estatus`,`usuario_id`,`categoria_id`) VALUES (64,'El post que se quedó huérfano','2029-08-08 00:00:00','\'Phasellus laoreet eros nec vestibulum varius. Nunc id efficitur lacus, non imperdiet quam. Aliquam porta, tellus at porta semper, felis velit congue mauris, eu pharetra felis sem vitae tortor. Curabitur bibendum vehicula dolor, nec accumsan tortor ultrices ac. Vivamus nec tristique orci. Nullam fringilla eros magna, vitae imperdiet nisl mattis et. Ut quis malesuada felis. Proin at dictum eros, eget sodales libero. Sed egestas tristique nisi et tempor. Ut cursus sapien eu pellentesque posuere. Etiam eleifend varius cursus.\n\nNullam viverra quam porta orci efficitur imperdiet. Quisque magna erat, dignissim nec velit sit amet, hendrerit mollis mauris. Mauris sapien magna, consectetur et vulputate a, iaculis eget nisi. Nunc est diam, aliquam quis turpis ac, porta mattis neque. Quisque consequat dolor sit amet velit commodo sagittis. Donec commodo pulvinar odio, ut gravida velit pellentesque vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\nMorbi vulputate ante quis elit pretium, ut blandit felis aliquet. Aenean a massa a leo tristique malesuada. Curabitur posuere, elit sed consectetur blandit, massa mauris tristique ante, in faucibus elit justo quis nisi. Ut viverra est et arcu egestas fringilla. Mauris condimentum, lorem id viverra placerat, libero lacus ultricies est, id volutpat metus sapien non justo. Nulla facilisis, sapien ut vehicula tristique, mauris lectus porta massa, sit amet malesuada dolor justo id lectus. Suspendisse sit amet tempor ligula. Nam sit amet nisl non magna lacinia finibus eget nec augue. Aliquam ornare cursus dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\nDonec ornare sem eget massa pharetra rhoncus. Donec tempor sapien at posuere porttitor. Morbi sodales efficitur felis eu scelerisque. Quisque ultrices nunc ut dignissim vehicula. Donec id imperdiet orci, sed porttitor turpis. Etiam volutpat elit sed justo lobortis, tincidunt imperdiet velit pretium. Ut convallis elit sapien, ac egestas ipsum finibus a. Morbi sed odio et dui tincidunt rhoncus tempor id turpis.\n\nProin fringilla consequat imperdiet. Ut accumsan velit ac augue sollicitudin porta. Phasellus finibus porttitor felis, a feugiat purus tempus vel. Etiam vitae vehicula ex. Praesent ut tellus tellus. Fusce felis nunc, congue ac leo in, elementum vulputate nisi. Duis diam nulla, consequat ac mauris quis, viverra gravida urna.\n\'','activo',NULL,NULL);  
                                                                                      1. UPDATE

                                                                                        Annotations:

                                                                                        • Actualiza o modifica los datos que ya existen
                                                                                        1. DELETE

                                                                                          Annotations:

                                                                                          • Esta sentencia es riesgosa porque puede borrar el contenido de una tabla
                                                                                          1. SELECT

                                                                                            Annotations:

                                                                                            • Trae información de la base de datos. Proyecta, muestra que columnas o campos se muestran en un query. Para los ejemplos siguientes usaremos tambien FROM ya que SELECT no funciona por sí solo
                                                                                            • Ejemplo 1 SELECT* FROM posts;
                                                                                            • Ejemplo 2 (trae sólo algunas columnas) SELECT titulo, fecha_publicacion_estatus FROM posts;
                                                                                            • Ejemplo 3 (la misma data del ejemplo anterior pero agregando alias a los campos) SELECT* titulo AS encabezado, fecha_de_publicacion AS publicado_en, estatus AS estados FROM posts;
                                                                                            • Ejemplo 4 (datos que se crean en el momento, datos "on the fly") (¨quiero que me cuentes todos los posts¨) SELECT COUNT (*) FROM posts;
                                                                                            • Ejemplo 5 (lo mismo que el ejemplo anterior pero agrego un alias al campo que me despliega el conteo total) SELECT COUNT (*) AS numero_posts FROM posts;
                                                                                            1. QUERIES

                                                                                              Annotations:

                                                                                              • Una query, en inglés, es un término que significa pregunta. La utilidad práctica de una base de datos consiste en hacer querys efectivos que arrojen la información exacta, oportuna y precisa que es requerida.
                                                                                              • -- Estructura básica de un QUERY SELECT* FROM posts WHERE fecha_publicación < 2024;
                                                                                              1. FROM

                                                                                                Annotations:

                                                                                                • Sentencia que sirve para indicar desde donde van a ser extraídos los datos al momento de realizar un QUERY 
                                                                                                1. JOIN

                                                                                                  Annotations:

                                                                                                  • Compañero inseparable de FROM. Nos ayuda a unir tablas a traves de las relaciones que les creamos. Esto quiere decir unir la llave primaria con la llave foránea que referencia a esa llave primaria de la otra tabla.
                                                                                                  1. Diferencia
                                                                                                    1. Left Join
                                                                                                      1. Tipo 1

                                                                                                        Annotations:

                                                                                                        • "Traeme todo de A, aunque no tenga datos asociados en B"
                                                                                                        •  Ejemplo  LEFT JOIN TIPO 1 ("Traéme todo de A, aunque no tenga datos asociados en B" (En donde A es usuarios y B es posts)) (* "ON" es un modificador que indica que campo nos dice cual pertenece a cual) SELECT* FROM usuarios   LEFT JOIN posts    ON usuarios.id = posts.usuario_id;
                                                                                                        1. Tipo 2

                                                                                                          Annotations:

                                                                                                          • "Traeme de A, sólo lo que no tenga datos asociados en B"
                                                                                                          • Ejemplo  LEFT JOIN TIPO 2 ("Traéme de A, sólo lo que no tenga datos asociados en B" (En donde A es usuarios y B es posts))  SELECT* FROM usuarios     LEFT JOIN post   ON usuarios.id = posts.usuario_id   WHERE posts.usuario_id IS NULL;
                                                                                                        2. Right Join
                                                                                                          1. Tipo 1

                                                                                                            Annotations:

                                                                                                            • "Traeme todo de B, aunque no tenga datos asociados en A"
                                                                                                            • Ejemplo  RIGHT JOIN TIPO 1 ("Traeme de todo de B aunque no tenga datos asociados en A") SELECT* FROM usuarios    LEFT JOIN posts     ON usuarios.id = posts.usuario_id;
                                                                                                            1. Tipo 2

                                                                                                              Annotations:

                                                                                                              • "Traeme de B, sólo lo que no tenga datos asociados en A"
                                                                                                              • Ejemplo  ("Trame de B sólo lo que no tenga datos asociados en A") SELECT* FROM usuarios RIGHT JOIN posts  ON usuarios.id = posts.usuario_id WHERE posts.usuario_id IS NULL;
                                                                                                          2. Intersección
                                                                                                            1. Inner Join

                                                                                                              Annotations:

                                                                                                              • Este es el tipo de Join que mas vamos a ver. Incluso solo poner Join ya lo vale una base de datos.  "Traeme todos los registros que contengan valores tanto en A como en B simultáneamente"
                                                                                                              • Ejemplo  Intersección (Traéme todos los registros que contengan valores tanto en A como en B simultáneamente) SELECT* FROM usuarios INNER JOIN posts  ON usuarios.id = posts.usuario_id;
                                                                                                              1. Outer Join
                                                                                                                1. Diferencia simétrica

                                                                                                                  Annotations:

                                                                                                                  • "Traéme sólo los registros de A sin valores en B y los registros en B sin valores en A"
                                                                                                                  • Ejemplo  Diferencia simétrica ("Traéme sólo registros de A sin valores en B y registros en B sin valores en A") SELECT* FROM usuarios LEFT JOIN posts ON usuarios.id = posts.usuarios_id WHERE posts.usuario_id IS NULL UNION SELECT* FROM usuarios RIGHT JOIN posts  ON usuarios.id = posts.usuarios_id WHERE posts.usuario_id IS NULL;
                                                                                                                  1. Unión

                                                                                                                    Annotations:

                                                                                                                    • "Traéme TODO"
                                                                                                                    • Ejemplo  UNION  ("Traéme todo de A y de B") SELECT* FROM usuarios LEFT JOIN posts ON usuarios.id = posts.usuario_id UNION SELECT* FROM usuarios RIGHT JOIN posts ON usuarios.id = posts.usuario_id;
                                                                                                            2. WHERE

                                                                                                              Annotations:

                                                                                                              • Es la sentencia que nos ayuda a filtrar tuplas o registros. De acuerdo a criterios como una fecha o una cantidad.
                                                                                                              • Ejemplo 1 (Seleccionando posts con id menor a 50. Sin incluir el 50) SELECT* FROM posts WHERE id <50;
                                                                                                              • Ejemplo 2 (Seleccionando posts con id menor a 50. Incluyendo el 50) SELECT* FROM posts WHERE id <=50;
                                                                                                              • Ejemplo 3 (Filtrando por cadena) SELECT* FROM posts WHERE estatus = 'activo' ;
                                                                                                              • Ejemplo 3 (Filtrando todo lo que no sea un valor "activo") SELECT* FROM posts WHERE estatus != 'activo' ;
                                                                                                              • Ejemplo 4 (Quiero que me traigas todos los valores que no sean 50) SELECT* FROM posts WHERE estatus != 50 ;
                                                                                                              • Ejemplo 5 (Cuando no conoces la cadena exacta usas la sentencia LIKE. Traeme todas las cadenas de texto que contengan la palabra 'escandalo' ) SELECT* FROM posts WHERE titulo LIKE '%escandalo%' ;
                                                                                                              • Ejemplo 6 (Traeme todas las cadenas de texto que empiecen por la palabra 'escandalo' ) SELECT* FROM posts WHERE titulo  LIKE 'escandalo%' ;
                                                                                                              • Ejemplo 7 (Traeme todas las cadenas de texto que terminen por la palabra 'escandalo' ) SELECT* FROM posts WHERE titulo  LIKE '%escandalo' ;
                                                                                                              • Ejemplo 8 (Filtrando por fecha) SELECT* FROM posts WHERE fecha_publicacion > '2025-01-01' ;
                                                                                                              • Ejemplo 8 (Filtrando por fecha entre dos valores con la ayuda de la sentencia BETWEEN y AND. Esto tambien sirve para otros campos como el id y otros valores numéricos) SELECT* FROM posts WHERE fecha_publicacion  BETWEEN '2023-01-01' AND '2025-12-31';
                                                                                                              • Ejemplo 9 (Filtrando por año) SELECT* FROM posts WHERE YEAR (fecha_publicacion) BETWEEN '2023' AND '2024';
                                                                                                              • Ejemplo 10 (Filtrando por mes) SELECT* FROM posts WHERE MONTH (fecha_publicacion) = '04' ;
                                                                                                              •  Ejemplo 11 (Usando WHERE en un query NULL) SELECT* FROM posts WHERE usuario_id IS NULL ;  
                                                                                                              •  Ejemplo 12 (Usando WHERE en un query NOT NULL) SELECT* FROM posts WHERE usuario_id IS NOT NULL ;
                                                                                                              •  Ejemplo 13 (Usando WHERE en un query NOT NULL y agregando criterios adicionales a traves de AND) SELECT* FROM posts WHERE usuario_id IS NULL    AND estatus = 'activo'    AND id <50    AND categoria_id=2    AND YEAR (fecha_publicacion) = '2025'; 
                                                                                                              1. GROUP BY

                                                                                                                Annotations:

                                                                                                                • Sentencia que permite agrupar elementos que cumplen ciertas condiciones, por lo general se usa para contar elementos que cumplen las condiciones
                                                                                                                • Ejemplo 1 (Agrupando elementos por su estatus y contándolos ) SELECT estatus, COUNT (*)  AS post_quantity FROM posts GROUP BY estatus;
                                                                                                                • Ejemplo 2 (Agrupando elementos por su año y contándolos) SELECT YEAR (fecha_publicacion) AS post_year,COUNT (*)  AS post_quantity FROM posts GROUP BY post_year ;
                                                                                                                • Ejemplo 3 (Agrupando elementos por su mes y contándolos) SELECT MONTHNAME (fecha_publicacion)  AS post_month,  COUNT (*)  AS post_quantityFROM posts GROUP BY post_month;
                                                                                                                • Ejemplo 2 (Agrupando elementos por su mes y su estatus y contandolos) SELECT estatus MONTHNAME (fecha_publicacion)  AS post_month,  COUNT (*)  AS post_quantity FROM posts GROUP BY estatus, post_month; 
                                                                                                                1. ORDER BY

                                                                                                                  Annotations:

                                                                                                                  • Permite ordenar los datos por campos o criterios.
                                                                                                                  • Ejemplo 1 (Ordenando elementos por fecha de publicación ascendente) SELECT* FROM postsORDER BY fecha_publicacion ASC;
                                                                                                                  • Ejemplo 2 (Ordenando elementos por fecha de publicación descendente) SELECT* FROM posts ORDER BY fecha_publicacion DESC;
                                                                                                                  • Ejemplo 3 (Ordenando elementos por fecha de publicación ascendente y además proyectando sólo los primeros 5 con la ayuda de la sentencia LIMIT) SELECT*FROM posts ORDER BY fecha_publicacion ASC;
                                                                                                                  1. HAVING

                                                                                                                    Annotations:

                                                                                                                    • No es muy usual pero habrán casos muy particulares en los que será útil. HAVING y WHERE son muy similares ayudan a filtrar tambien, tienen una estructura muy similar pero HAVING lo que tiene en particular es que nos ayuda una vez que ya agrupamos y creamos campos dinámicos que nos cuentan o nos suman valores. Es decir, ya agrupé y conté y ahora quiero referencias datos específicos de esa agrupación y conteo
                                                                                                                    • Ejemplo 1 (Agrupando elementos por su estado y fecha de publicación y proyectando sólo aquellos grupos que sumen mas de 1 en su conteo) SELECT MONTHNAME(fecha_publicacion) AS post_month, estatus, COUNT(*) AS post_quantityFROM postsGROUP BY estatus, post_monthHAVING post_quantity > 1ORDER BY post_month;
                                                                                                                    1. NESTED QUERIES

                                                                                                                      Annotations:

                                                                                                                      • Los Nested queries significan que dentro de un query podemos hacer otro query. Esto sirve para hacer join de tablas, estando una en memoria. También teniendo un query como condicional del otro. Este proceso puede ser tan profundo como quieras, teniendo infinitos queries anidados.Se le conoce como un producto cartesiano ya que se multiplican todos los registros de una tabla con todos los del nuevo query. Esto provoca que el query sea difícil de procesar por lo pesado que puede resultar.
                                                                                                                      • Ejemplo 1 (Seleccion de "new_table_projection.date" (el campo fecha de la tabla virtual o temporal que estamos por crear) y cuenta los posts. Una vez dada esa orden inmediatamente se crea la tabla virtual o temporal asi, indicandole que seleccione la fecha minima de publicacion y le nombre date y que seleccione el año y lo nombre post_year, esta información la obtendrá de la tabla posts y la agrupara por el campo post_year. Ya creada la tabla virtual solo queda darle unas ordenes de agrupacion y de orden por fecha para la proyeccion de la nueva tabla virtual o temporal ) SELECT new_table_projection.date, COUNT(*) AS posts_countFROM (SELECT DATE (MIN(fecha_publicacion)) AS date, YEAR (fecha_publicacion) AS post_yearFROM postsGROUP BY post_year) AS new_table_projectionGROUP BY new_table_projection.dateORDER BY new_table_projectio.date;
                                                                                                                      • Ejemplo 2 (Quiero seleccionar todo de la tabla posts pero la condición es que la fecha de publicación sea igual a la fecha de publicación del segundo QUERY)SELECT*FROM postsWHERE fecha_publicacion = (SELECT MAX (fecha_publicacion)FROM posts );
                                                                                                              2. Tipos de manejadores de bases de datos
                                                                                                                1. RDBMS

                                                                                                                  Annotations:

                                                                                                                  • RDBMS significa Relational Database Management System o sistema manejador de bases de datos relacionales. Es un programa que se encarga de seguir las reglas de Codd y se puede utilizar de manera programática.
                                                                                                                  1. Instalación Local
                                                                                                                    1. Clientes gráticos

                                                                                                                      Annotations:

                                                                                                                      • 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, gestión y mantenimiento para el sistema de base de datos MySQL.
                                                                                                                    2. Administrados

                                                                                                                      Annotations:

                                                                                                                      • Hoy en día muchas empresas ya no tienen instalados en sus servidores los RDBMS sino que los contratan a otras personas. Estos servicios administrados cloud te permiten concentrarte en la base de datos y no en su administración y actualización
                                                                                                                    3. NRDBMS
                                                                                                                      1. TIPOS
                                                                                                                        1. Clave - valor

                                                                                                                          Annotations:

                                                                                                                          • Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Ejemplos: DynamoDB, Cassandra.
                                                                                                                          1. Basada en documentos

                                                                                                                            Annotations:

                                                                                                                            • Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.
                                                                                                                            1. Basada en grafos

                                                                                                                              Annotations:

                                                                                                                              • Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: neo4j, TITAN.
                                                                                                                              1. En memoria

                                                                                                                                Annotations:

                                                                                                                                • Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.
                                                                                                                                1. Optimizadas para busquedas

                                                                                                                                  Annotations:

                                                                                                                                  • Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.
                                                                                                                            Show full summary Hide full summary

                                                                                                                            Similar

                                                                                                                            Operadores Python
                                                                                                                            Giovanni Sanhuez
                                                                                                                            Mis Recursos de Programación
                                                                                                                            maya velasquez
                                                                                                                            FUNDAMENTOS DE REDES DE COMPUTADORAS
                                                                                                                            anhita
                                                                                                                            Editor Dibujo Paint
                                                                                                                            gladiscj
                                                                                                                            Herramientas de Software para Comercio y Finanzas
                                                                                                                            mishelleisabel
                                                                                                                            TIPOS DE DATOS: Al diseñar una tabla, debemos especificar el tipo y tamaño de datos que almacenarán los campos
                                                                                                                            Alex Mejia
                                                                                                                            BASES DE DATOS
                                                                                                                            Horst Berndt Reyes
                                                                                                                            PROGRAMACIÓN ORIENTADA A OBJETOS - TERCER CORTE
                                                                                                                            Jose Anacona Pira
                                                                                                                            Parcial Fundamento de Programación
                                                                                                                            ALBERTO MANUEL PATERNINA LEON
                                                                                                                            Lenguaje de programación.
                                                                                                                            Lina Melo
                                                                                                                            Introducción a la Programación
                                                                                                                            Diego Benavides