# Creació pas a pas d'una base de dades amb MariaDB i HeidiSQL
#### Instal·lació de MariaDB i HeidiSQL (conjunta)
En primer lloc cal que us instal·leu el MariaDB des d'aquest [enllaç](https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.4.3&os=windows&cpu=x86_64&pkg=msi&mirror=raiolanetworks)
Un cop descarregat el .msi, us oferim els passos d'instal·lació desde WINDOWS:

Fer NEXT:

Fixeu-vos que si no desmarqueu l'opció de Third party tools, se us instal·larà el HeidiSQL com a client visor de la base de dades.
Feu NEXT i anireu a parar a aquesta pantalla on s'haurà d'informar la password del root. Marqueu l'opció dels caràcters UTF8 per defecte i feu novament NEXT:

Un cop aquí canvieu el valor del port de 3306 a un altre si hi ha cap altre servei que està escoltant per aquest port:

Un cop feu NEXT, si tot és correcte (el nom del servei i el número de port no estan ocupats) us apareixerà aquesta pantalla:

Feu finalment Install per Instal·lar i espereu a que aquesta finalitzi:

#### Instal·lació de HeidiSQL (per separat)
Des del seu web és possible dur a terme la instal·lació en cas que ja tinguèssiu el MariaDB o un altre sistema de bases de dades instal·lat abans. En aquest [enllaç](https://www.heidisql.com/download.php) podeu procedir a baixar-lo i seguir amb la seva instal·lació (és bastant autoguiada).
#### Accedir al client MariaDB
Alternativament al client gràfic sempre és possible accedir al client per comandes. Quan accediu haureu de ficar la password del root que heu introduït durant la instal·lació del MariaDB.

Per exemple, crear i connectar-se a una nova base de dades anomenada CARTES i crear una nova taula anomenada cartes:
```
MariaDB [(none)]> CREATE DATABASE CARTES;
Query OK, 1 row affected (0.020 sec)
MariaDB [(none)]> USE CARTES;
Database changed
MariaDB [CARTES]> CREATE TABLE IF NOT EXISTS cartes (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> valor VARCHAR(10) NOT NULL UNIQUE,
-> pal VARCHAR(10) NOT NULL UNIQUE,
-> color VARCHAR(10) NOT NULL
-> );
Query OK, 0 rows affected (0.069 sec)
MariaDB [CARTES]>
```
A partir d'aquí podrieu fer els corresponents INSERT i SELECT (a més d'altres operacions) contra aquesta taula.
#### Ús del HeidiSQL: Connexió
El primer cop que s'accedeix al HeidiSQL ens demanarà que introduïm els detalls de la connexió:

En el nostre cas:
* Nombre del host / IP: Ficarem localhost o 127.0.0.1. En el cas que apuntem a un servidor remot caldrà ficar la ip d'aquest servidor o bé seu nom (assegurar abans que aquest servidor admet connexions remotes).
* Usuario: Si bé per defecte ens apareix root, la pràctica idònia és que us creeu un usuari i us connecteu amb aquest usuari.
* Contraseña: Fiqueu la paraula de pas corresponent al root o bé l'usuari amb el qual us voleu connectar.
* Puerto: Si esteu utilitzant el 3306 per MariaDB deixeu-lo. En cas contrari introduïu el port correcte pel qual el servei de MariaDB escolta.
Ja un cop informat, feu "Guardar" (botó inferior esquerra) per desar aquesta connexió i després "Abrir" per obrir la connexió. Si tot és correcte us hauria d'aparèixer això:

#### Ús del HeidiSQL: Crear una nova base de dades i taula
Sobre el nom de la connexió (al costat de la icona de la foca), feu clic dret --> Crear nuevo --> Base de datos

Ens apareixerà la següent pantalla on introduïrem el nom de la base de dades:

Ja un cop creada la veurem llistada a l'esquerra. Ara per crear taules d'aquesta base de dades ens posicionem sobre la base de dades i fem clic dret --> Crear nuevo --> Tabla:

Pestanya a pestanya anirem introduint la informació de la taula. A Básico ficarem el nom de la taula, en aquest cas "peliculas":

Si us fixeu a sota hi veureu Columnas i un botó verd "+ Agregar". Feu clic per poder afegir els camps de la taula:


Aneu fent clic a Agregar successivament per introduir més camps:

Poseu-vos sobre el camp que haurà de fer de clau primària i feu clic dret --> Crear nuevo índice --> PRIMARY. En aquest cas és IdPeli:

Per fer que aquest camp sigui autoincrement, aneu a la columna Predeterminado i feu clic. Trieu la darrera opció per autoincrement:

Per afegir restriccions com que un camp sigui UNIQUE, poseu-vos sobre el camp, feu novament clic dret --> Crear nuevo índice --> UNIQUE. En aquest cas farem que el títol sigui UNIQUE:

Si no cal afegir cap clau més o fer cap més acció, premeu Guardar i ja haurieu de veure la taula creada:

Per afegir dades, aneu a la pestanya Datos i feu clic sobre el botó "+" verd:

Aneu informant els camps, tret de la clau i premeu successivament el botó "+" verd per afegir nous registres:

#### Connectors python i mòduls necessaris
En cas que el vostre sistema sigui linux, consulteu el [següent tutorial](https://hackmd.io/@JdaXaviQ/rJAS-NGE6) del Xavi Quesada.
Des del visual studio code, podeu executar "pip install mysqlclient". Si tot funciona correctament haurieu de ser capaços de crear un nou arxiu de python i ficar "import mysql.connector" sense que us donés error:
.