Mostrando entradas con la etiqueta mariadb tutorial español. Mostrar todas las entradas
Mostrando entradas con la etiqueta mariadb tutorial español. Mostrar todas las entradas

jueves, 24 de septiembre de 2015

Learning Project Mariadb Tutorial (3): Creación del resto de tablas en SQL

Learning Project Mariadb Tutorial (3): Creación del resto de tablas en SQL



Continuación de Learning Project Mariadb Tutorial (2): Creación de las tablas en SQL , antes de seguir con en este ejemplo te recomendamos que accedas al apartado anterior.


A continuación, vamos a crear el resto de las tablas que desarrollamos en el proyecto para Customerdb para MariaDB.

Tabla cb_currency


Empecemos con cb_currency, nuestra tabla de monedas para el proyecto, la utilizaremos para definir la moneda del país (cb_country y cb_enterprise por ejemplo), este el código:


CREATE TABLE cb_currency
(
  idcurrency INT NOT NULL AUTO_INCREMENT,
  currency VARCHAR(60) NOT NULL,
  description  VARCHAR(255) NOT NULL ,
  isactive VARCHAR(1) NOT NULL DEFAULT 'N',
  isocode VARCHAR(3) NOT NULL,
  cursymbol VARCHAR(10),
  precisionstd DECIMAL(10,0) NOT NULL,
  precisioncost DECIMAL(10,0) NOT NULL,
  precisionprize DECIMAL(10,0) NOT NULL DEFAULT 0,
  CONSTRAINT pk_cb_currency PRIMARY KEY (idcurrency),
  CONSTRAINT u_cb_currency_currency UNIQUE (currency),
  CONSTRAINT u_cb_currency_isocode UNIQUE (isocode)
)
ENGINE = InnoDB
COMMENT='Tabla  donde se definen las monedas disponibles y sus relaciones a partir de las monedas bases.';
GRANT ALL ON TABLE cb_currency TO xulescode;

Usamos idcurrency como clave primaria un tipo integer con  AUTO_INCREMENT (generación automática de un contador único):
Algunas consideraciones a tener en cuenta al definir los valores AUTO_INCREMENT:
  • Puede utilizarse para generar una identidad única para nuevas filas. Al insertar un nuevo registro a la tabla el valor automáticamente será incrementado.
  • Las columnas AUTO_INCREMENT comienzan a partir del 1 de forma predeterminada. El valor generado automáticamente nunca puede ser inferior a 0.
  • Cada tabla puede tener sólo una columna AUTO_INCREMENT. Debe definirse como una clave (no necesariamente la clave principal o clave UNIQUE). Si la clave consiste en varias columnas, la columna AUTO_INCREMENT tiene que ser el primero, a menos que el motor de almacenamiento es Aria o MyISAM.

Para la definición de clave primaria que explicamos en la anterior publicación, usamos el siguiente código SQL:

CONSTRAINT pk_cb_currency PRIMARY [Nombre de la clave] KEY (idcurrency) [Indicamos el campo que forma la clave primaria]

En este caso también definimos como clave única currency, es decir, que este valor no se puede repetir, para ellos utilizamos: CONSTRAINT u_cb_currency_currency UNIQUE (currency), lo mismo hacemos con isocode: CONSTRAINT u_cb_currency_isocode UNIQUE (isocode) recordemos la explicaciòn de su uso:

CONSTRAINT u_cb_currency_currency [Nombre para la clave única] UNIQUE (currency) [Indicamos el campo que queremos definir como único]

Para consultar los tipos de datos que podemos usar en MariaDB aquí tienes toda la información: Data Types, veamos los tipos básicos utilizados hasta ahora:
  • INT
    • Integer desde -2147483648 hasta 2147483648
  • INTEGER
    • Sinónimo para INT
  • DECIMAL
    • A packed "exact" fixed-point number
  • DEC, NUMERIC, FIXED
    • Sinónimo para DECIMAL
  • VARCHAR
    • Cadena con tamaño variable, como puedes ver en las definiciones de las tablas utilizamos diferentes tamaños de cadenas para limitar los tamaños de las variables utilizadas según nos interese.

Tabla cb_country


La tabla cb_country es la tabla de países para el proyecto, en este caso para cada país indicaremos cual es el idioma y su moneda, este el código:

CREATE TABLE cb_country
(
  idcountry INT NOT NULL AUTO_INCREMENT,
  country VARCHAR(100) NOT NULL,
  description VARCHAR(255),
  countrycode VARCHAR(2) NOT NULL,
  hasregion VARCHAR(1) NOT NULL DEFAULT 'N',
  regionname VARCHAR(60),
  expressionphone VARCHAR(20),
  displaysequence VARCHAR(20) NOT NULL,
  isdefault  VARCHAR(1) NOT NULL DEFAULT 'N',
  ibannodigits NUMERIC,
  ibancountry VARCHAR(2),
  isactive BOOLEAN NOT NULL DEFAULT true,
  idlanguage VARCHAR(6),
  idcurrency INT,
  CONSTRAINT pk_cb_country PRIMARY KEY (idcountry),
  CONSTRAINT fk_cb_country_idcurrency FOREIGN KEY (idcurrency)
      REFERENCES cb_currency (idcurrency) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_country_idlanguage FOREIGN KEY (idlanguage)
      REFERENCES cb_language (idlanguage) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT un_cb_country_countrycode UNIQUE (countrycode),
  CONSTRAINT ch_cb_country_hasregion_check CHECK (hasregion IN ('Y', 'N')),
  CONSTRAINT ch_cb_country_isdefault_check CHECK (isdefault IN ('Y', 'N'))
)
ENGINE=InnoDB
COMMENT='Tabla donde se definen todos los países con sus características principales: idioma, nombre, ..., y diferentes datos íntrinsecos a cada país.';
GRANT ALL ON TABLE cb_country TO xulescode;

Usamos idcountry como clave primaria: CONSTRAINT pk_cb_country PRIMARY KEY (idcountry), en este caso también definimos como clave única countrycode, es decir, que este valor no se puede repetir, para ellos utilizamos: CONSTRAINT un_cb_country_countrycode UNIQUE, como ya se explicó anteriormente.

En este caso para los países definimos el idioma y la moneda por lo que vamos a relacionar cb_country con las tablas correspondientes de cb_language y cb_currency, para esto vamos a definir las claves foráneas (foreign key) correspondientes:
  • Definimos la clave foránea para cb_currency, que consiste en relacionar el valor de una tabla con otra estableciendo la relación, en este caso por el id de la tabla:
  CONSTRAINT fk_cb_country_idcurrency [Nombre de la tabla] FOREIGN KEY (idcurrency) [Campo en cb_country]
      REFERENCES cb_currency (idcurrency) [Tabla relacionada y el campo] MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION [Definición de las acciones]
  • Definimos la clave foránea para cb_language, que consiste en relacionar el valor de una tabla con otra estableciendo la relación, en este caso por el id de la tabla:
  CONSTRAINT fk_cb_country_idlanguage [Nombre de la tabla] FOREIGN KEY (idlanguage) [Campo en cb_country]
      REFERENCES cb_language (idlanguage)
[Tabla relacionada y el campo] MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
[Definición de las acciones]

Tabla cb_paymentmethod


La tabla cb_paymentmethod es la tabla de métodos de pago que vamos a definir para los clientes:

CREATE TABLE cb_paymentmethod
(
  idpaymentmethod INT NOT NULL AUTO_INCREMENT,
  paymentmethod VARCHAR(100) NOT NULL,
  description VARCHAR(150),
  paymentterms VARCHAR(250),
  paymententity VARCHAR(50),
  CONSTRAINT pk_cb_paymentmethod PRIMARY KEY (idpaymentmethod),
  CONSTRAINT un_cb_paymentmethod_paymentmethod UNIQUE (paymentmethod)
)
ENGINE=InnoDB
COMMENT='Métodos de pago definidos para el cliente u otras entidades';
GRANT ALL ON TABLE cb_paymentmethod TO xulescode;

Esta tabla no tiene nada de particular definimos idpaymentmethod como clave primaria con  un entero y AUTO_INCREMENT :

idpaymentmethod INT NOT NULL AUTO_INCREMENT

CONSTRAINT pk_cb_paymentmethod [Nombre para la clave primaria] PRIMARY KEY (idpaymentmethod) [Campo que forma la clave primaria]


Definimos paymentmethod como clave única como se indico anteriormente:

CONSTRAINT un_cb_paymentmethod_paymentmethod [Nombre para la clave única] UNIQUE (paymentmethod)[Campo que forma la clave primaria]

Tabla cb_addresses


La tabla cb_addresses es la tabla donde se asocian las direcciones que tiene un cliente , cada cliente tendrá un número ilimitado de direcciones definidas en cb_address, que se asociarán mediante el id generado en esta tabla y que se relacionará directamente con el cliente.

Está es la definición de la tabla, que definimos como una agrupación de las direcciones asignadas a una entidad:


CREATE TABLE cb_addresses
(
  idaddresses INT NOT NULL AUTO_INCREMENT,
  addressesentity VARCHAR(100) NOT NULL,
  CONSTRAINT pk_cb_addresses PRIMARY KEY (idaddresses)
)
ENGINE=InnoDB
COMMENT='Agrupación de las direcciones asignadas a una entidad.';
GRANT ALL ON TABLE cb_addresses TO xulescode;

Tabla cb_address

La tabla  cb_address es la tabla de direcciones que vamos a definir para los clientes u otras entidades que lo necesiten, a través de la relación que establecemos mediante cb_addresses para cada entidad, este es el código SQL de la tabla:


CREATE TABLE cb_address
(
  idaddress INT NOT NULL AUTO_INCREMENT,
  idaddresses INT,
  address VARCHAR(500),
  postalnumber VARCHAR(20),
  mainphone VARCHAR(100),
  movilephone VARCHAR(100),
  phone2 VARCHAR(100),
  phone3 VARCHAR(100),
  carrier VARCHAR(200),
  addresstype VARCHAR(100),
  locality VARCHAR(250),
  estate VARCHAR(250),
  idcountry INT,
  notes1 VARCHAR(500),
  CONSTRAINT pk_cb_address PRIMARY KEY (idaddress),
  CONSTRAINT fk_cb_address_idaddresses FOREIGN KEY (idaddresses)
      REFERENCES cb_addresses (idaddresses) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_address_idcountry FOREIGN KEY (idcountry)
      REFERENCES cb_country (idcountry) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
ENGINE=InnoDB
COMMENT='Direcciones para: Clientes, Empresas,... ';
GRANT ALL ON TABLE cb_address TO xulescode;

Usamos idaddress como clave primaria: CONSTRAINT pk_cb_address PRIMARY KEY (idaddress), definimos los campos habituales para la dirección entre ellos los teléfonos y el país, para este usamos una clave foránea para relacionar el país con la dirección por medio de idcountry.

CONSTRAINT fk_cb_address_idcountry FOREIGN KEY (idcountry)
      REFERENCES cb_country (idcountry) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION

Para almacenar todas las direcciones de una entidad las relacionamos por e campo idaddresses para el que podemos tener una o varias direcciones, este campo se genera en la tabla cb_addresses y para ello tenemos que relacinarlo con una clave foránea:

CONSTRAINT fk_cb_address_idcountry FOREIGN KEY (idcountry)
      REFERENCES cb_country (idcountry) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION

De momento vamos a dejar las acciones sin hacer nada, tanto aquí como en cb_addresses y cb_address, para más adelante ver la conveniencia de realizar acciones de actualización y borrado en cadena.

Tabla cb_enterprise

La tabla cb_enterprise es la tabla de empresas de la base de datos Customerdb, con lo que cada empresa tendrá sus clientes, es el SQL con el que implementamos está tabla:


CREATE TABLE cb_enterprise
(
  identerprise INT NOT NULL,
  enterprise VARCHAR(150),
  description VARCHAR(250),
  enterprisealias VARCHAR(100),
  contact VARCHAR(250),
  estate VARCHAR(30),
  balance DECIMAL(10,3),
  ei VARCHAR(100),
  enterprisepayer VARCHAR(20),
  idcountry INT,
  idcurrency INT,
  idlanguage VARCHAR(6),
  CONSTRAINT pk_enterprise PRIMARY KEY (identerprise),
  CONSTRAINT cb_enterprise_idlanguage FOREIGN KEY (idlanguage)
      REFERENCES cb_language (idlanguage) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_enterprise_idcountry FOREIGN KEY (idcountry)
      REFERENCES cb_country (idcountry) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_enterprise_idcurrency FOREIGN KEY (idcurrency)
      REFERENCES cb_currency (idcurrency) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
ENGINE=InnoDB
COMMENT='Tabla para controlar las empresas que se usan en la aplicación, la aplicación se desarrolla en función de estos parámetros ya que habrá algunas tablas que serán comunes a las empresa y otras que no, por ejemplo, cada empresa tendrá sus propios clientes, pero tendrá los mismos idiomas, monedas y países de trabajo.';
GRANT ALL ON TABLE cb_enterprise TO xulescode;

Usamos identerprise como clave primaria: CONSTRAINT pk_enterprise PRIMARY KEY (identerprise), además también definimos las relacionales para indicar el idioma (cb_language), la moneda (cb_currency) y el país (cb_country), de la misma forma que hicimos en las otra tablas.

En este caso es un decisión de diseño para este base de datos definir el idioma y la moneda en particular para la empresa ya que como vimos antes los valores los tenemos relacionados por país, en este caso, defino el idioma y la moneda con la que trabaja la empresa que no tiene porque coincidir con la del país.

Tabla cb_customer

La tabla cb_customer es la tabla donde se almacenarán los clientes de las diferentes empresas, se entiende cliente como aquel que compra a una empresa, veamos el código SQL para nuestra tabla de cliente.


CREATE TABLE cb_customer
(
  idcustomer INT NOT NULL AUTO_INCREMENT,
  identerprise INT,
  customer VARCHAR(15) NOT NULL,
  customername VARCHAR(150),
  customeralias VARCHAR(100),
  contact VARCHAR(250),
  customerstate VARCHAR(30),
  sale DECIMAL(10,3),
  identitynumber VARCHAR(100),
  customerpayer VARCHAR(20),
  idpaymentmethod INT,
  idcountry INT,
  idcurrency INT,
  idlanguage VARCHAR(6),
  idaddresses INT,
  CONSTRAINT pk_cb_customer PRIMARY KEY (idcustomer),
  CONSTRAINT fk_cb_customer_idaddresses FOREIGN KEY (idaddresses)
      REFERENCES cb_addresses (idaddresses) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_customer_idcountry FOREIGN KEY (idcountry)
      REFERENCES cb_country (idcountry) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_customer_idcurrency FOREIGN KEY (idcurrency)
      REFERENCES cb_currency (idcurrency) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_customer_identerprise FOREIGN KEY (identerprise)
      REFERENCES cb_enterprise (identerprise) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_customer_idlanguage FOREIGN KEY (idlanguage)
      REFERENCES cb_language (idlanguage) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_cb_customer_idpaymentmethod FOREIGN KEY (idpaymentmethod)
      REFERENCES cb_paymentmethod (idpaymentmethod) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT un_cb_customer_cb_enterprise UNIQUE (identerprise, customer)
)
ENGINE=InnoDB
COMMENT='Tabla donde se almacenarán los clientes de las diferentes empresas, se entiende cliente como aquel que compra a una empresa.';
GRANT ALL ON TABLE cb_customer TO xulescode;

Usamos idcustormer como clave primaria: CONSTRAINT pk_cb_customer PRIMARY KEY (idcustomer), como queremos separar los clientes por empresa necesitamos indicar a que empresa pertenece cada cliente, para ello usamos identerprise para relacionarlos con la empresa de la tabla cb_enterprise , como se puede ver en la tabla usamos la clave foránea: fk_cb_customer_identerprise para establecer la relación.

Además también definimos las relacionales para indicar el idioma (cb_language), la moneda (cb_currency) ,  el país (cb_country) y las formas de pago (cb_paymentmethod).

También, definimos para los clientes, lo hacemos a través de la tabla cb_addresses, tabla que utilizaremos para almacenar varias direcciones de cliente en la tabla cb_address. En la tabla de cb_customer simplemente establecemos la relación con cb_addresses con la columna idaddresses como hicimos en otros casos:

CONSTRAINT fk_cb_customer_idaddresses FOREIGN KEY (idaddresses)
      REFERENCES cb_addresses (idaddresses) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION

Será a través de esta tabla como obtendremos las direcciones reales del cliente almacenadas en cb_address.

Por si no quieres hacerlo tabla a tabla te facilito un script para hacer la creación de las tablas y puedes hacer las pruebas que quieras:  Script creación de tablas Customerdb..

Borrado de tablas


Por si fuera necesario durante la programación el orden del borrado de tablas sería el siguiente:


DROP TABLE cb_customer;
DROP TABLE cb_enterprise;
DROP TABLE cb_paymentmethod;
DROP TABLE cb_address;
DROP TABLE cb_addresses;
DROP TABLE cb_country;
DROP TABLE cb_currency;
DROP TABLE cb_language;

La sintaxis es sencilla simplemente se utiliza la sintaxis DROP TABLE, y  a continuación, el nombre de la tabla.


En el siguiente capítulo facilitaré un script para cargar con datos la base de datos y empezar con las consultas básicas.

Espero que te haya sido útil.

miércoles, 16 de septiembre de 2015

Learning Project Mariadb Tutorial (1) (Mysql): Preparación del entorno



MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL esta desarrollado por el creador de MySQL Michael (Monty) Widenius, después de la venta a Oracle de esta, Es desarrollado por  (fundador de MySQL) , en la que cuenta con el apoyo de la comunidad de desarrolladores de software libre.

Introduce dos motores de almacenamiento nuevos, uno llamado Aria -que reemplaza con ventajas a MyISAM- y otro llamado XtraDB -en sustitución de InnoDB.

Una de las características principales es que tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, lo que permite cambiar un servidor por otro directamente, como ha hecho, por ejemplo, Wikipedia entre otros. 

Empezemos con el tutorial.

Learning Project Mariadb Tutorial (Mysql): Explicación


En este caso vamos a crear una serie de tablas en relación al proyecto que se explica a continuación para poder aprender y hacer pruebas con Mysql con ejemplos, aquí podemos optar por la versión de Oracle o por el fork de Mariadb.

Utiliza el código como quieras y para lo que quieras ya que este es un proyecto de aprendizaje para mi y para todo aquel que lo encuentre útil.

Si ya has consultado el post de Postgresql puedes pasar directamente al apartado de preparación del entorno, ya que para facilitar el aprendizaje y comparación de diferentes bases de datos, usamos siempre el mismo esquema.

Definición

 

El proyecto consiste en la administración de clientes para diferentes empresas, para ello se plantea la necesidad de tener la información de la empresa y de los clientes, cada empresa podrá tener múltiples clientes, para el caso de estudio se plantea que ambas entidades tengan los campos básicos y direcciones que podrán ser una o varias.

Así mismo, y para completar el proyecto con el desarrollo que creemos necesario, se plantea que la tabla clientes tenga como tablas asociadas las tablas de: monedas, países e idiomas, que podrían ser tablas de uso general en la aplicación, y una tabla más específica como podría ser formas de pago.

Esquema inicial


Este no es un diagrama entidad relación clásico sino una simple estructura de las tablas que se van a implementar y de sus relaciones.


Tablas del esquema

Para desarrollar este esquema vamos a necesitar las siguientes tablas, a continuación se explica su utilidad y algunas características básicas, el resto irá directamente sobre el código SQL:

TABLA
DESCRIPCIÓN
CARACTERÍSTICAS DE DISEÑO
cb_enterprise
Empresas de la aplicación, cada empresa tendrá sus clientes.
Las empresas tendrán definido inicialmente: idioma, país y moneda, así como los campos básicos para hacer pruebas.
cb_custormer
Tabla general de cliente,  donde se almacenarán los clientes de las diferentes empresas, se entiende cliente como aquel que compra a una empresa.
Los tendrán definido inicialmente: idioma, país, direcciones, empresas, métodos de pago y moneda, así como los campos básicos para hacer pruebas.
cb_addresses
Tabla de registro de las direcciones, se asocian aquí las direcciones que tienen un cliente, cada cliente tendrá un número ilimitado de direcciones con cb_address relacionado mediante cb_addresses (es básicamente una tabla relacional).
Registro para asociar las direcciones al cliente.
cb_address
Tabla de dirección donde se guardan los datos de la dirección en sí.
Tabla dirección tendrá los campos generales de una dirección, así como números de teléfono, transportista y tipos de dirección.
cb_language
Tabla con los idiomas registrados en la aplicación, se podrá relacionar con múltiples tablas.

cb_country
Tabla con los países registrados en la aplicación, se podrá relacionar con múltiples tablas.
Para cada país se especificará la moneda y el idioma utilizado por defecto.
cb_currency
Tabla con las monedas registradas en la aplicación, se podrá relacionar con múltiples tablas.

cb_paymentmethod
Métodos de pago definidos para el cliente u otras entidades.



Learning Project Mariadb Tutorial (Mysql): Preparación del entorno

 

Instalación de Mariadb

 

No me extenderé en este apartado, las descargas e información para la instalación las puedes encontrar aquí: https://downloads.mariadb.org/, como en mi caso para las pruebas estoy usando Ubuntu ejecuto directamente la instalación del servidor:

sudo apt-get install mariadb-server

Una vez hecha la instalación, vamos a registrar la clave para root y crear la base de datos para las pruebas. Para empezar hacemos login en la cuenta de MySQL root (administrative) usando este comando:
mysql -u root -p
Te preguntará la clave para la cuenta de root de MySQL root cuanto instales el software.
De momento vamos a trabajar con la consola de MySQL directamente, tal y como dije anteriormente que se podía acceder y realizar todas las acciones.

Puesta en marcha básica del servidor


Después de la instalación la base de datos ya queda iniciada automáticamente, y queda funcionando para que al reiniciar el ordenador esta arranque por defecto, algunas opciones de servicio mysql son:
Otras opciones del servicio son: stop|restart|reload|force-reload|status
Por ejemplo, para reiniciar el servidor utilizaríamos:

sudo /etc/init.d/mysql restart

Para ver la configuración y la versión mysql que tenemos instalada:

sudo /etc/init.d/mysql status


Lo que nos saldrá por pantalla será algo así:

 * /usr/bin/mysqladmin  Ver 9.0 Distrib 5.5.44-MariaDB, for debian-linux-gnu on  x86_64
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Server version        5.5.44-MariaDB-1ubuntu0.14.04.1
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /var/run/mysqld/mysqld.sock
Uptime:            4 min 17 sec

Threads: 1  Questions: 82  Slow queries: 0  Opens: 13  Flush tables: 2  Open tables: 39  Queries per second avg: 0.319

Creamos una base de datos de prueba, para comprobar la instalación:

CREATE DATABASE pruebadb;

El comando para eliminar la base de datos sería.

DROP DATABASE pruebadb;


Si hasta aquí todo fue bien, ya podemos empezar con la creación de la base de datos del proyecto.

Creación de la base de datos customerdb y el usuario


Creamos la base de datos customerdb:

CREATE DATABASE customerdb;
Creamos el usuario que vamos a utilizar xulescode y la contraseña, en este caso la misma:

CREATE USER xulescode@localhost IDENTIFIED BY 'xulescode';

Damos todos los privilegios al usuario xulescode sobre las base de datos customerdb:

GRANT ALL PRIVILEGES ON customerdb.* TO xulescode@localhost;

El comando para eliminar la base de datos sería.

DROP DATABASE customerdb;
En este caso, para facilitar las pruebas de creación de tablas y consultas voy a utilizar uno de mis IDEs favoritos Netbeans , como entiendo que no es el más común para este tipo de desarrollos, también puedes hacer lo mismos con estos otros programas, utiliza el que ya conozcas: https://mariadb.com/kb/en/mariadb/phpmyadmin/

Características del editor SQL de Netbeans para Bases de Datos

Algunas de las características del editor Netbeans para bases de datos, son por ejemplo:
  • El soporte que proporciona directamente con la incorporación de drivers para MySQL (lo que nos sirve para MariaDB), y para otras bases de datos como Postgresql o Oracle.
    • "NetBeans IDE provides drivers for the Java DB, MySQL, Oracle, and PostgreSQL database servers so that you can connect to these databases very easily. You can also register any other JDBC driver with the IDE, so that you can explore any database that provides a JDBC driver".
    • Así, de forma fácil y solo añadiendo los datos de tu conexión a la base de datos ya tienes fácilmente tu conexión a la base de datos. Como se puede ver en la imagen de ejemplo

Java editor features in NetBeans IDE
  • Proporciona un explorador de bases de datos como se puede ver en la figura superior, desde aquí tendrás cubiertas las necesidades principales para la creación y manejo de tablas.
  • El editor SQL proporciona ayuda en el código directamente sobre la consulta que estás efectuando, también puedeas cargar un script y ejecutarlo directamente desde aquí.

Para conectar la base de datos que hemos creado simplemente completamos los parámetros que se muestran en la imagen para la conexión al servidor y listo:


Si tienes algún problema o dudas consulta este tutorial: Connecting to a MySQL Database , donde lo explican todo detalladamente.


Hasta aquí el primer post de Learning Project MariaDB Tutorial (1) (MySQL), próximamente en el siguiente post empezaremos con la creación de las tablas en nuestra base de datos.

Espero que te haya sido útil.