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:
- **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.
- **Nivel conceptual:** En este nivel se representan los datos que se van a utilizar por medio de diagramas como: Entidad-Relación y Relacional.
- **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.