Sql Fargo

  • Uploaded by: fabian
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sql Fargo as PDF for free.

More details

  • Words: 2,721
  • Pages: 7
SQL Fargo LENGUAJE DE CONSULTA ESTRUCTURADO, en informática, un sub lenguaje utilizado en bases de datos para consultar, actualizar y manejar bases de datos relacionales. Se deriva de un proyecto de investigación de IBM, que creó el "lenguaje estructurado de consulta en inglés" (SEQUEL) en la década de los setenta. El SQL es un estándar aceptado en productos de bases de datos. A pesar de que no se trata de un lenguaje de programación como puedan serlo C o Pascal, puede utilizarse en el diseño de consultas interactivas y puede incluirse en una aplicación como un conjunto de instrucciones de manejo de datos. El SQL estándar cuenta también con elementos destinados a la definición, modificación, control y protección de los datos. Tanto los usuarios técnicos como los que no lo son pueden utilizar este lenguaje. SQL: Siglas del ingles de Lenguage Query System= Sistema de Lenguaje de Preguntas utilizado generalmente en sistemas administradores de bases de datos, tanto en Main Frame, como en computadores personales. SQL es un lenguaje universal dedicado a las bases de datos. Es un lenguaje de sintaxis simple y muy potente. Mediante él se puede recorrer, modificar o borrar registros de las tablas de datos. SQL (Structured Query Language) es un potente lenguaje informático que cumple las funciones de DDL y DML en los SGBD relacionales. Su origen está en el lenguaje SEQUEL (Structured English QUEry Language) desarrollado en IBM en los años 1974-75. Oracle fue el primer fabricante de sistemas de bases de datos en comercializar una implementación de SQL en 1979. IBM lanzó el producto SQL/DS en 1981 y dos años más tarde el conocido DB2. Se trata de un lenguaje fuertemente basado en el inglés, que puede ser utilizado en modo conversacional mediante un intérprete o bien formando parte de un programa desarrollado en un lenguaje de programación anfitrión como C, Cobol, etc. (SQL embebido). La característica relacional más importante de SQL es que permite acceder a los datos sin necesidad de especificar cómo se ha de realizar dicho acceso permitiendo así la "navegación automática" por los datos

DML Fargo DML (Lenguaje de Manipulación de Datos). Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación

Comando DML SELECT INSERT

Permite generar consultas para ordenar, filtrar y extraer datos de la base de datos. Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. Utilizado para cargar lotes de datos en la base de datos en una única operación.

UPDATE DELETE

Utilizado para modificar los valores de los campos y registros especificados. Utilizado para eliminar registros de una tabla de una base de datos.

DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio, es decir, añadir, consultar, borrar o actualizar.En SQL los comandos SELECT, INSERT, UPDATE y DELETE son comandos DML Otras ódenes como COMMIT, START TRANSACTION o ROLLBACK están en el límite de lo que podemos considerar órdenes DML de SQL puesto que no inciden en la manpilación o consulta de datos pero sí en el proceso en que esto se realiza. Por cierto que lo de "START TRANSACTION" no es estándar y depende de la implementación de SQL (en Sybase si no recuerdo mal, una transacción se modela poniendo el AUTOCOMMIT a false y tras hacer el COMMIT o ROLLBACK, a true). Select * from Clientes; Select Codigo, Nombre, Direccion from Clientes; tabla Clientes ALIAS Select Codigo as Clave, Sueldo as "Salario Minimo" Clave y Salario Mínimo from Clientes;

-- Saca todos los datos de la tabla clientes -- Sacar los unos datos determinados de la

-- Pone Alias a los dos campos, apareciendo

DISTINCT : Permite evitar que se repitan valores iguales de las columnas especificadas tras la cláusula. Si en lugar de una se especifica una lista de columnas separadas por comas, se hace referencia a filas en las que el conjunto de datos de las columnas especificadas sea distinto. Select distinct Zona from Clientes; -- Saca el campo Zona, pero sin duplicar, un único valor de cada uno TABLA DUAL (Variables del sistema) Select sysdate, user from dual; son la fecha del sistema y del usuario. Select 'Yo soy ' || user || ' Hoy es ' || sysdate ejemplo: 'Yo soy XXX Hoy es 10/05/2007' (Operadores de Comparación) Select Apellido || ', ' || Nombre, filtra a aquellos que sean de la Zona 6 from Clientes where Zona = 6; Select Apellido || ', ' || Nombre pero que la comisión sean diferente a 10 from Clientes where Comision <> 10; ANY o SOME Select Apellido || ', ' || Nombre comisión sea menor de cualquiera de ellos from Clientes where Comision <= ANY (5, 10, 15, 20); ALL Select Apellido || ', ' || Nombre comisión sea mayor que todos ellos from Clientes where Comision >= ALL (30, 35, 40, 45); NOT Select Apellido, Zona menor que 15 (es decir, no sea mayor from Clientes where Not (Zona >= 15); AND Select Apellido, Nombre Miguel y como Apellido Alcaraz from Clientes

-- Saca datos del sistema (tabla dual), como -- Concatena la cadena con variables: P. -- Concatena el Apellido y el Nombre, además

-- En este caso, concatena Nombre y Apellidos,

-- Sacan aquellos datos de clientes cuya

-- Sacan aquellos datos de clientes cuya

-- Mostrarán aquellos datos cuyo zona sea o igual que 15)

-- Sacará los datos que tengan como Nombre

where Nombre = 'Miguel' And Apellido = 'Alcaraz';

OR Select Apellido, Nombre Miguel o Francisco from Clientes where Nombre = 'Miguel' Or Nombre = 'Francisco';

-- Sacará los datos que tengan como Nombre

IN y NOT IN: Permite buscar entre uno o un conjunto de valores. En este último caso los valores deben estar separado por comas y encerrados entre parentesis. Select Apellido, Nombre, Zona -- Mostrará aquellos datos cuya zona sea 2, 4 u8 from Clientes where Zona In (2, 4, 8); Select Apellido, Nombre, Zona -- En este caso, mostrará aquellos datos que no sean 2, 4 u 8 from Clientes where Zona Not In (2, 4, 8); BETWEEN Select Apellido, Nombre, Sueldo -- Muestra los clientes cuyo salario esté comprendido entre esos valores, ambos incluidos from Clientes where Sueldo Between 1800 and 2300; EXISTS Select Apellido, Nombre, Zona -- En esta consulta, sacaremos los datos, únicamente si existe algún dato en la from Clientes cl -- Select que tenemos en el Where primero. where exists (select 1 from ForPago fp where fp.CodForPag = cl.CodForpag and fp.Tipo = 'GIRO'); IS NULL y IS NOT NULL -- Sacará los datos si el campo Sexo está Null (es decir, no hay datos) Select Apellido, Nombre from Clientes where Sexo Is Null; LIKE Select Apellido, Nombre -- Muestra datos en los que el apellido empiece por Al y el nombre empiece por M from Clientes where Apellido like 'Al%' and Nombre like 'M%'; ORDER BY: Permite sacar los resultados de forma ordenada. Por defecto, la ordenación será ascendente, salvo que se emplee el modificador DESC, para especificar una ordenación descendente Select Apellido, Nombre -- Saca los datos y los ordena por el campo Apellido from Clientes where zona = 5 order by Apellido; Select Apellido || ' , '|| Nombre as 'Nombre de Empleado' -- En este caso, ordena por Nombre from Clientes where zona = 5 order by Nombre; Select Apellido, Nombre, Salario, CP -- Aquí se ordena por CP descendente, Apellido Ascendente y por Nombre from Clientes where zona in (4, 5, 6) order by CP desc, Apellido asc, Nombre; Select distinct 'Zona ' || Zona -- Ordena por una constante más el campo Zona from Clientes order by 'Zona' || Zona; Select Apellido, Nombre, salario, CP -- En este caso, se ordena por Apellido, CP y Salario (1, 4, 3) from Clientes where zona in (3, 4, 6) order by 1, 4, 3; ORDER BY (Ordenando Nulos) : Select Apellido, Salario, CP -- Saca aquellos apellidos que tengan Martin en su nombre from Clientes -- Está ordenado por el CP, pero saca los que sean campos nulos primero where Apellido like '%Martin%' order by CP asc nulls first;

CASE Select Poblacion, Prov, una serie de valores case Prov el nombre de la provincia) when 3 then 'Alicante' 'No tiene provincia' when 8 then 'Barcelona' Provincia when 28 then 'Madrid' when 30 then 'Murcia' else 'No tiene Provincia' end as Provincia from Clientes where Codigo Between 100 and 300; Select Apellido, Zona, Salario, de cada When, pero el resto es igual case número en concreto when Salario < 6000 then 'Bajo' when Salario < 10000 then 'Regular' when Salario >= 10000 then 'Alto' end as Categoria from Clientes where Zona <= 4 order by Apellido;

-- En este caso, compara el campo Prov con -- según el valor, se le da un valor (que sería -- Si no está entre los valores, toma el valor -- El dato que sea se asignará a la variable

-- En este caso, se incluye el campo dentro -- es así, porque ya no se compara por un

DDL Fargo Comandos DLL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conunto de órdenes que permiten definir las estructuras que van a contener los datos en un repositorio. Como concepto, es ajeno a un tipo de repositorio concreto, ya sea una base de datos relacional, un OLAP o XML. Un subconjunto de SQL son comandos DDL. Es el formado por las ódenes CREATE, DROP y ALTER Comando CREATE

Descripción Utilizado para crear nuevas tablas, stored procedures e índices

DROP

Empleado para eliminar tablas, stored procedures e índices

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos

Create Table: Crea una tabla CREATE TABLE nombre Tabla (nombre_campo1 Tipo_de_variable [(tamaño)] [Null/Not Null] [Primay Key] [Check (condición)], nombre_campo2 Tipo_de_variable [(tamaño)] [Null/Not Null] [Primay Key], [FOREIGN KEY(Clave Secundaria) REFERENCES Tabla_Primaria(Clave_Primaria_Tabla_Primaria1, [Clave_Primaria_Tabla_Primaria2)] [CONSTRAINT pk_NombreRestriccion PRIMARY KEY (clave1, clave2)] [CONSTRAINT fk_NombreRestriccion FOREIGN KEY (clave secundaria) REFERENCES TablaPrimaria(ClavePrimaria)] etc... ); Se puede añadir, como parámetro adicional a las Claves ajenas (Foreign key), la opción ON DELETE CASCADE para que elimine en cascada los registros si se elimina la clave primaria de la que depende.

Ejemplo CREATE TABLE Clientes ( Cli_Cod Integer Not Null Primary Key, Cli_Descripcion Varchar2(30) Not Null, Cli_Direccion Varchar2(30) Not Null ); Existe una variación, que sería la de crear una tabla a partir de una SELECT CREATE TABLE nombre Tabla AS SELECT (Sentencia SQL); Ejemplo CREATE TABLE Copia_Clientes AS SELECT * FROM Clientes WHERE Modif = 1; Esto, lo que realiza, es una Select y el resultado de la misma se inserta como una tabla nueva. Create View: Una vista es simplemente una instrucción archivada de SQL, por lo cual no contiene datos. Se puede formar a partir de tablas, pero también de otras vistas. Se representa en forma de tabla, pudiéndose insertar, modificar o borrar información de ellas. Sirve para mostrar ciertos datos a usuarios, no mostrando otros que por la razón que sean, no queremos que sean accesibles. CREATE [OR REPLACE] VIEW nombre Tabla AS SELECT (Sentencia SQL); Ejemplo: CREATE VIEW Consulta_Saldo_vw AS SELECT Cl.Codigo, Cl.Nombre, Hi.SaldoAnual FROM Clientes Cl, Historico Hi WHERE (cl.codigo = hi.codigo) AND (Hi.SaldoAnual BETWEEN 2000 AND 2500) ORDER BY CL_SaldoAnual Desc; Con esto, se generaría la vista, pero no se ejecuta, sino que se guarda con ese nombre (Consulta_Saldo_vw). Para ejecutar una vista, sería similar al Select de una tabla SELECT * FROM nombre Vista; Ejemplo SELECT * FROM Consulta_Saldo_vw; Create Index: Se utilizan para que las búsquedas por ciertos campos sean más ágiles. No es recomendable cuando los datos que se muestren sean superiores al 5% del total. El índice puede ser unívoco (cuando no se admiten campos duplicados en dicho índice) o no unívoco. CREATE [UNIQUE] INDEX Nombre Indice ON Nombre de tabla (Nombre del Campo) [ASC/DESC]; Las columnas deben de ir por orden de prioridad. UNIQUE: Si se emplea,el índice comprobará, e impedirá, que no se introduzca un valor repetido en la columna con la que está asociado. ASC/DESC: Indica si el índice lleva orden ascendente o descendente.

Ejemplo CREATE UNIQUE INDEX ui_Cliente_Nombre ON Cliente (Cl_Nombre); Alter Table: Esta instrucción DDL se suele utilizar para cambiar características de las tablas, como

pueden ser insertar campos, modificar campos, añadir restricciones (CHECK, Claves, etc.). Al ser una función tan diversas, vamos a intentar analizarlas todas: ADD: Se emplea para añadir un nuevo archivo de control a la base de datos DROP: Permite borrar un archivo de control RENAME: Permite renombrar un archivo de control Añadir Restricción de Clave Primaria: Si no se añade la clave primaria a la hora de crear la tabla, se puede anexar después. ALTER TABLE Nombre Tabla ADD CONSTRAINT Nombre_Restricción PRIMARY KEY (Nombre de Campo1, Nombre de Campo2, ... etc); Ejemplo ALTER TABLE Cliente ADD CONSTRAINT pk_Codigo_Cliente PRIMARY KEY (Cl_Cliente); Añadir Restricción de Clave Secundaria: Se utiliza para definir la relación entre dos tablas. Es necesario que en la tabla referenciada esté definida la Primary Key, porque la relación se crea entre la Primary Key de la tabla referenciada y las columnas que indicamos en la cláusula Foreign Key. ALTER TABLE Nombre Tabla ADD CONSTRAINT Nombre_Restricción FOREIGN KEY (Nombre de Campo1, Nombre de Campo 2, .. etc..) REFERENCES Tabla Referenciada; Ejemplo ALTER TABLE Cliente ADD CONSTRAINT fk_Codigo_Cliente FOREIGN KEY (Cl_Cliente) REFERENCES Nominas; Añadir Campo Nuevo a Tabla: Sirve para añadir un nuevo campo (una nueva columna) a una tabla ya creada. Debe de tenerse en cuenta que sólo se puede añadir una columna por sentencia. ALTER TABLE Nombre Tabla ADD (Nombre_Campo Tipo_de_Variable [(tamaño)] [Null/Not Null]) La restricción NOT NULL sólo puede aplicarse si la tabla está vacía, es decir, aún no tiene ninguna fila. Para crear una nueva columna con la restricción NOT NULL. Si la tabla ya tiene filas (datos), primero deberá añadirse la columna sin la restricción, rellenar la columna, y modificarla después para que tenga la restricción NOT NULL. Ejemplo ALTER TABLE Clientes ADD (Cl_Poblacion Varchar2 (30) ); Modificar Campo de una Tabla: Podemos cambiar alguna de las características de un campo, también con este comando ALTER TABLE Nombre Tabla MODIFY Nombre_Campo Nuevas_Condiciones No se pueden borrar ni modificar nombres de columnas ya existentes. Sólo se pueden modificar las variables de tipo carácter a otras variables de tipo carácter si toda la columna está compuesta de NULL, pero sí está permitido aumentar el tamaño de las variables carácter. Si puede cambiarse el tamaño de las variables numéricas. Las modificaciones mediante DEFAULT de una columan afectarán sólo a los datos que se introduzcan después de la modificación, no a laos anteriores. Ejemplo ALTER TABLE Clientes MODIFY Nombre Varchar(30) not null; En este caso, lo que hemos hecho es cambiar de un tamaño 10 que había en el momento de crear el campo a uno de tamaño 30, añadiendole también que no se admiten campos nulos en dicho campo. Otro caso sería poner un campo por defecto, en este cao, quremos que el número de vacantes por defecto para cualquier curso sea de 20

ALTER TABLE Curso MODIFY (Vacantes default 20); Reglas de Validación (Restricción Check): Las reglas de validación son muy importantes porque permiten establecer una condición a los valores que debe aceptar una columna. ALTER TABLE Nombre Tabla ADD CONSTRAINT CK_NombreTabla_NombreCampo CHECK (Condición); Ejemplo: ALTER TABLE Curso ADD CONSTRAINT CK_Curso_PreCurso CHECK ( Precurso > 0 ); Alter Constraint : En muchos casos debemos garantizar que los valores de una columna o conjunto de columnas de una tabla acepten sólo valores únicos ALTER CONSTRAINT Nombre Tabla ADD CONSTRAINT Nombre Restricción UNIQUE (Nombre Campo 1, Nombre Campo 2, ... etc.); Ejemplo ALTER TABLE Alumno ADD CONSTRAINT U_Alumno_NomAlumno UNIQUE (NomAlumno); Drop: Este comando se utiliza para eliminar objetos de nuestra base de datos. Se suele utilizar la palabra Drop, a continuación el nombre del objeto que se desea eliminar (por ejemplo, Table) y por último, el nombre de dicho objeto (Clientes). Veamos algunos ejemplos: DROP Nombre_Objeto Nombre_Elemento [CASCADE CONSTRAINTS]; Si se borra una tabla, se borran, a su vez, los índices a ella asociados, vistas, vistas creadas a partir de dichas vistas, etc. Si se borra una tabla a la que otras hacen referencia en claves externas habrá que incluir la cláusula CASCADE CONSTRAINT Ejemplos: DROP TABLE Clientes DROP VIEW Informe_Clientes_vw DROP INDEX pk_Codigo_Cliente

Related Documents

Sql Fargo
December 2019 9
Fargo
May 2020 6
Fargo Dtc400
May 2020 11
Fargo Dtc550
June 2020 8
Fargo Hdp5000
May 2020 11
Fargo Dtc400e
June 2020 4

More Documents from "MCO di Osio Igor"