Nos hemos trasladado a www.codigoxules.org , consulta la actualización de esta entrada en http://codigoxules.org/bases-de-datos/
En este apartado iremos haciendo pruebas con diferentes bases de datos tanto relacionales como NOSql, la idea es partir de un esquema básico para todas e ir desarrollando la estructura en cada base de datos, para conocer su sintaxis sql y las características principales de cada una.Para todos los ejemplos partiremos de la estructura inicial que se indica a continuación: Learning Project Database.
Índice
Learning Project Database
Este un proyecto de aprendizaje que solo busca hacer pruebas y si alguién le sirve para iniciarse o hacer pruebas bienvenido. En este caso vamos a crear una serie de tablas en relación al proyecto que se pide a continuación para poder aprender y hacer pruebas con diferentes bases de datos con ejemplos.
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í.
|
TaLa 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.
|
Esquema de la base de datos
Este es el esquema real final de la base de datos que vamos a crear, donde se puede ver el tipo de datos utilizado, los nombres de las claves uilizadas,...Bases de datos Relacionales
A continuación según se vayan desarrollando entradas en el blog para cada base de datos se irán incluyendo en este apartado.
Postgresql
PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
- Learning project Postgresql
- Learning Project Postgresql (1): Explicación: en este caso vamos a crear una serie de tablas en relación al proyecto que se pide a continuación para poder aprender y hacer pruebas con Postgresql con ejemplos.
- Learning Project Postgresql (2): Creación de las tablas en SQL: aquí vamos a crear las tablas en nuestra base de datos, para posteriormente poder empezar con las consultas.
- Learning Project Postgresql (3): Población de datos y consultas básicas: para hacer las consultas básicas, se proporciona script con unos datos básicos.
- Documentación:
- PostgreSQL España : Bienvenidos a este portal sobre PostgreSQL en español. Estas páginas pretenden ser un punto de partida y encuentro para aquellos usuarios que necesiten o ...
- PostgreSQL: The world's most advanced open source: PostgreSQL Core Distribution. The core of the PostgreSQL object-relational database management system is available in several source and binary formats.
- PostgreSQL JDBC Driver : Type 4 JDBC driver for PostgreSQL
- Wikipedia PostgreSQL
MariaDB
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.
- Learning project Mariadb:
- Learning Project Mariadb Tutorial (1) (Mysql): Preparando el entorno: en esta primera aproximación explicamos el proyecto y hacemos la preparación del entorno para su desarollo.
- Learning Project Mariadb Tutorial (2): Creación de las tablas en SQL: creación de las tablas directamente en la base de datos con SQL, explicando el SQL utilizado.
- Documentación:
- MariaDB: Database server developed by some of the original authors of MySQL, offers drop-in replacement functionality.
- Wikipedia Mariadb: MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL ...
- Guía de Mariadb para principiantes: Si estas empezando con Mariadb y buscas documentación en español este es un buen comienzo.
- Curiosidades:
- Wikipedia ha pasado de usar Mysql a usar MariaDB como motor para su base de datos.
No hay comentarios :
Publicar un comentario