jueves, 24 de noviembre de 2016

LENGUAJE DE DEFINICIÓN DE DATOS



Un lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

Un Data Definition Language o Lenguaje de descripción de datos ( DDL ) es un lenguaje de programación para definir estructuras de datos . El término DDL fue introducido por primera vez en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos. Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información, como los esquemas XML .




Resultado de imagen para LENGUAJE DE DEFINICIÓN DE DATOS



SISTEMA DE GESTIÓN DE BASE DE DATOS

Los sistemas de gestión de base de datos con soporte SQL más utilizados son, por orden alfabético:



DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestión de base de datos.
DB2 versión 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas relacionales.
La compatibilidad implementada en la última versión, hace posible la importación de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2.
La automatización es una de sus características más importantes, ya que permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentación y servidores.
La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automática e incluso adelantarse a su aparición, configurando automáticamente el sistema y gestión de los valores.
Resultado de imagen para db2 icon
DB2 Express-C es la versión gratuita soportada por la comunidad de DB2 que permite desarrollar, implementar y distribuir aplicaciones que no usen las características avanzadas de las versiones comerciales de DB2. Esta versión de DB2 puede ser concebida como el núcleo de DB2, las diferentes ediciones incluyen las características de Express-C más funcionalidades específicas.
DB2 para Linux, UNIX y Windows permite la automatización de tareas, reducción de las necesidades de consumo de alimentación, un alto rendimiento que reduce los servidores necesarios para ejecutar la base de datos, escalabilidad sencilla y alta disponibilidad en su arquitectura de discos de datos y otras soluciones que facilitan la colaboración entre profesionales.


Con aplicaciones que se despliegan y desarrollan de forma sencilla incluso si han sido creadas para utilizarse con otros software de bases de datos.



Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. La versión 2.5.6, la más reciente de la serie 2.5, fue liberada el 04 de julio de 2016. El 19 de abril de 2016 fue liberada la versión 3.0.



Resultado de imagen para firebird sql logo






HSQLDB (Hyperthreaded Structured Query Language Database) es un sistema gestor de bases de datos libre escrito en Java. La suite ofimática OpenOffice.org lo incluye desde su versión 2.0 para dar soporte a la aplicación Base.


HSQLDB está basado en HypersonicSQL, un proyecto de Thomas Mueller estaba abandonado en la actualidad. Ahora está en la versión 2.3.4

Resultado de imagen para HSQLDB


Informix es una familia de productos RDBMS de IBM, adquirida en 2001 a una compañía (también llamada Informix o Informix Software) cuyos orígenes se remontan a 1980.

Resultado de imagen para informix logo



Interbase es un sistema de gestión de bases de datos relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear

Imagen relacionada


MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Está desarrollado por Michael (Monty) Widenius(fundador de MySQL) y 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. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.Este SGBD surge a raíz de la compra de Sun Microsystems -compañía que había comprado previamente MySQL AB- por parte de Oracle. MariaDB es un fork directo de MySQL que asegura que permanecerá una versión de este producto con licencia GPL. Monty decidió crear esta variante porque estaba convencido de que el único interés de Oracle en MySQL era reducir la competencia que MySQL daba al mayor vendedor de bases de datos relacionales del mundo que es Oracle.
Resultado de imagen para MariaDB


Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).

 Resultado de imagen para Microsoft SQL Server

MySQL Workbench es una herramienta visual de diseño de bases de datos que integra desarrollo de software, Administración de bases de datos, diseño de bases de datos, creación y mantenimiento para el sistema de base de datos MySQL. Es el sucesor de DBDesigner 4 de fabFORCE.net, y reemplaza el anterior conjunto de software, MySQL GUI Tools Bundle

Resultado de imagen para mysql workbench logo

Oracle Corporation es una compañía de software que desarrolla bases de datos (Oracle Database) y sistemas de gestión de bases de datos.
Cuenta además, con herramientas propias de desarrollo para realizar aplicaciones, como Oracle DesignerOracle JDeveloper y Oracle Developer Suite.


Resultado de imagen para oracle corporation logo

PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PostgreSQL,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 o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
Imagen relacionada


PervasiveSQLMotor de base de datos incrustable que sustenta la integridad de los datos, el alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad.

Resultado de imagen para PervasiveSQL

SQLite (/ˌɛskjuːɛlˈlt/[3] or /ˈskwəl.lt/[4]) is a relational database management system contained in a C programming library. In contrast to many other database management systems, SQLite is not a client–server database engine. Rather, it is embedded into the end program.
SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity.[5]
SQLite is a popular choice as embedded database software for local/client storage in application software such as web browsers. It is arguably the most widely deployed database engine, as it is used today by several widespread browsers, operating systems, and embedded systems(such as mobile phones), among others.[6] SQLite has bindings to many programming languages.

Resultado de imagen para sqlite logo


Sybase ASE. Es la abreviatura de "Adaptive Server Enterprise", el software de base de datos relacional fabricado y vendido por Sybase Inc. ASE es un software versátil, de clase empresarial RDBMS que es especialmente bueno en el manejo de cargas de trabajo OLTPASE, es utilizado de forma intensiva en el mundo financiero (bancos, bolsas de valores, compañías de seguros), en el comercio electrónico, así como en el área de prácticamente todos los demás.
La más reciente versión de ASE es la 15.7 (publicado en septiembre del 2011); la versión anterior es la versión 15.5. ASE 15.7 también se conoce como "el lanzamiento de SAP", ya que esta es la versión de ASE que SAP está utilizando para apoyar el paquete de ERP Business Suite en la parte superior de Sybase ASE.
Sybase ASE es un producto patentado, un software comercial. Sin embargo, las versiones libres de ASE también están disponibles.

Resultado de imagen para sybase asa

LENGUAJE INTERACTIVO DE MANIPULACION DE DATOS

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. 
El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1CODASYL u otras.

Resultado de imagen para Lenguaje de manipulación de datos referencias


Resultado de imagen para Lenguaje de manipulación de datos referencias



  • Elementos del lenguaje de manipulación de datos.
  • Select.
  • Insert.
  • Delete.
  • Update.
  • Clasificación de los DML.

Select
La sintaxis básica de select es la siguiente utilizando el estándar de SQL:
 select columna from tabla;
donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla por el nombre de la tabla que contiene el campo mencionado.

Insert

La estructura básica para la sentencia insert utilizando el estándar de SQL es la siguiente:
 insert into usuario (nombre, apellidos, edad, carrera) values ("Martín", "Bastida Godínez", "23", "Ingeniería en TI");
Tomando como ejemplo si se tuviera una tabla llamada usuarios con los campos de tipo cadena de caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se encuentran en después de la palabra values, los valores se insertan en el orden correspondiente a como se hizo la llamada de los campos, los valores van separados por comas, las comillas dobles indican que se está insertando datos de tipo cadena de caracteres.

Delete

Para eliminar los registros de una tabla usamos el comando "delete":
delete from usuarios;
La ejecución del comando indicado en la línea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para ello utilizamos el comando "delete" junto con la clausula "where" con la cual establecemos la condición que deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de usuario es 'Martín':
delete from usuarios where nombre='Martín';
Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple con la condición especificada, no se borrarán registros, pues no encontró registros con ese dato.

Update

Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por "RealMadrid":
update usuarios set clave='RealMadrid';
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo valor.
El cambio afectará a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de selección con "where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado 'Martín', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte solamente a este registro:
update usuarios set clave='Boca'
 where nombre='Martín';
Si no encuentra registros que cumplan con la condición del "where", ningún registro es afectado.
Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la actualización afectará a todos los registros.
También se puede actualizar varios campos en una sola instrucción:
update usuario set nombre='MarceloDuarte', clave='Marce'
 where nombre='Marcelo';
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor.

Clasificación de los DML

Se clasifican en dos grandes grupos de:
Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final.
En los lenguajes no procedimentales el usuario describe la información deseada sin un procedimiento específico para obtener esa información.

Resultado de imagen para LENGUAJE INTERACTIVO DE MANIPULACION DE DATOS


CARACTERISTICAS

SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.4
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.
Resultado de imagen para Características generales de SQL


ORÍGENES Y EVOLUCION

Los orígenes de SQL están ligados a las bases de datos de las pc o móvil aun a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados.1 Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que más tarde fue ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un producto comercial.
El SEQUEL terminó siendo el predecesor de SQL, que es una versión evolucionada del primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y fue por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por ISO.
Sin embargo, este primer estándar no cubría todas las necesidades de los desarrolladores e incluía funcionalidades de definición de almacenamiento que se consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y revisado de SQL llamado "SQL-92" o "SQL2".
En la actualidad SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.

Resultado de imagen para origenes y evolucion de sql



DEFINICIÓN DE SQL

SQL

 (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.

Un ejemplo

Tomemos como ejemplo una aplicación muy simple de gestión de pedidos en un supermercado virtual. El esquema relacional sería el siguiente.
Resultado de imagen para definicion de sql en base de datos