Página anterior Volver al principio del trabajoPágina siguiente 

Operaciones sobre bases de datos (página 2)


Partes: 1, 2, 3


  • 3. Integridad Relacional

  • 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:\databases\gestion.mdb';

En donde c:\databases\gestion.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.


Partes: 1, 2, 3


 Página anterior Volver al principio del trabajoPágina siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 

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.