Base de datos Relacionales SQL y MySQL.
Tags: sql, mysql, database, relacionales
Published: 2023-12-09 07:02:39

---
title: Base de datos Relacionales SQL y MySQL.
published: true
description: 
tags: #SQL #MySQL #DataBase #Relacionales

# Use a ratio of 100:42 for best results.
# published_at: 2023-12-09 06:52 +0000
---
se llaman asi por la forma en la que se organiza la información en relaciones o tablas de datos relaciónales. Las tablas se relacionan en filas que representan instancias de una entidad completa y columnas que representan atributos de entidad. 🪨🤖

Un transacción es un número de pasos que deben ejecutarse "en bloque". Si uno de ellos no se ejecuta individualmente, la transacción entera se suspende.

Transacciones ACID:
Una transaccíon es un set de operaciones que deben ser completadas totalmente y si no se completa alguna de las operaciones individualmente, no se realiza ningún cambio en la base de datos. Cualquier cosa que esté hecha parcialmente será revertida.

Las transacciones en bases de datos deben seguir los principios ACID.
Las transacciones siguen un set de principios enmarcados en el acrónimo ACID, que requiere que las transacciones sean atómicas (atomic) consistentes (consistent), aisladas (isolated) y duraderas (durable).

Las acciones de una transacción no pueden violar las reglas de integridad que están definidas para la base de datos.

Si estamos pasando dinero de una cuenta a otra y se presenta otra petición de transferencia por el usuario, esa petición tendrá que esperar hasta que la primera operación termine.

Atomicidad (Atomic) -> La transacción es indivisible
Consistencia (Consistent) -> Todo lo comenzando debe terminarse
Aislamiento (Isolated) -> Mientras se realiza la transacción, los datos implicados son inaccesibles
Durabilidad (Durable) -> Cuando la transacción termina.

SQL Básico: "Structured Query Language" = Lenguaje de consultas estructurado. 
SQL nos permite escribir sentencias que el sistema de gestión interpreta y asi es como interactuamos con los datos de la base de datos desde cualquier aplicación o desde el propio sistema de gestión.

Una sentencia SQL se componse de cláusulas que pueden contener expresiones y predicados. Una cláusula incluye una clave especificando alguna accíon que realizar y algo sobre lo que actuar o utilizar. Las expresiones y predicados establecen parámetros dentro de los que operar.

Las sentencias pueden ser escritas dentro de un software que opera directamente con la base de datos como por ejemplo phpMyAdmin o incorporarse directamente en el código de un programa de modo que se permita a una aplicación acceder a los datos.

Las sentencias se utilizan para pedir datos a la base de datos de campos específicos de la tabla. Para ellos especificamos los campos en los que queremos información y las tablas que los contienen.

Podríamos también especificar cómo mostrar, clasificar o asociar la información. Como respuesta obtendremos registros que se correspondan a los campos de los registros que coincidan con nuestros criterios de búsqueda.

Una sentencia SQL se compone de cláusulas que pueden tener expresiones y predicados 

SELECT CURSO, FROM ALUMNOS WHERE ASIGNATURA = "PLE".

En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas. Las sentencias marcan si el lenguaje está ejerciendo de DML, DDL, o DCL.
Las sentencias DML son aquellas que se utilizan para la manipulación de datos.

Entre ellas destacan el SELECT, que recupera datos de la base de datos.

SELECT -> Recupera datos de la base de datos
INSERT -> Añade nuevas filas de datos a la BD

Que es SQL?
Structured Query Language
Es el lenguaje estándar creado por IBM en 1970, ventajas que tenemos la atomicidad, su gran difusión, fácil compresión, Est;andar para el manejo de base de datos relacionales.

MySQL en Consola:

Ruta//
mysql -uroot -p

Comandos:
show databases; 
create database name;
use name;
show tables;
create table producto (nombre varchar(120), descripcion text);

select * from producto;
insert into producto (nombre, descripcion) values ("manzana", "fruta");

selet * from producto;

Delete from producto where nombre = "manzana";

drop table producto;

show tables;
______________________________________________

Diagrama entidad-relación o Diagramas ER:
Muestran los campos y relaciones que necesitamos y que luego seran traducidos en el esquema de la base de datos.

Diagramas de estructura de datos o Data Structure Diagram:
Se centran en las relaciones entre los elementos dentro de las entidades en lugar de las relaciones de las propias entidades entre si. Estas a su vez se pueden combinar con los diagramas de flujo de datos.

Nombre de tablas:
Las mejores maneras de nombrar y de organizar tus tablas en un diseño. Los nombres descriptivos siempre ayudan a mantener la claridad en la base de datos, las tablas no siempre van a ser nombradas en verison plugar de cualquier tipo de registro que estaran guardando en su interior. dar nombres especificos a las columnas, y dentro de ellas nombres singulares, es decir en la tabla de clientes(el nombre ira en singular).

Columnas y Tipos de Datos:
Necesitamos decirle a la base de datos exactamente el tipo de datos, que vamos a utilizar en cada caso.

De esta manera la base de datos optimiza el uso de memoria dentro de nuestro sistema.

Categoria String:
Las string presentan una coleccion de caracteres o letras, simbolos y numeros individuales. Para los tipos de string, la longitud de los datos que vamos a guardar es importante, de ahi que exista en las bases de datos varios tipos de cadenas de caracteres.

El primero es el tipo char, que establece una longitud, concreta de caracteres.

El segundo es var char, que implica que los caracteres a introducir seran de longitud variable.

Numericos, y Null:
El valor Null, que representa la ausencia de valor y se utiliza frecuentemente para representar valores que faltan en la base de datos. no es un tipo de datos si no una condicion, hablamos de la ausencia de datos, nulos y no nulos.


Relaciones Uno a Muchos:
Las relaciones uno a muchos son el tipo de relaciones mas comun, en las bases de datos, estas conectan un dato o fila de una tabla a uno o mas datos, ya que a conocer el tipo de datos con el que se trata, el sistema puede gestionar la memoria de una manera mas eficiente y ofrecer caracteristicas especificas basadas en el tipo de informacion guardada en la columna.

Relaciones de Muchos a Muchos:
Este modelo es util cuando queremos asociar mas de una ocurrencia de una cosa con mas de una ocurrencia de otra.

Relaciones Uno a Uno:
Las relaciones uno a uno son menos frecuentes de ver, pues destablecen relacion entre una unica ocurrencia de una entidad conu una unica ocurrencia de otra entidad.

La informacion de las bases de datos pueden ser estatica en el tiempo o susceptible a cambios, por eso tenemos que las bases de datos pueden clasificarse en:

1. Bases de Datos Estaticas:
De sólo lectura, los datos no cambian.

2. Bases de Datos Dinamicas:
Permiten operar los datos y son susceptibles a  cambios y permiten operaciones de actualizacion, borrado y edicion de los datos ademas de las opciones normales de consultas.

Modelo Jerarquico:
- Un nodo padre y varios hijos
- Para acceder a la informacion del hijo, debemos posicionarnos en su elemento padre

Modelo en Red:
- Varios nodos padre, donde cada uno posee varios nodos hijo
- Para acceder a la informacion del hijo, debemos posicionarnos en su elemento padre

Modelo Relacional:
- Conjunto de tablas
- Las tablas se relacionan entre si
- Se accede a la informacion mediante consultas

Modelo Orientado a Objetos:
El mas avanzado es el modelo orientado a objetos, que combina el modelo de bases de datos relacional en el que se representan cada clase o subclases de nuestro esquema con un identificador de objetos que sirve para que el objeto sea refenciado en otra tabla.

Modelo Declarativo:
Se basa en predicciones logicas, donde tenemos base de datos relacionadas con reglas deductivas, para obtener la informacion guardada y se deducen las relaciones indirectas entre los datos que se almacenan.

Bases de datos orientadas a grafos:
Convierten datos a un formato de grafo independientemente del modelo de datos del que se extraen, no es un modelo de datos en si mismo. El formato de grafos implica que los activos clave son los registros, es decir, nodos o vertices, y las conexiones entre los registros son los bordes, vinculos o relaciones. Tienen una alta tendencia en los cursos de las bases de datos.

Sistemas de Gestion de bases de datos:
Los sistemas de gestion de bases de datos(SGBD) son programas que nos permiten interactuar con la informacion contenida en la base de datos.

Tambien proporcionan para mantener la integridad de los datos para administrar el acceso a los mismos, para recuperar la informacion si el sistema se corrompe y ademas, oermite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo de sistemas y hacer copias de seguridad.

DBMS Relacionales:
Oracle
MS SQL Server
DB2
MySQL

DBMS Tradicionales:
Los modelos jerarquicos y de red se usan principalmente en plataformas Mainframe.

DBMS Orientados a Objetos:
Este modelo es un sistema de gestion de bases de datos en el que la informacion se representan en formas de objetocs y se almacenan objetos en su interior.

DBMS NoSQL:
No requieren esquemas fijos
Evitan las operaciones JSON
Almacenan datos desnormalizados
Estan disenadas para escalar horizontalmente
Conocidos como almacenes clave-valor o bases de datos orientadas a documentos


____________________________________________________

///
-Espero que mis apuntes te ayuden en tu investigacion personal o tarea de colegiatura.

Si te gusto, apoyame con un like y sigueme. Gracias.
///

Material de estudio.
Fuente: Base de datos Relacionales.