miércoles, 19 de junio de 2013

sistemas de gestion de bases de datos


complementos  SQL
Parade sql generar este tipo de consultas lo más sencillo es utilizar el asistente de consultas de Access, editar la sentencia SQL de la consulta y pegarla en nuestro código. No obstante este tipo de consulta se consigue de la siguiente forma:
    SELECT DISTINCTROW Lista de Campos a Visualizar FROM Tabla
    WHERE CampoDeBusqueda In (SELECT CampoDeBusqueda FROM Tabla As psudónimo
    GROUP BY CampoDeBusqueda HAVING Count(*)>1 ) ORDER BY CampoDeBusqueda;

Un caso práctico, si deseamos localizar aquellose empleados con igual nombre y visualizar su código correspondiente, la consulta sería la siguiente:
    SELECT DISTINCTROW Empleados.Nombre, Empleados.IdEmpleado
    FROM Empleados WHERE Empleados.Nombre In (SELECT Nombre FROM
    Empleados As Tmp GROUP BY Nombre HAVING Count(*)>1)
    ORDER BY Empleados.Nombre;

16.1.2 Recuperar Registros de una tabla que no contengan registros relacionados en otra.
Este tipo de consulta se emplea en situaciones tales como sab
r que productos no se han vendido en un determinado periodo de tiempo,
    SELECT DISTINCTROW Productos.IdProducto, Productos.Nombre FROM Productos
    LEFT JOIN Pedidos ON Productos.IdProducto = Pedidos.IdProduct WHERE
    (Pedidos.IdProducto Is Null) AND (Pedidos.Fecha Between #01-01-98# And
    #01-30-98#);

La sintaxis es sencilla, se trata de realizar una unión interna entre dos tablas seleccionadas mediante un LEFT JOIN, establecimiendo como condición que el campo relacionado de la segunda sea Null.
16.2 Utlizar SQL desde Visual Basic
Existen dos tipos de consultas SQL: las consultas de selección (nos devuelven datos) y las consultas de acción (aquellas que no devuelven ningún registro). Ambas pueden ser tratadas en Visual Basic pero de forma diferente.
Las consultas de selección se ejecutan recogiendo la información en un recordset previamente definido mediante la instrucción openrecordset(), por ejemplo:
Dim SQL as String
Dim RS as recordset

    SQL = "SELECT * FROM Empleados;"
    Set RS=MiBaseDatos.OpenRecordSet(SQL)

Si la consula de selección se encuentra almacenada en una consulta de la base de datos:
    Set RS=MiBaseDatos.OpenRecordset("MiConsulta")
Las consultas de acción, al no devolver ningún registro, no las podemos asignar a ningún recordset, en este caso la forma de ejecutarlas es mediante los métodos Execute y ExecuteSQL (para bases de datos ODBC), por ejemplo:
Dim SQL as string
    SQL = "DELETE * FROM Empleados WHERE Categoria = 'Ordenanza';"
    MiBaseDatos.Execute SQL

16.3 Funciones de Visual Basic utilizables en una Instrucción SQL 


eliminacion 


Este comando elimina un objeto de la base de datos. Puede ser una tabla, vistaíndicetrigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.
ejemplo:

mplo  DROP TABLE 'NOMBRE_TABLA';.







Sistemas 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:





Respaldo de Bases de Datos maunuales

Para realizar un respaldo de las bases de datos por defecto, seguir los siguientes pasos:
  1. Bajar el servicio: se debe ejecutar desde un terminal (cmd), posicionado en el directorio  <o3bpa-install>/o3bpa/bin el comando ./o3bpa stop
  2. Dentro del directorio de instalación de O3 BP&A, respaldar las siguientes carpetas:
    BDCarpetaUbicación
    BD XML / Existexist<o3bpa-install>/jboss/standalone/data/exist/data
    BD Metricsmetrics<o3bpa-install>/jboss/standalone/data/derby/metrics
    BD RBACrbac<o3bpa-install>/jboss/standalone/data/derby/rbac
  3. Reiniciar el servicio: posicionados en el mismo directorio, ejecutar el comando ./o3bpa start.

respaldos  automaticos
 el SQL SERVER full, las tareas de backup pueden automatizarse tranquilamente con un wizard muy simple, solo que este es limitado y a cada base de datos nueva que se incorpore tenes que programar de vuelta su correspondiente backup. 

El script de más abajo te permite tener más control de los backups y además cada vez que se crea una base de datos nueva en tu servidor, este script hará el backup correspondiente de esa base sin que tengas que hacer nada.

El código es bastante simple...

DECLARE @BackupArchivo varchar(255), @DB varchar(30), @Descripcion varchar(255), @ArchivoAuditoria varchar(50)
DECLARE @Nombre varchar(30), @MediaName varchar(30), @BackupCarpeta nvarchar(200)
SET @BackupCarpeta= 'E:\BackupDB\BackupBasesDeDatos\'

--Aqui incluir todas las bases de datos que no queres que se hagan backup.
DECLARE CursorBasesDeDatos CURSOR FOR SELECT name FROM sysdatabases
WHERE name <> 'tempdb' AND name <> 'model' AND name <> 'Northwind'
OPEN CursorBasesDeDatos
FETCH next FROM CursorBasesDeDatos INTO @DB
WHILE @@fetch_status = 0

BEGIN
SET @Nombre = @DB + '( Daily BACKUP )'
SET @MediaName = @DB + '_Dump' + CONVERT(varchar, CURRENT_TIMESTAMP , 112)
SET @BackupArchivo = @BackupCarpeta+ + @DB + '_' + 'Full' + '_' +
CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
SET @Descripcion = 'Normal' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'

IF (SELECT COUNT(*) FROM msdb.dbo.backupset WHERE database_name = @DB) > 0 OR @DB = 'master'
BEGIN
SET @BackupArchivo = @BackupCarpeta+ @DB + '_' + 'Full' + '_' +
CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
--descripcion
SET @Descripcion = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
END
ELSE
BEGIN
SET @BackupArchivo = @BackupCarpeta+ @DB + '_' + 'Full' + '_' +
CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
--descripcion
SET @Descripcion = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
END
BACKUP DATABASE @DB TO DISK = @BackupArchivo
WITH NAME = @Nombre, DESCRIPTION = @Descripcion ,
MEDIANAME = @MediaName, MEDIADESCRIPTION = @Descripcion ,
STATS = 10
FETCH next FROM CursorBasesDeDatos INTO @DB
END
CLOSE CursorBasesDeDatos
DEALLOCATE CursorBasesDeDatos


El código de arriba tenes que guardarlo en un archivo de texto con extensión .sql. Ejemplo:BackupDeTodasLasBases.sql, y luego creas otro archivillo que lo podes llamar backup.bat. En el interior de este archivo debes escribir la siguiente sentencia: 
sqlcmd -S .\SQLEXPRESS -U sa -P tupassword -i "E:\BackupDB\BackupDeTodasLasBases.sql" -o "E:\BackupDB\backup.log".

Luego, con el Windows Task Scheduler, programas que se ejecute el archivo backup.bat, las veces que quieras todos los días, a las horas que desees.


modificacion

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.
ejemplo
ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT UNSIGNED;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



conseptos sql



  • cómo crear una copia de seguridad completa de la base de datos en SQL Server 2012 mediante SQL Server Management Studio, Transact-SQL o PowerShell.


Para realizar una copia de seguridad de una base de datos

  1. Después de conectarse a la instancia apropiada de Microsoft Motor de base de datos de SQL Server, en el Explorador de objetos, haga clic en el nombre del servidor para expandir el árbol de servidores.
  2. Expanda Bases de datos y, dependiendo de la base de datos, seleccione una base de datos de usuario o expanda Bases de datos del sistema y seleccione una base de datos del sistema.
  3. Haga clic con el botón secundario en la base de datos, seleccione Tareas y haga clic en Copia de seguridad. Aparece el cuadro de diálogo Copia de seguridad de base de datos.
  4. En el cuadro de lista Base de datos, compruebe el nombre de la base de datos. También puede seleccionar otra base de datos en la lista.
  5. Puede realizar una copia de seguridad de la base de datos en cualquier modelo de recuperación (FULLBULK_LOGGED o SIMPLE).
  6. En el cuadro de lista Tipo de copia de seguridad, seleccione Completa.
    Tenga en cuenta que después de crear una copia de seguridad de la base de datos completa, puede crear una copia de seguridad diferencial; para obtener más información, vea Crear una copia de seguridad diferencial de una base de datos (SQL Server).
  7. También puede seleccionar Copia de seguridad de solo copia para crear un copia de seguridad de solo copia. Una copia de seguridad de solo copia es una copia de seguridad de SQL Server independiente de la secuencia de copias de seguridad convencionales de SQL Server. Para obtener más información, vea Copias de seguridad de solo copia (SQL Server).
    8.En Componente de copia de seguridad, haga clic en Base de datos.
     9.   Acepte el nombre del conjunto de copia de seguridad predeterminado sugerido en el cuadro de texto Nombre o especifique otro nombre.
    10.   Opcionalmente, en Descripción, escriba una descripción del conjunto de copia de seguridad.

    11  Especifique cuándo expirará el conjunto de copia de seguridad y se podrá sobrescribir sin omitir explícitamente la comprobación de los datos de expiración:
    Para que el conjunto de copia de seguridad expire al cabo de un número de días específico, haga clic en Después de (opción predeterminada) y escriba el número de días tras la creación del conjunto en que éste expirará. Este valor puede estar entre 0 y 99999 días; el valor 0 significa que el conjunto de copia de seguridad no expirará nunca.
    • El valor predeterminado se establece en la opción Tiempo predeterminado de retención de medios de copia de seguridad (días) del cuadro de diálogo Propiedades del servidor (página Configuración de base de datos). Para tener acceso a esta opción, en el Explorador de objetos, haga clic con el botón secundario en el nombre del servidor y seleccione Propiedades; a continuación, seleccione la páginaConfiguración de base de datos.
    • Para que el conjunto de copia de seguridad expire en una determinada fecha, haga clic en El y escriba la fecha en la que expirará.
    • Para obtener más información acerca de las fechas de expiración de la copia de seguridad, vea BACKUP (Transact-SQL).
      12  Elija el tipo de destino de la copia de seguridad haciendo clic en Disco o Cinta. Para seleccionar las rutas de hasta 64 unidades de disco o cinta que contengan un solo conjunto de medios, haga clic en Agregar. Las rutas seleccionadas se muestran en el cuadro de lista Copia de seguridad en.Para eliminar un destino de copia de seguridad, selecciónelo y haga clic en Quitar. Para ver el contenido de un destino de copia de seguridad, selecciónelo y haga clic en Contenido

      13  Para ver o seleccionar las opciones avanzadas, haga clic en Opciones, en el panel Seleccionar una página.
      14
        seleccione one una opción de Sobrescribir medios; para ello, haga clic en una de las opciones siguiente
      • para el conjunto, los medios (cinta o disco) se comprueban para ver si el nombre real coincide con el nombre especificado aquí.Hacer copia de seguridad en un nuevo conjunto de medios y borrar todos los conjuntos de copia de seguridad existentes
        Para esta opción, especifique un nombre en el cuadroe de texto Nuevo nombre del conjunto de medios y, si lo desea, describa el conjunto de medios en el cuadro de texto Nueva descripción del conjunto de m
        Hacer copia de seguridad en el conjunto de medios existente
        Para esta opción, haga clic en Anexar al conjunto de copia de seguridad existente o Sobrescribir todos los conjuntos de copia de seguridad existentes. Para obtener más información, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).Opcionalmente, seleccione Comprobar nombre de conjunto de medios y fecha de expiración del conjunto de copia de seguridad a fin de que la operación de copia de seguridad compruebe la fecha y la hora en que expiran el conjunto de medios y el conjunto de copia de seguridad.También puede escribir un nombre en el cuadro de texto Nombre del conjunto de medios. Si no especifica ningún nombre, se creará un conjunto de medios con un nombre en blanco. Si especifica un nombre edios.
        15  Opcionalmente, en la sección Confiabilidad, seleccione:
        • Comprobar copia de seguridad al finalizar.
        • Realizar suma de comprobación antes de escribir en los medios y, si lo desea, Continuar después de un error de suma de comprobación. Para obtener información acerca de las sumas de comprobación, vea Errores posibles de medios durante copia de seguridad y restauración (SQL Server).

          16  Si va a realizar copias de seguridad en una unidad de cinta (según se haya especificado en la sección Destino de la página General), la opciónDescargar la cinta después de realizar la copia de seguridad está activa. Al hacer clic en esta opción se activa la opción Rebobinar la cinta antes de descargar.
          Las opciones de la sección Registro de transacciones se encuentran inactivas salvo que vaya a realizar una copia de seguridad de un registro de transacciones (según se haya especificado
          en la sección Tipo de copia de seguridad de la página General).
          17 .SQL Server 2008 Enterprise y versiones posteriores admiten la compresión de copia de seguridad. De forma predeterminada, el hecho de que se comprima una copia de seguridad depende del valor de la opción de configuración del servidor backup-independientemente del valor predeterminado actual del servidor, puede comprimir una copia de seguridad activando Comprimir copia de seguridad y evitar la compresión activando No comprimir copia de seguridad.
          Para ver o cambiar el valor predeterminado actual de la compresión de copia de seguridad
          Nota: Como alternativa para crear copias de seguridad de la base de datos
                       
          s de poder proceder a la creación de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas. De esta manera, para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas. El sistema previsto por el estándar para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estándar), pero cada DBMS prevé un procedimiento propietario para crear una base de datos. Normalmente, se amplía el lenguaje SQL introduciendo una instrucción no prevista crieaconUna base de datos en un sistema relacional está compuesta por un conjunto de tablas, que corresponden a las relaciones del modelo relacional. En la terminología usada en SQL no se alude a las relaciones, del mismo modo que no se usa el término atributo, pero sí la palabra columna, y no se habla de tupla, sino de línea. A continuación se usarán indistintamente ambas terminologías, por lo que tabla estará en lugar de relación, columna en el de atributo y línea en el de tupla, y viceversa.
          Prácticamente, la creación de la base de datos consiste en la creación de las tablas que la componen. En realidad, anteen el estándar: "CREATE DATABASE".
          La sintaxis empleada por PostgreSQL, pero también por las DBMS más difundidas, es la siguiente:

          CREATE DATABASE nombre_base de datos

          Con PostgreSQL está a disposición una orden invocable por shell Unix (o por shell del sistema usado), que ejecuta la misma operación:

          createdb nombre_base de datos

          Para crear nuestra base de datos bibliográfica, usaremos pues la orden:

          createdb biblio

          Una vez creada la base de datos, se pueden crear las tablas que la componen. La instrucción SQL propuesta para este fin es:

          CREATE TABLE nombre_tabla (
          nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ]
          [ , nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ] ... ]
          [ , [ vínculo_de tabla] ... ] )


          nombre_columna: es el nombre de la columna que compone la tabla. Sería mejor no exagerar con la longitud de los identificadores de columna, puesto que SQL Entry Level prevé nombres con no más de 18 caracteres. Consúltese, de todos modos, la documentación de la base de datos específica. Los nombres tienen que comenzar con un carácter alfabético.

          tipo_columna: es la indicación del tipo de dato que la columna podrá contener. Los principales tipos previstos por el estándar SQL son:
          • CHARACTER(n)
            Una cadena de longitud fija con exactamente n caracteres. CHARACTER se puede abreviar con CHAR
          • CHARACTER VARYING(n)
            Una cadena de longitud variable con un máximo de n caracteres. CHARACTER VARYING se puede abreviar con VARCHAR o CHAR VARYING.
          • INTEGER
            Un número estero con signo. Se puede abreviar con INT. La precisión, es decir el tamaño del número entero que se puede memorizar en una columna de este tipo, depende de la implementación de la DBMS en cuestión.
          • SMALLINT
            Un número entero con signo y una precisión que no sea superior a INTEGER.
          • FLOAT(p)
            Un número con coma móvil y una precisión p. El valor máximo de p depende de la implementación de la DBMS. Se puede usar FLOAT sin indicar la precisión, empleando, por tanto, la precisión por defecto, también ésta dependiente de la implementación. REAL y DOUBLE PRECISION son sinónimo para un FLOAT con precisión concreta. También en este caso, las precisiones dependen de la implementación, siempre que la precisión del primero no sea superior a la del segundo.
          • DECIMAL(p,q)
            Un número con coma fija de por lo menos p cifras y signo, con q cifras después de la coma. DEC es la abreviatura de DECIMAL. DECIMAL(p) es una abreviatura decimal(P;O):



            *lectura*
            el acceso de lectura y escritura como de intento de lectura se permiten en la réplica principal. No se permiten conexiones en las réplicas secundarias de un grupo de disponibilidad AlwaysOn. En este tema se describe cómo se configura el acceso de conexión de una réplica de disponibilidad de un grupo de disponibilidad AlwaysOn en SQL Server 2012 mediante SQL Server Management Studio, Transact-SQL o PowerShell.
            Para obtener información acerca de las implicaciones de habilitar el acceso de solo lectura en una réplica secundaria y una introducción al acceso de conexión, vea Acerca del acceso de conexión de cliente a réplicas de disponibilidad (SQL Server) y Secundarias activas: réplicas secundarias legibles (grupos de disponibilidad AlwaysOn).

    miércoles, 5 de junio de 2013

    CONCLUSIONES BASICAS DE SQL

                     CONCLUSIONES BASICAS DE  SQL

     

    SQL  nos permite ingresar comandos  o sentencias  de tal mqanera  que podemos  administrar   o crear  una base de datos  esta variedad de comandos nos pernite  generar informacion  datos desde la creacion , modificacion  o mantenimiento  a tablas  las culaes tambien  nos permiten  recuperar  datos  o importarlas  de varias maneras es digicil  imaginar   hoy en dia  la consentracion  u informacion  sin base de datos  las pequeñas o grandes industrias  tiene  como base   de su sistenma  infornmacion la construccion  de  bases de datos  con las que podemos tener  una gran versatibilidad  incluso  con  equipos  maingrame.


      LA SEGURIUDAD


    En la base de datos  es muy  importamte  debido   a que  garantiza  la  integridad fisica  y logica  de los  datos (INFORMACION).


          LA MIGRACION   DE LOS DATOS

    La migracion   o exportacion  de datos   se puede  dar  de   varias  maneras  .como   archivos  de tipo   texto  ,hojas  de  calculo  archivos de texto  sin  formato  etc.

    Dentro de la nube  de internet debido  ala   confiabilidad de las  bases de datos  estas  mismas   pueden   ser mamipiuladas  dsde aplicaciones  de internet de3 forma eficiente  y segura.

    lunes, 3 de junio de 2013


    El SQL (Structured query language), lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de investigación de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en un estándar  de lenguaje de bases de datos, y la mayoría de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores personales, hasta grandes ordenadores.

    Por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL que puede variar de un sistema a otro, pero con cambios que no suponen ninguna complicación para alguien que conozca un SQL concreto, como el que vamos a ver aquí corespondiente al Access2000.

    Como su nombre indica, el SQL nos permite realizar consultas a la base de datos. Pero el nombre se queda corto ya que SQL además realiza funciones de definición, control y gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad dando origen a tres ‘lenguajes’ o mejor dicho sublenguajes:

    el DDL (Data Description Language), lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro)

    el DCL (Data Control Language), lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.
    el DML (Data Manipulation Language), lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.
    Características del lenguaje
    Una sentencia SQL es como una frase (escrita en inglés ) con la que decimos lo que  queremos obtener y de donde obtenerlo.
    Todas las sentencias empiezan con un verbo (palabra reservada que indica la acción a realizar), seguido del resto de cláusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintáctico como el que se muestra a continuación.
    Cómo interpretar un diagrama sintáctico



    Las palabras que aparecen en mayúsculas son palabras reservadas se tienen que poner tal cual y no se pueden utilizar para otro fin, por ejemplo, en el diagrama de la figura tenemos las palabras reservadas SELECT, ALL, DISTINCT, FROM, WHERE.
    Las palabras en minúsculas son variables que el usuario deberá sustituir por un dato concreto. En el diagrama tenemos nbcolumna, expresion-tabla y condicion-de-busqueda.




    Para crear una consulta de selección, seguir los siguientes pasos:

    Abrir la base de datos donde se encuentra la consulta a crear.

    Hacer clic sobre el objeto Consulta que se encuentra a la izquierda de la ventana de la base de datos.

    Hacer clic sobre el botón Nuevo de la ventana de la base de datos.

     




    Aparecerá el siguiente cuadro de diálogo:

    Seleccionar Vista Diseño.
    Hacer clic sobre el botón Acepta
    r.















    Hacer clic sobre el botón , este botón es el que permite elegir la vista de la consulta, puede adoptar una de estas tres formas


    Al apretar el botón cerrar de la pantalla anterior se abre esta ventana donde introducimos la sentencia SQL.
    Una vez escrita sólo nos queda ver si está bien hecha.
    Hacer clic sobre el botón de la
    barra de herramientas para ejecutar la sentencia.

    Si nos hemos equivocado a la hora de escribir la sintaxis, Access nos saca un mensaje de error y muchas veces el cursor se queda posicionado en la palabra donde ha saltado el error. Ojo, a veces el error está antes o después de donde se ha quedado el cursor.

    Si no saca ningún mensaje de error, esto quiere decir que la sentencia respeta la sintaxis definida, pero esto no quiere decir que la sentencia esté bien, puede que no obtenga lo que nosotros queremos, en este caso habrá que rectificar la sentencia.
    Guardar la consulta haciendo clic sobre el botón de la barra de herramientas.
    Objetivo




    Empezaremos por estudiar la sentencia SELECT, que permite recuperar datos de una o varias tablas. La sentencia SELECT es con mucho la más compleja y potente de las sentencias SQL. Empezaremos por ver las consultas más simples, basadas en una sola tabla.

    Esta sentencia forma parte del DML (lenguaje de manipulación de datos), en este tema veremos cómo seleccionar columnas de una tabla, cómo seleccionar filas y cómo obtener las filas ordenadas por el criterio que queramos.

    El resultado de la consulta es una tabla lógica, porque no se guarda en el disco sino que está en memoria y cada vez que ejecutamos la consulta se vuelve a calcular.

    Cuando ejecutamos la consulta se visualiza el resultado en forma de tabla con columnas y filas, pues en la SELECT tenemos que indicar qué columnas ueremqos que tenga el resultado y qué filas queremos seleccionar de la tabla origen.








    Sintaxis de la sentencia SELECT (consultas simples)












    Con la cláusula FROM indicamos en qué tabla tiene que buscar la información. En este capítulo de consultas simples el resultado se obtiene de una única tabla. La sintaxis de la cláusula es:
    FROM
    especificación de tabla

    Una especificación de tabla puede ser el nombre de una consulta guardada (las que aparecen en la ventana de base de datos), o el nombre de una tabla que a su vez puede tener el siguiente formato:








    Aliastabla es un nombre de alias, es como un segundo nombre que asignamos a la tabla, si en una consulta definimos un alias para la tabla, esta se deberá nombrar utilizando ese nombre y no su nombre real, además ese nombre sólo es válido en la consulta donde se define. El alias se suele emplear en consultas basadas en más de una tabla que veremos en el tema siguiente. La palabra AS que se puede poner delante del nombre de alias es opcional y es el valor por defecto por lo que no tienen ningún efecto.
    Ejemplo: SELECT ......FROM oficinas ofi ; equivalente a SELECT ......FROM oficinas AS ofi esta sentencia me indica que se van a buscar los datos en la tabla oficinas que queda renombrada en esta consulta con ofi.

    En una SELECT podemos utilizar tablas que no están definidas en la base de datos (siempre que tengamos los permisos adecuados claro), si la tabla no está en la base de datos activa, debemos indicar en qué base de datos se encuentra con la cláusula IN.

    En la cláusula IN el nombre de la base de datos debe incluir el camino completo, la extensión (.mdb), y estar entre comillas simples.
    Supongamos que la tabla empleados estuviese en otra base de datos llamada otra en la carpeta c:\mis documentos\, habría que indicarlo así:

    SELECT *
    FROM empleados IN 'c:\mis documentos\otra.mdb'

    Generalmente tenemos las tablas en la misma base de datos y no hay que utilizar la cláusula IN.





    Selección de columnas


    La lista de columnas que queremos que aparezcan en el resultado es lo que llamamos lista de selección y se especifica delante de la cláusula FROM.