Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para...

30
4/11/19 Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2019

Transcript of Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para...

Page 1: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

4/11/19

Catedra de

Base de

DatosFacultad de Ciencias Exactas y Tecnología

Universidad Nacional de Tucumán

Ciclo Lectivo 2019

Page 2: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

“El algebra relacional es un conjunto de operaciones que describen paso a paso como calcularuna respuesta sobre las relaciones componiendo un lenguaje formal basado en operadores yque utiliza para ello relaciones”

Tipificación

En las operaciones binarias existen restricciones referidas al GRADO(atributos) o a laCARDINALIDAD(tuplas).Por lo que cada Relación seria una tabla bidimensional en donde cada renglón o tupla, tienedatos que pertenecen a alguna cosa, y en donde cada columna o atributo pertenecen a estatabla.

Algebra Relacional

Ing. Franco D. Menendez

Page 3: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Operador Selección

“Se encuentra simbolizado mediante σ, permite seleccionar un subconjunto de tuplas de una

relación (R), todas aquellas que cumplan la(s) condición(es) P”, esto es:

σP(R)

Ejemplo: Tenemos la siguiente Tabla

σFecha_Alta '01/01/1998'(Clientes)

NroCli Nombre Fecha_Alta Saldo

1 Enrique 14/09/1996 100

3 German 19/12/1994 500

4 Alejandro 02/01/1999 90

NroCli Nombre Fecha_Alta Saldo

4 Alejandro 02/01/1999 90

Algebra Relacional

Ing. Franco D. Menendez

Page 4: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Operador Proyección

“Se encuentra simbolizado mediante π, permite extraer columnas (atributos) de una relación,

dando como resultado un subconjunto vertical de atributos de la relación”, esto es:

Π A1,A1,…,An

donde A1, A2,…, An son atributos de la relación R .

Ejemplo: Tenemos la siguiente Tabla

Πnombre, saldo(Clientes)

Algebra Relacional

Ing. Franco D. Menendez

Page 5: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Operadores

Operador Unión

“La unión se denota por A + B” .

Operador Diferencia

“La diferencia se denota por A - B” .

Operador Intersección

“La intersección se denota por A ∩ B” .

Operador Producto

“El producto se denota por A x B” .

Algebra Relacional

Ing. Franco D. Menendez

Page 6: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Primera Forma Normal (1NF): Una tabla está en Primera Forma Normal si:

• Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son

indivisibles, mínimos.

• La tabla contiene una llave primaria única, y no contiene valores nulos.

• No debe existir variación en el número de columnas.

• Los Campos no llave deben identificarse por la llave (Dependencia Funcional).

• Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir,

si los datos cambian de orden no deben cambiar sus significados.

• Una tabla no puede tener múltiples valores en cada columna. Los datos son atómicos. (Si a

cada valor de X le pertenece un valor de Y , y viceversa).

• Esta forma normal elimina los valores repetidos dentro de una BD.

Normalización

Ing. Franco D. Menendez

Page 7: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Segunda Forma Normal (2NF): Dependencia Funcional. Una relación está en 2FN si está en

1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la

clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son

clave principal deben depender únicamente de la clave principal).

Por ejemplo {DNI, ID_PROYECTO} HORAS_TRABAJO (con el DNI de un empleado y el ID de un

proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho

proyecto) es completamente dependiente dado que ni DNI HORAS_TRABAJO ni ID_PROYECTO

HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO}

NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI NOMBRE_EMPLEADO

mantiene la dependencia.

Normalización

Ing. Franco D. Menendez

Page 8: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Tercera Forma Normal (3NF): Una relación La tabla se encuentra en 3FN si es 2FN y si no

existe ninguna dependencia funcional transitiva entre los atributos que no son clave.

Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de

relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un

subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.

Normalización

Ing. Franco D. Menendez

Page 9: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Definición 1: “El SQL (Structured Query Languaje, Lenguaje de Consulta Estructurado) es un

lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas

relacionales permitiendo gran variedad de operaciones sobre los mismos, comportandose

como un lenguaje declarativo de alto nivel, que gracias a su fuerte base teórica y su orientación

al manejo de conjunto de registros, permite una alta productividad en codificación“

(dr. Carlos Torres Gastelu)

Definición 2: ” SQL es un lenguaje que permite expresar diversas operaciones , por ejemplo

aritméticas, combinatorias, lógicas, de selección y ordenamiento, con datos almacenados en

Base de Datos relacionales, cuya información esta contenida en estructuras llamadas tablas, y

donde los datos están dispuestos en filas y columnas”

(Enrique Rivero et al)

SQL

Ing. Franco D. Menendez

Page 10: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Arquitectura Estándar de Tres niveles

Los sistemas de gestión base de datos relacional soportan la arquitectura estándar en tres

niveles.

SQL

Ing. Franco D. Menendez

Page 11: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Nivel LógicoEl nivel lógico para las bases de datos relacionales consiste en tablas base que se almacenanfísicamente. Estas tablas se crean mediante el Administrador de Base de Datos (ABD) con eluso del comando CREATE TABLE (crear tabla).Una tabla base puede tener cualquier numero de índices, creados por el ABD usando elcomando CREATE INDEX(crear índice). Un índice se usa para acelerar la recuperación deregistros con base en el valor en una o más columnas . Un índice menciona los valores queexisten para la columna indexada y la ubicación de los registros que tienen dichos valores.

Nivel FísicoEn el nivel físico, las tablas base se representan, junto con sus índices, en archivos. Larepresentación física de las tablas puede no corresponder exactamente con la noción de unatabla como un objeto bidimensional que consiste en filas y columnas. Sin embargo, las filas dela tabla si corresponden con los registros almacenados físicamente, aunque su orden y otrosdetalles de almacenamiento pueden ser diferentes del concepto de ellos.

VistasUna vez creadas las tablas bases, se pueden crear “VISTAS” para los usuarios, con el uso delcomando CREATE VIEW (crear vista). Una vista puede ser un subconjunto de una sola tablabase, o bien crearse al combinar tablas bases.

SQL

Ing. Franco D. Menendez

Page 12: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL consta de varios componentes

• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de

esquemas de relación, borrado de relaciones y modificaciones a los esquemas de relación.

• Lenguaje Interactivo de Manipulación de Datos (DML): Incluye un lenguaje de consultas

basado tanto en el algebra relacional, como en el calculo relacional de tuplas.

• Integridad: El DDL incluye comandos para especificar las restricciones de integridad que

deben cumplir los datos almacenados en la base de datos.

• Control de Transacciones: Incluye comandos para especificar el comienzo y el final de las

transacciones.

• Autorización: Incluye comandos para especificar los derechos de acceso a las relaciones y a

las vistas.

SQL

Ing. Franco D. Menendez

Page 13: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

El lenguaje de Definición de Datos (DDL)

Permite:

• Especifica un conjunto de relaciones.

• Proporcionar información relativa a un conjunto de relaciones.

Permite Conocer:

• El esquema de cada relación.

• El dominio de valores asociados a cada atributo.

• Las restricciones de integridad.

• El conjunto de índices que se deben mantener para cada relación.

• La información de seguridad y de autorización de cada relación.

• A estructura de almacenamiento físico de cada relación en el disco

SQL

Ing. Franco D. Menendez

Page 14: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Los comandos más importantes en DDL son:CREATE TABLECREATE TABLE nombre_tabla (nombre_columna tipo_columna, [restricciones – NULL/NOTNULL, DEFAULT, UNIQUE, CHECKJ],……, [restricciones tabla – PRIMARY KEY, FOREIGN KEY,UNIQUE, CHECK….])

CREATE INDEXCREATE INDEX nombre_indice ON nombre_tabla (nombre_columna);

ALTER TABLEALTER TABLE nombre_tabla ADD nombre_columna tipo_columna;

DROP TABLEDROP TABLE nombre_tabla;

DROP INDEXDROP INDEX nombre_indice;

SQL

Ing. Franco D. Menendez

Page 15: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Tipos de Datos –DDL

Los tipos de datos disponibles concluyen varios tipos numéricos, cadenas de caracteres de

longitud fija y de longitud variable, cadenas de bits y tipos definidos por el usuario. Los tipos

de datos disponibles varían de DBMS a DBMS.

SQL

Ing. Franco D. Menendez

Page 16: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Manipulación de la Base de Datos (DML)

El lenguaje de consulta de SQL es declarativo, también llamado no procedural, lo que significa

que permite especificar cuales datos se recuperan sin dar los procedimientos para

recuperarlos. Se puede usar como un lenguaje interactivo para consultas, incrustado en un

lenguaje de programación huésped, o como un lenguaje completo en si para cálculos con el uso

de SQL/PSM (Persistent Stored Modules= Modulos de almacenamiento persistentes).

Los comandos DML son:

SELECT

UPDATE

INSERT

DELETE

SQL

Ing. Franco D. Menendez

Page 17: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

Los comandos DML son:UPDATEUPDATE nombre_tabla SET “nombre_columna1”=“nuevo_valor,” [“nombre_columna2”=“nuevo_valor2,….”] WHERE condición;

INSERTINSERT INTO nombre_tabla (“nombre_columna1”,”[nombre_columna2…..]”) VALUES (“valor1”,“[valor2...]”);

DELETEDELETE FROM nombre_tabla WHERE nombre_columna1=valor1;

SELECT

SELECT [ALL | DISTINCT ] nombre_columna [,nombre_columna…]

FROM nombre_tabla|nombre_vista [nombre_tabla|nombre_vista…]

[WHERE condicion [AND|OR condicion]]

[GROUP BY nombre_columna [nombre_columna …]]

[HAVING condicion [AND|OR condicion]] [ORDER BY nombre_columna|índice_columna]]]

SQL

Ing. Franco D. Menendez

Page 18: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

Definición

- Un procedimiento almacenado es un conjunto de sentencias SQL y de control de flujo.

- Un procedimiento almacenado es una colección de instrucciones guardadas en la Base de

Datos.

- La ventaja de un procedimiento almacenado es que al ser ejecutado , este se ejecuta

directamente en el motor de base de datos, el cual usualmente corre en un servidor por

separado.

Ing. Franco D. Menendez

Page 19: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

Ventajas

- Simplifican la ejecución de tareas repetitivas.

- Corren mas rápido que las mismas instrucciones ejecutadas en forma interactiva.

- Reducen el trafico a través de la red.

- Pueden capturar errores antes que ellos puedan entrar a la base de datos.

- Establece consistencia porque ejecuta las tareas de la misma forma.

- Permite el desarrollo modular de aplicaciones.

- Ayuda a proveer seguridad.

- Puede forzar reglas y defaults complejos de los negocios.

Ing. Franco D. Menendez

Page 20: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

Tipificación

- Procedimientos almacenados definidos por el usuario: son procedimientos definidos por el

usuario que se debe llamar explícitamente.

- Triggers: Son procedimientos definidos por el usuario que se ejecutan automáticamente

cuando se modifica un dato en un tabla.

- Procedimientos del sistema: Procedimientos suministrados por el sistema.

- Procedimientos Extendidos: Procedimientos que se hacen llamadas al sistema operativo y

ejecutan tareas a ese nivel.

Ing. Franco D. Menendez

Page 21: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

Ventajas en el rendimiento

- Un procedimiento almacenado se ejecuta más rápido que un batch porque:

- El procedimiento almacenado ya ha sido analizado.

- Ya se han resuelto las referencias a los objetos referenciados en el procedimiento

almacenado.

- No se necesita construir el árbol de búsqueda, el usa el que se hace en el momento de

compilarlo.

- No se necesita crear un plan de búsqueda, porque ya el procedimiento tiene uno.

Ing. Franco D. Menendez

Page 22: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

Crear y borrar procedimientos almacenados- Sintaxis de creación:

CREATE PROCEDURE nombre_procedimiento (IN parametros)BEGIN

Sentencias.END

Ejemplo:DELIMITER $$CREATE DEFINER=`usuario1`@`localhost` PROCEDURE `ver1`(IN `vnombre` varchar(20))

NO SQLselect * from pais where nombre=vnombre$$

DELIMITER ;

Ing. Franco D. Menendez

Page 23: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Procedimientos Almacenados

VARIABLESLos procedimientos almacenados pueden crear y usar variables locales, las cuales solo existen mientrasexista el procedimiento. Las variables no las puede usar otro proceso.

SENTENCIAS VALIDASUn procedimiento almacenado puede:- Seleccionar y modificar datos;- Crear tablas temporales y permanentes.- Llamar a otros procedimientos almacenados.- Referenciar objetos de base de datos.

SENTENCIA INVALIDASUn procedimiento no puede ejecutar:- Use database.- Create view.- Create default.- Create rule.- Create procedure.- Create trigger.

Ing. Franco D. Menendez

Page 24: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Trigger

Un trigger es un procedimiento almacenado asociado con una tabla, el cual se ejecuta automáticamente

cuando se modifica un dato de esa tabla.

Un trigger se define asociado con una tabla para una o mas sentencias de manipulación de datos. Se puede

definir para insert, update, o delete o cualquier combinación de ellos.

APLICACIONES TÍPICAS

- Hace modificaciones en cascada sobre tablas relacionadas.

- Deshacer cambios que violan la integridad de los datos.

- Forzar restricciones que son muy complejas para reglas y restricciones.

- Mantener datos duplicados.

- Mantener columnas con datos derivados.

- Hacer ajustes de registros.

Ing. Franco D. Menendez

Page 25: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Trigger

Un trigger pueden:

- Declarar variables locales.

- Invocar procedimientos almacenados.

Un trigger no puede:

- Llamarse directamente.

- Usar parámetros.

- Definirse sobre tablas temporales o vistas.

- Crear objetos permanentes de la base de datos.

Las operaciones con registro minimo (como select into) no disparan los triggers.

Ing. Franco D. Menendez

Page 26: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Trigger

SENTENCIA SQL OLD NEW

InsertNo definido; todos los campos toman valor NULL

Valores que serán insertados cuando se complete la orden.

UpdateValores originales de la fila, antes de la actualización

Nuevos valores que serán escritos cuando se complete la orden.

DeleteValores antes del borrado de la fila.

No definido; todos los campos toman el valor NULL.

Ing. Franco D. Menendez

Page 27: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

SQL – Vistas

Una vista es un SELECT almacenado. El motor distingue dos tipos de tabla, las base y lasderivadas. Una tabla base es una tabla existente en el motor de almacenamiento. Una tabladerivada, es la tabla que surge de cualquier combinación de tablas base, literales y/ofunciones.

Funciones de una vista

- Proporcionar un nivel de seguridad, ya que permiten excluir datos para que ciertos usuariosno los vean.-

- Proporcionan un mecanismo para que los usuarios vean los datos en el formato quedeseen.-

- Representan una imagen consistente y permanente de la base de datos, incluso si la base dedatos cambia su estructura.

Sintaxis

CREATE VIEW nombre_vista AS<sentencia sql>

ENDIng. Franco D. Menendez

Page 28: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

BIBLIOGRAFIATecnología y Diseño de Bases de Datos / Mario Piattini , Esperanza Calero, Belen Vela / Edit Alfaomega/ 2010 Ed.

Fundamentos de bases de datos / Abraham Silberschatz, Henry F. Korth/y/ S. Sudarshan.—(Tra. FernándoSáenz Pérez, Antonio García Cordero /y/ Jesús Correas Fernández.-- Rev. Tca. Luis Grau Fernández). McGraw Hill. Madrid /c.2008/5a. Edic.

Fundamentos de sistemas de bases de datos / Ramez Elmasri/y/ Shamkant B. Navathe.—(Tra. Verónica Canivell Castillo, Beatriz Galán Espiga /y/ Gloria ZaballaPérez.--Rev. Tca. Alfredo GoñiSarriguren , Arturo Jaime Elizondo /y/ Tomás A. Pérez Fernández) Pearson Educación. Madrid /c.2002/3a. ed.

Introducción al SQL para Usuarios y Programadores / Cornelio et al / THOMSON / 2003 / 2da. Edic

Ing. Franco D. MenendezIng. Franco D. Menendez

Page 29: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

1. Bases de datos / Reinosa et al / Edit. Alfaomega / 1era. Edic / 2012.

2. Programación de Bases de Datos con MySQL y PHP / Helma Spona / Edit.

Alfaomega / 1era. Edic / 2010.

3. Bases de datos / Pablo Rovarini y Herminia de Herca. Argentina 2005/2a.ed.

4. Procesamiento de bases de datos. fundamentos, diseño e implementación /

David M. Kroenke.—(Tra. Ana Elizabeth García Hernández.--Rev. Tca. Juan Raúl

Esparza Martínez). Pearson Educación. México /c.2003/8ª. Edic.

BIBLIOGRAFIA

COMPLEMENTARIA

Ing. Franco D. Menendez

Page 30: Presentación de PowerPoint...• Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones

https://catedras.facet.unt.edu.ar/bd/