0% encontró este documento útil (0 votos)
28 vistas23 páginas

Semana 01

Este documento proporciona una introducción al lenguaje de consultas estructuradas (SQL). Explica que SQL permite definir estructuras de datos, manipular datos y especificar permisos de acceso a bases de datos relacionales. También describe los componentes principales de SQL como el lenguaje de definición de datos, lenguaje de manipulación de datos y lenguaje de control de datos. Además, explica conceptos clave como tipos de datos, restricciones de integridad, claves primarias y claves externas.

Cargado por

Franklin Díaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas23 páginas

Semana 01

Este documento proporciona una introducción al lenguaje de consultas estructuradas (SQL). Explica que SQL permite definir estructuras de datos, manipular datos y especificar permisos de acceso a bases de datos relacionales. También describe los componentes principales de SQL como el lenguaje de definición de datos, lenguaje de manipulación de datos y lenguaje de control de datos. Además, explica conceptos clave como tipos de datos, restricciones de integridad, claves primarias y claves externas.

Cargado por

Franklin Díaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

INGENIERÍA DE DATOS II

Ing. Franklin Díaz


[email protected]
TEMARIO
 SI & TI
 Planeamiento estratégico SI/TI
 Metodologías de PE SI/TI
SQL
SQL (Structured Query Language) es un lenguaje estándar e interactivo de acceso a bases de datos relacionales,
permite realizar distintas operaciones en ellas, gracias a la utilización del álgebra y del cálculo relacional. SQL
nos ofrece la posibilidad de realizar consultas con el fin de recuperar información de las bases de datos,
realizando este proceso de forma sencilla. Las consultas permiten seleccionar, insertar, actualizar, averiguar la
ubicación de los datos, …
SQL - (Structured Query Language)
 SQL es un lenguaje de consulta, un lenguaje en el que el usuario solicita información de la base de datos,
suelen ser de un nivel superior a los lenguajes de programación.
 Además de consultas, con SQL, es posible definir la estructura de los datos, modificar los datos de la base de
datos y especificar restricciones de seguridad.
 Se basa en la Teoría Matemática del Álgebra Relacional. El lenguaje SQL consta de varios elementos:
1. Lenguaje de definición de datos (DDL): proporciona órdenes para definir, modificar o eliminar los
distintos objetos de la base de datos (tablas, vistas, índices…). (CREATE, DROP, ALTER, ..)
2. Lenguaje de Manipulación de Datos (DML): proporciona órdenes para insertar, suprimir y modificar
registros o filas de las tablas. También contempla la realización de consultas sobre la BD. (SELECT,
INSERT, UPDATE y DELETE)
3. Lenguaje de Control de Datos (DCL): permite establecer derechos de acceso de los usuarios sobre los
distintos objetos de la base de datos. Lo forman las instrucciones GRANT y REVOKE.
SQL - (Structured Query Language)
 Las distintas implementaciones de SQL pueden
diferenciarse en detalles, o pueden admitir sólo
un subconjunto del lenguaje completo.
 El resultado de ejecutar una instrucción SQL es
una tabla (tabla resultado) con los registros que
cumplen la instrucción ejecutada.
ALGUNAS CONSIDERACIONES
 En SQL no se distingue entre mayúsculas y minúsculas. El final de una instrucción o sentencia lo marca el
signo de punto y coma.
 Las sentencias SQL (SELECT, INSERT, …) se pueden escribir en varias líneas siempre que las palabras no sean
partidas.
 Los comentarios en el código SQL pueden ser de 2 tipos:

/*
Esto es un comentario
de varias líneas.
Fin.
*/
-- Esto es un comentario de una línea
ALGUNAS CONSIDERACIONES
 Las relaciones de cada base de datos debe especificarse en el sistema en términos de un lenguaje de
definición de datos (DDL).
 Además de las relaciones, se define la información relativa a ellas:
 Esquema de cada relación
 Dominio de valores asociados a cada atributo
 Restricciones de integridad
 Índices que se mantienen para cada relación
 Información de seguridad y autorización de cada relación
 Estructura de almacenamiento físico de cada relación en disco
TIPOS DE DATOS EN SQL (DOMINIOS)
 char(n). Cadena de caracteres de longitud fija n, especificada por el usuario
 varchar(n). Cadena de caracteres de longitud variable con una longitud máxima n especificada por el
usuario.
 int. Integer, un subconjunto finito de los enteros depende de la máquina.
 smallint. Small integer (un subconjunto dependiente de la máquina del tipo dominio entero).
 real, double precision. Número en coma flotante y números en coma flotante de doble precisión, con
precisión dependiente de la máquina.
 numeric(p,d). Un número en coma fija, cuya precisión la especifica el usuario. El número está formado por p
dígitos (más el signo) y de esos p dígitos, d pertenecen a la parte decimal.
 float(n). Un número en coma flotante cuya precisión es de al menos n dígitos
 date: Fechas, contiene un año (4 dígitos), mes y día
 time: Hora del día, en horas, minutos y segundos.
 timestamp: fecha y hora del día
 interval: periodo de tiempo
DEFINICIÓN BÁSICA DE ESQUEMAS SQL
 Para crear una tabla utilizamos el comando create table:

 r es el nombre de la relación
 Cada Ai es un atributo del esquema de relación r
 Di es el tipo del dominio del atributo Ai
CREATE TABLE cliente (
create table sucursal ( codCliente char(3),
nombre_sucursal char(15) , nombreC varchar(40) not null,
ciudad-sucursal char(30), direccion varchar(40) not null,
activos numeric(16,2) telefono numeric(9,0),
Primary key nombre_sucursal) PRIMARY KEY(codCliente)
);
RESTRICCIONES DE INTEGRIDAD
Las restricciones de integridad protegen contra problemas accidentales en la base de datos, asegurando que
los cambios con autorización en la base de datos no generan pérdidas en la consistencia de los datos.
 Obligatoriedad, NOT NULL
 Clave primaria, PRIMARY KEY (A1, ..., An )- los atributos han de ser no nulos y únicos
 Clave ajena, FOREIGN KEY (A1) REFERENCES r (A)
 Verificación de condiciones, CHECK
 AUTO_INCREMENT
 Valores por defecto, DEFAULT

1. Una cuenta debe tener un saldo mayor que


10.000,00€
2. El salario de un empleado del banco no puede ser
menor de 4,00€ la hora.
3. Un cliente debe tener un número de teléfono (no
nulo)
CLAVE
 Una clave primaria es una columna o conjunto de columnas que el diseñador ha elegido para identificar de
manera única una fila de una tabla.
 Las claves proporcionan una forma rápida y eficiente de buscar datos en una tabla
 Una clave ajena o externa es una columna en una tabla que se corresponde con la clave primaria de otra
tabla.
 Una clave candidata es un conjunto no vacío de atributos que identifican unívoca y mínimamente cada tupla
de una relación.
RESTRICCIONES
Restricción not null
 Declarar que el nombre_sucursal de una sucursal es not null
nombre_sucursal char(15) not null
 Declarar que el dominio Euros sea not null
create domain Euros numeric(12,2) not null

Restricción unique
 La especificación unique indica que los atributos A1, A2, … Am constituyan una clave candidata.
 Las claves candidatas pueden tener atributos nulos (al contrario que las claves primarias)

Cláusula check
 check (P ), donde P es un predicado
RESTRICCIONES

Ejemplo: Declarar nombre_sucursal como clave primaria


para sucursal y asegurar que el valor de activos no sea
negativo.
INTEGRIDAD REFERENCIAL
 Asegura que un valor que aparece en una relación para un conjunto de atributos determinado aparezca
también en otra relación para un cierto conjunto de atributos.
 Ejemplo: Si “As Pontes” es un nombre de sucursal que aparece en una de las tuplas de la relación cuenta,
entonces existirá una tupla en la relación sucursal para la sucursal “As Pontes”.
 Si el código del artículo ‘Ord. Sobremesa’ aparece en la relación compra, ese código de artículo debe
aparecer en la relación artículo.

 Las claves primarias, candidatas y las claves externas o ajenas se pueden especificar como parte de la
instrucción create table de SQL:
 La cláusula primary key incluye una lista de los atributos que comprende la clave primaria.
 La cláusula unique key incluye una lista de los atributos que comprende una clave candidata.
 La cláusula foreign key incluye una lista de los atributos que comprende la clave externa y el nombre de la relación a
la que hace referencia mediante la clave externa. Por defecto, una clave externa hace referencia a los atributos de la
clave primaria de la tabla referenciada.

La diferencia entre unique y primary key, una clave unique permite nulos, en cuanto una primary
key no permite nulos es decir ya incluye la constraint de not null para cada atributo.
RESTRICCIÓN CLAVE AJENA
FOREIGN KEY(idCliente) REFERENCES cliente(CodCliente)
ON DELETE cascade,

 Sirve para relacionar dos o más tablas, se necesita un campo en común, por ejemplo, idCliente y codCliente,
existe en cliente y en compra.
 Si queremos eliminar algún cliente, las filas que se correspondan en compras con ese cliente serán
eliminadas automáticamente.
EJEMPLO CREACIÓN DE TABLAS
DEFINICIÓN BÁSICA DE ESQUEMAS SQL
 Con INSERT INTO añadimos datos a la relación.
INSERT INTO r VALUES (A1,…,An)
 Para borrar todas las tuplas de una relación, utilizamos DELETE FROM
DELETE FROM r
 Con DROP table eliminar una relación en una base de datos. Elimina el esquema de la relación.
DROP TABLE r
 ALTER TABLE este comando sirve para añadir atributos a una relación existente
ALTER TABLE r ADD A D
r es la relación, A es el atributo a añadir, D es el dominio del atributo A
A todas las tuplas de la relación se les asigna un valor null para el nuevo atributo.
 El comando ALTER TABLE también se puede utilizar para borrar atributos de una relación:
ALTER TABLE r DROP A
DEFINICIÓN BÁSICA DE ESQUEMAS SQL
 La sentencia UPDATE sirve para actualizar datos de las tablas de una BD.
UPDATE empleados
SET Direccion=‘Gran Vía 241’, telefono=‘686567687’
WHERE Nombre=‘Ana García’;
 Si se omite WHERE, se actualizan todas las filas de la tabla destino.
EJEMPLOS
 INSERT INTO cliente VALUES ('015', 'Pedro Glez.', 'Gerona 14', 917845308);
 INSERT INTO articulo VALUES ('0001', 'Ord. Sobremesa', 600, 12);
 INSERT INTO compra VALUES('015', '0007', ‘2015/11/06', 2);
 INSERT INTO cuenta VALUES (‘A-9732’, ‘Navacerrada’,1200);
 INSERT INTO cuenta VALUES (‘A-777’,‘Navacerrada’, null)

 DROP DATABASE IF EXISTS tiendaInformatica;


 CREATE DATABASE tiendaInformatica;

 USE tiendaInformatica;
 DROP TABLE IF EXISTS compra;
 DROP TABLE IF EXISTS cliente;
 DROP TABLE IF EXISTS articulo;
CLAUSULA SELECT
LA CLAÚSULA SELECT
Una consulta característica de SQL tiene la forma:
SELECT A1, A2, ..., An
FROM r1, r2, ..., rm
WHERE P
Ai representan los atributos
ri representan las relaciones
P es un predicado

 El resultado de una consulta de SQL es una relación.


 La cláusula SELECT se utiliza para dar la relación de los atributos deseados en el resultado de una consulta
LA CLAÚSULA SELECT
Para forzar la eliminación de duplicados, insertar la clave distinct después de SELECT.
Ejemplo: obtener los nombres de todas las sucursales en las relaciones prestamos, y anular los duplicados
SELECT DISTINCT nombre_sucursal
FROM préstamo
La clave all especifica que los duplicados no se han anulado.
SELECT ALL nombre_sucursal
FROM prestamo
La cláusula SELECT puede contener expresiones aritméticas que involucran la operación, +, –, * y /, y que
funcionan en las constantes o en los atributos de las tuplas.
La siguiente relación es la misma que préstamo, excepto que el atributo importe se multiplica por 100. pero no
modifica la Base de Datos.
SELECT número_prestamo, nombre_sucursal, importe * 100 FROM prestamo
LA CLÁUSULA WHERE
La cláusula WHERE especifica las condiciones que debe satisfacer el resultado
Ejemplo: la búsqueda de todos los números de crédito de los prestamos ha dado como resultado la sucursal
Navacerrada con las cantidades de prestamos mayores a 1200 €.
SELECT número_prestamo
FROM prestamo
WHERE nombre_sucursal = ‘ Navacerrada’ AND importe > 1200
Ejemplo: escribir los artículos que se han acabado
SELECT codArticulo, denom
FROM articulo
WHERE unidades =0
Los resultados de la comparación se pueden combinar utilizando las conectivas lógicas and, or y not. Las
comparaciones se pueden aplicar a los resultados de las expresiones aritméticas.
SQL incluye un operador de comparación BETWEEN

También podría gustarte