








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento ofrece una introducción a las bases de datos, sus tipos y aplicaciones. Se explica el concepto básico de una base de datos, su importancia y cómo se almacenan y se acceden a los datos mediante sistemas gestores de bases de datos (SGBD). Se presentan los modelos relacional y NoSQL, y se discuten las aplicaciones de bases de datos en diferentes campos, como contabilidad, CRM y Internet.
Tipo: Guías, Proyectos, Investigaciones
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!









7.1. Introducción Bases de Datos
Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Hay programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
7.2. Modelos de Bases de Datos
Un modelo de base de datos muestra la estructura lógica de la base, incluidas las relaciones y limitaciones que determinan cómo se almacenan
los datos y cómo se accede a ellos. Los modelos de bases de datos individuales se diseñan en base a las reglas y los conceptos de cualquier modelo de datos más amplio que los diseñadores adopten. La mayoría de los modelos de datos se pueden representar por medio de un diagrama de base de datos acompañante.
7.2.1 Tipos de modelos de base de datos
Existen diversos tipos de modelos de bases de datos que pueden adaptarse a determinados requerimientos, y un sistema de gestión de bases de datos puede emplear uno o varios a la vez, ya que las necesidades pueden variar de una empresa a otra. A continuación, os detallamos algunos de los modelos más utilizados actualmente:
Modelo jerárquico (Hierarchical)
Uno de los modelos más reconocidos y usados, fue el desarrollado por IBM en los años 60-70, siendo a su vez el modelo más antiguo. Su estructura es del tipo árbol invertido, con relaciones uno a muchas (1:N), también conocido por su analogía de padre-hijos, donde un padre puede tener más de un hijo, pero un hijo solo puede tener un padre.
Con una gran carencia frente a la información redundante, este modelo jerárquico se utiliza principalmente para estructuras concretas o relaciones personales (otra de las razones del uso de esta analogía padre- hijo), empleándose en estructuras de documentos XML y siendo especialmente útil para relaciones del tipo tablas de contenidos, ordenamiento de párrafos e información anidada.
Modelo en red (Network)
Se trata de una expansión del modelo jerárquico basado en la teoría de conjuntos que permite relaciones N:N (de muchos a muchos), donde un cliente puede tener varias transacciones relacionadas con varios productos y varios vendedores a su vez.
Este modelo soluciona el problema de la redundancia de datos en el modelo jerárquico, pero su alta complejidad provoca a su vez un uso menos extendido.
Las tablas de hechos (fact tables) contienen datos medibles, cuantitativos y relacionados a eventos específicos en el tiempo, como una venta para el día 29 de enero de 2019, mientras que las dimensiones son atributos de los datos indicados en los hechos, como el nombre del cliente o la marca de los productos.
Modelo orientado a objetos (Object-oriented)
Relacionadas con el concepto de programación orientada a objetos, este modelo viene a proveer alternativas a la resistencia del uso de tablas y filas para los registros. En su lugar, se propone una base de datos con colecciones de objetos que incluyen funciones y métodos relacionados, se apoyan en los conceptos de encapsulación y polimorfismo, así como la reutilización de elementos.
Modelo entidad-relación (E-R)
También conocido como el diagrama entidad-relación (DER), este modelo nos permite diseñar y modelar conceptualmente los datos en base a:
Entidades: cosas, objetos o conceptos. Atributos: características de la entidad. Conjuntos de relaciones entre las entidades a las cuales se les aplican ciertas restricciones como la correspondencia de cardinalidades: uno a uno (1:1), uno a varios (N:1), y varios a varios (N:M).
Modelo de documentos
Por último, nos encontramos los modelos de documentos, también conocidos como base de datos documental, y que tal como su nombre lo indica, están orientadas a documentos. Este tipo de bases de datos están pensadas para trabajar con datos semi-estructurados, y tienen relación con las bases de datos NoSQL.
7.3 Modelo Relacional
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
El modelo relacional de bases de datos se rige por algunas normas sencillas:
Todos los datos se representan en forma de tablas (también llamadas “relaciones”, ver nota anterior). Incluso los resultados de consultar otras tablas. La tabla es además la unidad de almacenamiento principal. Las tablas están compuestas por filas (o registros) y columnas (o campos) que almacenan cada uno de los registros (la información sobre una entidad concreta, considerados una unidad). Las filas y las columnas, en principio, carecen de orden a la hora de ser almacenadas. Aunque en la implementación del diseño físico de cada SGBD esto no suele ser así. Por ejemplo, en SQL Server si añadimos una clave de tipo " Clustered " a una tabla haremos que los datos se ordenen físicamente por el campo correspondiente. El orden de las columnas lo determina cada consulta (que se realizan usando SQL). Cada tabla debe poseer una clave primaria, esto es, un identificador único de cada registro compuesto por una o más columnas. Para establecer una relación entre dos tablas es necesario incluir, en forma de columna, en una de ellas la clave primaria de la otra. A esta columna se le llama clave externa. Ambos conceptos de clave son extremadamente importantes en el diseño de bases de datos.
El diseño físico parte del lógico y da como resultado una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Aquí el objetivo es conseguir una mayor eficiencia, y se tienen en cuenta aspectos concretos del SGBD sobre el que se vaya a implementar. Por regla general esto es transparente para el usuario, aunque conocer cómo se implementa ayuda a optimizar el rendimiento y la escalabilidad del sistema.
7.5 Lenguaje Estructurado de Consulta – SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language ) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de
recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella.
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Características
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:
Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.
7.6 Trigger SQL
Un trigger o disparador es un objeto que se asocia con tablas y se almacena en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla.
La utilidad principal de un trigger es mejorar la gestión de la base de datos, ya que no requieren que un usuario los ejecute. Por lo tanto, son empleados para implementar las REGLAS DE NEGOCIO (tipo especial de integridad) de una base de datos. Una Regla de Negocio es cualquier restricción, requerimiento, necesidad o actividad especial que debe ser verificada al momento de intentar agregar, borrar o actualizar la información de una base de datos. Los triggers pueden prevenir errores en los datos, modificar valores de una vista, sincronizar tablas, entre otros.
Estructura básica de un "trigger" (disparador):
Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar. Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad. Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Las combinaciones que posee son:
Before statement: Antes de ejecutar la sentencia de disparo. Before row: Antes de modificar cada fila afectada por la sentencia de disparo,y antes de chequear las restricciones de integridad apropiadas. After stetement: Después de ejecutar la sentencia de disparo,y después de chequear las restricciones de integridad apropiadas.
After row: Después de modificar cada fila afectada por la sentencia de disparo y posiblemente aplicando las restricciones de integridad apropiadas.
Tipos de Triggers
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran cada vez que se llama al disparador desde la tabla asociada al trigger Statement Triggers (o Disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
7.7 Aplicaciones de Bases de Datos
Las aplicaciones de base de datos son programas de software diseñados para recoger, gestionar y difundir información de manera eficiente. Muchos propietarios de viviendas y pequeñas empresas crean bases de datos simples, con la información contacto de los clientes y listas de correo con software fácil de usar como Microsoft "Access" y "FileMaker Pro". "Oracle", "SQL Server"y "FoxPro" son ejemplos de aplicaciones de bases de datos avanzadas, con los lenguaje de programación que se puede
y "Amazon.com" utilizan bases de datos para almacenar, actualizar y presentar datos acerca de los productos a la venta. Estos sitios web también se combinan con sistemas de base de datos de contabilidad para registrar las transacciones de venta y con aplicaciones de base de datos de CRM que incorporen la retroalimentación y ayuden a generar una experiencia positiva para el cliente. La popular aplicación web basada en "Facebook" es esencialmente una base de datos construida sobre el sistema de base de datos "MySQL", y es un buen ejemplo de la creciente utilización de aplicaciones de bases de datos como base para aplicaciones basadas en Web.
7.8 Tendencias en Bases de Datos
Sensores y tiempo real
En el mundo de los sistemas embebidos que manejan tecnologías como RFID y eventos en Internet, se hace necesario analizar la información y tomar acción en memoria y antes de almacenar datos. StreamInsight es una nueva característica en el Microsoft SQL Server.
La nube
Ofrece por primera vez la verdadera posibilidad de almacenamiento ilimitado. Bases de datos en data centers internos pueden “extenderse” a operar en centros de datos públicos. Microsoft SQL Azure es el mejor ejemplo
Appliances
Para bases de datos de múltiples Terabytes, la “escalabilidad de un solo sistema” continuará siendo más económica que la nube. Las aplicaciones de misión crítica requieren cada vez más empaquetar hardware, software y una arquitectura preconfigurada a una carga específica de trabajo. Desde sistemas de 8 procesadores hasta contenedores con miles de servidores preconfigurados a la medida.
Almacenamiento columnar:
Una base de datos columnar es un sistema de gestión de base de datos que almacena los datos en columnas en lugar de filas.
El objetivo de una base de datos columnar es escribir y leer datos de manera eficiente, desde y hacia el almacenamiento en disco duro, para acelerar el tiempo que se tarda en devolver el resultado de una consulta.
Almacenamiento no relacional:
Para agregar grandes cantidades de datos y realizar operaciones de búsqueda ha aparecido éste modelo. BigTable de Google, SimpleDB de Amazon y Azure Storage de Microsoft son ejemplos. Algunos proveen funcionalidad para administrar documentos XML, como Tierlogic, Tamino, XMS. Los sistemas tradicionales incluyendo a Oracle, IBM y Microsoft han extendido sus productos a tipos de datos geográficos y no-estructurados.
Base de datos en memoria
Es una base de datos cuyos datos están almacenados en la memoria principal para facilitar tiempos más rápidos de respuesta. Los datos de origen se cargan a la memoria del sistema en un formato comprimido no relacional. Las bases de datos en memoria optimizan el trabajo relacionado con el procesamiento de consultas. El acceso óptimo es en forma de interfaz de programación (APIs). Sybase, Oracle, Four Js y otros ofrecen algunas de estas capacidades.