¿Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes usuarios deben poder utilizar estos datos. Por lo tanto, el concepto de base de datos generalmente está relacionado con el de red, ya que se debe poder compartir esta información. Generalmente se habla de un "Sistema de información" para designar a la estructura global que incluye todos los mecanismos para compartir datos.
¿Por qué utilizar una base de datos? Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte más útil a medida que la cantidad de datos almacenados crece. Una base de datos puede ser local, es decir que puede utilizarla solo un usuario en un equipo, o puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede acceder a ella a través de una red. La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.
Slide 5
BASE DE DATOS Y SQL - DBMS
Administración de bases de datos Rápidamente surgió la necesidad de contar con un sistema de administración para controlar tanto los datos como los usuarios. La administración de bases de datos se realiza con un Sistema de Gestión de Bases de Datos (SGBD) también llamado DBMS (Database Management System). El DBMS es un conjunto de servicios (aplicaciones de software) que permite a los distintos usuarios un fácil acceso a la información y proporciona las herramientas para la manipulación de los datos encontrados en la base (insertar, eliminar, editar).
El DBMS puede dividirse en tres subsistemas: el sistema de administración de archivos, cuya función es almacenar la información en un medio físico; el DBMS interno, que sirve para ubicar la información en orden; y el DBMS externo, que representa a la interfaz de usuario.
Slide 7
BASE DE DATOS Y SQL - DBMS
¿Cuáles son los DBMS más utilizados? Los principales sistemas de gestión de bases de datos son los siguientes: Borland Paradox, Filemaker, IBM DB2, Ingres, Interbase, Microsoft SQL server, Microsoft Access, Microsoft FoxPro, Oracle, Sybase, MySQL, PostgreSQL, mSQL y SQL Server 11.
Slide 8
BD Y SQL - DEFINICIÓN DE SQL
El SQL es un lenguaje estándar de programación para el acceso a bases de datos.
Lenguaje
de consulta estructurado (SQL: Structured Query Languague).
El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para las bases de datos MySQL, Oracle, DB2, SQL Server, Access.
Slide 9
BASE DE DATOS Y SQL - COMPONENTES
Comandos
Cláusulas
Operadores
Funciones
Slide 10
BASE DE DATOS Y SQL - COMANDOS
•Existen
2 tipos:
–
DDL (definición de datos): Permiten
crear y definir nuevas bases de datos, campos e índices.
•CREATE
•DROP
•ALTER –
DML (manipulación de datos): Permiten generar consultas para ordenar, filtrar y
extraer datos.
•SELECT
•INSERT
•UPDATE
•DELETE
Slide 11
BASE DE DATOS Y SQL - CLÁUSULAS
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Slide 12
BASE DE DATOS Y SQL - OPERADORES
* LÓGICOS: - AND - OR - NOT * COMPARACIÓN: <, >, <>, <=, >=
Slide 13
BASE DE DATOS Y SQL - FUNCIONES
COUNT
SUM
MAX
MIN
AVG
Slide 14
BD Y SQL - CONSULTA BÁSICA (SINTÁXIS)
SELECT AFROM BDonde A son los datos que requiero (columnas) y B es donde obtengo esos datos.SELECT * FROM nombretablaSELECT columna1, columna2 FROM nombretabla
Slide 15
BD Y SQL - CONSULTA BÁSICA (select)
Para los ejemplos, tendremos la siguiente tabla de personas denominada “personas”Estos son los datos almacenados en la tabla “personas:nombre apellido1 apellido2======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
Slide 16
BD Y SQL - CONSULTA BÁSICA (select)
Si queremos consultar todos los datos de la tabla “personas”SELECT * FROM personas
Este será el resultado:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZANTONIO GARCIA BENITO
Slide 17
BD Y SQL - CONSULTA BÁSICA (select)
Si queremos consultar todos los nombres y primer apellido de todas las personas:SELECT nombre, apellido1 FROM personas
Esta será el resultado:
nombre apellido1
====== =======
ANTONIO PEREZ
LUIS LOPEZANTONIO GARCIA
Al realizar una consulta puede ocurrir que existan valores repetidos para algunas columnas. Por ejemplo
SELECT nombre FROM personas
nombre
=====
ANTONIO
LUISANTONIO
Slide 21
BD Y SQL - CONSULTA BÁSICA (distinct)
Esto no es un problema, pero a veces queremos que no se repitan, por ejemplo, si queremos saber losnombre diferentes que hay en la tabla “personas”, entonces utilizaremos DISTINCT.
SELECT DISTINCT nombre FROM personas
nombre
=====
ANTONIOLUIS
Slide 22
BD Y SQL - CONSULTA BÁSICA (where)
•A
veces NO se necesitan obtener datos tan generales, y es cuando se aplican
filtros, con la clausula WHERE.
•
SELECT A
FROM B
WHERE C
Donde C, es una o más condiciones.
Slide 23
BD Y SQL - CONSULTA BÁSICA (where)
La cláusula WHERE se utiliza para hacer filtros en las consultas, es decir, seleccionar solamente algunasfilas de la tabla que cumplan una determinada condición.
El valor de la condición debe ir entre comillas simples ‘’.
Por ejemplo:
Seleccionar las personas cuyo nombre sea ANTONIO
SELECT * FROM personas WHERE nombre = ‘ANTONIO’
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZANTONIO GARCIA BENITO
Slide 24
BD Y SQL - CONSULTA BÁSICA (where)
SELECT nombres, apellidos, edad
FROM estudiantes
WHERE edad > 21
Los operadores AND y OR se utilizan para filtrar resultados con 2 condiciones.El operador AND mostrará los resultados cuando se cumplan las 2 condiciones.
Condición1 AND condición2
El operador OR mostrará los resultados cuando se cumpla alguna de las 2 condiciones.
Condicion1 OR condicion2
Slide 26
BD Y SQL - CONSULTA BÁSICA,(AND Y OR)
En la tabla personasnombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
La siguiente sentencia (ejemplo AND) dará el siguiente resultado:
SELECT * FROM personas WHERE nombre = ‘ANTONIO’ AND apellido1 = ‘GARCIA’
nombre apellido1 apellido2
======== ======== =======ANTONIO GARCIA BENITO
Slide 27
BD Y SQL - CONSULTA BÁSICA,(AND Y OR)
La siguiente sentencia (ejemplo OR) dará el siguiente resultado:SELECT * FROM personas WHERE nombre = ‘ANTONIO’ OR apellido1 = ‘GARCIA’
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZANTONIO GARCIA BENITO
Slide 28
BD Y SQL - CONSULTA BÁSICA,(AND Y OR)
También se pueden combinar AND y OR, como el siguiente ejemplo :SELECT* FROM personas WHERE nombre= ‘ANTONIO’ AND (apellido1 = ‘GARCIA’ OR
apellido1 = ‘LOPEZ)
nombre apellido1 apellido2
======== ======== =======ANTONIO GARCIA BENITO
ORDER BY se utiliza para ordenar los resultados de una consulta, según el valor de la columnaespecificada.
Por defecto, se ordena de forma ascendente (ASC) según los valores de la columna.
Si se quiere ordenar por orden descendente se utiliza la palabra DES
SELECT nombre_columna(s)FORRODMERnoBmYbrneo_mtbarbelacolumna(s) ASC | DESC
Slide 33
BD Y SQL - CONSULTA BÁSICA (orderby)
nombre apellido1 apellido2======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
SELECT nombre, apellido1 FROM personas ORDERBY apellido1 ASC
Esta es la consulta resultante:
nombre apellido1 apellido2
======== ======== =======
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITOANTONIO PEREZ GOMEZ
Slide 34
BD Y SQL - CONSULTA BÁSICA (orderby)
Ejemplo de ordenación descendiente (DES)SELECT nombre, apellido1 FROM personas ORDER BY apellido1 DESC
Esta es la consulta resultante:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITOLUIS LOPEZ PEREZ
La
cláusula GROUP BY se usa para generar valores de agregado para cada fila del
conjunto de resultados. Cuando se usan sin una cláusula GROUP BY, las funciones
de agregado sólo devuelven un valor de agregado para una instrucción SELECT.
Especifica una condición de búsqueda para
un grupo o agregado. HAVING sólo se puede utilizar con la instrucción SELECT.
Normalmente, HAVING se utiliza en una cláusula GROUP BY. Cuando no se utiliza
GROUP BY, HAVING se comporta como una cláusula WHERE.
•Los alias son un nombre de
asignación que se le dan a los recursos, en este caso las tablas. •Luego se pueden llamar a sus
atributos desde ese alias, continuados con un punto (“.”) .
La sentencia INSERT INTO se utiliza para insertar nuevas filas en una tabla.Es posible insertar una nueva fila en una tabla de dos formas distintas:
- INSERT INTO nombre_tabla VALUES (valor1, valor2, valor3, …)
-INSERT INTO nombre_tabla (columna1, columna2, columna3,…) VALUES (valor1, valor2, valor3, …)
Slide 45
BD Y SQL - CONSULTA BÁSICA (insert)
Ejemplo:Dada la siguiente tabla personas:
En la tabla personas
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de las dos
sentencias siguientes:
INSERT INTO personas VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’)INSERT INTO personas (nombre, apellido1, apellido2)VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’)
Slide 46
BD Y SQL - CONSULTA BÁSICA (insert)
Cualquiera de estas sentencias anteriores produce que se inserte una nueva fila en la tabla personas,quedando así dicha tabla:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITOPEDRO RUIZ GONZALEZ
Slide 47
BD Y SQL - CONSULTA BÁSICA (update)
La sentencia UPDATE se utiliza para modificar valores en una tabla.La sintaxis de SQL UPDATE es:UPDATE nombre_tabla SET columna1 = valor1, columna2= valor2WHERE columna3 = valor3La cláusula SET establece los nuevos valores para las columnas indicadas.La cláusula WHERE sirve para seleccionar las filas que queremos modificar.Ojo: Si omitimos la cláusula WHERE, por defecto, modificará los valores en todas las filas de la tabla.
Slide 48
Ejemplo del uso de SQL UPDATE:Tabla ‘personas’:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITOPEDRO RUIZ GONZALEZSi queremos cambiar el apellido2 ‘BENITO’ por ‘RODRIGUEZ’ ejecutaremos:UPDATE personas SET apellido2= ‘RODRIGUEZ’ WHERE nombre = ‘ANTONIO’ AND apellido1 = ‘GARCIA’ AND apellido2= ‘BENITO’
BD Y SQL - CONSULTA BÁSICA (update)
Slide 49
Ahora la tabla ‘personas’ quedará así:Tabla ‘personas’:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA RODRIGUEZPEDRO RUIZ GONZALEZ
BD Y SQL - CONSULTA BÁSICA (update)
Slide 50
BD Y SQL - CONSULTA BÁSICA (delete)
La sentencia DELETE sirve para borrar filas de una tabla.La sintaxis de SQL DELETE es:
DELETE FROM nombre_tabla WHERE nombre_columna = valor
Si queremos borrar todos los registros o filas de una tabla, se utiliza la sentencia:
DELETE * FROM nombre_tabla;
Slide 51
BD Y SQL - CONSULTA BÁSICA (delete)
Tabla ‘personas’:nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA RODRIGUEZ
PEDRO RUIZ GONZALEZ
Si queremos borrar a la persona LUIS LOPEZ PEREZ, podemos ejecutar el comando:
Slide 52
DELETE FROM personas WHERE nombre= ‘LUIS’ AND apellido1 = ‘LOPEZ’ AND apellido2 = ‘PEREZ’La tabla ‘personas’ resultante será:
nombre apellido1 apellido2
======== ======== =======
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA RODRIGUEZPEDRO RUIZ GONZALEZ