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
 

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

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)

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.

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.

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.

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.

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

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.

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.

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'

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


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.

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.

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.

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.

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.

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



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.

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:


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:

Featured Post

Como saber la versión de SQL que tengo

 Buenas tardes queridos lectores, el día de hoy les traigo un post muy básico, pero útil en determinadas circunstancias, cuando queremos sab...