miércoles, 21 de octubre de 2020

Auditoria en SQL SERVER

 Buenas tardes queridos lectores, el día de hoy les traigo la manera de realizar una auditoria en SQL SERVER, imaginemos que hay datos que se borran, y nadie sabe quien fue, y obviamente el culpable aventará la piedra y esconderá la mano, pues bien, con este método sabremos quien fue el responsable de que los datos se borraran, así que acompáñenme a revisar este post.

martes, 13 de octubre de 2020

Programas para MS-DOS

 Buenas tardes queridos lectores, hace algún tiempo, me dio nostalgia por los años de infancia y adolescencia, donde lo que se usaba en las computadoras era MS-DOS, después vino Windows 3.1, Windows 95 y Windows 98, pero aún así, MS-Dos seguía siendo el rey, con la llegada de los sistemas de 32 y 64 bits, los antiguos programas que funcionaban bajo la plataforma de consola dejaron de funcionar y así se fueron mucho de los juegos que ahora añoramos y extrañamos, así que me metí al internet para descargar y usar esos juegos y programas que me enseñaron a usar la computadora hace muchos ayeres. En la lista que les traigo, hay juegos, como programas o utilerias. Espero sea de su agrado

lunes, 31 de agosto de 2020

Code Snippets en el Management Studio de SQL Server

Buenas noches queridos lectores, el día de hoy hablaremos de los snippets, los que son programadores, lo conocen bastante bien, pues ayuda a ahorrarnos código, ya que son atajos que existen para crear un fragmento de código determinado y bien definido. Los snippets aparecieron para visual Studio 2005, pero después el Management Studio de SQL también permitió crearlos.

Vamos a observar algunos snippets que ya vienen instalados predeterminadamente en Management Studio y como utilizarlos.

Para utilizar los snippets, debemos presionar las teclas Ctrl + K + S o X, depende lo que queramos hacer, ya que existen dos tipos de snippets. Primero presionaremos Ctrl + K + X para crear un fragmento de código.

domingo, 23 de agosto de 2020

Partición de Tablas en SQL SERVER

Buenas noches queridos lectores, el día de hoy hablaremos sobre el particionado de tablas en SQL SERVER. Antes que nada, debo decirles que el particionamiento esta disponible a partir de SQL SERVER 2005, aunque su funcionalidad mejoró mucho en 2008.

A muchos de nosotros nos ha tocado, como DBA, o como encargado de sistemas que nos dicen cosas como "Esta muy lento el sistema", en realidad lo que esta lento es la Base de Datos, ya sea porque tienen consultas mal hechas o por la falta de índices, cuando ya optimizamos la consulta y también creamos índices, pero aún sigue estando lento, puede ser debido a la cantidad de información que existe y para eso sirve el particionado. Imaginemos, que en nuestro lugar de trabajo, hay una tabla llamada Facturas, y ahí hay millones de registros, cuando lanzamos una consulta a esa tabla, por más índices que ésta tenga, la cantidad de información hará que la consulta siga lenta, así que tendremos que buscar los criterios para particionar, podremos particionar por cliente, por ejemplo, así las facturas de cada clientes estarán en una partición y solamente el sistema de BD buscará en la partición correspondiente para cada cliente, también podemos particionar por rangos de fechas, o incluso por rangos de productos, todo esto dependiendo de que es lo que queremos hacer.

martes, 30 de junio de 2020

Roles en SQL SERVER

Buenas tardes queridos lectores, ya poco a poco va pasando la cuarentena y empiezan a abrir todo, el día de hoy, les traigo el post de los ROLES en SQL SERVER, una manera más, fácil, práctica y correcta de administrar los permisos de las bases de Datos. Pero como siempre, pasemos a la práctica que es lo que nos gusta y como aprendemos

Los roles sirven para administrar con facilidad los permisos de bases de datos.

Existen dos tipos de roles: los roles de usuario y los roles de servidor, en los roles de servidor, no entraremos en detalles, basta con mencionar que dentro de los roles de servidor, existe un rol llamado sysadmin, que nos proporcionará el control total del servidor para un login especifico, es decir seremos un super usuario (sa). Los roles de base de datos, que son los creados por el usuario también se dividen en dos:

sábado, 20 de junio de 2020

Ejemplos prácticos de Índices

Buenas tardes queridos lectores, el día de hoy realizaremos algunos ejemplos prácticos de creación de índices, pero no solo veremos la creación, sino también, como encontrar los índices faltantes, en base al plan de ejecución, primero veremos teoría y pasaremos a ejemplos prácticos. Para este ejemplo contamos con una base de datos de 7 millones de registros, pensando que sería una tabla sumamente transaccional, pero entremos en materia.



Índice: Una explicación común es que un índice sirve para "acelerar" las consultas SQL SERVER, lo cual básicamente es correcto, para eso sirve, pero veremos detalles técnicos mas específicos

Un índice es una estructura de disco asociada con una tabla o una vista que acelera la recuperación de filas de la tabla o de la vista. Un índice contiene claves generadas a partir de una o varias columnas de la tabla o la vista. Dichas claves están almacenadas en una estructura (árbol b) que permite que SQL Server busque de forma rápida y eficiente la fila o filas asociadas a los valores de cada clave. Esta es la explicación según Microsoft.

domingo, 7 de junio de 2020

Logins y usuarios (seguridad) en SQL SERVER

Buenas noches queridos lectores y nuevamente Feliz Cuarentena, seguimos encerrados y así será al parecer al menos otro mes. El día de hoy hablaremos sobre los logins y los usuarios, o sea, la seguridad en SQL SERVER, se tiende a confundir login y usuario como el mimo término, y si bien son similares, si tienen sus diferencias, además haremos algunos ejemplos para que quede más claro, también veremos algo de teoría para tener el fundamento. Pues bien comencemos.


Logins o inicios de sesión: Es la autenticación al motor de Base de Datos SQL SERVER, los inicios de sesión están asociados a un usuario a nivel de base de datos, aunque se tenga el permiso en el login, este podrá acceder al motor, pero no a la base de datos que queremos.

Usuarios: Es la autenticación a la base de Datos como tal, todos los usuarios deben estar enlazados un con login, si existen usuarios sin enlazar a un login, estos se llamarán usuarios huérfanos, que solo ocupan espacio, pero no tienen utilidad, si se encuentran con éstos usuarios será mejor borrarlos.

viernes, 29 de mayo de 2020

Crear un JOB (Tarea Automática) en SQL SERVER

Buenas noches queridos lectores, el día de hoy les explicare los JOBS en SQL SERVER, un post que tenía tiempo queriendo hacer, pero no había tenido la oportunidad, pero comencemos pues con un poco de teoría.



Un JOB en base de datos sería lo que en Windows una tarea programada, pero con algunas caracteristicas especiales. Un Job son un bloque de instrucciones, definidos en pasos, que se ejecutan cada cierto tiempo. Cada paso tiene un numero ilimitado de instrucciones, así como podemos definir el flujo, es decir, si el paso se realiza correctamente, ir al siguiente paso, ir a un paso definido o salir del JOB. Puede resultar un poco complejo una explicación teórica, por lo cual vamos a la práctica que es lo que nos gusta y como aprendemos.

viernes, 22 de mayo de 2020

Conectar a una base de datos SQL SERVER de otro servidor

Buenas noches y feliz cuarentena queridos lectores, el día de hoy les mostraré como conectarse a una base de datos SQL SERVER que se encuentra en otro servidor.

Este tema es bastante común, todos en algún momento nos hemos topado con este problema, y a veces ya no nos acordamos que fue lo que hicimos para resolverlo anteriormente, pues bien, aquí les traigo la solución.

domingo, 10 de mayo de 2020

Alertas y Operadores en SQL Server

Buenos días queridos lectores en este día de las madres de cuarentena, hoy les quiero mostrar la utilidad y el uso de los operadores y de las alertas en SQL SERVER.

Un operador define información de contacto para las personas responsables del mantenimiento de una o varias instancias de SQL SERVER. La responsabilidad de operador puede recaer en una sola persona o en varias. Un operador no contiene información de seguridad y tampoco contiene seguridad en si mismo.

Una alerta es una respuesta automática a un evento específico . Un evento puede ser el inicio de un trabajo (JOB) o que los recursos del sistema alcancen un umbral específico. Se deben configurar las condiciones en las que se genera una alerta.

lunes, 4 de mayo de 2020

sábado, 2 de mayo de 2020

Configurar correo de GMAIL y OUTLOOK en SQL SERVER

Buenas noches queridos lectores, el día de hoy veremos primeramente como configurar el correo en SQL SERVER y posteriormente como enviar ese mismo correo.

En ocasiones, sobre todo cuando trabajamos con JOB (es un tema que tengo pendiente por postear), es útil el envío del correo, para informarnos que el job falló, o que el job se ejecuto correctamente según lo deseemos, o simplemente que exista un procedimiento o función que envíe un correo porque así lo deseamos, pues bien, existe la posibilidad de enviar correos de SQL SERVER, pero tenemos que configurarlo antes. Pues bien, pasemos a la práctica que es lo que nos gusta y como aprendemos

miércoles, 29 de abril de 2020

SCHEMAS (Esquemas) en SQL SERVER

Buenas noches queridos lectores, el día de hoy veremos como trabajar con esquemas en SQL SERVER lo que se conoce como SCHEMA. Vamos a empezar definiendo lo que son esquemas, y después pasaremos a la práctica.

Un esquema es un espacio de nombres de la base de datos, que nos permitirá agrupar los objetos, ya sea por equipo de desarrollo o para poder gestionar mejor sus permisos, no es tema de hoy lo permisos a los esquemas, solamente veremos para que sirven y como crearlos.

viernes, 17 de abril de 2020

Cambiar el nombre lógico de una base de Datos

Buenos días, seguimos en cuarentena queridos lectores. El día de hoy veremos cómo cambiar el nombre lógico a una base de datos. Así es, el nombre lógico es distinto al nombre físico y el día de hoy veremos cómo cambiarlo.

El nombre físico de una base de datos es el nombre propiamente, el nombre que vemos en el management studio, aquél que colocamos seguido del comando USE, ese es el nombre físico, sin embargo, una base de datos está formada por diversos archivos, por lo menos dos (DATA y LOG), pero podrían ser más, incluso podrían haber varios archivos de data y varios archivos de LOG, cada uno de esos archivos tiene un nombre y éstos forman el nombre lógico de una base de datos. Pero veamos los ejemplos que es como aprendemos y lo que nos gusta.

martes, 7 de abril de 2020

Validar la existencia de un archivo o carpeta en SQL SERVER

Buenas tardes, y feliz cuarentena queridos lectores, esta ocasión les mostraré como validar la existencia de algún archivo o carpeta en SQL SERVER. Para eso haremos uso del comando: xp_fileexist.

El uso de este comando no viene en la documentación oficial de SQL SERVER, pero aquí les daremos algunos ejemplos de su uso. Básicamente lleva tres partes. La primera parte es el comando, la segunda es el nombre del archivo a buscar y la tercera parte es la variable donde guardaremos el resultado. Vamos a realizar un pequeño ejemplo:

sábado, 14 de marzo de 2020

Reiniciar valor de un campo IDENTITY - SQL SERVER

Buenas tardes queridos lectores, antes que nada, hay que dejar en claro lo que es un campo identity en base de datos

El campo identity en la propiedad de una columna en una tabla de base de datos, que tiene como característica el incremento automático del valor, especificado al diseñar la tabla, si no se asigna un valor, predeterminadamente aumentará de uno en uno. 

Existen algunas restricciones para poder crear un campo identity y son las siguientes:

  • El tipo de datos siempre tiene que se entero (int).
  • La identidad no garantiza la unicidad del valor, eso tiene que hacerlo la primary key, por lo que se recomienda que la identidad también sea primary key.
  • Solamente puede existir un campo IDENTITY por tabla

viernes, 13 de marzo de 2020

No se puede abrir la base de datos predeterminada del usuario - SQL SERVER

Buenas tardes queridos lectores, el día de hoy les ayudaré a solucionar un error común que aparece al querer conectarnos a una instancia No se puede abrir la base de datos predeterminada del usuario.

Este error es común cuando la base de datos predeterminada del LOGIN esta dañada o se ha movido. Consideremos el siguiente escenario:

Tenemos un servidor con varias bases de datos, y los logins tienen la misma base de datos, pensemos que la base de datos se llama Puebla, que es nuestra sucursal. Un buen día se decide migrar las bases de datos a otro servidor y comenzamos por Puebla, así que migramos y eliminamos del servidor antiguo esa base de datos. Lo que pasará es que el motor ya no podrá conectarse a SQL con ese login, debido a que la base de datos que era predeterminada ya no está disponible.

jueves, 27 de febrero de 2020

Cambiar el nombre de una computadora en la instancia SQL SERVER

En ocasiones, por no decir casi siempre, instalamos una instancia de SQL SERVER en una computadora fuera de dominio, para, posteriormente agregarla al dominio una vez instalada y configurada, sin embargo, al ingresarla al dominio el nombre de la computadora cambia para temas de la instancia y es necesario eliminar el nombre viejo para agregarla al nuevo. También se sigue el mismo procedimiento si el nombre de la computadora cambia, aunque no sea por el dominio

viernes, 7 de febrero de 2020

mensaje 'El administrador de transacción ha deshabilitado su soporte para transacciones de red o remotas.'

Cuando agregamos un servidor vinculado, mejor conocido como linked server, es importante configurarlo de manera correcta, como por ejemplo, permitir o denegar acceso a datos entre otras cosas, una de ellas es el soporte para transacciones remotas o lo que se conoce como MSDTC (Microsoft Distributed Transaction Coordinator).

El error que nos muestra cuando no esta configurado el DTC es el siguiente:


mensaje 'El administrador de transacción ha deshabilitado su soporte para transacciones de red o remotas.'.


sábado, 1 de febrero de 2020

SQL SERVER - Base de datos ya esta abierta y solo puede tener un usuario a la vez

En algunas ocasiones nos encontramos con un error que nos indica que una base de datos ya esta abierta y solo puede tener un usuario al mismo tiempo, esto se debe a que la base de datos fue configurada para ser Single User, el proceso puede parecer muy sencillo, simplemente cerrar la sesión del usuario que tiene abierta la base de datos, pero esto no siempre es así, hay procesos, como algunos jobs, índices u otros procesos que nos hará complicada la tarea, para eso tenemos este ejemplo:

lunes, 6 de enero de 2020

Base de Datos SQL SERVER modo Sospechoso (SUSPECT)

En ocasiones, como DBA's nos encontramos con la sorpresa de que una de nuestras bases de datos aparecen con un símbolo amarillo con la leyenda Sospechoso o Suspect, lo mejor para este caso es tener un plan de respaldos y restaurar, sin embargo, muchas ocasiones puede solucionarse sin mayores problemas y aquí les daremos la solución. Comenzaremos por mencionar las causas de que una base de datos sea marcada como Sospechosa.


¿Que origina que una base de datos pase a modo sospechoso?

Pues bien, una base de datos puede pasar a modo SOSPECHOSO o SUSPECT por varias razones.

jueves, 3 de octubre de 2019

Sinónimos de palabras similares en SQL SERVER

Buenas tardes. Hace un tiempo publique un post que hablaba sobre Sinónimos en SQL SERVER, sin embargo trataba de sinónimos en en objetos, es decir, ponerle algún pseudonimo a las tablas, procedimientos o funciones. Les dejo el link http://www.respuestasit.com.mx/2016/10/sinonimos-en-sql-server.html. Sin embargo en esta ocasión les dejaré una función para buscar sinónimos en palabras similares, ¿Qué pasa cuando le damos un Where, pero hay palabras muy similares?. Esas palabras no se van a incluir. Otro caso, queremos buscar las palabras "perro, can, perra, etc", tendríamos que hacer tres o mas búsquedas dentro del like, pues bien, yo les voy a decir como solucionar ese problema.

sábado, 21 de septiembre de 2019

Tamaño enorme de MSDB SQL SERVER

Muchas veces nos encontramos que una base de datos de sistema llamada msdb creció de manera exponencial y no sabemos porqué, es más, no sabemos para que sirve esa base de datos. Pues bien, aquí vamos a explicar que es esa base de datos, porque se llena tanto y que hacer para poder purgarla.

La base de datos msdb es una base de datos del sistema SQL SERVER, que se utiliza principalmente para la opciones del agente, en ella se guardan los correos electrónicos enviados, el historial de los jobs, los operadores, las alertas, etc, pero también se guarda información importante como historial de respaldos, por lo que el mantenimiento y respaldo de esta base de datos es muy importante.

sábado, 31 de agosto de 2019

Clonar base de Datos SQL SERVER

Buenos días queridos lectores, el día de hoy hablaremos sobre una característica muy importante, la clonación de una base de datos, disponible desde la versión 2014.

Imaginemos que queremos copiar la estructura de una base de datos, no así los datos, es decir, queremos tener una base de datos con la misma estructura, ademas todos los procedimientos almacenados, funciones, vistas, etc., pero sin los datos. El uso que le podemos dar puede ser distinto, podemos usarlo para hacer pruebas, para respaldo, etc. Pero basta de palabrería y pasemos a lo que realmente nos interesa, que es hacer.

lunes, 19 de agosto de 2019

Depurar índices en una base de Datos


Buenas tardes queridos lectores. Ya tenía mucho sin escribir, abrumado por tantas cosas que hacer, hoy vamos a hablar de un tema de DBA's, y será Depurar índices en las bases de Datos.

Como sabemos los índices en una tabla de base de datos nos permiten agilizar las consultas, pues no tendrá que buscar en todos los datos de la tabla, sino que buscara por el índice que se haya definido haciendo la consulta más rápida, sin embargo, un índice ocupa espacio en disco, de manera que si abusamos del recurso y añadimos muchos índices a una tabla, índices que ni siquiera necesitamos, vamos a general el efecto contrario, es decir, en lugar de optimizar las consultas, vamos a bajar el rendimiento de las mismas, además, claro de gastar espacio en disco. Así que el día de hoy veremos como depurar los índices para tener únicamente los que necesitamos. Vamos a empezar realizando la siguiente consulta:

miércoles, 8 de mayo de 2019

No se permiten objetos que expongan columnas con tipos CLR en consultas distribuidas. Utilice una consulta de paso para obtener acceso al objeto remoto


Buenos día, el día de hoy les explicaré un problema que me dio dolor de cabeza durante un buen rato, y tuvo que ver con un campo de tipo geography

Hace unos días tenía la labor de insertar los datos de una tabla en otra tabla que estaba en un servidor vínculado, esto generalmente resulta sencillo, pero desde el momento de realizar el SELECT, me causó problemas, el select era el siguiente:

sábado, 20 de abril de 2019

Respaldar Base de Datos SQL SERVER utilizando Powershell

Power Shell es un poderoso shell desarrollado por Microsoft que nos facilitará la automatización de tareas por medio de la programación de scripts, es la versión mejorada de lo que es la consola MS-DOS de Windows, y mediante esta herramienta podremos automatizar muchas de las tareas que hacemos de manera manual, en este caso vamos a respaldar por medio de PowerShell una base de datos de SQL Server.

lunes, 10 de diciembre de 2018

IDENTITY en SQL SERVER

SET IDENTITY_INSERT

 


Todos hemos escuchando acerca de las secuencias, que en SQL SERVER se llaman identidades, siempre irán en un campo de tipo int, y generalmente se utilizan para los id secuenciales de una tabla.

Las identidades están compuestas por el número inicial y posteriormente, el incremento que tendrá dicha secuencia, es cómodo el uso de identidades, ya que no tendremos que insertar el valor manualmente y se tendrá un control automático de los consecutivos de una tabla, pero veamos el ejemplo que es como aprendemos,

Consideremos la siguiente tabla:


CREATE TABLE PAISES
(
       ID INT PRIMARY KEY IDENTITY (1,1),
       CODIGOPAIS VARCHAR(4),
       NOMBRE VARCHAR(100),
       COMENTARIOS VARCHAR(MAX),
       CREADO DATE,
       MODIFICADO DATE
)
ON CATALOGOS
 

martes, 30 de octubre de 2018

Relaciones entre tablas

Buenas noches queridos lectores, en esta ocasión continuando con el tema de las tablas, hablaremos de las relaciones, ¿como es que las tablas de base de datos se relacionan?. Pues para eso existen las llaves primarias (PRIMARY KEY) y las llaves foráneas (FOREIGN KEY). En uno de los post pasado, habíamos creado la siguiente tabla:


CREATE TABLE PAISES
(
       ID INT PRIMARY KEY,
       CODIGOPAIS VARCHAR(4),
       NOMBRE VARCHAR(100),
       COMENTARIOS VARCHAR(MAX),
       CREADO DATE,
       MODIFICADO DATE
)
ON CATALOGOS

sábado, 20 de octubre de 2018

Tipos de Datos en SQL SERVER

Buenas noches queridos lectores, en esta ocasión hablaremos de los tipos de datos en SQL SERVER, ya vimos como crear una base de datos con archivos secundarios, también vimos como crear tablas indicando el archivo secundario en el que se guardaran esas tablas, también creamos una tabla sencilla, y allí utilizamos los tipos de datos, pero ahora se los voy a explicar.

Tipos de Datos

El tipo de datos específica de qué clase de información se trata (numérica, de texto, de fecha, decimal, etc) y cuánto espacio ocupa esa información en una columna en partícular.

Algunos tipos de datos tienen una longitud variable, mientras que otros tienen longitud fija. Los tipos de datos de Microsoft SQL Server pueden dividirse en los grupos siguientes:

  • Numeros exactos
  • Numeros aproximados
  • Fecha y hora
  • Texto (String)
  • Binarios
  • Especiales (creados por el usuario)

miércoles, 3 de octubre de 2018

Otorgar / Denegar permiso para uso de Agente SQL SERVER a usuario SQL SERVER

El uso del servicio Agente SQL SERVER, es el servicio que nos provee la base de datos para el manejo de JOBS, Operadores, Alertas, etc, es por esta situación que es un tema de seguridad delicado dejar abierto el uso de este servicio. Es de vital importancia, dentro de la seguridad de base de Datos, que el uso del Agente sea usado solo por los administradores de Base de Datos (DBA's) o por usuarios avanzados, para eso, haremos uso de la creación de usuarios y la asignación de Roles.

jueves, 20 de septiembre de 2018

Base de Datos SQL SERVER como usuario único o múltiple

Buenas noches queridos lectores, el día de hoy hablaremos sobre el Single user y multi user en las bases de Datos de SQL SERVER.

Las bases de datos vienen configuradas predeterminadamente para aceptar múltiples conexiones de múltiples usuarios, sin embargo, puede ser que un día necesitemos que la base de datos esté en usuario único, por ejemplo, cuando demos algún mantenimiento y se requiera que no esté nadie conectado a la base de Datos, o bien, si algún día nos pasan un respaldo a restaurar y oh sorpresa, ese respaldo viene en usuario único y necesitamos ponerlo en usuario múltiple.

martes, 18 de septiembre de 2018

CREATE TABLE EN SQL SERVER

Buenas noches queridos lectores, el día de hoy veremos como crear tablas con Transact SQL SERVER, en post pasados vimos como crear Bases de datos, con todo y File Groups, que servía para separar la base de datos en archivos. Pero antes de comenzar a codificar, veremos un poco de teoría.

Las tablas

Las tablas son objetos de dos dimensiones que consta de filas y columnas y se utiliza para almacenar datos en una base de datos relacional. Cada tabla almacena información sobre uno de los tipos de objetos que modela la base de datos relativa a eventos y sujetos.

lunes, 20 de agosto de 2018

ALTER DATABASE en SQL SERVER

Buenas noches queridos lectores, el día de hoy les mostraré como alterar una base de Datos, en post pasados vimos como agregar archivos secundarios y grupos de archivos, ¿que pasa si nos equivocamos al dar de alta la base de datos, le pusimos un nombre incorrecto, o simplemente queremos cambiar el nombre de la misma sin tener que borrar los datos y volverlos a insertar, o si queremos agregarle ahora un archivo secundario o cambiar el Collation?, pues bien, en este post veremos algo similar. Pero basta ya de charlas y pasemos a lo que nos gusta que es hacer.

lunes, 13 de agosto de 2018

Distribuir datos en diferentes archivos SQL SERVER Parte II

Buenas tardes queridos lectores, el post pasado hablamos sobre crear bases de datos con archivos secundarios, esto como habíamos dicho era para distribuir la información y evitar que nuestras bases de datos crecieran sin control, hoy vamos a pasar a un segundo nivel, no solo vamos a crear archivos secundarios, y además crearemos grupos de archivos para agrupar dichos archivos secundarios. Les dejo el post anterior para que no pierdan el hilo del tema

http://www.respuestasit.com.mx/2018/08/distribuir-datos-en-diferentes-archivos.html

martes, 7 de agosto de 2018

Distribuir datos en diferentes archivos SQL SERVER

Buenas noches queridos lectores, el día de hoy les mostraré como crear una base de Datos en SQL Server, ya había escrito un post hace años sobre eso, pero creo que es momento de actualizarlo, y explicar algunos conceptos avanzados, así como otros ejemplos.
Comencemos.

Crear base de Datos con Transact SQL Server

Para crear una base de Datos mediante Transact SQL Server utilizaremos la sentencia Create Database, se puede utilizar de una manera muy simple sin parámetros y funciona de manera correcta, pero eso solo pasará en bases de datos pequeñas, imaginen una base de datos de varios Gigas, quiza cientos de Gigas, ¿Qué pasará? pues el archivo crecerá sin control y provocará que el sistema esté cada vez más lento, es por eso que se recomienda crear archivos secundarios aparte del archivo principal.

lunes, 30 de julio de 2018

Crear CTE (Common Table Expressions) en SQL SERVER

Buenas tardes queridos lectores, el día de hoy les traigo un post sobre un tema un poco más avanzado, útil y muy interesante, se trata de los CTE, (Common Table Expressions), o lo que es lo mismo, expresiones comunes de tabla, pero, se preguntarán ¿Qué es esto?, ¿Para qué sirve?, pues bien, vamos a responder sus preguntas paso a paso.

Los CTE, funcionan para optimizar las consultas que hacemos, nos evitan la creación de subconsultas, que como ustedes saben, las consultas requieren un costo alto en el servidor, haciendo las consultas más lentas y también mas difíciles de leer, el CTE, llega para evitar que se hagan subconsultas, por lo cual, las consultas serán más rápidas y más fácil de leer y optimizar, veamos un ejemplo.

domingo, 29 de julio de 2018

Ejecutar comandos CMD desde SQL SERVER

Buenas tardes queridos lectores, el día de hoy les hablare sobre la manera de ejecutar comandos CMD, o de consola desde el Managment Studio de SQL SERVER, esto es muy práctico y útil si se desea ejecutar un archivo bat por ejemplo, este comando se llama xp_cmdshell. 

Este comando es interno de SQL SERVER y se utiliza insertando el comando y entre comillas simples la sentencia de consola que se va a ejecutar.


Si deseamos ejecutar el comando dir, para listar los archivos de una carpeta, ejecutaremos el siguiente comando:


xp_cmdshell 'dir'

viernes, 13 de julio de 2018

Mostrar el numero de línea en SQL SERVER Managment Studio

Buenas noches queridos lectores, en esta ocasión les diré un truco que puede ser útil, y esto es ponerle el numero de línea al SQL Server Managment Studio.

Para empezar vemos que el programa no muestra el numero de línea en la que se encuentra como vemos en la imagen


sábado, 30 de junio de 2018

Indexación para DBA en SQL SERVER - sp_BlitzIndex

La indexación es un tema muy importante para los DBA, ya que ella nos permite que nuestro rendimiento sea óptimo, una consulta a una tabla con millones de registros si no tiene índices, podrá demandar mucho recurso y alentar todo el sistema, por fortuna, existen algunos SP (Stored Procedures) que nos ayudarán a verificar si los índices existentes son óptimos, si es que le faltan algunos, o quizá haya sugerencia de otros mejores, este script, nos sugerirá indices si encuentra alguno mejor, y nos dará estadísticas de los índices actuales.

Para empezar les dejaré en este link los scripts con los SP para que los descarguen y los ejecuten en la base de datos master.

Vamos a hablar el día de hoy del sp llamado sp_BlitzIndex, para poderlo activar vamos a abrir el archivo blitz.sql y ejecutaremos todo el script, después ejecutaremos el script que se encuentra en el archivo BitzIndex.sql, una vez ejecutado, ya tenemos la función disponible y procederemos a probarla.

jueves, 31 de mayo de 2018

Normalización de Datos

Buenas tardes, el día de hoy les enseñaré la importancia de la normalización de datos, es común, sobre todo cuando somos novatos en el diseño de Bases de Datos, que cometamos el error de redundar datos, es decir, repetir datos en diferentes tablas sin necesidad, o que al momento que deseamos añadir algún dato nuevo tengamos que rehacer las tablas, pues bien, si seguimos algunas reglas básicas no tendremos necesidad de eso, y podremos diseñar bases de datos fácilmente escalables.

Pero comenzaremos por definir la gran pregunta

¿Qué es normalización de Datos?



La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes.

viernes, 2 de marzo de 2018

Instalar MariaDB en CentOS 7

Buenas noches queridos lectores, el día de hoy les mostraré como instalar MariaDB en Linux CentOS 7, hace unos días publiqué como instalarol MySQL en Ubuntu, pero ahora lo haré desde CentOS, aunque en esta ocasión será MariaDBtomo esto como apunté, pero espero les sirva también a ustedes, pero pasemos a lo divertido que es hacerlo:

1. Lo primero que tenemos que hacer el actualizar todos los paquetes, y para eso utilizaremos el comando yum check-updates, cuando demos ENTER, el sistema actualizará todas los paquetes.

jueves, 1 de marzo de 2018

Activar la tarjeta de RED en Linux CentOS 7

Buenas tardes queridos lectores, el día de hoy veremos como activar la tardeta de RED en el sistema operativo Linux distribución CentOS 7. CentOS7 es una distro para servidores. Resulta que instale mi máquina virtual con CentOS, con el Virtual Box, sin embargo, no me reconocía la tarjeta de red, con ninguna de las opciones del Virtual Box, la solución está en la RED, pero tuve que buscar un rato, yo se las vengo a traer de una manera más fácil, al menos eso espero. Pues bien pasemos a lo que nos interesa.

domingo, 25 de febrero de 2018

Instalar servidor Apache en Linux

Buenas tardes queridos lectores, el día de hoy veremos como instalar el servidor Web Apache en Linux Ubuntu Server 17.10, para que podamos ver una página WEB, necesitamos un servidor WEB, sobre todo si la página es dinpamica, es decir, que tenga una base de datos, básicamente necesitamos tres cosas, el servidor WEB, el servidor de Base de Datos (que en páginas WEB, MySQL es el más usado) y un lenguaje de programación, que sería, como por ejemplo PHP, hoy veremos como instalar el servidor WEB, veamos primero un poco de teoría y luego pasaremos a lo que nos gusta, que es la práctica.

sábado, 24 de febrero de 2018

Instalar y configurar Samba en Linux

Buenas tardes queridos lectores, el día de hoy vamos a descargar, instalar y configurar al menos de manera básica nuestro de archivos llamado Samba. Samba sirve para compartir archivos, como si compartiéramos una carpeta en Windows, desde Samba se podrá compartir hacia el mismo Linux o incluso verla en Windows, pero dejémonos de tantos escritos y pasemos a descargar, instalar y configurar el Samba.

1. Lo primero que haremos será actualizar los paquetes, en caso de que no estén actualizados, lo haremos con el comando apt-get update



jueves, 22 de febrero de 2018

Comandos básicos de Linux

Buenas noches queridos lectores, el día de hoy veremos algunos comandos básicos de Linux, esto por medio de la consola. Cualquier distribución de Linux que tengan tiene un core de Unix, que es sobre el que esta basado el núcleo de Linux, y de ahí parten todas sus distribuciones, el entorno gráfico cambiará dependiedo la distro, pero lo que no va a cambiar va a ser su consola, casi todas las distros tienen los mismos comando, utilizaré para el ejemplo Ubuntu Server 17.10, esta distro por ser orientada a servidores no tiene interface gráfica, únicamente tiene la consola, pues bien, veamos algunos comandos básicos para principiantes.

miércoles, 21 de febrero de 2018

Instalar MySQL en Ubuntu Server

Buenas tardes queridos lectores, el día de hoy les traigo un artículo muy básico, que la mayoría ya sabe hacer hasta con los ojos cerrados, y es instalar MySQL en Ubuntu Server, aplica ya sea con Desktop o con Server, pero yo lo haré con Server. Hago este post a manera de apunte, porque después se me olvida y tengo que volver a buscar en la red. Espero que les sirva a ustedes también.

Para comenzar con la instalación debemos asegurarnos que tenemos todos los paquetes actualizados, y y lo realizaremos mediante el comando sudo apt-get update, tal como se muestra en la siguiente imagen:


lunes, 19 de febrero de 2018

Ifconfig de Ubuntu ha sido descontinuado

Buenas noches queridos lectores, el día de hoy decidí echar un vistazo de nueva cuenta al sistema operativo Linux, en su distribución Ubuntu, no lo usaba desde la versión 15.03, es más, ni siquiera recuerdo como se llamaba, pues instalé una máquina virtual y le instale la última versión de Ubuntu Desktop, la 17.10, intenté verificar cuál era mi ip y mi sorpresa fue que el comando ifconfig, ya no existe, pues aquí les voy a decir que hacer, qué alternativa hay y como descargarlo. Hay mucho contenido en la red, pero quise publicar esto, también como apunte personal. Pues bien, pasemos a lo que nos interesa.

Anteriormente, si queriamos saber nuestra ip configurada en Linux Ubuntu, y básicamente en el kernel de Debian bastaba con teclear la el comando ifconfig, de la siguiente manera:

Como ven, este comando quedó en desuso, ahora tendremos que teclear el comando ip address, y será de la siguiente manera:

domingo, 19 de noviembre de 2017

Historia de los Datos: Orígenes de los Datos


Orígenes de los Datos

Los pueblos han mostrado interés en los Datos por lo menos durante los últimos 12 mil años. Si bien, hoy es frecuente asociar el concepto de datos con la computadora, históricamente ha habido muchos métodos más primitivos para el almacenamiento y manejo de los datos.

viernes, 8 de septiembre de 2017

EVENTOS en MySQL (MariaDB)

Buenas tardes gente, el día de hoy les traigo una información acerca de Eventos en MySQL, para dejar una tarea repitiéndose iterativamente, puede ser, por ejemplo, realizar un respaldo. Esta funcionalidad esta disponible a partir de la versión 5.1 de MySQL y en MariaDB, esta disponible en cualquier versión, pues bien, vamos a empezar.

Lo primero que tenemos que hacer es activar la variable event_sheduler, y lo podemos hacer desde el archivo de configuración o también desde nuestra consulta, mediante el comando:

SET GLOBAL event_scheduler=ON;

Una vez activada esta variable, vamos a corroborar que se esté ejecutando correctamente y para eso vamos a introducir la siguiente consulta:

SHOW PROCESSLIST;

lunes, 14 de agosto de 2017

Genera respaldos automáticos en SQL SERVER EXPRESS

Buenas noches queridos lectores, el dia de ho veremos como generar respaldos automáticos en SQL SERVER, anteriormente habíamos visto ya un artículo similar, utilizando el Agente SQL, sin embargo esa utilidad esta disponible solo en versiones de pago, en el SQL EXPRESS no se puede iniciar el agente y por lo tanto, no podemos generar las tareas, pero siempre podemos recurrir al maravilloso cmd para generar script, y lo haremos usando a heramienta sqlcmd, pero basta ya de charlas, vamos a la práctica que es lo que nos interesa.

jueves, 27 de julio de 2017

Instalar máquina virtual con MS-DOS y Windows 3.11

Buenas tardes queridos lectores, hace ya algún tiempo que no publicaba nada, pero el día de hoy les traigo un post curioso, vamos a instalar en una máquina virtual el viejo MS-DOS 6.22 y Windows 3.11, claro que los más jóvenes no tendrán idea de lo que hablo, pero la gente de más de 30, le traerá algo de nostalgia, pues bien comencemos...

Herramientas que necesitamos

domingo, 9 de julio de 2017

¿Qué es la informática?

A lo largo de este tiempo he dedicado el blog a cosas mas avanzadas, como programación, o bases de datos, descuidando el titulo de este blog que es "Respuestas en Informática" que fue pensado para todos los niveles, es así que empezaré a escribir cosas tan básicas como ¿Qué es la Informática? para que este blog llegue a más personas

¿Qué es la informática?

Vamos a empezar por esta pregunta básica, todos hablamos de informática, pero ¿realmente sabemos de que estamos hablando?, pues aquí algunas definiciones:

  • Wikipedia: Conjunto de conocimientos técnicos que se ocupan del tratamiento automático de la información por medio de computadoras
  • Definicion.de: la informática se refiere al procesamiento automático de información mediante dispositivos electrónicos y sistemas computacionales
Como ven, la informática se refiere al uso y tratamiento de la información utilizando una computadora.

martes, 27 de junio de 2017

Migrar base de Datos de SQL Server a MySQL Server

Buenos días queridos lectores, ya había escrito antes un post sobre la migración de una base de Datos MySQL a SQL Server, el día de hoy veremos el proceso contrario, migraremos una base de Datos de SQL Server a MySQL, vamos a comenzar.

Para eso tenemos en SQL Server una base de Datos llamada Migración con dos Tablas, una llamada Persona y otra llamada Animal, como se muestra en la siguiente imagen:

jueves, 1 de junio de 2017

Libro de SQL Server

Buenas tardes, les traigo un compendio de todos los post que publiqué en relación a SQL Server, los junte y sorpresa, son mas de 200 páginas, si a alguien le sirve se lo comparto. Espero les sea de utilidad y agrado, espero compartan, den +1, comenten o den clic a algun anuncio. Muchas gracias

Libro Transact SQL Server

lunes, 15 de mayo de 2017

Ingresar una variable dinámica en JavaScript

En post anteriores hemos aprendido a declarar e inicializar variables y a cambiarles el contenido desde el código. Sin embargo, esto no siempre es así. Si consideramos que un programa debe tener un menor o mayor grado de interactividad con el usuario, es lógico que estos deberían introducir datos dentro de dicho programa mediante su ejecución. Estos datos se almacenan en variables. Evidentemente los usuarios deberán utilizar el teclado para proporcionarle al programa los datos que necesite durante su ejecución. Para ello existen dos modos de hacerlo:

domingo, 14 de mayo de 2017

typeof() y parse(). Determinar y cambiar el tipo de Datos de una variable JavaScript

Ya vimos en post pasados como manejar los dos tipos principales de variables, que es el tipo numérico y el de tipo cadena de texto, pero en ocasiones es interesante determinar que tipo de datos contiene una variable, pues el comportamiento es distinto, no es lo mismo una cadena de texto que contiene un 1 que un dato numérico con el número 1. Pero veamos ejemplos prácticos para poderlo entender mejor.

Consideremos el siguiente ejemplo

viernes, 12 de mayo de 2017

Variables en JavaScript Parte II - Los tipos de Variable

En JavaScript, como en cualquier lenguaje de programación, se pueden manejar datos de diferentes tipos, que dependerán del valor que tengan. Por ejemplo, si declaramos una variable para que contenga el nombre de un usuario, este será un dato de los que llamamos de cadena o literales, ya que el nombre de una persona esta formado por letras. Si declaramos otra variable, para que contenga su edad, éste será un dato de tipo numérico, ya que lo que contiene es una cifra con la cual podremos hacer cálculos. Si creamos una variable para que contenga, por ejemplo, la fecha de nacimiento del usuario nos encontramos ante un caso distinto, pues las fechas, en JavaScript, son un tipo especial de datos, que se manejan de manera diferente a los literales y a los números.

miércoles, 8 de febrero de 2017

Recuperar Base de Datos MySQL (MariaDB) con Archivos FRM e IBD

Buenas tardes queridos lectores, el día de hoy veremos como recuperar una base de Datos con los archivos FRM e IBD, es decir, sin haber hecho un respaldo previo, esto me pasó porque tronó mi disco duro y al cambiarlo tenía solo los archivos antes mencionados, después de leer en varias parte de la WEB, encontré la solución, que les voy a detallar para que no tengan que buscar en tantas partes como yo, pues bien, empecemos.

viernes, 3 de febrero de 2017

Dispositivos de copia de Seguridad en SQL SERVER

Buenos días queridos lectores, el día de hoy les hablaré de algo poco común, pero útil y es de los dispositivos de copia de seguridad en SQL SERVER, supongo que se han fijado en el Managment Studio que hay una carpeta llamada así, pues el día de hoy veremos como realizarlo, ¿Qué es? y ¿Para que se usa?

Cuando hacemos un respaldo de SQL Server, viene una ruta predefinida, si queremos cambiar la ruta tendremos que buscar la ruta de manera manual, puues para esto sirve crear el dispositivo de copia de seguridad, para dejar guardada esa ruta y no tener que buscarla siempre, veremos dos formas de crearlo, de manera gráfica desde el Managment Studio y la otra desde Transact-SQL. Empecemos por la primera que es de manera gráfica.

miércoles, 25 de enero de 2017

Migrar Base de Datos de MySQL a SQL Server

Buenas tardes queridos lectores, el día de hoy aprenderemos a migrar una base de datos MySQL a SQL Server, para poder realizar esto de una manera sencilla y natural utilizaremos la herramienta que tiene SQL Server llamada Microsoft SQL Server Migration Assistant v5.3 for MySQL, que podremos descargar desde aquí. Pero pongamos manos a la obra y vamos haciendolo que es lo que nos gusta, primeramente vamos a descargar el programa, eso no tiene nada complejo, así que partiremos de que ya lo instalaron.

viernes, 20 de enero de 2017

Crear valores predeterminados en SQL SERVER

Buenas tardes queridos lectores, el día de hoy hablaremos sobre los valores predeterminados en SQL SERVER.

Los valores predeterminados en SQL Server, nos permitirán crear un valor predeterminado en la columna de una tabla, en el caso que no se le ingrese valor, se puede crear con la sentencia DEFAULT, vista en este mismo curso algun tiempo atrás, sin embargo, a partir de la versión 2008 se pueden crear los valores independientemente a la tabla y asignarselos a la tabla y al campo mediante TRANSACT-SQL, así que pasemos a realizarlo que es lo que nos gusta

martes, 10 de enero de 2017

Reglas en SQL SERVER

Para crear una regla en SQL Server utilizaremos el comando CREATE RULE.

Buenos días queridos lectores el día de hoy les hablare sobre la reglas en SQL SERVER, vamos a ver un poco de teoría y luego pasaremos a lo que nos gusta que es hacerlo

lunes, 9 de enero de 2017

Crear tipo de Datos Personalizados en SQL SERVER

En este artículo trataremos acerca de como crear un tipo de datos personalizado mediante el comando CREATE TYPE.

Hace mucho que no escribo nada queridos lectores, pero hoy les traigo un nuevo post sobre la creación de tipos de datos personalizados, para crear nuestra tabla de base de datos de una manera más fácil, pero vamos a hacerlo que es lo que nos gusta y como aprendemos.

Para esto, existen dos formas de realizarlo, la primera, mediante TRANSCT-SQL y la segunda mediante el Managment Studio, veamos la primera:

lunes, 26 de diciembre de 2016

Formato a Fechas en CakePHP

Buenas noches queridos lectores, se que tengo tiempo sin publicar nada, pero he andado un poco ocupado, además estoy aprendiendo a programar en CakePHP versión 3, y en eso también me ha quitado mucho tiempo, esto es más un apunte para mí, pero si le sirve a alguien pues que genial.

Formatos de fecha en cakephp

Esto me trajo vuelto loco y pongo aquí la solución por si alguien le batalla como batalle yo

En el archivo bootstrap.php cololar lo siguiente:
Cake\I18n\FrozenDate::setToStringFormat('dd-MM-yyyy');

Con eso queda resuelto, espero haya sido de su utilidad

viernes, 21 de octubre de 2016

Sinónimos en SQL Server

En este post veremos como crear sinónimos en SQL, los sinónimos en SQL, hacen referencia a objetos (tablas, vistas, procedimientos almacenados) de manera más entendible de manera que faciliten su uso en nuestras consultas, pero vamos a hacer lo que nos gusta y como aprendemos que es haciendolo, para crear los sínonimos realizaremos lo siguiente:



CREATE SYNONYM CU FOR dbo.CUentas
GO

Como ven la palabra SYNONYM nos creará un sinónimo o un alias en la base de datos, en este caso la tabla llamada Cuentas ahora se podrá también llamar como CU, veamos un ejemplo:

lunes, 10 de octubre de 2016

Respaldar Base de Datos SQL automaticamente

El objetivo de este post es crear respaldos automáticos de una base de datos MSSQL, lo haremos mediante Jobs, en post venideros les diré como hacerlo mediante un script

Para empezar necesitamos el servicio de Agente SQL, ese servicio viene deshabilitado predeterminadamente, por lo cual, tendremos que iniciarlo, es importante mencionar que ese servicio no esta disponible en las versiones Express en ocasiones, pero vamos a realizarlo como les comentaba con las tareas que vienen en el agente SQL, vamos a realizarlo, ya que asi es como se aprende y lo que nos gusta.

sábado, 3 de septiembre de 2016

Variables en JavaScript Parte I - Introducción

Introducción

Una variables es una zona de memoria reservada por la computadora donde se guarda un dato y se identifica con un nombre. El dato que se almacena bajo ese nombre puede cambiar durante la ejecución del código: por eso se llaman variables.

viernes, 2 de septiembre de 2016

JavaScript - Introducción

De este libro transcribiré los ejercicios
Buenos días queridos lectores, el día de hoy empezaré a transcribir un libro de JavaScript, ya que es sumamente importante aprender este lenguaje, el dominio de este lenguaje es básico a la hora del desarrollo WEB, y es primordial para entender sus frameworks como JQUERY o AngularJS, veremos en esta transcripción que haré el lenguaje puto de JavaScript, espero que les agrade. Del lado izquierdo pueden ver la portada del libro del cual transcribiré los ejercicios, cualquier duda o comentario no duden en escribir, ya saben que pueden utilizar cualquier editor de texto para los ejercicios, yo actualmente utilizo Sublime Text, pero se puede usar incluso el bloc de notas.

Nuestro primer script

Pues bien, empezaremos a hacer lo que nos gusta que es hacerlo y es como también aprendemos, crearemos una página llamada saludo.html cuya estructura quedaría de la siguiente manera:

<!DOCTYPE html>
<html lang="es-MX">
<head>
<meta charset="UTF-8">
<title>Primer Script</title>
<script language="javascript">
alert ("Hola desde javascript")
</script>
</head>
<body>
Esto es el cuerpo de la página
</body>
</html>

Al ejecutar la página en el navegador vemos el siguiente resultado:


Este es el resultado al ejecutarlo con Firefox, si se ejecuta con otro navegador, el estilo del cudro cambiará, pero será solo eso, el estilo, despues de dar clic en el botón Aceptar continua la carga normal de la página como se aprecia en la siguiente imagen:


Como pueden observar en la dirección del navegador, estoy utilizando un Servidor WEB, pero para estos ejemplos no es necesario, se puede ejecutar localmente, pero vamos a explicar el script.

Nuestro primer script incluye solamente una línea, pero antes de esa línea, tenemos que indicarle al html que utilizaremos el lenguaje JavaScript

<script language="javascript">

Como sabemos, con esa etiqueta mandamos llamar al lenguaje JavaScript, depués tenemos la siguiente línea:

alert ("Hola desde javascript")

Lo que realiza esta instrucción es mostrar una alerta al iniciar la página, alert realmente es una funcíon, que recibe un parámetro que es un texto a mostrar, por lo tanto debe ir entre comillas (""), ¿que pasaría si pusieramos alert sin comillas? pues vamos a hacer la prueba

alert (Hola desde javascript)

Al ejecutar la página no muestra el mensaje, ya que al ser un error, el navegador lo ignora.

JavaScript es sensible a mayúsculas y minúsculas, por lo que tendremos que teclear la instrucción o en este caso la función tal cual el nombre que es. ¿Que pasa si ponemos Alert() y no alert(), vamos a realizar la prueba, a ver que sucede

Alert("Hola desde JavaScript")

Al ejecutarlo, tampoco muestra el recuadro con la alerta, debido a que como les mencioné en el párrafo anterior, tiene que escribirse tal cual es el nombre de la instrucción o la instrucción

Comentarios en JavaScript

Para poner un comentario se utiliza el formato de C++ que es un una doble diagonal (//), esto es para una sola línea, y también para dos líneas

//Esto es un comentario de una línea
/*Este es un comentario
de varias
líneas */

Hasta aquí nuestro primer código en JavaScript, es la introducción a este gran lenguaje, espero les haya gustado y haya sido de su agrado, espero comenten, compartan, den +1 o un clic a algún anuncio que les interese


miércoles, 24 de agosto de 2016

Procedimientos Almacenados MySQL (MariaDB) Parte III - Ejemplos

Les traigo algunos ejemplos de procedimientos almacenados, para que los analicen y los comprendan, cualquier cosa, saben que pueden escribir y preguntar. Saludos

Ejercicio 1
Crear un procedimiento que me permita mostrar la tabla general de un torneo, el criterio para la tabla general es en primer lugar el número de puntos, en segundo lugar, la diferencia de goles y en tercer lugar los goles a favor.

miércoles, 17 de agosto de 2016

Procedimientos Almacenados en MySQL (MariaDB) Parte II

Procedimientos Almacenados en MySQL (MariaDB) Parte II


Seguimos con el tema de los procedimientos almacenados en MySQL, pero ahora veremos el uso de variables dentro de los mismos stored procedures, pero primero veamos algunos conceptos básicos:

Variable: Una variable en informática es un espacio reservado en memoria, para almacenar un valor, que puede cambiar con el tiempo, tiene un nombre simbólico y un tipo de dato que almacena.

domingo, 14 de agosto de 2016

Vincular MySQL con SQL Server

Linkear (Conectar) Servidor de MySQL con SQL Server

Hace un tiempo, alguien me preguntaba si se podía conectar MySQL Server con SQL Server, le respondí que sí, pero aquí les dejo la guía.

Lo primero que tenemos que hacer es descargar al controlador de MySQL, es importante descargar en controlador para la arquitectura de nuestro procesador (X86|X64), en mi caso, es X64, y lo descargaremos de este link https://dev.mysql.com/downloads/connector/odbc/, descargamos como dijimos el driver para X64, en mi caso

miércoles, 10 de agosto de 2016

MariaDB - Procedimientos almacenados Parte I

Crear procedimientos Almacenados en MySQL (MariaDB)


Un procedimiento es un conjunto de instrucciones que se almacenan en el servidor, para usarlas posteriormente, ya que se usarán frecuentemente y contienen acciones programadas, el uso de los procedimiento simplificará el uso de esas instrucciones, ya que no tendremos que volver a teclear todas las instrucciones, sino solamente invocaremos al procedimiento, la instrucción PROCEDURE, hace referencia al procedimiento almacenado, un procedimiento almacenado (SP) (Stored Procedure) acepta parámetros de entrada, para darle más dinamismo, pero para entenderlo mejor, como siempre nos pondremos manos a la obra y haremos lo que nos gusta, que es hacerlo.

jueves, 28 de julio de 2016

Uso de DISTINCT en MYSQL (MariaDB)

Introducción

La clausula DISTINCT se utiliza en MySQL para seleccionar los registros únicos, o simplemente quitar duplicados en una consulta, solo mostrará los valores una sola vez, y no todas las veces que se muestren.

Buenas tardes queridos lectores, como bien dice la introducción, el día de hoy hablaremos sobre la clausula DISTINCT, esta clausula siempre se utilizará con el SELECT, y como les decía nos mostrará los valores únicos, omitiendo duplicados, pero basta ya de teoría, vamos a ir directamente a hacerlo, que es lo que nos gusta y lo que nos hace aprender, para eso consideremos el siguiente ejemplo;

Ejercicio 1

Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula DISTINCT

Primeramente consideremos ver las fechas de los partidos que hubo en ese torneo, esto lo haremos mediante la siguiente consulta

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar esta consulta obtenemos el siguiente resultado:


Como ven, en este ejemplo, aparecen muchas fechas que se repiten, ¿pero porque?, porque estamos trayendo todos los registros de la tabla partidos, sin filtrar ningún dato, por lo cual, nos está mostrando las fechas de los partidos jugados, lo que queremos nosotros es que no se repitan las fechas, de manera que solo muestre una sola vez por ejemplo 2016-01-09, para esto tenemos dos opciones:

La primera es utilizando la clausula GROUP BY, y la otra es mediante la clausula DISTINCT. En este ejemplo veremos la clausula DISTINCT










SELECT DISTINCT(FECHA)
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar la consulta, obtenemos el siguiente resultado:

 
Como ven, la palabra DISTINCT dentro del SELECT nos obliga a mostrar únicamente los valores que no se repiten o que son distintos y entre paréntesis el campo que queremos mostrar sin duplicados, en este caso la fecha, como pueden observar, únicamente aparece una fecha única, y no una fecha por partido,














Ejercicio 2
Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula GROUP BY

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')
GROUP BY FECHA

Como pueden ver, esta consulta es idéntica a la anterior, ya habíamos visto con anterioridad en otros post el uso de la clausula ORDER BY, si no lo recuerdan les dejo el enlace


Hasta aquí el post queridos amigos, espero haya sido de su agrado y de su interés; espero compartan, comenten o den +1 en algún anuncio publicitario. Saludos













Auditoria en SQL SERVER

 Buenas tardes queridos lectores, el día de hoy les traigo la manera de realizar una auditoria en SQL SERVER, imaginemos que hay datos que s...