Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA Nº 2
SQL SERVER OPERACIONES CON BASES DE DATOS, TABLAS Y REGISTROS
INTRODUCCIÓN
SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS)
desarrollado por Microsoft. Una base de datos en SQL Server es un conjunto
estructurado de datos organizados en tablas, con relaciones predefinidas entre
ellas.
Las bases de datos en SQL Server pueden contener múltiples tablas, cada una de
las cuales se compone de una serie de columnas que definen los tipos de datos que
se almacenan y las restricciones que se aplican a esos datos. También es posible
definir relaciones entre tablas, lo que permite que los datos de diferentes tablas se
relacionen entre sí y se consulten juntos.
En resumen, una base de datos en SQL Server es un contenedor de datos
estructurado y organizado, diseñado para permitir el almacenamiento, la
manipulación y la recuperación de grandes cantidades de información de manera
eficiente
CREACION DE BASE DE DATOS
La sentencia CREATE DATABASE crea una nueva base de datos
SINTAXIS:
EJEMPLO:
CREATE DATABASE OFICINA
Si la nueva base de datos no aparece, puedes hacer clic en el botón Actualizar o presionar
el teclado F5 para actualizar la lista de objetos.
Para consultar el listado de base de datos en SQL Server puedes usar la siguiente
declaración con un SELECT:
SELECT
name
FROM
master.sys.databases
ORDER BY
name;
EXEC sp_databases;
CREACION DE TABLAS
La sentencia CREATE TABLE en SQL Server se utiliza para crear una tabla en una
base de datos. Una tabla en SQL Server es una estructura que contiene información
organizada en filas y columnas. Se utiliza para almacenar y manipular datos en una
base de datos relacional.
Las tablas se utilizan para almacenar datos en la base de datos. Las tablas tienen
nombres únicos dentro de una base de datos y un esquema. Cada tabla contiene
una o más columnas y cada columna tiene un tipo de datos asociado que define el
tipo de datos que puede almacenar, por ejemplo, números, cadenas o datos
temporales.
Para crear una nueva tabla, use la instrucción CREATE TABLE de la siguiente
manera:
SINTAXIS:
USE NOMBRE_BASE_DE_DATOS
ID: esta columna es de tipo INT y se ha definido como clave primaria mediante la declaración
PRIMARY KEY. Esto significa que no puede haber valores duplicados en esta columna y se
utiliza para identificar de manera única a cada estudiante en la tabla.
Nombre: esta columna es de tipo VARCHAR y tiene una longitud máxima de 50 caracteres.
Se ha definido como "NOT NULL", lo que significa que se requiere un valor para esta
columna en cada fila de la tabla.
Edad: esta columna es de tipo INT y se utiliza para almacenar la edad de cada estudiante. A
diferencia de las columnas Nombre y Apellido, esta columna no se ha definido como "NOT
NULL", lo que significa que se pueden dejar valores nulos en esta columna en algunas filas
de la tabla.
CorreoElectronico: esta columna es de tipo VARCHAR y tiene una longitud máxima de 100
caracteres. Se utiliza para almacenar la dirección de correo electrónico de cada estudiante
y también se permite que tenga valores nulos.
EJEMPLO 2:
La columna visita_id es la columna de llave principal de la tabla. IDENTITY (1,1) indica a SQL
Server que genere automáticamente números enteros para la columna comenzando desde
uno y aumentando en uno para cada nueva fila.
Las columnas first_name y last_name son columnas de cadena de caracteres con el tipo
VARCHAR. Estas columnas pueden almacenar hasta 50 caracteres.
Visit_at es una columna DATETIME que registra la fecha y la hora en que el cliente visita la
tienda.
La columna del teléfono es una columna de cadena de caracteres variable que acepta NULL.
La columna store_id almacena los números de identificación que identifican la tienda donde
visitó el cliente.
Al final de la definición de la tabla hay una restricción FOREIGN KEY. Esta clave foránea
asegura que los valores en la columna store_id de la tabla de visitas deben estar disponibles
en la columna store_id en la tabla de tiendas. Aprenderá más sobre la restricción FOREIGN
KEY en este link.
EJEMPLO:
USE OFICINA
FECHA DATETIME,
SALARIO INT,
COMISION INT,
DEPTO_NO INT,
FOREIGN KEY(DEPTO_NO) REFERENCES DEPARTAMENTO(DEPTO_NO)
)
Utilizaremos la tabla Alumnos de la Base de Datos COLEGIO creada, esta tabla tiene 5
columnas, que son: Id, Nombre, Apellido, Direccion y Fecha_nacimiento.
INSERT INTO
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
DONDE:
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:
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.
EJEMPLO:
En la primera instrucción insertamos un registro a todas las columnas, citándolas una a una.
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
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:
VALUES
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.
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:
EJEMPLO 1:
Tabla Aeropuerto
Tabla Reserva
Tabla Pago
go
--Verificando registros insertados en la tabla pago
select * from pago
Tabla Tarifa
--Insertar tarifa
insert into tarifa
values ('1','Supervip',1200,12),
('2','Vip',1000,12),
('3','Nacional',800,12),
('4','Económica',500,0)
go
--Verificando registros insertados en la tabla tarifa
select * from tarifa
Tabla Tarifa
update tarifa
Set impuesto=11
go
update tarifa
set impuesto=impuesto + 2
go
3. Asignar el impuesto a cero sólo a los registros cuya clase sea Económico de la tabla tarifa.
update tarifa
set impuesto=0
where clase='Económica'
go
Tabla Reserva
update reserva
set costo=costo - 50
where year(fecha)=2013
go
5. Asignar el texto ‘SIN FONO’ en el campo teléfono de los pasajeros que sean de Perú
Todo esto deberá ser realizado en la tabla Pasajero.
Tabla Pasajero
update pasajero
set telefono = 'Sin Fono'
where idpais= (select idpais from pais where nombre='Perú')
go
SENTENCIA DELETE (Eliminación de Registros de una tabla): Permite eliminar todos los
registros específicados en una determinada tabla.
SINTAXIS
DELETE
[TOP { Expresión } ]
FROM TABLE
[WHERE <Search_Condition>]
EJEMPLOS
Tabla Aerolínea
Tabla Pasajero
3. Eliminar los registros de la tabla PASAJERO cuyo país sea México, utilizar subconsultas.
4. Eliminar los registros de la tabla RESERVA que sean del año 2013 y que no superen los $
70.
Tabla Reserva
5. Eliminar los registros de la tabla PAGO, que se han efectuado en el año 2012 ó 2013.
Tabla Pago
ANEXOS
TIPOS DE DATOS COMUNES
• char(tamaño) - cadena de tamaño fijo que puede contener letras, números, caracteres
especiales
• varchar(tamaño) - cadena de tamaño variable que puede contener letras, números, y
caracteres especiales
• boolean - Cero (o valores que son igual a 0) es falso, no-cero es verdadero
• int(tamaño opcional) - un número de hasta 10 caracteres en longitud, acepta números
negativos y positivos
• bigint(tamaño opcional) - un numero de hasta 19 caracteres en longitud, acepta números
negativos y positivos.
• float(tamaño, d) - un número donde el tamaño total del número es representado por el
tamaño y la cantidad de caracteres después del punto decimal representado por una d
• date - fecha en el formato YYYY-MM-DD
• datetime - fecha y hora en el formato YYYY-MM-DD hh:mm:ss
• time - tiempo en el formato hh:mm:ss
Tipo de
Descripción Tamaño máximo Almacenamiento
datos
decimal (p, s) punto decimal). p debe ser un valor de 1 a 38. El valor 5-17 bytes
predeterminado es 18.
numeric (p, s) punto decimal). p debe ser un valor de 1 a 38. El valor 5-17 bytes
predeterminado es 18.