Your SlideShare is downloading. ×
0
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Sql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sql

489

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
489
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tomando como referencia el libro de C.J.DateIntroducción a los Sistemas de Bases de Datos. 1
  • 2. SQL “Structured Query Language” •Las consultas más simple SQL requieren tuplas que satisfagan alguna condición. Estas consultas simples, como la mayoría de las consultas SQL utilizan tres palabras reservadas, SELECT, FROM y WHERE. 2
  • 3.  La cláusula SELECT indica los atributos de las tuplas que se desean consultar. Esto es similar a una proyección en algebra relacional. (* indica “todos los atributos”). 3
  • 4.  La cláusula FROM hace referencia a la(s) relacion(es) sobre las cuales se refiere la consulta. La cláusula WHERE es una condición, tal como una condición de selección en álgebra relacional. 4
  • 5.  Antes de comenzar a realizar consultas en SQL, se debe definir la base de datos y las relaciones que la conforman. Es importante que antes de continuar haber leído como acceder al monitor de mysql de la guía de ejercicios e investigar los tipos de datos soportados por Mysql. 5
  • 6. Definiendo una base de datos enSQLSuponer que se desea definir o crear la base de datosEmpresa.Lo primero que se debe hacer desde el monitor de mysql escrear la base de datos y ponerla en uso para comenzar adefinir las relaciones (tablas)mysql> Create database Empresa;El comando Create database literalmente indica Crear labase de datosSi se quiere visualizar si existe la base de datos escribir elcomando:Mysql> show databases;Se deben listar las bases de datos existentes y entre ellasEmpresa. 6
  • 7. Estas son las relacionesque conformarán la basede datos Empresa 7
  • 8. Definiendo la tabla proveedor. CREATE TABLE nombre_table( lista de atributos (nombre y tipo del atributo), llaves o restricciones); Para indicar el término de una orden o comando en mysql se escribe ; Create table Proveedor( Vno varchar(3) not null primary key, Vnombe varchar(20), Status int, Ciudad varchar(15)); Si la llave primaria es simple su definición puede ir en la misma línea de la definición del atributo seleccionado para ser llave. RECUERDEN QUE LAS LLAVES PRIMARIAS NO ACEPTAN VALORES NULOS, POR ESO LA DECLARACIÓN NOT NULL Cuando se utilizan tipos de datos carácter se escribe entre paréntesis la longitud de los mismos. 8
  • 9. Definiendo la tabla parte: Create table Parte( Pno varchar(3) not null primary key, Pnombre varchar(12), Color varchar (10), Peso int, Ciudad varchar(15)); 9
  • 10. Definiendo la tabla Suministra: Observar que la llave primaria al ser compuesta se define después de la definición de los atributos . En esta tabla existen dos llaves foráneas que son primarias: la primera en la relación Proveedor y la segunda en la relación Parte.Create table Suministra(Vno varchar(3) not null,Pno varchar(3) not null,Cant int,Primary key (Vno,Pno),Foreign key (Vno) referencesProveedor(Vno),Foreign Key (Pno) referencesParte(Pno)); 10
  • 11. Insertando datos en lasrealciones La sentencia Insert es una solicitud para insertar una tupla. Insert into nombre_tabla (lista atributos) values (lista de valores); 11
  • 12. Ejemplo:Insert into Proveedor (Vno, Vnombre, Status, Ciudad)values (‘V1’, ‘Suárez’, 20, ‘Guadalajara’);Nota: Si ya conocemos los atributos de la relación y elorden en que están definidos la consulta puede quedarde la siguiente manera:Insert into Proveedor values (‘V1’, ‘Suárez’, 20,‘Guadalajara’); 12
  • 13. Insertar datos en ParteObservar como losdatos alfanuméricosvan entre comillassimples. Insert into Parte (Pno, Pnombre, Color, Peso, Ciudad) values (‘P1’, ‘Tuerca’, ‘Rojo’, 12, ‘Guadalajara’); O Insert into Parte values (‘P1’, ‘Tuerca’, ‘Rojo’, 12, ‘Guadalajara’); 13
  • 14. Insertar datos en SuministraInsert into Suministra (Vno, Pno,Cant) values (‘V1’, ‘P1’, 300);OInsert into Suministra values (‘V1’,‘P1’, 300); 14
  • 15. Load Data Infile Otra manera de introducir datos a las tablas, es creando un archivo txt, el cual debe ser almacenado en la carpeta bin de mysql, este archivo contendrá las tuplas de una relación, el conjunto de valores de los atributos deberán ir en el orden definidos separados por tabulador. 15
  • 16. Ejemplo: Load Data Infile “datosProveedor.txt” into table Proveedor; Crear el archivo txt con 5 filas, cada valor debe estar separado por tabulador, guardar el archivo txt con el nombre datosProveedr.txt en la carpeta BIN de Mysql. El archivo lo pueden crear desde el bloc de notas. 16
  • 17. Deben estar en el orden correcto, tal como se muestra en latabla.Es importante que la base de datos este en USO.mysql> use Empresa;mysql>Load Data Infile “datosProveedor.txt” into tableProveedor; 17
  • 18. Actualizando datos En ciertas situaciones se puede desear cambiar un valor en una tupla sin cambiar todos los valores en la tupla. Para este propósito puede usarse la sentencia Update, se pueden elegir las tuplas que se van a actualizar usando una consulta. Update nombre_tabla set conjunto de atributos a modificar where condición; 18
  • 19. Ejemplos: Suponer que el proveedor Camacho se traslada a la ciudad de Xalapa Update Proveedor set ciudad=‘Xalapa’ where Pnombre=‘Camacho’; El peso del tornillo azul ha sido modificado a 14 libras: Update Parte set Peso=14 where Pnombre=‘Tornillo’ and Color=‘Azul’; 19
  • 20.  Para comprobar los cambios se efectúan las siguientes consultas desde el monitor de mysql. A) mysql> Select * > From Proveedor > Where Pnombre= ‘Camacho’; Y b) mysql> Select * > From Parte > Where Pnombre=‘Tornillo’ and Color=‘Azul’; 20
  • 21. Borrando tuplas Delete from R where C; Ejemplo: El proveedor Camacho ha dejado de trabajar para la empresa: Delete from Proveedor where Pnombre=‘Camacho’; 21
  • 22.  Si se desea corroborar que se ha borrado al proveedor Camacho, Realizar la siguiente consulta: mysql> Select Vnombre From Proveedor; 22
  • 23.  Delete from Proveedor; Si se ejecuta esta consulta se borran todas las tuplas de la relación Proveedor. 23
  • 24. Consultas Obtener los datos de los proveedores que viven en Guadalajara: Select * From Proveedor Where Ciudad=‘Guadalajara’; Recuerden que el Select es el proyectar del álgebra (si se pone el * indica que se quiere consultar la tupla completa) 24
  • 25. El resultado de la consultaes: Vno Pnombre Status Ciudadad V1 Suárez 20 Guadalajara V4 López 20 Guadalajara 25
  • 26.  Obtener los suministros (Suministra) cuya cantidad esté entre 300 y 750 inclusive. Select * From Suministra Where cant>= 300 and cant<= 750; 26
  • 27. El resultado de la consultaes: Vno Pno Cant V1 P1 300 V1 P3 400 V2 P1 300 V2 P2 400 V3 P2 400 V4 P4 300 V4 P5 400 27
  • 28.  Obtener todas las ocurrencias de Parte.Color y Parte.Ciudad Select Color, Ciudad From Parte; Observar que en esta consulta no hay una condición. 28
  • 29. El resultado de la consultaes: Color Ciudad Rojo Guadalajara Verde Monterrey Azul México 29
  • 30. JOINEl concepto de tabla reunida (o relaciónreunida) se incorporó en SQL para quelos usuarios pudieran especificar una tablaresultante de una operación de reunión enla claúsula FROM de una consulta.Recuerden que para realizar el JOIN debeexistir un atributo en común entre lastablas participantes. 30
  • 31.  Obtener el nombre de los proveedores que suministran la pieza con el código P4. Select Vnombre From Proveedor JOIN Suministra ON Proveedor.Vno= Suministra.Vno Where Suministra.Pno=‘P4’; 31
  • 32. El resultado de la condiciónWhere es: Vno Pno Cant V1 P4 200 V4 P4 300El resultado del JOIN es: Vno Vnombre Status Ciudad Pno Cant V1 Suárez 20 Guadalajara P4 200 V4 López 20 Guadalajara P4 300 32
  • 33. Y el resultado de Select: Vnombre Suárez López 33
  • 34. LIKE MySQL posee capacidades estándar para utilizar patrones así como también una forma de patrones basada en expresiones regulares extendidas Los patrones SQL permiten emplear el carácter _ para representar coincidencia con un carácter individual y % . 34
  • 35.  Encontrar los nombres de los proveedores cuya ciudad donde radican comience con G. Select Vnombre From Proveedor Where Ciudad LIKE ‘G%’; 35
  • 36. El resultado de la consultaes: Vnombre Suárez López 36
  • 37.  Encontrar los nombres de los proveedores que contengan la letra u Select Vnombre From Proveedor Where Vnombre LIKE ‘%u%’; 37
  • 38. El resultado de la consultaes: Vnombre López 38
  • 39.  Encontrar los nombres de los proveedores que contengan exactamente 5 caracteres Select Vnombre From Proveedor LIKE ‘-----’; 39
  • 40. El resultado de la consultaes: Vnombre López 40
  • 41.  Esta presentación es una Guía para iniciar con el lenguaje SQL. Recuerden que tienen una guía de ejercicios y una antología. Así como cualquier libro de bases de datos que se encuentra en la bibliografía básica del programa o un libro de mysql. 41

×