Clase 8 SQL

25
Alejandro Jiménez email: ajimenez@ tresct.com BD1 - My Sql (4 semanas) Programación (4 semanas) BD2 - SQL Server (5 semanas) BD3 - SQL Server Transact Java HP .NET BD4 Oracle SQL Plus PL1 PL2 Datos (Cumulo de) BD Medio Magnético Estructura Conocer cómo se diseña y se usa una BD. MySQL= Sistema gestor de BD relacionales RD BMS Es libre gratuito otros sistemas gestores: Oracle, Acess, MS (limitado), SQL Server MS, SyBase (IBM), Progress, informix. SQL Es el lenguaje estándar reconocido por la mayoría de las BD (RDBMS) lenguaje reconocido por ellos (común). Structured SQL Query Lenguaje para consulta estructurado language Clasificación de comandos dentro de SQL. Comando Tipo DDL (Data definition language) Lenguaje para definición de datos. Comandos usados para la definición y creación de objetos dentro de la BD. DML (Data Manipulation Language) Lenguaje para la manipulación de datos CRVD= Create, Read, update, delete (Desarrollo BD) Comando para agregar, modificar, eliminar y/o consultar BD

description

Clase 8 SQL

Transcript of Clase 8 SQL

Page 1: Clase 8 SQL

Alejandro Jiménez email: ajimenez@ tresct.com

BD1 - My Sql (4 semanas)Programación (4 semanas)BD2 - SQL Server (5 semanas)

BD3 - SQL Server Transact Java HP .NETBD4OracleSQL PlusPL1PL2

Datos (Cumulo de)BD Medio Magnético

Estructura

Conocer cómo se diseña y se usa una BD.MySQL= Sistema gestor de BD relacionales

RD BMSEs libre gratuito otros sistemas gestores: Oracle, Acess, MS (limitado), SQL Server MS, SyBase (IBM), Progress, informix.

SQL Es el lenguaje estándar reconocido por la mayoría de las BD (RDBMS) lenguaje reconocido por ellos (común).

StructuredSQL Query Lenguaje para consulta estructurado

language

Clasificación de comandos dentro de SQL.Comando Tipo DDL (Data definition language) Lenguaje para definición de datos.Comandos usados para la definición y creación de objetos dentro de la BD.

DML (Data Manipulation Language)Lenguaje para la manipulación de datosCRVD= Create, Read, update, delete (Desarrollo BD)Comando para agregar, modificar, eliminar y/o consultar BD

ABC Altas, Bajas y Cambios.

DDL Estructura ProgramarSQL DML Datos

DCL Administración DBA

Page 2: Clase 8 SQL

DDL (Data Control Lenguage)

Server = Hadware = Elemento duro de la informática. Sotware = Elemento blando de la informática

UNIX, SOLARIS, SERVER, LINUXSERVER Software acceso a la redServer Hadware

Requerimientos básicos para conectar a un servidor:1. Nombre del servidor (Host) IP2. Usuario Nombre (Root)3. Password (Tresct)4. Port (Puerto 3036)

Servidor local (local host)

Nombre de BDNo caracteres especiales

No espacios

Se recomienda que sea significativo.My SQL BD Objetos Tipos de objetos

IDE

SERVER SOFTWARE

EXCHANGE MAIL SERVER

BD Server

CLIENTES

Server

MySQL

Page 3: Clase 8 SQL

Tabla (Table)

Fila= Renglón, Registro, Trupla

Columna= Atributo

Cada Columna tiene nombre, mismos que no se repiten, estas si pueden estar en varias tablas.

Tipos de datos para las columnas

INT (Enteros)Decimal (5,2) Escala y precisión.

5 Dígitos de los cuales 2 son decimales.FLOAT Todos los decimales que dé, el ordenador

Cuando se diseña la BD hay que preguntar “NO ASUMIR”

1 Bate (Una unidad de almacenamiento)

Tipos de datos que almacenan caracteres.

CHAR (5) Carácter VARCHAR (5)Siempre llevan comillas simples.

Bit

Numérico

Page 4: Clase 8 SQL

Bit es el acrónimo Binary digit (‘dígito binario’) o bitio.1 Un bit es un dígito del sistema de numeración binario.

Byte (B)1 2 (pronunciada [bait] o ['bi.te]) es una unidad de información utilizada como un múltiplo del bit. Generalmente equivale a 8 bits,3 4 5 6 7 8 9 10 por lo que en español se le denomina octeto.11 12 La unidad byte no tiene símbolo establecido internacionalmente, aunque en países anglosajones es frecuente B mientras que en los francófonos es o (de octet)13 .

‘Hola’ Cadena de caracteres más de 1‘a’ 1 carácter ‘ ’ Espacio es un carácter (1 bite)‘’ Cadena vacía (1 bit) Nulo (NO ES NADA, NO ES UN ESPACIO VACIO)

Char (charter) carácter Varchar Variable 1 + 1 = 2‘1’ + ‘1’ = 11

Char(5) Varchar (5)

Juan_ JuanPedro PedroJoe__ Joe

15 Bytes 12 Bytes “Solo toma los caracteres que ocupa”

Date Time (Fecha y Hora)El Varchar se puede utilizar

My SQL Año-Mes-Día ‘2015/05/18’Varchar (5) Se puede utilizar para números que se usaran para operaciones.

IntegratedIDE Development Ambiente de desarrollo integrado

EnvirommentWork Bench

Page 5: Clase 8 SQL

IDE (Interfase de comunicación Consulta-llevar). Comunicación= interactuar. Herramienta amigable para comunicarme con el Server ambiente /*Texto Libre*/ Documentador sin que marque error de sintaxis para Work Bench

CREATE DATABASE (Nombre de BD Ejem: CURSO BD1); Siempre finalizan con ;SENTENCIA SQL TIPO DE OBJETO

Comandos

DROP (Elimina) TABLE (Nombre del Objeto)Comando – 1 soloScript – varios comandos, dependiendo los comandos.

LOAD DATA (Cargar datos)Carga en lote proceso BATCH

*.TXT , *.CSV (Valores Separados por coma , )

FIELDS TERMINATED BY (Campos terminados por) ‘ ; ’LINES TERMINATED BY (Carácter que termina cada línea) ‘ \n ’ carácter de escape que significa Enter donde “n” significa NEW

1.- Tener un txt o un csv con ciertas características LOAD DATA INFILE ‘C:\USR\FILAS.TXT’Ciertas características

INTO TABLE Alumno (Nombre de la tabla)

RestriccionesEs una limitante que se define para una columna, es decir los datos que se intentan insertar en una columna tienen limitantes, si no pasa la prueba de la restricción la fila no se inserta.

¿Por qué se deben usar las restricciones?Para lograr la conecta normalización de la BD considerando las reglas del negocio.

a) NOT NULLDefine como de captura obligatoria el dato para esa columna

b) UNIQUEEstablece que el dato para una columna es irrepetible

c) DEFAUL Define un valor por defaul en caso de que la columna sea de captura obligatoria y se intente dejar nulo (NULL)

d) PRIMARY KEYEs la columna que identifica cada fila, se dice que es la clave principal y es por naturaleza UNIQUE y NOT NULL

BD

LOAD DATA

Page 6: Clase 8 SQL

Esta columna se usa también para crear relaciones con otras tablas.

LLAVE PRIMARIA AUTO INCREMENTABLE

Es aquella a la que no se requiere ingresar con dato pues el valor es controlado de forma automática con un consecutivo que va de 1 en 1 incrementándose.

INSERT INTO (Nombre Tabla) (Nombre Columna)VALUES (Valor de la columna)

Comando para mostrar el detalle de la estructura de una tabla.DESCRIBE (Nombre de la tabla).

Crear tablas con sus variantes Insertar tablas con sus variantes Restricciones Tipos de datos

ALTER = ModificarADD = AgregarADD COLUMN =Agregar Columna

ALTER = Modificación en las reglas de negocio, por errores u omisiones en el diseño original.

Comandos DDL (Estructura, definición y creación, usados hasta este momento)CREATE, DROP, ALTER

Comandos DML (Datos, modificar, manipular, usados hasta este momento)SELECT, INSERT INTO, LOAD DATA, USE, DESCRIBE

SELECT DISTINCT = PARA QUE TRAER DUPLICADOS EN UNA CONSULTA.

CHANGE COLUMN O CHANGE… Sirve para cambiar el nombre y tipo de la columna, este siempre debe tener el nombre y tipo de la columna, siempre aunque solo se quiera modificar 1 de los 2.

Temas vistos: Como Agregar, modificar, eliminar y como cambiar el nombre a una columna.

Relaciones: En una BD relacional deben crearse relaciones entre las tablas a fin de garantizar la integridad de los datos. Estas relaciones se crean usando la llave primaria de una tabla y la llave secundaria de otra, siendo obligado que ambas columnas sean del mismo tipo.

Existen diferentes tipos de relaciones:

Uno a varios

Empleados#Empleado ID

Page 7: Clase 8 SQL

Nombre

Clase 8

Relación 1ª1

EmpleadoEmpl IDNombreApellidoFecha AltaSalarioTeléfonoDirección

723-142-548

ExpedienteExped IDDep EconTipo de sangreCorreoEstado civilReferencia 1Referencia 2

Préstamo Empl IDMontoFechaSaldo

11

1

Page 8: Clase 8 SQL

QUERYS

Sentencias select permite el desarrollo de consultas desde la BD

Negro es lo que no es fijo, lo de color azul son las palabras cerradas

Un asterisco muestra todas las columnas.

Page 9: Clase 8 SQL

Usar alias para los nombres de las columnas “AS”(opcional), las comillas son opcionales siempre y cuando se trate de una sola palabra

Page 10: Clase 8 SQL

FiltrosUn filtro es un criterio de selección de filas que utiliza un planteamiento lógico con operadores de comparación=, Y las conectivas lógicasAND “y”

OR ”o”El planteamiento puede utilizar paréntesis ya que estos pueden modificar el resultado de la consulta

Aquí se usa

Seguido de la palabra on para establecer el criterio de igualdad idéntico a cómo se escribió cuando se uso were

Page 11: Clase 8 SQL
Page 12: Clase 8 SQL

**Formas de unir tablas

Page 13: Clase 8 SQL

Columnas calculadas son aquellas que no existen en alguna tabla si no que se obtienen de un cálculo aritmético básico usando los valores de otras columnas o valores fijos.

Page 14: Clase 8 SQL
Page 15: Clase 8 SQL

COLUMNAS CALCULADAS

Consulta que muestre cual es el valor total del inventario (existemcia) de cada producto

Clave, Descripción, Precio, Existencia, Total, Total de Promoción

Productid, productname, unitprice, unitsinstock

Page 16: Clase 8 SQL

Liquidar categoría 2 30% total de promoción

Page 17: Clase 8 SQL

Consulta que muestre un pronóstico de ventas aumentado en 8% utilizando los renglones de los pedidos

PEDIDO, CLAVE, DECRIPCION, TOTAL, PRONOSTICO

Page 18: Clase 8 SQL

664-244-732

Page 19: Clase 8 SQL

Como actualizar datos en las tablas

UPDATE

Siguiente función de agregado “SUM”

SUM() sumas las cantidades numéricas de una columna y devuelve el total .

Cuantas piezas hay en existencia de los productos de categoría 2

SELECT SUM(UNITSINSTOCK) AS PIEZAS

FROM

PRODUCTS

WHERE

Page 20: Clase 8 SQL

CATEGORYD = 2;

Incrementar precios

Page 21: Clase 8 SQL

No se pueden usar operadores de comparación, cuando de valores nulos se trata, usamos el verbo ser o estar

Uso del comprador like en las consultas

Usado para comparar cadenas de caracteres mediante los comodines % _

Like(como)

Page 22: Clase 8 SQL

/*Funciones de agregado*/

Una función es un grupo de instrucciones que se almacenan bajo un nombre (En la BD) y que se ejecutan cada vez que la función es invocada. El nombre de la función se acompaña siempre de paréntesis los cuales pueden o no contener parámetros. El parámetro es enviado a la función, esta lo procesa y no devuelve un valor.

Las funciones de agregado son aquellas que devuelven un solo valor.

LOS CAMPOS CON NULL SE IGNORAN LAS FILAS

Page 23: Clase 8 SQL

}

CORRECTO

TODOS LOS VARCHAR se ponen entre comillas

Page 24: Clase 8 SQL