viernes, 12 de marzo de 2010

MAPA SQL


viernes, 5 de marzo de 2010

SQL Sintaxis

En esta página, enumeramos la sintaxis SQL para cada uno de los comandos SQL en esta guía de referencia. Para obtener explicaciones detalladas para cada sintaxis SQL, por favor diríjase a la sección individual haciendo clic en la palabra clave. El propósito de esta página es brindar una página de referencia rápida para la sintaxis SQL. Le sugerimos que agregue esta página a favoritos ahora presionando Control-D para que pueda tener esta página de sintaxis a mano. Select SELECT "nom de colonne" FROM "nombre_tabla" Distinct SELECT DISTINCT "nombre_columna" FROM "nombre_tabla" Where SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condition" And/Or SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición simple" {[ANDOR] "condición simple"}+ In SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" IN ('valor1', 'valor2', ...) Between SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" BETWEEN 'valor1' AND 'valor2' Like SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" LIKE {patrón} Order By SELECT "nombre_columna" FROM "nombre_tabla" [WHERE "condición"] ORDER BY "nombre_columna" [ASC, DESC] Count SELECT COUNT("nombre_columna") FROM "nombre_tabla" Group By SELECT "nombre_columna 1", SUM("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" Having SELECT "nombre_columna 1", SUM("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" HAVING (condición de función aritmética) Create Table CREATE TABLE "nombre_tabla" ("columna 1" "tipo_de_datos_para_columna_1", "columna 2" "tipo_de_datos_para_columna_2", ... ) Drop Table DROP TABLE "nombre_tabla" Truncate Table TRUNCATE TABLE "nombre_tabla" Insert Into INSERT INTO "nombre_tabla" ("colonne 1", "colonne 2", ...) valorS ("valor 1", "valor 2", ...) Update UPDATE "nombre_tabla" SET "colonne 1" = [nuevo valor] WHERE {condition} Delete From DELETE FROM "nombre_tabla" WHERE {condición}

LENGUAJE DE TECNOLOGIA RELACIONAL

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o tupla), y columnas (también llamadas campos). Descripción En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información. Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo. Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver. El lenguaje más común para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Esquema Un esquema es la definición de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relación y qué tipo de información podrá ser almacenada dentro de ella; en otras palabras, el esquema son los metadatos de la relación. Todo esquema constará de: · Nombre de la relación (su identificador). · Nombre de los atributos (o campos) de la relación y sus dominios; el dominio de un atributo o campo define los valores permitidos para el mismo, es equivalente al tipo de dato por ejemplo character, integer, date, string, etc. Instancias Una instancia de manera formal es la aplicación de un esquema a un conjunto finito de datos. En palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado, pero también es válido referirnos a una instancia cuando trabajamos o mostramos únicamente un subconjunto de la información contenida en una relación o tabla, como por ejemplo: · Ciertos caracteres y números (una sola columna de una sola fila). · Algunas o todas las filas con todas o algunas columnas · Cada fila es una tupla. El número de filas es llamado cardinalidad. · El número de columnas es llamado aridad o grado. Base de datos relacional Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional. Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del inglés relational database management system). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima. Manejadores de base de datos relacionales Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o RDBMS (del inglés Relational Database Management System). Entre los gestores o manejadores actuales más populares encontramos: MySQL, PostgreSQL, Oracle, DB2 y Microsoft SQL Server. Ventajas · Provee herramientas que garantizan evitar la duplicidad de registros. · Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes. · Favorece la normalización por ser más comprensible y aplicable. · Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o llaves. · Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes. · Favorece la normalización por ser más comprensible y aplicable. Desventajas · Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica. · No se manipulan de forma manejable los bloques de texto como tipo de dato. Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.

DML

DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio, es decir, añadir, consultar, borrar o actualizar. En SQL los comandos SELECT, INSERT, UPDATE y DELETE son comandos DML Otras ódenes como COMMIT, START TRANSACTION o ROLLBACK están en el límite de lo que podemos considerar órdenes DML de SQL puesto que no inciden en la manpilación o consulta de datos pero sí en el proceso en que esto se realiza. Por cierto que lo de "START TRANSACTION" no es estándar y depende de la implementación de SQL (en Sybase si no recuerdo mal, una transacción se modela poniendo el AUTOCOMMIT a false y tras hacer el COMMIT o ROLLBACK, a true). Desencadenadores DMLUn desencadenador DML es una acción programada para ejecutarse cuando se produce un evento DML (lenguaje de manipulación de datos) en el servidor de base de datos. Los eventos DML incluyen instrucciones UPDATE, INSERT o DELETE emitidas en una tabla o una vista. Los desencadenadores DML se utilizan para exigir reglas de negocios cuando se modifican los datos y para ampliar la lógica de comprobación de integridad de las restricciones, valores predeterminados y reglas de Microsoft SQL Server. Los temas de esta sección proporcionan la información necesaria para comprender, diseñar e implementar desencadenadores DML. Descripción de los desencadenadores DML Explica los conceptos de los desencadenadores DML e incluye descripciones y ejemplos del momento en que se implementan estos desencadenadores. Diseñar desencadenadores DML Se proporcionan directrices, reglas y restricciones que se deben tener en cuenta para diseñar desencadenadores DML. Implementar desencadenadores DML Se describen los procedimientos para crear, modificar o eliminar desencadenadores DML. Descripción de los desencadenadores DML Microsoft SQL Server proporciona dos mecanismos principales para hacer cumplir las reglas de negocios y la integridad de los datos: restricciones y desencadenadores. Un desencadenador es un tipo especial de procedimiento almacenado que se inicia automáticamente cuando se ejecuta un evento de lenguaje. SQL Server incluye tres tipos generales de desencadenadores: DML, DDL y de inicio de sesión. Los desencadenadores DDL se invocan cuando tiene lugar un evento de lenguaje de definición de datos (DDL) en el servidor o la base de datos.Se explican con mayor detalle en Desencadenadores DDL. Los desencadenadores de inicio de sesión activan procedimientos almacenados en respuesta a un evento LOGON. Este evento se genera cuando se establece una sesión de usuario con una instancia de SQL Server. Para obtener más información, vea Desencadenadores logon. Los desencadenadores DML se invocan cuando un evento de lenguaje de manipulación de datos (DML) tiene lugar en la base de datos. Los eventos DML incluyen instrucciones INSERT, UPDATE o DELETE que modifican datos en una tabla o vista especificada. Un desencadenador DML puede consultar otras tablas e incluir instrucciones Transact-SQL complejas. El desencadenador y la instrucción que lo activa se tratan como una sola transacción, que puede revertirse desde el desencadenador. Si se detecta un error grave (por ejemplo, no hay suficiente espacio en disco), se revierte automáticamente toda la transacción. Los desencadenadores DML tienen varias utilidades: Pueden realizar cambios en cascada mediante tablas relacionadas de la base de datos; sin embargo, estos cambios pueden ejecutarse de manera más eficaz mediante restricciones de integridad referencial en cascada. Pueden proteger contra operaciones INSERT, UPDATE y DELETE incorrectas o dañinas, y exigir otras restricciones que sean más complejas que las definidas con restricciones CHECK. A diferencia de éstas, los desencadenadores DML pueden hacer referencia a columnas de otras tablas. Por ejemplo, un desencadenador puede utilizar una instrucción SELECT de otra tabla para comparar con los datos insertados o actualizados y para realizar acciones adicionales, como modificar los datos o mostrar un mensaje de error definido por el usuario. Pueden evaluar el estado de una tabla antes y después de realizar una modificación de datos y actuar en función de esa diferencia. Varios desencadenadores DML del mismo tipo (INSERT, UPDATE o DELETE) en una tabla permiten realizar distintas acciones en respuesta a una misma instrucción de modificación. Diseñar desencadenadores DML En esta sección se explican los factores que se deben tener en cuenta al diseñar un desencadenador DML. Tema Descripción Directrices de planeamiento del desencadenador DML Explica las distintas formas en que se pueden diseñar desencadenadores AFTER y desencadenadores INSTEAD OF. Especificar cuándo se activa un desencadenador DML Ofrece ejemplos que ilustran las diferencias de comportamiento de activación entre los desencadenadores AFTER e INSTEAD OF. Ejecución de desencadenadores DML Explica cómo se ejecutan los desencadenadores AFTER e INSTEAD OF una vez activados. Diseñar desencadenadores INSTEAD OF Describe directrices de diseño únicas para desencadenadores INSTEAD OF. Administrar la seguridad de los desencadenadores Describe cómo se puede ejecutar el código de desencadenador con privilegios concentrados y cómo reducir esta amenaza. Implementar desencadenadores DML Antes de crear un desencadenador DML, tenga en cuenta que: La instrucción CREATE TRIGGER debe ser la primera del lote. Las demás instrucciones del lote se interpretan como parte de la definición de la instrucción CREATE TRIGGER. De forma predeterminada, el permiso para crear un desencadenador DML corresponde al propietario de la tabla, que no puede transferirlo a otros usuarios. Los desencadenadores DML son objetos de base de datos y sus nombres deben ajustarse a las reglas definidas para los identificadores. Sólo se pueden crear desencadenadores DML en la base de datos actual, aunque un desencadenador DML puede hacer referencia a objetos que se encuentren fuera de esta base de datos. No es posible crear un desencadenador DML en una tabla temporal o del sistema, aunque los desencadenadores DML pueden hacer referencia a tablas temporales. No se debe hacer referencia a las tablas del sistema; en su lugar, utilice las vistas de esquema de información. No se puede definir desencadenadores INSTEAD OF DELETE o INSTEAD OF UPDATE en una tabla con una clave externa definida con una acción DELETE o UPDATE. Aunque una instrucción TRUNCATE TABLE sea como una instrucción DELETE sin la cláusula WHERE (elimina todas las filas), no provoca la activación de los desencadenadores DELETE, porque es una instrucción que no se registra. La instrucción WRITETEXT no provoca la activación de los desencadenadores INSERT ni UPDATE. Importante: La capacidad de devolver conjuntos de resultados desde desencadenadores se eliminará en una versión posterior de SQL Server. Los desencadenadores que devuelven conjuntos de resultados pueden provocar un comportamiento inesperado en aplicaciones que no estén diseñadas para utilizarlos. Evite la devolución de conjuntos de resultados desde desencadenadores en los nuevos trabajos de desarrollo y piense en modificar las aplicaciones que la usan actualmente. Para evitar que los desencadenadores devuelvan conjuntos de resultados en SQL Server, asigne el valor 1 a la opción disallow results from triggers (opción). El valor predeterminado de esta opción será 1 en una versión futura de SQL Server. Cuando cree un desencadenador DML, especifique: El nombre. La tabla en la que se define el desencadenador. El momento de activar el desencadenador. Las instrucciones de modificación de datos que activarán el desencadenador. Son opciones válidas: INSERT, UPDATE o DELETE. Varias instrucciones de modificación de datos pueden activar el mismo desencadenador. Por ejemplo, se puede activar un desencadenador mediante instrucciones INSERT y UPDATE. Las instrucciones de programación que realizan la acción desencadenadora. Varios desencadenadores DML Una tabla puede tener varios desencadenadores AFTER de un tipo determinado, siempre que tengan nombres distintos. Todo desencadenador puede llevar a cabo numerosas funciones. Sin embargo, sólo se puede aplicar a una tabla. Por otra parte, un único desencadenador puede aplicarse a cualquier subconjunto de las tres acciones del usuario (UPDATE, INSERT y DELETE). Una tabla sólo puede tener un desencadenador INSTEAD OF de un tipo determinado. Permisos y propiedad de un desencadenador Los desencadenadores se crean en el esquema de la tabla o vista en la que están definidos. Por ejemplo, si el desencadenador Trigger1 se crea en una tabla HumanResources.Employee, el nombre completo del esquema del desencadenador es HumanResources.Trigger1. De forma predeterminada, los permisos CREATE TRIGGER son del propietario de la tabla en la que se ha definido el desencadenador, de la función de servidor fija sysadmin y de los miembros de funciones fijas de base de datos db_owner y db_ddladmin, y no se pueden transferir. Al crear un desencadenador INSTEAD OF en una vista, la cadena de propiedad se rompe si el propietario de la vista no es también propietario de las tablas base a las que hacen referencia tanto la vista como el desencadenador. Para cualquier tabla base que no pertenezca al propietario de la vista, el propietario de la tabla deberá conceder los permisos necesarios por separado, a fin de que cualquier usuario pueda leer o actualizar la vista. Si ésta y las tablas base subyacentes pertenecen al mismo usuario, será necesario conceder permisos a otros usuarios sólo para la vista, no para las tablas base individuales. Para obtener más información, vea Cadenas de propiedad. Para crear un desencadenador CREATE TRIGGER (Transact-SQL)

DLL

DLL
Dll - Dynamic Link Library ("Biblioteca de vínculos dinámicos" es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras Dll. Los desarrolladores utilizan las Dll para poder reciclar el código y aislar las diferentes tareas. Las Dll no pueden ejecutarse directamente, es necesario llamarlas desde un código externo. Las Dll suelen confundir a los usuarios novatos (a la hora de recibir el típico error de algún programa en el "módulo xxxxx.DLL" y también pueden ser la pesadilla del programador, vea más información en
DEFINICIÓN Y EXPLICACIÓN DE UN ARCHIVO .DLL
La información de este artículo está basada en Q87934 y se aplica a: · Microsoft Windows 98 SE (Second Edition) · Microsoft Windows 98 · Microsoft Windows 95 · Microsoft Windows 3.0, 3.1, 3.x · Microsoft Windows Millennium Edition (Windows ME)
SUMARIO
Una Biblioteca de Vínculos Dinámicos (DLL) file es un archivo ejecutable que permite compartir código y otros recursos para realizar ciertas tareas. Las Dll de Windows permiten que las aplicaciones puedan operar en el entorno de Windows.
MÁS INFORMACIÓN
Normalmente las Bibliotecas de Vínculos Dinámicos aparecen con la extención ".dll"; sin embargo, ellas también pueden tener la extensión ".exe" u otra extensión. Por ejemplo, Shell.dll contiene las rutinas de arrastrar y soltar de OLE - ("Object Linking and Embedding" - Incrustación y Vinculación de Objetos) que pueden ser utilizadas por Windows y otros programas. Kernel.exe, User.exe y Gdi.exe son un ejemplo de las DLLs con la extensión .exe. Estos archivos contienen código, datos o rutinas que se ejecutan en Windows. Por ejemplo, ino de estos archivos contienen la función "CreateWindow" que se utiliza cuando un programa quiere crear una nueva ventana en la pantalla. En Windows un controlador que instalamos es también una DLL. Un programa puede abrir, habilitar, consultar, deshabilitar y cerrar un controlador basado en las instrucciones escritas en un archivo .DLL. Las DLL se pueden encontrar en el directorio de Windows, en el directorio Windows\System o en el directorio "Archivos de programa". Si al iniciar un programa una de sus Dll falta o está dañada podemos recibir un mensaje de error como éste: "No se encuentra xyz.dll". Si la Dll de este programa está caduca o no corresponde al estándar podemos recibir el error "Llamada al vínculo dinámico no definido" ("Call to undefined dynalink"). En estos casos debemos obtener la Dll apropiada y colocarla en el directorio que corresponda.
COMO DETERMINAR EL ORIGEN DE UNA DLL:
Para determinar el número de versión, nombre del fabricante u otra información sobre un archivo: 1. Pulse Inicio, Buscar y pulse Archivos o carpetas. 2. Escriba el nombre del archivo que busca, por ejemplo shell32.dll, y seleccione el disco local donde quiere buscarlo y pulse "Buscar ahora". 3. Pulse con el botón secundario en los archivos encontrados, pulse Propiedades y pulse la pestaña Versión. Si el archivo es de Microsoft, extraiga una nueva copia del archivo. Para la información cómo extraer archivos de Windows consulte este artículo de la KB de Microsoft: Artículo: Q129605 Título : How to Extract Original Compressed Windows Files Si el nombre del fabricante que aparece en la pestaña "Versión" no es Microsoft contacte al fabricante que corresponda para la asistencia.
 
frases