Bases De Datos 2020 - UNT

Transcription

Bases de Datos2020(Código de Materia: ECF)Docentes:Mag. Ing. Gustavo E. JuárezIng. Franco MenéndezIng. Cristian Lafuente

Bases de Datos 2020(Código de Materia: ECF)PROGRAMAUnidad N 6:Utilizar SQL como lenguaje de consulta a tablas. Introducción a los lenguajes de consulta.Diccionario de datos. Tipos de datos. Vistas. Índices. Set de comandos. Optimización deconsultas e indexado. Lenguaje de Consulta Estructurado (SQL): definición. Tipos desentencias (DDL, DML y DQL). Definición de Estructuras: base de datos, tabla, índice, vista.

Bases de Datos 2020(Código de Materia: ECF)Parte I

Bases de Datos 2020(Código de Materia: ECF)Introducción a los lenguajes de consulta

Bases de Datos 2020(Código de Materia: ECF)INTRODUCCIÓN A LOS LENGUAJES DE CONSULTAIBM desarrolló la versión original de SQL, denominado Sequel, como parte delproyecto System R a principios de 1970. Definición“El SQL (Structured Query Languaje, Lenguaje de Consulta Estructurado) es unlenguaje de acceso a bases de datos que explota la flexibilidad y potencia de lossistemas relacionales permitiendo gran variedad de operaciones sobre losmismos, comportándose como un lenguaje declarativo de alto nivel, que gracias asu fuerte base teórica y su orientación al manejo de conjuntos de registros,permite una alta productividad en codificación”.(Dr. Carlos Torres Gastelu)

Bases de Datos 2020(Código de Materia: ECF)INTRODUCCIÓN A LOS LENGUAJES DE Primera publicación hecha por ANSI. Confirmada porISO en 1987.1989SQL-891992SQL-92SQL-92Revisión mayor: (ANSI X3.135 1992)1999SQL:1999SQL2000Se agregaron expresiones regulares, consultasrecursivas ( para relaciones jerarquicas), triggers yalgunas características orientadas a objetos.2003SQL:2003Revisión menor.Introduce algunas características de XML, cambios enlas funciones, estandarización del objeto sequence yde las columnas autonuméricas.

Bases de Datos 2020(Código de Materia: ECF)INTRODUCCIÓN A LOS LENGUAJES DE IEC 9075-14:2006 Define las maneras en lascuales el SQL se puede utilizar conjuntamente conXML. Define maneras de importar y guardar datosXML en una base de datos SQL, manipulándolosdentro de la base de datos y publicando el XML y losdatos SQL convencionales en forma XML. Además,proporciona facilidades que permiten a lasaplicaciones integrar dentro de su código SQL el usode Xquery, lenguaje de consulta XML publicado por elW3C (World Wide Web Consortium) para accesoconcurrente a datos ordinarios SQL y documentosXML.2008SQL:2008Permite el uso de cláusula ORDER BY fuera de lasdefiniciones de los cursores. Incluye los disparadoresdel tipo INSTEAD OF. Añade la sentencia TRUNCATE.

Bases de Datos 2020(Código de Materia: ECF)Arquitectura Estándar

Bases de Datos 2020(Código de Materia: ECF)ARQUITECTURA ESTANDAR DE TRES NIVELESLos sistemas de gestión de base de datos relacional soportan la arquitectura estándar entres niveles. Como se muestra en la figura, las bases de datos relaciones proporcionanindependencia de datos tanto lógica como física, porque separan los niveles externo, lógicoe interno.

Bases de Datos 2020(Código de Materia: ECF)ARQUITECTURA ESTANDAR DE TRES NIVELESNivel LógicoEl nivel lógico para las bases de datos relacionales consiste en tablas base que sealmacenan físicamente. Estas tablas se crean mediante el Administrador de Base de Datos(ABD) con el uso 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.

Bases de Datos 2020(Código de Materia: ECF)ARQUITECTURA ESTANDAR DE TRES NIVELESNivel 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 deuna tabla como un objeto bidimensional que consiste en filas y columnas. Sin embargo, lasfilas de la tabla si corresponden con los registros almacenados físicamente, aunque suorden y otros detalles de almacenamiento pueden ser diferentes del concepto de ellos.

Bases de Datos 2020(Código de Materia: ECF)ARQUITECTURA ESTANDAR DE TRES NIVELESVistasUna vez creadas las tablas bases, se pueden crear “VISTAS” para los usuarios, con el usodel comando CREATE VIEW (crear vista). Una vista puede ser un subconjunto de una solatabla base, o bien crearse al combinar tablas bases.Las vistas son “tablas virtuales”, que no se almacenan de modo permanente, sino que secrean cuando el usuario necesita acceder a las mismas. Los usuarios no saben que susvistas no se almacenan de manera física en forma de tabla.

Bases de Datos 2020(Código de Materia: ECF)Interoperabilidad

Bases de Datos 2020(Código de Materia: ECF)INTEROPERABILIDAD

Bases de Datos 2020(Código de Materia: ECF)Características Generales

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALESSQL consta de varios componentes Lenguaje de Definición de Datos (DDL): Proporciona comandos para la definición de esquemas derelació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 basadotanto en el algebra relacional, como en el calculo relacional de tuplas. Integridad: El DDL incluye comandos para especificar las restricciones de integridad que debencumplir los datos almacenados en la base de datos. Control de Transacciones: Incluye comandos para especificar el comienzo y el final de lastransacciones. Autorización: Incluye comandos para especificar los derechos de acceso a las relaciones y a lasvistas.

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLEl 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.

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLLos comandos más importantes son: CREATE TABLE CREATE INDEX ALTER TABLE ALTER INDEX DROP TABLE DROP INDEX.

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLCREATE TABLEEste comando se lo utiliza para crear las tablas bases que forman la esencia de una basede datos relacional. Consiste de uno o mas encabezados (headings) de columna, queproporcionan el nombre y el tipo de datos de la columna, y cero o más filas de datos,contienen un valor de datos del tipo de datos especificados para cada columna.La forma de dicho comando es:CREATE TABLE nombre tabla (nombre columna tipo columna, [restricciones –NULL/NOT NULL, DEFAULT, UNIQUE, CHECK], ,[restricciones tabla – PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK .])

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLCREATE TABLE

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDL

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLCREATE INDEXLos índices nos ayudan a obtener datos de las tablas en forma más rápida. Al dirigirnos alíndice primero ahorramos tiempo y seguramente es el método mas eficiente para ubicar lainformación que necesitamos. Sin un índice, el sistema de base de datos lee a través detoda la tabla (este proceso se denomina “escaneo de tabla”) para localizar la informacióndeseada.CREATE INDEX nombre indice ON nombre tabla (nombre columna);

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLSi queremos crear un índice para acceder mas rápido a los barcos podríamos hacerlo dediferentes formas:CREATE INDEX idxnombrebarco ON BARCO (Nombre Barco);CREATE INDEX idxbarco ON BARCO (Nombre Barco, Modelo);

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLALTER TABLEUna vez creada una tabla, los usuarios pueden encontrarla más útil si contiene un ítem dedatos adicional, no tiene una columna particular o tiene diferentes restricciones. Aquí, lanaturaleza dinámica de una estructura de base de datos relacional hace posible cambiar lastablas base existentes.Por ejemplo, para agregar una nueva columna a la derecha de la tabla se usa el comandode la siguiente forma:ALTER TABLE nombre tabla ADD nombre columna tipo columna;

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLEjemploALTER TABLE BARCO ADD Tipo VARCHAR(20) NOT NULL;Queda ahora así:BARCO ( Numero Barco, Nombre Barco, Modelo, Tamaño Largo, Astillero, Tipo)

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLDROP TABLELas tablas se pueden eliminar en cualquier momento mediante el comando:DROP TABLE nombre tabla;Cuando se ejecuta este comando se remueven la tabla en si y todos los registros contenidosen ella. Además, todos los índices y todas las vistas que dependen de ella se deben deeliminar. También se puede eliminar cualquier índice con la siguiente secuencia:DROP INDEX nombre indice;

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DDLTipos de DatosLos tipos de datos disponibles concluyen varios tipos numéricos, cadenas de caracteres delongitud fija y de longitud variable, cadenas de bits y tipos definidos por el usuario.

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLManipulación de la Base de Datos (DML)El lenguaje de consulta de SQL es declarativo, también llamado no procedural, lo quesignifica que permite especificar cuales datos se recuperan sin dar los procedimientos pararecuperarlos. Se puede usar como un lenguaje interactivo para consultas, incrustado en unlenguaje de programación huésped, o como un lenguaje completo en si para cálculos con eluso de SQL/PSM (Persistent Stored Modules Modulos de almacenamiento persistentes).Los comandos DML son:SELECT , UPDATE, INSERT , DELETE

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLSentencia INSERTUna sentencia INSERT de SQL agrega uno o más registros a una ( y solo una) tabla en unabase de datos relacional.Forma BásicaINSERT INTO nombre tabla (“nombre columna1”,”[nombre columna2 .]”) VALUES(“valor1”, “[valor2.]”)

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLFORMA BASICAINSERT INTO BARCO ( Numero Barco , Nombre Barco , Modelo , Tamaño Largo , Astillero ) VALUES ( '0A1254’, 'NUEVA ESPERANZA', 'YATE', 164, 'atarazana’);OTRA FORMAINSERT INTO BARCO VALUES ( '0A1254’, 'NUEVA ESPERANZA', 'YATE', 164, 'atarazana’);INSERCION MULTIPLEINSERT INTO BARCO ( Numero Barco , Nombre Barco , Modelo , Tamaño Largo , Astillero ) VALUES ( ('0A1254’, 'NUEVA ESPERANZA', 'YATE', 164, 'atarazana’) , (‘0B5153’,ATHENAS', ‘VELEROS MODERNOS’, 138, 'atarazana’));

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLSentencia UPDATEUna sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto deregistros existentes en una tabla.Forma BásicaUPDATE nombre tabla SET “nombre columna1” “nuevo valor,”[“nombre columna2” “nuevo valor2, .”] WHERE condición;EjemploUPDATE BARCO SET Nombre Barco ‘NUEVAS ESPERANZAS’, Modelo ‘ VELERO’WHERE Numero Barco '0A1254’;

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLSentencia DELETELa sentencia DELETE borra uno o más registros existentes en una tabla.Forma BásicaDELETE FROM nombre tabla WHERE nombre columna1 valor1;EjemploDELETE FROM BARCO WHERE Numero Barco '0A1254’;

Bases de Datos 2020(Código de Materia: ECF)CARACTERÍSTICAS GENERALES - DMLSentencia SELECTLa sentencia SELECT nos permite consultar los datos almacenados en una tabla de la basede datos.El formato de la sentencia SELECT es: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 [ASC DESC], [[nombre columna índice columna [ASC DESC ]]]]

Bases de Datos 2020(Código de Materia: ECF)BIBLIOGRAFIATecnología y Diseño de Basesde 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ándo Sáenz Pérez, AntonioGarcía Cordero /y/ Jesús CorreasFernández.-- Rev. Tca. Luis GrauFernández). McGraw Hill. Madrid/c.2008/5a. Edic.Fundamentos de sistemas debases de datos / RamezElmasri /y/ Shamkant B.Navathe.—(Tra. VerónicaCanivell Castillo, Beatriz GalánEspiga /y/ Gloria ZaballaPérez.--Rev. Tca. Alfredo GoñiSarriguren , Arturo JaimeElizondo /y/ Tomás A. PérezFernández) Pearson Educación.Madrid /c.2002/3a. ed.Introducción al SQL paraUsuarios y Programadores /Cornelio et al / THOMSON / 2003 /2da. Edic

Bases de Datos 2020(Código de Materia: assroom.google.com/ Código de Clase: lcuklgehttps://meet.google.com/iqc-hmvt-zbu TEORIAhttps://meet.google.com/pua-fisd-pjf PRÁCTICAhttps://www.facebook.com/liafacet/

Bases de Datos 2020 (Código de Materia: ECF) Los sistemas de gestión de base de datos relacional soportan la arquitectura estándar en tres niveles. Como se muestra en la figura, las bases de datos relaciones proporcionan independencia de datos tanto lógica como física, porque separan los niveles externo, lógico e interno.