Successfully reported this slideshow.
Your SlideShare is downloading. ×

TEMA3-SQL-(PARTE 1).pdf

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 29 Ad

More Related Content

Advertisement

TEMA3-SQL-(PARTE 1).pdf

  1. 1. LENGUAJE SQL
  2. 2. structured query language = lenguaje de consulta estructurado SQL es el lenguaje de consulta universal para bases de datos. es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar información de interés de una base de datos, así como también hacer cambios sobre ella. Que es el Lenguaje SQL:
  3. 3. Breve repaso por la historia 1970 Teniendo en cuenta los aportes hechos por Codd, donald Chamberlin y otras personas trabajaron en los laboratorios de investigación de IBM, con el fin de desarrollar un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional, al cual llamaron SEQUEL (Lenguaje de consulta estructurado Inglés) El cientifico informático E. F. Codd propone el modelo relacional y asociado a éste un sublenguaje de acceso a los datos basado en el cálculo de predicados 1974
  4. 4. Breve repaso por la historia 1974 - 1977 Se implementan prototipos como el SEQUEL-XRM llevando así a una revisión del lenguaje SEQUEL, cambio el nombre por motivos legales a SQL. 1977 La IBM desarrolla el Sistema gestionador de bases de datos(SGBD) experimental System R
  5. 5. 1979 Fue oracle quien introdujo SQL por primera vez en un Programa comercial 1986 El ANSI adoptó SQL como estándar para los lenguajes relacionales, con la primera entrega de este tipo la cual fue llamada SQL-86 o SQL1 SQL se transformó en estándar ISO, a nivel normativo. 1987 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". " este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideraron suprimir " por esto: Actualmente Sql es el estándar de facto de la inmensa mayoría de los SGBD comerciales, este estándar ha sido centro de algunas modificaciones debido al variante mundo de las conexiones informáticas
  6. 6. Características  Explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones a través del calculo y el algebra relacional.  Es un lenguaje declarativo de "alto nivel" o "de no procedimiento“.  Una sentencia SQL es como una frase (escrita en inglés ) con la que decimos lo que queremos obtener y de donde obtenerlo.
  7. 7. Sublenguajes Las sentencias SQL se clasifican según su finalidad dando origen a tres Sublenguajes:  Lenguaje de definición de datos (Data Definition language)DDL. es el que se encarga de la definición de la base de datos y la modificación de la estructura de los objetos que estén en ella. Algunos comandos propios de este sublenguaje son CREATE, ALTER, DROP y TRUNCATE CREATE Utilizado para crear nuevas tablas, campos e índices y por ende una Base de Datos. DROP Empleado para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
  8. 8. Sublenguajes  La creación de tablas se lleva a cabo con la sentencia CREATE TABLE.  Ejemplo: creación del siguiente esquema de BD. CLIENTES (CI, NOMBRE, DIR) SUCURSALES (CODSUC, CIUDAD) CUENTAS (COD, CI, CODSUC, SALDO)  Se empieza por las tablas más independientes: CREATE TABLE CLIENTES ( CI VARCHAR(10) NOT NULL, NOMBRE VARCHAR(20), DIR VARCHAR(30), PRIMARY KEY (CI) ); CREATE TABLE SUCURSALES ( CODSUC VARCHAR(4) NOT NULL, CIUDAD VARCHAR(30), PRIMARY KEY (CODSUC) );
  9. 9. Sublenguajes  El siguiente paso es crear la tabla CUENTAS, con las claves externas: CREATE TABLE CUENTAS ( COD VARCHAR(4) NOT NULL, CICLIENTE VARCHAR(9) NOT NULL, CODSUC VARCHAR(4) NOT NULL, SALDO INT DEFAULT 0, PRIMARY KEY (COD, CI, CODSUC), FOREIGN KEY (CICLIENTE) REFERENCES CLIENTES (CI), FOREIGN KEY (CODSUC) REFERENCES SUCURSALES (CODSUC) );
  10. 10. EJEMPLO 1: Se desea diseñar una base de datos para una tienda que se dedica a la compra y venta de accesorios informáticos. La tienda dispone de una serie de productos, de cada producto se desea guardar el código, descripción, precio y cantidad existente. De cada cliente se desea guardar el ci, nombre, apellidos, dirección y númeo de teléfono. Un cliente puede comprar varios productos en la tienda y un mismo producto puede ser comprado por varios clientes. Cada vez que se compre un artículo quedara registrada la compra en la base de datos junto con la fecha en la cual se realizó la compra. La tienda tiene contactos con varios proveedores nacionales que son los que suministran los productos. Un mismo producto puede ser suministrado por varios proveedores. De cada proveedor se desea guardar el ci, nombre, apellidos, dirección, ciudad y número de teléfono.
  11. 11. EJEMPLO 2:  Se desea informatizar la gestión de una empresa de transporte que reparte paquetes por toda Bolivia. Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar su cedula de identidad, nombre, teléfono, dirección, salario y la población del lugar donde vive. De los paquetes transportados interesa conocer el código de paquete, descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos paquetes y un paquete solo puede ser distribuido por un camionero.  De las provincias a las que llega los paquetes interesa guardar el código de provincia y el nombre. Un paquete solo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios paquetes.  De los camiones que llevan los camioneros interesa conocer la matricula, modelo, tipo y potencia. Un camionero pude conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros.
  12. 12. Lenguaje de definición de datos (DDL) Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas así como otros objetos de la base de datos. CREATE - para crear objetos en la base de datos. ALTER - modifica la estructura de la base de datos. DROP - borra objetos de la base de datos. ADD - TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios asignados a los registros.
  13. 13. Pongámonos en situación, puede darse el caso de que tengamos que realizar algunas modificaciones en nuestra estructura de datos, en las tablas que tenemos creadas y que incluso contiene información. Pues esto es posible sin perder ningún valor utilizando un comando de SQL, ALTER TABLE. Con el comando ALTER TABLE podemos realizar modificaciones en nuestras tabla, tales como: añadir nuevas columnas, renombrar la estructura o cambiarle el tipo de dato. Algunas de las modificaciones es posible que no se permitan llevar a cabo porque dependan de otro objeto y en otras ocasiones, dependiendo de la cantidad de información que tengamos almacenada en dicha tabla, quizá realizar esa modificación sea demasiado lento. DDL
  14. 14. DDL : Cambiar el nombre de una tabla (RENAME) Podemos cambiar el nombre de la propia tabla, de una o varias columnas y de las constraint. Modificar el nombre de una tabla: ALTER TABLE nombre_actual RENAME TO nuevo_nombre
  15. 15. Para modificar varias columnas, hay que realizarlo cada columna por separado. Se puede omitir la palabra reservada COLUMN. A continuación se muestra la sentencia y un ejemplo donde se renombra dos de sus tres columnas. DDL : Cambiar el nombre de una tabla (RENAME) Podemos cambiar el nombre de la propia tabla, de una o varias columnas y de las constraint. Modificar el nombre de una tabla: ALTER TABLE nombre_actual RENAME TO nuevo_nombre ALTER TABLE nombre_tabla RENAME COLUMN actual_nombre_columna TO nuevo_nombre_columna;
  16. 16. Agregar una columna DDL : Cambiar el nombre de una tabla (RENAME) Podemos cambiar el nombre de la propia tabla, de una o varias columnas y de las constraint. Borrar una columna ALTER TABLE empleados DROP COLUMN nombre_columna ALTER TABLE empleados ADD COLUMN nombre_columna BOOLEAN DEFAULT true
  17. 17. EJERCICIO 3: se pide que se diseñe la base de datos para la automatización del control de los pedidos de productos para la distribuidora de electrodomésticos “TARIJA S.R.L.”. Se cuenta con el siguiente documento para solicitar los productos.
  18. 18.  Lenguaje de Manipulación de Datos (Data Manipulation Language) DML. A través de él podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que más frecuentemente utilizaremos, y que con ella se construyen las consultas. Algunos comandos propios de este sublenguaje son: SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos
  19. 19.  Lenguaje de Manipulación de Datos (Data Manipulation Language) DML.
  20. 20.  Lenguaje de control de datos (Data Control Language) DCL. encargado de la seguridad de la base de datos, en todo lo referente al control de accesos y privilegios entre los usuarios. Como ejemplo estan : GRANT, REVOKE.
  21. 21. Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. Cláusula Descripción FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos específicos HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico Clausulas
  22. 22. Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre un valor verdadero o falso. Los operadores lógicos se evalúan de izquierda a derecha. Operador Uso AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas. OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negación lógica. Devuelve el valor contrario de la expresión. + (Concatenación) Se usa para unir datos de tipo alfanumérico Operadores lógicos
  23. 23. Operador Uso < Menor que > Mayor que <> != Distinto de <= Menor o igual que >= Mayor o igual que = Igual que Operadores Relacionales
  24. 24. Numérico Alfanuméricos Fecha Lógico BLOB Otros Integer Char Date Bit Image Moneda Numeric varchar Date Time Text hipervínculo Decimal adjunto Float Tipos de datos que soporta SQL
  25. 25. Gracias por su atención

×