Programación Estructurada y Bases de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 16

Programación estructurada y bases de datos

Sabier Arteaga

Ciénaga de Oro-Córdoba

13 de julio 2024
Contenido
Resumen......................................................................................................................................3

Introducción.................................................................................................................................4

Programacion Estructurada..........................................................................................................5

Caracteristicas de la programación estructurada.....................................................................5

Tipos de programación estructurada............................................................................................5

Lenguajes de programación estructurada....................................................................................7

Bases de datos..............................................................................................................................8

Bases de datos relacionales......................................................................................................9

El modelo relacional..............................................................................................................10

Bases de datos No relacionales..............................................................................................11

Sistemas gestores de bases de datos..........................................................................................12

Sistemas Gestores de bases de datos Relacionales (SQL).....................................................12

Sistemas Gestores de bases de datos No Relacionales (NoSQL)..........................................14

Bibliografía................................................................................................................................16
Resumen

Este trabajo explora los fundamentos de la programación y las bases de datos, centrándose en

lenguajes de programación, programación estructurada, características de la programación

estructurada, bases de datos relacionales y no relacionales, así como gestores de bases de datos.

Se discute la importancia de los lenguajes de programación como herramientas fundamentales

para desarrollar software eficiente y mantenible, destacando la estructura y la lógica secuencial,

selectiva y repetitiva en la programación estructurada. Además, se analizan las diferencias clave

entre bases de datos relacionales y no relacionales, así como la función crucial de los gestores de

bases de datos en la administración y organización de datos. Este estudio proporciona una visión

integral de los conceptos fundamentales que sustentan la tecnología informática moderna,

destacando su relevancia en el ámbito académico y profesional.


Introducción

En el panorama tecnológico actual, los lenguajes de programación y las bases de datos juegan

roles cruciales en el desarrollo y la gestión de sistemas informáticos. Este trabajo examina de

manera integral los conceptos fundamentales de los lenguajes de programación, con un enfoque

específico en la programación estructurada y sus características distintivas de claridad y

eficiencia. Además, se profundiza en la importancia y el funcionamiento de las bases de datos,

explorando tanto las estructuras tradicionales relacionales como las más recientes no relacionales,

así como la función esencial de los gestores de bases de datos en la organización y administración

de grandes volúmenes de datos. Este estudio busca proporcionar una comprensión completa de

estas tecnologías vitales, destacando su relevancia tanto en el ámbito académico como en el

ámbito profesional, en la era digital actual.


Programacion Estructurada

Esun estilo de codificar los algoritmos que se aplica en los lenguajes de programación.

La programación estructurada se establece como paradigma de programación en torno a los

años 70, siendo uno de sus principales padres Dijkstra, con el objetivo de mejorar las prácticas de

programación y facilitar la creación de programas más complejos, aumentando también la

facilidad de mantenimiento del software.

Consiste en un estilo de programación en el que encontramos las estructuras básicas ya

conocidas en los lenguajes de programación anteriores, como ciclos y condicionales, a los que se

le añade la posibilidad de ejecutar subrutinas o funciones.

Cuando los módulos o elementos de código pueden reutilizarse a partir de una biblioteca,

también puede ser posible construir código estructurado utilizando módulos escritos en distintos

lenguajes, siempre que puedan obedecer a una interfaz de módulo común o a una especificación

de interfaz de programa de aplicación (API).

Características de la programación estructurada

Este modo de programación se caracteriza porque los programadores pueden fragmentar el

código fuente de sus programas en bloques lógicamente estructurados, que consisten en bucles,

bloques lógicos y comandos condicionales.

El objetivo de la programación estructurada es realizar programas fáciles de escribir, depurar y

modificar. Los programas conseguidos son claros, ordenados, comprensibles, sin saltos.
Tipos de programación estructurada

Esta programación puede dividirse en varias categorías, a saber:

Programación procedimental. Define los módulos como «procedimientos» o «funciones» que

se llaman con un conjunto de parámetros para realizar una tarea. Un lenguaje procedimental

iniciará un proceso, al que despues se le suministrará datos. También es la categoría más

conocida y se ha dividido en las siguientes:

La programación orientada a servicios simplemente define los módulos reutilizables como

«servicios» con interfaces anunciadas.

La programación de microservicios se centra en la creación de módulos que no almacenan

datos internamente, por lo que son escalables y resistentes en el despliegue en la nube.

La programación funcional, técnicamente, significa que los módulos se escriben a partir de

funciones, y que las salidas de estas funciones se derivan únicamente de sus entradas. Diseñada

para la computación sin servidor, la definición de programación funcional se ha ampliado desde

entonces para ser en gran medida sinónimo de microservicios.

Programación orientada a objetos (POO). Define un programa como un conjunto de objetos o

recursos a los que se envían órdenes. Un lenguaje orientado a objetos definirá un recurso de datos

y lo enviará para procesar comandos. Por ejemplo, el programador procedimental podría decir

«Imprimir(objeto)» mientras que el programador de POO podría decir «Decir al objeto que

imprima».

Programación basada en modelos. El ejemplo más común son los lenguajes de consulta de

bases de datos. En la programación de bases de datos, las unidades de código se asocian a los

pasos de acceso a la base de datos y se actualizan o ejecutan cuando se producen dichos pasos. La

base de datos y la estructura de acceso a la base de datos determinarán la estructura del código.

Otro ejemplo de estructura basada en modelos es la Notación Polaca Inversa (RPN), una
estructura de problemas matemáticos que se presta a la resolución eficiente de expresiones

complejas. La informática cuántica, que acaba de emerger, es otro ejemplo de programación

estructurada basada en modelos; el ordenador cuántico exige un modelo específico para organizar

los pasos, y el lenguaje simplemente lo proporciona.

Lenguajes de programación estructurada

Todos y cada uno de los programas existentes en el mundo se basan en un algoritmo que

puede presentarse de manera lógica gracias a un esquema. Por eso, la programación estructurada

es un modelo de programación orientado a la mejora de la claridad, calidad y tiempo invertido en

el desarrollo de un programa para un dispositivo.

La programación estructurada es tan eficiente porque utiliza únicamente subrutinas y tres

estructuras: secuencia, selección e interacción o repetitiva. Aunque los requerimientos actuales

del software son bastante más complejos que esta técnica, es imprescindible conocer el lenguaje

de programación estructurada clásico para, a partir de ellos, evolucionar hasta técnicas más

complejas utilizadas hoy en día.

Estructura de secuencia: está basada en la ejecución de una sentencia tras otras.

Estructura de selección: se basa en la ejecución de una sentencia o conjunto de sentencias,

según el valor de una variable booleana. Esta variable se utiliza con el fin de facilitar la escritura

y razonamiento de programas ya que solo admite dos valores: verdadero (true) o falso (false).

Estructura de interacción, repetitiva, ciclo o bucle: es la ejecución de una sentencia o conjunto

de sentencia, mientras una variable booleana sea verdadera.

Los tipos de lenguajes de programación se pueden clasificar principalmente como lenguajes de

programación de bajo y alto nivel. Aunque son simples en comparación con los lenguajes

humanos, los lenguajes de alto nivel son más complejos que los de bajo nivel. Al mismo tiempo,
un lenguaje de alto nivel ofrece más legibilidad en comparación con su contraparte de bajo nivel,

cuya interpretación necesita un conocimiento especializado en arquitectura informática.

Los lenguajes de bajo nivel incluyen lenguajes ensambladores y de máquina.

Un lenguaje ensamblador contiene una lista con instrucciones básicas y es mucho más difícil

de leer que un lenguaje de alto nivel. Está solo un nivel por encima del lenguaje de máquina en

cuanto a abstracción, usa códigos simples que se convierten fácilmente en cadenas de 1s y 0s

(representación binaria). No se puede usar para estructurar y manipular información compleja.

El lenguaje de máquina se entiende directamente por la unidad de procesamiento del

ordenador. Un programador escribirá primero su código en un lenguaje de alto nivel, luego lo

compilará en un formato legible por máquina donde las instrucciones se representan en binario.

Por otro lado, los lenguajes de alto nivel están diseñados para ser fáciles de leer y entender,

permiten así a los programadores escribir el código fuente al usar palabras y símbolos lógicos y

significativos. Encapsulan todo, desde los primeros lenguajes algorítmicos como FORTRAN

hasta lenguajes más extendidos y orientados a objetos como C++, C# y Java.

Bases de datos

Una base de datos es una recopilación organizada de información o datos estructurados, que

normalmente se almacena de forma electrónica en un sistema informático. Normalmente, una

base de datos está controlada por un sistema de gestión de bases de datos (DBMS). En conjunto,

los datos y el DBMS, junto con las aplicaciones asociadas a ellos, reciben el nombre de sistema

de bases de datos, abreviado normalmente a simplemente base de datos.

Los datos de los tipos más comunes de bases de datos en funcionamiento actualmente se

suelen utilizar como estructuras de filas y columnas en una serie de tablas para aumentar la
eficacia del procesamiento y la consulta de datos. Así, se puede acceder, gestionar, modificar,

actualizar, controlar y organizar fácilmente los datos. La mayoría de las bases de datos utilizan un

lenguaje de consulta estructurada (SQL) para escribir y consultar datos.

Bases de datos relacionales

Una base de datos relacional es un tipo de base de datos que almacena y proporciona acceso a

puntos de datos relacionados entre sí. Las bases de datos relacionales se basan en el modelo

relacional, una forma intuitiva y directa de representar datos en tablas. En una base de datos

relacional, cada fila en una tabla es un registro con una ID única, llamada clave. Las columnas de

la tabla contienen los atributos de los datos y cada registro suele tener un valor para cada atributo,

lo que simplifica la creación de relaciones entre los puntos de datos.

Estructura de las bases de datos relacionales

El modelo relacional significa que las estructuras de datos lógicas (las tablas de datos, las

vistas y los índices) están separadas de las estructuras de almacenamiento físicas. Gracias a esta

separación, los administradores de bases de datos pueden gestionar el almacenamiento físico de

datos sin que eso influya en el acceso a esos datos como estructura lógica. Por ejemplo, si se

cambia el nombre del archivo de una base de datos, eso no significa que vayan a cambiar también

los nombres de sus tablas.

La distinción entre lógico y físico se aplica también a las operaciones de base de datos, que

son acciones claramente definidas que permiten a las aplicaciones manipular los datos y las

estructuras de la base de datos. Con las operaciones lógicas, las aplicaciones pueden especificar

el contenido que necesitan, mientras que las operaciones físicas determinan cómo se debe acceder

a esos datos y llevan a cabo la tarea.


Para garantizar la precisión y accesibilidad continua de los datos, las bases de datos

relacionales siguen ciertas reglas de integridad. Por ejemplo, una regla de integridad podría

especificar que no se permite duplicar filas en una tabla, a fin de evitar que se introduzca

información errónea en la base de datos.

El modelo relacional

En los primeros años de las bases de datos, cada aplicación almacenaba datos en su propia

estructura única. Cuando los desarrolladores querían crear aplicaciones para usar esos datos,

tenían que conocer muy bien esa estructura de datos concreta a fin de encontrar los datos que

necesitaban. Esas estructuras de datos eran poco eficaces, el mantenimiento era complicado y era

difícil optimizarlas para ofrecer un buen rendimiento en las aplicaciones. El modelo de base de

datos relacional se diseñó para resolver el problema causado por estructuras de datos múltiples y

arbitrarias.

El modelo de datos relacional proporcionó una forma estándar de representar y consultar datos

que podría utilizar cualquier aplicación. Desde el principio, los desarrolladores se dieron cuenta

de que la virtud principal del modelo de base de datos relacional era el uso de tablas, ya que era

una forma intuitiva, eficiente y flexible de almacenar y acceder a información estructurada.

Con el tiempo, los desarrolladores comenzaron a usar el lenguaje de consulta estructurado

(SQL) para escribir y hacer consultas en una base de datos: esto sería otra de las grandes virtudes

de este modelo. Durante muchos años, el SQL se ha utilizado como el lenguaje para realizar

consultas en bases de datos. Se basa en el álgebra relacional y proporciona un lenguaje

matemático de uniformidad interna que facilita la mejora del rendimiento de todas las consultas

en bases de datos. Otros métodos empleados necesitan definir consultas individuales.


Bases de datos No relacionales

Una base de datos no relacional es un sistema de almacenamiento de datos que cuenta con

particularidades que las diferencian del otro gran grupo de bases de datos, esto es, las

relacionales. En este artículo vemos en qué consiste una base de datos relacional y cuáles son sus

principales características y ventajas.

Las bases de datos no relacionales son un sistema de almacenamiento de información que se

caracteriza por no usar el lenguaje SQL para las consultas. Esto no significa que no puedan usar

el lenguaje SQL, pero no lo hacen como herramienta de consulta, sino como apoyo. Por ello

también se les suele llamar NoSQL o «no solo SQL».

Otra de sus principales características es que no trabajan con estructuras definidas. Es

decir, los datos no se almacenan en tablas, y la información tampoco se organiza en registros o

campos.

Tienen una gran escalabilidad y están pensadas para la gestión de grandes volúmenes de

datos. Por otro lado, a diferencia de las bases de datos relacionales no cumple con el estándar

ACID de atomicidad, consistencia, aislamiento y durabilidad.

Las bases de datos no relacionales son más actuales que las relacionales, y su desarrollo se ha

basado en la necesidad de crear sistemas de gestión capaces de trabajar con datos no

estructurados o semiestructurados.

Las bases de datos NoSQL están diseñadas específicamente para modelos de datos específicos

y almacenan los datos en esquemas flexibles que se escalan con facilidad para aplicaciones

modernas. Las bases de datos NoSQL son ampliamente reconocidas porque son fáciles de

desarrollar, por su funcionalidad y el rendimiento a escala. Esta página incluye recursos que lo

ayudan a comprender mejor las bases de datos NoSQL y comenzar a usarlas.


Sistemas gestores de bases de datos

Un Sistema Gestor de Base de Datos (SGBD) o DataBase Managenent System (DBMS) es un

sistema que permite la creación, gestión y administración de bases de datos, así como la elección

y manejo de las estructuras necesarias para el almacenamiento y búsqueda de información del

modo más eficiente posible.

En la actualidad, existen multitud de SGBD y pueden ser clasificados según la forma en que

administran los datos en:

Relacionales (SQL)

No relacionales (NoSQL)

Sistemas Gestores de bases de datos Relacionales (SQL)

Desde que se comenzó a usar el modelo de bases de datos relacionales, en 1970, ha ido

sufriendo una serie de transformaciones hasta convertirse, hoy en día, en el modelo más

utilizado para administrar bases de datos.

Este modelo se basa fundamentalmente en establecer relaciones o vínculos entre los datos,

imaginando una tabla aparte por cada relación existente con sus propios registros y atributos.

Los principales sistemas gestores de bases de datos relacionales (SGBD SQL) actualmente

son:

MySQL

Es el sistema gestor de bases de datos relacional por excelencia si queremos

ofrecerte ejemplos de bases de datos.

Se ofrece bajo la GNU GPL aunque también es posible adquirir una licencia para empresas

que quieran incorporarlo en productos privativos (Desde la compra por parte de Oracle se está

orientando a este ámbito empresarial).


Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web actuales.

Además, es el más usado en aplicaciones creadas como software libre.

La principal desventaja es la escalabilidad, es decir, no trabaja de manera eficiente con bases

de datos muy grandes que superan un determinado tamaño.

MariaDB

Este SGBD es una derivación de MySQL que cuenta con la mayoría de características de este

e incluye varias extensiones.

Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la filosofía Open

Source y tiene la ventaja de que es totalmente compatible con MySQL.

SQLite

Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita en

C que implementa un SGBD y que permite transacciones sin necesidad de un servidor ni

configuraciones.

PostgreSQL

Este SGBD relacional está orientado a objetos y es libre, publicado bajo la licencia BSD.

Microsoft SQL Server

Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz

de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.

Oracle

Tradicionalmente, Oracle ha sido el SGBD por excelencia para el mundo empresarial,

considerado siempre como el más completo y robusto, destacando por:

Soporte de transacciones.

Estabilidad.

Escalabilidad.
Sistemas Gestores de bases de datos No Relacionales (NoSQL)

Para la administración de este tipo de bases de datos, actualmente los principales sistemas

gestores de bases de datos (SGBD NoSQL) son:

MongoDB

Estamos ante el Sistema Gestor de Bases de Datos no relacionales (SGBD NoSQL)

más popular y utilizado actualmente.

MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información

en estructuras BSON con un esquema dinámico que permite su facilidad de integración.

Redis

Redis está basado en el almacenamiento clave-valor. Podríamos verlo como un vector enorme

que almacena todo tipo de datos, desde cadenas, hashses, listas, etc.

El principal uso de este SGBD es para el almacenamiento en memoria caché y la

administración de sesiones.

Cassandra

Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un SGBD

NoSQL distribuido y masivamente escalable.

Otros SGBD NoSQL

Otros Sistemas Gestores de bases de datos no relacionales muy utilizados son:

Azure Cosmos DB

RavenDB

ObjectDB

Apache CouchDB

Neo4j
Google BigTable

Apache Hbase

Amazon DynamoDB
Bibliografía

https://www.chakray.com/es/lenguajes-programacion-tipos-caracteristicas/

https://www.oracle.com/co/database/what-is-a-relational-database/

https://www.docirs.cl/lenguaje_estructurado.asp

https://desarrolloweb.com/articulos/programacion-estructurada

https://ayudaleyprotecciondatos.es/bases-de-datos/no-relacional/

https://hilmer.vip/2023/01/21/programacion-estructurada/

También podría gustarte