Introducción a SQL

SQL (Structured Query Language o Lenguaje de Consultas Estructuradas) es un lenguaje de programación estandarizado utilizado para adminitrar bases de datos relacionales y realizar operaciones con los datos que contienen.

DLL - Data Definition Language

DML - Data Manipulation Language

TCL - Transaction Control Language

Una transacción es un grupo de comandos que cambian la data almacenada en una base de datos, y se asegura que todos los comandos se completen y finalicen con éxitom esto se conoce como COMMIT y en caso de eistir alguna falla, que no se ejecute ninguno de ellos.

Si alguno de los comandos falla, todos los demás comandos fallarán y por ende ningún dato será modificado en la base de datos, esto se conoce como ROLLBACK.

Alguna que otra cosa de SQL

Unidad 1 - Conceptos y propiedades de las Bases de Datos

Definición

En una organización existen recursos, como el dato. Este se considera un recurso ya que tiene un costo y un valor asociado, aporta información valiosa al desempeño y a la toma de decisiones y su obtención, almacenamiento y control involucran gastos (inversión).

  • Dato: Hecho relacionado con personas, objetos, lugares eventos u otras entidades del mundo real. Pueden ser cualitativos o cuantitativos, internos o externos, históricos o predictivos.

  • Información: Datos organizacos o preparados adecuada para la toma de decisiones.

  • Base de datos: Conjunto de archivos de datos relacionados donde se almacenan datos y luego se transforman en información.

Los datos se pueden guardar en archivos planos o bases de datos. Un archivo plano almacena datos que comparten una misma estructura y/o comportamiento similar.

RutNombreGéneroRegión
18.345.678-9Juan PérezM5
18.223.344-5María GonzalezF12
19.876.543-2José OlivaresM3
13.579.246-8Rodrigo MartínezM5

Una base de datos es un conjunto de archivos relacionados entre sí.

Desde una perspectiva organizacional, una BD se puede definir como un conjunto de datos operacionales relevantes para la toma de decisiones y que van a permitir satisfacre diversos requerimientos de información.

image-20240718110731369

Enfoque tradicional de Archivos versus BD

El enfoque de archivos es un enfoque "del pasado" usado para el procesamiento de datos también conocido como Enfoque por Agregación. Antiguamente las organizaciones desarrollaban sus sistemas de información en forma aislada, sin existir una fuerte comunicación entre sus unidades.

image-20240718111611489

Cada nueva aplicación era diseñada con su propio conjunto de archivos de datos. Programas de aplicación pueden acceder a uno o más archivos de datos, por lo cual deben contener cada uno de ellos las definiciones de los archivos que utilizan y las correspondientes instrucciones que permiten manejarlos. Cada programa es dueño de sus archivos de datos y la lógica del programa es dependiente de los formatos y descripciones de esos datos.

Desventajas

  1. Redundancia no controladas

  2. Dependencia de los datos de los programas de aplicación.

  3. Pobre estandarización

  4. Inconsistencia de los datos

  5. Problemas con el cliente

  6. Baja productividad del desarrollador.

Enfoque de Base de datos

image-20240718112841259

CaracterísticaProblema que resuelve
A. Visión centralizada, compartida y única de datos. 
B. Minimización de la redundancia.1. Redundancia no controlada.
C. Independencia de los datos de los programas de aplicación.2. Dependiencia de los datos de los programas de aplicación.
D. Estandarización3. Pobre estandarización
E. Integración y seguridad de datos, generan una mayor consistencia de ellos.4. Inconsistencia de los datos.
F. Facilidades para el diseño y desarrollo de aplicaciones, mejoran la relación con el cliente y la productividad del desarrollador.5. Problemas con el cliente.
6. Baja productividad del desarrollador.

Componentes de Enfoque de Base de Datos

image-20240718115026389

  • Bas de datos: Conjunto de datos operacionales, almacenados en el computador y accesados por distintas aplicaciones.

  • Diccionario de datos: Base de datos que guarda una descripción de los datos, como su tipo, largo, propietario, tamaño de los registros, etc. También conocido como base de datos lógica, schema, catálogo.

  • DBMS (Data Base Manager System): Sistema administrador de base de datos, software que permite crear y mantener una o más base de datos en forma centralizada o distribuida. Sus funciones principales son la definición de datos, manipulación de datos y control de datos.

  • Programas de aplicación: Programas computacionales escritos por los desarrolladores principalmente para:

    • Poblar inicialmente la BD (inportancia de la migración de datos desde distintas fuentes).

    • Mantener en el tiempo la BD.

    • Generar información a loos usuarios a través de reportes, informes, gráficos, dashboards, tc.

  • Interfaz de usuario: Forma en que el DBMS permite la intereacción con la base de datos. Pueden ser líneas de comandos, lenguajes, menús, pantallas, sistemas Web, sistemas de reconocimiento de la voz, etc.

  • Herramienta CASE (Computer Aided Software Engineering): software que ayuda al desarrollador de plaicaciones en todas las etapas del ciclo de vida de un software. En el caso de las BD ayudan a general el modelo de daots, incluso algunas generancódigo SQL.

  • Usuarios: Personas con requerimientos de información que realizan operaciones de manteción y búsqueda a la base de datos, como así también especialistas en el área que se preocupan de su administración.

BD en el desarrollo de SI

Sistema de Información: Conjunto de aplicaciones, datos, recursos materiales y personas que interactúan para procesar datos y convertirlos en información relevante para una organización.

Los DI y BD deben satisfacer los requerimientos de información en todos los niveles de una organización.

 Nivel EstratégicoNivel TácticoNivel Operacional
Decisión que apoyaPlanificación a largo plazoControl gerencialControl operacional
Tipo de decisiónNo estructuradaSemi-estructuradaEstructurada
Modelo más usadoPredictivoDescriptivoNormativo
FuenteMedio ambienteRegistros internosoperación interna
ExactitudRazonableBuenaExacta
AmplitudResumidaDetalladaMuy detallada
FrecuenciaA solicitudPeriódicaTiempo real
Rango de tiempoAñosAñosMeses
UsoPredicciónControlAcción diaria

Tipos de SI

  • OLTP (On-Line Transaction Processing): SI Operacional o TPS (Transaction Processing Systems). SI Administrativo o MIS (Management Information Systems).

    • Permiten automatizar los procesos de nivel operacional de una organización en los cuales se producen las transacciones del negocio.

  • OLAP (On-Line Analytic Processing): Sistemas de Apoyo a la toma de Decisiones o DDS (Decision Support Systems).

    • Permiten apoyar el nivel estratégico de una organización, donde se toman decisiones a largo plazo y rodeadas de alto grado de incertidumbre, que definen el futuro del negocio.

 

Tipos de BD

Proceso de diseño

image-20240722125131611

Etapa 1: Recolección y análisis de requisitos

Objetivo: Identificar las necesidades de información de los usuarios (requisitos, requerimientos o vistas)

Pasos:

Etapa 2: Diseño conceptual

Objetivo: Construir un esquema conceptual que represente los datos necesarios para el sistema de información, que sea independiente del motos de datos a utilizar.

El modelo conceptual sirve como:

Etapa 3: Elección del software

Objetivo: Seleccionar aquel tipo de software (DBMS) que mejor se adecúe a las necesidades del sistema a construir.

Criterios a considerar:

Etapa 4: Diseño lógico

Objetivo: generar un esquema basado en el modelo de datos soportado por el software escogido.

Pasos:

Etapa 5: Diseño físico

Objetivo: Escoger las estructuras de almacenamiento y métodos de acceso además de la ubicación de los archivos de bases de datos, para obtener un buen rendimiento de las distintas aplicaciones que interactúan con la base de datos.

Cirterios a considerar:

Herramientas:

Etapa 6: Implementación de la base de datos

Objetivo: Codificación de sentencias para la definición y la manipulación de la base de datos, para crear los archivos, su poblamiento, mantención y consultas.

Unidad 2 - Modelo de Datos Conceptuales

Características de los Datos y sus Asociaciones

Para describir qué es un dato, deben considerarse tres niuveles de abstracción o estados en que se puede encontrar el dato:

  1. Realidad constituida por entidades de tipo personas, objetos, lugares y eventos.

    Comprende el mundo real, con sus componentas y el medio ambiente en el cual opera.

    • Entidad: persona, objeto, lugar y evento sobre el cual la organización decide collecionar y almacenar datos.

    • Tipo (clase) de Entidades: conjunto de entidades que poseen características similares.

    • Atributo: propiedad de una entidad que desea registrar.

    • Clave Primaria: atributo que distingue una entidad de la otra dentro de una clase.

  2. Diccionario de Datos donde se almacenan los metadatos o definiciones sobre los datos.

    Es información acerca de los ítems de datos de una organización, que se almacena y mantiene en el diccionario o repositorio de datos de la misma.

    • Ítem de dato: unidad de datos más pequeña en una base de datos.

    • Por cada ítem de datos, el diccionario de datos guarda:

      • Nombre, largo, tipo formato.

      • Breve descripción narrativa

      • Rango(s), Dominio, unicidad, nulidad.

      • Posibles sinónimos

      • Fuente

    • Registro: conjunto de ítems de datos y/o datos agregados, y corresponde a la definición de una clase de entidades.

    • De un registro de datos, el diccionario de datos guarda:

      • Nombre, descripción, tamaño

      • sus ítems de datos

      • sus datos agregados.

  3. Base de Datos donde se almacenan los valores

    Corresponde al nivel donde físicamente se guardan los datos

    • Existe un registro o entidad del mundo real.

    • Se almacenan ocurrencias de datos incluidas sus relaciones o asociaciones.

    • Conjunto de archivos asociados lógicamente entre sí

Características de las Relaciones

Una relación es una asociación entre tipos de entidades de una realidad.

Pueden ser de los siguientes tipos:

Usaremos notación Bachman y E-R (Entidad - Relacionamiento) para ejemplificar las relaciones o asociaciones.

Relaciones

image-20240725112932874

image-20240725112950870

image-20240725113004660

image-20240725113021953

image-20240725113034718

image-20240725113046203

image-20240725113100846

Tipo de Modelo de Datos

Un modelo es una representación o abstracción de la realidad.

Un modelo de datos es una representación de entidades del mundo real y sus asociaciones, es decir, es una abstracción de la realidad a partir de sus datos. En un modelo de datos se tiene una descripción de todos los datos relacionados con las distintas actividades que en una organización se necesita.

El propósito de un modeo de datos es doble:

  1. Representar una realidad a través de sus datos.

  2. Hacer que los datos sean comprensibles a través de una notación estándar.

Sepuede identificar distintos tipos de modelo de datos según su nivel de abstracción: conceptual, lógico, físico. Cada modelo de datos tiene sus restricciones en cuanto a su capacidad de representar una realidad, dependiendo de los tipos de seánticas que puede abarcar.

Semántica de los Datos

Se refiere al significado que tienen los datos en si mismos y entre sí. Se representa generalmente por símbolos definidos como convención o norma. Se verá la simbología o notación de:

Se identifican los siguientes tipos de semántica:

  1. Cardinalidad

  2. Grado

  3. Dependencia existencial

  4. Tiempo

  5. Unicidad

  6. Herencia

  7. Categorización

  8. Agregación

Notaciones para Modelo de Datos

La más comunes: