UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Ciudad Guayana , abril 2017
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Es un lenguaje surgido de un proyecto de investigación de IBM para el
acceso a bases de datos relacionales. Actualmente se ha convertido
en un estándar de lenguaje de bases de datos
Incluye características para definir la estructura de los datos, para la
modificación de los datos en la base de datos y para la especificación
de restricciones de seguridad.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
El lenguaje SQL sirve para manejar las bases de datos, es un lenguaje
de texto plano, que podemos usar desde cualquier editor de textos
Con SQL podemos hacer entre otras las siguientes operaciones en el
programa que gestiona las bases de datos:
•Crear nuevas bases de datos.
•Crear nuevas tablas en una base de datos.
•Crear nuevos registros en las tablas de una base de datos
•Crear tablas de consulta en una base de datos.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
•Borrar tablas o bases de datos.
•Borrar registros.
•Cambiar uno o varios datos de un registro.
• Buscar y mostrar los datos de una tabla o consulta.
Además SQL se encarga de manejar el control de transacciones,
autorización del uso de la BD, la integridad, el manejo de las
instrucciones de SQL en lenguajes de programación , entre otros
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
- Entre 1974 y 1975 IBM implementó en un prototipo llamado SEQUEL-XRM.
-Entre 1976 y 1977, condujeron a una revisión del lenguaje (SEQUEL/2) y finalmente cambió
de nombre convirtiéndose en SQL.
-En 1979, Relational Software (actualmente ORACLE), vio el potencial comercial del lenguaje
SQL y lanzó su propia versión modificada, denominada Oracle V2.
- A partir de 1981, IBM comenzó a entregar sus productos relacionales
-En 1983 empezó a vender DB2
-En 1986, el ANSI (Instituto Nacional Estadounidense de Estándares) adoptó SQL como
estándar para los lenguajes relacionales.
- En 1987 se transformó en estándar ISO, con el nombre de SQL/86.
- Luego se presento la versión SQL/89. (SQL1)
- En 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o
"SQL2“.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
-SQL:1999 (SQL3) Se agregaron expresiones regulares, consultas recursivas (para relaciones
jerárquicas), triggers y algunas características orientadas a objetos.
-SQL:2003 Introduce algunas características de XML, cambios en las funciones,
estandarización del objeto sequence y de las columnas autonuméricas.
-SQL:2005 Define las maneras en las cuales SQL se puede utilizar conjuntamente con XML.
-SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores.
Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.
-SQL:2011 Datos temporales (PERIOD FOR). Mejoras en las funciones de ventana y de la
cláusula FETCH.
-SQL:2016 Permite búsqueda de patrones, funciones de tabla polimórficas y compatibilidad
con los ficheros JSON
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DML
SQL
DDL DCL
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DML (lenguaje de manipulación de datos):
El DML (Data Manipulation Language ) es un lenguaje que permite a
los usuarios acceder o manipular los datos organizados (añadiendo,
suprimiendo o modificando la data) mediante el modelo de datos
apropiado.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DDL (Lenguaje de definición de datos):
El DDL (Data Definition Language), incluye órdenes para definir,
modificar o borrar las tablas en las que se almacenan los datos y de
las relaciones entre estas. Es el que más varia de un sistema a otro.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DCL (Lenguaje de control de datos):
El DCL(Data Control Language) contiene elementos útiles para
trabajar en un entorno multiusuario, en el que es importante la
protección de los datos, la seguridad de las tablas y el
establecimiento de restricciones en el acceso, así como elementos
para coordinar la compartición de datos por parte de usuarios
concurrentes, asegurando que no interfieren unos con otros.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
El SQL permite fundamentalmente dos modos de uso:
- Un uso interactivo: destinado principalmente a los usuarios finales
avanzados u ocasionales, en el que las diversas sentencias SQL se
escriben y ejecutan en línea de comandos, o un entorno semejante.
- Un uso integrado: destinado al uso por parte de los programadores
dentro de programas escritos en cualquier lenguaje de
programación anfitrión. En este caso el SQL asume el papel de
sublenguaje de datos.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
En el DDL, existen cuatro operaciones básicas: CREATE, ALTER,
DROP y TRUNCATE.
CREATE
Este comando crea un objeto dentro de la base de datos. Puede ser
una tabla, vista, índice, trigger, función, procedimiento o cualquier
otro objeto que el motor de la base de datos soporte.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Sintaxis para la creación de la base de datos:
CREATE DATABASE nombredelabasededatos;
Sintaxis para la creación de una tabla:
CREATE TABLE nombre_tabla
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",
... );
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Ejemplo para la creación de la base de datos:
CREATE DATABASE petvet;
Sintaxis para la creación de una tabla:
CREATE TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date datetime);
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
ALTER:
Este comando permite modificar la estructura de un objeto. Se
pueden agregar/quitar campos a una tabla, modificar el tipo de
datos de un campo, agregar/quitar claves a una tabla.
Sintaxis:
La sintaxis dependerá del tipo de modificación que estemos
realizando a la estructura de la base de datos (agregando,
modificando o eliminando parte de la estructura)
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS ALTER:
Para modificar el tipo de dato de
Para agregar una columna: una columna:
ALTER TABLE animal ALTER TABLE animal
ADD nombre VARCHAR(50); ALTER COLUMN nombre
VARCHAR(15);
Para eliminar una columna:
ALTER TABLE animal Para agregar una PK:
DROP COLUMN peso; ALTER TABLE animal
ADD PRIMARY KEY(Idmascota);
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DROP
Este comando elimina un objeto de la base de datos. Puede ser una
tabla, vista, índice, trigger, función, procedimiento o cualquier otro
objeto que el motor de la base de datos soporte. Se puede combinar
con la sentencia ALTER.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS DROP:
Para eliminar una BD:
DROP DATABASE petvets;
Para eliminar una tabla:
DROP TABLE animal;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
TRUNCATE
Este comando elimina todo el contenido de una tabla, “vuela” la
tabla (estructura y contenido) y vuelve a crear la estructura de la
tabla.
Es mucho más rápido que el comando DELETE del DML
Sintaxis:
TRUNCATE nombredetabla;
Ejemplo:
TRUNCATE animal;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
En el DML, existen cuatro operaciones básicas: INSERT, UPDATE,
DELETE y SELECT.
INSERT:
Este comando permite agregar nuevos registros a una tabla. Su
sintáxis es la siguiente:
INSERT INTO nombretabla (campo1, campo2, campo3,
campo4) VALUES (valor1, valor2, valor3, valor4)
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Ejemplo:
INSERT INTO proveedores (codigo, nombre, tlf) VALUES
(5676, “EMPRESAS POLAR”, “0212-9893334”)
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
DELETE:
Este comando permite eliminar registros en una tabla. Su sintáxis es
la siguiente:
DELETE FROM nombretabla;
Este comando también permite establecer condiciones o criterios
para la eliminación a través de la clausula WHERE.
DELETE FROM nombretabla WHERE condicion(es);
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS DEL COMANDO DELETE:
DELETE FROM productos WHERE precio< 100;
DELETE FROM estudiante WHERE carrera=“CONTADURIA” AND semestre
>=8;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
UPDATE:
Este comando permite actualizar los valores de uno o más campos
en uno o varios registros en una tabla. También hace uso de
condiciones o criterios. Su sintáxis es la siguiente:
UPDATE nombre_de_tabla SET nombre_de_campo =
valor_nuevo WHERE condicion(es)
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS UPDATE:
UPDATE producto SET tasaiva =20 WHERE tipoart=“LUJO”;
UPDATE vehiculo SET precio=40000 WHERE marca=“FORD” OR
marca = “FIAT” AND año>=2016;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
SELECT:
Este comando permite crear consultas. Una consulta es una serie de
datos que extraemos de la tabla . También hace uso de condiciones
o criterios. Su sintáxis es la siguiente:
SELECT campo1, campo2,…campoN FROM nombretabla
( WHERE condicion(es))
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS SELECT:
SELECT nombre, precio FROM ARTICULO WHERE tipoart=“LUJO”;
SELECT nombre, precio FROM ARTICULO WHERE precio
BETWEEN 120000 AND 5000000
SELECT * FROM Pedidos WHERE Provincia IN (“Madrid”,
“Barcelona”, “Sevilla”);
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
EJEMPLOS SELECT:
SELECT nombre, cantidad FROM ARTICULO WHERE precio
BETWEEN 120000 AND 5000000 ORDER BY nombre ASC (DESC)
SELECT Apellidos, Nombre FROM Empleados WHERE Apellidos
LIKE 'S*';
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
En la tabla siguiente se muestra cómo utilizar el operador Like para
comprobar expresiones con diferentes modelos
Tipo de coincidencia Modelo Planteado Coincide No coincide
Varios caracteres 'a*a' 'aa', 'aBa', 'aBBBa' 'aBC'
Carácter especial 'a[*]a' 'a*a' 'aaa'
Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'
Un solo carácter 'a?a' 'aaa', 'a3a', 'aBa' 'aBBBa'
Un solo dígito 'a#a' 'a0a', 'a1a', 'a2a' 'aaa', 'a10a'
Rango de caracteres '[a-z]' 'f', 'p', 'j' '2', '&'
Fuera de un rango '[!a-z]' '9', '&', '%' 'b', 'a'
Distinto de un dígito '[!0-9]' 'A', 'a', '&', '~' '0', '1', '9'
Combinada 'a[!b-m]#' 'An9', 'az0', 'a99' 'abc', 'aj0'
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
FUNCIONES AVANZADAS APLICABLES A CONSULTAS
Existen funciones que permiten la agilización de consultas
similares a una hoja de cálculo, ya que trabajan en base a renglones
y columnas. Algunas de estas funciones son:
•COUNT ( ): Cuenta el número de tuplas en la columna establecida
•MIN ( ): Localiza el valor mínimo de la columna establecida
•MAX ( ): Localiza el valor máximo de la columna establecida.
•AVG ( ): Obtiene el promedio de valores de la columna establecida
•SUM ( ): Obtiene el valor total que implican los valores obtenidos en
la columna establecida.
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Realizar las siguientes consultas:
1. Mostrar los datos de los participantes cuyas
edades estén comprendidas entre 20 y 25 años,
ordenarlos alfabéticamente por apellidos
2. Mostrar los datos de todos los participantes
ordenados por edades de menor a mayor
3. Mostrar el nombre, duración y costo de los
cursos que se ofertaron para el mes de julio de
2005
4. Mostrar los datos de los instructores que han
hecho postgrado
5. Mostrar los datos de los instructores que han
hecho postgrado egresados de la UCV
6. Mostrar los cursos programados para agosto de
2005 de cuya duración este por debajo de 24
horas y tengan un costo por debajo de 200000
7. Mostrar los datos de los particpiantes cuyo
apellido inicie con “M”
8. Los cursos de wimax, wifi y telecomunicaciones
aumentaron en un 10%, realizar la actualización
respectiva
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
CONSULTAS AVANZADAS
Cuando en la sentencia From colocamos los nombres de las tablas
separados por comas se dice que efectuamos una consulta de la
forma Join de Querys. La sentencia INNER JOIN es la sentencia
JOIN por defecto, y consiste en combinar cada fila de una tabla con
cada fila de la otra tabla, seleccionado aquellas filas que cumplan
una determinada condición.
SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.columna1 =
tabla2.columna1
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Claúsula RIGHT JOIN
La instrucción RIGHT JOIN devuelve todas los registros de la tabla
de la derecha (table2), y todas los registros correspondientes de la
tabla de la izquierda (table1). El resultado será NULL cuando no
haya registros correspondientes de la tabla de la izquierda.
Sintaxis SQL RIGHT JOIN
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON
table1.column_name=table2.column_name;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Clausula LEFT JOIN
La claúsula LEFT JOIN devuelve todas los registros de la tabla de la
izquierda (table1), con las correspondientes de la tabla de la derecha
(table2). El resultado es NULL en la parte de la derecha cuando no
hay registros que correspondan con la condición.
SINTAXIS SQL LEFT JOIN
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON
table1.column_name=table2.column_name;
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
CARRERA INGENIERIA EN INFORMATICA
SISTEMAS DE BASE DE DATOS I
PROF. MARIA RAQUEL HERRERA
Mostrar los productos en
inventario del proveedor BHV
cuya existencia este por debajo de
cien unidades
SELECT [Link],
[Link]
FROM proveedor INNER JOIN
Productos
ON [Link] =
Productos.cod_prov;
WHERE [Link] <
100;
AND [Link] = "BHV"
1. Hacer una consulta que muestre la menor venta realizada por el vendedor LUIS A
GOMEZ P
2. Hacer una consulta que muestra los totales de los montos vendidos agrupados por
vendedor
3. Hacer una consulta que muestra cuantas ventas ha realizado el vendedor JOSE A
FLORES P en el primer trimestre del 2002
4. Mostrar el mayor monto vendido, el codigo de la venta y la fecha para el proveedor
ACEROS VENEZOLANOS
5. Indicar la cantidad de productos de nombre SOLV01 vendidos en el primer trimestre
del 2002
6. Hacer una consulta que muestre un listado de los totales de las ventas realizadas
agrupadas por clientes
7. Indique el promedio de ventas del cliente FERROVEN en el año 2001
8. Hacer una consulta que ordene de mayor a menor las ventas realizadas en el primer
trimestre del año 2000
9. Seleccione las tres ventas de mayor monto realizadas en el año 2003 correspondiente
al cliente TORCA
1. Listar todos los libros de la materia PROGRAMACION cuya existencia este por
debajo de 10 unidades
2. Listar los libros del autor FREDERICK MORLOCK
3. Listar todos los préstamos hechos en el mes de octubre de 2005 del usuario
CLAUDIA ESTRADA de la materia BIOLOGIA
4. Listar todos los usuarios que realizaron prestamos en el mes de febrero de 2006
5. Listar los libros del autor LAURA GUERRA de la materia QUIMICA
6. Listar todos los usuarios que se encuentren morosos
7. Listar todos los libros del autor DOUGLAS ZURITA editados por la editorial
PRENTICE HALL
8. Listar todos los usuarios que han solicitado libro de la materia BIOLOGIA
MOLECULAR en el mes de marzo del 2005 que pertenezcan a la carrera de
medicina.