Está en la página 1de 38

SQL SERVER

Curso de SQL Server nivel básico

LUIS MIGUEL CHUQUI CHICAIZA fono: 0998573200


Que es una base de datos
• es una entidad en la cual se pueden almacenar datos de manera
estructurada, con la menor redundancia posible.
• A continuación se presentan las características principales que
puede tener una base de datos
• Concurrencia, Cualquier usuario que tenga acceso puede
obtener, modificar o eliminar los datos.
• Integridad, ningún dato se puede dañar o la misma información
se debe presentar a todos los usuarios que están realizado las
consultas
• Seguridad, debe permitir administrar los usuarios para el nivel de
acceso a la información
SQL Server
• SQL (Lenguaje de consulta estructurado) server es un motor
de base de datos desarrollado por Microsoft, El lenguaje de
desarrollo utilizado (por línea de comandos o mediante la
interfaz gráfica de Management Studio) es Transact-SQL
(TSQL), una implementación del estándar ANSI del lenguaje
SQL, utilizado para manipular y recuperar datos, crear tablas
y definir relaciones entre ellas.
Lenguaje de definición de datos DDL
• Grupo de sentencias del SQL que soportan la definición y
declaración de los objetos de la base de datos. Objetos tales
como: la base de datos misma(DATABASE), las tablas(TABLE),
las Vistas (VIEW), los índices (INDEX), los procedimientos
almacenados (PROCEDURE), los disparadores (TRIGGER).
• Las sentencias utilizadas son: CREATE (crea cualquier tabla,
base de datos), ALTER (modifica un objeto, tabla o base de
datos) y DROP (elimina un objeto, tabla o base de datos)
Lenguaje de manipulación de datos
DML
• Grupo de sentencias del SQL para manipular los datos que
están almacenados en las bases de datos, a nivel de filas
(tuplas) y/o columnas (atributos). Ya sea que se requiera que
los datos sean modificados, eliminados, consultados o que se
agregaren nuevas filas a las tablas de las base de datos.
• Las sentencias utilizadas son : INSERT (inserta un registro),
UPDATE (modifica uno o varios registros), DELETE (elimina
uno o varios registros) y SELECT (muestra uno o varios
registros)
Lenguaje de control de datos DCL
• Grupo de sentencias del SQL para controlar las funciones de
administración que realiza el DBMS, tales como la
atomicidad y seguridad.
• COMMIT TRANSACTION (acepta el cambio, ingreso o
eliminación),ROLLBACK TRANSACTION (regresa los datos a su
opción inicial, antes de ejecutar), GRANT (concede permisos)
y REVOKE (quita permisos)
Versiones SQL
Versión Descripción
Contempla todas las características (deshabilitadas en otras ediciones).Es el tipo de
Enterprise versión con más privilegios existente en el mercado.
Una versión limitada según la configuración del servidor y sus características,
Standard diseñada para servidores inferiores.
Por ejemplo: en la versión 2012, la edición Enterprise soporta un número ilimitado
de procesadores, y la agregación de memoria y CPUs en caliente sin la interrupción
del servicio o del servidor; mientras la edición Standard esta limitada a 16
procesadores y no soporta la "agregación en caliente".
Una versión gratuita que posibilita la creación de bases de datos limitadas con
Express características básicas, con el fin de apoyar aplicaciones que necesiten una solución
simple para almacenamiento de una cantidad limitada de datos, o usuarios que sus
recursos y necesidades son limitados.
En la versión 2012, esta edición puede utilizar un máximo de 1 GB de memoria, y
almacenar no más de 10GB, funciona en servidores con un número máximo de
cuatro procesadores. Estas limitaciones se mantienen en la versión 2014 (4 cores,
1GB ram, y 10Gb por base de datos).
Base de dato relacional
Es un tipo de base de datos (BD) que cumple con el modelo relacional (el modelo más
utilizado actualmente para implementar las BD ya planificadas). El modelo relacional,
para el modelado y la gestión de bases de datos, es un modelo de datos basado en la
lógica de predicados y en la teoría de conjuntos.
Características
• Una base de datos se compone de varias tablas o relaciones.
• No pueden existir dos tablas con el mismo nombre ni registro.
• Cada tabla es a su vez un conjunto de campos (columnas) y registros (filas).
• La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves
primarias y claves foráneas (o ajenas).
• Las claves primarias son la clave principal de un registro dentro de una tabla y estas
deben cumplir con la integridad de datos.
• Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave
primaria del registro padre; por medio de estas se hacen las formas relacionales.
MODELO ENTIDAD-RELACIÓN (ER)
• El modelo entidad-relación ER es un modelo de datos que permite
representar cualquier abstracción, percepción y conocimiento en un
sistema de información formado por un conjunto de objetos
denominados entidades y relaciones, incorporando una
representación visual conocida como diagrama entidad-relación.
• Para proceder con el modelado de un sistema inicial se requiere tener
algunos conceptos básicos, los cuales se describen a continuación.
Entidad
• La entidad es cualquier clase de objeto o conjunto de elementos
tangible o intangible, en un contexto determinado dado por el
sistema de información o las funciones y procesos que se definen en
un plan de automatización.
• Las entidades constituyen las tablas de la base de datos que permiten
el almacenamiento de los registros del sistema. Por ejemplo, si se
desea almacenar información de los estudiantes se debe crear una
tabla que va ser una entidad y que llevará el nombre estudiante
Atributos
• Son las características, rasgos y propiedades de una entidad, es decir,
los atributos de una tabla son en realidad sus campos descriptivos,
cada atributo debe estar asociado un tipo de dato
• Siguiendo el ejemplo del estudiante este tiene nombres, apellidos,
sexo, número de identificación
Relaciones
• Vínculo que permite definir una dependencia entre los conjuntos de dos o más entidades. Esto es
la relación entre la información contenida en los registros de varias tablas. Siguiendo el ejemplo
del estudiante un estudiante tiene muchas materias, la relación hacia la entidad materia seria a
muchas.
• A continuación se presentan los tipos de relaciones que puede existir
• Relación de uno a varios (1,n). Se crea una relación de uno a varios si uno de los campos
relacionados es una clave principal. Esta relación es la más común. Cada registro de una tabla
puede estar enlazado con varios registros de una segunda tabla, pero cada registro de la segunda
sólo puede estar enlazado con un único registro de la primera.
• Relación de uno a uno (1,1). Se creará una relación de este tipo si ambos campos relacionados
son claves principales. En este tipo de relación, un registro de la tabla uno sólo puede estar
relacionado con un único registro de la tabla dos y viceversa. No es muy usada.
• Relación de varios a varios (n,m). En este caso, ninguno de los campos relacionados son claves
principales. Cada registro de la primera tabla puede estar enlazado con varios registros de la
segunda y viceversa. Este tipo de relación implica la repetición de los campos de cada tabla; esto
es lo que Access pretende evitar. Para establecer relaciones de este tipo, es necesario crear una
tabla intermedia que esté relacionada con las dos de uno a varios.
Ejemplos de tipos de relaciones
Como desarrollar un modelo
relacional
• Para poder desarrollar un modelo relacional se debe tener las siguientes
consideraciones
• 1.- Identificar las entidades, estas entidades pueden ser tangibles o intangibles.
• 2.- Identificar atributos que tienen cada una de las entidades.
• 3.- seleccionar las claves candidatas para luego definir las claves primarias
• 4.- relacionar cada entidad si es necesario.
• 5.- validar la consistencia en el modelo realizado.
Clave
• Es el campo o atributo de una entidad que tiene como objetivo
distinguir cada registro del conjunto, sirviendo sus valores como datos
vinculantes de una relación entre registros de varias tablas.
• Superclave. Es la combinación de campos clave que identifican
unívocamente un registro en una tabla o entidad.
• Clave principal o primaria. Permiten identificar unívocamente cada
registro de una tabla.
• Clave candidata. Campos que cumplen las condiciones de identificación
única de registros, pero que no fueron definidos como principales por el
diseñador.
• Clave externa. Campo clave conformado por el valor de una clave
principal primaria de otra tabla.
Tipos de datos SQL Server
Tipo de tamaño
dato
• Los tipos de datos Microsoft Access SQL de BINARY 1 byte por carácter
motor de base de datos consisten en 13 tipos de
BIT 1 byte
datos principales definidos por el motor de base
de datos de Microsoft Access y varios sinónimos TiNYINT 1 byte

válidos reconocidas para estos tipos de datos. MONEY 8 byte

• Adicional a estos tipos de datos se pueden DATETIME 8 byte

utilizar tipos de datos compuestos tales como REAL 4 byte


nvarchar, varchar, ntext, image. FLOAT 8 byte

• Véase en la siguiente dirección SMALLINT 2 byte

• https://msdn.microsoft.com/es- INTEGER 4 byte


es/library/ms187752.aspx DECIMAL 17 byte

TEXT 2 byte por carácter

CHAR 2 byte por carácter


Ejercicio
• Realizar un modelo entidad relación de registros de asistencias de alumnos,
los datos a guardar son los siguientes: nombre del alumno, número de
documento, nombres y apellidos y los días de asistencia, si el alumno no ha
asistido a clases se debe colocar una bandera de indicación.
• Se desea almacenar la información de películas. Cada película, necesitas su
título, año, nacionalidad y algunos datos de su director: el nombre, la fecha de
nacimiento y su país de origen. Además, se quiere saber su idioma, si tiene
alguna restricción de edad, un resumen. La ficha técnica de cada película
también debe incluir el reparto de actores, donde aparecerá su nombre, su
nacionalidad.
IDE SQL Server
• A continuación se presenta el IDE de administración y desarrollo del SQL
server que utilizaremos para realizar las prácticas y actividades en el
transcurso del curso
• Barras de menús, contienen las opciones para permitir la administración
de la base de datos
• Explorador de objetos, Contiene la administración de las bases de datos
entre los principales se puede citar acceso a las bases y administración
de usuarios que utilizan la base de datos
bulkadmin, pueden ejecutar la sentencia bulk
insert.
dbcreator, los miembros de esta opción pueden
crear, modificar o borrar la base de datos
Lista las bases de datos diskadmin, utilizado para administrar los archivos
que posee la instancia del disco
processadmin, pueden finalizar los procesos que
se ejecutan en la instancia.
public, permite que el objeto este disponible a
Lista los usuarios que todos, sólo asigne permisos públicos a cualquier
están registrados en la objeto cuando desee que el objeto esté disponible
instancia. para todos los usuarios.
securiryadmin, gestionan los inicios de sesión y
sus propiedades. Pueden conceder, negar y
rechazar los permisos a nivel de servidor.
Lista los perfiles que están serveradmin, pueden cambiar las opciones de
registrados en la instancia configuración de todo el servidor y cerrar el
servidor.
setupadmin, pueden agregar y eliminar servidores
enlazados mediante instrucciones Transact-SQL.
sysadmin, puede realizar cualquier actividad en el
servidor
COMANDOS DE ADMINISTRACIÓN
• A continuación se presentan algunos comandos útiles para la administración
del sistema, para mostrar los registros se debe utilizar la sentencia SELECT
En el sys.database se puede encontrar todos los objetos que contiene la base de
datos pertenecientes a la instancia
• SELECT *
• FROM sys.databases ;
• Sys.sysusers muestra todos los usuarios que pertenecen a la instancia
• SELECT *
• FROM sys.sysusers ;
Select - DML
• Esta sentencia permite realizar la búsqueda de registros entre una tabla o
varias tablas
• Para realizar una consulta se debe obtener la siguiente estructura

• SELECT [columnas] FROM [nombre tabla] WHERE [condición]


• Si deseamos unir varias tablas en nuestra consulta se debe utilizar la opción
INNER JOIN colocando SELECT [columnas] FROM [tabla uno] INNER JOIN [tabla
dos] ON [tablaUno.pk] = [tablaDos.pk]
Tipos de funciones en SQL usados
• Existen muchas funciones que se pueden utilizar en SQL server, por lo que en
este tema se tratará unos cuantos que nos ayudará a realizar nuestras
consultas
Nombre Función Descripción
AVG Permite obtener un promedio de las columnas
SUM Permite realizar la suma de los valores
COUNT Realiza el conteo de filas, si la columna seleccionada tiene el valor NULL, no realiza la cuenta
MAX, MIN Obtiene el valor máximo y obtiene el valor mínimo.
LEN Obtiene el número de caracteres que posee la columna o una variable
SUBSTRING Permite realizar el corte en la cadena de caracteres su sintaxis es SUBSTRNG(<dato>,inicio,fin)
LTRIM Elimina los espacios en blanco a la izquierda que pueda tener una cadena
RTRIM Elimina los espacios en blanco a la derecha que pueda tener una cadena
CAST Realiza una conversión de datos CAST(<dato> as <tipo de dato> )
CONVERT Realiza la conversión de datos CAST(<tipo de dato>,<dato>)
Select con inner join
Vista
• Una vista es una consulta en la cual puede agrupar varios tablas, y al
momento de realizar la llamada se la puede tratar como una sola tabla; al
igual que una tabla se la puede aplicar filtros, order by u otros operadores que
hemos utilizado
• Para crear una vista debemos utilizar la siguiente sintaxis

• Para utilizarla se debe llamar a la vista a través de un select


Create database - DDL
Esta opción nos permite crear una base de datos, tabla, vista, procedimiento
almacenado, trigger
A continuación se procede a mostrar la estructura de creación de una base de
datos

NOTA: en este ejemplo se ha indicado donde se desea guardar la nueva base de


datos, pero si no colocamos ningún path y solo colocamos la primera línea por
defecto se creará en la carpeta por defecto de SQL Server
CREACION DE TABLAS
• Se pueden crear dos tipos de tablas, tablas temporales y tablas fijas. Para crear una tabla
en primer lugar se debe tener definido la estructura de la tabla con las claves primarias, o
foráneas (externos) que pude tener, y sus respectivas restricciones que posea las
columnas
• CREATE TABLE [nombre Tabla] (
• Las columnas que posee las tablas indicando la clave primaria (primary key), cada
columna debe ser separada por una coma
• )
Relación con claves externas
• En SQL permite establecer las relaciones, entre tablas utilizando una palabra clave a lado
de la columna como se indica en la siguiente figura.
Restricción de valores únicos
• Se puede realizar una restricción de valores mediante dos opciones, la primera es
asignado a la columna el valor de clave primaria o el segundo caso es creando una
restricción para que el valor de la columna sea único en la tabla.
Relación con Contraints
• Un constraint es un objeto delimitador, o si se lo quiere asignar es una regla
Insert
• Esta opción permite realizar el ingreso o inserción de un registro en una tabla, para
realizar esta operación debemos utilizar la siguiente opción

• En la primera opción se deben especificar el orden como se va a inserta la información


en el registro.
• En la segunda opción se ingresa en el orden como esta definido la tabla en la base de
datos
• NOTA: las columnas definidas como identidad no se deben especificar al momento del
ingreso o se deben utilizar la opción IDENTITY_INSERT para poder realizar la inserción del
registro adicional se debe especificar las columnas que se van a insertar
Update
• Permite realizar la actualización de uno o varios registros, se recomienda al momento de
utilizar esta opción se utilice la opción con el WHERE, si no es usado esta opción se
actualizará todo el registro de la tabla.
Delete
• Esta opción permite realizar el borrado de registros en nuestra tabla, es recomendable
utilizar esta opción acompañado de la sentencia WHERE
Procedimientos almacenados
• Un procedimiento almacenado es un conjunto de instrucciones u operaciones que realiza
una determinada acción, ya sea esta una consulta (Select),Ingreso de registros (insert),
actualización de datos (update) o una eliminación de datos (delete)
Sintaxis de un procedimiento
almacenado
Triggers o disparadores
• Son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se
deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan
cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los
eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT),
borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla.
• Cuando se envía un insert podemos ver la información antes de insertar mediante la
utilización de una tabla temporal denominada inserted
• Cuando se realiza un delete podemos ver la información antes de borrar mediante la
utilización de la tabla temporal denominada deleted
• Cuando se realiza un update la nueva información se almacena en la tabla inserted y la
información actual se almacena en la tabla deleted
Sintaxis de TRIGGER

También podría gustarte