Sei sulla pagina 1di 16

2.

Como Crear una Base de Datos en Sql


Server
Creación de una BASE DE DATOS en SQL SERVER
En este artículo conoceremos de manera superficial la teoría sobre la creación de base
de Datos en SQL SERVER, así mismo realizaremos una práctica sobre cómo crear una
base de datos mediante SQL Server Management Studio y Transact-SQL.

Lógicamente es necesario que tengamos instalado el servidor de base de datos o dicho


de otra manera: Microsoft SQL Server en cualquier versión, usualmente al instalar SQL
SERVER ya viene incluida la herramienta Management Studio que te permite
conectarte y manejar tu servidor SQL desde una interfaz gráfica en lugar de tener que
usar la línea de comandos.

Concepto de base de datos

Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y


almacenados sistemáticamente para su posterior uso, en otros términos una base de
datos es un “ALMACEN” que nos permite guardar grandes cantidades de información
de forma organizada para que luego podamos encontrarla y utilizarla fácilmente.

Creación de bases de datos usando T-SQL


El T-SQL es el lenguaje de manipulación de los datos en el SQL Server, cada SGBD
tiene un lenguaje propio, así, pues si utilizamos ORACLE el lenguaje de manipulación
será el PL-SQL. Sin embargo hay un leguaje estándar llamado SQL y ese aunque con
limitantes en el sentido que no provee muchas funciones que los propios de las SGBD
tienen, funciona en cualquier SGBD.

T-SQL o PL-SQL es el nombre dado a la modificación del lenguaje SQL por Microsoft
y Oracle respectivamente, la esencia del lenguaje se mantiene, es por ello que existen
muchas similitudes entre ambos. Ahora nos centraremos en el T-SQL.

Aprenderemos la forma de hacerlo mediante las Querys o consultas:

 Lo Primero que hacemos es dar click al botón New Query (o Nueva Consulta) y
abrimos una nueva consulta.
 Debemos crear una base de datos y luego ponerla en uso entonces escribimos lo
siguiente y lo ejecutamos:
Para ejecutar una sentencia, la seleccionamos con el mouse (toda la sentencia o una a
una) y presionamos el botón que dice “ejecutar o run”

–crea la base de datos

CREATE DATABASE TURISMO

–coloca la BD TURISMO en memoria para poder hacer modificaciones

USE TURISMO
Creación de bases de datos usando SQL Server
Management Studio
Paso a seguir:

1. En el Explorador de objetos, conéctese a una instancia del Motor de base de


datos de SQL Server y expándala.
2. Hacer clic con el botón derecho en Bases de datos y luego haga clic en Nueva
base de datos o new database.

3. En Nueva base de datos, especifique un nombre para la base de datos.


4. Si desea crear la base de datos aceptando todos los valores predeterminados, haga clic
en Aceptar; de lo contrario, continúe con siguientes los pasos opcionales.

Básicamente esos son los pasos para crear la base de datos de forma gráfica, finalmente
para reforzar lo expuesto en este artículo les comparto el video tutorial práctico en el
cual realizo el proceso de creación de base de datos mediante SQL Server Management
Studio y Transact-SQL.

3. Como Crear Tablas en Sql Server

En este artículo aprenderemos a crear tablas en una Base de Datos de Sql Server a
través de código y con el diseñador de management studio, es oportuno aclarar que la
práctica puede ser implementada en Sql Server 2008, 2012, 2014 o 2017 ya que la
sintaxis es la misma en las diversas ediciones. Es importante mencionar que en los
tutoriales de Sql Server que he subido a mi canal de Youtube ya he explicado como
crear una Base de Datos en Sql Server.

Creación de Tablas en Sql Server


Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada
columna es un campo (o atributo) y cada fila, un registro. Una base de datos almacena
su información en tablas.

Las tablas se componen de dos estructuras:

• Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un


tipo de dato asociado.
• Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y
los registros. Eventualmente pueden ser nulos en su almacenamiento.

Cada registro contiene un dato por cada columna de la tabla.

Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la
información que almacenará.

Cada campo (columna) también debe definir el tipo de dato que almacenará.

Sintaxis para crear tablas en Sql Server


La sentencia CREATE TABLE se utiliza para crear una tabla en una base de datos
existente.
CREATE TABLE nombretabla
(
nombrecolumna1 tipodato1,
nombrecolumna2 tipodato2,
nombrecolumna3 tipodato3,
..
);

CREATE TABLE: este comando se utiliza para indicar que una tabla se va a crear
seguido del nombre de la tabla.

Los paréntesis () indican que dentro de ellas se agregaran las columnas de la tabla, las
columnas van con la siguiente estructura:

Resumen de propiedades de las columnas de tablas

Permitir valores NULL: Por defecto si no se epecifica NOT NULL, la columna podrá
soportar nulos.
Primary Key: Indica si la columna será la llave primaria de la tabla.
Unique: Indica que la columna permitirá valores únicos, no se puede repetir un mismo
valor en varias filas (row).
Default: Se indica el valor default que tendrá la columna cuando en la inserción no este
contemplado este campo.
Identity: La columna será auto incrementable por defecto inicia en 1.
Description: Una breve descripción a la columna.

Código para crear Tablas en Sql Server


CREATE TABLE Alumnos (
Id INT PRIMARY KEY IDENTITY (1,1) NOT NULL,
Nombre VARCHAR (40) NOT NULL,
Apellido VARCHAR (40) NOT NULL,
Domicilio TEXT,
Fecha_Nacimiento DATETIME
);

El script anterior nos permite crear una tabla llamada “Alumnos” con cinco columnas:
la primera será de tipo int, auto incrementable y será la llave primaria de la tabla, por
tanto, no acepta valores nulos; las demás columnas dos aceptan valores nulos y dos no
aceptan valores nulos.

Crear tabla en Sql Server con Management studio


Además de crear tablas a través de código, también las podemos crear con el diseñador
de management studio:
Creación de tabla con Management Studio

5. Crear Llaves Primarias y Foraneas en


SQL SERVER
En este artículo les presentó una práctica importante al momento de crear Base de
Datos y tablas en el gestor Sql Server, me refiero a crear llaves primarias (en ingles
Primary key) y llaves foráneas (Foreign key) en tablas de la Base de Datos.

Antes de todo es importante conocer los conceptos básicos de ambos conceptos:

La cláusula PRIMARY KEY (Llave primaria) se utiliza para definir la clave principal
de la tabla. Las columnas que forman la clave principal no pueden contener valores
nulos ni pueden haber valores duplicados de la combinación de columnas.

La cláusula FOREIGN KEY (Llave foránea) sirve para definir una clave foránea sobre
una columna o una combinación de columnas. Una clave foránea es una columna o
conjunto de columnas que contiene un valor que hace referencia a una fila de otra tabla.

Crear tabla con primary key y foreign key en


Management Studio
Vamos a crear cuatro tablas en Sql Server para hacer las relaciones respectivas y
agregar las claves primarias y foráneas en la Base de Datos. Las tablas a crear
son: Alumnos, Asignatura, profesor e Inscripción. Las primeras tres tablas tendrán
únicamente las claves primarias y la tabla inscripción tendrá las claves foráneas que
estarán relacionadas con las llaves primarias (campos Id) de las tablas Alumnos,
Asignatura y Profesor.

Diagrama con claves primarias y claves


foráneas en Sql Server
A continuación les presento la estructura y relación de las tablas antes mencionadas:
Agregar claves primarias y foraneas a tablas
En el siguiente código creamos la base de datos “Escuela” y cuatro tablas en Sql Server
para hacer las relaciones respectivas y agregar las claves foráneas en la Base de Datos.
Las tablas a crear son: Alumnos, Asignatura, profesor e Inscripción. Las primeras
tres tablas tendrán únicamente las claves primarias y la tabla inscripción tendrá las
claves foráneas que estarán relacionadas con las llaves primarias (campos Id) de las
tablas Alumnos, Asignatura y Profesor.
Código SQL para crear primary key y foreign key en Management Studio:

CREATE DATABASE Escuela

go

use Escuela
go

/* Creando tabla Alumno, asignatura y profesor */

Create table Alumnos(


Id char(8) primary key,
Nombre varchar(20) not null,
Apellido varchar(20) not null,
Direccion varchar(50),
Fecha_nacimiento char(8)
);

Create table Asignatura(


Id char(8) primary key,
Nombre varchar(20) not null
);

Create table Profesor(


Id char(8) primary key,
Nombre varchar(20) not null,
Apellido varchar(20) not null,
Direccion varchar(50),
Fecha_nacimiento char(8),
Nivel_Academico varchar (20)
);

/* Creando tabla Inscripción con campos para llaves foraneas */

Create table Inscripcion(


Id char(8) primary key,
IdAsignatura char(8) not null,
IdAlumno char(8) not null,
IdProfesor char(8) not null,
Fecha char(8),
CONSTRAINT fk_Asignatura FOREIGN KEY (IdAsignatura) REFERENCES
Asignatura (Id),
CONSTRAINT fk_Alumno FOREIGN KEY (IdAlumno) REFERENCES Alumnos
(Id),
CONSTRAINT fk_Profesor FOREIGN KEY (IdProfesor) REFERENCES Profesor (Id)
);
Agregar llave primaria y foránea a tablas ya creadas
Supongamos que es necesario modificar tablas existentes y agregar llaves primarias o
foráneas. Con el siguiente código modificamos la tabla profesor para agregar su clave
primaria:

ALTER TABLE Profesor ADD CONSTRAINT pk_Profesor_Id PRIMARY KEY (Id)

Agregar llave foránea a Tabla ya creada en Sql Server

Supongamos que la tabla Profesor no ha sido relacionada con la tabla Inscripción,


entonces en caso de no existir dicha clave foránea, la podemos agregar con el siguiente
código Sql:

ALTER TABLE Inscripcion

ADD FOREIGN KEY (IdProfesor) REFERENCES Profesor(Id);

Consideraciones:

1- Las columnas señaladas como llave foránea (IdAsignatura, IdAlumno, IdProfesor),


solo podrán tener valores que ya existan en la clave primaria PRIMARY KEY de la
tabla principal, es decir un IdAlumno ya debería estar creado en la tabla Alumnos.

2- No pueda eliminarse un registro de una tabla ni modificar la clave primaria si una


clave externa hace referencia al registro. Por ejemplo, que no se pueda eliminar o
modificar un Id de «Alumnos» si existen una inscripción con dicho el Id a eliminar.

3- La clave primaria y foránea que de las tablas que se relacionan deben ser del mismo
tipo de dato y longitud en ambas tablas.

Llave foranea SQL


Una llave foránea o clave foránea es un campo (o campos) que señala la clave primaria
de otra tabla. El propósito de la clave foránea es asegurar la integridad referencial de los
datos. La columna o columnas señaladas como llave foránea, solo podrán tener valores
que ya existan en la clave primaria PRIMARY KEY de la otra tabla.

La clave foránea en resumen se refiere a una columna o varias columnas, que sirven
para señalar cual es la clave primaria de otra tabla. Es importante que comprendas que
hay dos etapas en las que podemos agregar llaves foráneas a las tablas: la primera es al
momento de crear la tabla, ya que podemos definir de una vez las llaves foráneas y
campos de la tabla de nuestra Base de Datos; la segunda opción es agregar las llaves
foráneas en tablas ya creadas, esto consiste en modificar la estructura previamente
diseñada.
6. Insertar datos en una tabla Sql Server
En este artículo aprenderás a insertar datos en una tabla en Sql Server a través de
código y de forma gráfica usando management studio; anteriormente ya hemos creado
una Base de Datos y sus respectivas tablas, además dichas tablas están relacionadas, es
decir que tiene sus llaves primarias y foráneas; en consecuencia debemos tener presente
que uno de los primeros aspectos a tomar en cuenta al momento de realizar inserciones
es la estructura de la tabla.

Como insertar datos en tablas de Base de Datos Sql


Server
En esta ocasión tomaremos como referencia la tabla Alumnos de nuestra Base de Datos
creada, esta tabla tiene 5 columnas, que son: Id, Nombre, Apellido, Direccion y
Fecha_nacimiento. A continuación, muestro la tabla de forma gráfica:

Para agregar datos a una tabla es necesario hacer uso de la instrucción Insert into, que
es uno de los comandos más usado del código Sql. Para insertar los registros lo
podemos hacer de uno en uno, o podemos agregar varios registros a través de una
misma instrucción.

Sintaxis de instrucción Insert Sql


La sintaxis para insertar un registro en una tabla es la siguiente:

INSERT INTO “Nombre_Tabla” (“columna1”, “columna2”, etc)


VALUES (“Dato1”, “Dato2”, etc);

Explicación:

Nombre_tabla: Es el nombre de la tabla en la que vamos a insertar registros.


columna1, columna2,..: Son las columnas de la tabla en la que vamos a insertar datos.
“Dato1”, “Dato2” ,..: Son los valores que vamos a guardar en cada columna
especificada.

Es importante mencionar que la sintaxis vista anteriormente se puede acortar en los


casos que vamos a insertar registros a todas las columnas, ya que podemos hacerlo de
la forma siguiente:

INSERT INTO “Nombre_Tabla”


VALUES (“Dato1”, “Dato2”, etc);

En los casos que hacemos uso de esta sintaxis, debemos tomar en cuenta el orden de las
columnas y además debemos enviar todos los datos según la cantidad de columnas de
la tabla, ya que dicha sintaxis indica que se van agregar registros a todas las columnas.
Por lo tanto debemos respetar el orden que especificamos en las columnas y en values
enviar los datos exactamente como los hemos especificado en las columnas.

Existe otra opción de insertar registros y es mencionando columnas específicas, para


este caso debemos tomar en cuenta que las columnas que omitimos deben tener la
propiedad null, es decir que aceptan valores nulos.

Agregar datos a una tabla sql


A continuación vamos a realizar algunos ejemplos en los que agregaremos registros a la
tabla alumnos:

INSERT INTO Alumnos (Id, Nombre, Apellido, Direccion,Fecha nacimiento)


VALUES ('0101', 'Franklin', 'Garcia', 'avenida 01', '12/01/80')

INSERT INTO Alumnos VALUES ('0102', 'Juan', 'Hernandez', 'avenida 01',


'12/01/80')

INSERT INTO Alumnos (Id, Nombre, Apellido) VALUES ('0103', 'Juan',


'Perez')

En la primera instrucción insertamos un registro a todas las columnas, citándolas una a


una.

El segundo ejercicio, aplicamos el acortamiento de la instrucción y omitimos especificar


las columnas, automáticamente se entiende que insertaremos datos en todas las
columnas
El tercer ejemplo no hemos asignado valores a las columnas Direccion y
Fecha_Nacimiento, por tanto tomará automáticamente el valor NULL.

Nota: Si una columna está definida como NOT NULL (es decir, que no admite valores
vacíos), en ese caso debemos especificar y enviar siempre un dato para insertar. Caso
contrario se producirá un error al ejecutar la instrucción INSERT en Management
Studio.

Insertar varios registros en un solo insert


Si queremos agregar varios registros a través de un un mismo insert, basta con agregar
una coma en los valores que le enviamos en values, y especificar los datos a insertar.
Ejemplo:

INSERT INTO Alumnos (Id, Nombre, Apellido, Direccion,


Fecha_nacimiento)
VALUES
('0104', 'Franklin2', 'Garcia', 'avenida 01', '12/01/80'),
('0105', 'Franklin3', 'Garcia', 'avenida 01', '12/01/80')

Insertar datos en tablas relacionadas


La Base de Datos creada tiene mas de dos tablas relacionadas, en ese caso hay ciertos
aspectos que debemos tomar en cuenta:

Si revisamos el diagrama nos podemos dar cuenta que la tabla inscripción es la que
recibe las llaves foráneas de las tablas Alumnos, Profesor y Asignatura. Por lo tanto, la
lógica para agregarles registros es que primero debemos agregar asignaturas, agregar
profesores y agregar alumnos; posteriormente podemos insertar datos a la tabla
Inscripción, ya que los campos que están en la tabla inscripción (que relacionan las
demás tablas), tiene las llaves primarias e inicialmente deben existir en sus respectivas
tablas de origen, es decir el IdAsignatura debe estar agregado en la tabla Asignatura.

Insertar datos en dos tablas relacionadas


A continuación agregaremos registros a las dos tablas que se relacionan con la tabla
inscripción, y que por el momento no tiene datos:

INSERT INTO Asignatura (Id, Nombre) VALUES ('BD01', 'Base de Datos 1')

INSERT INTO Profesor VALUES ('PF01', 'Antonio','Perez', 'avenida 01',


'12/01/80','Licenciado')
Ya habiendo registrado datos en la tabla asignatura y profesor, podemos agregar datos a
la tabla inscripcion, ya que deben ser datos agregados previamente:

INSERT INTO Inscripcion VALUES ('INS01', 'BD01','0101', 'PF01',


'12/01/80')

Si únicamente tuviéramos dos tablas relacionadas, la lógica seria la misma: primero


debemos crear un registro en la tabla que tiene la llave primaria, y posteriormente
debemos agregar un registro en la tabla que tiene la llave foránea.

10. Crear Procedimiento Almacenado en


Sql Server

Ejemplo básico de un Procedimiento Almacenado en


Sql Server
Hola amigos y amigas bienvenidos a un nuevo post, el tema que trataremos ahora sera
en relación a los procedimientos almacenados en Sql Server, en verdad es un tema
importante para aprender cuando estamos trabajando con base de datos, los
procedimientos almacenados pueden escribir y devolver información de una tabla en
Sql Server. Antes que nada comparto un pequeño concepto sobre el tema:

Un procedimiento almacenado (STORE PROCEDURE) está formado por un conjunto


de instrucciones Transact-SQL que definen un determinado proceso, puede aceptar
parámetros de entrada y devolver un valor o conjunto de resultados. Este procedimiento
se guarda en el servidor y puede ser ejecutado en cualquier momento.

Los procedimientos almacenados se crean mediante la sentencia CREATE


PROCEDURE y se ejecutan con EXEC (o EXECUTE).

Para ejecutarlo también se puede utilizar el nombre del procedimiento almacenado sólo,
siempre que sea la primera palabra del lote. Para eliminar un procedimiento almacenado
utilizamos la sentencia DROP PROCEDURE.

Como Crear un Procedimiento Almacenado en Sql


Server
La sintaxis para crear un procedimiento almacenado con código sql es:

create proc NOMBREPROCEDIMIENTO

@NOMBREPARAMETRO TIPO_DATO

as

SENTENCIAS SQL;

GO

Los parámetros se definen luego del nombre del procedimiento, comenzando el nombre
con un signo arroba (@).

Los parámetros son locales al procedimiento, es decir, existen solamente dentro del
mismo. Pueden declararse varios parámetros por procedimiento, se separan por comas.

Ejemplo de un Procedimiento almacenado en Sql Server

 CREATE PROCEDURE  Saludar

      AS

      PRINT ‘Hola, Como estas?’;

     GO –- - Indicamos GO para cerrar el lote que crea el procedimiento y empezar otro


lote.

      EXECUTE Saludar; — De esta forma llamamos al procedimiento (se ejecuta). 

En el ejemplo anterior lo que hacemos es mostrar un mensaje ‘Hola, Como estas?‘, si


te das cuenta aun no hemos usado parámetros.

Procedimiento Almacenado para Consultar Registros


Bien, entonces vamos a ver otro ejemplo un poco mas complejo, ahora lo que haremos
sera, crear un procedimiento almacenado que me consulte una columna en una tabla de
la Base de Datos (nombre de una persona), ya he creado una tabla en Sql Server a la
cual le llame personas, acá puedes ver el diseño:
N

El procedimiento almacenado quedaría de la siguiente forma:

create procedure Proc_Nombre

@Nombre varchar(30)

as

Begin

select Nombre, Apellido

from Personas

where Nombre= @Nombre;

END

GO

Es un ejemplo fácil de entender, lo que realizara es una consulta del nombre y apellido
de una persona, mientras el nombre sea igual a que le especificamos en el parámetro de
entrada, es decir que seria obligatorio enviarle el parámetro, para que pueda devolvernos
resultados, hay que entender que es una búsqueda de personas, sin embargo, a diferencia
de una simple consulta, el procedimiento almacenado lo podemos ejecutar en cualquier
momento debido a que queda guardado en el servidor.

Potrebbero piacerti anche