Want to create interactive content? It’s easy in Genially!

Get started free

Tema 1 - SQL

Paulinita Cienega Perez

Created on September 11, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Math Lesson Plan

Primary Unit Plan 2

Animated Chalkboard Learning Unit

Business Learning Unit

Corporate Signature Learning Unit

Code Training Unit

History Unit plan

Transcript

Introducción a las Bases de Datos relacionales y a SQL

Tema 1Instructora: M.G.T.I. Ana Paulina Ciénega Pérez

EMPEZAR

Objetivo

Al finalizar el tema el/la participante identificara las características de una base de datos relacional con base en el estándar ISO TEC 9075:2016 del lenguaje SQL.

Presentación del tema

En este tema enunciaremos los Conceptos y Elementos básicos de Bases de datos, así como la Normalización de datos. ¿Consideras que la organización y disponibilidad de los datos hoy en día son básicos para lograr el éxito de un negocio?

SUBTEMA 1.2Aprenda de SQL

SUBTEMA 1.1Modelo relacional

Índice

Modelo relacional

Objetivo sub-tema 1.1

Al finalizar el sub-tema el/la participante identificara el modelo relacional de una base de datos en el lenguaje SQL.

Sub-tema 1.1 Modelo Relacional

Jerárquico

Modelos Básicos de Bases de Datos

Red
Relacional

Sub-tema 1.1 Modelo Relacional

El modelo relacional.

Si alguna vez tiene la oportunidad de ver un curso acerca de base de datos relacionales, es muy posible que vea el nombre de E. F. (Ted) Codd, a quien se hace referencia en el contexto del modelo relacional. En 1970, Codd publicó su trabajo más importante “A Relational Model Of Data For Large Shared Data Banks” (Un modelo relacional de datos para grandes bancos de datos compartidos), en el diario Communications of the ACM, volumen 13, número 6 (junio de 1970). Codd define una estructura de datos relacional que protege los datos y permite que sean manipulados de manera que es previsible y resistente al error.

Sub-tema 1.1 Modelo Relacional

El modelo relacional, el cual se basa principalmente en los principios matemáticos de la teoría de conjuntos y lógica de predicados, apoya la recuperación de datos sencilla, aplica la integración de datos (la precisión y coherencia de los datos), y proporciona una estructura de base de datos independiente de las aplicaciones al acceder a los datos almacenados. El núcleo del modelo relacional es la relación. Una relación es un conjunto de columnas y filas reunidas en una estructura en forma de tabla que representa una entidad única formada por los datos relacionados. Una entidad es una persona, lugar, cosa, evento o concepto sobre el cual los datos son recolectados, como un artista, un curso o una transacción de ventas. Cada relación comprende uno o más atributos (columnas).

Sub-tema 1.1 Modelo Relacional

Un atributo es un hecho simple que describe o caracteriza una entidad de alguna manera. Por ejemplo, en la figura 1-1, la entidad es un disco compacto (CD) con atributos de NOMBRE_CD (el título del CD), NOMBRE_ARTISTA (el nombre del artista) y AÑO_DERECHOSDEAUTOR (el año de los derechos de autor del disco). Como se ve en la figura 1-1, cada atributo tiene un dominio asociado. Un dominio define el tipo de datos que son almacenados en un atributo particular; sin embargo, un dominio no es lo mismo que un tipo de datos.

Sub-tema 1.1 Modelo Relacional

Normalización de datos

La parte central de los principios del modelo relacional es el concepto de normalización, una técnica para producir un conjunto de relaciones que poseen un conjunto de ciertas propiedades que minimizan los datos redundantes y preservan la integridad de los datos almacenados tal como se mantienen (añadidos, actualizados y eliminados).

. La normalización se define por un conjunto de normas, que se conocen como formas normales, que proporcionan una directriz específica de cómo los datos son organizados para evitar anomalías que den lugar a inconsistencias y pérdida de los datos tal como se mantienen almacenados en la base de datos.

Sub-tema 1.1 Modelo Relacional

Elección de un identificador único

es un atributo o conjunto de atributos que únicamente identifican cada fila de datos en una relación. El identificador único eventualmente se convertirá en la clave principal de la tabla creada en la base de datos física desde la relación de normalización, pero muchos usan los términos identificador único y clave principal de manera intercambiable.

A cada identificador potencial único se le denomina candidato clave, y cuando hay varios candidatos, el diseñador elegirá el mejor, el cual es el menos probable de cambiar valores o el más simple y/o el más corto. En muchos casos, un solo atributo se identifica únicamente en los datos en cada tupla de la relación. Sin embargo, cuando ningún atributo que es único se encuentra, el diseñador busca varios atributos que puedan ser unidos (puestos juntos) para formar un identificador único..

Sub-tema 1.1 Modelo Relacional

Primera forma normal

La primera forma normal, que proporciona la fundación para la segunda y tercera forma normal, incluye las siguientes directrices: 1. Cada atributo de una tupla contiene sólo un valor. 2. Cada tupla en una relación contiene el mismo número de atributos. 3. Cada tupla es diferente, lo que significa que la combinación de los valores de todos los atributos de una tupla dada no puede ser como ninguna otra tupla en la misma relación.

Sub-tema 1.1 Modelo Relacional

Segunda forma normal: debe entender el concepto de dependencia funcional. Para esta definición se usarán dos atributos arbitrarios, hábilmente llamados A y B. El atributo B es funcionalmente dependiente (dependiente para abreviar) del atributo A si en cualquier momento no hay más que un valor del atributo B asociado con el valor dado al atributo A..

Si se dice que el atributo B es funcionalmente dependiente del atributo A, también estaremos diciendo que el atributo A determina al atributo B, o que A es un factor determinante (identificador único) del atributo B. En la figura 1-4, AÑO_DERECHOSDEAUTOR depende de ID_CD, ya que sólo puede haber un valor de AÑO_DERECHOSDEAUTOR para cualquier CD. Dicho de otra manera, ID_CD es un factor determinante de AÑO_DERECHOSDEAUTOR.

Sub-tema 1.1 Modelo Relacional

Tercera forma normal

La tercera forma normal, como la segunda forma normal, depende de la relación del identificador único. Para adherir a las directrices de la tercera forma normal, una relación debe estar en la segunda forma normal y sin un atributo clave (atributos que no sean parte de algún candidato clave) deben ser independiente el uno del otro y depender del identificador único. Por ejemplo, el identificador único en la relación mostrada en la figura 1-5 es el atributo ID_ARTISTA.

Los atributos NOMBRE_ARTISTA e ID_AGENCIA dependen del identificador único y son independientes uno del otro. Sin embargo, el atributo ESTADO_AGENCIA depende del atributo ID_AGENCIA, y por lo tanto viola las condiciones de la tercera forma normal. Este atributo se adapta mejor en una relación que incluye datos sobre las agencias.

Sub-tema 1.1 Modelo Relacional

Relaciones

Hasta ahora el enfoque en este capítulo se ha centrado en la relación y la manera de normalizar los datos. Sin embargo, un componente importante de cualquier base de datos relacional es de qué forma esas relaciones se asocian entre sí. Esas asociaciones, o relaciones, se vinculan en forma significativa, lo que contribuye a garantizar la integridad de los datos de modo que una acción realizada en una relación no repercuta negativamente en los datos de otra relación.

Sub-tema 1.1 Modelo Relacional

Hay tres tipos principales de relaciones: 1. Una a una: Una relación entre dos relaciones en la cual una tupla en la primera relación esté relacionada con al menos una tupla en la segunda relación, y una tupla en la segunda relación esté relacionada con al menos una tupla en la primera relación. 2. Una a varias: Una relación entre dos relaciones en la cual una tupla en la primera relación esté relacionada con ninguna, una o más tuplas en la segunda relación, pero una tupla en la segunda relación esté relacionada con al menos una tupla en la primera relación. 3. Varias a varias: Una relación entre dos relaciones en la cual una tupla en la primera relación esté relacionada con ninguna, una o más tuplas en la segunda relación, y una tupla en la segunda relación esté relacionada con ninguna, una o más tuplas en la primera relación.

Sub-tema 1.1 Modelo Relacional

Aprenda de SQL

Objetivo sub-tema 1.2

Al finalizar el tema el/la participante identificara el estándar ISO TEC 9075:2016 del lenguaje de programación SQL.

Sub-tema 1.2 Aprenda acerca de SQL

Aprenda acerca de SQL

A lo largo de este capítulo, al examinar el modelo relacional y SQL, se mencionaron a menudo los RDBMS y la forma en que utilizan el estándar SQL como base de sus productos. Un sistema de gestión de base de datos relacional es un programa o conjunto de programas que almacenan, administran, recuperan, modifican y manipulan información en una o más bases de datos relacionales. Oracle, Microsoft SQL Server, IBM’s DB2 y el producto de prueba MySQL son todos ejemplos de RDBMS. Estos productos, como otros RDBMS, permiten interactuar con la información almacenada en el sistema. Aunque no es necesario que un RDBMS se base en SQL, la mayoría de los productos en el mercado están basados en SQL y tratan de ajustarse al estándar SQL.

Sub-tema 1.2 Aprenda acerca de SQL

Ahora que tiene un conocimiento fundamental del modelo relacional, es el momento para introducirlo a SQL y sus características básicas. Como recordará de la sección “Entienda las bases de datos relacionales” vista anteriormente en este capítulo, SQL se basa en el modelo relacional, aunque no se trate de una aplicación exacta. Mientras el modelo relacional proporciona las bases teóricas de la base de datos relacional, es el lenguaje SQL el que apoya la aplicación física de esa base de datos.

Sub-tema 1.2 Aprenda acerca de SQL

SQL, el lenguaje relacional casi universalmente aplicado, es diferente de otros lenguajes computacionales como C, COBOL y Java, los cuales son de procedimiento. Un lenguaje de procedimiento define cómo las operaciones de una aplicación deben realizarse y el orden en el cual se realizan. Un lenguaje de no procedimiento, por otro lado, se refiere a los resultados de una operación; el entorno fundamental del software determina cómo se procesan las operaciones. Esto no quiere decir que SQL respalda a la funcionalidad de no procedimiento. Por ejemplo, los procedimientos almacenados, agregados a varios productos RDBMS hace algunos años, son parte del estándar SQL y proporciona capacidades parecidas a procedimiento.

Sub-tema 1.2 Aprenda acerca de SQL

Objeto de modelo relacional

El lenguaje SQL se basa en el modelo relacional, y hasta SQL-92, también el estándar SQL. Sin embargo, comenzando con SQL:1999, el estándar SQL se extendió más allá del modelo relacional puro para incluir construcciones orientadas a objetos en el lenguaje. Estas construcciones se basan en los conceptos inherentes de programación orientada a objetos, una programación metodológica que define colecciones autónomas de estructura de datos y rutinas (llamadas objetos). En los lenguajes orientados a objetos como Java y C++, los objetos interactúan entre sí de manera que permiten al lenguaje abordar problemas complejos que no serían fáciles de resolver en lenguajes tradicionales.

+ info

Sub-tema 1.2 Aprenda acerca de SQL

Tipos de instrucciones de SQL

Lenguaje de definición de datos (DDL, Data Definition Language)

Lenguaje de control de datos (DCL, Data Control Language)

Lenguaje de manipulación de datos (DML, Data Manipulation Language)

+ info

+ info

+ info

Sub-tema 1.2 Aprenda acerca de SQL

Tipos de ejecución

Además de definir cómo se usa el lenguaje, el estándar SQL proporciona detalles de cómo las instrucciones SQL son ejecutadas. Este método de ejecución, conocido como estilos de unión, no sólo afecta la naturaleza de la ejecución, sino también determina cuáles instrucciones, como mínimo, deben ser soportadas por un estilo de unión particular.

• SQL incrustado

• Invocación directa)

• Unión de módulo

• Interfaz convocatoria a nivel

+ info

+ info

+ info

+ info

Sub-tema 1.2 Aprenda acerca de SQL

El estándar SQL frente a las implementaciones de producto

El centro de cualquier RDBMS basado en SQL.Sin embargo, el lenguaje utilizado no es SQL puro. Cada producto extiende su lenguaje con el fin de implementar las características definidas por el proveedor y mejorar la funcionalidad basada en SQL. En consecuencia, cada proveedor respalda una variación ligeramente diferente de SQL, lo que significa que el lenguaje utilizado en cada producto tiene una aplicación específica. Por ejemplo, SQL Server utiliza Transact-SQL, que incluye tanto a SQL como a las extensiones del proveedor para proporcionar las instrucciones de procedimiento necesarias para los activadores y los procedimientos almacenados. Por otro lado, Oracle proporciona instrucciones de procedimiento en un componente de producto separado llamado PL/SQL. Como resultado, las instrucciones SQL que se proporcionan en el curso pueden ser ligeramente diferentes en la aplicación del producto que utiliza.

Sub-tema 1.2 Aprenda acerca de SQL

Una de las ventajas de utilizar un producto como Oracle o SQL Server es que ambos respaldan la invocación directa a través de una aplicación GUI de usuario. SQL Server usa la interfaz Management Studio, que se muestra en la figura 1-7. La interfaz GUI hace posible crear una consulta específica en SQL, presentarla a DBMS para la transformación y ver los resultados, lo que le permite aplicar lo que se aprende en un entorno real de SQL. Oracle tiene varias soluciones para un GUI de usuario, incluyendo el interfaz basado en la web iSQL* Plus, mostrado en la figura 1-8.

Ver imangen

Ver imangen

Sub-tema 1.2 Aprenda acerca de SQL

El uso de estos productos no implica que se apoye a alguno de ellos por encima de cualquier otro producto comercial (como Sybase o Informix) o los productos de prueba (como PostgreSQL), y de hecho, le animamos a utilizar cualquier RDBMS que tenga disponible, suponiendo que da soporte a gran parte de la funcionalidad que se analiza en el curso. Sin embargo, se eligen SQL Server y Oracle para la mayoría de los ejemplos del curso, ya que se demostrará cómo se aplica SQL en el mundo real y cómo SQL puede diferir de una aplicación específica de una versión del lenguaje, y esos dos productos suministran el medio para llevarlo a cabo. Tenga en cuenta que, para que pueda tener una plena comprensión de SQL y pueda utilizarlo en varios productos RDBMS, necesitará entender tanto el estándar SQL como el lenguaje que se aplica a los productos que van a utilizar.

Sub-tema 1.2 Aprenda acerca de SQL

Sub-tema 1.2 Aprenda acerca de SQL

Evaluacion tema 1
Actividad de aprendizaje 1

Actividad 1. Crucigrama “Conceptos básicos”

Recapitulación

En este tema se vio lo referente SQL, para entender como se basa en el modelo relacional, aunque no se trate de una aplicación exacta. Mientras el modelo relacional proporciona las bases teóricas de la base de datos relacional, es el lenguaje SQL el que apoya la aplicación física de esa base de datos. Trabajemos y aprendamos más conceptos en este viaje educativo.,

¡Temafinalizado!

Muchas gracias...

Las instrucciones DCL permiten controlar quién o qué (un usuario en una base de datos puede ser una persona o un programa de aplicación) tiene acceso a objetos específicos en la base de datos. Con DCL, puede otorgar o restringir el acceso usando las instrucciones GRANT o REVOKE, los dos comandos principales en DCL. Las instrucciones DCL también permiten controlar el tipo de acceso que cada usuario tiene a los objetos de una base de datos. Por ejemplo, puede determinar cuáles usuarios pueden ver un conjunto de datos específico y cuáles usuarios pueden manipular esos datos.

Las instrucciones DML se usan para recuperar, agregar, modificar o borrar datos almacenados en los objetos de una base de datos. Las palabras clave asociadas con las instrucciones DML son SELECT, INSERT, UPDATE y DELETE, las cuales representan los tipos de instrucciones que probablemente son más usadas. Por ejemplo, puede usar la instrucción SELECT para recuperar datos de una tabla y la instrucción INSERT para agregar datos a una tabla.

Las instrucciones DDL se usan para crear, modificar o borrar objetos en una base de datos como tablas, vistas, esquemas, dominios, activadores, y almacenar procedimientos. Las palabras clave en SQL más frecuentemente asociadas con las instrucciones DDL son CREATE, ALTER y DROP. Por ejemplo, se usa la instrucción CREATE TABLE para crear una tabla, la instrucción ALTER TABLE para modificar las características de una tabla, y la instrucción DROP TABLE para borrar la definición de la tabla de la base de datos.

• Unión de módulo: Este método permite crear bloques de instrucciones SQL (módulos) que están separados del lenguaje de programación anfitrión. Una vez que el módulo es creado, es una combinación entre una aplicación y un vinculador. Un módulo contiene, entre otras cosas, procedimientos, y son los procedimientos los que contienen las instrucciones SQL reales.

• Interfaz convocatoria a nivel (CLI, Call-level interface): Una CLI permite invocar instrucciones SQL a través de una interfaz mediante la aprobación de instrucciones SQL como valores argumentativos para las subrutinas. Las instrucciones no están precompiladas como en el SQL incrustado y la Unión de módulo. En lugar de eso, son ejecutadas directamente por los RDBMS.

• SQL incrustado: En este método, las instrucciones SQL están codificadas (incrustadas) directamente en el lenguaje de programación anfitrión. Por ejemplo, las instrucciones SQL se pueden incrustar en el código C de la aplicación. Antes que el código se compile, un preprocesador analiza las instrucciones SQL y las desglosa desde el código C. El código SQL se convierte en una forma que RDBMS puede entender, y el código C restante se compila como lo haría normalmente.

Mediante el uso de este método, puede comunicarse directamente desde una aplicación de usuario, como iSQL*Plus en Oracle o Management Studio en Microsoft SQL Server, en la base de datos. (La aplicación de usuario y la base de datos pueden estar en la misma computadora, pero a menudo no lo están.) Simplemente introduzca su consulta en la ventana de la aplicación y ejecute la instrucción SQL. Los resultados de su consulta se le devolverán tan rápido como el poder del procesador y las limitaciones de la base de datos lo permitan. Ésta es una forma rápida de comprobar datos, verificar conexiones y ver los objetos en una base de datos. Sin embargo, las directrices del estándar SQL sobre la invocación directa son bastante mínimas; por lo tanto, los métodos utilizados y los estándares SQL respaldados pueden variar ampliamente de un producto a otro.

Jerárquico

Este modelo tiene una estructura primaria y secundaria que es similar a un árbol invertido, que es lo que constituye la jerarquía. Los datos están organizados en nodos, el equivalente lógico de tablas en una base de datos relacional. Un nodo principal puede tener muchos nodos secundarios, pero un nodo secundario sólo puede tener un nodo principal. Aunque el modelo ha sido muy utilizado, a menudo se considera inadecuado para muchas aplicaciones debido a su estructura inflexible y la falta de apoyo de relaciones complejas. Aun algunas implementaciones como IMS de IBM han introducido características que trabajan en torno a estas limitaciones

Red

Este modelo aborda algunas de las limitaciones del modelo jerárquico. Los datos están organizados en tipos de registro, el equivalente lógico de tablas en una base de datos relacional. Al igual que el modelo jerárquico, el modelo de red usa la estructura de un árbol invertido, pero los tipos de registro se organizan en una estructura que relaciona pares de tipos de registro en propietarios y miembros. Cualquier tipo de registro puede participar en cualquier conjunto con otros tipos de registro en la base de datos, que apoya a las consultas y relaciones más complejas de lo que es posible en el modelo jerárquico. Hasta el modelo de red tiene sus limitaciones, y la más seria es la complejidad. Al acceder a la base de datos, el usuario debe estar familiarizado con la estructura y mantener un seguimiento cuidadoso de dónde está y cómo llegó ahí. También es difícil cambiar la estructura sin afectar las aplicaciones que interactúan con la base de datos.

Relacional

Una base de datos relacional es independiente de la aplicación; puede hacer modificaciones no destructivas a la estructura sin afectar la aplicación. Además, la estructura de la base de datos relacional se basa en la relación, o tabla, junto con la habilidad de definir relaciones complejas entre ellas. Se puede acceder directamente a cada relación sin la lentitud de las limitaciones de los modelos jerárquicos o propietario/ miembro que requiere de una navegación a través de una estructura compleja de datos.