Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Operaciones sobre bases de datos (página 2)



Partes: 1, 2, 3

  • a. Llaves primarias

  • b. Reglas de integridad

  • c. Llaves foráneas e integridad
    referencial

  • 4. Diseño de Bases de Datos

  • a. Facilidad de acceso a la
    información

  • b. Facilidad de extraer la
    información

  • c. Definición de Datos

  • i. Tablas base

  • ii. Vistas

  • iii. Criterios para la creación de
    índices

  • d. Manipulación de datos
    (Concepto)

  • i. Consultas Simples

  • ii. Consultas agregadas

  • iii. Actualizaciones

  • e. Diccionario de
    Datos (Importantísimo)

  • 5. El
    lenguaje SQL

  • a. Create

  • 6. Muchos comandos
    SQL
    mas…

  • a. Permisos de acceso

  • b. Transacciones

  • Identificación de los
    recursos

    HUMANOS

    • Tutor Docente del Pre – Palestina

    • Ejecutor: Estudiante de Tecnología en
      Computación e Informática del
      Programa
      Regional de Enseñanza Palestina

    • Personal Docente del Ãrea de
      Informática

    • Personal especializado en Bases de Datos

    • Personal especializado en Programación

    MATERIALES

    • Computadora

    • Internet

    • Libros de Bases de Datos

    • Libros de Oracle

    • Programa Visual Studio

    • Programa Windows
      XP

    • Hojas A4

    • Impresoras Multifunción

    • Un Proveedor de Internet

    • Un cableado estructurado

    • Una red local

    • Computadoras Pentium
      IV

    Monografias.com

    LA IMPORTANCIA DE LAS BASES DE DATOS

    La explosión de nuevas tecnologías
    que empezó con la introducción del PC y
    la llegada del Internet ha brindado al
    marketing
    opciones y herramientas
    que son explotadas con gran intensidad en la actualidad. Una de
    ellas es la utilización de instrumentos de
    información en la generación de
    bases de
    datos, o también llamado "database marketing",
    que es simplemente el uso de bases de datos
    (información) enfocados al cliente.

    Conocer a los clientes y saber
    sus preferencias es un recurso vital en el desarrollo de
    productos y
    estrategias de
    ventas.
    Poder conocer
    con exactitud los datos básicos de
    segmentación del cliente (sexo, edad,
    preferencias básicas etc.) y tal vez poder ir
    más allá en el
    conocimiento (preferencias personales, aficiones, gustos
    básicos, marcas
    preferidas) resultan recursos muy
    valiosos para las empresas. 

    Los datos recogidos de los clientes, formarán
    bases de clientes, de usuarios registrados y de posibles
    compradores, quienes serán susceptibles de recibir
    información actualizada de productos y servicios
    ofrecidos.  

    En éste entorno, la recopilación de
    bases de datos servirá a las empresas
    para:  

    • Mantener comunicación constante con los
      clientes (mail, teléfono, correo etc.)

    • Conocer las tendencias de compra del mercado
      objetivo.

    • Personalizar la atención a los usuarios.

    • Generar estrategias de publicidad.

    • Utilizar segmentos específicos de clientes
      para colocar productos específicos y
      así llegar de manera directa al comprador o
      usuario.

    • Comentar las novedades, promociones y noticias
      relacionadas con el negocio y en algunas ocasiones con el
      sector al que se dedica la
      empresa.

     En fin, mantener una base de datos,
    resulta un instrumento de información muy valioso y
    que puede ser aprovechado efectivamente en la
    generación de ventas y utilidades. Tener y
    administrar bases de datos con clientes, implica un problema de
    información, el cual genera consideraciones de
    almacenamiento,
    seguridad y uso.
    Ante estos problemas
    aparecen procesos y
    tecnologías nuevas que buscan suplir las necesidades
    de manejo de información en las empresas. Nacen
    así conceptos que serán aplicados al
    manejo de grandes volúmenes de
    información como por
    ejemplo:  

    Datawarehouse: Es simplemente el término
    para "almacenaje de volúmenes de
    información". Consiste prácticamente
    en la utilización de sistemas de
    almacenamiento en medios
    electrónicos o magnéticos bajo un
    ambiente de
    seguridad de la información
    recopilada. 

    Fullfilment: Básicamente son
    estrategias de fidelización, mediante
    comunicación constante y
    retroalimentación buscando la mayor comodidad de
    comunicación al cliente y buscando mejorar niveles
    de venta.

    Datamining: Consiste en extraer
    información de las bases de datos
    existentes para aprovecharlas en fines
    específicos. Es el proceso de
    extracción de información significativa
    de grandes bases de datos, información que revela
    inteligencia
    del negocio, a través de factores ocultos,
    tendencias y correlaciones para permitir al usuario realizar
    predicciones que resuelven problemas del negocio proporcionando
    una ventaja competitiva. Las herramientas de datamining predicen
    las nuevas perspectivas y pronostican la situación
    futura de la empresa, esto
    ayuda a los mismos a tomar decisiones de negocios pro
    activamente. 

      El uso de bases de datos podría crea
    algunos problemas, especialmente desde el punto de vista del
    consumidor, como
    por ejemplo:  

    Falta de seguridad: Es muy difícil
    garantizar en la actualidad, completa seguridad en el manejo de
    la información que recopilan las empresas y es
    difícil estar 100% seguro de que los
    datos entregados por el consumidor serán utilizados
    únicamente para los fines en que se entregaron
    dichos
    datos.    

    Confiabilidad: No siempre los datos recopilados son
    totalmente confiables, muchas veces los usuarios por no
    comprometer su integridad, utilizan datos inexactos y no son del
    todo sinceros.

    Éste es un problema típico en los
    Bancos, en
    donde en algunas ocasiones se brinda información
    inexacta acerca de niveles de ingresos, deudas
    etc.

    Ética: Un problema serio es el manejo de la
    información por parte de los administradores de la
    base de datos, a veces, las preferencias por productos
    individuales y la información inexacta lleva al
    consumidor a elegir productos de mala calidad y con
    especificaciones que no son claras.

     Con respecto a lo contenido en una base de datos,
    no existe un número de elementos minimamente
    necesarios. Cada empresa debe realizar una auditoria rigurosa de
    sus necesidades de información en
    función de sus objetivos. 

    La mejor base de datos es aquella que por sus contenidos puede
    aparentar más complejidad o
    sofisticación en la información que
    proporciona. Frecuentemente, una base de datos de aparente
    simplicidad, pero con contenidos perfectamente adaptados los
    objetivos relacionales, cumplirá su papel de apoyar
    de forma discreta el conjunto de decisiones a tomar en la
    estrategia
    relacional.  

    No obstante, para lograr lo anterior, personalizar el
    marketing y construir relaciones estrechas con los clientes, es
    necesario apoyarse en tecnologías de
    información, en sistemas que están
    diseñadas para manejar grandes
    volúmenes de datos y administrar la
    información a través del proceso de
    negocios. 

    Una de las tecnologías que satisface esta
    necesidad es el CRM, un
    software que
    provee aplicaciones que integran marketing, ventas, e-commerce
    (comercio
    electrónico) y servicios de soporte al cliente para
    la empresa. 

    El CRM es en sí una estrategia de negocios que
    está plenamente orientado al
    cliente. 

    Ahora bien, el CRM no es un nuevo concepto de marketing,
    aunque está basado en tres aspectos de su
    administración:

    • Orientado al cliente,

    • Marketing relacional

    • Base de datos de marketing

    Monografias.com 

    Todas las organizaciones
    tienen datos críticos
    .

    Los Bancos almacenan información de cuentas.

    • Las bibliotecas almacenan información
      acerca de los libros.

    • Los hospitales almacenan información acerca
      de los pacientes.

    Las casas de remates almacenan información acerca
    de los ítems a rematar y de los clientes que los
    rematan

    Todas las organizaciones deben crear y manipular datos tan
    eficientemente como sea posible.

    Considere retirar dinero de un
    banco, sin un
    sistema
    informático.

    • Usted camina hasta la caja para retirar $100.000.

    • El cajero debe llamar "a la oficina
      central" para comprobar el libro
      mayor principal para estar seguro que hay suficientes fondos.
      Si hay, ese libro mayor se debe actualizar a mano para
      reflejar el retiro.

    • ¿Es esto eficiente para el banco o los
      clientes?

    Los datos de la organización deben
    ser almacenados en forma confiable.

    • Los datos no pueden ser destruidos o perdidos.

    • Los datos no pueden ser inconsistentes.

    Origen de Las Bases de Datos

    • Anterior a las Bases de datos, solo existía
      una colección de Archivos
      tradicionales.

    • Su administración se realizaba a
      través de cada programa que lo utilizaba.

    • Los sistemas se desarrollaban absolutamente "Parcelados"
      dentro de la misma organización.

    • Cada "Parcela" generaba datos similares, lo que produce la
      no deseada "Duplicidad"

    • Cada "Parcela" actualizaba en sus ciclos los datos comunes
      a la Organización, lo que produce la no deseada
      "no-Integridad"

    Usando archivos de datos tradicionales, las aplicaciones
    deben acceder a los datos directamente.

    • Las aplicaciones deben estar enterados de la estructura
      de archivo. Si
      la estructura de archivo cambia, todos los programas que
      tienen acceso a estos datos se deben también
      modificar para reflejar los cambios.

    • Las aplicaciones pueden tener que acceder datos que no
      necesitan mientras buscan alguna pieza de datos.

    • Una colección de programas de
      aplicación que realizan servicios para el
      usuario final, (Ej: producción de reportes.)

    • Cada programa define y administra sus propios datos.

    Ejemplo:Archivos Biblioteca

    • Considere una biblioteca que almacena
      información de libros en archivos de texto. Los
      títulos se asignan en treinta caracteres, los
      nombres del autor se asignan en veinte caracteres, y el
      número de páginas se asigna en
      cuatro caracteres.

    Se delimita cada campo usando el carácter ` | '
    . Por ejemplo, la estructura del archivo seria como sigue:

    Title |Author |Page

    Dr. Zhivago |Boris Pasternack | 540

    • Cada aplicación que accede a estos datos debe
      conocer, que el titulo es leído en string de 30
      caracteres, el autor en string de 20 caracteres, y el
      número de páginas del libro en
      string de cuatro caracteres.

    ¿Que ocurre si …

    • al archivo de propietarios se decide
      añadirle un campo que almacene un segundo
      teléfono?

    • Deseamos insertar al archivo de Biblioteca?

    Hay Que…

    • Modificar las aplicaciones, incluso las que no utilizan
      esos campos se pueden ver afectadas y tener que ser
      modificadas

    • Migrar los archivos al nuevo formato

    El enfoque de Archivos

    Monografias.com

    Los sistemas orientados hacia el proceso

    Pone el énfasis en los tratamientos que reciben
    los datos, los cuales se almacenan en Archivos
    diseñados para una determinada
    aplicación

    • Las aplicaciones se analizan e implantan con entera
      independencia unas de otras, y

    • los datos no se suelen transferir entre ellas, sino que se
      duplican siempre que los correspondientes proyectos los
      necesitan.

    LIMITACIONES CON EL ENFOQUE BASADO EN ARCHIVOS

    • Separación y aislamiento de datos

    • Cada programa maneja su propio conjunto de datos

    • Los usuarios de un programa pueden no estar enterados de
      los datos potencialmente útiles llevados a cabo
      por otros programas

    • Duplicación de datos

    • Mismos datos son mantenidos por diferentes programas

    • Espacio perdido y valores
      potencialmente diversos y/o diferentes formatos para el mismo
      dato.

    • Dependencia de datos

    • La estructura física y almacenamiento de los
      archivos son definidos en el código de la
      aplicación.

    • Formatos de archivos incompatibles

    • las estructuras son dependientes del lenguaje
      de programación de aplicaciones.

    • Proliferación de programas de
      aplicación y consultas Pre-definidas

    • Los programas se escriben para satisfacer funciones
      particulares.

    • Cualquier nuevo requisito necesita un nuevo programa

    • No pueden almacenar reglas de Integridad

    • Dificultad para procesar consultas que no se realizan con
      frecuencia

    CONCEPTOS Y DEFINICIONES

    • Origen de Las Bases de Datos

    • Solución

    La creación de un Software especializado que se
    encargue de realizar la
    ADMINISTRACION de los datos de que hacen uso los Software de
    Aplicaciones…

    SISTEMA ADMINISTRADOR DE
    BASES DE DATOS

    (DBMS: Data Base Managment System)

    • Un  DBMS es una colección de
      numerosas rutinas de software interrelacionadas, cada una de
      las cuales es responsable de una tarea específica
      en relación a la administración y
      organización de las bases de datos.

    • El objetivo primordial de un sistema manejador base de
      datos es proporcionar un entorno que sea a la vez conveniente
      y eficiente para ser utilizado al extraer, almacenar y
      manipular información de la base de datos. Todas
      las peticiones de acceso a la base, se manejan
      centralizadamente por medio del DBMS.

    • Las bases de datos han evolucionado durante los pasados 30
      años desde sistemas de archivos rudimentarios
      hasta sistemas gestores de complejas estructuras de datos que
      ofrecen un gran número de
      posibilidades.

    POTENCIALIDADES

    • Redundancia mínima

    • Acceso concurrente por parte de múltiples
      usuarios

    • Distribución espacial de los datos

    OBJETIVOS DE LOS DBMS

    • Independencia lógica y física
      de los datos
      : se refiere a la capacidad de modificar una
      definición de esquema en un nivel de la arquitectura
      sin que esta modificación afecte al nivel
      inmediatamente superior. Para ello un registro
      externo en un esquema externo no tiene por qué
      ser igual a su registro correspondiente en el esquema
      conceptual.

    • Integridad de los datos: se refiere a las medidas
      de seguridad que impiden que se introduzcan datos
      erróneos. Esto puede suceder tanto por motivos
      físicos (defectos de hardware,
      actualización incompleta debido a causas
      externas), como de operación
      (introducción de datos incoherentes).

    • Consultas complejas optimizadas: la
      optimización de consultas permite la
      rápida ejecución de las
      mismas.

    SISTEMA ADMINISTRADOR DE BASES DE
    DATOS

    • Seguridad de acceso y
      auditoría
      : se refiere al derecho de acceso a
      los datos contenidos en la base de datos por parte de
      personas y organismos. El sistema de auditoría
      mantiene el control de
      acceso a la base de datos, con el objeto de saber
      qué o quién realizó
      una determinada modificación y en
      qué momento.

    • Respaldo y recuperación: se refiere
      a la capacidad de un sistema de base de datos de recuperar su
      estado en
      un momento previo a la pérdida de datos.

    • Acceso a través de lenguajes de
      programación estándar
      : se
      refiere a la posibilidad ya mencionada de acceder a los datos
      de una base de datos mediante lenguajes de
      programación basados en
      estándares.

    EL ROL DE LAS BASES DE DATOS Y LOS IS

    • Prácticamente todo Sistema de
      Información esta sustentado por una Base de
      Datos.

    • La eficiencia e
      integridad de un Sistema de Información se ve
      directamente influenciado por el diseño de la
      base de datos que lo sustenta y sus mecanismos de acceso.

    • En el mundo informático empresarial existen
      básicamente dos áreas de
      especialización:

    • Desarrollo: el rol del
      diseñador de Bases de Datos

    • Producción: el rol del
      Administrador de Base de Datos

    Un DBMS típico integra los siguientes
    componentes:

    • Un lenguaje de definición de datos (DDL: Data
      Definition Language).

    • Un lenguaje de manipulación de datos (DML:
      Data Manipulation Language)

    • Un lenguaje de consulta (QL: Query Language).

    • De forma accesoria, pero ya casi obligada, los DBMS
      modernos añaden un interfaz de usuario
      gráfico (GUI: Graphical User Interface).

    Existen numerosos DBMS comerciales, los principales
    son:

    • Oracle (Oracle
      Corp.)

    • Sybase (Sybase Inc.)

    • SQL Server (Microsoft)

    • Informix (actualmente pertenece a IBM)

    • DB2 (IBM)

    • Postgres

    • Progress

    • MySQL

    IMPORTANCIA DE LA MANIPULACIÓN
    DE DATOS EN UNA BASE DE DATOS

    La importancia de almacenar, manipular y recuperar la
    información en forma eficiente ha llevado al
    desarrollo de una teoría esencial para las bases de
    datos. Esta teoría ayuda al diseño de
    bases de datos y procesamiento eficiente de consultas por parte
    de los usuarios.

    Las arquitecturas de bases de datos han evolucionado mucho
    desde sus comienzos, aunque la considerada estándar
    hoy en día es la descrita por el comité
    ANSI/X3/SPARC (Standard Planning and Requirements Committee of
    the American National Standards Institute on Computers and
    Information Processing), que data de finales de los
    años setenta.

    Este comité propuso una arquitectura general para
    DBMSs basada en tres niveles o esquemas: el nivel
    físico, o de máquina, el nivel externo,
    o de usuario, y el nivel conceptual. Así mismo
    describió las interacciones entre estos tres niveles
    y todos los elementos que conforman cada uno de ellos.

    EL uso de las BD es contrario al enfoque tradicional, en que
    cada sistema maneja sus propios datos y archivos. Al usar BD,
    todos los datos se almacenan en forma integrada, y
    están sujetos a un control centralizado. Las
    diversas aplicaciones operan sobre este conjunto de datos.

    ARQUITECTURA ANSI

    OBJETIVOS

    Hay tres características importantes inherentes a
    los sistemas de bases de datos: la separación entre
    los programas de aplicación y los datos, el manejo
    de múltiples vistas por parte de los usuarios y el
    uso de un catálogo para almacenar el esquema de la
    base de datos.

    En 1975, el comité ANSI-SPARC (American National
    Standard Institute – Standards Planning and Requirements
    Committee) propuso una arquitectura de tres niveles para los
    sistemas de bases de datos, que resulta muy útil a
    la hora de conseguir estas tres características.

    Propiedad que asegura que los programas de
    aplicación sean independientes de los cambios
    realizados en datos que no usan o en detalles de
    representación física de los datos a los
    que acceden

    ESTRUCTURA DE LA ARQUITECTURA ANSI

    Grupo de estudio ANSI/SPARC en 1977 propuesta de arquitectura
    para los DBMS que plantea la definición de la base
    de datos a tres niveles de abstracción:

    • Nivel conceptual

    • Nivel interno

    • Nivel externo

    Nivel conceptual

    Representa la abstracción de "como la realidad
    es".

    Ejemplo:

    Empleado (nombre, dirección,
    teléfono, depto, sueldo)

    Nivel interno

    En el nivel interno se describe la estructura
    física de la base de datos mediante un esquema
    interno
    . Este esquema se especifica mediante un modelo
    físico y describe todos los detalles para el
    almacenamiento de la base de datos, así como los
    métodos de acceso. Esquema interno:
    descripción de la BD en términos de su
    representación física.

    Ejemplo:

    ·       
    Archivo Empleados

    Nombre : char [20]

    Dirección : char [40]

    Teléfono : char [10]

    Depto : char [15]

    Sueldo : REAL

    ·       
    Archivo índices por nombre

    ·       
    Archivo índices por depto

    Nivel externo

    En el nivel externo se describen varios esquemas
    externos
    o vistas de usuario. Cada esquema externo
    describe la parte de la base de datos que interesa a un grupo de
    usuarios determinados y ocultos a ese grupo el resto de la base
    de datos. En este nivel se puede utilizar un modelo conceptual o
    un modelo lógico para especificar los esquemas.
    Esquema externo: descripción de las vistas parciales
    de la BD que poseen los distintos usuarios.

    Ejemplo:

    Subschema1: E1 (nombre, dirección,
    teléfono)

    Subschema2: E2 (nombre, depto, sueldo)

    Monografias.com

    ENFOQUE DE BASES DE DATOS

    • En el enfoque de bases de datos se mantiene un
      único almacén de datos que se
      define una sola vez y al cual tienen acceso muchos
      usuarios.

    • Las principales ventajas del enfoque de Base de Datos
      sobre el enfoque tradicional son:

    • Evita los datos repetidos (redundancia).

    • Evita que distintas copias de un dato tengan valores
      distintos (inconsistencia).

    • Evita que usuarios no autorizados accedan a los datos
      (seguridad).

    • Protege los datos contra valores no permitidos (integridad
      o restricciones de consistencia).

    • Permite que uno o más usuarios puedan
      accesar simultáneamente a los datos
      (concurrencia).

    Instrucciones en SQL

    El lenguaje de consulta estructurado (SQL) es un lenguaje de
    base de datos normalizado, utilizado por el motor de base de
    datos de Microsoft Jet. SQL se utiliza para crear objetos
    QueryDef, como el argumento de origen del método
    OpenRecordSet y como la propiedad
    RecordSource del control de datos. También se puede
    utilizar con el método Execute para crear y
    manipular directamente las bases de datos Jet y crear consultas
    SQL de paso a través para manipular bases de datos
    remotas cliente – servidor.

    Componentes del SQL

    El lenguaje SQL está compuesto por comandos,
    cláusulas, operadores y funciones de agregado.
    Estos elementos se combinan en las instrucciones para crear,
    actualizar y manipular las bases de datos.

    Comandos

    Existen dos tipos de comandos SQL:  

    • los DLL que permiten crear y definir nuevas bases de
      datos, campos e índices.

    • los DML que permiten generar consultas para ordenar,
      filtrar y extraer datos de la base de datos.

     

    Comandos DLL

    Comando

    Descripción

    CREATE

    Utilizado para crear nuevas tablas, campos e
    índices

    DROP

    Empleado para eliminar tablas e índices

    ALTER

    Utilizado para modificar las tablas agregando campos o
    cambiando la definición de los campos.

    Comandos DML

    Comando

    Descripción

    SELECT

    Utilizado para consultar registros
    de la base de datos que satisfagan un criterio
    determinado

    INSERT

    Utilizado para cargar lotes de datos en la base de datos
    en una única operación.

    UPDATE

    Utilizado para modificar los
    valores de los campos y registros especificados

    DELETE

    Utilizado para eliminar registros de una tabla de una
    base de datos

    Cláusulas

    Las cláusulas son condiciones de
    modificación utilizadas para definir los datos que
    desea seleccionar o manipular.  

    Cláusula

    Descripción

    FROM

    Utilizada para especificar la tabla de la cual se van a
    seleccionar los registros

    WHERE

    Utilizada para especificar las condiciones que deben
    reunir los registros que se van a seleccionar

    GROUP BY

    Utilizada para separar los registros seleccionados en
    grupos
    específicos

    HAVING

    Utilizada para expresar la condición que
    debe satisfacer cada grupo

    ORDER BY

    Utilizada para ordenar los registros seleccionados de
    acuerdo con un orden específico

    Operadores Lógicos

    Operador

    Uso

    AND

    Es el "y" lógico. Evalua dos condiciones y
    devuelve un valor de
    verdad sólo si ambas son ciertas.

    OR

    Es el "o" lógico. Evalúa dos
    condiciones y devuelve un valor de verdad si alguna de las
    dos es cierta.

    NOT

    Negación lógica. Devuelve el
    valor contrario de la expresión.

    Operadores de Comparación

    Operador

    Uso

    Mayor que

    Distinto de

    =

    Mayor ó Igual que

    =

    Igual que

    BETWEEN

    Utilizado para especificar un intervalo de valores.

    LIKE

    Utilizado en la comparación de un
    modelo

    In

    Utilizado para especificar registros de una base de
    datos   

    Funciones de Agregado

    Las funciones de agregado se usan dentro de una
    cláusula SELECT en grupos de registros para
    devolver un único valor que se aplica a un grupo de
    registros.  

    Función

    Descripción

    AVG

    Utilizada para calcular el promedio de los valores de un
    campo determinado 

    COUNT

    Utilizada para devolver el número de
    registros de la selección 

    SUM

    Utilizada para devolver la suma de todos los valores de
    un campo determinado 

    MAX

    Utilizada para devolver el valor más alto
    de un campo especificado 

    MIN

    Utilizada para devolver el valor más bajo
    de un campo especificado 

    Consultas de Selección

    Las consultas de selección se utilizan para
    indicar al motor de datos que devuelva información
    de las bases de datos, esta información es devuelta
    en forma de conjunto de registros que se pueden almacenar en un
    objeto recordset. Este conjunto de registros es modificable.

    Consultas básicas

    La sintaxis básica de una consulta de
    selección es la siguiente:

    SELECT Campos FROM Tabla;

    En donde campos es la lista de campos que se deseen recuperar
    y tabla es el origen de los mismos, por ejemplo:

    SELECT Nombre, Telefono FROM Clientes;

    Esta consulta devuelve un recordset con el campo
    nombre y teléfono de la tabla clientes.

    Ordenar los registros

    Adicionalmente se puede especificar el orden en
    que se desean recuperar los registros de las tablas mediante la
    claúsula ORDER BY Lista de Campos. En donde Lista de
    campos representa los campos a ordenar. Ejemplo:

    SELECT CodigoPostal, Nombre, Telefono FROM
    Clientes ORDER BY Nombre;

    Esta consulta devuelve los campos CodigoPostal,
    Nombre, Telefono de la tabla Clientes ordenados por el campo
    Nombre.

    Se pueden ordenar los registros por mas de un
    campo, como por ejemplo:

    SELECT CodigoPostal, Nombre, Telefono FROM
    Clientes ORDER BY CodigoPostal, Nombre;

    Incluso se puede especificar el orden de los
    registros: ascendente mediante la claúsula (ASC -se
    toma este valor por defecto) ó descendente
    (DESC)

    SELECT CodigoPostal, Nombre,
    Teléfono FROM Clientes ORDER BY Codigo Postal
    DESC , Nombre ASC;

    Consultas con Predicado

    El predicado se incluye entre la
    claúsula y el primer nombre del campo a recuperar,
    los posibles predicados son:

    Predicado

    Descripción

    ALL

    Devuelve todos los campos de la tabla

    TOP

    Devuelve un determinado número de registros
    de la tabla

    DISTINCT

    Omite los registros cuyos campos seleccionados coincidan
    totalmente

    DISTINCTROW

    Omite los registros duplicados basándose
    en la totalidad del registro y no sólo en los
    campos seleccionados.

    ALL

    Si no se incluye ninguno de los predicados se asume ALL. El
    Motor de base de datos  selecciona todos los
    registros que cumplen las condiciones de la
    instrucción SQL. No se conveniente abusar de este
    predicado ya que obligamos al motor de la base de datos a
    analizar la estructura de la tabla para averiguar los campos que
    contiene, es mucho más rápido indicar
    el listado de campos deseados.

    SELECT ALL FROM Empleados;

    SELECT * FROM Empleados;

    TOP

    Devuelve un cierto número de
    registros que entran entre al principio o al final de un rango
    especificado por una cláusula ORDER BY. Supongamos
    que queremos recuperar los nombres de los 25 primeros estudiantes
    del curso 1994:

    SELECT TOP 25 Nombre, Apellido FROM Estudiantes
    ORDER BY Nota DESC;

    Si no se incluye la cláusula ORDER
    BY, la consulta devolverá un conjunto arbitrario de
    25 registros de la tabla Estudiantes .El predicado TOP no elige
    entre valores iguales. En el ejemplo anterior, si la nota media
    número 25 y la 26 son iguales, la consulta
    devolverá 26 registros. Se puede utilizar la
    palabra reservada PERCENT para devolver un cierto porcentaje de
    registros que caen al principio o al final de un rango
    especificado por la cláusula ORDER BY. Supongamos
    que en lugar de los 25 primeros estudiantes deseamos el 10 por
    ciento del curso:

    SELECT TOP 10 PERCENT Nombre, Apellido FROM
    Estudiantes ORDER BY Nota DESC;

    El valor que va a continuación de TOP debe ser un
    Integer sin signo.TOP no afecta a la posible
    actualización de la consulta.

    DISTINCT

    Omite los registros que contienen datos duplicados en los
    campos seleccionados. Para que los valores de cada campo listado
    en la instrucción SELECT se incluyan en la consulta
    deben ser únicos.

    Por ejemplo, varios empleados listados en la tabla Empleados
    pueden tener el mismo apellido. Si dos registros contienen
    López en el campo Apellido, la siguiente
    instrucción SQL devuelve un único
    registro:

    SELECT DISTINCT Apellido FROM Empleados;

    Con otras palabras el predicado DISTINCT devuelve aquellos
    registros cuyos campos indicados en la cláusula
    SELECT posean un contenido diferente. El resultado de una
    consulta que utiliza DISTINCT no es actualizable y no refleja los
    cambios subsiguientes realizados por otros usuarios.

    DISTINCTROW

    Devuelve los registros diferentes de una tabla; a
    diferencia del predicado anterior que sólo se fijaba
    en el contenido de los campos seleccionados, éste lo
    hace en el contenido del registro completo independientemente de
    los campo indicados en la cláusula SELECT. SELECT
    DISTINCTROW Apellido FROM Empleados;

    Si la tabla empleados contiene dos registros:
    Antonio López y Marta López el ejemplo
    del predicado DISTINCT devuleve un único registro
    con el valor López en el campo Apellido ya que busca
    no duplicados en dicho campo. Este último ejemplo
    devuelve dos registros con el valor López en el
    apellido ya que se buscan no duplicados en el registro completo.
    Alias

    En determinadas circunstancias es necesario asignar un nombre
    a alguna columna determinada de un conjunto devuelto, otras veces
    por simple capricho o por otras circunstancias. Para resolver
    todas ellas tenemos la palabra reservada AS que se encarga de
    asignar el nombre que deseamos a la columna deseada. Tomado como
    referencia el ejemplo anterior podemos hacer que la columna
    devuelta por la consulta, en lugar de llamarse apellido (igual
    que el campo devuelto) se llame Empleado. En este caso
    procederíamos de la siguiente forma:

    SELECT DISTINCTROW Apellido AS Empleado FROM Empleados;

    Recuperar Información de una base de Datos
    Externa

    Para concluir este capítulo se debe
    hacer referencia a la recuperación de registros de
    bases de datos externa. Es ocasiones es necesario la
    recuperación de información que se
    encuentra contenida en una tabla que no se encuentra en la base
    de datos que ejecutará la consulta o que en ese
    momento no se encuentra abierta, esta situación la
    podemos salvar con la palabra reservada IN de la siguiente
    forma:

    SELECT DISTINCTROW Apellido AS Empleado FROM
    Empleados IN 'c:databasesgestion.mdb';

    En donde c:databasesgestion.mdb es la base de
    datos que contiene la tabla Empleados.

    Criterios de Selección

    En el capítulo anterior se vio la
    forma de recuperar los registros de las tablas, las formas
    empleadas devolvían todos los registros de la
    mencionada tabla. A lo largo de este capítulo se
    estudiarán las posibilidades de filtrar los
    registros con el fin de recuperar solamente aquellos que cumplan
    una condición preestablecida.

    Antes de comenzar el desarrollo de este capítulo
    hay que recalcar tres detalles de vital importancia. El primero
    de ellos es que cada vez que se desee establecer una
    condición referida a un campo de texto la
    condición de búsqueda debe ir encerrada
    entre comillas simples; la segunda es que no se posible
    establecer condiciones de búsqueda en los campos
    memo y; la tercera y última hace referencia a las
    fechas. Las fechas se deben escribir siempre en formato mm-dd-aa
    en donde mm representa el mes, dd el día y aa el
    año, hay que prestar atención a los
    separadores -no sirve la separación habitual de la
    barra (/), hay que utilizar el guión (-) y
    además la fecha debe ir encerrada entre
    almohadillas (#). Por ejemplo si deseamos referirnos al
    día 3 de Septiembre de 1995 deberemos hacerlo de la
    siguente forma; #09-03-95# ó #9-3-95#.

    Operadores Lógicos

    Los operadores lógicos soportados por SQL son:
    AND, OR, XOR, Eqv, Imp, Is y Not. A excepción de los
    dos últimos todos poseen la siguiente sintaxis:

    expresión1   
    operador   
    expresión2

    En donde expresión1 y
    expresión2 son las condiciones a evaluar, el
    resultado de la operación varía en
    función del operador lógico. La tabla
    adjunta muestra los
    diferentes posibles resultados:    

    expresión1

    Operador

    Resultado

    Verdad

    AND

    Falso

    Falso

    Verdad

    AND

    Verdad

    Verdad

    Falso

    AND

    Verdad

    Falso

    Falso

    AND

    Falso

    Falso

    Verdad

    OR

    Falso

    Verdad

    Verdad

    OR

    Verdad

    Verdad

    Falso

    OR

    Verdad

    Verdad

    Falso

    OR

    Falso

    Falso

    Verdad

    XOR

    Verdad

    Falso

    Verdad

    XOR

    Falso

    Verdad

    Falso

    XOR

    Verdad

    Verdad

    Falso

    XOR

    Falso

    Falso

    Verdad

    Eqv

    Verdad

    Verdad

    Verdad

    Eqv

    Falso

    Falso

    Falso

    Eqv

    Verdad

    Falso

    Falso

    Eqv

    Falso

    Verdad

    Verdad

    Imp

    Verdad

    Verdad

    Verdad

    Imp

    Falso

    Falso

    Verdad

    Imp

    Null

    Null

    Falso

    Imp

    Verdad

    Verdad

    Falso

    Imp

    Falso

    Verdad

    Falso

    Imp

    Null

    Verdad

    Null

    Imp

    Verdad

    Verdad

    Null

    Imp

    Falso

    Null

    Null

    Imp

    Null

    Null

    Si a cualquiera de las anteriores condiciones le anteponemos
    el operador NOT el resultado de la operación
    será el contrario al devuelto sin el operador
    NOT.

    El último operador denominado Is se
    emplea para comparar dos variables de
    tipo objeto Is . este operador devuelve verdad si los dos objetos
    son iguales

    SELECT * FROM Empleados WHERE Edad > 25 AND
    Edad < 50; SELECT * FROM Empleados WHERE (Edad > 25 AND
    Edad < 50) OR Sueldo = 100;

    SELECT * FROM Empleados WHERE NOT Estado =
    'Soltero'; SELECT * FROM Empleados WHERE (Sueldo > 100 AND
    Sueldo < 500) OR Provincia = 'Madrid' AND Estado =
    'Casado');

    Intervalos de Valores

    Para indicar que deseamos recuperar los registros
    según el intervalo de valores de un campo
    emplearemos el operador Between cuya sintaxis es: campo [Not]
    Between valor1 And valor2 (la condición Not es
    opcional)

    En este caso la consulta devolvería
    los registros que contengan en "campo" un valor incluido en el
    intervalo valor1, valor2 (ambos inclusive). Si anteponemos la
    condición Not devolverá aquellos
    valores no incluidos en el intervalo.

    SELECT * FROM Pedidos WHERE CodPostal Between
    28000 And 28999; (Devuelve los pedidos realizados en la provincia
    de Madrid)

    SELECT IIf(CodPostal Between 28000 And 28999,
    'Provincial', 'Nacional') FROM Editores; (Devuelve el valor
    'Provincial' si el código postal se encuentra en el
    intervalo, 'Nacional' en caso contrario)

    El Operador Like

    Se utiliza para comparar una expresión de cadena
    con un modelo en una expresión SQL. Su sintaxis
    es:

    expresión Like modelo

    En donde expresión es una cadena modelo o campo
    contra el que se compara expresión. Se puede
    utilizar el operador Like para encontrar valores en los campos
    que coincidan con el modelo especificado. Por modelo puede
    especificar un valor completo (Ana María), o se
    pueden utilizar caracteres comodín como los
    reconocidos por el sistema operativo
    para encontrar un rango de valores (Like An*).

    El operador Like se puede utilizar en una
    expresión para comparar un valor de un campo con una
    expresión de cadena. Por ejemplo, si introduce Like
    C* en una consulta SQL, la consulta devuelve todos los valores de
    campo que comiencen por la letra C. En una consulta con
    parámetros, puede hacer que el usuario escriba el
    modelo que se va a utilizar.

    El ejemplo siguiente devuelve los datos que comienzan con la
    letra P seguido de cualquier letra entre A y F y de tres
    dígitos:

    Like 'P[A-F]###'

    Este ejemplo devuelve los campos cuyo contenido empiece con
    una letra de la A a la D seguidas de cualquier cadena.

    Like '[A-D]*'

    En la tabla siguiente se muestra cómo utilizar el
    operador Like para comprobar expresiones con diferentes modelos.

    Tipo de coincidencia

    Modelo Planteado

    Coincide

    No coincide

    Varios caracteres

    'a*a'

    'aa', 'aBa', 'aBBBa'

    'aBC'

    Carácter especial

     'a[*]a'

    'a*a'

    'aaa'

    Varios caracteres

    'ab*'

    'abcdefg', 'abc'

    'cab', 'aab'

    Un solo carácter

    'a?a'

    'aaa', 'a3a', 'aBa'

    'aBBBa'

    Un solo dígito

    'a#a'

    'a0a', 'a1a', 'a2a'

    'aaa', 'a10a'

    Rango de caracteres

    '[a-z]'

    'f', 'p', 'j'

    '2', '&'

    Fuera de un rango

    '[!a-z]'

    '9', '&', '%'

    'b', 'a'

    Distinto de un dígito

    '[!0-9]'

    'A', 'a', '&', '~'

    '0', '1', '9'

    Combinada

    'a[!b-m]#'

    'An9', 'az0', 'a99'

    'abc', 'aj0'

     

    El Operador In

    Este operador devuelve aquellos registros cuyo campo indicado
    coincide con alguno de los en una lista. Su sintaxis es:

    expresión [Not] In(valor1, valor2, . . .)

    SELECT * FROM Pedidos WHERE Provincia In
    ('Madrid', 'Barcelona', 'Sevilla');   La
    cláusula WHERE

    La cláusula WHERE puede usarse para
    determinar qué registros de las tablas enumeradas en
    la cláusula FROM aparecerán en los
    resultados de la instrucción SELECT.
    Depués de escribir esta cláusula se
    deben especificar las condiciones expuestas en los partados 3.1 y
    3.2. Si no se emplea esta cláusula, la consulta
    devolverá todas las filas de la tabla. WHERE es
    opcional, pero cuando aparece debe ir a continuación
    de FROM.

    SELECT Apellidos, Salario FROM
    Empleados WHERE Salario > 21000;

    SELECT Id_Producto, Existencias FROM Productos
    WHERE Existencias $1000000.00

    AND AVG (OrderQty) < 3;

    GO

    Observe que cuando en HAVING se incluyen varias condiciones,
    éstas se combinan mediante AND, OR o NOT.

    Para ver los productos con ventas totales superiores a
    2.000.000 de dólares, utilice la siguiente
    consulta:

    USE AdventureWorks;

    GO

    SELECT ProductID, Total = SUM(LineTotal)

    FROM Sales.SalesOrderDetail

    GROUP BY ProductID

    HAVING SUM(LineTotal) > $2000000.00 ;

    GO

    ALTER TABLE

    La sentencia ALTER TABLE sirve para modificar la
    estructura de una tabla que ya existe. Mediante esta
    instrucción podemos añadir
    columnas nuevas, eliminar columnas. Ten cuenta que cuando
    eliminamos una columna se pierden todos los datos
    almacenados en ella.

    También nos permite crear nuevas
    restricciones o borrar algunas existentes. La sintaxis
    puede parecer algo complicada pero sabiendo el significado
    de las palabras reservadas la sentencia se aclara bastante;
    ADD (añade), ALTER (modifica), DROP
    (elimina), COLUMN (columna), CONSTRAINT
    (restricción).

    La sintaxis es la siguiente:

    Monografias.com

    La sintaxis de restriccion1 es idéntica a
    la restricción1 de la sentencia CREATE TABLE,
    te la describimos a continuación, si tienes
    alguna duda repasa la sentencia CREATE TABLE.

    Monografias.com

    La sintaxis de restriccion2 es idéntica a
    la restricción2 de la sentencia CREATE TABLE,
    te la describimos a continuación, si tienes
    alguna duda repasa la sentencia CREATE TABLE.

    Monografias.com

    Monografias.comLa
    cláusula ADD COLUMN (la palabra COLUMN es
    opcional) permite añadir una columna nueva a
    la tabla. Como en la creación de tabla, hay
    que definir la columna indicando su nombre, tipo de datos
    que puede contener, y si lo queremos alguna
    restricción de valor no nulo, clave primario,
    clave foráneo, e índice
    único, restriccion1 es opcional e indica una
    restricción de tipo 1 que afecta a la columna
    que estamos definiendo.

    Ejemplo:

    ALTER TABLE tab1 ADD COLUMN col3 integer NOT NULL
    CONSTRAINT c1 UNIQUE

    Con este ejemplo estamos añadiendo a la
    tabla tab1 una columna llamada col3 de tipo entero,
    requerida (no admite nulos) y con un índice sin
    duplicados llamado c1.

    Cuando añadimos una columna lo
    mínimo que se puede poner
    sería:

    ALTER TABLE tab1 ADD col3 integer

    En este caso la nueva columna admite valores nulos y
    duplicados.

    Monografias.comPara
    añadir una nueva restricción en
    la tabla podemos utilizar la cláusula ADD
    restriccion2 (ADD CONSTRAINT…).

    Ejemplo:

    ALTER TABLE tab1 ADD CONSTRAINT c1 UNIQUE (col3)

    Con este ejemplo estamos añadiendo a la
    tabla tab1 un índice único (sin
    duplicados) llamado c1 sobre la columna col3.

    Monografias.comPara
    borrar una columna basta con utilizar la cláusula
    DROP COLUMN (COLUMN es opcional) y el nombre de la columna
    que queremos borrar, se perderán todos los datos
    almacenados en la columna.

    Ejemplo:

    ALTER TABLE tab1 DROP COLUMN col3

    También podemos escribir:

    ALTER TABLE tab1 DROP col3

    El resultado es el mismo, la columna col3 desaparece de
    la tabla tab1.

    Monografias.comPara
    borrar una restricción basta con utilizar la
    cláusula DROP CONSTRAINT y el nombre de la
    restricción que queremos borrar, en este caso
    sólo se elimina la definición de la
    restricción pero los datos almacenados no se
    modifican ni se pierden.

    Ejemplo:

    ALTER TABLE tab1 DROP CONSTRAINT c1

    Con esta sentencia borramos el índice c1 creado
    anteriormente pero los datos de la columna col3 no se ven
    afectados por el cambio.

    DROP TABLE

    La sentencia DROP TABLE sirve para
    eliminar una tabla. No se puede eliminar una tabla
    si está abierta, tampoco la podemos eliminar si el
    borrado infringe las reglas de integridad referencial (si
    interviene como tabla padre en una relación y tiene
    registros
    relacionados).

    La sintaxis es la siguiente:

    Monografias.com

    Ejemplo:

    DROP TABLE tab1

    Elimina de la base de datos la tabla tab1.

     

    CREATE INDEX

    La sentencia CREATE INDEX sirve para
    crear un índice sobre una o varias columnas
    de una tabla. Si quieres repasar conceptos básicos
    sobre índices haz clic aquí

    La sintaxis es la siguiente:

    Monografias.com

    nbindi: nombre del
    índice
    que estamos definiendo. En una tabla
    no pueden haber dos índices con el mismo nombre

    de lo contrario da error.

    nbtabla: nombre de la tabla donde definimos el
    índice
    . A continuación entre
    paréntesis se indica la composición del
    índice (las columnas que lo forman).

    nbcol: nombre de la columna que indexamos.
    Después del nombre de la columna podemos indicar
    cómo queremos que se ordenen las filas según
    el índice mediante las cláusulas
    ASC/DESC.

    ASC: la cláusula ASC es la que se
    asume por defecto e indica que el orden
    elegido para el índice es ascendente (en
    orden alfabético si la columna es de tipo texto,
    de menor a mayor si es de tipo numérico, en orden
    cronológico si es de tipo fecha).

    DESC: indica orden descendente, es decir
    el orden inverso al ascendente.

    Podemos formar un índice basado en varias
    columnas
    , en este caso después de indicar la
    primera columna con su orden, se escribe una coma y la
    segunda columna también con su orden, así
    sucesivamente hasta indicar todas las columnas que forman
    el índice.

    Opcionalmente se pueden indicar las
    cláusulas:

    WITH PRIMARY indica que el índice define
    la clave principal de la tabla, si la tabla ya tiene
    una clave principal, la sentencia CREATE INDEX
    dará error.

    WITH DISALLOW NULL indica que no permite
    valores
    nulos
    en las columnas que forman el índice.

    WITH IGNORE NULL indica que las filas que
    tengan valores nulos en las columnas que forman el
    índice se ignoran, no aparecen cuando
    recuperamos las filas de la tabla utilizando ese
    índice.

     

    Ejemplo:

    CREATE UNIQUE INDEX ind1 ON clientes
    (provincia, poblacion ASC, fecha_nacimiento DESC)

    Crea un índice llamado ind1 sobre la
    tabla clientes formado por las columnas
    provincia, población y fecha_nacimiento.
    Este índice permite tener ordenadas las filas de la
    tabla clientes de forma que aparezcan los clientes
    ordenados por provincia, dentro de la misma
    provincia por población y dentro de la
    misma población por edad y del más joven al
    más mayor.

    Al añadir la cláusula UNIQUE el
    índice no permitirá duplicados por lo que no
    podría tener dos clientes con la misma fecha de
    nacimiento en la misma población y misma provincia,
    para evitar el poblema sería mejor utilizar:

    CREATE INDEX ind1 ON clientes (provincia, poblacion
    ASC, fecha_nacimiento DESC)

     

    DROP INDEX

    La sentencia DROP INDEX sirve para
    eliminar un índice de una tabla. Se elimina
    el índice pero no las columnas que lo forman.

    La sintaxis es la siguiente:

    Monografias.com

    Ejemplo:

    DROP INDEX ind1 ON clientes

    Elimina el índice que habíamos creado en
    el ejemplo anterior.

    SUM (Transact-SQL)

    Devuelve la suma de todos los valores o
    sólo de los valores DISTINCT de la expresión. SUM
    sólo puede utilizarse con columnas numéricas. Los
    valores Null se pasan por alto. Puede ir seguida de la
    cláusula OVER.

    Convenciones de sintaxis de Transact-SQL

    Sintaxis

    SUM ( [ ALL | DISTINCT ] expression )

    Monografias.comArgumentos

    ALL

    Aplica la función de
    agregado a todos los valores. ALL es el valor
    predeterminado.

    DISTINCT

    Especifica que SUM devuelve la suma de los valores
    únicos.

    expression

    Es una constante, columna o función y cualquier
    combinación de operadores aritméticos, bit a bit y
    de cadena. expression es una expresión de la
    categoría del tipo de datos numérico exacto o
    numérico aproximado, excepto para el tipo de datos
    bit. No se permiten funciones de
    agregado ni subconsultas.

    Tipos de valor devueltos

    Devuelve la suma de todos los valores de expression
    con el tipo de datos expression más preciso.

    Resultado de la expresión

    Valor devuelto

    Categoría integer

    int

    Categoría decimal (p, s)

    decimal(38, s)

    Categoría money y smallmoney

    money

    Categoría float y real

    float

    Monografias.comImportante:

    No se admiten agregados Distinct, por ejemplo AVG(DISTINCT
    column_name), COUNT(DISTINCT
    column_name), MAX(DISTINCT column_name),
    MIN(DISTINCT column_name) y SUM(DISTINCT
    column_name) cuando se utilizan CUBE o ROLLUP. Si
    se utilizan, el SQL Server 2005 Database Engine (Motor de
    base de
    datos de SQL
    Server 2005) devuelve un mensaje de error y cancela la
    consulta.

    Ejemplos

    A. Utilizar SUM para agregados y agregados de
    filas

    En estos ejemplos se muestran las diferencias entre las
    funciones de agregado y las funciones de agregado de filas. En el
    primero se muestran funciones de agregado que sólo ofrecen
    datos de resumen y en el segundo, funciones de agregado de filas
    que ofrecen datos de resumen y de detalle.

    USE AdventureWorks;

    GO

    SELECT Color,
    SUM(ListPrice), SUM(StandardCost)

    FROM Production.Product

    WHERE Color IS NOT NULL AND ListPrice != 0.00 AND Name LIKE
    'Mountain%'

    GROUP BY Color

    ORDER BY Color;

    GO

    USE AdventureWorks;

    GO

    SELECT Color, ListPrice, StandardCost

    FROM Production.Product

    WHERE Color IS NOT NULL AND ListPrice != 0.00 AND Name LIKE
    'Mountain%'

    ORDER BY Color

    COMPUTE SUM(ListPrice), SUM(StandardCost) BY Color;

    GO

    COUNT (Transact-SQL)

    Devuelve el número de elementos de un grupo. COUNT
    funciona como COUNT_BIG. La única diferencia entre ambas
    funciones está en los valores devueltos. COUNT siempre
    devuelve un valor de tipo de datos int. COUNT_BIG siempre
    devuelve un valor de tipo de datos bigint. Puede ir
    seguida de la cláusula OVER.

    Convenciones de sintaxis de Transact-SQL

    Sintaxis

    COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )

    Monografias.comArgumentos

    ALL

    Aplica la función de agregado a todos los valores. ALL
    es el valor predeterminado.

    DISTINCT

    Especifica que COUNT devuelva el número de valores
    únicos no NULL.

    expression

    Es una expression de cualquier tipo excepto text,
    image o ntext. No se permite utilizar funciones de
    agregado ni subconsultas.

    *

    Especifica que se deben contar todas las filas para devolver
    el número total de filas de una tabla. COUNT(*) no acepta
    parámetros y no se puede utilizar con DISTINCT. COUNT(*)
    no requiere un parámetro expression porque, por
    definición, no utiliza información sobre ninguna columna
    específica. COUNT(*) devuelve el número de filas de
    una tabla especificada sin deshacerse de las duplicadas. Cuenta
    cada fila por separado. Se incluyen las filas que contienen
    valores NULL.

    Monografias.comImportante:

    No se admiten agregados Distinct, por ejemplo
    AVG(DISTINCT column_name), COUNT(DISTINCT
    column_name), MAX(DISTINCT column_name),
    MIN(DISTINCT column_name) y SUM(DISTINCT
    column_name) cuando se utilizan CUBE o ROLLUP. Si
    se utilizan, el SQL Server 2005 Database Engine (Motor de
    base de datos de SQL Server 2005) de Microsoft devuelve un mensaje de error y
    cancela la consulta.

    Tipos de valor devueltos

    int

    Notas

    COUNT (*) devuelve el número de elementos de un grupo.
    Se incluyen valores NULL y duplicados.

    COUNT (ALL expression) evalúa
    expression en todas las filas del grupo y devuelve el
    número de valores no NULL.

    COUNT (DISTINCT expression) evalúa
    expression en todas las filas del grupo y devuelve el
    número de valores no NULL únicos.

    Si los valores devueltos son superiores a 2^31-1, COUNT genera
    un error. En su lugar, utilice COUNT_BIG.

    Ejemplos

    A. Usar COUNT y DISTINCT

    En el ejemplo siguiente se muestra el
    número de cargos diferentes que puede tener un empleado
    que trabaja en Adventure Works Cycles.

    USE AdventureWorks;

    GO

    SELECT COUNT(DISTINCT Title)

    FROM HumanResources.Employee;

    GO

    B. Usar COUNT (*)

    USE AdventureWorks;

    GO

    SELECT COUNT(*)

    FROM HumanResources.Employee;

    GO

    C. Usar COUNT (*) con otros agregados

    USE AdventureWorks;

    GO

    SELECT COUNT (*), AVG (Bonus)

    FROM Sales.SalesPerson

    WHERE SalesQuota > 25000;

    GO

    AVG (Transact-SQL)

    Devuelve el promedio de los valores de un grupo. Los valores
    NULL se pasan por alto. Puede ir seguida de la cláusula
    OVER.

    Convenciones de sintaxis de Transact-SQL

    Sintaxis

    AVG ([ALL | DISTINCT] expression)

    Argumentos

    ALL

    Aplica la función de agregado a todos los valores. ALL
    es el valor predeterminado.

    DISTINCT

    Especifica que AVG se ejecute sólo en cada instancia
    única de un valor, sin importar el número de veces
    que aparezca el valor.

    expression

    Es una expresión de la categoría de tipo de
    datos numérico exacto o numérico aproximado,
    excepto para el tipo de datos bit. No se permite utilizar
    funciones de agregado ni subconsultas.

    Tipos de valor devueltos

    El tipo de valor devuelto viene determinado por el tipo del
    resultado evaluado de expression.

    Resultado de la expresión

    Tipo de valor devuelto

    Categoría integer

    int

    Categoría decimal (p, s)

    decimal(38, s) dividido por decimal(10,
    0)

    Categoría money y smallmoney

    money

    Categoría float y real

    float

    Notas

    Si el tipo de datos de expression es un tipo de datos
    de alias, el tipo de valor devuelto es también del tipo de
    datos de alias. No obstante, si se asciende el tipo de datos base
    del tipo de datos de alias, por ejemplo, de tinyint a
    int, el valor devuelto es del tipo de datos ascendido, no
    del tipo de datos de alias.

    Ejemplos

    A. Utilizar las funciones SUM y AVG para los
    cálculos

    En el ejemplo siguiente se calcula el promedio de horas de
    vacaciones y la suma de horas de baja por enfermedad que han
    utilizado los vicepresidentes de Adventure Works Cycles. Cada una
    de estas funciones de agregado produce un valor único de
    resumen para todas las filas recuperadas.

    USE AdventureWorks;

    GO

    SELECT AVG(VacationHours)as 'Average vacation hours',

    SUM (SickLeaveHours) as 'Total sick leave hours'

    FROM HumanResources.Employee

    WHERE Title LIKE 'Vice President%';

    B. Utilizar las funciones SUM y AVG con una
    cláusula GROUP BY

    Cuando se utiliza con una cláusula GROUP BY, cada
    función de agregado produce un solo valor para cada grupo,
    en vez de para toda la tabla. En el ejemplo siguiente se obtienen
    valores de resumen para cada territorio de ventas. El
    resumen muestra el promedio de bonificaciones recibidas por los
    vendedores de cada territorio y la suma de las ventas realizadas
    hasta la fecha en cada territorio.

    USE AdventureWorks;

    GO

    SELECT TerritoryID, AVG(Bonus)as 'Average bonus',
    SUM(SalesYTD) 'YTD sales'

    FROM Sales.SalesPerson

    GROUP BY TerritoryID;

    GO

    C. Utilizar AVG con DISTINCT

    En la instrucción siguiente se devuelve el precio de
    venta promedio de
    los productos.

    USE AdventureWorks;

    GO

    SELECT AVG(DISTINCT ListPrice)

    FROM Production.Product;

    D. Utilizar AVG sin DISTINCT

    Sin DISTINCT, la función AVG busca el precio de venta
    promedio de todos los productos de la tabla Product.

    Monografias.comCopiar
    código

    USE AdventureWorks;

    GO

    SELECT AVG(ListPrice)

    FROM Production.Product;

    MAX (Transact-SQL)

    Devuelve el valor máximo de la expresión. Puede
    ir seguida de la cláusula OVER.

    Convenciones de sintaxis de Transact-SQL

    Sintaxis

    MAX ( [ ALL | DISTINCT ] expression )

    Argumentos

    ALL

    Aplica la función de agregado a todos los valores. ALL
    es el valor predeterminado.

    DISTINCT

    Especifica que se tiene en cuenta cada valor único.
    DISTINCT no tiene ningún significado con MAX y sólo
    se incluye para la compatibilidad con SQL-92.

    expression

    Se trata de una constante, nombre de columna o función
    y cualquier combinación de operadores aritméticos,
    bit a bit y de cadena. MAX se puede usar con columnas
    numéricas, de caracteres y de datetime, pero no con
    columnas de bit. No se permiten funciones de agregado ni
    subconsultas.

    Tipos de valor devueltos

    Notas

    MAX pasa por alto los valores NULL.

    Para las columnas de caracteres, MAX busca el valor más
    alto de la secuencia de intercalación.

    Ejemplos

    En el siguiente ejemplo se devuelve el tipo impositivo mayor
    (máximo).

    USE AdventureWorks;

    GO

    SELECT MAX (TaxRate)

    FROM Sales.SalesTaxRate;

    GO

    MIN (Transact-SQL)

    Devuelve el valor mínimo de la expresión. Puede
    ir seguida de la cláusula OVER.

    Convenciones de sintaxis de Transact-SQL

    Sintaxis

    MIN ( [ ALL | DISTINCT ] expression )

    Argumentos

    ALL

    Aplica la función de agregado a todos los valores. ALL
    es el valor predeterminado.

    DISTINCT

    Especifica que se tiene en cuenta cada valor único.
    DISTINCT no tiene ningún significado con MIN y está
    disponible sólo por compatibilidad con SQL-92.

    expression

    Se trata de una constante, nombre de columna o función,
    y cualquier combinación de operadores aritméticos,
    bit a bit y de cadena. MIN se puede utilizar con columnas de tipo
    numérico, char, varchar o datetime,
    pero no con columnas de tipo bit. No se permite utilizar
    funciones de agregado ni subconsultas.

    Tipos de valor devueltos

    Devuelve un valor igual a expression.

    MIN pasa por alto los valores NULL.

    En el caso de columnas de datos de caracteres, MIN busca el
    valor más bajo en la secuencia de ordenación.

    Ejemplos

    En el ejemplo siguiente se devuelve la tasa de impuestos
    más baja (mínima).

    Partes: 1, 2, 3
     Página anterior Volver al principio del trabajoPágina siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter