Conceptos Fundamentales de Sistemas de Información y Bases de Datos

Conceptos Clave en Sistemas de Información y Procesamiento de Datos

Propósito y Tipos de Sistemas

  • **OAS (Oficina Automation System):** Su objetivo es compartir o, en su caso, distribuir información con el resto de la organización.
  • **TPS (Transaction Processing System):** Son sistemas creados para procesar grandes cantidades de datos como bancos, empresas de muchos empleados, nóminas e inventarios.
  • **MIS (Management Information System):** Sistema que incluyen el procesamiento de transacciones; su objetivo es el análisis y la toma de decisiones.
  • **KWS (Knowledge Work System):** Sistema que provee la información necesaria en el nivel de conocimiento de una organización.

Clasificación de Sistemas

  • **Sistema formal:** Tipo de sistema que descansa en definiciones aceptadas, con procedimientos para recoger, almacenar y procesar datos.
  • **Sistema abierto:** Es un tipo de sistema que intercambia información con el ambiente.

Estructura de Datos y Bases de Datos

  • **Sistema:** Se define como un conjunto de elementos que interactúan entre sí para lograr un fin común.
  • **Base de datos:** Es un conjunto de datos relacionados entre sí.
  • **Información:** Es un conjunto de datos con una utilidad.
  • **Dato:** Es una representación de la realidad que se puede registrar (guardar).
  • **Registro:** Es una agrupación de datos relacionados entre sí y que tienen un significado y forma parte de un conjunto de datos. Es la fila de la tabla.

Componentes de la Base de Datos

  • **Sistema de base de datos:** Es el conjunto formado por la base de datos y el software **SGBD**.
  • **SGBD (Sistema Gestor de Base de Datos):** Es un conjunto de programas no visibles que administran y gestionan la información que contiene una base de datos.

Modelos de Bases de Datos

  • **Modelo Jerárquico:** Modelo de base de datos donde las relaciones entre registros forman una estructura en árbol.
  • **Modelo de Red:** Este tipo de modelo admite relaciones de cada registro con varios que se pueden seguir por distintos caminos.
  • **Modelo Relacional:** En este tipo de modelo se almacenan los datos en filas o registros (tuplas) y columnas o campos (atributos).
  • **Base de datos Orientada a objetos:** Esta base de datos soporta los tipos de datos vídeo, imágenes, voz y texto de manera natural.

Niveles de Arquitectura de Bases de Datos

La arquitectura de una base de datos se describe en varios niveles:

  1. **Nivel externo:** Es el más cercano al usuario. En este nivel se describen los datos o parte de los datos que más interesan a los usuarios.
  2. **Nivel conceptual:** En este nivel se representan los datos que se van a utilizar por medio de diagramas como: Entidad-Relación y Relacional.
  3. **Nivel interno:** Es el nivel más cercano al almacenamiento físico de los datos.

Modelado Entidad-Relación y Normalización

Elementos del Modelo Entidad-Relación

  • **Entidad:** Representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.
  • **Entidad fuerte (o regular):** Es aquella que sí puede ser identificada visiblemente (de un solo significado).
  • **Entidad débil:** Entidad que no puede existir sin participar en la relación; es decir, aquella que no puede ser visiblemente identificada solamente por sus atributos.
  • **Atributo:** Definen o identifican las características de la entidad.
  • **Atributo primario:** Identifica de forma única un solo atributo, no permitiendo que se repita en la misma entidad.
  • **Atributo foráneo:** Este atributo tiene que estar estrictamente relacionado con la clave primaria de otra entidad.
  • **Relación:** Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable.
  • **Cardinalidad:** Es el número de entidades con la cual otra entidad puede asociar mediante una relación.

Tipos de Relaciones y Cardinalidad

  • **Relación Uno a uno:** En una relación donde, un registro de una tabla se asocia a uno y solo un registro de otra tabla.
  • **Relación Uno a muchos:** En una relación donde, un registro de una tabla se puede asociar a uno o varios registros de otra tabla.
  • **Relación Muchos a muchos:** Es una relación que se produce cuando varios registros de una tabla se asocian a varios registros de otra tabla.

Preguntas sobre Diagramas

  • Para el siguiente diagrama entidad relación: ¿Cuántas tablas se generan en el modelo relacional? **Tres**
  • Utilizando la lógica. ¿Qué relación debe de tener el siguiente diagrama entidad relación? **Muchos a muchos**
  • En un diagrama relacional. Una clave foránea siempre está ligada a una relación de: **Muchos**
  • En un diagrama relacional. Una clave primaria siempre está ligada a una relación de: **Uno**

Normalización de Bases de Datos

La **Normalización** es el proceso de organizar los datos de una base de datos, para proteger los datos, y para que la base de datos sea flexible con el fin de eliminar redundancias y dependencias incoherentes.

Formas Normales

  • **1FN (Primera Forma Normal):**
    • a) Elimine los atributos repetidos de las tablas individuales.
    • b) Cree una tabla independiente para cada conjunto de datos relacionados.
    • c) Identifique cada conjunto de datos relacionados con una clave principal.
  • **2FN (Segunda Forma Normal):**
    • a) Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.
    • b) Relacione estas tablas con un atributo foráneo.

Dependencias

  • ¿Qué tipo de dependencia se observa en la siguiente figura? **Dependencia transitiva.**

Modelo Entidad-Relación

  • **Modelo entidad relación:** Es un modelo que permite establecer las relaciones entre entidades y definir sus atributos, para el diseño de una base de datos.

Lenguaje de Consulta Estructurado (SQL)

Conceptos Generales de SQL

  • **SQL:** Lenguaje de consulta estructurada.
  • **MySql Workbench:** Es un ejemplo de un Sistema Gestor de Base de Datos.
  • **Operador relacional para distinto o desigual:** `<>`

Comandos DDL (Data Definition Language)

Los comandos DDL se utilizan para definir o modificar la estructura de la base de datos.

  • Ejemplos de comandos DDL de SQL: **CREATE**, **DROP**.
  • **CREATE:** Se utiliza para crear bases de datos y tablas, se puede utilizar con minúsculas o mayúsculas.
  • **DROP:** Sentencia que se utiliza para borrar de forma permanente una tabla o base de datos.

Comandos DML (Data Manipulation Language)

Los comandos DML se utilizan para gestionar los datos dentro de las estructuras existentes.

  • Ejemplos de comandos DML de SQL: **INSERT**, **SELECT**.
  • **SELECT:** Comando que permite realizar consultas sobre los datos almacenados en la base de datos.
  • **WHERE:** Se utiliza para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas (registros) de la tabla que cumplan una determinada condición.
  • **UPDATE:** Sentencia que se utiliza para modificar valores en una tabla.
  • **DELETE:** Sentencia que sirve para borrar (filas) registros de una tabla, permite el uso de la cláusula WHERE.
  • **TRUNCATE:** La sentencia se utiliza para eliminar o borrar los datos que contiene una tabla. Este comando deja vacía una tabla, es decir, sin datos, no permite el uso de la cláusula WHERE.

Operadores y Cláusulas SQL

  • **DISTINCT:** Clausula que nos devuelve valores únicos, operador para eliminar los valores duplicados en los campos seleccionados.
  • **IN:** Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los de una lista.
  • **LIKE:** Operador lógico para comparar con un modelo de datos.
  • **BETWEEN:** Operador lógico para especificar un rango de valores (Nota: El documento original mencionaba DISTINCT aquí, lo cual es incorrecto para rango).

Funciones SQL

  • **AVG:** Función utilizada para calcular el promedio de los valores de un campo determinado.

Tipos de Datos SQL

  • **CHAR:** Tipo de dato en SQL que permite una cadena de caracteres de longitud fija.
  • **VARCHAR:** Tipo de dato en SQL que permite una cadena de caracteres de longitud variable.
  • **SMALLINT:** Tipo de dato entero en SQL que tiene un rango entre -32000 a 32000.