UNIVERSIDAD NACIONAL DE INGENIERIA. Microsoft. SQL Server Express Edición. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD NACIONAL DE INGENIERIA. Microsoft. SQL Server 2005. Express Edición. Profesor Henry Chavez Viera SQL Server 2005 Express Pag."

Transcripción

1

2 Microsoft SQL Server 2005 Express Edición Profesor Henry Chavez Viera SQL Server 2005 Express Pag.2

3 Presentacion Microsoft SQL Server 2005 Express Edición (SQL Server Express) es una plataforma de base de datos que se basa en Microsoft SQL Server Es también la sustitución de Microsoft Desktop Engine (MSDE). Gracias a su integración con Microsoft Visual Studio 2005, SQL Server Express facilita el desarrollo de aplicaciones controladas por datos con gran variedad de funciones, que mejoran la seguridad del almacenamiento y se implementan con rapidez. SQL Server Express se descarga gratuitamente y se puede redistribuir previo acuerdo entre las partes. Cada edición puede servir como base de datos cliente y como base de datos básica de servidor. Ambas ediciones de SQL Server Express constituyen una opción idónea para fabricantes independientes de software (ISV), usuarios de servidor, programadores no profesionales, programadores Web, alojamientos de sitios Web y aficionados a crear aplicaciones cliente. Si necesita características de base de datos más avanzadas, puede actualizar SQL Server Express a versiones más sofisticadas de SQL Server Microsoft SQL Server 2005 Express Edición (SQL Server Express) se basa en Microsoft SQL Server 2005 y admite la mayoría de las características del Database Engine (Motor de base de datos) de ese producto y de las versiones anteriores de Microsoft SQL Server. Si crea y diseña una base de datos en SQL Server Express, puede migrarla a SQL Server Sin embargo, no podrá utilizar la base de datos de SQL Server Express con versiones anteriores de SQL Server, como SQL Server MCTS. Henry Chavez Viera Docente de sistemas UNI Profesor Henry Chavez Viera SQL Server 2005 Express Pag.3

4 Las 10 Características más importantes sobre SQL Server 2005 Express Edition Soporte integrado para el common language runtime (CLR). Los procesos y funciones almacenados pueden ser escritos utilizando tu lenguaje de programación favorito. Soporte XML nativo. Soporte de XCopy para mover Bases de Datos de un sitio a otro. Instalación robusta y fiable utilizando tanto el interfaz gráfico de usuario (graphical user interface - GUI) como el modo silencioso. Servicio y parcheado automatizado. Profunda integración con Visual Studio para proporcionar acceso a ricos controles de datos como DataGridView, DataNavigator, y DataConnector. Soporte para Bases de Datos de hasta 4GB. Soporte para sistemas desconectados con SQL Server Service Broker and Replication. SQL Server Express Manager, una nueva y sencilla de usar herramienta de gestión de bases de datos y análisis de queries. Implantación más sencilla mediante Visual Studio ClickOnce. En la siguiente lista se destacan los componentes principales de SQL Server 2005 que no son compatibles con SQL Server Express: Reporting Services Notification Services Integration Services Analysis Services Búsqueda de texto Servicios OLAP y minería de datos Requisitos de instalacion En la tabla siguiente se muestran los requisitos previos de software y los requisitos mínimos de hardware y software para ejecutar Microsoft SQL Server 2005 Express Edition (SQL Server Express). Para determinar si su equipo cumple los requisitos del sistema, en el menú Inicio, haga clic con el botón secundario en Mi PC y, a continuación, haga clic en Propiedades. En la ficha General se muestra el tipo de CPU y la velocidad, así como la cantidad de memoria instalada (RAM). Requisitos previos de software Microsoft.NET Framework 2.0 SP1 de Microsoft Internet Explorer 6.0 o posterior Profesor Henry Chavez Viera SQL Server 2005 Express Pag.4

5 (requisito previo para.net Framework) RAM Mínimo: 192 MB Recomendado: 512 MB o más Espacio en el disco duro 600 MB de espacio libre Compatible con Pentium III o superior Procesador Mínimo: 500 MHz Recomendado: 1 GHz o más Windows Server 2003 SP1 Windows Server 2003 Enterprise Edition SP1 Windows Server 2003 Datacenter Edition SP1 Windows Small Business Server 2003 Standard Edition SP1 Windows Small Business Server 2003 Premium Edition SP1 Sistema operativo Windows XP Professional SP2 Windows XP Home Edition SP2 Windows XP Tablet Edition SP2 Windows XP Media Edition SP2 Windows 2000 Professional Edition SP4 Windows 2000 Server Edition SP4 Windows 2000 Advanced Edition SP4 Windows 2000 Datacenter Server Edition SP4 Profesor Henry Chavez Viera SQL Server 2005 Express Pag.5

6 S SESION 1 Qué es el SQL Server? Herramientas del sistema del SQL Server 2005 EE. Roles y responsabilidades del implementado de base de datos. Bases de datos. Componentes lógicos: registro de datos y registro de transacciones. Componentes físicos: archivos y grupos de archivos de bases de datos. Catálogos del sistema. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.6

7 Herramientas del sistema del SQL Server 2005 EE Configuración de SQL Server Una vez instalado la versión Express de SQL Server 2005 veamos que ha quedado instalado en nuestro pc, para ello acudimos al menú de inicio, todos los programas y localizamos el paquete añadido por nuestra instalación: Vemos que dentro del paquete Microsoft SQL Server 2005, accedemos a un menú con unas herramientas de configuración, estas herramientas son: De estas herramientas, para nuestros intereses nos basta con conocer la primera de todas (SQL Server Configuration Manager). Desde ella podremos configurar el acceso y el modo de arranque de nuestro servidor de datos. Arrancamos la aplicación y nos encontramos la siguiente pantalla: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.7

8 De todas las posibles herramientas de configuración a las que podemos optar nosotros tenemos que destacar la primera de todas, SQL Server 2005 Services, desde la cual podremos configurar dos de los aspectos más importantes de nuestro servidor. Por lo tanto hacemos doble click en el icono correspondiente y accedemos a los servidores de bases de datos instalados en nuestro pc. Teniendo que configurar el primero de todos: Haciendo click con el botón derecho accedemos al menú desde el cual vemos que tenemos habilitadas una serie de opciones. El primer bloque de opciones hace referencia al estado de nuestro servidor, la opción propiedades para configuración y la última una pequeña ayuda que nos ofrecen en la instalación. De nuevo, podemos comparar el servicio de base de datos de SQL Server 2005, con el servicio de páginas Web de IIS, como ya conoces, desde la configuración de IIS tenemos la opción de configurar una serie de propiedades, y establecer el estado del servidor de páginas web. De igual manera desde SQL Server Configuration Manager, podemos realizar estas mismas tareas sobre los servicios de base de datos. Opción: Función: start Para activar nuestro servidor de modo manual. Si el servidor se encuentra en funcionamiento, lógicamente esta función aparecerá deshabilitada, lo mismo sucederá con el resto de opciones. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.8

9 stop pause resume restart propiedades ayuda Detiene el servidor. Detiene el servidor momentáneamente. Una vez detenido el servidor mediante "pause", lo vuelve a poner en marcha. Detiene el servidor, e inmediatamente vuelve a activarlo. Accedemos a una ventana para llevar a cabo varias configuraciones. Pequeña ayuda sobre este servicio. Veamos ahora como configurar ciertos aspectos del servidor desde la ventana de configuración que aparece pulsando sobre propiedades: La ventana aparece con la pestaña Iniciar sesion, activada, desde esta ventana configuramos los permisos de acceso al servidor. Es muy importante configurar debidamente estos accesos. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.9

10 Primero podemos indicar el modo de la cuenta, o bien indicar que la cuenta será la activada en nuestro servidor. En nuestro caso lo configuraremos para que el administrador de nuestro pc sea el usuario predeterminado para tener permisos de administración. Cuando instalamos nuestros servicios en el servidor de una empresa debemos operar de diferente método, creando un usuario específico para la administración de la base de datos, es bastante lógico crear un usuario para esta tarea, ya que es posible que modifiquemos las características de usuarios para otras tareas y para que estos cambios no afecten a SQL Server es mejor que tenga un único usuario fijo para esta tarea. Y por último tenemos a nuestra disposición una serie de botones para actuar sobre el estado del servidor. Sigamos con la configuración pinchando en la pestaña Service. Destacamos la propiedad Modo de inicio, desde ella podemos habilitar 3 modos diferentes de activar nuestro servidor: Opción: Función: Automatico Con esta opción, el servidor arrancará conjuntamente con el sistema, es decir, cuando nuestro sistema operativo arranque, el servidor de base de datos se activará automáticamente, esta es la opción más habitual y recomendad, ya que Profesor Henry Chavez Viera SQL Server 2005 Express Pag.10

11 nuestro servidor estará permanentemente ofreciendo sus servcios. Deshabilitado Manual Deshabilitamos el arranque del servidor. El modo de gestionar el estado del servidor será manual por parte del desarrollador mediante las opciones que vimos anteriormente. No entraremos a explicar las opciones avanzadas ya que no entraría dentro de los objetivos de este curso. En el siguiente video se explica detenidamente como dejar configurado nuestro servidor, presta atención a todos los aspectos explicados. Herramienta de administración y gestión de SQL Server 2005 Con la instalación y la configuración que acabamos de ver ya podríamos comenzar a trabajar con las bases de datos. Para crear y gestionar nuestras tablas, procedimientos almacenados, etc nos veríamos obligados a hacerlo desde Visual Studio. Pero, como ya sabes, el objetivo final del curso es el desarrollo de una aplicación profesional, para la cual nuestra base de datos estará integrada de una gran cantidad de tablas y procedimientos almacenados. Por este motivo, nos ayudaremos de una segunda herramienta que nos permita administrar nuestra base de datos, realizar comprobaciones, y otro tipo de tareas. Esta segunda herramienta es Sql Server Management Studio Express, la cual no se instala con la herramientas de configuración y debemos descargarla por separado desde la página de Microsoft. Por si nunca la has descargado o instalado te dejo el enlace para descargarla, basta con descargar y seguir el asistente de instalación, es el mismo enlace que has encontrado en el anterior capitulo. Una vez instalada esta herramienta, vemos que ha sido añadida a nuestro paquete de software de SQL Server 2005: Con SQL Server Management Studio hemos instalado un conjunto de herramientas para realizar todas las tareas necesarias. Nota: Si has desarrollado bases de datos con SQL Server 2000, debes saber que con SQL Server Management Studio se instalan todas las herramientas en una sóla, y no en paquetes separados. Vamos a ir viendo paso a paso, como trabajar con esta herramienta. De modo que al finalizar este capítulo, tengamos creada una base de datos y seas capaz más adelante de crear tus propias bases de datos, con sus tablas bien estructuradas, Profesor Henry Chavez Viera SQL Server 2005 Express Pag.11

12 etc... Por lo tanto combinaremos explicaciones sobre SQL Server Mangement Studio con otros aspectos importantes del diseño de base de datos. Comencemos con la herramienta, desde el menú de inicio arrancamos la aplicación y nos encontramos con una ventana de conexión. Desde esta ventana, te debe recordar a lo explicado en las herramientas de configuración. Antes de comenzar a trabajar con el administrador, debemos indicar a que servidor y con que usuario queremos conectar y entrar al administrador. Propiedad: Opciones: Función: Nombre del servidor: Elegimos el servidor con el que conectaremos. El nombre del servidor, que elijamos para conectar con el administrador. Debes recordar este nombre, porque será el que tengas que utilizar en las cadenas de conexión desde.net. Autenticacion: Autenticacion Windows Autenticacion SQL Server Si elegimos la opción " Autenticacion Windows" estaremos conectando con la misma cuenta de usuario con la que iniciamos nuestro sistema. Trabajaremos con esta opción a lo largo del curso. Si seleccionamos " Autenticacion SQL Server" deberemos indicar con que cuenta vamos a conectar e introducir la Profesor Henry Chavez Viera SQL Server 2005 Express Pag.12

13 contraseña específica para conectar con SQL Server. Con la versión SQL Server 2005 Express es más recomendable trabjar con "Windows Authentication" ya que de otro modo podemos encontrar problemas por la limitación de la versión gratuita. Elegidas nuestras opciones adecuadas pulsaremos en conectar, en ese momento nos muestra una ventana con el proceso de conexión y si todo ha resultado correcto, arranca nuestra herramienta de administración. Nota: En este curso utilizaremos esta herramienta para diseñar bases de datos, crear cuentas de usuario y ejecutar nuestras sentencias SQL, necesarias para la gestión de datos, mediante el administrador de consultas. Todo lo demás quedaría para un curso específico de administración y mantenimiento de bases de datos con SQL Server Por lo tanto no te preocupes al observar que no se explican todas las características, ya que las tareas que vamos a aprender, son las necesarias para desarrollar nuestras aplicaciones. Bases de datos de SQL Server Componentes lógicos: registro de datos y registro de transacciones. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.13

14 SQL Server 2005 asigna una base de datos a un conjunto de archivos del sistema operativo. Los datos y la información del registro nunca se mezclan en el mismo archivo, y cada archivo sólo es utilizado por una base de datos. Los grupos de archivos se denominan colecciones con nombre de archivos que se utilizan como ayuda en tareas de colocación de datos y administrativas, como las operaciones de copia de seguridad y restauración. Las bases de datos de SQL Server 2005 utilizan tres tipos de archivos: Archivos de datos principales El archivo de datos principal es el punto de partida de la base de datos y apunta a los otros archivos de la base de datos. Cada base de datos tiene un archivo de datos principal. La extensión recomendada para los nombres de archivos de datos principales es.mdf. Archivos de datos secundarios Los archivos de datos secundarios son todos los archivos de datos menos el archivo de datos principal. Puede que algunas bases de datos no tengan archivos de datos secundarios, mientras que otras pueden tener varios archivos de datos secundarios. La extensión de nombre de archivo recomendada para los archivos de datos secundarios es.ndf. Archivos de registro Los archivos de registro almacenan toda la información de registro que se utiliza para recuperar la base de datos. Como mínimo, tiene que haber un archivo de registro por cada base de datos, aunque puede haber varios. La extensión de nombre de archivo recomendada para los archivos de registro es.ldf. En SQL Server 2005, las ubicaciones de todos los archivos de una base de datos se graban tanto en el archivo principal de la base de datos como en la base de datos master. SQL Server Database Engine (Motor de base de datos de SQL Server) utiliza casi siempre la información de ubicación del archivo de la base de datos master. Sin embargo, Database Engine (Motor de base de datos) utiliza la información de ubicación del archivo principal para inicializar las entradas de ubicación de archivos de la base de datos master en las siguientes situaciones: Al adjuntar una base de datos mediante la instrucción CREATE DATABASE con la opción FOR ATTACH Al actualizar de SQL Server versión 2000 o versión 7.0 a SQL Server Al restaurar la base de datos master. Los archivos de SQL Server 2005 tienen dos nombres: logical_file_name logical_file_name es el nombre que se utiliza para hacer referencia al archivo en todas las instrucciones Transact-SQL. El nombre de archivo lógico tiene que cumplir las reglas de los identificadores de SQL Server y tiene que ser único entre los nombres de archivos lógicos de la base de datos. os_file_name os_file_name es el nombre del archivo físico que incluye la ruta de acceso al directorio. Debe seguir las reglas para nombres de archivos del sistema operativo. La siguiente ilustración muestra ejemplos de los nombres de archivo lógico y físico de una base de datos creada en una instancia predeterminada de SQL Server 2005: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.14

15 Los archivos de datos y de registro de SQL Server se pueden colocar en sistemas de archivos FAT o NTFS. Se recomienda utilizar el sistema de archivos NTFS por las características de seguridad que ofrece. No se pueden colocar grupos de archivos de datos de lectura y escritura, y archivos de registro, en un sistema de archivos NTFS comprimido. Sólo las bases de datos de sólo lectura y los grupos de archivos secundarios de sólo lectura se pueden colocar en un sistema de archivos NTFS comprimido. Para obtener más información, vea Grupos de archivos de sólo lectura y compresión. Cuando se ejecutan varias instancias de SQL Server en un único equipo, cada instancia recibe un directorio predeterminado diferente para albergar los archivos de las bases de datos creadas en la instancia. Páginas de archivo de datos Las páginas de un archivo de SQL Server 2005 están numeradas secuencialmente, comenzando por 0 para la primera página del archivo. Cada archivo de una base de datos tiene un número de identificador único. Para identificar de forma única una página de una base de datos, se requiere el identificador del archivo y el número de la página. El siguiente ejemplo muestra los números de página de una base de datos que tiene un archivo de datos principal de 4 MB y un archivo de datos secundario de 1 MB. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.15

16 La primera página de cada archivo es una página de encabezado de archivo que contiene información acerca de los atributos del archivo. Algunas de las otras páginas del comienzo del archivo también contienen información de sistema, como mapas de asignación. Una de las páginas de sistema almacenadas en el archivo de datos principal y en el archivo de registro principal es una página de inicio de la base de datos que contiene información acerca de los atributos de la base de datos. Para obtener más información acerca de las páginas y los tipos de páginas, vea Páginas y extensiones. Tamaño de archivo Los archivos de SQL Server 2005 pueden crecer automáticamente a partir del tamaño originalmente especificado. Cuando se define un archivo, se puede especificar un incremento de crecimiento. Cada vez que se llena el archivo, el tamaño aumenta en la cantidad especificada. Si hay varios archivos en un grupo de archivos, no crecerán automáticamente hasta que todos los archivos estén llenos. A continuación, el crecimiento tiene lugar por turnos. Cada archivo también puede tener un tamaño máximo especificado. Si no se especifica un tamaño máximo, el archivo puede crecer hasta utilizar todo el espacio disponible en el disco. Esta característica es especialmente útil cuando SQL Server se utiliza como una base de datos incrustada en una aplicación para la que el usuario no dispone fácilmente de acceso a un administrador del sistema. El usuario puede dejar que los archivos crezcan automáticamente cuando sea necesario y evitar así las tareas administrativas de supervisar la cantidad de espacio libre en la base de datos y asignar más espacio manualmente. Catálogos del sistema Las aplicaciones dinámicas que no están codificadas de forma rígida para funcionar con un conjunto específico de tablas y vistas deben disponer de un mecanismo para determinar la estructura y los atributos de los objetos de cualquier base de datos a la que se conectan. Las aplicaciones pueden necesitar información como la siguiente: El número y nombre de las tablas y vistas de una base de datos. El número de columnas de una tabla o vista, junto con el nombre, el tipo de datos, la escala y la precisión de cada columna. Las restricciones definidas en una tabla. Los índices y las claves definidos para una tabla. El catálogo del sistema de SQL Server 2005 proporciona esta información para las bases de datos de SQL Server. El núcleo de los catálogos del sistema de SQL Server 2005 es un conjunto de vistas que muestran metadatos que describen los objetos de una instancia de SQL Server. Los metadatos son datos que describen los atributos de los objetos de un sistema Profesor Henry Chavez Viera SQL Server 2005 Express Pag.16

17 S SESION 2 Generación de scripts en SQL Transact. Lenguaje SQL Transact DML para la manipulación de los datos. Inserción de filas - sentencia INSERT. Actualización de filas - sentencia UPDATE. Eliminación de filas - sentencia DELETE Profesor Henry Chavez Viera SQL Server 2005 Express Pag.17

18 GENERACIÓN DE SCRIPTS EN SQL TRANSACT Transact-SQL es fundamental para trabajar con SQL Server. Todas las aplicaciones que se comunican con SQL Server lo hacen enviando instrucciones Transact-SQL al servidor, independientemente de la interfaz de usuario de la aplicación En esta lección se muestra cómo crear una base de datos, crear una tabla en la base de datos y, a continuación, tener acceso a los datos de la tabla y cambiarlos. Puesto que esta lección es una introducción al uso de Transact-SQL, no usa ni describe las múltiples opciones disponibles para estas instrucciones. Las instrucciones de Transact-SQL se pueden escribir y enviar a Database Engine (Motor de base de datos) de las siguientes maneras: Mediante el uso de SQL Server Management Studio. En este tutorial se supone que se usa Management Studio, pero también puede usarse Management Studio Express, disponible como descarga gratuita en el Centro de descargas de Microsoft. MICROSOFT SQL SERVER MANAGEMENT STUDIO EXPRESS Microsoft SQL Server Management Studio Express (SSMSE) es una herramienta gráfica de administración gratuita y fácil de usar para SQL Server 2005 Express Edition y SQL Server 2005 Express Edition with Advanced Services. ABRIR SQL SERVER MANAGEMENT STUDIO Para abrir SQL Server Management Studio 1. En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server 2005 y, a continuación, haga clic en SQL Server Management Studio. 2. En el cuadro de diálogo Conectar al servidor, compruebe la configuración predeterminada y, a continuación, haga clic en Conectar. Para conectarse, el cuadro Nombre del servidor debe contener el nombre del equipo en el que está instalado SQL Server. Si Database Engine (Motor de base de datos) es una instancia con nombre, el cuadro de nombre de servidor también debe contener el nombre de la instancia con el formato<nombredeequipo>\<nombredeinstancia> Profesor Henry Chavez Viera SQL Server 2005 Express Pag.18

19 2- Con el botón derecho (o el botón secundario), pulsa en Bases de datos y del menú selecciona Nueva base de datos, tal como te muestro en la figura 2. Figura 2. Crear una nueva base de datos 3- Eso hará que te muestre una ventana como la de la figura 3. A la base de datos, le vas a dar el nombre PruebasGuille, así que escribe ese nombre en la caja de textos correspondiente y después pulsa en el botón Aceptar. Figura 3. Cuadro de diálogo de Nueva base de datos Profesor Henry Chavez Viera SQL Server 2005 Express Pag.19

20 COMANDO CREATE DATABASE Sintaxis del comando Create Database: NAME = Nombre_del_archivo_lógico, FILENAME = Nombre_del_archivo_en_el_sistema (path completo) SIZE = TAMAÑO (inicial) MAXSIZE = (tamaño_máximo UNLIMITED) (Tamaño máximo que puede tener la base de datos, UNLIMITED = tamaño ilimitado) FILEGROWTH = Incremento del archivo (crecimiento en MB) 1. Ahora crearemos la base de Datos Ventas /*Crear la base de datos con el comando Create database*/ CREATE DATABASE VENTAS ON /*Generando el archivo de datos*/ ( NAME = ventas_data, FILENAME = 'c:\program files\microsoft sql server\mssql\data\ventas_data.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) /*Generando el archivo de registro*/ LOG ON ( NAME = Pruebas_log', FILENAME = 'c:\program files\microsoft sql server\mssql\data\ventas_log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) Seleccione todas las instrucciones y pulse F5 ABRIR SU BASE DE DATOS 1. Escribe el comando siguiente : USE VENTAS 2. Seleccione el comando y pulse F5 Profesor Henry Chavez Viera SQL Server 2005 Express Pag.20

21 MODIFICAR UNA BASE DE DATOS CREADA COMANDO ALTER DATABASE Añade o elimina archivos o grupos de archivos de una base de datos. Se puede usar también para modificar las propiedades de archivos y grupos de archivos CREATE DATABASE BDEMPRESA ON ( NAME = Emp_dat1, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Data\Emp_dat1.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO ALTER DATABASE BDEMPRESA ADD FILE ( NAME = Emp_dat2, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Data\Emp_dat2.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO AÑADIR UN GRUPO DE ARCHIVOS A LA BASE DE DATOS USE master GO ALTER DATABASE VENTAS ADD FILEGROUP GP_VENTAS GO ALTER DATABASE VENTAS ADD FILE ( NAME = Ventas_dat3, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Data\Ventas_dat3.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB), ( NAME =ventas_dat4, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Data\Ventas_dat4.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB) TO FILEGROUP GP_VENTAS ALTER DATABASE BDEMPRESA MODIFY FILEGROUP GPVENTAS DEFAULT Profesor Henry Chavez Viera SQL Server 2005 Express Pag.21

22 AÑADIR ARCHIVOS LOG A LA BASE DE DATOS USE master GO ALTER DATABASE BDEMPRESA ADD LOG FILE ( NAME = Emp_log2, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Emp_log2.ldf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB), ( NAME =Fact_log3, FILENAME = 'c:\program Files\Microsoft SQL Server\MSSQL\Emp_log3.ldf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB) GO ELIMINAR FICHEROS DE LA BASE DE DATOS USE MASTER GO ALTER DATABASE DBEMPRESA REMOVE FILE Emp_dat4 GO MODIFICAR UN ARCHIVO DE DATOS USE master GO ALTER DATABASE BDEMPRESA MODIFY FILE (NAME = Emp_dat3, SIZE = 20MB) GO CAMBIAR EL NOMBRE A UNA BASE DE DATOS El comando Alter Database no permite cambiar el nombre a una base de datos en su lugar utilice el procedimiento almacenado SP_RENAMEDB Este ejemplo cambia el nombre de la base de datos BDEMPRESA por BDNEPTUNO EXEC sp_renamedb 'BDEMPRESA', 'BDNEPTUNO' Profesor Henry Chavez Viera SQL Server 2005 Express Pag.22

23 CREACIÓN DE TABLAS Para crear una tabla en su base de datos utilice el comando CREATE TABLE COMANDO CREATE TABLE CREATE TABLE Empleados (Nombre VARCHAR (25), Apellidos VARCHAR (50)) (Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre de tipo VarChar y longitud 25 y otro llamado apellidos con longitud 50). CREATE TABLE Empleados ( Nombre VARCHAR (10), Apellidos VARCHAR, FechaNacimiento DATETIME ) CONSTRAINT Índicegeneral UNIQUE ( Nombre, Apellidos, FechaNacimiento) Resultado: Tabla Empleados Nombre Apellidos FechaNacimiento (Crea una nueva tabla llamada Empleados con un campo Nombre de tipo texto (Varchar) y longitud 10, otro con llamado Apellidos de tipo texto (Varchar) y longitud predeterminada (50) y uno más llamado FechaNacimiento de tipo Fecha/Hora.(Datetime) También crea un índice único - no permite valores repetidos - formado por los tres campos.) GENERAR UNA TABLA CON UN CAMPO AUTONUMERICO El valor IDENTITY define que el campo Idalumno es autonumerico y empieza en el valor 100 y se incrementara de 1 en 1 PRIMARY KEY que el campo IDALUMNO es Clave Primaria de la tabla NOT NULL El ingreso de este dato es obligatorio CREATE TABLE ALUMNOS (IDALUMNO INT NOT NULL IDENTITY(100,1) PRIMARY KEY, NOMBRE VARCHAR(40) NOT NULL, APELLIDOS VARCHAR(40) NOT NULL, SEXO BIT NOT NULL, FECHANACIMIENTO DATETIME NOT NULL) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.23

24 GENERAR UN CAMPO AUTOGENERADO Se puede generar un campo que sera el producto de una operación entre otros campos Por ejemplo PROMEDIO es el producto del calculo de la suma de N1+N2+N3 CREATE TABLE NOTAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, N1 DECIMAL NOT NULL, N2 DECIMAL NOT NULL, N3 DECIMAL NOT NULL, PROMEDIO AS N1+N2+N3, APROBADO BIT NOT NULL) GENERAR UN VALOR PREDETERMINADO PARA UN CAMPO CREATE TABLE CURSOS (IDCURSO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, NOMBRECURSO VARCHAR(35) NOT NULL, COSTO MONEY DEFAULT(200)) GENERAR UNA REGLA PARA UN CAMPO DE UNA TABLA CREATE TABLE MATRICULAS (IDMATRICULA INT NOT NULL PRIMARY KEY, FECHAMATRICULA DATETIME NOT NULL, PAGO MONEY CHECK (PAGO>100)) UTILIZAR EL TIPO DE DATOS UNIQUEIDENTIFIER EN UNA COLUMNA Este ejemplo crea una tabla con una columna UNIQUEIDENTIFIER. Utiliza una restricción PRIMARY KEY para impedir que los usuarios inserten valores duplicados y utiliza la función NEWID() de la restricción DEFAULT para proporcionar valores para las nuevas filas. CREATE TABLE PROFESORES (IDPROFESOR UNIQUEIDENTIFIER CONSTRAINT Guid_Default DEFAULT NEWID(), NOMBRES VARCHAR(60), CONSTRAINT Guid_PK PRIMARY KEY (IDPROFESOR) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.24

25 CREAR GENERAR UNA TABLA CON UN CAMPO AUTONUMERICO El valor IDENTITY define que el campo Idalumno es autonumerico y empieza en el valor 100 y se incrementara de 1 en 1 PRIMARY KEY que el campo IDALUMNO es Clave Primaria de la tabla NOT NULL El ingreso de este dato es obligatorio CREATE TABLE ALUMNOS (IDALUMNO INT NOT NULL IDENTITY(100,1) PRIMARY KEY, NOMBRE VARCHAR(40) NOT NULL, APELLIDOS VARCHAR(40) NOT NULL, SEXO BIT NOT NULL, FECHANACIMIENTO DATETIME NOT NULL) GENERAR UN CAMPO AUTOGENERADO Se puede generar un campo que sera el producto de una operación entre otros campos Por ejemplo PROMEDIO es el producto del calculo de la suma de N1+N2+N3 CREATE TABLE NOTAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, N1 DECIMAL NOT NULL, N2 DECIMAL NOT NULL, N3 DECIMAL NOT NULL, PROMEDIO AS N1+N2+N3, APROBADO BIT NOT NULL) GENERAR UN VALOR PREDETERMINADO PARA UN CAMPO CREATE TABLE CURSOS (IDCURSO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, NOMBRECURSO VARCHAR(35) NOT NULL, COSTO MONEY DEFAULT(200)) GENERAR UNA REGLA PARA UN CAMPO DE UNA TABLA CREATE TABLE MATRICULAS (IDMATRICULA INT NOT NULL PRIMARY KEY, FECHAMATRICULA DATETIME NOT NULL, PAGO MONEY CHECK (PAGO>100)) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.25

26 UTILIZAR EL TIPO DE DATOS UNIQUEIDENTIFIER EN UNA COLUMNA Este ejemplo crea una tabla con una columna UNIQUEIDENTIFIER. Utiliza una restricción PRIMARY KEY para impedir que los usuarios inserten valores duplicados y utiliza la función NEWID() de la restricción DEFAULT para proporcionar valores para las nuevas filas. CREATE TABLE PROFESORES (IDPROFESOR UNIQUEIDENTIFIER CONSTRAINT Guid_Default DEFAULT NEWID(), NOMBRES VARCHAR(60), CONSTRAINT Guid_PK PRIMARY KEY (IDPROFESOR) CREAR UNA TABLA CON UNA CLAVE PRIMARIA COMPUESTA CREATE TABLE [DETALLES DE PEDIDOS] (IDPEDIDO INT,IDPRODUCTO INT,CANTIDAD INT,PRECIOUNIDAD MONEY PRIMARY KEY(IDPEDIDO,IDPRODUCTO)) CREAR UNA TABLA EN UN GRUPO DE ARCHIVOS Este ejemplo crea la tabla NOTAS en un grupo GP_EVALUACIONES de la base de datos BDCOLEGIO CREADA ANTERIORMENTE CREATE TABLE NOTAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, N1 DECIMAL NOT NULL, N2 DECIMAL NOT NULL, N3 DECIMAL NOT NULL, PROMEDIO AS N1+N2+N3, APROBADO BIT NOT NULL) ON GP_EVALUACIONES Este ejemplo crea una tabla MATRICULAS y lo añade al grupo existente GP_MATRICULAS CREATE TABLE MATRICULAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, FECHAMATRICULA DATETIME NOT NULL, PROMEDIO AS N1+N2+N3) ON GP_MATRICULAS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.26

27 COMO CREAR TABLAS ESTABLECIENDO RELACION 1. Vamos a desarrollar el siguiente ejemplo de relacion de tablas para ello usaremos el Analizador de Consultas.El objetivo sera relacionar las tablas CATEGORIAS,PROVEEDORES Y PRODUCTOS aplicando la ACTUALIZACION Y ELIMINACION en CASCADA. Este ejemplo asume las tablas que CATEGORIAS Y PROVEEDORES ya existen CREATE TABLE PRODUCTOS (IDPRODUCTO INT IDENTITY NOT NULL PRIMARY KEY,NOMBREPRODUCTO VARCHAR(50), IDPROVEEDOR INT REFERENCES PROVEEDORES(IDPROVEEDOR) ON UPDATE CASCADE ON DELETE CASCADE, IDCATEGORIA INT REFERENCES CATEGORIAS(IDCATEGORÍA) ON UPDATE CASCADE ON DELETE CASCADE, CANTIDADPORUNIDAD INT,PRECIOUNIDAD MONEY,UNIDADESENEXISTENCIA INT, UNIDADESENPEDIDO INT,NIVELNUEVOPEDIDO TINYNT,SUSPENDIDO BIT) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.27

28 2. En este segundo ejemplo se crea una tabla PEDIDOS la cual se relaciona con las tablas CLIENTES y EMPLEADOS que ya existen CREATE TABLE PEDIDOS (IDPEDIDO INT IDENTITY NOT NULL PRIMARY KEY,FECHAPEDIDO, IDCLIENTE INT REFERENCES CLIENTES(IDCLIENTE) ON UPDATE CASCADE ON DELETE CASCADE, IDEMPLEADO INT REFERENCES EMPLEADOS(IDEMPLEADO) ON UPDATE CASCADE ON DELETE CASCADE, FECHAENVIO DATETIME,CARGO MONEY,UNIDADESENEXISTENCIA INT, UNIDADESENPEDIDO INT,NIVELNUEVOPEDIDO TINYNT,SUSPENDIDO BIT) PARA COMPROBAR LA ESTRUCTURA DE LA NUEVA TABLA UTILICE EL PROCEDIMIENTO ALMACENADO SP_HELP EJEMPLO : /*CURSOS es el nombrede la tabla*/ SP_HELP CURSOS El Comando Drop Table Elimina una tabla y todos sus datos, índices, disparadores, restricciones y permisos especificados para esa tabla. Cualquier vista o procedimiento almacenado que referencia dicha tabla debe ser explícitamente borrado, la instrucciñón DROP TABLE no lo hace. DROP TABLE MATRICULAS /* Elimina La Tabla Matriculas */ MODIFICAR TABLAS DE LA BASE DE DATOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.28

29 Entendemos por modificar una tabla, cambiar su estructura, es decir, añadir atributos, borrarlos, o cambiar la definición. La sentencia que permite modificar una tabla es la que muestra LA SENTENCIA ALTER TABLE Su sintaxis es la descrita en el Código fuente ALTER TABLE tabla ADD atrib tipo NULL Ejemplos Añadir una nueva columna a una tabla CREATE TABLE CONTACTOS ( TIPO AS VARCHAR(20),DIRECCION VARCHAR(50)) GO ALTER TABLE CONTACTOS ADD NOMBRECONTACTO VARCHAR(20) NOT NULL GO Eliminar una columna de una tabla ALTER TABLE CONTACTOS DROP COLUMN DIRECCION Añadir una nueva columna con una restricción ALTER TABLE CONTACTOS ADD EDAD TINYINT NULL CONSTRAINT ED_unique UNIQUE Añadir una restricción no validada a una tabla ALTER TABLE CONTACTOS WITH NOCHECK ADD CONSTRAINT Edad_check CHECK (EDAD > 1) GO Añadir varias columnas con restricciones ALTER TABLE CONTACTOS ADD /* Añadir una columna como clave primaria */ IDCONTACTO INT IDENTITY CONSTRAINT Idcontacto_pk PRIMARY KEY, /* Añadir una columna con una restricción de comprobacion */ CIUDAD VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK (column_d IS NULL OR column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR column_d LIKE "([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"), /* Añadir una columna con valor por defecto */ column_e DECIMAL(3,3) CONSTRAINT column_e_default DEFAULT.081 GO Añadir una columna con valor por defecto y NULL Profesor Henry Chavez Viera SQL Server 2005 Express Pag.29

30 ALTER TABLE VIDEOS ADD FECHAESTRENO smalldatetime NULL CONSTRAINT FECHA_C1 DEFAULT getdate() WITH VALUES Deshabilitar y habilitar una restricción CREATE TABLE empleado (id INT NOT NULL, nombre VARCHAR(10) NOT NULL, salario MONEY NOT NULL CONSTRAINT salario CHECK (salario < ) ) -- Inserciones validas INSERT INTO empleado VALUES (1,"Joe Brown",65000) INSERT INTO empleado VALUES (2,"Mary Smith",75000) -- Inserción que viola la restricción INSERT INTO empleado VALUES (3,"Pat Jones",105000) -- Deshabilitar la restricción ALTER TABLE empleado NOCHECK CONSTRAINT salario INSERT INTO empleado VALUES (3,"Pat Jones",105000) -- Habilitar la restricción ALTER TABLE empleado CHECK CONSTRAINT salario INSERT INTO empleado VALUES (4,"Eric James",110000) CON UNA CLAVE PRIMARIA COMPUESTA CREATE TABLE [DETALLES DE PEDIDOS] (IDPEDIDO INT,IDPRODUCTO INT,CANTIDAD INT,PRECIOUNIDAD MONEY PRIMARY KEY(IDPEDIDO,IDPRODUCTO)) CREAR UNA TABLA EN UN GRUPO DE ARCHIVOS Este ejemplo crea la tabla NOTAS en un grupo GP_EVALUACIONES de la base de datos BDCOLEGIO CREADA ANTERIORMENTE CREATE TABLE NOTAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, N1 DECIMAL NOT NULL, N2 DECIMAL NOT NULL, N3 DECIMAL NOT NULL, PROMEDIO AS N1+N2+N3, APROBADO BIT NOT NULL) ON GP_EVALUACIONES Profesor Henry Chavez Viera SQL Server 2005 Express Pag.30

31 Este ejemplo crea una tabla MATRICULAS y lo añade al grupo existente GP_MATRICULAS CREATE TABLE MATRICULAS (IDREGISTRO INT NOT NULL IDENTITY(1,1) PRIMARY KEY, IDALUMNO INT NOT NULL, CURSO VARCHAR(40) NOT NULL, FECHAMATRICULA DATETIME NOT NULL, PROMEDIO AS N1+N2+N3) ON GP_MATRICULAS COMO CREAR TABLAS ESTABLECIENDO RELACION 3. Vamos a desarrollar el siguiente ejemplo de relacion de tablas para ello usaremos el Analizador de Consultas.El objetivo sera relacionar las tablas CATEGORIAS,PROVEEDORES Y PRODUCTOS aplicando la ACTUALIZACION Y ELIMINACION en CASCADA. Este ejemplo asume que las tablas CATEGORIAS Y PROVEEDORES ya existen CREATE TABLE PRODUCTOS (IDPRODUCTO INT IDENTITY NOT NULL PRIMARY KEY,NOMBREPRODUCTO VARCHAR(50), IDPROVEEDOR INT REFERENCES PROVEEDORES(IDPROVEEDOR) ON UPDATE CASCADE ON DELETE CASCADE, IDCATEGORIA INT REFERENCES CATEGORIAS(IDCATEGORÍA) ON UPDATE CASCADE ON DELETE CASCADE, CANTIDADPORUNIDAD INT,PRECIOUNIDAD MONEY,UNIDADESENEXISTENCIA INT, UNIDADESENPEDIDO INT,NIVELNUEVOPEDIDO TINYNT,SUSPENDIDO BIT) En este segundo ejemplo se crea una tabla PEDIDOS la cual se relaciona con las tablas CLIENTES y EMPLEADOS que ya existen Profesor Henry Chavez Viera SQL Server 2005 Express Pag.31

32 CREATE TABLE PEDIDOS (IDPEDIDO INT IDENTITY NOT NULL PRIMARY KEY,FECHAPEDIDO, IDCLIENTE INT REFERENCES CLIENTES(IDCLIENTE) ON UPDATE CASCADE ON DELETE CASCADE, IDEMPLEADO INT REFERENCES EMPLEADOS(IDEMPLEADO) ON UPDATE CASCADE ON DELETE CASCADE, FECHAENVIO DATETIME,CARGO MONEY,UNIDADESENEXISTENCIA INT, UNIDADESENPEDIDO INT,NIVELNUEVOPEDIDO TINYNT,SUSPENDIDO BIT) PARA COMPROBAR LA ESTRUCTURA DE LA NUEVA TABLA UTILICE EL PROCEDIMIENTO ALMACENADO SP_HELP EJEMPLO : /*CURSOS es el nombrede la tabla*/ SP_HELP CURSOS EL COMANDO DROP TABLE Elimina una tabla y todos sus datos, índices, disparadores, restricciones y permisos especificados para esa tabla. Cualquier vista o procedimiento almacenado que referencia dicha tabla debe ser explícitamente borrado, la instrucciñón DROP TABLE no lo hace. DROP TABLE MATRICULAS /* Elimina La Tabla Matriculas */ MODIFICAR TABLAS DE LA BASE DE DATOS Entendemos por modificar una tabla, cambiar su estructura, es decir, añadir atributos, borrarlos, o cambiar la definición. La sentencia que permite modificar una tabla es la que muestra LA SENTENCIA ALTER TABLE Profesor Henry Chavez Viera SQL Server 2005 Express Pag.32

33 Su sintaxis es la descrita en el Código fuente ALTER TABLE tabla ADD atrib tipo NULL Ejemplos Añadir una nueva columna a una tabla CREATE TABLE CONTACTOS ( TIPO AS VARCHAR(20),DIRECCION VARCHAR(50)) GO ALTER TABLE CONTACTOS ADD NOMBRECONTACTO VARCHAR(20) NOT NULL GO ELIMINAR UNA COLUMNA DE UNA TABLA ALTER TABLE CONTACTOS DROP COLUMN DIRECCION Añadir una nueva columna con una restricción ALTER TABLE CONTACTOS ADD EDAD TINYINT NULL CONSTRAINT ED_unique UNIQUE Añadir una restricción no validada a una tabla ALTER TABLE CONTACTOS WITH NOCHECK ADD CONSTRAINT Edad_check CHECK (EDAD > 1) GO AÑADIR VARIAS COLUMNAS CON RESTRICCIONES ALTER TABLE CONTACTOS ADD /* Añadir una columna como clave primaria */ IDCONTACTO INT IDENTITY CONSTRAINT Idcontacto_pk PRIMARY KEY, /* Añadir una columna con una restricción de comprobacion */ CIUDAD VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK (column_d IS NULL OR column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR column_d LIKE "([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"), /* Añadir una columna con valor por defecto */ column_e DECIMAL(3,3) CONSTRAINT column_e_default DEFAULT.081 GO Añadir una columna con valor por defecto y NULL ALTER TABLE VIDEOS ADD FECHAESTRENO smalldatetime NULL CONSTRAINT FECHA_C1 DEFAULT getdate() WITH VALUES Deshabilitar y habilitar una restricción Profesor Henry Chavez Viera SQL Server 2005 Express Pag.33

34 CREATE TABLE empleado (id INT NOT NULL, nombre VARCHAR(10) NOT NULL, salario MONEY NOT NULL CONSTRAINT salario CHECK (salario < ) ) -- Inserciones validas INSERT INTO empleado VALUES (1,"Joe Brown",65000) INSERT INTO empleado VALUES (2,"Mary Smith",75000) -- Inserción que viola la restricción INSERT INTO empleado VALUES (3,"Pat Jones",105000) -- Deshabilitar la restricción ALTER TABLE empleado NOCHECK CONSTRAINT salario INSERT INTO empleado VALUES (3,"Pat Jones",105000) -- Habilitar la restricción ALTER TABLE empleado CHECK CONSTRAINT salario INSERT INTO empleado VALUES (4,"Eric James",110000) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.34

35 CREACIÓN DE ÍNDICES La creación de índices en SQL Server, así como en la mayoría de los SGBDR existentes, se debe realizar junto con la creación de la estructura de las tablas. De este modo se evitan posibles colisiones que pueden surgir al crear índices cuando la tabla ya tiene datos. Por ejemplo, si creamos un índice único por un campo, esto es no puede admitir duplicados, y se encuentran valores no únicos, la generación del índice daría un error. Sin embargo, SQL Server permite la creación de índices, aunque la base de datos esté cargada. ALTER TABLE TABLA ADD CONSTRAINT K1 PRIMARY KEY (COD1, COD2) Esta sentencia permite añadir una clave primaria en tabla, por los campos cod1 y cod2. Para crear un índice en la tabla todos, denominado Código, por el campo cod_cliente, se debe especificar el Código fuente CREATE INDEX CODIGO ON TODOS (COD_CLIENTE) Sí además queremos que el índice no admita valores nulos, se debe ejecutar el Código fuente CREATE UNIQUE INDEX codigo ON todos (cod) WITH IGNORE_DUP_KEY La sentencia que se encarga de borrar un índice, se muestra en el Código fuente Esta sentencia se encarga de borrar el índice código creado anteriormente. DROP INDEX codigo Mas Ejemplos de indices con la siguiente tabla La tabla EMPLEADOS ya dispone de un indice que se genera automaticamente cuando se crea la clave Primaria vamos a añadir dos indices mas. 1. CREATE INDEX IDX_NOMB ON EMPLEADOS(NOMBRE) 2. CREATE INDEX IDX_APE ON EMPLEADOS(APELLIDOS) Si desea hacer una selección de los registros de la tabla Empleados utilizando uno de sus indices creados en el ejemplo anterior haga lo siguiente: SELECT IDEMPLEADO,NOMBRE,APELLIDOS FROM EMPLEADOS(INDEX=2) SELECT IDEMPLEADO,NOMBRE,APELLIDOS FROM EMPLEADOS(INDEX=3) El numero 2 hace referencia al indice por el campo NOMBRE y el numero 3 por el campo APELLIDOS.El numero 1 esta reservado para el IDPRODUCTO que es la clave primaria Para obtener informacion acerca de los indices que tiene su tabla ejecute el procedimiento almacenado SP_HELPINDEX Ejemplo: SP_HELPINDEX empleados /*empleados es el nombre de la tabla Profesor Henry Chavez Viera SQL Server 2005 Express Pag.35

36 EL LENGUAJE DE MANIPULACIÓN DE DATOS (DML) Ya se ha visto en un capítulo anterior el lenguaje de definición de datos (DDL), que es el que permite definir y modificar la estructura de un esquema. Veremos a continuación el otro lenguaje, el de manipulación de datos, que nos permite, como su propio nombre indica, manejar los datos contenidos en el esquema. LA SENTENCIA INSERT La otra gran sentencia de manipulación de datos es INSERT. Si SELECT nos permitía recuperar datos, INSERT nos va a permitir añadirlos al esquema, es decir, con esta sentencia podemos añadir información a la base de datos. Recordemos que estamos en el modelo relacional, por lo que la información se añadirá a una tabla en forma de filas. Si sólo queremos insertar un valor para un atributo, el resto de los de la tabla deberá contener el valor nulo (NULL). Sin embargo, habrá ciertas ocasiones en que esto no será posible, cuando el atributo esté definido como NO NULO, en cuyo caso deberemos especificar un valor para éste. La sintaxis de esta sentencia es: INSERT INTO tabla (atributos) VALUES (valores) Donde tabla especifica la tabla en la cual se añadirá la fila, atributos es una lista de atributos separados por comas que determinan los atributos para los cuales se darán valores, y valores específicos los valores que se darán para estos atributos, separados por comas. Por ejemplo, si queremos añadir un nuevo cliente a nuestra base de datos, deberemos ejecutar el Código. INSERT INTO clientes (idcliente,nombre,apellidos) VALUES (' ', 'Pepe', 'Perez') Destacar que si el valor a introducir es alfanumérico, deberá ir encerrado entre comillas, mientras que si es numérico no. Pues bien, si ejecutamos la anterior sentencia, obtenemos el siguiente error: Server: Msg 515, Level 16, State 2, Line 1 Cannot insert the value NULL into column 'idcontacto', table 'pubs.dbo.authors'; column does not allow nulls. INSERT fails. The statement has been terminated. La razón es que no hemos dado valor al atributo idcontacto, que ha sido definido como no nulo. Por lo tanto, rectificamos el Código fuente, para dar un valor al Código fuente 56. INSERT INTO authors (idcliente,nombre, apellidos,idcontacto) VALUES (' ', 'Pepe', 'Perez', 1) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.36

37 LA SENTENCIA UPDATE El objetivo de la sentencia UPDATE es actualizar los valores de una o varias filas de una tabla, sin necesidad de borrarla e insertarla de nuevo. La sintaxis es la siguiente: UPDATE tabla SET atributo1 = valor1, atributo2 = valor2,... WHERE condición donde tabla especifica la tabla donde se encuentran las filas que queremos actualizar, condición especifica la condición que se debe cumplir para actualizar las filas, y lo que viene a continuación de SET especifica la asignación de los nuevos valores a los atributos. Por lo tanto se actualizarán todas las filas que cumplan la condición especificada. Si queremos cambiar el nombre al cliente que hemos insertado en el anterior apartado, deberemos escribir el Código fuente : Elevar los precios de los productos en 10% pero solo aquellos que pertenezcan a la Categoria 2 (Bebidas) UPDATE PRODUCTOS SET PRECIOUNIDAD = PRECIOUNIDAD+(PRECIOUNIDAD*010) WHERE IDCATEGORIA=2 Lo que hacemos con la anterior sentencia es incrementar en 10% el preciounidad de los productos pero solo aquellos de la idcategoria =2(condición where) cuyo codigo pertenece a la Categoria bebidas, Si ejecutamos la anterior sentencia, obtenemos el resultado: (32 row(s) affected) Lo que quiere decir que la fila ha sido actualizada con éxito. Podemos comprobarlo ejecutando el Código fuente SELECT * FROM Productos WHERE idcategoria = 2 LA SENTENCIA DELETE El objeto de la sentencia DELETE es el de borrar filas de una tabla. Para poder borrar filas en una tabla se deben cumplir las condiciones de seguridad determinadas por el administrador y deben de cumplirse también las reglas de integridad referencial. La sintaxis es la siguiente: DELETE FROM tabla WHERE condición Donde tabla especifica la tabla sobre la cual queremos borrar las filas, y condición especifica la condición que se debe cumplir para que se borren las filas. Si omitimos la Profesor Henry Chavez Viera SQL Server 2005 Express Pag.37

38 condición, se borrarán todas las filas de la tabla, es decir, la sentencia que aparece en el Código fuente borra todas las filas de la tabla Pedidos DELETE FROM PEDIDOS Por ejemplo, si queremos borrar una fila que hemos creado en la tabla Pedidos, deberemos ejecutar el Código fuente obteniendo el siguiente resultado: (1 row(s) affected) DELETE FROM PEDIDOS WHERE IDPEDIDO = lo que viene a decir que la fila se ha borrado. Para comprobarlo, ejecutamos la sentencia que muestra el Código fuente. cuyo resultado es: (0 row(s) affected), lo que quiere decir que la fila no se encuentra en la tabla, es decir, ha sido borrada. SELECT * FROM PEDIDOS WHERE IDPEDIDO = Profesor Henry Chavez Viera SQL Server 2005 Express Pag.38

39 S SESION 3 Comprensión de la recuperación de datos. La sentencia SELECT. Filtro de columnas y filas por medio de la sentencia SELECT. Operadores de comparación (relacionales y LIKE), operador de rango (BETWEEN), operador de conjunto (IN). Ordenamiento del conjunto de resultados con ORDER BY. Uso de funciones Transact-SQL: funciones de conversión de tipo (CONVERT y CAST), funciones de fecha y hora. Uso de las funciones de agregación. Agrupación de datos: GROUP BY y HAVING. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.39

40 RECUPERACION DE DATOS BASE DE DATOS SUPERMERCADOS NEPTUNO Para seguir con los ejemplos del uso del Transact SQL utilizaremos la siguiente base de datos a la cual llamaremos SUPERMERCADOSNEPTUNO una base de datos creada como ejemplo que es muy similar a la base de datos Northwind que viene con SQL SERVER pero que utiliza los campos en nombre en español para hacer que los ejemplos que se desarrollen en este manual sean mas ilustrativos y didacticos a continucion presentamos el diseño en el siguiente diagrama A continuacion presentamos los comandos TRANSACT-SQL para poder crearla. CREATE TABLE Empleados (IdEmpleado [int] NOT NULL IDENTITY PRIMARY KEY,Apellidos varchar(20),nombre varchar (10) Cargo varchar(30),fechanacimiento smalldatetime, FechaContratacion smalldatetime,direccion varchar(60),ciudad varchar(15),pais varchar(15),fono varchar(24),foto image NULL CREATE TABLE Clientes(IdCliente varchar(5)int NOT NULL PRIMARY KEY, NombreCompañía varchar(40),nombrecontacto varchar(30), CargoContacto varchar(30),dirección varchar(60), Ciudad varchar(15), País varchar(15), Teléfono varchar(24), Fax varchar (24)) CREATE TABLE Categorías (IdCategoría int NOT NULL IDENTITY Primary key,nombrecategoría varchar(15),descripción text) CREATE TABLE Proveedores(IdProveedor int NOT NULL IDENTITY PRIMARY KEY,NombreCompañía varchar(40),dirección varchar(60),ciudad varchar(15),teléfono varchar(24) CREATE TABLE Productos(IdProducto int not null identity primary key,nombreproducto varchar(35), idproveedor REFERENCES Proveedores(idProveedor) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.40

41 ON UPDATE CASCADE ON DELETE CASCADE, idcategoria REFERENCES Categorias(idcategoria) ON UPDATE CASCADE ON DELETE CASCADE CREATE TABLE Pedidos(idpedido int not null identity primary key, idcliente varchar(6) REFERENCES Clientes(idcliente) ON UPDATE CASCADE ON DELETE CASCADE, idempleado int REFERENCES Empleados(idempleado) ON UPDATE CASCADE ON DELETE CASCADE, fechapedido smalldatetime,fechaenvio smalldatetime,fechaentrega smalldatetime,cargo as varchar(25),destinatario varchar(35),direcciondestinatario varchar(50),paisdestinatario varchar(35)) CREATE TABLE [Detalles de pedidos] (IDPEDIDO INT NOT NULL REFERENCES PEDIDOS(IDPEDIDO) ON UPDATE CASCADE ON DELETE CASCADE, IDPRODUCTO INT NOT NULL REFERENCES PRODUCTOS(IDPRODUCTO) ON UPDATE CASCADE Profesor Henry Chavez Viera SQL Server 2005 Express Pag.41

42 ON DELETE CASCADE,PRECIOUNIDAD MONEY,CANTIDAD INT PRIMARY KEY(IDPEDIDO,IDPRODUCTO)) EL COMADO SELECT La sentencia Select es una sentencia SQL, que pertenece al conjunto del Lenguaje de Manipulación de Datos, y que sirve para recuperar registros de una o varias tablas, de una o varias bases de datos. Su sintaxis es la siguiente: SELECT <atributos> FROM <tablas> [WHERE <condicion>] [GROUP BY <atributos>] [HAVING <condición>] [ORDER BY <atributos>] Donde las mayúsculas representan palabras reservadas, y lo encerrado entre corchetes es opcional, puede ser omitido. Una vez vista la anterior forma de representación, vamos a detenernos en la sintaxis de la sentencia Select. Se compone de tres partes: SELECT <atributos>: permite hacer una proyección de las tablas, es decir, seleccionar los campos que deseamos recuperar de la base de datos, separados por comas. Si se especifica el símbolo *, se obtendrán todos los campos de la tabla. FROM <tablas>: permite especificar la tabla de la cual se desean obtener los datos. Si se especifica más de una tabla, éstas irán separadas por comas. WHERE <condición>: permite establecer una condición de recuperación de las filas de la/s tabla/s. Sólo se obtendrán aquellas Registros que verifiquen dicha condición, que será opcional. En el caso de que se omita esta parte, se recuperarán todas las filas. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.42

43 GROUP BY <atributos>: permite establecer una selección de campos cuando se utilizan funciones escalares o de conteo (ya se verá más adelante lo que significa. HAVING <condición>: establece una condición para los atributos obtenidos como resultado de la aplicación de funciones escalares. ORDER BY <atributos>: permite obtener el resultado de la consulta ordenado por los atributos especificados. En el caso de que se especifiquen varias tablas, en la cláusula FROM, será conveniente denotar los campos de la cláusula SELECT precedidos por el nombre de la tabla donde se encuentra y un punto, para que, en el caso de que dicho campo exista en más de una tabla, se sepa en cada momento a cual de ellos nos estamos refiriendo, evitando en este caso el problema de ambigüedad. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.43

44 EJEMPLOS DE SENTENCIAS SQL CON SELECT 1. Mostrar todos los registros de la tabla Productos SELECT * FROM PRODUCTOS 2. Mostrar nombre,apellidos y cargo de todos los empleados SELECT NOMBRE,APELLIDOS,CARGO FROM EMPLEADOS 3. Mostrar los nombreproducto,preciounidad,stock de los productos que tengan un precio mayor a 20 SELECT NOMBREPRODUCTO,PRECIOUNIDAD,STOCK FROM PRODUCTOS WHERE PRECIOUNIDAD>20 4. Mostrar nombreproducto,preciounidad,idcategoria de los productos que tengan un precio entre 25 y 35 soles SELECT NOMBREPRODUCTO,PRECIOUNIDAD,IDCATEGORIA FROM PRODUCTOS WHERE PRECIOUNIDAD BETWEEN 25 AND 35 Profesor Henry Chavez Viera SQL Server 2005 Express Pag.44

45 5. Mostrar los pedidos entregados entre el 18/6/95 y el 25/12/97 SELECT IDPEDIDO,IDCLIENTE,FECHAPEDIDO,FECHAENTREGA,CARGO FROM PEDIDOS WHERE FECHAPEDIDO BETWEEN 18/06/95 AND 25/12/97 6. Mostrar a los clientes que no tengan numero de fax SELECT NOMBRECOMPAÑÍA,DIRECCIÓN,CIUDAD,PAIS,FAX FROM CLIENTES WHERE FAX IS NULL 7. Mostrar a los clientes que si tengan numero de fax SELECT NOMBRECOMPAÑÍA,DIRECCIÓN,CIUDAD,PAIS,FAX FROM CLIENTES WHERE FAX IS NOT NULL 8. Mostrar los productos cuyo nombre empiezen con las letras Que SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD FROM PRODUCTOS WHERE NOMBREPRODUCTO LIKE Que% 9. Mostrar los productos que empiezen con las letras A,B,C,D SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD FROM PRODUCTOS WHERE NOMBREPRODUCTO LIKE [A-D]% 10. Mostrar los clientes cuyo nombre termine en en la letra S SELECT IDCLIENTE,NOMBRECOMPAÑIA,DIRECCIÓN FROM CLIENTES WHERE NOMBRECOMPAÑIA LIKE %S 11. Mostrar un listado de productos ordenado por precio en forma Ascendente SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD FROM PRODUCTOS ORDER BY NOMBREPRODUCTO 12. Mostrar un listado de productos ordenado por precio en forma Descendente SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD FROM PRODUCTOS ORDER BY NOMBREPRODUCTO DESC 13. Mostrar los 3 productos mas Caros SELECT TOP 3 IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD,STOCK FROM PRODUCTOS ORDER BY PRECIOUNIDAD DESC 14. Mostrar los 3 productos mas Baratos SELECT TOP 3 IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD,STOCK FROM PRODUCTOS ORDER BY PRECIOUNIDAD DESC Profesor Henry Chavez Viera SQL Server 2005 Express Pag.45

46 15. Mostrar los productos que tengan un precio menor o igual a 50 y su stock se encuentre entre 60 y 80 SELECT NOMBREPRODUCTO,PRECIOUNIDAD,STOCK FROM PRODUCTOS WHERE (PRECIOUNIDAD <=50) AND (STOCK>=60 AND STOCK<=80) 16. Mostrar los clientes cuyo pais sea igual alemania o francia SELECT NOMBRECOMPAÑIA,PAIS FROM CLIENTES WHERE PAIS= ALEMANIA OR PAIS= FRANCIA 17. Mostrar los clientes cuyo pais sea Italia,brasil,francia,irlanda,españa y suecia SELECT NOMBRECOMPAÑIA,PAIS FROM CLIENTES WHERE PAIS IN( ITALIA, BRASIL, FRANCIA, IRLANDA, ESPAÑA, SUECIA ) 18. Mostrar los pedidos del cliente cuyo codigo es Anton o bonap y la fecha de los pedidos sea mayor a 11/5/95 SELECT IDPEDIDO,IDCLIENTE,FECHAPEDIDO FROM PEDIDOS WHERE (IDCLIENTE= ANTON OR IDCLIENTE= BONAP ) AND (FECHAPEDIDO> 11/5/95 ) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.46

47 S SESION 4 Combinaciones: INNER JOIN, OUTER JOIN, CROSS JOIN, autojoin. Creación de tablas a partir de consultas. Reunión de consultas con UNION. Uso de EXISTS y NOT EXISTS. Uso de los store procedures para programar procesos en el servidor. Manejo de las funciones más importantes del SQL Transact. Introducción a los Trigger. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.47

48 CONSULTAS MULTITABLA En este tema vamos a estudiar las consultas multitabla llamadas así porque están basadas en más de una tabla. El SQL de Microsoft Jet 4.x soporta dos grupos de consultas multitabla: la unión de tablas la composición de tablas LA UNIÓN DE TABLAS Esta operación se utiliza cuando tenemos dos tablas con las mismas columnas y queremos obtener una nueva tabla con las filas de la primera y las filas de la segunda. En este caso la tabla resultante tiene las mismas columnas que la primera tabla (que son las mismas que las de la segunda tabla). Por ejemplo tenemos una tabla de libros nuevos y una tabla de libros antiguos y queremos una lista con todos los libros que tenemos. En este caso las dos tablas tienen las mismas columnas, lo único que varía son las filas, además queremos obtener una lista de libros (las columnas de una de las tablas) con las filas que están tanto en libros nuevos como las que están en libros antiguos, en este caso utilizaremos este tipo de operación. Cuando hablamos de tablas pueden ser tablas reales almacenadas en la base de datos o tablas lógicas (resultados de una consulta), esto nos permite utilizar la operación con más frecuencia ya que pocas veces tenemos en una base de datos tablas idénticas en cuanto a columnas. El resultado es siempre una tabla lógica. Por ejemplo queremos en un sólo listado los productos cuyas existencias sean iguales a cero y también los productos que aparecen en pedidos del año 90. En este caso tenemos unos productos en la tabla de productos y los otros en la tabla de pedidos, las tablas no tienen las mismas columnas no se puede hacer una union de ellas pero lo que interesa realmente es el identificador del producto (idfab,idproducto), luego por una parte sacamos los códigos de los productos con existencias cero (con una consulta), por otra parte los códigos de los productos que aparecen en pedidos del año 90 (con otra consulta), y luego unimos estas dos tablas lógicas. El operador que permite realizar esta operación es el operador UNION. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.48

49 LA COMPOSICIÓN DE TABLAS La composición de tablas consiste en concatenar filas de una tabla con filas de otra. En este caso obtenemos una tabla con las columnas de la primera tabla unidas a las columnas de la segunda tabla, y las filas de la tabla resultante son concatenaciones de filas de la primera tabla con filas de la segunda tabla El ejemplo anterior quedaría de la siguiente forma con la composición: A diferencia de la unión la composición permite obtener una fila con datos de las dos tablas, esto es muy útil cuando queremos visualizar filas cuyos datos se encuentran en dos tablas. Por ejemplo queremos listar los pedidos con el nombre del representante que ha hecho el pedido, pues los datos del pedido los tenemos en la tabla de pedidos pero el nombre del representante está en la tabla de empleados y además queremos que aparezcan en la misma línea; en este caso necesitamos componer las dos tablas (Nota: en el ejemplo expuesto a continuación, hemos seleccionado las filas que nos interesan). Existen distintos tipos de composición, aprenderemos a utilizarlos todos y a elegir el tipo más apropiado a cada caso. Los tipos de composición de tablas son: El INNER JOIN El LEFT / RIGHT JOIN SELECT * FROM PEDIDOS,CLIENTES WHERE PEDIDOS.IDCLIENTE=CLIENTES.IDCLIENTE Profesor Henry Chavez Viera SQL Server 2005 Express Pag.49

50 Combinamos todos los pedidos con todos los clientes pero luego seleccionamos los que cumplan que el código de cliente de la tabla de pedidos sea igual al código de cliente de la tabla de clientes, por lo tanto nos quedamos con los pedidos combinados con los datos del cliente correspondiente. Las columnas que aparecen en la cláusula WHERE de nuestra consulta anterior se denominan columnas de emparejamiento ya que permiten emparejar las filas de las dos tablas. Las columnas de emparejamiento no tienen por qué estar incluidas en la lista de selección. Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, cuando una de las columnas de emparejamiento tienen un índice definido es más eficiente utilizar otro tipo de composición, el INNER JOIN. EL INNER JOIN El INNER JOIN es otro tipo de composición de tablas, permite emparejar filas de distintas tablas de forma más eficiente que con el producto cartesiano cuando una de las columnas de emparejamiento está indexada. Ya que en vez de hacer el producto cartesiano completo y luego seleccionar la filas que cumplen la condición de emparejamiento, para cada fila de una de las tablas busca directamente en la otra tabla las filas que cumplen la condición, con lo cual se emparejan sólo las filas que luego aparecen en el resultado. La sintaxis es la siguiente: Ejem: SELECT * FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.IDCLIENTE = CLIENTES.IDCLIENTE tabla1 y tabla2 son especificaciones de tabla (nombre de tabla con alias o no, nombre de consulta guardada), de las tablas cuyos registros se van a combinar. Pueden ser las dos la misma tabla, en este caso es obligatorio definir al menos un alias de tabla. col1, col2 son las columnas de emparejamiento. Observar que dentro de la cláusula ON los nombres de columna deben ser nombres cualificados (llevan delante el nombre de la tabla y un punto). Las columnas de emparejamiento deben contener la misma clase de datos, las dos de tipo texto, de tipo fecha etc... los campos numéricos deben ser de tipos similares. Por ejemplo, se puede combinar campos AutoNumérico(IDENTIDAD) y INT puesto que son tipos similares, sin embargo, no se puede combinar campos de tipo INT y FLOAT. Además las columnas no pueden ser de tipo TEXT ni IMAGE COMP representa cualquier operador de comparación ( =, <, >, <=, >=, o <> ) y se utiliza para establecer la condición de emparejamiento. Se pueden definir varias condiciones de emparejamiento unidas por los operadores AND y OR poniendo cada condición entre paréntesis. Ejemplo: SELECT * FROM PROVEEDORES INNER JOIN PRODUCTOS ON PRODUCTOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.50

51 PROVEEDORES.IDPROVEEDOR AND PROVEEDORES.IDPROVEEDOR = PRODUCTOS.IDPROVEEDOR Se pueden combinar más de dos tablas En este caso hay que sustituir en la sintaxis una tabla por un INNER JOIN completo. Por ejemplo: SELECT * FROM (PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.IDCLIENTE = CLIENTES.IDCLIENTE) INNER JOIN EMPLEADOS ON PEDIDOS.IDEMPLEADO = EMPLEADOS.IDEMPLEADO En vez de tabla1 hemos escrito un INNER JOIN completo, también podemos escribir: SELECT * FROM CLIENTES INNER JOIN (PEDIDOS INNER JOIN EMPLEADOS ON PEDIDOS.IDEMPLEADO = EMPLEADOS.IDEMPLEADO) ON PEDIDOS.IDCLIENTE = CLIENTES.IDCLIENTE En este caso hemos sustituido tabla2 por un INNER JOIN completo. EL LEFT JOIN Y RIGHT JOIN Crearemos otra base de datos llamada DBVENTAS la cual se utiiizara tambien con la base de datos SUPERMERCADOSNEPTUNO.las tablas de DBVENTAS seran las siguientes Para los siguientes ejemplos usaremos las siguientes tablas de ejemplo Oficinas Empleados Clientes Productos Clientes Profesor Henry Chavez Viera SQL Server 2005 Express Pag.51

52 El LEFT JOIN y RIGHT JOIN son otro tipo de composición de tablas, también denominada composición externa. Son una extensión del INNER JOIN. INNER JOIN) es una composicion interna ya que todos los valores de las filas del resultado son valores que están en las tablas que se combinan. Con una composición interna sólo se obtienen las filas que tienen al menos una fila de la otra tabla que cumpla la condición, veamos un ejemplo: Queremos combinar los empleados con las oficinas para saber la ciudad de la oficina donde trabaja cada empleado, si utilizamos un producto cartesiano tenemos: SELECT EMPLEADOS.*,CIUDAD FROM EMPLEADOS, OFICINAS WHERE EMPLEADOS.OFICINA = OFICINAS.OFICINA Observar que hemos cualificado el nombre de columna oficina ya que ese nombre aparece en las dos tablas de la FROM. Con esta sentencia los empleados que no tienen una oficina asignada (un valor nulo en el campo oficina de la tabla empleados) no aparecen en el resultado ya que la condición empleados.oficina = oficinas.oficina será siempre nula para esos empleados. SI UTILIZAMOS EL INNER JOIN SELECT EMPLEADOS.*, CIUDAD FROM EMPLEADOS INNER JOIN OFICINAS ON EMPLEADOS.OFICINA = OFICINAS.OFICINA Nos pasa lo mismo, el empleado 110 tiene un valor nulo en el campo oficina y no aparecerá en el resultado. Pues en los casos en que queremos que también aparezcan las filas que no tienen una fila coincidente en la otra tabla, utilizaremos el LEFT o RIGHT JOIN. La sintaxis del LEFT JOIN es la siguiente: La descripción de la sintaxis es la misma que la del INNER JOIN (ver página anterior), lo único que cambia es la palabra INNER por LEFT (izquierda en inglés). Esta operación consiste en añadir al resultado del INNER JOIN las filas de la tabla de la izquierda que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la derecha con valores nulos. Ejemplo: SELECT * FROM EMPLEADOS LEFT JOIN OFICINAS ON EMPLEADOS.OFICINA = OFICINAS.OFICINA Con el ejemplo anterior obtenemos una lista de los empleados con los datos de su oficina, y el empleado 110 que no tiene oficina aparece con sus datos normales y los datos de su oficina a nulos. La sintaxis del RIGHT JOIN es la siguiente: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.52

53 La sintaxis es la misma que la del INNER JOIN (ver página anterior), lo único que cambia es la palabra INNER por RIGHT (derecha en inglés). Esta operación consiste en añadir al resultado del INNER JOIN las filas de la tabla de la derecha que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la izquierda con valores nulos. Ejemplo: SELECT * FROM empleados RIGHT JOIN oficinas ON empleados.oficina = oficinas.oficina Con el ejemplo anterior obtenemos una lista de los empleados con los datos de su oficina, y además aparece una fila por cada oficina que no está asignada a ningún empleado con los datos del empleado a nulos. Una operación LEFT JOIN o RIGHT JOIN se puede anidar dentro de una operación INNER JOIN, pero una operación INNER JOIN no se puede anidar dentro de LEFT JOIN o RIGHT JOIN. Los anidamientos de JOIN de distinta naturaleza no funcionan siempre, a veces depende del orden en que colocamos las tablas, en estos casos lo mejor es probar y si no permite el anudamiento, cambiar el orden de las tablas ( y por tanto de los JOINs) dentro de la cláusula FROM. Por ejemplo podemos tener: SELECT * FROM CLIENTES INNER JOIN (EMPLEADOS LEFT JOIN OFICINAS ON EMPLEADOS.OFICINA = OFICINAS.OFICINA) ON CLIENTES.REPCLIE = EMPLEADOS.NUMCLIE Combinamos empleados con oficinas para obtener los datos de la oficina de cada empleado, y luego añadimos los clientes de cada representante, así obtenemos los clientes que tienen un representante asignado y los datos de la oficina del representante asignado. Si hubiéramos puesto INNER en vez de LEFT no saldrían los clientes que tienen el empleado 110 (porque no tiene oficina y por tanto no aparece en el resultado del LEFT JOIN y por tanto no entrará en el cálculo del INNER JOIN con clientes). Profesor Henry Chavez Viera SQL Server 2005 Express Pag.53

54 EJEMPLOS DE CONSULTAS MULTITABLA CON SUPERMERCADOSNEPTUNO 1. Mostrar Nombre del Producto,Precio Unidad del producto,nombre de la Categoria,Nombre del Proveedor y stock de los productos CON WHERE SELECT PRODUCTOS.NOMBREPRODUCTO,PRODUCTOS.PRECIOUNIDAD,CATEG ORIAS.NOMBRECATEGORIA,PROVEEDORES.NOMBRECOMPAÑIA,STOC K FROM PRODUCTOS,CATEGORÍAS,PROVEEDORES WHERE PRODUCTOS.IDCATEGORIA=CATEGORIAS.IDCATEGORIA AND PRODUCTOS.IDPROVEEDOR=PROVEEDORES.IDPROVEEDOR CON INNER JOIN SELECT PRODUCTOS.NOMBREPRODUCTO,PRODUCTOS.PRECIOUNIDAD,CATEG ORIAS.NOMBRECATEGORIA,PROVEEDORES.NOMBRECOMPAÑIA,STOC K FROM PRODUCTOS INNER JOIN CATEGORIAS ON PRODUCTOS.IDCATEGORIA=CATEGORIAS.IDCATEGORIA INNER JOIN PROVEEDORES ON PRODUCTOS.IDPROVEEDOR=PROVEEDORES.IDPROVEEDOR 2. Mostrar los pedidos con los siguientes datos idpedido,fechapedido,nombre del cliente,el nombre del empleado y el cargo de pedido SELECT PEDIDOS.IDPEDIDO,PEDIDOS.FECHAPEDIDO,CLIENTES.NOMBRECOMP AÑIA,EMPLEADOS.APELLIDOS+ + EMPLEADOS.NOMBRE,PEDIDOS.CARGO FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.IDCLIENTE=CLIENTES.IDCLIENTE INNER JOIN EMPLEADOS ON PEDIDOS.IDEMPLEADO=EMPLEADOS.IDEMPLEADO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.54

55 USO DE SELECT CON CAMPOS CALCULADOS En los capitulos anteriores aprendimos a usar FUNCIONES y utilizar comandos SET ahora vamos a desarrollar ejemplos de consultas SELECT para obtener campos calculados Ejemplo :En la tabla Empleados tenemos la fecha de nacimiento de los empleados y la Fecha de contratacion pero no tenemos un campo que nos muestre explicitamente la Edad ni el Tiempo de Servicio para ello desarrollaremos los siguiente SELECT NOMBRE, APELLIDOS, FECHANACIMIENTO, DATEDIFF(YEAR,FECHANACIMIENTO,GETDATE()) AS EDAD, FECHACONTRATACION, DATEDIFF(YEAR,FECHACONTRATACION,GETDATE()) AS [TIEMPO SERVICIO] FROM EMPLEADOS 1. Mostrar los dias Transcurridos entre la fecha de Pedido y la Fecha de entrega de todos los Pedidos entregados al pais de Alemania SELECT IDPEDIDO, FECHAPEDIDO, FECHAENTREGA, DATEDIFF(DAY,FECHAPEDIDO,FECHAENTREGA) AS [DIAS TRANSCURRIDOS], FROM PEDIDOS WHERE PAÍS= ALEMANIA 2. Mostrar el incremento de los precios de los productos en un 10% SELECT IDPRODUCTO, NOMBREPRODUCTO, PRECIOUNIDAD, PRECIOUNIDAD*.010 AS INCREMENTO, PRECIOUNIDAD+(PRECIOUNIDAD)*.010 AS [PRECIO INCREMENTADO] FROM PRODUCTOS 3. Mostrar el total de cada detalle de pedido SELECT [DETALLES DE PEDIDOS].CANTIDAD, PRODUCTOS.NOMBREPRODUCTO, [DETALLES DE PEDIDOS].PRECIOUNIDAD, [DETALLES DE PEDIDOS].CANTIDAD*[DETALLES DE PEDIDOS].PRECIOUNIDAD AS TOTAL FROM [DETALLES DE PEDIDOS] INNER JOIN PRODUCTOS ON [DETALLES DE PEDIDOS].IDPRODUCTO=PRODUCTOS.IDPRODUCTO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.55

56 FUNCIONES ESCALARES PARA SELECT Entendemos por funciones escalares, todas aquellas que permiten realizar operaciones de conteo de filas, suma de atributos, obtención de medias, etc. Dichas funciones se especifican a continuación de la palabra reservada SELECT. Las funciones que soporta la sentencia SELECT en el Transact SQL son las siguientes: FUNCION SUM Realiza una suma de toda una columna para todas las filas accedidas mediante una consulta SQL. SELECT SUM (CARGO) FROM PEDIDOS La anterior consulta obtiene la suma del precio para todas las filas de la tabla pedido, ya que no hemos especificado ninguna condición en la cláusula WHERE. Si ahora queremos obtener la suma total de todos los pedidos realizados por el cliente cuyo código es "ANTON", debemos realizar la misma consulta, pero especificando una condición para obtener únicamente las filas cuyo cod_cliente es "ANTON": SELECT SUM(CARGO) FROM PEDIDOS WHERE IDCLIENTE = "ANTON" FUNCION COUNT Cuenta todas las filas de las tablas accedidas mediante una consulta SQL. Por ejemplo, si tenemos una tabla cliente, con todos los clientes de una empresa de servicios, con los atributos idcliente, nombre, apellidos, dirección, y queremos saber todos los clientes que tenemos, deberemos realizar un count, para obtener todas el número de filas de la tabla ejecutamos el Código fuente SELECT COUNT(IDCLIENTE) FROM CLIENTES En el anterior ejemplo, al existir el mismo número de filas, sea cual sea el atributo que seleccionemos, podríamos haber escogido cualquier otro. En general, se suele escribir el Código fuente SELECT COUNT(*) FROM CLIENTES Si ahora queremos saber el número de clientes que viven en Madrid, deberemos realizar un conteo de todas las filas con la condición de que el atributo ciudad sea Madrid. SELECT COUNT(*) FROM CLIENTES WHERE CIUDAD = "MADRID" Y si queremos saber cuantos Productos tenemos, cuyo precio es mayor de 20, deberemos realizar lo mismo, pero especificando esta condición en la cláusula WHERE. Al resultado de la búsqueda le llamaremos Caros. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.56

57 SELECT COUNT(*) AS CAROS FROM PRODUCTOS WHERE PRECIOUNIDAD > 20 FUNCION AVG Realiza una media aritmética de los atributos para todas las filas accedidas mediante la consulta SQL. Si por ejemplo tenemos una tabla de materiales, con los atributos cod_material, descripción, precio y cantidad _ pedida, y queremos saber la cantidad media pedida de todos los materiales, deberemos realizar una media aritmética, teniendo en cuenta todas las filas de la tabla: SELECT AVG(CANTIDAD _ PEDIDA) FROM MATERIAL La anterior sentencia, internamente, realiza primero una suma de todos los valores, y a continuación la divide por el número total de filas accedidas, es decir, realiza la media aritmética. Volviendo a nuestra cultural base de datos SUPERMERCADOSNEPTUNO, si queremos saber la media del precio de los títulos que tenemos disponibles, deberemos ejecutar el Código fuente SELECT AVG(PRECIOUNIDAD) AS PROMEDIO FROM PRODUCTOS FUNCION MAX Obtiene el máximo valor del atributo especificado, de entre todas las filas seleccionadas mediante la sentencia SQL. Supóngase, por ejemplo, que tenemos la tabla de materiales descrita anteriormente. Si queremos saber el material mas caro, deberemos realizar un SELECT con la cláusula Max, que obtenga el mayor valor para el atributo precio de todas las filas. Para nuestro ejemplo, si queremos saber cual es el libro más caro, ejecutaremos el Código fuente SELECT MAX(PRECIOUNIDAD) AS CARO FROM PRODUCTOS FUNCION MIN Obtiene el mínimo valor del atributo especificado, de entre todas las filas seleccionadas mediante la sentencia SQL. Si queremos saber cual es el PRODUCTOS más barato de nuestra base de datos, deberemos ejecutar el Código fuente SELECT MIN(PRECIOUNIDAD) AS BARATO FROM PRODUCTOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.57

58 LA CLAUSULA COMPUTE Esta clausula añade una fila en el conjunto de datos que se esta recuperando,se utiliza para realizar calculos en campos numericos.compute actua siempre sobre un campo o expresion del conjunto de resultados y esta expresion debe figurar exactamente igual en la clausula SELECT y siempre se debe ordenar el resultado por la misma o al menos agrupar el resultado.esta expresion no puede utilizar ningun ALIAS SELECT IDPEDIDO,CANTIDAD,NOMBREPRODUCTO,[DETALLES DE PEDIDOS].PRECIOUNIDAD,CANTIDAD*[DETALLES DE PEDIDOS].PRECIOUNIDAD AS TOTAL FROM [DETALLES DE PEDIDOS] INNER JOIN PRODUCTOS ON [DETALLES DE PEDIDOS].IDPRODUCTO=PRODUCTOS.IDPRODUCTO ORDER BY IDPEDIDO COMPUTE SUM(CANTIDAD*[DETALLES DE PEDIDOS].PRECIOUNIDAD) BY IDPEDIDO SELECT IDPEDIDO,CANTIDAD,NOMBREPRODUCTO,[DETALLES DE PEDIDOS].PRECIOUNIDAD,CANTIDAD*[DETALLES DE PEDIDOS].PRECIOUNIDAD AS TOTAL FROM [DETALLES DE PEDIDOS] INNER JOIN PRODUCTOS ON [DETALLES DE PEDIDOS].IDPRODUCTO=PRODUCTOS.IDPRODUCTO WHERE IDPEDIDO=10250 COMPUTE SUM(CANTIDAD*[DETALLES DE PEDIDOS].PRECIOUNIDAD) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.58

59 LA CLAUSULA GROUP BY Se pueden obtener subtotales con la cláusula GROUP BY. Una consulta con una cláusula GROUP BY se denomina consulta agrupada ya que agrupa los datos de la tabla origen y produce una única fila resumen por cada grupo formado. Las columnas indicadas en el GROUP BY se llaman columnas de agrupación. Ejemplos 1. Mostrar el total de clientes que tiene la empresa en cada pais SELECT PAÍS,COUNT(IDCLIENTE) AS [TOTAL CLIENTES] FROM CLIENTES GROUP BY PAÍS ORDER BY COUNT(IDCLIENTE) DESC 2. Mostrar el precio del producto mas caro de cada categoria SELECT NOMBRECATEGORÍA,MAX(PRECIOUNIDAD) AS [Mas Caros] FROM CATEGORÍAS INNER JOIN PRODUCTOS ON CATEGORÍAS.IDCATEGORÍA=PRODUCTOS.IDCATEGORÍA GROUP BY NOMBRECATEGORÍA 3. Mostrar el Monto total de cada Pedido SELECT IDPEDIDO,SUM(CANTIDAD*PRECIOUNIDAD) AS [TOTAL PEDIDO] FROM [DETALLES DE PEDIDOS] GROUP BY IDPEDIDO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.59

60 4. Mostrar el total de compras por cliente en el año 1995 SELECT NOMBRECOMPAÑÍA, YEAR(FECHAPEDIDO) AS AÑO, SUM(CANTIDAD*PRECIOUNIDAD) AS [TOTAL COMPRAS] FROM CLIENTES INNER JOIN PEDIDOS ON CLIENTES.IDCLIENTE=PEDIDOS.IDCLIENTE INNER JOIN [DETALLES DE PEDIDOS] ON PEDIDOS.IDPEDIDO=[DETALLES DE PEDIDOS].IDPEDIDO WHERE YEAR(FECHAPEDIDO)=1995 GROUP BY NOMBRECOMPAÑÍA,YEAR(FECHAPEDIDO) 5. Mostrar los tres mejores empleados tomando en cuenta la cantidad de pedidos despachados SELECT TOP 3 NOMBRE+' '+APELLIDOS AS EMPLEADO, COUNT(IDPEDIDO) AS [TOTAL DESPACHADOS] FROM EMPLEADOS INNER JOIN PEDIDOS ON EMPLEADOS.IDEMPLEADO=PEDIDOS.IDEMPLEADO GROUP BY NOMBRE+' '+APELLIDOS ORDER BY COUNT(IDPEDIDO) DESC 6. Mostrar el total de ventas del dia actual SELECT FECHAPEDIDO,SUM(CANTIDAD*CANTIDAD) AS TOTAL FROM PEDIDOS INNER JOIN [DETALLES DE PEDIDOS] ON PEDIDOS.IDPEDIDO=[DETALLES DE PEDIDOS].IDPEDIDO WHERE FECHAPEDIDO= CONVERT(CHAR(10),GETDATE(),103) GROUP BY FECHAPEDIDO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.60

61 7. Mostrar el total de ventas del MES actual del AÑO Actual SELECT MONTH(FECHAPEDIDO)AS MES,SUM(CANTIDAD*CANTIDAD) AS TOTAL FROM PEDIDOS INNER JOIN [DETALLES DE PEDIDOS] ON PEDIDOS.IDPEDIDO=[DETALLES DE PEDIDOS].IDPEDIDO WHERE MONTH(FECHAPEDIDO)=MONTH(GETDATE()) AND YEAR(FECHAPEDIDO)=YEAR(GETDATE()) GROUP BY MONTH(FECHAPEDIDO) 8. Mostrar el total de ventas del AÑO Actual SELECT YEAR(FECHAPEDIDO) AS AÑO,SUM(CANTIDAD*CANTIDAD) AS TOTAL FROM PEDIDOS INNER JOIN [DETALLES DE PEDIDOS] ON PEDIDOS.IDPEDIDO=[DETALLES DE PEDIDOS].IDPEDIDO WHERE YEAR(FECHAPEDIDO)= YEAR(GETDATE()) GROUP BY YEAR(FECHAPEDIDO) 8. Mostrar los tres productos menos vendidos SELECT TOP 3 NOMBREPRODUCTO,SUM(CANTIDAD) AS [TOTAL VENDIDOS] FROM [DETALLES DE PEDIDOS] INNER JOIN PRODUCTOS ON [DETALLES DE PEDIDOS].IDPRODUCTO=PRODUCTOS.IDPRODUCTO GROUP BY NOMBREPRODUCTO ORDER BY SUM(CANTIDAD) 9. Mostrar el total de ventas en cada pais SELECT PAÍSDESTINATARIO,SUM(CANTIDAD*CANTIDAD) AS TOTAL FROM PEDIDOS INNER JOIN [DETALLES DE PEDIDOS] ON PEDIDOS.IDPEDIDO=[DETALLES DE PEDIDOS].IDPEDIDO GROUP BY PAÍSDESTINATARIO ORDER BY SUM(CANTIDAD*CANTIDAD)DESC Profesor Henry Chavez Viera SQL Server 2005 Express Pag.61

62 USO DE SUBCONSULTAS Una subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT que llamaremos consulta principal. Se puede encontrar en la lista de selección, en la cláusula WHERE o en la cláusula HAVING de la consulta principal. Una subconsulta tiene la misma sintaxis que una sentencia SELECT normal exceptuando que aparece encerrada entre paréntesis, no puede contener la cláusula ORDER BY, ni puede ser la UNION de varias sentencias SELECT, además tiene algunas restricciones en cuanto a número de columnas según el lugar donde aparece en la consulta principal. Estas restricciones las iremos describiendo en cada caso. Cuando se ejecuta una consulta que contiene una subconsulta, la subconsulta se ejecuta por cada fila de la consulta principal. Se aconseja no utilizar campos calculados en las subconsultas, ralentizan la consulta. Las consultas que utilizan subconsultas suelen ser más fáciles de interpretar por el usuario Ejemplo:usando SUPERMERCADOSNEPTUNO Mostrar los productos que tengan un precio mayor al precio promedio de todos los productos SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD FROM PRODUCTOS WHERE PRECIOUNIDAD>(SELECT AVG(PRECIOUNIDAD) FROM PRODUCTOS) TEST DE COMPARACION ANY Tenemos el test ANY (algún, alguno en inglés) y el test ALL (todos en inglés). La subconsulta debe devolver una única columna sino se produce un error. Se evalúa la comparación con cada valor devuelto por la subconsulta. Si alguna de las comparaciones individuales produce el resultado verdadero, el test ANY devuelve el resultado verdadero. Si la subconsulta no devuelve ningún valor, el test any devuelve falso. si el test de comparación es falso para todos los valores de la columna, ANY devuelve falso. Si el test de comparación no es verdadero para ningún valor de la columna, y es nulo para al menos alguno de los valores, ANY devuelve Nulo. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.62

63 Ejemplo:usando BDVENTAS SELECT OFICINA, CIUDAD FROM OFICINAS WHERE OBJETIVO > ANY (SELECT SUM(CUOTA) FROM EMPLEADOS GROUP BY OFICINA) En este caso la subconsulta devuelve una única columna con las sumas de las cuotas de los empleados de cada oficina. Y luego se Lista las oficinas cuyo objetivo sea superior a alguna de las sumas obtenidas. EL TEST DE COMPARACION ALL. La subconsulta debe devolver una única columna sino se produce un error. Se evalúa la comparación con cada valor devuelto por la subconsulta. Si todas las comparaciones individuales, producen un resultado verdadero, el test devuelve el valor verdadero. Si la subconsulta no devuelve ningún valor el test ALL devuelve el valor verdadero. ( Ojo con esto!) Si el test de comparación es falso para algún valor de la columna, el resultado es falso. Si el test de comparación no es falso para ningún valor de la columna, pero es nulo para alguno de esos valores, el test ALL devuelve valor nulo. Ejemplo con BDVENTAS: SELECT OFICINA, CIUDAD FROM OFICINAS WHERE OBJETIVO > ALL (SELECT SUM(CUOTA) FROM EMPLEADOS GROUP BY OFICINA) En este caso se listan las oficinas cuyo objetivo sea superior A TODAS las sumas TEST DE PERTENENCIA A CONJUNTO (IN) Examina si el valor de la expresión es uno de los valores incluidos en la lista de valores producida por la subconsulta. La subconsulta debe generar una única columna y las filas que sean. Si la subconsulta no produce ninguna fila, el test da falso. Tiene la siguiente sintaxis: Ejemplo con BDVENTAS SELECT NUMEMP, NOMBRE, OFICINA FROM EMPLEADOS WHERE OFICINA IN (SELECT OFICINA FROM OFICINAS WHERE REGION = 'ESTE') Con la subconsulta se obtiene la lista de los números de oficina del este y la consulta principal obtiene los empleados cuyo número de oficina sea uno de los números de oficina del este. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.63

64 Por lo tanto lista los empleados de las oficinas del este TEST DE EXISTENCIA EXISTS Examina si la subconsulta produce alguna fila de resultados. Si la subconsulta contiene filas, el test adopta el valor verdadero, si la subconsulta no contiene ninguna fila, el test toma el valor falso, nunca puede tomar el valor nulo Con este test la subconsulta puede tener varias columnas, no importa ya que el test se fija no en los valores devueltos sino en si hay o no fila en la tabla resultado de la subconsulta. Cuando se utiliza el test de existencia en la mayoría de los casos habrá que utilizar una referencia externa. Si no se utiliza una referencia externa la subconsulta devuelta siempre será la misma para todas las filas de la consulta principal y en este caso se seleccionan todas las filas de la consulta principal (si la subconsulta genera filas) o ninguna (si la subconsulta no devuelve ninguna fila) Ejemplo con BDVENTAS SELECT numemp, nombre, oficina FROM empleados WHERE EXISTS (SELECT * FROM oficinas WHERE region = 'este' AND empleados.oficina = oficinas.oficina) Este ejemplo obtiene lo mismo que el ejemplo del test IN.Observa que delante de EXISTS no va ningún nombre de columna. En la subconsulta se pueden poner las columnas que queramos en la lista de selección (hemos utilizado el *).Hemos añadido una condición adicional al WHERE, la de la referencia externa para que la oficina que se compare sea la oficina del empleado NOTA. Cuando se trabaja con tablas muy voluminosas el test EXISTS suele dar mejor rendimiento que el test IN. RESUMEN DEL TEMA Una subconsulta es una sentencia SELECT que aparece en la lista de selección, o en las cláusulas WHERE o HAVING de otra sentencia SELECT. 1. La subconsulta se ejecuta por cada fila de la consulta principal. 2. Dentro de una consulta se puede utilizar una columna del origen de la consulta principal, una referencia externa. 3. Aunque se puedan anidar subconsultas no es aconsejado más de un nivel de anidamiento. 4. La subconsulta sufre una serie de restricciones según el lugar donde se encuentre. 5. Las condiciones asociadas a las subconsultas son las siguientes: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.64

65 6. el test de comparación con subconsulta el test ANY,ALL, IN, EXISTS MAS EJEMPLOS CON SUBCONSULTAS 1. Mostrar el nombre de la categoria,el nombre del producto y el precio del producto mas caro de cada categoria SELECT NOMBRECATEGORÍA, NOMBREPRODUCTO, PRECIOUNIDAD FROM PRODUCTOS INNER JOIN CATEGORÍAS ON PRODUCTOS.IDCATEGORÍA=CATEGORÍAS.IDCATEGORÍA WHERE PRECIOUNIDAD IN (SELECT MAX(PRECIOUNIDAD) FROM PRODUCTOS WHERE PRODUCTOS.IDCATEGORÍA=CATEGORÍAS.IDCATEGORÍA) 2. Mostrar la lista de los 3 mejores vendedores en base a su total de pedidos despachados SELECT TOP 3 NOMBRE,APELLIDOS,COUNT(PEDIDOS.IDPEDIDO)AS TOTALPEDIDOS FROM EMPLEADOS INNER JOIN PEDIDOS ON EMPLEADOS.IDEMPLEADO=PEDIDOS.IDEMPLEADO WHERE EMPLEADOS.IDEMPLEADO IN (SELECT PEDIDOS.IDEMPLEADO FROM PEDIDOS GROUP BY PEDIDOS.IDEMPLEADO) GROUP BY NOMBRE,APELLIDOS ORDER BY COUNT(PEDIDOS.IDPEDIDO) DESC 3. Mostrar los productos que se hayan vendido con un descuento igual al 25% SELECT * FROM PRODUCTOS WHERE PRECIOUNIDAD ANY(SELECT PRECIOUNIDAD FROM [DETALLES DE PEDIDOS] WHERE DESCUENTO=0.25) 4. Mostrar a los clientes que por lo menos hayan realizado un pedido SELECT CLIENTES.NOMBRECOMPAÑÍA,CLIENTES.TELÉFONO FROM CLIENTES Profesor Henry Chavez Viera SQL Server 2005 Express Pag.65

66 WHERE EXISTS (SELECT FROM PEDIDOS WHERE PEDIDOS.IDCLIENTE=CLIENTES.IDCLIENTE) 5. Mostrar a los empleados que tengan un salario igual al salario promedio de todos los empleados SELECT APELLIDOS,NOMBRE,TITULO,SALARIO FROM EMPLEADOS AS T1 WHERE SALARIO= (SELECT AVG(SALARIO) FROM EMPLEADOS WHERE T1.TITULO=EMPLEADOS.TITULO) ORDER BY TITULO 6. Obtiene una lista con el nombre,cargo y salario de todos los agentes de ventascuyo salario es mayor que el de todos los jefes y directores SELECT APELLIDOS,NOMBRE,CARGO,SALARIO FROM EMPLEADOS WHERE CARGO LIKE AGENTE VENT* AND SALARIO ALL(SELECT SALARIO FROM EMPLEADOS WHERE CARGO LIKE JEFE* ) OR CARGO LIKE *DIRECTOR* ) 7. Obtiene una lista de las compañías y los contactos de todos los clientes que han realizado un pedido en el segundo trimestre de 1995 SELECT DISTINCT NOMBRECONTACTO,NOMBRECOMPAÑIA,CARGOCONTACTO,TELEFONO FROM CLIENTES WHERE IDCLIENTE IN(SELECT DISTINCT IDCLIENTE FROM PEDIDOS WHERE FECHAPEDIDO< 07/01/95 ) 8. Recupera el codigo del producto y la cantidad y la cantidad pedida de la tabla Detalles de pedidos,extrayendo el nombre del producto de la tabla Productos SELECT DISTINCT [DETALLES DE PEDIDOS].IDPRODUCTO, [DETALLES DE PEDIDOS].CANTIDAD, (SELECT PRODUCTOS.NOMBREPRODUCTO FROM PRODUCTOS WHERE PRODUCTOS.IDPRODUCTO=[DETALLES DE PEDIDOS].IDPRODUCTO) AS ELPRODUCTO FROM [DETALLES DE PEDIDOS] WHERE [DETALLES DE PEDIDOS].CANTIDAD=15 ORDER BY [DETALLES DE PEDIDOS].IDPRODUCTO 9. Recupera numeros de vuelos y capacidades de aquellos vuelos con destino a madrid y plazas libres SELECT NUMVUELO,PLAZAS FROM VUELOS WHERE ORIGEN= MADRID AND EXISTS(SELECT T1.NUMVUELO FROM VUELOS AS T1 WHERE T1.PLAZASLIBRES>0 AND T1.NUMVUELO=VUELOS.NUMVUELO) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.66

67 FUNCIONES DE SQL SERVER FUNCIONES DE TIPO FECHA Estas funciones escalares realizan una operación sobre un valor de fecha y hora de entrada, y devuelven un valor de cadena, numérico o de fecha y hora. DATEADD Devuelve un valor datetime nuevo que se basa en la suma de un intervalo a la fecha especificada. Sintaxis DATEADD ( partedefecha, numero, Fecha ) Parte de fecha Year quarter Month dayofyear Day Week Hour minute second millisecond Abreviaturas yy, yyyy qq, q mm, m dy, y dd, d wk, ww hh mi, n ss, s ms Mostrar la fecha de pago de los pedidos incrementando en 21 dias la fecha de pedido SELECT DATEADD(day, 21, FechaPedido) AS FechaPago FROM pedidos DATEDIFF Devuelve el número de dias,meses o años que han transcurrido entre dos fechas especificadas. Sintaxis DATEDIFF ( partefecha, Fechainicial, fechafinal ) SELECT NOMBRE,APELLIDOS, DATEDIFF(YEAR,FECHANACIMIENTO,GETDATE()) AS EDAD FROM EMPLEADOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.67

68 DATENAME Devuelve una cadena de caracteres que representa la parte de la fecha especificada de la fecha especificada. Sintaxis DATENAME (partefecha, fecha ) En este ejemplo se extrae el nombre del mes de la fecha devuelta por GETDATE. SELECT IDPEDIDO,FECHAPEDIDO,FECHAENVIO,FECHAENTREGA,DATENAME(M ONTH, FECHAPEDIDO) AS MESPEDIDO FROM PEDIDOS El siguiente es el conjunto de resultados: DATEPART Devuelve un entero que representa la parte de la fecha especificada de la fecha indicada. Sintaxis DATEPART ( partefecha, fecha ) La función GETDATE devuelve la fecha actual; sin embargo, la fecha completa no es siempre la información que se necesita para la comparación (a menudo, sólo se compara una parte de la fecha). En este ejemplo se muestra la salida de GETDATE y la de DATEPART. SELECT GETDATE() AS 'FechaActual' GO El siguiente es el conjunto de resultados: FechaActual Feb :46PM En este ejemplo se supone que la fecha es el 29 de mayo. SELECT DATEPART(month, GETDATE()) GO El siguiente es el conjunto de resultados: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.68

69 DAY Devuelve un entero que representa la parte del día de la fecha especificada. Sintaxis DAY ( fecha ) En este ejemplo se devuelve el número del día de la fecha 12/03/1998. SELECT DAY('03/12/1998') AS 'NumeroDia' GO El siguiente es el conjunto de resultados: NumeroDia MONTH Devuelve un entero que representa el mes de una fecha especificada. Sintaxis MONTH ( Fecha ) Este ejemplo devuelve el número del mes de la fecha 03/12/1998. SELECT "NumeroMes" = MONTH('03/12/1998') GO El siguiente es el conjunto de resultados: NumeroMes YEAR Devuelve un entero que representa la parte de año de la fecha especificada. Sintaxis YEAR ( Fecha ) Este ejemplo devuelve el número del año de la fecha 03/12/1998. SELECT "NumeroAño" = YEAR('03/12/1998') GO El siguiente es el conjunto de resultados: NumeroAño Profesor Henry Chavez Viera SQL Server 2005 Express Pag.69

70 UTILIZAR FUNCIONES MATEMÁTICAS Una función matemática realiza una operación matemática en expresiones numéricas y devuelve el resultado de la operación. Las funciones matemáticas operan sobre datos numéricos suministrados por el sistema Microsoft SQL Server (decimal, integer, float, real, money, smallmoney, smallint y tinyint). La precisión de las operaciones integradas para el tipo de datos float es, de forma predeterminada, de seis lugares decimales. ROUND Devuelve una expresión numérica, redondeada a la longitud o precisión especificada. Sintaxis ROUND ( numero, longitud ) Ejemplos Resultado ROUND(748.58, -1) ROUND(748.58, -2) ROUND(748.58, -3) ROUND( , 2) ROUND(123.45, -2) CEILING Devuelve un numero entero más pequeño mayor o igual que la expresión numérica dada. Sintaxis CEILING ( expressionnumerica ) Este ejemplo muestra valores numéricos positivos, negativos y cero con la función CEILING. SELECT CEILING($123.45), CEILING($ ), CEILING($0.0) El siguiente es el conjunto de resultados: FLOOR Devuelve el numero entero más grande menor o igual que la expresión numérica dada. Sintaxis FLOOR ( expresionnumerica ) Este ejemplo muestra valores numéricos positivos, negativos y valores de moneda con la función FLOOR. SELECT FLOOR(123.45), FLOOR( ), FLOOR($123.45) El resultado es la parte entera del valor calculado en el tipo de datos correspondiente a expresionnumerica Profesor Henry Chavez Viera SQL Server 2005 Express Pag.70

71 POWER Devuelve el valor de la expresión indicada elevada a la potencia especificada. Sintaxis POWER ( expression numerica, EXPONENTE ) Ejemplo elevar el valor 2 al cubo SELECT POWER(2,3) Resultado es igual a 8 SQRT Devuelve la raíz cuadrada de la expresión especificada. Sintaxis SQRT ( expressionnumerica ) float = 16 SELECT SQRT(@myvalue) Devuelve 4 UTILIZAR FUNCIONES DE TEXTOS Estas funciones escalares realizan una operación sobre una cadena de entrada y devuelven un valor de cadena o un valor numérico. UPPER Convierte de minúsculas a mayúsculas Sintaxis UPPER (expressiontexto) Ejemplos En este ejemplo se utiliza la funcion UPPER para devolver el primer apellido del empleado concatenado con el nombre. SELECT UPPER(NOMBRE) + ', ' + APELLIDOS AS NAME FROM EMPLEADOS ORDER BY APELLIDOS LOWER Convierte de mayúsculas a minusculas Sintaxis LOWER ( expressiontexto ) Muestra los nombres de los clientes en minusculas SELECT LOWER(NOMBRECOMPAÑIA) FROM CLIENTES Profesor Henry Chavez Viera SQL Server 2005 Express Pag.71

72 LEFT Extrae caracteres empezando por el lado izquierdo de la cadena especificada como expresion de texto Sintaxis LEFT ( expressiontexto,numerocaracteres ) Este ejemplo devuelve los cinco caracteres situados más a la izquierda de cada nombre del producto SELECT LEFT(NOMBREPRODUCTO, 5) FROM PRODUCTOS RIGHT Extrae caracteres empezando por el lado derecho de la cadena de caracteres Sintaxis RIGHT ( expressiontexto, numerocaracteres) Este ejemplo devuelve los cinco caracteres situados más a la derecha de cada nombre del producto. SELECT RIGHT(NOMBREPRODUCTO, 5) FROM PRODUCTOS LEN Devuelve el número de caracteres de la expresión de cadena dada, excluidos los espacios finales en blanco. Sintaxis LEN ( expressiontexto ) Ejemplo : SELECT NOMBREPRODUCTO,LEN(NOMBREPRODUCTO) AS TOTALCARACTERES FROM PRODUCTOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.72

73 SUBSTRING Devuelve una parte de una expresión de caracteres Sintaxis SUBSTRING ( expressiontexto, Posicion inicial, numerocaracteres) En el ejemplo siguiente se muestra cómo obtener parte de una cadena de caracteres. En la tabla Empleados, esta consulta obtiene los apellidos en una columna y sólo la primera inicial en la segunda columna. SELECT nombre, SUBSTRING(Apellidos, 1, 1) FROM authors ORDER BY Apellidos REPLACE Reemplaza por una tercera expresión todas las apariciones de la segunda expresión de cadena proporcionada en la primera expresión de cadena. Sintaxis REPLACE ( 'expressiontexto1', 'expressiontexto2', expressiontexto3' ) En este ejemplo se reemplaza la cadena "cde" de "abcdefghi" por "xxx". SELECT REPLACE('abcdefghicde','cde','xxx') PATINDEX Devuelve la posición inicial de la primera aparición de un patrón en la expresión especificada o ceros si el patrón no se encuentra, con todos los tipos de datos de texto y caracteres. Sintaxis PATINDEX ( '%pattern%', expression ) En este ejemplo se busca la posición en que comienza el patrón "secas" en una fila específica de la columna NombreProducto de la tabla Productos SELECT PATINDEX('%secas%', nombreproducto) FROM Productos WHERE idproducto = 7 El siguiente es el conjunto de resultados: STUFF Elimina el número de caracteres especificado e inserta otro conjunto de caracteres en un punto de inicio indicado. Sintaxis STUFF (expressiontexto, PosInicial, longitud, expressiontexto ) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.73

74 En el ejemplo siguiente se obtiene una cadena de caracteres creada al eliminar tres caracteres de la primera cadena (abcdef) a partir de la posición 2 (la letra b) e insertar la segunda cadena en el punto de eliminación. SELECT STUFF('abcdef', 2, 3, 'ijklmn') El siguiente es el conjunto de resultados: aijklmnef STR Devuelve datos de tipo carácter obtenidos a partir de datos numéricos. Sintaxis STR ( expressionnumerica ) En el ejemplo siguiente se convierte una expresión formada por cinco dígitos y un separador decimal en una cadena de caracteres de seis posiciones. La parte fraccionaria del número se redondea a un lugar decimal. SELECT STR(123.45, 6, 1) El siguiente es el conjunto de resultados: SPACE Devuelve una cadena de espacios repetidos. Sintaxis SPACE ( expressionnumero ) En el ejemplo siguiente se corta el apellido de cada cliente y se concatena una coma, dos espacios y su nombre. SELECT RTRIM(Nombre) + ',' + SPACE(2) + LTRIM(apellidos) FROM Empleados ORDER BY Nombre, Apellidos El siguiente es el conjunto de resultados: CHAR Una función de cadena que convierte un código ASCII int en un carácter. Sintaxis CHAR ( expresionnumerica ) Este ejemplo utiliza CHAR(13) para imprimir la información de nombre, dirección y ciudad en líneas separadas, cuando los resultados se devuelven en texto. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.74

75 SELECT Nombre + ' ' + Apellidos, + CHAR(13) + Direccion, + CHAR(13) + Ciudad + Pais FROM Empleados WHERE IdEmpleado = 1 El siguiente es el conjunto de resultados: Nancy Davolio th Ave. E. Apt. 2A Seattle WA ASCII Devuelve el código ASCII del carácter más a la izquierda de una expresión de caracteres. Sintaxis ASCII ( expressiontexto ) SELECT ASCII( A ) Devuelve 65 REPLICATE Repite una expresión de caracteres un número especificado de veces. Sintaxis REPLICATE ( expressiontexto, numeroveces ) En este ejemplo se duplica el nombre de cada Empleado dos veces. SELECT REPLICATE(Nombre, 2) FROM Empleados ORDER BY nombre Profesor Henry Chavez Viera SQL Server 2005 Express Pag.75

76 FUNCIONES DE CONVERSION CAST Y CONVERT Convierten una expresión de un tipo de datos en otro. CAST y CONVERT proporcionan funciones similares. Este ejemplo concatena expresiones mediante la función de conversión de tipos de datos CAST. SELECT 'EL PRECIO ES ' + CAST(PRECIOUNIDAD AS VARCHAR(12)) FROM PRODUCTOS WHERE PRECIOUNIDAD > El siguiente es el conjunto de resultados: The precio es The precio es Este ejemplo convierte una columna de tipo int (la columna idpedido) en una columna de tipo char(20) para poder utilizarla en una cláusula LIKE. Mostrar los pedidos cuyo el mes de la fechapedido sea igual Agosto y el numero de pedido empieze en los numeros 12 SELECT IDPEDIDO,FECHAPEDIDO FROM PEDIDOS WHERE CAST(IDPEDIDO AS CHAR(20)) LIKE '12%' AND MONTH(FECHAPEDIDO) = 8 GO La function GetDate() devuelve la Fecha y la hora Actual en este formato Si desea obtener solo la fecha en formato Dia Mes Año sin incluir la hora actual haga lo siguiente SELECT CONVERT(VARCHAR(8),GETDATE(),3) SELECT CONVERT(VARCHAR(10),GETDATE(),103) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.76

77 COMANDOS SET El lenguaje de programación Transact-SQL ofrece varias instrucciones SET que alteran el tratamiento de información de SQL SERVER.. Las instrucciones SET se dividen en las siguientes categorías: Categoría Fecha y hora Bloqueo Varias Ejecución de consultas Valores de SQL-92 Estadísticas Transacciones Altera la configuración de la sesión actual para Tratar datos de fecha y hora. Tratar el bloqueo en Microsoft SQL Server Diversa funcionalidad de SQL Server. Ejecutar y procesar consultas. Utilizar la configuración predeterminada de SQL- 92. Presentar información estadística. Tratar transacciones de SQL Server. SET DATEFIRST Establece como primer día de la semana un número del 1 al 7. Sintaxis SET DATEFIRST { } Es un entero que indica el primer día de la semana y puede tener uno de los valores siguientes. Valor 1 Lunes 2 Martes 3 Miércoles 4 Jueves 5 Viernes 6 Sábado 7 (predeterminado, Inglés EE.UU.) Primer día de la semana: Domingo Puede utilizar la para conocer el valor actual de SET DATEFIRST. En este ejemplo se indica el día de la semana correspondiente a un valor de fecha y se muestra el efecto de cambiar la opción DATEFIRST. SET DATEFIRST 7 GO SELECT CAST('1/1/99' AS DATETIME), DATEPART(DW, '1/1/99') Profesor Henry Chavez Viera SQL Server 2005 Express Pag.77

78 SET DATEFORMAT Determina el orden de las partes de la fecha (mes/día/año) para escribir datos de tipo datetime o smalldatetime. Sintaxis SET DATEFORMAT { } Este valor sólo se utiliza en la interpretación de las cadenas de caracteres cuando se convierten en valores de fecha. No tiene ningún efecto en la presentación de los valores de fecha. En este ejemplo se usan distintos formatos de fecha para tratar cadenas de fecha con formatos diferentes. /*Establecemos el formato en Mes Dia Año SET DATEFORMAT MDY GO /*DECLARAMOS UNA VARIABLE DE TIPO FECHA DATETIME /*ASIGNAMOS EL VALOR A LA VARIABLE = '12/31/98' /*MOSTRAMOS EL VALOR DE LA VARIABLE GO /* Establecemos el formato en Año Dia mes y hacemos lo mismo que el Ejemplo Anterior SET DATEFORMAT DMY GO DATETIME = '31/12/98' GO SET IDENTITY_INSERT Permite insertar valores explícitos en la columna identidad(autonumerica) de una tabla.por ejemplo la tabla PRODUCTOS tiene el campo idproducto como clave primaria y es una columna con la propiedad identidad establecida en si Ejemplos En este ejemplo se crea una tabla con una columna de identidad y se muestra cómo se puede usar la opción SET IDENTITY_INSERT para llenar un hueco en los valores de identidad causado por una instrucción DELETE. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.78

79 1. Tenemos la siguiente tabla 2. Eliminamos la categoria de codigo 7 DELETE FROM CATEGORÍAS WHERE IDCATEGORÍA = 7 GO SELECT * FROM CATEGORÍAS GO Ahora si queremos insertar un nuevo registro con el codigo numero 7 que fue eliminado no sera posible porque SQL SERVER nos enviara el sgte error Servidor: mensaje 544, nivel 16, estado 1, línea 1 No se puede insertar un valor explícito en la columna de identidad de la tabla 'Categorías' cuando IDENTITY_INSERT es OFF Para solucionar este problema usaremos la siguiente instrucción SET IDENTITY_INSERT CATEGORÍAS ON GO INSERT INTO CATEGORÍAS(IDCATEGORÍA, NOMBRECATEGORÍA) VALUES(7, 'FRUTAS/VERDURAS') GO /*EXAMINE LOS RESULTADOS*/ SELECT * FROM CATEGORIAS SET LANGUAGE Especifica el idioma de entorno de la sesión. El idioma de la sesión determina los formatos de datetime y los mensajes del sistema.utilice la Para averiguar el nombre del idioma en uso. En este ejemplo se establece como idioma predeterminado en español SET LANGUAGE spanish GO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.79

80 SET NOCOUNT Hace que deje de devolverse como parte de los resultados el mensaje que indica el número de filas afectado por una instrucción Transact-SQL. Sintaxis SET NOCOUNT { ON OFF } Cuando SET NOCOUNT es ON, no se devuelve el número de filas afectado por una instrucción Transact-SQL. Cuando SET NOCOUNT es OFF, sí se devuelve ese número. La se actualiza incluso cuando SET NOCOUNT es ON. Este ejemplo en el Analizador de consultas de SQLse impide que aparezca el mensaje con el número de filas afectadas. GO SELECT IDPEDIDO FROM PEDIDOS GO SET NOCOUNT ON GO SELECT IDPEDIDO FROM PEDIDOS GO /*PARA REESTABLECERLO DESACTIVE EL COMANDO EN OFF*/ SET NOCOUNT OFF GO SET ROWCOUNT Hace que Microsoft SQL Server deje de procesar la consulta cuando se haya devuelto el número de filas especificado. SET ROWCOUNT detiene el procesamiento cuando se alcanza el número de filas especificado. En este ejemplo, observe que hay x filas que cumplen el criterio de anticipo inferior o igual a 10 $; aunque por el número de filas que devuelve la actualización se puede ver que no se procesaron todas. ROWCOUNT afecta a todas las instrucciones de Transact-SQL. SELECT COUNT(*) AS Contador FROM Pedidos WHERE Cargo >= 10 GO A continuación se establece 4 en ROWCOUNT y se actualizan todas las filas con anticipos de 10 $ o más. SET ROWCOUNT 4 GO UPDATE PEDIDOS SET CARGO = 7.5 WHERE CARGO >= 10 GO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.80

81 USO DE CREATE FUNCTION Microsoft agregó nuevas características a su producto SQL SERVER 2000, y lo más interesante para los programadores del SQL es la posibilidad de hacer funciones definidas por el usuario. La adición de funciones al lenguaje del SQL solucionara los problemas de reutilización del código y dara mayor flexibilidad al programar las consultas de SQL. TIPOS DE FUNCIONES El servidor 2000 del SQL utiliza estos tipos de funciones: 1. Las funciones escalares, 2. Tabla en linea Los tres tipos de funciones aceptan parámetros de cualquier tipo. Las funciones escalares devuelven un solo valor, tabla en linea y Multisentencias devuelben un tipo de dato tabla. I. FUNCIONES ESCALARES Las funciones escalares vuelven un tipo de los datos tal como int, money, varchar, real, etc. Pueden ser utilizadas en cualquier lugar incluso incorporada dentro de sentencias SQL. La sintaxis para una función escalar es la siguiente: CREATE FUNCTION NombreFuncion ( [@nombreparameter parametern]) RETURNS tipovalorretorno [AS] BEGIN <instrucciones> RETURN expresionescalar END EJEMPLO: 1. Escriba esto en el analizador de consultas CREATE FUNCTION SUMA (@VALOR1 INT,@VALOR2 INT) RETURNS INT AS BEGIN RETURN(@VALOR1+@VALOR2) END Profesor Henry Chavez Viera SQL Server 2005 Express Pag.81

82 2. A continuacion selecciona todo el texto de la funcion y pulsa F5 3. Para confirmar la creacion de la funcion revise el panel izquierdo del analizador de consultas en su base de datos SUPERMERCADOSNEPTUNO 4. Probemos la funcion ahora 5. SELECT DBO.SUMA(100,500) AS TOTAL 6. Tambien podemos usarla utilizando una tabla: SELECT IDPRODUCTO,NOMBREPRODUCTO,PRECIOUNIDAD, DBO.SUMA(PRECIOUNIDAD,10) AS PRECIOINCREMENTADO FROM PRODUCTOS II. FUNCIONES DE TABLA EN LÍNEA Las funciones de tabla en linea son las funciones que devuelven la salida de una simple declaración SELECT. La salida se puede utilizar adentro de joins o consultas como si fuera un tabla de estándar. CREATE FUNCTION ClientesPorPais(@Pais varchar(25) ) RETURNS TABLE AS RETURN (SELECT * FROM Clientes WHERE País Creamos la funcion y luego invocaremos a la funcion de esta forma: SELECT * FROM DBO.CLIENTESPORPAIS('ALEMANIA') Profesor Henry Chavez Viera SQL Server 2005 Express Pag.82

83 ALTER FUNCTION Modifica una función existente definida por el usuario, creada anteriormente por la ejecución de la instrucción CREATE FUNCTION, sin cambiar los permisos y sin que afecte a ninguna otra función, procedimiento almacenado o desencadenador dependientes. EJEMPLO :Modificando la funcion SUMA. Para que acepte valores con decimales vamos a cambiar los tipos INT por FLOAT ALTER FUNCTION SUMA (@VALOR1 FLOAT,@VALOR2 FLOAT) RETURNS FLOAT AS BEGIN RETURN(@VALOR1+@VALOR2) END Invocando a la FUNCION SUMA: SELECT DBO.SUMA(12.5,2.7) EJEMPLOS DE FUNCIONES CREATE FUNCTION DATETIME) RETURNS TINYINT AS BEGIN TINYINT END Invocando la funcion :SELECT DBO.EDAD( 22/09/71,GETDATE()) CREATE FUNCTION PAGOCUOTA(@MONTO MONEY,@CUOTA INT,@INTERES FLOAT) RETURNS MONEY AS BEGIN FLOAT FLOAT RETURN (@MONTOCUOTA+@PAGOINTERES) END Invocando la funcion :SELECT DBO.PAGOCUOTA(5000,10,0.06) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.83

84 CREATE FUNCTION AS INTEGER) RETURNS TABLE AS RETURN SELECT IDPEDIDO, FECHAPEDIDO, NOMBRECOMPAÑÍA, NOMBRE, APELLIDOS, PEDIDOS.CARGO FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.IDCLIENTE=CLIENTES.IDCLIENTE INNER JOIN EMPLEADOS ON PEDIDOS.IDEMPLEADO=EMPLEADOS.IDEMPLEADO WHERE Invocando a la funcion :SELECT * FROM DBO.PEDIDOSAÑO(1995) ELIMINAR UNA FUNCION Para eliminar una funcion ejecute el comando DROP FUNCTION Ejemplo: DROP FUNCTION DBO.PEDIDOSAÑO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.84

85 CREACION DE VISTAS CON CREATE VIEW Una vista es una tabla virtual que está definida por una consulta que consiste en una instrucción SELECT. Esta tabla virtual está creada con datos de una o más tablas reales y, para los usuarios, una vista parece una tabla real. De hecho, una vista puede ser tratada del mismo modo que una tabla normal. Los usuarios pueden hacer referencia a estas tablas virtuales con instrucciones Transact-SQL (T-SQL) del mismo modo que se hace con las tablas. En una vista se pueden realizar las operaciones SELECT, INSERT UPDATE y DELETE. En realidad, una vista se almacena simplemente como una instrucción SQL previamente definida. Cuando se accede a la vista, el optimizador de consultas de SQL Server une la instrucción SQL que se ejecuta en ese momento con la consulta que se use para definir la vista. EJEMPLO: CREATE VIEW ProductosMasCaros AS BEGIN SELECT TOP 5 NOMBREPRODUCTO,PRECIOUNIDAD,UNIDADESENEXISTENCIA FROM PRODUCTOS ORDER BY PRECIOUNIDAD DESC END Invocando la vista: SELECT * FROM ProductosMasCaros VENTAJAS DE LAS VISTAS Una ventaja del uso de las vistas es que éstas siempre ofrecen los datos actualizados. La instrucción SELECT que define una vista sólo se ejecuta cuando se accede a la vista, por tanto, todos los cambios de la tabla subyacente se reflejan en la vista. Otra ventaja de usar vistas es que una vista puede tener un nivel diferente de seguridad del que posea la tabla subyacente. La consulta que define la vista se ejecuta con el nivel de seguridad que posea el usuario que crea la vista. De esta manera, se puede crear una vista que enmascare los datos que no se quieran mostrar a ciertas clases de usuarios. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.85

86 MODIFICAR UNA VISTA Utilice el comando ALTER VIEW de la siguiente forma:cambiamos de la vista anterior el 5 por 10 y ejecutamos de nuevo con el comando ALTER VIEW ALTER VIEW ProductosMasCaros AS BEGIN SELECT TOP 10 NOMBREPRODUCTO,PRECIOUNIDAD,UNIDADESENEXISTENCIA FROM PRODUCTOS ORDER BY PRECIOUNIDAD DESC END Invocando a la vista : SELECT * FROM ProductosMasCaros ELIMINAR UNA VISTA Utilice el comando DROP VIEW para eliminar una vista de la siguiente forma: DROP VIEW ProductosMasCaros PROCEDIMIENTOS ALMACENADOS Los procedimientos almacenados son conjuntos de sentencias en leguaje Transact SQL que pueden almacenarse en el propio servidor. Los procedimientos almacenados de SQL Server, son más potentes, porque permiten almacenar funciones y procedimientos compuestos por varias instrucciones, introducir saltos, bucles, etc. También se pueden compilar procedimiento escritos en lenguaje C, para ampliar su potencia modularmente. Por ejemplo, podemos crear un procedimiento para recuperar el nombre de un Cliente, cuyo código se pasa por parámetro. CREATE PROCEDURE varchar(11) AS SELECT NOMBRECOMPAÑíA FROM CLIENTES WHERE IDCLIENTE Con esta sentencia, se crea un procedimiento almacenado, de nombre ObtenerNombre, al que se le pasa un parámetro, de tipo varchar(11), que realiza una consulta para obtener el nombre de la tabla clientes, cuyo código coincida con el parámetro. De esta forma, si queremos obtener el nombre del cliente cuyo código sea 'anton', deberemos ejecutar el procedimiento pasándole como argumento este valor: Profesor Henry Chavez Viera SQL Server 2005 Express Pag.86

87 Las llamadas a procedimientos almacenados se pueden realizar de las siguientes formas: Pasando los argumentos en el mismo orden que en el que se han declarado. Exec ObtenerNombre 'anton' esta sentencia produce la siguiente la salida: Pasando los argumentos nombrados. En este caso no hace falta que los parámetros vayan en el mismo orden. = 'ANTON' Ejemplo 2: CREATE PROCEDURE LISTARPEDIDOS SMALLDATETIME ) AS SELECT PEDIDOS.IDPEDIDO,CLIENTES.NOMBRECOMPAÑÍA,EMPLEADOS.NOMBRE + EMPLEADOS.APELLIDOS AS EMPLEADO,PEDIDOS.CARGO,PEDIDOS.FECHAPEDIDO, PEDIDOS.FECHAENVIO,PEDIDOS.FECHAENTREGA FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.IDCLIENTE=CLIENTES.IDCLIENTE INNER JOIN EMPLEADOS ON PEDIDOS.IDEMPLEADO=EMPLEADOS.IDEMPLEADO WHERE PEDIDOS.IDCLIENTE=@IDCLIENTE AND FECHAPEDIDO Ejecutando el procedimiento almacenado EXEC LISTARPEDIDOS 'ANTON','12/05/95','22/12/96' Profesor Henry Chavez Viera SQL Server 2005 Express Pag.87

88 PARÁMETROS POR REFERENCIA Si ejecutamos las anteriores sentencias, obtendremos el resultado directamente en la ventana que tengamos abierta en SQL Server. Pero Que pasa si queremos obtener un parámetro de salida, como resultado de la ejecución del procedimiento?. La solución para este caso es utilizar la palabra reservada OUTPUT para los argumentos de salida. Si por ejemplo, queremos obtener el número de clientes y el número de productos que tenemos en la base de datos, crearemos el procedimiento almacenado que muestra el Código fuente. CREATE PROCEDURE int int OUTPUT AS SELECT * FROM clientes SELECT * FROM productos RETURN (0) Vamos a estudiar el anterior ejemplo. Básicamente es similar al anterior. Detrás de la palabra reservada PROCEDURE damos el nombre del procedimiento almacenado, y a continuación proporcionamos los parámetros, junto con su tipo (que en este caso es entero), y diremos sin éstos son de salida, en cuyo caso especificamos la palabra reservada OUTPUT a continuación. Tras la palabra reservada AS se codifica el cuerpo del procedimiento. Primero contamos todas las filas de la tabla clientes, realizando un SELECT * FROM clientes. A continuación devolvemos en el el valor obtenido, Acto seguido se realiza lo mismo para la tabla Productos. Nótese como la forma de asignar un valor a un atributo es mediante una sentencia SELECT, igualando el parámetro al valor. La devuelve el número de filas que se han seleccionado. Es equivalente a la sentencia que aparece en el Código fuente SELECT COUNT(*) FROM Productos Se podría sustituir por Código fuente CREATE PROCEDURE int int OUTPUT AS = (SELECT COUNT(*) FROM clientes) = (SELECT COUNT(*) FROM Productos) RETURN (0) Para ejecutar el anterior procedimiento, seguiremos los siguientes pasos: Declarar las variables que vamos a utilizar para llamar al procedimiento. La sintaxis para declarar una variable es utilizar la palabra reservada DECLARE, seguido del nombre de la variable y el tipo. int int Profesor Henry Chavez Viera SQL Server 2005 Express Pag.88

89 Ejecutar el procedimiento. La sintaxis es utilizar la palabra reservada EXEC, seguida del nombre del procedimiento, y los parámetros, separados por comas, especificando si son de retorno. EXEC OUTPUT Mostrar los resultados SELECT clientes productos Tras ejecutar las anteriores sentencias, obtendremos como resultado el siguiente listado: EXECUTE Ejecuta una función definida por el usuario que devuelve valores escalares, un procedimiento del sistema, un procedimiento almacenado definido por el usuario o un procedimiento almacenado extendido. Admite también la ejecución de una cadena de caracteres. Ejemplo: VARCHAR(25) EXEC ('SELECT * FROM ' MODIFICAR UN PROCEDIMIENTO ALMACENADO Si queremos modificar un procedimiento almacenado, ejecutaremos la sentencia ALTER PROCEDURE, seguido del nombre del procedimiento. Por ejemplo, si queremos hacer cambios el procedimiento almacenado, creado en el anterior ejemplo, escribiremos el Código fuente ALTER PROCEDURE int int OUTPUT AS = (SELECT COUNT(*) FROM clientes where pais= alemania ) = (SELECT COUNT(*) FROM productos where preciounidad>10) RETURN (0) Profesor Henry Chavez Viera SQL Server 2005 Express Pag.89

90 ELIMINAR UN PROCEDIMIENTO ALMACENADO Si queremos borrar un procedimiento almacenado, ejecutaremos la sentencia DROP PROCEDURE, seguido del nombre del procedimiento. Por ejemplo, si queremos borrar el procedimiento almacenado, creado en el anterior ejemplo, escribiremos el Código fuente DROP PROCEDURE num_clientes_clientes EJEMPLOS DE PROCEDIMIENTOS ALMACENADOS Utilizar EXECUTE con DEFAULT El ejemplo siguiente crea un procedimiento almacenado con un valor predeterminado para su parametro. Cuando se ejecuta el procedimiento,el valor predeterminado se insertan como parámetro si no se pasa ningún valor en la llamada o si se especifica el valor predeterminado. CREATE PROCEDURE LISTARCLIENTES(@PAIS VARCHAR(25) ='ARGENTINA') AS SELECT IDCLIENTE,NOMBRECOMPAÑÍA,DIRECCIÓN,PAÍS FROM CLIENTES WHERE PAÍS=@PAIS Observe las distintas formas en las que se puede utilizar la palabra clave DEFAULT Sino se especifica el valor del parametro se asume entonces el valor por defecto es decir se tomara entonces el valor ARGENTINA EXEC LISTARCLIENTES DEFAULT CREACION DE TRIGGERS Los disparadores de procedimiento, más comúnmente conocidos como triggers, son una especie de procedimientos almacenados, a diferencia que se ejecutan cuando ocurre un evento sobre alguna tabla. Entendemos por evento, cualquier acción del tipo: INSERCIÓN BORRADO ACTUALIZACIÓN La sintaxis de la sentencia de creación de triggers es la siguiente: CREATE TRIGGER nombre ON tabla FOR accion AS codigo Donde acción especifica el evento que debe ocurrir para que se dispare el trigger, y que puede ser: UPDATE: actualización. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.90

91 INSERT: inserción. DELETE: borrado. Por ejemplo, si queremos crear un trigger llamado modificación_cliente, sobre la tabla Authors, que muestre un mensaje cada vez que se actualiza una fila de la tabla, deberemos escribir el Código fuente CREATE TRIGGER modificacion_pedidos ON Pedidos FOR UPDATE AS print "Han actualizado la tabla Pedidos" Para comprobar el funcionamiento de este trigger, podemos actualizar cualquier fila de la tabla de clientes, por ejemplo con la sentencia que aparece en el Código fuente UPDATE clientes SET nombre = 'Antonio Moreno' WHERE idcliente = 'anton' Con esto conseguimos dos cosas, actualizar el nombre del cliente cuyo código es el especificado a Miguel, y obtener el mensaje que se muestra como ejecución del trigger de actualización. Sin embargo, los triggers en SQL Server tienen una serie de limitaciones: 1. No se puede disparar un trigger dentro de otro trigger, ya que daría lugar a un bucle infinito 2. Por esta razón, un trigger no puede ejecutar instrucciones DDL (lenguaje de definición de datos) 3. No se pueden ejecutar sentencias como SELECT INTO o de creación de dispositivos dentro de un trigger ELIMINAR UN TRIGGER Para borrar un trigger, deberemos ejecutar la sentencia DROP TRIGGER Por ejemplo, si queremos borrar el trigger anteriormente creado, ejecutaremos el Código fuente DROP TRIGGER modificacion_cliente MODIFICAR UN TRIGGER Para modificar un trigger, deberemos ejecutar la sentencia ALTER TRIGGER Por ejemplo, si queremos modificar el trigger anteriormente creado, ejecutaremos el Código fuente ALTER TRIGGER modificacion_pedidos ON Pedidos FOR UPDATE AS print "Los registros de la tabla Pedidos han sido actualizados" Como ya se ha comentado, los triggers o desencadenadores son una especie de procedimientos almacenados, que se ejecutan cuando ocurre una acción dentro de la base de Profesor Henry Chavez Viera SQL Server 2005 Express Pag.91

92 datos. Así, si por ejemplo se ejecuta una inserción, una actualización, o un borrado de una tabla, se ejecutarían las sentencias definidas para el trigger en concreto de esa tabla específica. Recordamos cual es su sintaxis: CREATE TRIGGER nombre ON tabla FOR [DELETE INSERT UPDATE] AS Sentencias Las palabras reservadas DELETE, INSERT y UPDATE corresponden a cada una de las acciones para las cuales se puede definir un desencadenador dentro de la tabla especificada. El bloque de sentencias permite prácticamente cualquier tipo de ellas dentro del lenguaje T- SQL, pero con ciertas limitaciones. Por ejemplo, no se podrá utilizar la sentencia select, ya que un trigger no puede devolver datos al usuario, sino que simplemente se ejecuta para cambiar o comprobar los datos que se van a insertar, actualizar o borrar. LAS TABLAS DELETED E INSERTED Dentro de la definición de un trigger, podemos hacer referencia a un par de tablas lógicas, cuya estructura es similar a la tabla donde se esta ejecutando el trigger; es decir, es una copia de la tabla en la cual se van a insertar o borrar los datos, y que contiene, precisamente, los datos que van a ser añadidos o borrados. La utilidad de estas dos tablas es la de realizar comprobaciones entre los datos antiguos y los nuevos.así, por ejemplo, si queremos recuperar los datos de la tabla que estamos borrando, dentro del trigger,se deberá ejecutar el siguiente código: SELECT * FROM DELETED TIPOS DE DESENCADENADORES SQL-Server permite la definición de varios tipos de triggers, entre los cuales cabe destacar los siguientes: DESENCADENADORES MÚLTIPLES: Para una misma tabla, se pueden definir distintos triggers para la misma acción, es decir, si definimos un trigger para insert, y resulta que dicha tabla ya tenía definido un trigger para esa misma acción, se ejecutarán ambos triggers cuando ocurra dicho evento sobre la tabla. DESENCADENADORES RECURSIVOS: Se permite la recursividad entre las llamadas a los triggers, es decir, un trigger puede llamar a su vez a otro, bien de forma directa, bien de forma indirecta. DESENCADENADORES ANIDADOS: si un trigger cambia una tabla en la que se encuentra definido otro trigger, se provoca la llamada de este último que, si a su vez vuelve a modificar otra tabla, puede provocar la ejecución de otro trigger, y así sucesivamente. Si se supera el nivel de anidamiento permitido, se cancelará la ejecución de los triggers. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.92

93 CREATE TRIGGER TR_ACTUALIZASTOCK ON [DETALLES DE PEDIDOS] FOR INSERT AS BEGIN INT INT INT IDPRODUCTO FROM INSERTED) CANTIDAD FROM INSERTED) (SELECT STOCK FROM PRODUCTOS WHERE IF BEGIN UPDATE PRODUCTOS SET WHERE PRINT 'SE DESCARGO EL STOCK' END ELSE BEGIN ROLLBACK PRINT 'LA CANTIDAD DEBE SER MENOR AL STOCK' ENDEND 3. Crear un trigger que no permita registrar un detalle de pedido con un idpedido que no exista en la tabla pedidos CREATE TRIGGER VALIDADETALLE ON DETALLES FOR INSERT AS BEGIN INT ISNULL((SELECT IDPEDIDO FROM PEDIDOS WHERE IDPEDIDO=(SELECT IDPEDIDO FROM INSERTED)),0) BEGIN PRINT 'NO SE PUEDE INSERTAR UN PEDIDO' ROLLBACK END END 4. Crear un triger ue no permita la venta de condimentos CREATE TRIGGER PROHIBECONDIMENTOS ON [DETALLES DE PEDIDOS] FOR INSERT AS BEGIN INT INT C.IDCATEGORÍA FROM CATEGORÍAS C WHERE C.NOMBRECATEGORÍA LIKE 'CONDIMENTO%') SELECT IDPRODUCTO FROM PRODUCTOS WHERE Profesor Henry Chavez Viera SQL Server 2005 Express Pag.93

94 AND IDPRODUCTO= (SELECT IDPRODUCTO FROM INSERTED) ),0) BEGIN PRINT 'NO SE PUEDE VENDER UN CONDIMENTO ESTA SUSPENDIDO' ROLLBACK END END DESHABILITAR UN TRIGGER Para DESHABILITAR un triger se hace de la siguiente manera ALTER TABLE DETALLES DISABLE TRIGGER PROHIBECONDIMENTOS Para HABILITAR un triger se hace de la siguiente manera ALTER TABLE DETALLES ENABLE TRIGGER PROHIBECONDIMENTOS Profesor Henry Chavez Viera SQL Server 2005 Express Pag.94

95 S SESION 5 SQL Server Management Studio Express (Herramienta de Administración y Consulta) Optimizar Base de Datos Configuración de Servicios Seguridad en Sql Server 2005 Express Edition Profesor Henry Chavez Viera SQL Server 2005 Express Pag.95

96 MICROSOFT SQL SERVER MANAGEMENT STUDIO EXPRESS HERRAMIENTAS DE ADMINISTRACION Y CONSULTA Microsoft SQL Server Management Studio Express (SSMSE) es una herramienta gráfica de administración gratuita y fácil de usar para SQL Server 2005 Express Edition y SQL Server 2005 Express Edition with Advanced Services. 1. SQL Server Express Edition es una edición gratuita de MS SQL Server, con la que podrá utilizar bases de datos SQL sin ningún coste adicional. Entre sus características podemos destacar: o o o o SQL Server 100 % compatible: Con todas sus funcionalidades: transacciones, procedimientos almacenados, etc. Facilita a los desarrolladores el escalado de sus aplicaciones a SQL Server de ediciones superiores. Desarrollos distribuibles a clientes que trabajen con SQL Server. Herramienta de administración y consulta SQL Server Management Studio Express. Utiliza un procesador y hasta 1GB de memoria. Tamaño de bases de datos limitado a 4GB. MICROSOFT SQL SERVER 2005 EXPRESS EDITION WITH ADVANCED SERVICES Microsoft SQL Server 2005 Express Edition with Advanced Services (SQL Server Express) es una nueva versión gratuita y fácil de usar de SQL Server Express que incluye una nueva herramienta gráfica y eficaces características para la generación de informes y búsquedas de texto avanzadas. SQL Server Express proporciona herramientas de administración eficaces y confiables y características completas, protección de datos y un rendimiento rápido. Es ideal para clientes de aplicaciones incrustadas, aplicaciones Web ligeras y almacenes de datos locales. SQL Server Express with Advanced Services tiene todas las características de SQL Server 2005 Express Edition y, además, puede: Administrar fácilmente SQL Server Express con una nueva herramienta gráfica de administración fácil de usar: SQL Server 2005 Management Studio Express (SSMSE). Realizar consultas de texto en datos simples basados en caracteres contenidos en tablas de SQL Server. Las consultas de texto pueden contener palabras y frases o formas diversas de una palabra o frase. Ejecutar informes de SQL Server Reporting Services de datos relacionales locales. Profesor Henry Chavez Viera SQL Server 2005 Express Pag.96

97 Requisitos del sistema Sistemas operativos compatibles: Windows 2000 Service Pack 4; Windows Server 2003 Service Pack 1; Windows XP Service Pack 2 Equipo con procesador Intel Pentium III o compatible a 500 MHz o más rápido (se recomienda 1 GHz o más rápido). 512 MB de memoria RAM como mínimo (se recomienda 1 GB o más). 600 MB de espacio disponible en disco duro. Nota: SQL Server Express with Advanced Services requiere IIS 5.0 o posterior para ejecutar Reporting Services. Tareas Administrativas en SQL Server 2005 Express con SERVER MANAGEMENT STUDIO Profesor Henry Chavez Viera SQL Server 2005 Express Pag.97

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS Para instalar este motor de base de datos, SQL Express 2008 requiere de los siguientes prerrequisitos: 1. Microsoft.net Framework 3.5 2. Microsoft

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Bienvenido a su Software de Base de Datos Microsoft SQL 2005 Express Edition... 2. Aprendiendo sobre SQL Server... 3. Requerimientos Mínimos...

Bienvenido a su Software de Base de Datos Microsoft SQL 2005 Express Edition... 2. Aprendiendo sobre SQL Server... 3. Requerimientos Mínimos... Contenido Bienvenido a su Software de Base de Datos Microsoft SQL 2005 Express Edition... 2 Aprendiendo sobre SQL Server... 3 Requerimientos Mínimos... 3 Requisitos del Sistema... 4 Proceso de Instalación

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos SEPARAR Y ADJUNTAR UNA BASE DE DATOS Separar una base de datos Al separar una base de datos la está eliminando de la instancia de SQL Server, pero la deja intacta en sus archivos de datos y en los archivos

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Ejecución del programa de instalación de Windows XP

Ejecución del programa de instalación de Windows XP Ejecución del programa de instalación de Windows XP Productos: Windows XP Professional Al instalar Windows XP Professional debe proporcionar información acerca de cómo desea instalar el sistema operativo.

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

INSTALACION Y CONFIGURACION DE SQL SERVER MANAGEMENT (EXPRESS) 2008

INSTALACION Y CONFIGURACION DE SQL SERVER MANAGEMENT (EXPRESS) 2008 INSTALACION Y CONFIGURACION DE SQL SERVER MANAGEMENT (EXPRESS) 2008 Requisitos de HW Virtualización SQL Server se admite en entornos de máquina virtual que se ejecutan en el rol de: Windows Server 2008

Más detalles

SBConta.NET Manual de instalación. SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss.

SBConta.NET Manual de instalación. SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss. SBConta.NET Manual de instalación SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss.es SBConta.NET C o n t e n i d o i Contenido 1. Introducción.

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

Instalación y Registro Versiones Educativas 2013

Instalación y Registro Versiones Educativas 2013 Instalación y Registro Versiones Educativas 2013 Octubre 2012 Instalación y Registro Online página 2 Índice Introducción... 4 Instalación Versión Educativa Aula... 6 1. Setup... 6 2. Instalación... 7 3.

Más detalles

Comisión Nacional de Bancos y Seguros

Comisión Nacional de Bancos y Seguros Comisión Nacional de Bancos y Seguros Manual de Usuario Capturador de Pólizas División de Servicios a Instituciones Financieras Mayo de 2011 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Manual del Alumno de la plataforma de e-learning.

Manual del Alumno de la plataforma de e-learning. 2 Manual del Alumno de la Plataforma de E-learning 3 4 ÍNDICE 1. Página de Inicio...7 2. Opciones generales...8 2.1. Qué es el Campus...8 2.2. Nuestros Cursos...9 2.3. Cómo matricularme...9 2.4. Contactar...9

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

ECB CONT SISTEMA DE CONTABILIDAD INSTALACIÓN DE BASE DE DATOS

ECB CONT SISTEMA DE CONTABILIDAD INSTALACIÓN DE BASE DE DATOS ECB CONT SISTEMA DE CONTABILIDAD INSTALACIÓN DE BASE DE DATOS INDICE 1. INTRODUCCION... - 3-2. REQUISITOS DE SOFTWARE... - 4-2.1 VERIFICAR SISTEMA OPERATIVO... - 4-2.2 VERIFICAR VERSION DEL WINDOWS...

Más detalles

Tenemos que instalar los programas de los usuarios también (los anteriormente mencionados) y los siguientes que vamos a nombrar.

Tenemos que instalar los programas de los usuarios también (los anteriormente mencionados) y los siguientes que vamos a nombrar. TUTORIAL INCEME Programas necesarios PC s usuarios En los ordenadores donde se va a ejecutar INCEME van hacer falta una serie de programas para su funcionamiento. Tendremos que tener los.net Framework

Más detalles

Guía de Laboratorio Base de Datos I.

Guía de Laboratorio Base de Datos I. Guía de Laboratorio Base de Datos I. UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA 1- Gestión del SQL Server Management Studio y creación de bases de datos. Objetivos: Identificar el entorno de trabajo

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA TERMINAL SERVER TUTOR: JORGE CASTELLANOS MORFIN 19/02/2012 VILLA DE ALVARES, COLIMA Indice Introducción... 3 Objetivo... 3 Lista de Materiales... 3 Procedimiento...

Más detalles

1. Para iniciar la instalación, haga doble clic en sqlexpr.exe.

1. Para iniciar la instalación, haga doble clic en sqlexpr.exe. Manual de instalación técnica Salud system y Zafiro Para instalar SQL Server Express 1. Para iniciar la instalación, haga doble clic en sqlexpr.exe. Nota: SQL Server Express está disponible como un archivo

Más detalles

Guía de instalación de la carpeta Datos de ContaWin

Guía de instalación de la carpeta Datos de ContaWin Guía de instalación de la carpeta Datos de ContaWin Para ContaWin CS, Classic o Pyme a partir de la revisión 12.10 (Revisión: 29/06/2011) Contenido Introducción... 3 Acerca de este documento... 3 Dónde

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Instalación de OPUS PLANET en red

Instalación de OPUS PLANET en red TITULO: en red INFORMACIÓN GENERAL: Versiones: Resumen: Referencias a otras notas técnicas: Palabras clave: OPUS PLANET Implementar OPUS PLANET en red, realizado cambios a la configuración de SQL server

Más detalles

Configuracion Escritorio Remoto Windows 2003

Configuracion Escritorio Remoto Windows 2003 Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo

Más detalles

Curso Online de Microsoft

Curso Online de Microsoft Curso Online de Microsoft SQL Server Presentación: Estudia el servidor de bases de datos empresarial Microsoft SQL Server 2005 centrándose especialmente en el punto de vista de un diseñador o programador

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

U.E JUAN DE VELASCO CREAR DATOS EN SQL

U.E JUAN DE VELASCO CREAR DATOS EN SQL NOMBRE:LILIAN CAUJA U.E JUAN DE VELASCO CREAR DATOS EN SQL Lo primero que necesitamos para conectarnos al Servidor es el administrador que por defecto en algunas instalaciones no viene incluido, se puede

Más detalles

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Base de datos I. Guía 3 1 Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Objetivo Específico Creer una base de datos Diseñar y crear tablas para almacenar información Manejar

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Introducción... XIII Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Novedades y mejoras en SQL Server 2008 R2... 1 Novedades... 1 Mejoras... 3 Ediciones y componentes en SQL Server

Más detalles

Guía de instalación 1

Guía de instalación 1 Guía de instalación 1 Tabla de contenidos 1. Requisitos de software y hardware 3 2. Instalación del sistema 6 Bienvenida... 8 Archivo de licencia... del producto 9 Información de... licencia 12 Acuerdo

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Manual de iniciación a

Manual de iniciación a DOCUMENTACIÓN Picasa y otras nubes Manual de iniciación a DROPBOX 1 Últimamente se ha hablado mucho de la nube y de cómo es el futuro de la Web. También se han presentado servicios y aplicaciones que ya

Más detalles

NORMA 34.14(SEPA) 05/11/2013

NORMA 34.14(SEPA) 05/11/2013 NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios

Más detalles

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente MANUAL TECNICO INSTALACIÓN Y CONFIGURACIÓN DEL SISTEMA AARON A QUIEN VA DIRIGIDO El siguiente manual está dirigido al administrador encargado de la instalación y configuración del Sistema AARON. PRÓLOGO

Más detalles

Escudo Movistar Guía Rápida de Instalación Para Windows

Escudo Movistar Guía Rápida de Instalación Para Windows Escudo Movistar Guía Rápida de Instalación Para Windows Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3 1.2. DISPOSITIVOS

Más detalles

Crear la base de datos antes de la instalación de Wordpress.

Crear la base de datos antes de la instalación de Wordpress. Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para

Más detalles

DATOS EN SERVIDOR DE RED PROCEDIMIENTO PARA INSTALACIÓN Y CONFIGURACIÓN DE BASES DE DATOS EN SERVIDORES DE RED

DATOS EN SERVIDOR DE RED PROCEDIMIENTO PARA INSTALACIÓN Y CONFIGURACIÓN DE BASES DE DATOS EN SERVIDORES DE RED DATOS EN SERVIDOR DE RED PROCEDIMIENTO PARA INSTALACIÓN Y CONFIGURACIÓN DE BASES DE DATOS EN SERVIDORES DE RED 23/10/2012 Maldonado Software MSW MM[Escribir texto] Página 0 PRERREQUISITOS INSTALACIÓN DE

Más detalles

Acronis Backup & Recovery 11 Guía de inicio rápido

Acronis Backup & Recovery 11 Guía de inicio rápido Acronis Backup & Recovery 11 Guía de inicio rápido Se aplica a las siguientes ediciones: Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Server for Linux Server for Windows

Más detalles

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008 Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008 Contenidos 1. Propósito 3 2. Realizar una copia de seguridad con SQL Server 2005 4 3. Restaurar una copia de seguridad con SQL Server

Más detalles

Administrar El Usuario Mediante Windows NT

Administrar El Usuario Mediante Windows NT Administrar El Usuario Mediante Windows NT Administración de usuarios El Administrador de usuarios es la utilidad estándar que ofrece Windows NT. Como su nombre indica, se encarga de la administración

Más detalles

UNIDAD DIDACTICA 3 USUARIOS Y GRUPOS EN REDES WINDOWS 2003 SERVER II

UNIDAD DIDACTICA 3 USUARIOS Y GRUPOS EN REDES WINDOWS 2003 SERVER II UNIDAD DIDACTICA 3 USUARIOS Y GRUPOS EN REDES WINDOWS 2003 SERVER II Eduard Lara 1 1. USUARIOS DE ACTIVE DIRECTORY Las cuentas de usuario en el Active Directory tienen la catalogación de cuentas DNS. Cada

Más detalles

Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer.

Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer. Outlook Express Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer. Configuración de cuentas de correo 1. Arrancar el programa

Más detalles

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

1. Configuración del entorno de usuario

1. Configuración del entorno de usuario Tabla de Contenidos 1. Configuración del entorno de usuario 1.1. Temas 1.2. Apariencia 1.3. Configuración del menú Inicio 2. Configuración de los equipos portátiles en red 2.1. Realizar copia de seguridad

Más detalles

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Tabla de Contenido 1 INSTALACIÓN EN EL SERVIDOR...3 1.1 CREAR LA BASE

Más detalles

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA SECCIÓN: 15N1- IS REALIZADO POR: BR. BRETE JINETH. BR. SULBARÁN ARMANDO BR. TORREZ

Más detalles

Seminario de Informática

Seminario de Informática Unidad II: Operaciones Básicas de Sistemas Operativos sobre base Windows 11. Herramientas del Sistema INTRODUCCION Este apunte está basado en Windows XP por ser el que estamos utilizando en el gabinete

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

Manual de Instalación. Sistema FECU S.A.

Manual de Instalación. Sistema FECU S.A. Manual de Instalación Sistema FECU S.A. Índice Requerimientos de hardware... 3 Requerimientos de software... 3 Bajar programas desde Internet... 4 Manual de Usuario... 5 Archivos de instalación FECU S.A....

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

Copias de Seguridad con SQL Server 2005. Realizar una copia de seguridad de Bases de Datos

Copias de Seguridad con SQL Server 2005. Realizar una copia de seguridad de Bases de Datos Propósito Copias de Seguridad con SQL Server 2005 Con Management Studio del SQL 2005 es posible crear copias de seguridad de las bases de Datos definidas en el servidor de SQL Server. Dicha copia de seguridad

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

1 Introducción. 2 Requisitos del sistema. Control de presencia. V.1.0 Manual de instrucciones. Control de presencia. V.1.0 Manual de instrucciones

1 Introducción. 2 Requisitos del sistema. Control de presencia. V.1.0 Manual de instrucciones. Control de presencia. V.1.0 Manual de instrucciones 1 2 1 Introducción AccessControl es un eficaz sistema para gestionar la presencia de sus empleados mediante huella dactilar. Con él podrá monitorizar fácilmente las entradas y salidas de sus empleados

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

Guía N 1: Fundamentos básicos(i)

Guía N 1: Fundamentos básicos(i) 1 Guía N 1: Fundamentos básicos(i) Objetivos Generales: Ver una breve descripción de las capacidades más comunes de Excel Objetivos específicos: Descripción de los elementos de un libro: Hojas, iconos,

Más detalles

Instalación del Software Magaya

Instalación del Software Magaya Instalación del Software Magaya INSTALACIÓN DEL SOFTWARE MAGAYA INTRODUCCIÓN A LA INSTALACIÓN DEL SOFTWARE MAGAYA Introducción a la Instalación del Software Magaya Este tema de instalación explica las

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER Eduard Lara 1 1. INTRODUCCIÓN En Windows Server: - Los usuarios y grupos dados de alta cuando el equipo es un servidor independiente,

Más detalles

ÍNDICE INDICE. MANUAL WinPoET. Manual de formularios en Manual WinPoET

ÍNDICE INDICE. MANUAL WinPoET. Manual de formularios en Manual WinPoET ÍNDICE INDICE MANUAL WinPoET Índice 1. Introducción 3 2. Windows 2000, 98 y ME - Instalación y configuración del WinPoET 3 3. Windows XP Configuración de la conexión 8 4. Windows XP - Comprobación de la

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

Arsys Backup Online Manual de Usuario

Arsys Backup Online Manual de Usuario Arsys Backup Online Manual de Usuario 1 Contenido 1. Instalación del Programa Cliente... 3 Pasos previos... 3 Instalación... 3 Configuración del acceso... 6 Ubicación del servidor de seguridad... 6 Datos

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot). Unidad 3. Plantillas Objetivos de la unidad: Una plantilla es un documento prediseñado que usted puede usar para crear nuevos documentos con el mismo formato. A través de una plantilla, el aspecto de un

Más detalles

Correo Electrónico: Webmail: Horde 3.1.1

Correo Electrónico: Webmail: Horde 3.1.1 CONTENIDOS: PAGINA Qué es Webmail?. 2 Acceder a Webmail. 2 Instilación del Certificado UCO. 4 Instilación Certificado I.explorer. 4 Instilación Certificado Firefox. 7 Opciones Webmail. 8 Opciones Información

Más detalles

Instalación del Admin CFDI

Instalación del Admin CFDI Instalación del Admin CFDI Importante!!!Antes de comenzar verifique los requerimientos de equipo esto podrá verlo en la guía 517 en nuestro portal www.control2000.com.mx en el apartado de soporte, ahí

Más detalles

El proceso de Instalación de Microsoft SQL Server 2008

El proceso de Instalación de Microsoft SQL Server 2008 El proceso de Instalación de Microsoft SQL Server 2008 Luis Alejandro Esteban C - nave_tze@hotmail.com Este documento va dirigido a profesionales de tecnología interesados en entender el proceso de instalación

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6 Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.6 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia

Más detalles

Comisión Nacional de Bancos y Seguros

Comisión Nacional de Bancos y Seguros Comisión Nacional de Bancos y Seguros Manual de Usuario Transacciones UIF División de Servicios a Instituciones Financieras 10 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga e Instalación

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7 Copia de seguridad en Wingest 7 desde WgAdmin Los pasos a seguir serán los siguientes: - Todos los usuarios de la aplicación deberán estar fuera de ella. - Deberemos entrar en nuestra carpeta de Wingest

Más detalles

PLANTILLAS EN MICROSOFT WORD

PLANTILLAS EN MICROSOFT WORD PLANTILLAS EN MICROSOFT WORD Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo de la fuente, el tamaño,

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...

Más detalles

MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007

MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007 MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007 INDICE 1 INTRODUCCIÓN...2 2 REQUISITOS...3 3 INSTALACIÓN...4 3.1 INSTALACIÓN DEL MICROSOFT.NET

Más detalles