0% encontró este documento útil (0 votos)
3 vistas60 páginas

Base de Datos Estructurada Modulo

El documento describe la estructura y componentes esenciales de un módulo de materias sobre Bases de Datos Estructurados, incluyendo mensajes de bienvenida, orientaciones de estudio y actividades. Se enfatiza la importancia de las bases de datos en diversos ámbitos, así como su arquitectura y el papel de los sistemas de administración de bases de datos (DBMS). Además, se abordan las ventajas de utilizar bases de datos y DBMS, y se presenta la arquitectura ANSI/SPARC para describir la estructura de sistemas de bases de datos.

Cargado por

sars20534679
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas60 páginas

Base de Datos Estructurada Modulo

El documento describe la estructura y componentes esenciales de un módulo de materias sobre Bases de Datos Estructurados, incluyendo mensajes de bienvenida, orientaciones de estudio y actividades. Se enfatiza la importancia de las bases de datos en diversos ámbitos, así como su arquitectura y el papel de los sistemas de administración de bases de datos (DBMS). Además, se abordan las ventajas de utilizar bases de datos y DBMS, y se presenta la arquitectura ANSI/SPARC para describir la estructura de sistemas de bases de datos.

Cargado por

sars20534679
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 PDF, TXT o lee en línea desde Scribd

El módulo de sus materias debe contener:

2.1-Mensaje de bienvenida – ya realizado

Por Unidad Didáctica:

2.2-Introducción

2.3-Orientaciones para el estudio

2.4-Selección de lectura obligatoria

2.5-Lectura complementaria

2.6-Actividad en el Foro

2.7-Actividades (Trabajo Práctico Actividad Obligatoria, Actividad de Reflexión

no obligatoria)
Bases de Datos Estructurados | 2
Bases de Datos Estructurados | 3
Iconos individuales

Bases de Datos Estructurados | 4


Conceptos Básicos de Bases de Datos

Contexto

Sistemas de
elementos sustanciales
Bases de ventajas
Datos

Softwar
Arquitectura e
Usuario
s
Si analizamos cualquier sistema informático, encontraremos siempre como uno de
los componentes esenciales, una Base de Datos. Por lo tanto, el objetivo de esta
unidad, es desde un contexto sistémico, resaltar la importancia que tiene las bases
de datos, conocer sus fundamentos, desarrollando los conceptos iniciales, y resaltar
las ventajas que brindan.

Presentaremos la Arquitectura ANSI/SPARC que se utiliza para describir, en forma


más práctica y clara, los conceptos generales de las bases de datos y para explicar
la estructura de un sistema de bases de datos.

Es justo decir que las bases de datos juegan un papel fundamental en la mayoría de
las áreas en las que se utilizan computadores, como en el ámbito empresarial, en el
comercio electrónico, ingeniería, medicina, justicia, educación y bibliotecas entre
otros.

Podemos afirmar que, los sistemas de bases de datos son un componente esencial
de la vida cotidiana en la sociedad moderna. Actualmente, la mayoría de nosotros
nos enfrentamos a diversas actividades que implican cierta interacción con una base
de datos. Por ejemplo, ir al banco a depositar o retirar fondos, realizar una reserva
en un hotel o una compañía aérea, acceder al catálogo de una biblioteca para buscar
un libro, o comprar algo online (un juguete o una TV, por ejemplo), son actividades
que implican que alguien o algún programa de computadora acceda a una base de
datos. Incluso la compra de productos en un supermercado, en muchos casos,
provoca la actualización automática de la base de datos que mantiene el stock de la
tienda.
Estas interacciones son ejemplos de lo que podemos llamar aplicaciones de bases
de datos tradicionales, en las que la mayor parte de la información que hay
almacenada y a la que se accede es textual o numérica. En los últimos años, los

Bases de Datos Estructurados | 5


avances en la tecnología han conducido a excitantes aplicaciones y sistemas de
bases de
datos nuevos, por ejemplo, bases de datos en la nube que consumen muchas
aplicaciones. La tecnología de los medios de comunicación, las redes sociales, las
aplicaciones móviles hacen posible almacenar digitalmente imágenes, audio y flujos
(streams) de vídeo. Estos tipos de información se convirtieron en un componente
importante de las bases de datos multimedia. Los sistemas de información geográfica
(GIS, Geographic biformatioll systems) pueden almacenar y analizar mapas, datos
meteorológicos e imágenes de satélite. Los almacenes de datos y los sistemas de
procesamiento analítico en línea (OLAP, online analylical processing) se utilizan en
muchas compañías para extraer y analizar información útil de bases de datos mucho
más grandes para permitir la toma de decisiones. Las tecnologías de tiempo real y
bases de datos activas se utilizan para controlar procesos industriales y de
fabricación.

Otras Aplicaciones que utilizan Bases de Datos:


⮚ Aplicaciones científicas. Experimentos de física, genética, etc.
⮚ Almacenamiento y recuperación de imágenes, satelitales, rayos X,
medicinales
⮚ Almacenamiento y recuperación de vídeos
⮚ Aplicaciones de minado de datos,
⮚ Aplicaciones espaciales, geográficos, climatológicos
⮚ Aplicaciones de series cronológicas, mercados bursátiles, fintech,
criptomonedas

En este contexto actual, remarcando la importancia que tienen las bases de datos,
continuaremos el desarrollo de esta unidad, definiendo los conceptos básicos de las
bases de datos.

Pensemos en todos los sistemas informáticos que utilizamos a diario, listamos a


continuación, cuales son los componentes de cualquier sistema informático, y luego
de definir cada uno de estos componentes, nos centraremos en los datos.

Los elementos esenciales que siempre encontraremos son

⮚ Hardware
⮚ Usuarios Haga un listado de las aplicaciones de
⮚ Software su celular, web y software que utiliza
⮚ Datos cotidianamente.

El hardware de un sistema informático, se refiere a procesadores, memorias y demás


equipamiento que atienden al almacenamiento, a los usuarios, a las comunicaciones,
y otras funciones del sistema.
Al evaluar los usuarios, también encontraremos de diferentes tipos y roles según
cómo interactúan con el sistema informático. Lo desarrollaremos con el nivel de 3
capas.

Bases de Datos Estructurados | 6


En cuanto al software, lo podemos definir como el conjunto de los programas que
permiten a los usuarios, trabajar con los datos. Un usuario del sistema puede realizar
una variedad de operaciones sobre dichos archivos como ser:

⮚ Agregar nuevos archivos a la base de datos.


⮚ Recuperar datos de los archivos existentes.
⮚ Eliminar archivos existentes de la base de datos.
⮚ Insertar datos dentro de los archivos existentes.
⮚ Modificar datos en archivos existentes.
⮚ Eliminar datos de los archivos existentes.

Datos e Información. Lo trataremos como sinónimos. Lo definiremos como cualquier


cosa que sea de importancia para el individuo u organización. Nos referimos a los
hechos conocidos que se pueden grabar y que tienen un significado implícito. Por
ejemplo, de una persona, el nombre, dirección, identificación, fecha de nacimiento.
De una compra, sus datos serían entre otros: la fecha de compra, el cliente, los
productos, la cantidad, el precio.

SISTEMA DE BASE DE DATOS:

Un sistema de base de datos es básicamente un sistema computarizado para guardar


registros; es decir, es un sistema computarizado cuya finalidad general es almacenar
información y permitir a los usuarios recuperar y actualizar esa información con base
en peticiones

Que es una Base de Datos


Una definición genérica, que luego redefiniremos, una base de datos es una
colección de datos relacionados. Por ejemplo una guía de teléfonos.

La definición, en un contexto de sistemas informáticos, es:

Base de datos es un conjunto de datos persistentes que es utilizado por los


sistemas de aplicación de alguna empresa dada.

Por ejemplo, una biblioteca, una red social, una clínica, una universidad.

Propiedades de una base de datos

✔ Una base de datos representa algún aspecto del mundo real, lo que en
ocasiones se denomina minimundo o universo de discurso.

✔ Una base de datos es una colección de datos lógicamente coherente con


algún tipo de significado inherente. No es correcto denominar base de datos
a un surtido aleatorio de datos.

✔ Una base de datos se diseña, construye y rellena con datos para un propósito
específico.

Ventajas de utilizar una base de Datos

⮚ Los datos pueden compartirse


⮚ Es posible reducir la redundancia
⮚ Es posible (hasta cierto grado) evitar la inconsistencia

Bases de Datos Estructurados | 7


⮚ Es posible mantener la integridad
⮚ Es posible hacer cumplir la seguridad
⮚ Es posible equilibrar los requerimientos en conflicto
⮚ Con respecto a sistemas que no son computarizados:
o Compactación: No hay necesidad de archivos en papel voluminosos.
o Menos trabajo laborioso;
o Actualidad: En el momento que la necesitemos, tendremos a nuestra
disposición información precisa y actualizada.

Cada una de estas ventajas, se describen por si sola, para tener una descripción más
detallada de cada uno de estos puntos, realizar la lectura obligatoria de los capítulos
sugeridos de la bibliografía.

Una base de datos computarizada se puede crear y mantener con un grupo de


aplicaciones escritas específicamente para esa tarea o mediante un sistema de
administración de bases de datos (DBMS).

DBMS
Un sistema de administración de datos (DBMS, database management system) es
una colección de programas que permite a los usuarios crear y mantener una base
de datos. El DBMS es un sistema de software de propósito general que facilita los
procesos de definición, construcción, manipulación y compartición de bases de datos
entre varios usuarios y aplicaciones.

Una característica fundamental de la metodología de bases de datos es que el


sistema de bases de datos no sólo contiene la propia base de datos, sino también
una completa definición o descripción de la estructura de la base de datos y sus
restricciones. Esta definición se almacena en el catálogo DBMS, que contiene
información
como la estructura de cada archivo, el tipo y el formato de almacenamiento de cada
elemento de datos, y distintas restricciones de los datos. La información almacenada
en el catálogo se denomina metadatos y describe la estructura de la base de datos
principal (véase la Figura).

El software DBMS y los usuarios de la base de datos utilizan el catálogo cuando


necesitan información sobre la estructura de la base de datos. Un paquete de
software DBMS de propósito general no se escribe para una aplicación de base de
datos específica. Por consiguiente, debe referirse al catálogo para conocer la
estructura de los archivos de una base de datos específica, como el tipo y el formato
de los datos a los que accede. El software DBMS debe funcionar igual de bien con
cualquier cantidad de aplicaciones de bases de datos (por ejemplo, la base de datos
de una universidad, la base de datos de un banco o la base de datos de una
empresa), siempre y cuando la definición de la base de datos esté almacenada en el
catálogo.

Bases de Datos Estructurados | 8


Los DBMS, se asocian a los tipos de bases de datos relacionales, que son un tipo de
bases de datos entre varios tipos existentes, que desarrollaremos en la siguiente
unidad. Entre los productos del mercado, de este tipo de bases de datos encontramos
Microsoft con SQL Server, IBM con DB2, Oracle con Oracle y MySql, del mundo Open
Source Postgres y MariaDB entre tantos. Todos estos productos los podemos utilizar
también en la nube por ejemplo en Amazon, Azure, o Google.

Ventajas de utilizar un DBMS

⮚ Control de la redundancia
La redundancia resultante de almacenar los mismos datos varias veces conduce a
serios problemas.
En primer lugar, las actualizaciones lógicas sencillas (como la introducción de los
datos de un estudiante nuevo) hay que hacerlas varias veces: una por cada archivo
donde se almacenen los datos de los estudiantes. Esto lleva a una duplicación del
esfuerzo.
En segundo lugar, se derrocha espacio de almacenamiento al guardar
repetidamente los mismos datos, y este problema puede llegar a ser muy serio en las
bases de datos más grandes.
En tercer lugar, los archivos que representan los mismos datos pueden acabar
siendo incoherentes

⮚ Restricción del acceso no autorizado

Cuando varios usuarios comparten una base de datos, es probable que la mayoría
de los mismos no tengan autorización para acceder a toda la información de la base
de datos. Un DBMS debe proporcionar seguridad y un subsistema de autorización

⮚ Suministro de estructuras de almacenamiento para un procesamiento


eficaz de las consultas
Los sistemas de bases de datos deben proporcionar capacidades para ejecutar
eficazmente consultas y actualizaciones.

Bases de Datos Estructurados | 9


⮚ Copia de seguridad y recuperación

Un DBMS debe ofrecer la posibilidad de recuperarse ante fallos del hardware o del
software. El subsistema de copia de seguridad y recuperación del DBMS es el
responsable de la recuperación.

⮚ Otras funcionalidades que un DBMS resuelve:

⮚ Almacenamiento persistente para los objetos del programa


⮚ Suministro de varias interfaces de usuario
⮚ Representación de relaciones complejas entre los datos
⮚ Implementación de las restricciones de integridad

Con respecto al software DBMS es el que maneja todo acceso a la base de datos. De manera
conceptual, lo que sucede es lo siguiente (ver figura ) :

1. Un usuario emite una petición de acceso, utilizando algún sublenguaje de datos específico
(por lo regular SQL).
2. El DBMS intercepta esa petición y la analiza.
3. El DBMS inspecciona, en su momento, (las versiones objeto de) el esquema externo para
ese usuario, la transformación externa/conceptual correspondiente, el esquema conceptual,
la transformación conceptual/interna y la definición de la estructura de almacenamiento.
4. El DBMS ejecuta las operaciones necesarias sobre la base de datos almacenada.

Bases de Datos Estructurados | 10


Arquitectura ANSI/SPARC
Teniendo abordados los conceptos iniciales, estamos en condiciones de presentar la
arquitectura para un sistema de base de datos. Presentaremos la arquitectura
propuesta por el Grupo de Estudio en Sistemas de Administración de Bases de Datos
de ANSI/SPARC que facilitará describir los conceptos generales de las bases de
datos y explicar la estructura de sistemas de bases de datos

Imagen: Los tres niveles de la Arquitectura.1

La arquitectura ANSI/SPARC se divide en tres niveles, conocidos como interno,


conceptual y externo, respectivamente (vea la imagen ).

En términos generales:
⮚ El nivel interno (también conocido como el nivel físico) es el que está más
cerca del almacenamiento físico; es decir, es el que tiene que ver con la forma
en que los datos están almacenados físicamente.
⮚ El nivel externo (también conocido como el nivel lógico de usuario) es el más
próximo a los usuarios; es decir, el que tiene que ver con la forma en que los usuarios
individuales ven los datos.
⮚ El nivel conceptual (también conocido como el nivel lógico de la comunidad,
o en ocasiones sólo como el nivel lógico, sin calificar) es un nivel de
indirección entre los otros dos.

Desarrollaremos cada nivel

El nivel interno: También conocido como el nivel físico, es el que está más cerca del
almacenamiento físico, es decir, en el que tiene que ver con la forma en que los datos
están almacenados físicamente.

La vista interna es una representación de bajo nivel de toda la base de datos y


consiste en muchas ocurrencias de cada uno de los diversos tipos de registro
internos. El registro interno es el término de ANSI/SPARC utilizado para la
construcción de lo que llamamos registro de almacenado.
Por lo tanto, la vista interna está todavía distante del nivel físico, que no tiene que ver
con los términos como registros físicos, también llamados bloques o páginas, ni con
ninguna consideración específica de los dispositivos, como el tamaño de los cilindros
o de las pistas.

Bases de Datos Estructurados | 11


La vista interna se describe por medio del esquema interno, el cual no solo define los
diversos tipos de registro almacenados, sino que especifica también que índices
existen, cómo están representados los campos almacenados, el qué secuencia están
dichos registros, etc. El esquema interno está escrito utilizando otro lenguaje más de
definición de datos llamado el DDL interno.

En este nivel encontraremos al usuario DBA, que desarrollaremos su rol y funciones


más adelante en este capítulo.

El nivel externo: También conocido como el nivel lógico de usuario, es el más


próximo a los usuarios, es decir, el que tiene que ver con loa forma en que los
usuarios
individuales ven los datos.

Por lo tanto, el nivel externo es el nivel del usuario individual. Cada usuario tiene a
su disposición un lenguaje. En nuestro caso, lo importante acerca de dichos
lenguajes es que incluyan un sub-lenguaje de datos es decir un subconjunto del
lenguaje total que se ocupe específicamente de los objetos y operaciones de la base
de datos. Se dice que el sublenguaje de datos SLD está incrustado dentro de un
lenguaje anfitrión correspondiente. El lenguaje anfitrión es el responsable de
proporcionar diversas propiedades que no son específicas de la base de datos, como
las variables locales, las operaciones de cálculo, la lógica de bifurcación, etc. Un
sublenguaje de datos específico soportado por casi todos los sistemas actuales es el
lenguaje SQL que utiliza de manera interactiva, como un lenguaje de consulta
independiente, e incrustado en otros lenguajes como PL/I o JAVA.

El nivel conceptual: también conocido como el nivel lógico de la comunidad, o en


ocasiones sólo como el nivel lógico, sin calificar, es un nivel de indirección entre los
otros dos.

Dependerá de la percepción de la comunidad de usuarios. Habrá muchas vistas


externas distintas, cada una consistente en una representación más o menos
abstracta de alguna parte de la base de datos total y habrá precisamente una vista
conceptual que del mismo modo es una representación abstracta de la base de datos
en su totalidad. También habrá precisamente una vista interna que represen- te a la
base de datos tal como está almacenada físicamente.

La vista conceptual es una representación de todo el contenido de la información de


la base de datos. La vista conceptual pretende ser una vista de los datos tal como
son, en vez de tal como los usuarios están obligados a verlos debido a las limitaciones
por ejemplo del lenguaje o el hardware en particular que pudiera utilizar.

Esta vista conceptual está definida por medio del esquema conceptual, el cual
comprende definiciones de cada uno de los diversos tipos de registros conceptuales.
El esquema conceptual está escrito con otro lenguaje de definición de datos, el
llamado DDL conceptual. Estas definiciones de DDL no deben comprender en lo
absoluto ninguna consideración de la representación física ni de la técnica de acceso,
deben ser únicamente definiciones del contenido de la información.
En este nivel encontraremos los usuarios sistemistas, que son los Analistas,
programadores, usuarios de nivel técnico

Transformaciones

Además de los tres niveles corno tales, la arquitectura comprende ciertas


transformaciones; en general, una transformación conceptual/interna y varias

Bases de Datos Estructurados | 12


transformaciones externas/conceptuales. Estas transformaciones son como mapeos
que ayudan a cada nivel a interpretar y proponer una interfase entre niveles, deben
realizar una lectura adicional en la bibliografía. (ver figura )

EL DBA

En muchas empresas donde las dimensiones, procesos y volumen de información que manejan, se
puede encontrar un usuario específico para tales tareas. En un entorno de bases de datos, el recurso
principal es la base de datos en sí misma, mientras que el recurso secundario es el DBMS y el software
relacionado. La administración de estos recursos es responsabilidad del usuario administrador de la
base de datos (DBA, database administrator).

El DBA es responsable del acceso autorizado a la base de datos, de la coordinación y monitorización


de su uso, y de adquirir los recursos software y hardware necesarios. El DBA también es responsable
de problemas como las brechas de seguridad o de unos tiempos de respuesta pobres. En las empresas
grandes, el DBA está asistido por un equipo de personas que llevan a cabo estas funciones

el DBA es la persona que proporciona el apoyo técnico necesario para implementar decisiones de
estrategia y política con respecto a los datos de la empresa, por lo tanto, es el responsable del control
general del sistema al nivel técnico. Ahora podemos describir con un poco más de detalle algunas de
las tareas del DBA. En general, estas tareas comprenden al menos todas las siguientes (ver video):

Bases de Datos Estructurados | 13


Bibliografía
Selección de lectura obligatoria

Fundamentos de Sistemas de Bases de Datos - Elmasri y Navathe – Capitulo 1

Lectura complementaria

Introducción a los sistemas de Bases de Datos CJ Date – Capitulo 1 y 2

Trabajo Práctico - (Obligatorio e individual)

Tema: Conceptos básicos

1. Defina que es una base de datos informatizada


2. Detalle las ventajas se obtiene con una base de datos
3. Desarrolle en el nivel de tres capas los diferentes usuarios que intervienen en
cada nivel
4. Desarrolle las tareas que debe realizar un DBA
5. Defina DBMS y Desarrolle las funciones de un DBMS
6. Con respecto a las transformaciones, desarrolle el mapeo entre el nivel
conceptual y el nivel interno

Bases de Datos Estructurados | 14


Modelo Relacional

Tipos de Bases
de Datos

Modelo
Relacional

Aspecto
Estructural y de
integridad

Aspecto de
Manipulación y
Algebra
Relacional

Existen diferentes categorías de bases de datos no son necesariamente excluyentes unas con otras,
siendo su más grande diferenciación entre las relacionales y las no relacionales. Por eso, entre los
ejemplos podrás encontrar la misma base de datos en diferentes categorías.

1. Bases de datos relacionales


Como su nombre lo indica, utilizan el modelo relacional (que lo desarrollaremos en la siguiente sección)
y se sugiere usarlas cuando los datos que vas a utilizar son consistentes y ya tienen una estructura
planificada.

Las bases de datos relacionales funcionan bien con datos estructurados.


Ejemplos:
⮚ MySQL
⮚ Microsoft SQL Server
⮚ Oracle Database
⮚ PostgreSQL
⮚ IBM Db2
2. Bases de datos NoSQL o no relacionales
A diferencia de las bases de datos relacionales, los datos de una base de datos NO-SQL (Not Only SQL)
son más flexibles en cuanto a consistencia de datos y se han convertido en una opción que intenta
solucionar algunas limitaciones que tiene el modelo relacional. Este tipo de bases de datos es excelente
para las organizaciones que buscan almacenar datos no estructurados o semiestructurados.

Una de las ventajas de las bases de datos NoSQL es que los desarrolladores pueden realizar cambios
en la base de datos sobre la marcha, sin que ello afecte a las aplicaciones que la utilizan.

Ejemplos:

Bases de Datos Estructurados | 15


⮚ MongoDB
⮚ Redis
⮚ Apache Cassandra
⮚ Apache CouchDB
⮚ CouchBase

3. Bases de datos en la nube


La principal característica de esta categoría es que las bases de datos se entregan como un servicio
desde la nube, por lo que su correcta creación, mantenimiento y escalabilidad son competencia del
proveedor de este servicio. Este tipo de bases de datos ha crecido exponencialmente con la era de
internet y los IaaS (Infrastructure as a Service).

Ejemplos:
⮚ Google Firebase
⮚ Microsoft Azure SQL Database
⮚ Amazon Relational Database Service
⮚ Oracle Autonomous Database.

4. Bases de datos en columnas


También conocidas como almacenes de datos en columnas, las bases de datos en columnas tienen la
particularidad de guardar los datos en columnas en lugar de en filas, que es como se guardan
comúnmente. Estos tipos de bases de datos se utilizan a menudo en los grandes almacenes de datos
porque su funcionalidad sirve para realizar consultas analíticas.

Cuando se consulta una base de datos en columnas, básicamente se ignoran todos los datos que no se
aplican a la consulta específica, ya que solo se puede recuperar la información de las columnas que se
desea. Esta es una gran ventaja al encontrarse con datasets de proporciones gigantescas, con millones
de registros.

Ejemplos:
⮚ Google BigQuery
⮚ Cassandra
⮚ HBase
⮚ MariaDB
⮚ Azure SQL Data Warehouse
5. Bases de datos de columnas anchas (wide column)
Las bases de datos de columnas anchas tienen la ventaja de ser altamente escalables, pudiendo manejar
incluso petabytes de datos en sus registros, lo que las hace ideales para soportar aplicaciones de big data
en tiempo real.

Ejemplos:
⮚ BigTable
⮚ Apache Cassandra
⮚ Scylla
6. Bases de datos orientadas a objetos
Una base de datos orientada a objetos se basa en la programación orientada a objetos (POO), por lo que
los datos y todos sus atributos, están unidos como un objeto.

Las bases de datos orientadas a objetos se gestionan mediante sistemas de gestión de bases de datos
orientados a objetos (OODBMS - Object Oriented DataBase Management System).
Estas bases de datos funcionan bien con lenguajes de programación orientados a objetos, como C++ y
Java.

7. Bases de datos clave-valor (key-value)

Bases de Datos Estructurados | 16


Uno de los tipos más sencillos de bases de datos NoSQL, las bases de datos clave-valor guardan los
datos como un grupo de pares clave-valor formados por dos elementos de datos cada uno.
A veces también se denominan almacén de valor-clave.

Las bases de datos clave-valor son altamente escalables y pueden manejar grandes volúmenes de tráfico,
lo que las hace ideales para procesos como la gestión de sesiones para aplicaciones web, sesiones de
usuario para juegos masivos en línea y carritos de compra en línea.

8. Bases de datos jerárquicas


Fueron originalmente un esfuerzo por parte de IBM a principios de los años 60. Estas bases de datos se
utilizan más comúnmente para soportar aplicaciones de alto rendimiento y alta disponibilidad,
entendiéndose dentro de un rango jerárquico que usualmente sirve para permitir accesos.

Ejemplos:
⮚ Sistema de Gestión de la Información de IBM (IMS)
⮚ Registro de Windows

9. Bases de datos documentales


A veces conocidas también como bases de datos orientadas a documentos (DODB), las bases de datos
de documentos están diseñadas para almacenar y gestionar información orientada a documentos,
también conocida como datos semiestructurados.

Las bases de datos de documentos son sencillas y escalables, lo que las hace útiles para las aplicaciones
móviles que necesitan iteraciones rápidas.

Ejemplos:
⮚ MongoDB
⮚ Amazon DocumentDB
⮚ Apache CouchDB

10. Bases de datos gráficas o de grafos (graph)


Las bases de datos gráficas se emplean a menudo para analizar las relaciones entre puntos de datos
heterogéneos y encontrar relaciones, como en la prevención del fraude o para la extracción de datos
sobre los clientes de las redes sociales.

Ejemplos:
⮚ Datastax Enterprise Graph
⮚ Neo4J AuraDB

11. Bases de datos de series temporales (time series)


Estas bases de datos están optimizadas para llevar una marca de tiempo o timestamp, lo que las hace
útiles para monitoreo. Algunos ejemplos de este tipo de datos son los datos de red, los datos de los
sensores y los datos de monitorio de rendimiento de software.
Ejemplos:

⮚ Druid
⮚ eXtremeDB
⮚ InfluxDB

[Link]

Bases de Datos Estructurados | 17


El modelo relacional fue presentado por primera vez por Ted Codd, de IBM Research, en 1970 en un
documento ya clásico (Codd 1970), y atrajo la atención inmediatamente debido a su simplicidad y
fundamentación matemática. El modelo utiliza el concepto de una relación matemática (algo parecido a
una tabla de valores) como su bloque de construcción básico, y tiene su base teórica en la teoría de
conjuntos y la lógica del predicado de primer orden.

El modelo relacional es sin lugar a dudas el fundamento de la tecnología moderna de base de datos; este
fundamento es el que hace de este campo una ciencia. El modelo relacional se ocupa de tres aspectos
principales de la información: la estructura de datos, la manipulación de datos y la integridad de los datos.

⮚ Aspecto estructural: El usuario percibe la información de la base de datos como tablas y nada
más que tablas;

⮚ Aspecto de integridad: Estas tablas satisfacen ciertas restricciones de integridad (que


explicaremos hacia el final de esta sección);

⮚ Aspecto de manipulación: Los operadores disponibles para que el usuario manipule estas
tablas, por ejemplo, para fines de recuperación de datos— son operadores que derivan tablas a
partir de tablas. En particular, tres de estos operadores son importantes: restringir, proyectar y
juntar (también se lo conoce como reunir)

Aspecto Estructural
El modelo relacional representa la base de datos como una colección de relaciones. Informalmente, cada
una de estas relaciones se parece a una tabla de valores. Las tablas son la estructura lógica en un sis
tema relacional, no la estructura física. De hecho, en el nivel físico el sistema es libre de almacenar los
datos en cualquier forma en que desee.

Los principios del modelo relacional fueron establecidos originalmente en 1969-70 por E.F. Codd (en ese
entonces, investigador de IBM). Fue a fines de 1968 que Codd, matemático de formación, descubrió por
primera vez que la disciplina de las matemáticas podía ser usada para dar ciertos principios sólidos y
cierto rigor a un campo —la administración de base de datos— que hasta ese momento era muy deficiente
en cualquiera de estas cualidades.

Primeras Definiciones:

⮚ Cuando una relación está pensada como una tabla de valores, cada fila representa una colección
de valores relacionados.

⮚ Cada fila de la tabla representa un hecho que, por lo general, se corresponde con una relación o
entidad real.

⮚ El nombre de la tabla y de las columnas se utiliza para ayudar a interpretar el significado de cada
uno de los valores de las filas.

⮚ Los nombres de columna especifican el modo de interpretar los valores de cada fila en función de
la columna en la que se encuentren.

⮚ Todos los datos de una columna son del mismo tipo de dato. El tipo de dato que describe los
valores que pueden aparecer en cada columna está representado por un dominio de posibles
valores

Bases de Datos Estructurados | 18


⮚ En la terminología formal del modelo relacional,

● una fila recibe el nombre de tupla,


● una cabecera de columna es un atributo
● y el nombre de la tabla una relación.

Un dominio D es un conjunto de valores atómicos. Por atómico queremos decir que cada valor de un
dominio es indivisible en lo que al modelo relacional se refiere. Una forma habitual de especificar un
dominio es indicar un tipo de dato desde el que se dibujan los valores del mismo. Por ejemplo, para el
atributo salario, el dominio de posibles valores es de números decimales, para el atributo nombre, el
dominio es una cadena de caracteres.

Una relación es un conjunto de n-tuplas R = {t1, t2, ... tm}


Cada tupla t es una lista ordenada de n valores t = <v1,v2, ... ,vn>,
donde Vi 1 ::; i::; n, es un elemento de dominio (A¡) o un valor especial NULL (los valores NULL son
valores no ingresados, desconocidos, inexistentes).

Definición formal de Relación:

La anterior definición de relación puede ser enunciada más formalmente del siguiente modo. Una
relación es una relación matemática de grado n en los dominios dom(A 1), dom(A2), ... , dom(A,,) que
es un subconjunto del producto cartesiano de los dominios que definen R:

R ≤ (dom(A1) X dom(A2) X ... X dom(An))


El producto cartesiano especifica todas las posibles combinaciones de valores de los dominios subyacentes.

Bases de Datos Estructurados | 19


Figura que representa una Relacion, con nombre Proveedor.

Características de las relaciones

Ordenación de tuplas en una relación

Una relación está definida como un conjunto de tuplas.


Matemáticamente, los elementos de un conjunto no guardan un orden entre ellos; por tanto, las tuplas
en una relación tampoco la tienen. En otras palabras, una relación no es sensible al ordenamiento de
las tuplas

Ordenación de los valores dentro de una tupla y definición alternativa de una relación. Según la
definición anterior de relación, una n-tupla es una lista ordenada de n valores, por lo que el orden de
valores dentro de una de ellas (y por consiguiente de los atributos de un esquema de relación) es
importante. Sin embargo, a nivel lógico, el orden de los atributos y sus valores no es tan importante
mientras se mantenga la correspondencia entre ellos.

Valores y NULLs en las tuplas. Cada valor en una tupla es un valor atómico, es decir, no es divisible en
componentes dentro del esqueleto del modelo relacional básico. Por tanto, no están permitidos los
atributos compuestos y multivalor. Este modelo suele recibir a veces el nombre de modelo relacional
plano. Una gran palie de la teoría que se esconde tras el modelo relacional fue desarrollada con este
principio en mente, el cual recibe el nombre de principio de primera forma normal

Un concepto importante es el de los valores NULL (nulo), que se utilizan para representar los valores
de atributos que pueden ser desconocidos o no ser aplicables a una tupla. Para estos casos, existe un
valor especial llamado NULL. Por ejemplo, si de un proveedor en ciudad figura NULL, es que, todavía
desconocemos la ciduad de ese proveedor.

Aspecto de integridad

Bases de Datos Estructurados | 20


En la práctica podría requerirse que una base de datos cumpliera una cantidad de restricciones de
integridad. Existen muchas restricciones, o constraints. Pueden clasificarse en las siguientes

⮚ Restricciones implícitas o inherentes basadas en el modelo. Restricciones que son inherentes


al modelo de datos: Por ejemplo, la restricción de que una relación no puede tener tuplas
duplicadas

⮚ Restricciones explícitas o basadas en el esquema. Restricciones que pueden expresarse


directamente en los esquemas del modelo de datos, por lo general especificándolas en el DDL
(Lenguaje de definición de datos, Data Definition Language; se desarrolla en la siguiente
unidad). Entre ellas se incluyen, las restricciones:

o De dominio,
o De clave, en valores NULL,
o De integridad de entidad y de integridad referencial.

⮚ Restricciones semánticas, basadas en aplicación o reglas de negocio. Restricciones que no


pueden expresarse directamente en los esquemas del modelo de datos, y que por consiguiente
deben ser expresadas e implementadas por los programas.

Otra categoría impOliante de restricciones son las dependencias de datos, las cuales incluyen las
dependencias funcionales y las dependencias multivalor. Suelen emplearse para comprobar la
corrección del diseño de una base de datos relacional y en un proceso llamado normalización

Restricciones de dominio

Las restricciones de dominio especifican que dentro de cada tupla, el valor de un atributo A debe ser
un valor atómico del dominio dom(A). Los tipos de datos asociados a ellos suelen incluir valores
numéricos estándar para datos enteros (como entero corto, entero o entero largo) y reales (de coma
flotante de simple y doble precisión).

También están disponibles tipos de datos para el almacenamiento de caracteres, valores lógicos,
cadenas de longitud fija y variable, fechas, horas y moneda. Es posible describir otros dominios como
un subrango de valores de un tipo de dato, o como un tipo de dato enumerado en el que todos sus
posibles valores están explícitamente listados.

Restricciones de clave y restricciones en valores NULL


Una relación está definida como un conjunto de tuplas. Por definición, todos los elementos de un
conjunto son distintos; por tanto, todas las tuplas en una relación también deben serlo. Esto significa
que dos tuplas no pueden tener la misma combinación de valores para todos sus atributos.
Habitualmente existen otros subconjuntos de atributos de una relación R con la propiedad de que dos
tuplas en cualquier relación r de R no deben tener la misma combinación de valores para estos
atributos.

t¡[SK] ≠ t2[SK]

Cualquier conjunto de atributos SK recibe el nombre de superclave del esquema de relación R.

Una superclave o clave candidata especifica una restricción de exclusividad por la que dos tuplas
distintas en cualquier estado r de R pue den tener el mismo valor para SK. Cada relación tiene, al
menos, una superclave predeterminada: el conjunto de todos sus atributos. Sin embargo, una
superclave puede contar con atributos redundantes, por lo que un concepto más importante es el de

Bases de Datos Estructurados | 21


clave, que no tiene redundancia. Una clave K de un esquema de relación R es una superclave de R con
la propiedad adicional que eliminando cualquier atributo A de K deja un conjunto
de atributos K' que ya no es una superclave de R. Por tanto, una clave satisface dos restricciones:

1. Dos tuplas diferentes de la relación no pueden tener valores idénticos para (todos) los
atributos de la clave. UNICIDAD
2. Es una superclave mínima, es decir, una superclave de la cual no podemos eliminar ningún
atributo y seguiremos teniendo almacenada la restricción de exclusividad de la condición 1.
MINIMALIDAD
3. Otra restricción en los atributos de una clave, es que no permiten valores NULL.

La primera condición se aplica tanto a las claves como a las superclaves, mientras que la segunda sólo
a las claves. Por ejemplo, considere la relación EMPLEADO. El conjunto de atributo {Dni} es una clave
de EMPLEADO porque dos tuplas de empleados distintas no pueden tener el mismo valor para el Dni.

Cualquier conjunto de atributos que incluya el Dni (por ejemplo, {Dni, Nombre, Edad} es una
superclave. Sin embargo, la superclave {Dni, Nombre, Edad} no es una clave de EMPLEADO porque la
eliminación del Nombre, la Edad, o ambas, del conjunto aun no deja una superclave. En general,
cualquier superclave formada a partir de un único atributo es también una clave. Una clave con
múltiples atributos debe exigir todos ellos para mantener la condición de exclusividad.

En general, una relación puede contar con más de una clave candidata. Es común designar una de ellas
como la clave principal de la relación, y será la que se utilice para identificar las tuplas en la relación.

Integridad de entidad, integridad referencial y foreign keys


Las restricciones de integridad de entidad declaran que el valor de ninguna clave principal puede ser
NULL.
Esto se debe a que dicha clave se emplea para identificar tuplas individuales en una relación. Si se
permitiera este valor, significaría que no se podrían identificar ciertas tuplas.
Por ejemplo, si dos o más tuplas tuvieran NULL en sus claves primarias, no seríamos capaces de
diferenciarlas si intentásemos hacer referencia a ellas desde otras relaciones.
Las restricciones de clave y las de integridad de entidad se especifican en relaciones individuales. Las
de integridad referencial están especificadas entre dos relaciones y se utilizan para mantener la
consistencia entre las tuplas de dos relaciones. Informalmente, las restricciones de integridad
referencial dicen que una tupla de una relación que hace referencia a otra relación debe hacer
referencia a una tupla existente de esa relación.

Por ejemplo, el atributo dept_id de EMPLEADO devuelve el número de departamento en el que


trabaja cada empleado; por tanto, su valor en cada tupla EMPLEADO debe coincidir con el valor dept_id
de alguna tupla de la relación DEPARTAMENTO.

Para expresar de un modo más formal la integridad referencial, primero debemos definir el concepto
de una foreign key (clave externa). Las condiciones de una foreign key, dadas más abajo, especifican
una restricción de integridad referencial entre dos esquemas de relación R1 y R2. Un conjunto de
atributos FK en una relación R, es una foreing de R1 que referencia a la relación R2 si satisface las
siguientes reglas:
1. Los atributos en FK tienen el mismo dominio, o dominios, que los atributos de clave principal
PK de R2; se dice que los atributos FK referencian o hacen referencia a la relación R2.
2. Un valor de FK en una tupla t1 del estado actual r1(R1) tampoco aparece como valor de PK en
alguna tupla t2 del estado actual r2(R2) o es NULL. En el caso anterior, tenemos que t1 [FK] =
t2[PK], Y decimos que la tupla t1 referencia o hace referencia a la tupla t2.

En esta definición, R1 recibe el nombre de relación de referencia y R2 es relación referenciada. Si se

Bases de Datos Estructurados | 22


mantienen ambas condiciones, se establece una restricción de integridad referencial de R1 a R2. En
una base de datos de muchas relaciones, suelen existir muchas de estas restricciones.

Aspecto de Manipulación
El modelo relacional incluye un conjunto de operaciones para manipular la base de datos. El conjunto de
operaciones básicas del modelo relacional es el álgebra relacional, el cual permite al usuario especificar las
peticiones fundamentales de recuperación. El resultado de una recuperación es una nueva relación, la cual puede
estar constituida por una o más relaciones. Por consiguiente, las operaciones de álgebra producen nuevas
relaciones que pueden ser manipuladas más adelante usando operaciones del mismo álgebra. Una secuencia de
operaciones de álgebra relacional conforma una expresión de álgebra relacional, cuyo resultado será también una
nueva relación que representa el resultado de una consulta a la base de datos (o una petición de recuperación).

El álgebra relacional es muy importante por:

⮚ proporciona un fundamento formal para las operaciones del modelo relacional.

⮚ se utiliza como base para la implementación y optimización de consultas en los RDBMS

⮚ algunos de sus conceptos se han incorporado al lenguaje estándar de consultas SQL para los
RDBMS.

El álgebra relacional tiende a ser considerado como una parte integral del modelo de datos relacional. Sus
operaciones pueden dividirse en dos grupos.

⮚ Uno de ellos incluye el conjunto de operaciones de la teoría matemática de conjuntos, los cuales
son aplicables porque cada relación está definida de modo que sea un conjunto de tuplas en el
modelo relacional formal. Estas operaciones incluyen UNiÓN (UNION), INTERSECCiÓN
(INTERSECTlON), DIFERENCIA DE CONJUNTOS (SET DIFFERENCE) Y PRODUCTO CARTESIANO
(CARTESIAN PRODUCT)

⮚ El otro grupo está constituido por las operaciones desarrolladas específicamente para las bases de
datos relacionales, como la SELECCIÓN (SELECT), la PROYECCIÓN (PROJECT), la CONCATENACIÓN
o COMBINACIÓN (JOIN) y otras.

Bases de Datos Estructurados | 23


Ejemplos de las operaciones restringir, proyectar y juntar. Las siguientes son (de manera muy vaga) las definiciones
de dichas operaciones:
■ La operación restringir (también conocida como seleccionar) extrae las filas especificadas de una tabla.
■ La operación proyectar extrae las columnas especificadas de una tabla.
■ La operación juntar reúne dos tablas con base en valores comunes de una columna común

[Link]

[Link]

La siguiente sección empieza tratando las operaciones SELECCIÓN y PROYECCIÓN porque son operaciones
unarias que operan en relaciones individuales.

Bases de Datos Estructurados | 24


La siguiente Sección se encarga del conjunto de operaciones binarias complejas que operan sobre dos tablas.

Bases de Datos Estructurados | 25


Bases de Datos Estructurados | 26
Bases de Datos Estructurados | 27
Bibliografía
Selección de lectura obligatoria

Fundamentos de Sistemas de Bases de Datos - Elmasri y Navathe – Capitulo 5 y 6

Lectura complementaria

Introducion a los sistemas de Bases de Datos CJ Date – Capitulo 3 y Parte II

Bases de Datos Estructurados | 28


Trabajo Práctico - (Obligatorio e individual)

Tema: ALgebra

Ejercicio 1

Tabla A

nombre direccion genero FNac


Carrie Fisher 123 Maple St. F 9/9/99
Mark Hamill 456 Oak Rd. M 8/8/88
Tabla B

nombre direccion genero FNac


Harrison Ford 789 Palm Dr. M 7/7/77
Carrie Fisher 123 Maple St. F 9/9/99

a. Realizar unión (AUB),

b. Realizar intersección (AΩB)

c. Realizar resta (A-B) de estas tablas

d. Realizar un ejemplo de proyección de la tabla A

e. Realizar un ejemplo de restricción de la tabla B.

Bases de Datos Estructurados | 29


Ejercicio 2

A B
1 2
3 4
B C D
2 5 6
4 7 8
9 10 11
Dada las tablas S y P

Hacer el producto cartesiano SxP

Ejercicio 3: JOINS

Tabla domicilio

Empl_apel Calle Ciudad


Coyote Toon Hollywood
Rabbit Tunnel Carrotville
Smith Revolver Death Valley
Williams Seaview Seattle
Tabla salario

Empl_apel Empl_nom Sueldo


Coyote Mesa 1500
Rabbit Mesa 1300
Gates Redmond 5300
Williams Redmond 1500

Hacer:
a. Inner join
b. Left join
c. Right join
d. Full Join

Bases de Datos Estructurados | 30


SQL Inicial – Unidad 4 Sql Avanzado

introduccion

Sublenguajes

SQL - nivel
inicial

SQL - nivel
avanzado

SQL (Structured Query Language) es un lenguaje de consultas estructurado, para crear, controlar y
manipular bases de datos relacionales.
Su estandarización fue crucial para su difusión, prácticamente la mayoría de los sistemas relacionales
soportan las bases del SQL estándar y suelen incluir algunos aportes propios.

Evolución histórica de SQL:

1974: Desarrollado por IBM como un prototipo del sistema relacional llamado SYSTEM R que incluía el
lenguaje SEQUEL, posteriormente llamado SQL
1976: es publicada la sintaxis completa BNF para SQL en el “IBM Journal od Research and
Development”
1977: ORACLE inicia el desarrollo de RSI incorporando lenguaje SQL
1979: ORACLE aparece como primer gestor relacional comercial, incluyendo SQL
1981: Primera implementación de IBM con el sistema SQL/DS
1983: desde ese año es estándar de facto
1986: Primer estándar (SQL-86) (ANSI)
1989: SQL-89 Revisión del anterior (ISO)
1992: se publica el segundo estándar (SQL-2 o SQL-92)
1999: aparece el tercer estándar (SQL-3 o SQL-99)
2003, 2006, 2008,2011,2016: Revisiones

Escribir Sentencias o comandos SQL


Las sentencias SQL tienen
⮚ Palabras reservadas que forman parte del lenguaje
⮚ Palabras definidas por el usuario, todo lo relacionado a los nombres de tablas, atributos, etc
⮚ Total independencia al escribir las sentencias
⮚ En SQL es indiferente escribir las palabras en mayúsculas o minúsculas, salvo para los literales

Bases de Datos Estructurados | 31


⮚ Cada cláusula o palabra puede aparecer en líneas diferentes, no pueden separar una misma
palabra
⮚ Se puede utilizar la identación que se quiera. Ver pagina para formatear sentencias
⮚ Una sentencia o comando SQL finaliza con la aparición del símbolo “;” (esto no es necesario
para un único comando)

[Link]

Escribir sentencias o comandos SQL Notación - buenas prácticas

⮚ Las palabras en mayúsculas representan palabras reservadas


⮚ por ejemplo SELECT FROM WHERE ORDER BY
⮚ Las palabras en minúsculas representan palabras definidas por el usuario
⮚ El símbolo | indica elección de alternativas
⮚ Las llaves representan elementos requeridos
⮚ Los corchetes representan elementos opcionales
⮚ Los comentarios se realizan con – o /*

Las siguientes imagenes muestran el orden de procesamiento y el orden de escritura de una consulta
SQL

Bases de Datos Estructurados | 32


Proceso de Ejecución
Cundo se ejecuta un comando SQL por medio de algún RDBMS, el sistema determina la mejor manera
de responder la petición y el motor SQL busca como interpretar la tarea
Hay varios componentes incluidos en este proceso, estos son:
⮚ Query Dispatcher
⮚ Optimization Engines

Bases de Datos Estructurados | 33


⮚ Classic Query Engine
⮚ SQL Query Engine, etc.

Imagen de un diagrama de la Arquitectura SQL

Fases durante el procesamiento de una sentencia SQL

Durante el procesamiento de una sentencia SQL, se distinguen cuatro fases: análisis de la sintaxis
(parsing), análisis de las variables (binding), ejecución (executing) y recuperación de datos (fetching)

Detallaremos la fase de Parsing,

Durante esta fase el servidor de la base de datos realiza las siguientes acciones:

⮚ Busca la sentencia SQL en la memoria compartida (shared pool).


⮚ Chequea la sintaxis de la sentencia siguiendo las especificaciones y la gramática del lenguaje
SQL.

Bases de Datos Estructurados | 34


⮚ Chequea la semántica, asegurando que los objetos referenciados en la sentencia SQL son
válidos (existen en la base de datos) y satisfacen las restricciones de seguridad (es decir, el
usuario que ejecuta la sentencia tienen los permisos adecuados sobre dichos objetos).
⮚ Determina si el proceso que lanza la sentencia SQL tiene los permisos apropiados para
ejecutarlo.
⮚ Si la sentencia SQL incluye una vista (view) o una subquery (una subquery no es más que una
sentencia SELECT que está dentro de otra sentencia SQL), transforma dicha sentencia en una
sentencia SQL equivalente e intenta simplificar la sentencia resultante.
⮚ Determina y almacena el plan de ejecución o, si es posible, utiliza un plan de ejecución
existente.

Fase de binding
En esta fase el servidor de la base de datos:

⮚ Identifica las variables (bind variables) en la sentencia SQL.


⮚ Asigna o reasigna un valor a cada variable.

Fase de ejecución
En la fase de ejecución el servidor Oracle realiza las siguientes acciones:

⮚ Ejecuta la sentencia SQL siguiendo el plan de ejecución determinado durante la fase de parsing.
⮚ Realiza las operaciones de entrada/salida necesarias para la ejecución de las sentencias de
manipulación de datos (DML) y ordena los datos en caso de ser necesario.

Fase de fetching
Durante esta fase el servidor devuelve los registros de una sentencia SELECT. En cada iteración (fetch)
el servidor devuelve múltiples registros. El número de registros que devuelve por iteración es
configurable, es decir, se puede cambiar el tamaño de la matriz de registros

Bases de Datos Estructurados | 35


Sublenguajes
El lenguaje SQL está dividido en tres sub-lenguajes. Cada sublenguaje tiene su propósito específico, en
la imagen podrá distinguir esta clasificación en la rama derecha, en cuanto la rama izquierda de la
imagen lo desarrollaremos en la siguiente sección.

Sublenguaje DDL: Data Definition Languaje: create, drop, alter

Commando Descripción
Create Crea un Nuevo objeto, este puede ser una base de datos, una
table, vista, usuario, disparador, procedimiento, etc
Drop Elimina un objeto de la base de datos
Alter Modifica un objeto de la base de datos

Sublenguaje DML: Data Manipulation Languaje: Select, insert, update, delete


Commando Descripción
Select Obtiene registro de una o varias tablas
Update Elimina registros de las tablas
Insert Ingresa registros a las tablas
Delete Elimina registros de las tablas

Sublenguaje DCL: Data Control Languaje: Grant, Revoke


Commando Descripción
Grant Dá privilegios a un usuario, sobre un objeto, esto puede ser de
lectura, escritura, eliminación, ejecución, etc
Revoke Quita privilegios a un usuario sobre un objeto de la base de datos

Bases de Datos Estructurados | 36


SQL Inicial
Trabajaremos en esta mateira, con el Sublenguaje DML para operaciones de consulta.

Todos los ejemplos se basarán en la sintaxis para la recuperación de datos SELECT, a continuación, una imagen que
los organizará para recorrer los ejemplos. También pueden organizarse con la hoja de trucos que presentamos para
entender varios conceptos y ejemplos.

Bases de Datos Estructurados | 37


Bases de Datos Estructurados | 38
Bases de Datos Estructurados | 39
Bases de Datos Estructurados | 40
Bases de Datos Estructurados | 41
Bases de Datos Estructurados | 42
Bases de Datos Estructurados | 43
Bases de Datos Estructurados | 44
Trabajo Práctico - (Obligatorio e individual)

En tareas a desarrollar, en la plataforma, encontrará las consignas a desarrollar de esta unidad


SQL inicial

Bases de Datos Estructurados | 45


En esta sección desarrollaremos sintaxos de operaciones, para resolver peticiones de datos mas
complejas. Se presentan en base a ejemplos que se reforzarán en los webinarios.

Bases de Datos Estructurados | 46


Bases de Datos Estructurados | 47
Bases de Datos Estructurados | 48
Bases de Datos Estructurados | 49
Bases de Datos Estructurados | 50
Bases de Datos Estructurados | 51
Bases de Datos Estructurados | 52
Bases de Datos Estructurados | 53
Bases de Datos Estructurados | 54
Bases de Datos Estructurados | 55
Bases de Datos Estructurados | 56
Funciones de Ventana - SQL PARTITION BY

Podemos utilizar la cláusula SQL PARTITION BY con la cláusula OVER para poder especificar la columna en la que
necesitamos efectuar la agregación.

Dada la siguiente tabla

SELECT Customercity,
AVG(Orderamount) OVER(PARTITION BY Customercity) AS AvgOrderAmount,
MIN(OrderAmount) OVER(PARTITION BY Customercity) AS MinOrderAmount,
SUM(Orderamount) OVER(PARTITION BY Customercity) TotalOrderAmount
FROM [dbo].[Orders];

En la salida, vamos a obtener los valores agregados similares a una cláusula GROUP By . Usted puede notar una
diferencia en la salida del PARTITION BY y de salida de la cláusula de GROUP BY de SQL.

Bases de Datos Estructurados | 57


Podemos ahora agregar las columnas requeridas en una instrucción select con la cláusula SQL PARTITION BY.
Entonces añadamos las columnas CustomerName y OrderAmout y a continuación ejecutar la siguiente consulta.

SELECT Customercity,
CustomerName,
OrderAmount,
AVG(Orderamount) OVER(PARTITION BY Customercity) AS AvgOrderAmount,
MIN(OrderAmount) OVER(PARTITION BY Customercity) AS MinOrderAmount,
SUM(Orderamount) OVER(PARTITION BY Customercity) TotalOrderAmount
FROM [dbo].[Orders];

Obtenemos las columnas CustomerName y OrderAmount junto con la salida de la función agregada. A su vez
obtenemos todas las filas disponibles en la tabla Pedidos.

Group By SQL PARTITION BY

Obtiene un número limitado de registro usando la sentencia Se obtiene todos los registros en una table usando la sentencia
Group By PARTITION BY.

Provee columnas sumarizadas con cada registro de la columna


especificada

Retorna una fila por grupo en el conjunto de resultados. Por Tenos 15 registros de la tabla de Órdenes. En la salida de la
ejemplo, se obtiene un resultado por cada grupo de consulta del SQL PARTITION BY, también tenemos 15 filas con el
CustomerCity en la sentencia GROUP BY. valor Mínimo, Máximo y promedio.

En la captura de pantalla que se muestra a continuación, usted puede realizar agregaciones (Promedio , Mínimo y
Máx.) para CustomerCity Chicago. Y así puede proporcionar valores en las columnas respectivas.

Bases de Datos Estructurados | 58


Paginas Recomendadas
[Link]

[Link]

✅ SQL Murder Mystery donde resolverás un crimen a base de SQL.


✅ SQL Police Departament donde resolverás crímenes mientras aprendes SQL.
✅ SQL Zoo en el encontrarás un gran directorio de todos los conceptos de SQL que podrás ejecutar
para ver cómo funcionan 👀.
✅ SQL Bolt con lecciones y ejercicios interactivos para aprender SQL.
✅ Select Star SQL un libro interactivo donde podrás encontrar ejemplos y ejercicios.

✅Si querés formatear el desorden de otra persona o el tuyo propio, un Embellecedor de SQL es
esencial. SQL Beautifier te formatea tu query para que termine con el formato correcto.

codebeautify . org / sqlformatter

✅ Generador de SQL

Muchas veces cuando estas empezando no te acuerdas todas las sintaxis de cada consulta que quieres
hacer en SQL, en vez de googlear o usar Chat GPT.

Pero existe rasgoml para ésto, solo le indicas lo que quieres hacer y te devuelve el formato correcto
da la query.

Bases de Datos Estructurados | 59


Trabajo Práctico - (Obligatorio e individual)

En tareas a desarrollar, en la plataforma, encontrará las consignas a desarrollar de esta unidad


SQL Avanzado

Bases de Datos Estructurados | 60

También podría gustarte