Definición Base de Datos e Instalación desde cero


SQL es un sistema de base de datos relacional

Published on April 10, 2023 by Gmichet

BASE DE DATOS

9 min READ

Indice

Concepto de base de datos

SQL forma parte de las bases de datos relacionales, esto significa que los datos que se guardan y organizan en las tablas estan relacionadas entre sí. Una base de datos relacional contiene múltiples tablas y cada tabla contiene:

  • Columnas: Representan campos de información, como nombres, fechas, identificaciones, etc.
  • Filas: Las filas de las tablas también conocidas como registros, contienen datos específicos relacionados con las columnas.

En una base datos relacional, pueden haber varias tablas que a su vez están conectadas mediante una columna común.

P14i0

El lenguaje utilizado para trabajar con base de datos será SQL (Structured Query Language) o también llamado “Lenguaje de consulta estructurado”, nos permite utilizar comandos especificos para realizar consultas, insertar nuevos datos, modificar registros, etc.


Instalando mysql

sudo apt update

-

sudo apt install mysql-server 
  • Ahora ya tenes mysql-server a continuación iniciamos mysql-server:
sudo mysql                    
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.33-0ubuntu0.22.04.2 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  • Muy bien ahora creamos el usuario, la estructura de la creación de un usuario se ve así:
mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';
  • Ahora otorgamos los permisos que tendrá el usuario en la base de datos, el que usaremos es ALL PRIVILEGES. A continuación una tabla con la lista de permisos:
PermisoDescripción
ALL PRIVILEGESConcede todos los permisos en todas las bases de datos y tablas.
CREATEPermite al usuario crear nuevas bases de datos o tablas.
DROPPermite al usuario eliminar bases de datos o tablas existentes.
SELECTPermite al usuario realizar consultas de lectura en las tablas.
INSERTPermite al usuario agregar nuevos registros a las tablas.
UPDATEPermite al usuario modificar los registros existentes en las tablas.
DELETEPermite al usuario eliminar registros de las tablas.
GRANT OPTIONPermite al usuario otorgar o revocar permisos a otros usuarios.
ALTERPermite al usuario realizar modificaciones en la estructura de las tablas, como agregar o eliminar columnas.
INDEXPermite al usuario crear o eliminar índices en las tablas.
  • Aplicando permisos al usuario:
GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost';

Ese comando que ejecutamos significa: otorgar al usuario todos los privilegios en todas las bases de datos.

  • Para saber si todo salio bien al ejecutar los comando te debe de dar una salida parecida esto:
Query OK, 0 rows affected (0.01 sec)
  • Si todo salio bien es hora de salir de mysql:
mysql> exit;
Bye

Instalando Mysql-workbench

La instalación de este es mucho más facil y existen dos formas:

  1. Instalar Mysql-Workbench desde el software de aplicaciones que viene por defecto en linux.

P14i1

  1. Descargar desde su sitio web

P14i1

Si lo hiciste por la segunda opción navega hasta el sitio del paquete .deb descargado:

cd Descargas/

Instalando

sudo apt install ./nombre_del_paquete.deb

Primer vistazo a Mysql-workbench

Si ya abriste la aplicación es necesario borrar el Local instance 3306 ya que posee privilegios root. Con click derecho sobre ese apartado se puede eliminar:

P14i4

Creamos otra seleccionando en el icono + para añadir una nueva MySQL Connections:

P14i3

Te saldrá la siguiente ventana, vamos a llenar los campos seleccionados de color rojo:

  • Connection name: Puedes elegir cualquier nombre que te resulte relevante para esa conexión en particular.
  • Usser name: Coloca el usuario que anteriormente creamos en este apartado mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';
  • Después de esos pasos presiona ok.

P14i5

Ahora da un click sobre la nueva conexión que creaste, te pedira una contraseña ingresa la que creamos anteriormente mysql> CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña';

P14i6

Si todo salio bien te mostrará esto:

P14i7


Descargando base de datos chinook

Para no crear una base de datos desde cero necesitamos importar una, entonces vamos a descargar la base de datos chinook desde su repositorio de github.

Chinook

Pulsamos en el boton de code para después descargar el archivo .zip:

P14i8

Una vez finalizada la descarga abre el MySQL-workbench –> Presiona en la pestaña superior Server –> Data import:

P14i9

Se abrirá otra ventana ve a la parte marcada de rojo y presiona en los tres puntos ...:

P14i10

Navega hasta la ubicación del archivo descomprimido de la base de datos chinook.

P14i11

En la sección “Default Schema to be Imported To”, puedes elegir si deseas importar la base de datos Chinook en una nueva base de datos o en una base de datos existente. Si seleccionas una base de datos existente, elige la base de datos adecuada de la lista desplegable.

P14i12

Importamos la base de datos chinook:

P14i13

Importante debemos importar el archivo que tenga como nombre Chinook_MySql.sql.


Reconocimiento de MySQL

Ya que tenemos la base de datos importada desde workbench falta iniciar nuestro usuario desde la terminal: Abrimos la terminal y ejecutamos el siguiente comando:

 mysql -u  nombre_usuario -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.33-0ubuntu0.22.04.2 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

.

Mostramos las bases de datos diponibles:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| Chinook            |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

.

Para seleccionar la base de datos que deseas utilizar, puedes ejecutar el siguiente comando:

USE nombre_base_de_datos;

.

En este caso chinook:

mysql> USE Chinook;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

.

Y estamos dentro de la base de datos chinook ahora podemos realizar consultas de cualquier tabla relacionada a la base de datos chinook:

mysql> SHOW TABLES;
+-------------------+
| Tables_in_Chinook |
+-------------------+
| Album             |
| Artist            |
| Customer          |
| Employee          |
| Genre             |
| Invoice           |
| InvoiceLine       |
| MediaType         |
| Playlist          |
| PlaylistTrack     |
| Track             |
+-------------------+
11 rows in set (0.00 sec)

Uso básico del leguaje SQL

Bueno en este post aprendimos sobre que es SQL que son las bases de datos relacionales, como están organizadas y relacionadas con las diferentes tablas que a su vez poseen columnas y filas. También aprendimos sobre la instalación desde la terminal de comandos hasta importar una base de datos desde el entorno gráfico, entre otras cosas.

En el siguiente post veremos el uso fundamental del lenguaje SQL a través de la consola.

Post sobre uso básico SQL

Gmichet

Autodidacta apasionado por la informática y entusiasta de los CTF. Constantemente aprendiendo.

2024 | WhatATheme - A Theme made with by Gmichet Powered by Jekyll