lunes, 4 de julio de 2016

instrucciones básicas

  • CREATE DATABASE se utiliza para crear una nueva base de datos vacía.
  • DROP DATABASE se utiliza para eliminar completamente una base de datos existente.
  • CREATE TABLE se utiliza para crear una nueva tabla, donde la información se almacena realmente.
  • ALTER TABLE se utiliza para modificar una tabla ya existente.
  • DROP TABLE se utiliza para eliminar por completo una tabla existente.

Manipulando los datos.

  • SELECT se utiliza cuando quieres leer (o seleccionar) tus datos.
  • INSERT se utiliza cuando quieres añadir (o insertar) nuevos datos.
  • UPDATE se utiliza cuando quieres cambiar (o actualizar) datos existentes.
  • DELETE se utiliza cuando quieres eliminar (o borrar) datos existentes.
  • REPLACE se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya existentes.
  • TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.

caracteristicas de MySQL

  • Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.
  • Soporta gran cantidad de tipos de datos para las columnas.
  • Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).
  • Gran portabilidad entre sistemas.
  • Soporta hasta 32 índices por tabla.
  • Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos.
  • Condición de open source de MySQL hace que la utilización sea gratuita y se puede modificar con total libertad.
  • Se puede descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas actualizaciones.
  • Es una de las herramientas más utilizadas por los programadores orientados a Internet.
  • Infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación.
  • MYSQL, es el manejador de base de datos considerado como el más rápido de Internet.
  • Gran rapidez y facilidad de uso.
  • Infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación.
  • Fácil instalación y configuración.

¿Que es MySQL?

MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos.
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples tablas para almacenar y organizar la información. MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de desarrollo, permitiendo su interactuación con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración en distintos sistemas operativos.
También es muy destacable, la condición de open source de MySQL, que hace que su utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los programadores orientados a Internet.



3 niveles de Normalizacion

Existen 3 niveles de Normalización que deben respetarse para poder decir que nuestra Base de Datos, se encuentra NORMALIZADA, es decir, que cumple con los requisitos naturales para funcionar optimamente y no perjudicar las Performance por mala arquitectura. Estas 3 reglas de Normalización se las conoce como las 3 FORMAS NORMALES.

La Primera Forma Normal Esta primera Forma Normal, nos lleva a no repetir datos en nuestras tablas. Los famosos maestro – detalle, deben aplicarse a la estructura de la tabla. Si nuestra tabla de ventas repite una y otra vez (por cada venta), el nombre, el domicilio y otros datos del Cliente, es que no hemos aplicado esta Normalizaciòn.Si tenemos una tabla clientes, en la tabla ventas, solo debería figurar el código del cliente, para que el resto de los datos se puedan referenciar automáticamente sin problemas y sin duplicar información. Lo mismo ocurriría en una tabla de detalle de ventas, si por cada ítem vendido colocamos el detalle del producto, con su descripción, medidas, etc…Tendríamos un desaprovechamiento de espacio y recursos muy grande. Para ello, tendremos nuestra tabla maestra de Productos y con solo grabar el código de dicho producto en nuestra tabla de ventas, será suficiente.

La Segunda Forma Normal (Si o si debe estar previamente aplicada la Primera Forma Normal) La Segunda Forma Normal nos habla de que cada columna de la tabla debe depender de la clave. Esto significa que todo un registro debe depender únicamente de la clave principal, si tuviéramos alguna columna que se repite a lo largo de todos los registros, dichos datos deberían atomizarse en una nueva tabla. Veamos un ejemplo

 Venta id             Teñid    Fecha Venta      Cliente Venta    Producto Id        Cantidad
1             1             01/12/2007        2             2334      10
1             2              01/12/2007        2             3333      2
1             3              01/12/2007        2             66643    34
1             4              01/12/2007        2             21           3
2              1            02/12/2007        5             3566      6
Ahí tenemos un claro problema!!!Acaso no se busca NO REPETIR DATOS ?Si toda una venta tendrá el mismo número de Cliente y la misma Fecha…Por que no crear una Tabla de MAESTRO DE VENTAS y que contenga esos 2 datos ?Es evidente que la columna Cliente Venta y Fecha Venta se repetirán por cada venta realizada. Es por ello que proponemos el siguiente esquema

 Venta id             Producto Id        Cantidad
1             1             2334      10
1             2             3333      2
1             3             66643    34
1             4             21           3
2              1            3566      6
Y ahora nuestra nueva tabla maestra

Venta id              Fecha Venta      Cliente Venta
1             01/12/2007         2
2             02/12/2007         5
Entonces, nuestra 2da Forma Normal nos habla de que cada columna de una tabla debe depender de toda la clave y no constituir un dato único para cada grupo de registros.

La Tercera Forma Normal En realidad si nos guiamos en el ejemplo de esta nota, ya no quedaría normalización por aplicar y podríamos decir que nuestro ejemplo cumple con las 3 formas normales, ya que la 3ra Forma Normal nos habla de que:

Ninguna Columna puede depender de una columna que no tenga una clave
No puede haber datos derivados
En el 2do ejemplo hemos descubierto campos que dependían de la clave principal (Venta id) y que podrian incluirse en una tabla maestra. Pero supongamos un ejemplo donde ciertas columnas no dependen de la clave principal y si dependen de una columna de nuestra tabla.

 VentaID              ItemID ProductoID        Cantidad             Descripcion        Medida                Proveedor
 1            1             3455      12           Impresora HP LJ8000     122cm   1
 1            2             2455      34           Scanner HP A3555           33cm     1
 2            1             5444      21           Mouse HP Wireless        –             1
Esto es muy normal encontrar en bases mal normalizadas. Vemos que los campos DESCRIPCION, MEDIDA y PROVEEDOR no dependen de VENTAID y es por ello que no deberían estar dentro de la tabla de detalle de ventas, ya que dependen de PRODUCTOID.Aqui no se trata ya de eliminar grupos repetidos de datos (1ra Forma Normal) sino que ante la inclusión de una clave perteneciente a otra tabla, cualquier campo que sea subordinado de dicha clave debe estar en otra tabla y no en nuestra tabla detalle.


Conclusión Finalmente si tomamos en cuenta que una tabla de detalle de venta (ítem x ítem) puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la performance.

5 maneja dores de una base datos

Maneja dores de base de datos
PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PosgreSQL1 , similar a la BSD o la MIT.
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 apoyada por organizaciones comerciales. Dicha comunidad es denominada el PG
VENTAJAS
Amplia mente popular - Ideal para tecnologías Web.
Fácil de Administrar.
Su sintaxis SQL es estándar y fácil de aprender.
Footprint bajo de memoria, bastante poderoso con  una configuración adecuada.
Multiplataforma.
Capacidades de replicación de datos.
Soporte empresarial disponible.
DESVENTAJAS
Sin experiencia, configurar llega a ser un caos.
Es fácil de vulnerar sin protección adecuada.
El motor MyISAM es instalado por defecto y carece de capacidades de integridad relacional.
InnoDB genera mucho footprint en memoria al indizar.
El toolset empresarial tiene un costo adicional por suscripción anual.
Realizar revisiones llegar a ser una labor manual y tediosa para el DBA.
Reducida cantidad de tipos de datos.
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo1 2 , y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
Ventajas:

MySQL software es Open Source
Velocidad   al realizar las operaciones, lo que le hace uno de los gestores con mejor      rendimiento.
Bajo      costo en requerimientos para la elaboración de bases de datos, ya que      debido a su bajo consumo puede ser ejecutado en una máquina con escasos      recursos sin ningún problema.
Facilidad      de configuración e instalación.
Soporta gran variedad de Sistemas Operativos
Baja      probabilidad de corromper datos, incluso si los errores no se producen en      el propio gestor, sino en el sistema en el que está.
Su      conectividad, velocidad, y seguridad hacen de MySQL Server altamente      apropiado para acceder bases de datos en Internet
El      software MySQL usa la licencia GPL
Desventajas.

Un gran porcentaje de las utilidades de MySQL no están      documentadas.
No es intuitivo, como otros programas (ACCESS).

INFORMIX
Familia de DBMS de Informix Software, Inc., Menlo Park, CA, que incluye un DBMS relacional basado en SQL, un lenguaje de cuarta generación y juegos de herramientas para la inclusión del SQL en programas de aplicación.
*Ventajas
1.-Oracle es el motor de base de datos relacional más usado a nivel mundial.
2.-Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
3.-Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
4.-Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.
5.-El software del servidor puede ejecutarse en multitud de sistemas operativos.
6.-Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.
7.-¿Qué hay de los objetos de Oracle? Este sistema ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. Des afortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencial, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos.
8.-Oracle es la base de datos con más orientación hacía INTERNET
9.-Un aceptable soporte
*Desventajas
1.-Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
2.-El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperante mente lento.
3.-También es elevado el coste de la formación, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración

Oracle
Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hacen que sólo se vea en empresas muy grandes y multinacionales, por norma general.
Ventajas
1.-Oracle es el motor de base de datos relacional más usado a nivel mundial.
2.-Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
3.-Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
4.-Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.
5.-El software del servidor puede ejecutarse en multitud de sistemas operativos.
6.-Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.
7.-¿Qué hay de los objetos de Oracle? Este sistema ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. Desafortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencial, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos.
8.-Oracle es la base de datos con mas orientación hacía INTERNET
9.-Un aceptable soporte
Desventajas
1.-Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
2.-El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.
3.-También es elevado el coste de la formación, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración. una herramienta cliente/servidor para la gestión de Bases de Datos.
InterBase
Es un sistema manejador (administrador, gestor) de bases de datos relacional que utiliza a SQL como lenguaje de definición y manipulación de datos
Ventajas
1.-InterBase destaca del resto de los sistemas de bases de datos por su arquitectura única, basada en versiones. Esto quiere decir que, a pesar de tratarse del sistema más barato, es también el que ofrece un mejor acceso concurrente a los datos que administra. Si necesitamos una vista coherente de la base de datos, Oracle, SQL Server y DB2 bloquean la información que leen e impiden su actualización durante la duración de la transacción de lectura. Esto no sucede en InterBase porque la escritura genera una nueva versión del registro, sin perder la coherencia de la información. Una agradable consecuencia es que podemos realizar copias de seguridad completas “en caliente”, sin interrumpir el funcionamiento del sistema.
2.-Otro de los puntos fuertes de InterBase es su cercanía al estándar de SQL, sobre todo en la sintaxis de procedimientos almacenados y triggers.
3.-Es sumamente fácil programar una base de datos activa en InterBase y posteriormente adaptar la definición para Oracle.
4.-El lenguaje de procedimientos y triggers es muy potente, e incluso supera a Oracle en la facilidad para expresar cláusulas de verificación check que involucren a varias tablas, y en que los triggers no están sujetos a los problemas ocasionados en Oracle por las denominadas “tablas mutantes”.

Desventajas

1.-Los problemas de InterBase se deben a la misma causa que sus ventajas: su arquitectura única. Es muy sencillo realizar particiones en otros sistemas (Oracle, DB2, SQL Server, Informix) para aumentar el rendimiento físico de una base de datos, pero este concepto es difícil de adaptar para InterBase. De todos modos, el particionamiento por software no es sino un sustituto un poco más flexible de ciertas técnicas RAID para la mejora del rendimiento, e InterBase sí permite que una base de datos se expanda a lo largo de varios discos, aunque no controla qué tablas van a parar a qué dispositivo.








Migración de una base da datos

Migración de una base de datos

El proceso de la migración puede ser bastante complejo y, como hay tantas bases de datos distintas, difícil de dar una receta que funcione en todos los casos. Además, aparte de la dificultad de transferir la información entre los dos sistemas gestores de base de datos, también nos influirá mucho en la complejidad del problema el tipo de los datos de las tablas que estamos utilizando. Por ejemplo, las fechas, los campos numéricos con decimales o los boléanos pueden dar problemas al pasar de un sistema a otro porque pueden almacenarse de maneras distintas o, en el caso de los números, con una precisión distinta.



ELEMENTOS DE UNA BASE DATOS

Elementos de una base de datos
Los principales elementos de una base de datos son los siguientes:
Tablas – Es el elemento principal de la base de datos, ya que allí se registra la información que se quiere gestionar. Está compuesta, como si se tratase de una planilla de cálculo, por filas y columnas. Cada archivo de una base de datos puede contener tantas tablas como se requiera.
Formularios – La información dentro de la base de datos puede introducirse directamente en las tablas, pero también a través de un formulario – lo que resulta más cómodo y práctico –. Loa formularios hacen que sea más fácil arrastrar los datos.
Consultas – es el elemento que se emplea para seleccionar una determinada información del interior de la base de datos. La consulta, de esta manera, permite establecer criterios de búsqueda para que Access seleccione, dentro de las tablas, aquellos datos que se quieren conocer.

Informas – Se utilizan para que la información aparezca ordenada y bien presentada en el momento de la impresión del documento. Gracias a los informes, el usuario puede seleccionar que información, de la que se registró en las tablas de una base de datos, desea imprimir y con qué formato.