Manual de Usuario DSC. Ever Alcudia Fuentes
Manual de Usuario DSC. Ever Alcudia Fuentes
Manual de Usuario DSC. Ever Alcudia Fuentes
Manual de usuario
Español
Aplicación
del Cliente
Validación de
Solicitud Permisos
SQL
API’s de la BD
Cliente (OLEDB, ODBC, Database
Microsoft Jet, etc.) Management
System
Datos (SGBD)
Librería de Server
Autentificación
del Cliente
Funciones Principales de SQL en un SGBD
Definición de Datos
Estructura de la BD
Organización de Datos
Relaciones
Recuperación de Datos
Extracción de Datos
Manipulación de Datos
Permite la inserción, eliminación, modificación y actualización de
los datos.
Control de Acceso
Control sobre los Permisos en los datos
Compartimiento de Datos
Coordina el acceso y la compartición de datos entre varios
usuarios.
Integridad de Datos
Protege la BD de deterioros o errores causados por el sistema
Sistemas de SQL Server
Un Sistema SQL puede implementarse como sistema
cliente/servidor o como sistema independiente.
SBD
Clientes
Sistema cliente/servidor
La configuración de tres capas involucra a un equipo llamado
servidor de aplicaciones, en este sistema la única tarea del
cliente es la ejecución de código para solicitar las funciones del
servidor de aplicaciones y posteriormente la presentación de los
resultados.
SA
SBD
Clientes
Administración de Servicios
SQL Server
1. Ejecutar el Enterprise
Manager y seleccionar el
servidor correspondiente.
2. Seleccionar la carpeta Base
de Datos
3. Seleccionar el menú Acción
/ Nueva base de datos
4. Escribir el nombre de la
base de datos a crear
Creación de una Base de Datos
Comando Creación de Bases de Datos.
GO
Mediante la palabra GO, SQL marca el final de un batche y
es enviado a procesar al Servidor de SQL.
Ejemplo:
Use Northwind
SELECT * FROM Productname
GO
Comentarios
Los comentarios son cadenas de texto que no son tomados en
cuenta durante la ejecución de sentencias.
Existen 2 formas de colocar comentarios en SQL:
Comentarios por Línea
Para colocar un comentario en una línea, se deben colocar 2 (--) guiones antes
del comentario, ya que SQL ignora todo el texto que se encuentre a la derecha
de los guiones.
Ejemplo:
Use Ventas - - utiliza la BD Ventas
SELECT * - - Selecciona todos los registros
FROM Pedidos - - de la tabla pedidos
Go
Comentarios de Bloque
Para generar un bloque de varias líneas de comentarios se utiliza los caracteres
(/*) para marcar el inicio del comentario y los caracteres (*/) para finalizar el
comentario
Ejemplo:
/* Este es un bloque
de varias líneas
que termina precisamente aquí */
Tipos de Datos
Sintaxis:
Asignar valores en las SET @variable = valor
Ejemplo:
variables SET @nombre = ‘Juan Pérez’
Sintaxis:
Devolver el valor de SELECT @variable
Ejemplo:
las variables SELECT @nombre
Operadores
Tipos de Operadores
Aritméticos
+ - * / ^
Comparación
> < <> = >= <=
Concatenación
+
Lógicos
And Or Not
Funciones
Ejemplo:
Ejemplo:
USE Animales
Ejemplo 1:
CREATE TABLE MiTabla (
Matricula INT,
Nombre VARCHAR(15),
Edad INT )
Creación de una Tabla
Valores Ausentes y Valores Predeterminados
Al momento de definir cada una de las columnas es posible
determinar si el campo va a permitir valores nulos o no.
Es posible definir para cada columna en caso de ser
necesario, una valor que funcione como predeterminado al
momento de ingresar registros a la tabla.
Ejemplo 1:
SELECT * FROM CLIENTES
Selección de Filas (WHERE)
Normalmente no se desea seleccionar sólo algunos registros de
una tabla e incluir sólo estos en los resultados de la consulta.
La cláusula WHERE se usa para especificar los registros que se
desea recuperar.
SELECT idpedido,idproducto,preciounidad
FROM [detalles de pedidos]
WHERE preciounidad >=100
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecontacto = 'Antonio Moreno'
Condiciones de Búsqueda
SQL ofrece una gran variedad de condiciones de búsqueda que
permiten especificar muchos tipos diferentes de consulta de
forma eficiente y natural.
Existen cinco condiciones básicas de consulta:
Comparación. Compara el valor de una expresión con el
valor de otra expresión.
Rango. comprueba si el valor de una expresión se
encuentra en un rango especificado de valores
Pertenencia a conjuntos. Comprueba si el valor de una
expresión con uno de un conjunto de valores.
Encaje de patrones. Comprueba si el valor de una columna
que contiene datos de cadena coincide con un patrón
especificado.
Valores nulos. Comprueba si una columna tiene una valor
NULL.
Condiciones de Búsqueda (Comparación)
SELECT idpedido,idcliente,fechapedido,fechaentrega
FROM pedidos
WHERE fechapedido BETWEEN '09-01-96' AND '09-30-96'
mm/dd/aa
Condiciones de Búsqueda
(Pertenencia a Conjuntos)
SELECT idpedido,idcliente,fechapedido,fechaentrega
FROM pedidos
WHERE fechapedido IN ('05-01-97','06-01-97','07-01-97','08-01-97')
Condiciones de Búsqueda
(Encaje de Patrones - LIKE)
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecompañía like 'S%'
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecompañía like 'S%' or nombrecompañía like 'A%'
SELECT idcliente,fechapedido,regióndestinatario
FROM pedidos
WHERE idcliente='TOMSP' AND regióndestinatario IS NULL
Agrupación de Registros (Group By)
Una consulta que contiene GROUP BY se denomina consulta de
agrupación por que agrupa los datos de las tablas fuente en una
única fila de resumen por cada registro.
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
SELECT idproveedor,unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia)
SELECT idproveedor,unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia) by idproveedor
COMPUTE sum(unidadesenexistencia)
Uso de la Cláusula HAVING en GROUP BY
Ejercicios:
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
having sum(unidadesenexistencia)>200
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
having idproveedor<=5
Ordenación de
Registros (ORDER BY)
Una consulta generada por la cláusula SELECT puede presentar
los resultados de manera organizada tanto numéricamente y
alfabéticamente.
Cláusula T-SQL:
ORDER BY
Sintaxis:
SELECT [Campos] FROM [Tabla] ORDER BY [Campos] [Tipo de Ordenación]
SELECT TOP 3 *
FROM productos
order by unidadesenexistencia desc
SELECT TOP 3 *
FROM productos
Order BY unidadesenexistencia asc
Resultado
Ejemplo:
SELECT IdPedido,NombreProducto,
CantidadPorUnidad,[Detalles de Pedidos].PrecioUnidad,
Cantidad FROM PRODUCTOS
JOIN [Detalles de Pedidos]
ON Productos.IdProducto = [Detalles de Pedidos].IdProducto
Consultas de Varias Tablas (INNER JOIN)
Ejemplo:
SELECT IdPedido,NombreProducto,
CantidadPorUnidad,dp.PrecioUnidad,
Cantidad FROM PRODUCTOS as p
JOIN [Detalles de Pedidos] as dp
ON p.IdProducto = dp.IdProducto
Consultas entre mas de 2 tablas
Se deben utilizar varios JOIN para poder crear una consulta
entre mas de 2 tablas.
Ejemplo:
SELECT p.IdPedido,NombreCompañia,
NombreProducto,FechaPedido,
pro.PrecioUnidad, Cantidad, (PRO.PRECIOUNIDAD * CANTIDAD) AS Total
FROM PEDIDOS as p
JOIN [Detalles de Pedidos] as dp
ON p.Idpedido = dp.Idpedido
JOIN Productos as pro
ON dp.IdProducto = pro.IdProducto
JOIN Clientes as c
ON c.IdCliente = p.IdCliente
ORDER BY p.idpedido
COMPUTE SUM(Cantidad), SUM(pro.Preciounidad * Cantidad) BY p.Idpedido
COMPUTE SUM(CANTIDAD),SUM(pro.Preciounidad * Cantidad)
Transacciones DML
Son sentencias Transact-SQL utilizadas para manipular los datos
de las Bases de Datos.
Ejercicio:
INSERT INTO ALUMNOS (Matricula,Nombre,Edad,Sexo)
VALUES (1040,’Carlos Martínez’,25,’Masculino’)
Inserción de Valores NULL
Cuando SQL inserta en una tabla una nueva fila de datos, asigna
de manera automática un valor NULL a todas aquellas columnas
cuyo nombre no se halle en la lista de columnas de la instrucción
INSERT.
UPDATE EMPLEADOS
SET CARGO = 'Gerente de Ventas'
WHERE IDempleado=3
Actualización de todas las Filas
La cláusula WHERE en la instrucción UPDATE es opcional.
UPDATE EMPLEADOS
SET JEFE =1
Vistas
Las Vistas son tablas virtuales cuyo el contenido esta basado en
una consulta.
El objeto de las vistas es restringir a los usuarios par que no
puedan modificar la estructura de las tablas y que no puedan
crear consultas que no le competen al usuarios.
Las Vistas Ofrecen las siguientes ventajas:
Simplicidad:
Simplifica las peticiones a la Base de Datos
Seguridad:
Se pueden establecer permisos a los usuarios para que solo tenga acceso a las
vistas pero no a crear consultas de datos no deseados en otras tablas
Simplicidad Estructural:
Las vistas pueden extraer datos provenientes de varias tablas y presentarlas
como si fuera una sola tabla.
Creación de una Vista (CREATE VIEW)
Cláusula T-SQL:
CREATE VIEW
Sintaxis:
CREATE VIEW [Nombre_Vista] As [SELECT ….…..]