Bases de Datos 1. práctica. Dpto. de Lenguajes y Sistemas Informáticos. Universidad de Alicante

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

Download "Bases de Datos 1. práctica. Dpto. de Lenguajes y Sistemas Informáticos. Universidad de Alicante http://www.dlsi.ua.es/asignaturas/bd1/bd1."

Transcripción

1 práctica Bases de Datos 1 Eva Gómez Ballester Paloma Moreda Pozo Patricio Martínez Barco José Clavel Cerro Ernesto Pérez López Armando Suárez Cueto Dpto. de Lenguajes y Sistemas Informáticos Escuela Politécnica Superior Universidad de Alicante

2

3 índice sesión 0 5 select 1 9 BD Proveedores 13 select 2 21 select 3 27 select fecha 31 create 33 manipulación 1 41 manipulación 2 47 manipulación 3 53 conjuntos 59 funciones 63 group by 67 group by - having 71 subselect 75 subselect - exists 81 adicionales 1 83 adicionales 2 85 adicionales 3 87 adicionales 4 89 adicionales 5 91 adicionales 6 93 adicionales 7 95

4

5 sesión 0 ENTORNO ORACLE Objetivos: Adquirir la destreza mínima para trabajar en el entorno ORACLE isqlplus. Contenidos Concepto de Base de Datos y Tabla. Entrar en ORACLE SQL. Manejo de menús. Selección de Base de Datos. Tipos de datos. Ayuda en línea. Salvar y recuperar órdenes SQL. Concepto de Base de Datos y Relación (Tabla) Una base de datos es un conjunto de información interrelacionada que representa un sistema de información particular, y está compuesta por relaciones, o más comúnmente tablas, que almacenan los datos referentes a un objeto o a una interrelación entre objetos. Así, si queremos mantener mediante un gestor de bases de datos información docente, lo que haremos (en este caso en particular) será crear una base de datos que englobe tres tablas: PROFESORES, ASIGNATURAS e IMPARTE. Cada tabla tendrá sus columnas, que representan los correspondientes atributos de la entidad o claves ajenas que permiten relacionar varias tablas entre sí. La BD que gestione esta información se llamará Ejemplo, y las tablas contenidas en ella se presentan en el siguiente cuadro. Base de Datos: Ejemplo PROFESORES ( dni : varchar(10), nombre : varchar(40), categoria : char(4), ingreso : date ) Clave primaria: dni ASIGNATURAS ( codigo : char(5), descripcion : varchar(35), creditos : number(3,1), creditosp : number(3,1) ) Clave primaria: codigo IMPARTE ( dni : varchar2(10), asignatura : char(5) ) Clave primaria: (dni, asignatura) Clave ajena: dni PROFESORES Clave ajena: asignatura ASIGNATURAS 5

6 Extensiones de Ejemplo: ASIGNATURAS codigo descripcion creditos creditosp HI HISTORIA DE LA INFORMATICA 4.5 FBD FUNDAMENTOS DE LAS BASES DE DATOS DGBD DISEÑO Y GESTION DE BASES DE DATOS PC PROGRAMACION CONCURRENTE FP FUNDAMENTOS DE LA PROGRAMACION PROFESORES IMPARTE dni nombre categoria ingreso dni asignatura EVA GOMEZ TEU 01/10/ FBD MANUEL PALOMAR TEU 16/06/ DGBD RAFAEL ROMERO ASO6 16/06/ PC isqlplus Oracle es un sistema de gestión de bases de datos relacional. Dicho gestor está instalado en un servidor al que se accede por red desde un navegador o un cliente Windows. Desde el navegador, accediendo a la dirección aparece la pantalla de identificación. Para la mayoría de las sesiones, la información a introducir en el formulario es: Usuario: alumno Contraseña: alumno Conexión: oracle Una vez el sistema permite la conexión, disponemos de un área donde introducir órdenes SQL cuyo resultado se obtiene pulsando el botón Ejecutar. Podemos probar con la siguiente consulta: select * from profesores resultado: dni nombre categoria EVA GOMEZ TEU MANUEL PALOMAR TEU RAFAEL ROMERO ASO6 Tipos de datos En general, la utilización de varias tablas necesita que ellas se puedan relacionar por una columna común, en este caso dni de profesor, para la relación entre imparte y profesor, y codigo de asignatura, para la relación entre asignatura e imparte. Nótese, sin embargo, que en la tabla imparte el código de asignatura se llama asignatura y en la tabla asignaturas codigo. En realidad, tales atributos son comunes porque el dominio es el mismo para ambos y se pueden comparar. Los dominios vienen definidos por los tipos de datos que ofrece el SGBD. Los tipos de datos que acompañan en el esquema de BD a cada columna en cada tabla determinan los valores que pueden tomar éstas. Son de capital importancia a la hora de relacionar tablas en una sentencia select, puesto que sólo podremos comparar columnas con idéntico tipo de datos, o a la hora de manipular datos, dado que, como veremos en próximas sesiones, cada tipo de datos presenta unos requisitos específicos para su manipulación. 6

7 Algunos de los tipos de datos que nos podemos encontrar en ORACLE son: VARCHAR2(n) Cadena de caracteres de longitud variable con un máximo de n (1<=n<=4000) CHAR(n) Cadena de caracteres de longitud fija de longitud n (1<=n<=2000) LONG Cadena de caracteres de longitud variable hasta 2 gigabytes, o bytes NUMBER(p,s) Números con precisión p y escala s (1<=p<=38) (-84<=s<=127) RAW(n) Cadena de caracteres binarios de longitud n (1<=n<=2000) LONG RAW Cadena de caracteres binarios de longitud variable hasta 2 gigabytes DATE Datos de tipo fecha, con la forma dd/mm/yyyy(día, mes y año). Los valores date deben manejarse encerrados entre comillas simples. Rango válido desde 1 de enero de 4712 AC hasta el 31 de diciembre de 4712 DC. INFORMACIÓN ADICIONAL Direcciones con ayuda Oracle disponible: Ayuda en línea. En general, es bastante fácil encontrar información en internet por medio de cualquier buscador. Obtener información sobre una tabla de la BD Ejecutar DESC nombretabla o DESCRIBE nombretabla para mostrar información de la tabla nombretabla: ( el nombre de cada columna, si los valores nulos se permiten o no (NULL or NOT NULL) en esa columna, tipo de dato de la columna, por ejemplo, NUMBER, CHAR, VARCHAR2, LONG, DATE, RAW, o LONG RAW, y la precisión de la columna si el tipo de dato lo requiere). Otras informaciones disponibles en el catálogo del sistema (el comando DESCRIBE se basa en algunas de las tablas que se utilizan aquí) son: select distinct table_name, column_name from all_cons_columns where OWNER='BD1TABLAS'; select * from all_cons_columns where OWNER='BD1TABLAS'; select OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE from all_tab_columns where OWNER='BD1TABLAS'; Donde BD1TABLAS es un usuario (el propietario, en este caso, de la BD PROVEEDORES) Para que los datos se muestren en pantalla sin saltos de línea, se puede dar formato a las columnas con las siguientes órdenes, (es permanente para toda la sesión, sólo se ejecutan una vez; si se quiere otro formato, hay que volver a ejecutarlas con las modificaciones oportunas) COLUMN OWNER FORMAT a20 COLUMN CONSTRAINT_NAME FORMAT A20 COLUMN TABLE_NAME FORMAT A15 COLUMN COLUMN_NAME FORMAT A20 7

8 COLUMN POSITION FORMAT 99 COLUMN DATA_TYPE FORMAT A15 Y también: SET LINESIZE 600 (para evitar que la filas de salida, incluída la cabecera, ocupen, más de una línea) SET PAGESIZE 200 (para evitar cabeceras tantas cabeceras) Sobre guardar órdenes en disco En la máquina se dispone de un disco duro local que se puede utilizar para guardar y recuperar ficheros generados por el alumno. No obstante, no se garantiza que los datos ahí guardados permanezcan de una sesión para otra. Por lo tanto, si se quieren guardar datos con seguridad es preferible hacerlo en un disco removible, o bien utilizando los servicios de disco virtual de la EPS o el Campus Virtual. 8

9 select 1 SQL - SELECT Objetivos: Introducir al alumno en el SQL y la orden SELECT. Comentar el esquema lógico propuesto. Contenidos: Sistema de información propuesto. La orden SELECT-FROM-WHERE. Proyecciones, Selecciones. Tipos de datos. ORDER BY Se proporciona información sobre las consultas más sencillas a realizar sobre una BD. LA ORDEN SELECT-FROM-WHERE SELECT [ DISTINCT ] listacolumnas FROM listatablas [ WHERE condición ] [ GROUP BY listacolumnas [ HAVING condición ] ] [ ORDER BY listacolumnas [ ASC DESC ] ] Sintaxis general de la orden select Select-From Para realizar consultas sobre una base de datos vamos a utilizar la orden SELECT de SQL. Con la sintaxis que se muestra en el punto anterior seremos capaces de formular cualquier requerimiento (consulta) sobre las tablas que componen una determinada BD. En este momento veremos la expresión mínima de la orden, formada por dos cláusulas, select y from, que obligatoriamente tendremos que especificar en cada consulta que realicemos. Supongamos que sobre la base de datos Ejemplo (cuyo esquema y contenido se presentaron en la sesión anterior) queremos obtener todos los datos acerca de los profesores. Debemos, en primer lugar, seleccionar la base de datos, y ejecutamos (en el Query-language) la siguiente orden select * from profesores resultado: dni nombre categoria EVA GOMEZ TEU MANUEL PALOMAR TEU RAFAEL ROMERO ASO6 9

10 Al especificar en la lista de atributos un asterisco le indicamos al SGBD que deseamos la información de todas las columnas definidas para la tabla PROFESORES. Si deseamos conocer a qué categorías pertenecen los profesores que se encuentran en la BD: select categoria from profesores resultado: categoria TEU TEU ASO6 Podemos especificar tantas columnas como queramos: select nombre, categoria from profesores resultado: nombre categoria EVA GOMEZ TEU MANUEL PALOMAR TEU RAFAEL ROMERO ASO6 Para evitar la salida de filas duplicadas podemos utilizar el modificador DISTINCT: select distinct categoria from profesores resultado: categoria TEU ASO6 Nótese, sin embargo, que las dos órdenes siguientes obtienen el mismo resultado, puesto que la duplicación se refiere a filas completas y no a una columna en particular: select distinct dni, categoria from profesores select dni, categoria from profesores resultado: dni categoria TEU TEU ASO6 La cláusula WHERE Con la orden select-from obtenemos la información de las columnas requeridas de toda la tabla. Si únicamente queremos información de aquellas filas que cumplen una determinada condición utilizaremos la cláusula where. Pretendemos obtener el nombre de los profesores titulares: select nombre from profesores where categoria = 'TEU' resultado: nombre EVA GOMEZ MANUEL PALOMAR 10

11 En la construcción de tales condiciones podemos utilizar las conectivas lógicas AND, OR, y NOT, así como los paréntesis para alterar la evaluación de izquierda a derecha. También, los operadores de comparación >, <, >=, <=, <> Nombre de los profesores que son titulares o asociados a 6 horas: select nombre from profesores where categoria = 'TEU' or categoria = 'ASO6' resultado: nombre EVA GOMEZ MANUEL PALOMAR RAFAEL ROMERO La cláusula ORDER BY Podemos ordenar la salida producida por nuestra orden select por valores ascendentes o descendentes de una columna en particular. Nombre de las asignaturas ordenadas de menor a mayor número de créditos: select creditos, descripcion from asignaturas order by creditos resultado: creditos descripcion 4.5 Historia de la Informática 6 Fundamentos de las Bases de Datos 6 Diseño y Gestión de Bases de Datos 6 Programación Concurrente 9 Fundamentos de la Programación Si no se indica nada la ordenación será ascendente. El mismo requerimiento anterior pero en orden descendente y de aquellas que tienen más de 4.5 créditos: select creditos, descripcion from asignaturas where creditos > 4.5 order by creditos desc resultado: creditos descripcion 9 Fundamentos de la Programación 6 Fundamentos de las Bases de Datos 6 Diseño y Gestión de Bases de Datos 6 Programación Concurrente Puede aplicarse más de un criterio de ordenación: select creditos, descripcion from asignaturas order by creditos, descripcion resultado: creditos descripcion 4.5 Historia de la Informática 6 Diseño y Gestión de Bases de Datos 6 Fundamentos de las Bases de Datos 6 Programación Concurrente 9 Fundamentos de la Programación 11

12 Constantes Se pueden explicitar constantes en la orden select de forma que dicho valor aparezca en todas las filas: select 'La asignatura ', descripcion, ' tiene ', creditos, ' creditos' from asignaturas order by creditos resultado: 'laasignatura' descripcion 'tiene' creditos 'créditos La asignatura HISTORIA DE LA INFORMATICA tiene 4.5 créditos La asignatura FUNDAMENTOS DE LAS BASES DE DATOS tiene 6 créditos La asignatura DISEÑO Y GESTION DE BASES DE DATOS tiene 6 créditos La asignatura PROGRAMACION CONCURRENTE tiene 6 créditos La asignatura FUNDAMENTOS DE LA PROGRAMACION tiene 9 créditos 12

13 BD Proveedores LA BASE DE DATOS PROVEEDORES Objetivos: Ser capaz de interpretar un esquema de base de datos relacional (concretamente, el propuesto para las prácticas de la asignatura: Proveedores) Se detalla el esquema lógico que describe la BD de PROVEEDORES, ya creada y a disposición del alumno, intentando que comprenda su significado, el sistema real que pretende representar. El esquema lógico es la referencia que permite construir las órdenes select con las que interrogar a la BD. Las extensiones de cada relación se incluyen como ayuda para comprobar la corrección de las órdenes select utilizadas. 13

14 LA BASE DE DATOS PROVEEDORES TABLA COLUMNAS RESTRICCIONES VENDEDOR ( numvend NUMBER(4), Clave Primaria: (numvend) nomvend VARCHAR2(30), nombrecomer VARCHAR2(30), telefono CHAR(11), calle VARCHAR2(30), ciudad VARCHAR2(20), provincia VARCHAR2(20) ) PIEZA ( numpieza VARCHAR2(16), nompieza VARCHAR2(30), preciovent NUMBER(9,2)) Clave Primaria: (numpieza) PRECIOSUM PEDIDO LINPED INVENTARIO ( numpieza VARCHAR2(16), numvend NUMBER(4), preciounit NUMBER(9,2), diassum NUMBER(3), descuento NUMBER(2)) ( numpedido NUMBER(5), numvend NUMBER(4), fecha DATE ) ( numpedido NUMBER(5), numlinea NUMBER(2), numpieza VARCHAR2(16), preciocompra NUMBER(9,2), cantpedida NUMBER(4), fecharecep DATE, cantrecibida NUMBER(4)) ( numpieza VARCHAR2(16), numbin NUMBER(10), cantdisponible NUMBER(5), fecharecuento DATE, periodorecuen NUMBER(2), cantminima NUMBER(5) ) Clave Primaria: (numpieza, numvend) Clave Ajena: (numpieza) PIEZA, Clave Ajena: (numvend) VENDEDOR Clave Primaria: (numpedido) Clave Ajena: (numvend) VENDEDOR Clave Primaria: (numpedido, numlinea) Clave Ajena: (numpedido) PEDIDO Clave Ajena: (numpieza) PIEZA Clave Primaria: (numbin) Clave Alternativa: (numpieza) Clave Ajena: (numpieza) PIEZA La base de datos pretende reflejar la política de compras de una empresa de distribución. Se compran (tablas PEDIDO y LINPED) ciertas mercancías a los distintos proveedores (tabla VENDEDOR) y son vendidas posteriormente al público o a otros distribuidores (que no hemos considerado en la BD) Básicamente, las tareas que se pretenden mecanizar son las siguientes (entre paréntesis aparecen las tablas directamente relacionadas con cada una): Lista de suministradores (vendedor). Los datos de los proveedores que nos suministran la mercadería que, posteriormente, es vendida al público en general. Catálogo de venta (pieza) 14 Las piezas que distribuye nuestra empresa y el precio de venta al público de las mismas.

15 Lista de precios de suministro (preciosum, vendedor, pieza). Conocer los precios a los que los proveedores nos podrían suministrar las piezas. Es información histórica cuyo origen no nos preocupa. No se debe confundir esta información con la de los pedidos: los artículos almacenado en preciosum puede que no se hayan pedido nunca y, si se ha hecho, que hayan sido comprados a un precio distinto porque se negociara en ese instante con cualquiera de los suministradores. Control de pedidos (pedido, linped, vendedor, pieza). De aquellas mercancías que se solicitan a los proveedores, controlar si se han servido en el tiempo estimado y en la cantidad pedida. Cada pedido consta de: Cabecera de pedido (tabla pedido), donde se especifica qué vendedor nos ha suministrado el pedido completo, y la fecha en que se realizó el pedido. Líneas de pedido (tabla linped), donde un conjunto de líneas pertenecientes a un mismo pedido se numeran desde la número 1 en adelante. Contiene el código de pieza que sirvió el proveedor, la cantidad que se le pidió y la cantidad que realmente ha servido a nuestra empresa y la fecha en la que se recibió, así como el precio al que se le compro (puede ser diferente al estipulado en preciosum). Sólo aquellas piezas que aparezcan en una línea de pedido han sido solicitadas al correspondiente vendedor y, si la cantidad recibida es mayor que cero, habrán sido recibidas por la empresa en esa cantidad. Control de existencias (inventario, pieza). Mediante la confección de un inventario, donde cada entrada, que corresponde a un único artículo, es el recuento real de existencias. 15

16 tabla VENDEDOR numvend nomvend nombrecomer telefono calle Ciudad provincia 1 AGAPITO LAFUENTE DEL CORRAL MECEMSA Avda. Valencia 3205 ALICANTE ALICANTE 2 LUCIANO BLAZQUEZ GENERAL LACY, 15 2 HARW S.A VAZQUEZ B ALICANTE ALICANTE 3 GODOFREDO MARTIN MARTINEZ MECEMSA AVDA. VALENCIA 3372 ALICANTE ALICANTE 4 JUANITO REINA DONDEQUIERAS, HARW S.A PRINCESA 1000, 13F LO ANGELE LOS EU'S 5 JUANITO REINA S. FRANCISCO DE LA DEAQUI PRINCESA ASIS, 10 1 GIJON ASTURIAS 6 MANOLO PIEDRA POMEZ HUMP S.A AVIACION 92, 3 I SAN VICENTE ALICANTE 7 MANUEL PEREZ SOFTHARD QUINTANAR DE LA ARZOBISPO LOACES RODRIGUEZ DISTRIBUIDORA S.A. ORDE TOLEDO 8 LUISA PINTO HEREDIA LA MEJOR S.A OXFORD BLUES NEW ORLEANS LOUISSIANA 9 CHEMA PAMUNDI OLE ESPAÑA, S.A. RIVAS VACIAMADRID MADRID 10 GUSTAVO DE BASICA OLE ESPAÑA, S.A. RIVAS VACIAMADRID MADRID 11 MARIO DUQUE LIZONDO BANESTOESSOFT S.L MOROS, 19 GIJON ASTURIAS 12 JOSE ANTONIO MARTINEZ JUAN OLE ESPAÑA, S.A COLON, 21 VALENCIA VALENCIA 13 MANUEL GOMEZ SANTISTEBAN OLE ESPAÑA, S.A COLON, 21 VALENCIA VALENCIA 8001 JUAN RODRIGUEZ JUAN HALA S.A. ALMORADI ALICANTE 8002 JUAN MARTINEZ GARCIA HARW S.A CISCAR, 5 VALENCIA VALENCIA 8003 LUIS RODRIGUEZ SALA HARW S.A SALAMANCA, 102 VALENCIA VALENCIA 100 PEDRO GRACIA MORALES SOFT S.A. SALAMANCA, 100 VALENCIA VALENCIA 101 SALVADOR PLA GARCIA TABAC & SOFT MAYOR, 44 SAN VICENTE ALICANTE 102 SOLEDAD MARTINEZ ORTEGA ASX. S.A PEREZ GALDOS, 54 ALICANTE ALICANTE 200 SEVERINO MARTIN MARTINEZ SEVESOFT GENERAL LACY, 17 ALICANTE ALICANTE 55 LUIS GARCIA SATORRE HARW S.A POETA ALONSO, 12 ALICANTE ALICANTE 201 MANUEL ORTUÑO LAFUENTE HALA S.A MAYOR, 64 SAN VICENTE ALICANTE tabla PIEZA numpieza nompieza preciovent A-1001-L MOUSE ADL 3B 7,00 C-1002-H 4,00 C-1002-J 7,00 C-400-Z FILTRO PANTALLA X200 18,00 DD DISCO DURO WESTERN DIG 210M ,00 DD DISCO DURO 30M SEAGATE 200,00 DK DISKETTE 1.44 PANASONIC 1,10 DK P PACK DISKETTE 144 PANASONIC 10,00 FD FLOPPY 1.44 IBM 180,00 FD FLOPPY 720K IBM 150,00 M-0001-C MONITOR SYNCMASTER 3 COLOR 170,00 M-0002-C MONITOR COLOR SONY BT 350,00 M-0003-C MONITOR IBM 3570 COLOR 400,00 O-0001-PP PEGATINAS CONCIERTO JEVI 20,00 O-0002-PP PACK PEGATINAS CONCIERTO JEVI 100,00 P PLACA INTEL 33Mz 350,00 T-0001-IBM TECLADO XT IBM 110,00 T-0002-AT TECLADO AT SUSUSU 55,00 T-0003-AT TECLADO AT HP 120,00 X-0001-PC TECLADO ESTANDAR PC 70,00 16

17 tabla PEDIDO numpedido numvend fecha /05/ /10/ /10/ /10/ /10/ /08/ /10/1992 tabla LINPED numpedido numlinea numpieza preciocompra cantpedida fecharecep cantrecibida 1 1 M-0001-C 300, /05/ P , /05/ FD , /05/ DD , /05/ T-0002-AT 31, /10/ DK P 5, /10/ T-0002-AT 30, /10/ DD , /10/ P , /10/ O-0002-PP 99, /10/ T-0002-AT 15, /06/ O-0001-PP 15, /08/ O-0002-PP 99, /08/ C-400-Z 7, /10/ tabla INVENTARIO numpieza numbin cantdisponible fecharecuento periodorecuen cantminima DD /10/ P /10/ O-0002-PP /10/ M-0001-C /10/ M-0003-C /10/ DD /11/ FD /11/

18 tabla PRECIOSUM numpieza numvend preciounit diassum descuento A-1001-L 3 5,00 1 A-1001-L 4 4,90 1 A-1001-L 100 4,00 3 A-1001-L 1 2,00 3 C-1002-H 1 0,50 2 C-1002-J 1 1,50 2 C-400-Z 1 8, C-400-Z ,00 3 DD , DD , DD , DD ,00 4 DK ,56 3 DK P 1 5,60 3 DK P 2 5,50 5 FD ,00 3 FD , FD , FD ,00 3 M-0001-C 1 155, M-0001-C 3 180, M-0002-C 9 300, M-0002-C 1 150, M-0003-C 3 350, M-0003-C 4 280,00 7 M-0003-C 1 200,00 7 O-0001-PP 5 19,50 1 O-0001-PP 55 15,00 7 O-0001-PP 1 15,00 1 O-0002-PP 2 99,00 1 O-0002-PP 5 98, O-0002-PP ,00 10 O-0002-PP 1 75,00 1 P ,00 5 P ,00 3 P ,00 7 P ,00 2 P , T-0001-IBM 2 90,00 5 T-0001-IBM , T-0001-IBM 1 90,00 15 T-0002-AT 1 30,00 3 T-0002-AT 2 35, T-0002-AT 4 25,00 7 T-0002-AT 5 33,00 3 T-0002-AT , T-0002-AT , T-0003-AT 1 77,50 3 T-0003-AT 3 81,45 18

19 CONSULTAS SELECT1 1. Obtener todos los números de piezas de las piezas de la base de datos. 2. Nombre de todas las piezas con un precio de venta menor que Número, nombre y precio de venta de las piezas de precio de venta mayor que 10 o menor que 1 euros, ordenadas de menor a mayor precio. 4. Para cada pieza de la que se conozca algún suministrador, obtener el número de pieza y el descuento, en orden descendente del valor de descuento. 5. Nombre de los vendedores con número de vendedor menor que Modificar el requerimiento anterior para eliminar duplicados. 7. Número y nombre de los vendedores con número de vendedor menor que Obtener todos los números de los vendedores de los que se sepa que pueden suministrar alguna pieza. 9. Vendedores de la provincia de Alicante. 10. Nombre y empresa de los vendedores de la Comunidad Valenciana. 11. Números de vendedores y días que tardarían en suministrar la pieza 'P ' 12. Códigos de pieza solicitados en el pedido 1, ordenados de mayor a menor precio de compra. 13. Números de pedido y números de vendedor, para los pedidos solicitados el 15 de octubre de Códigos de pieza de los que se sabe que algún vendedor nos podría hacer descuento. 15. Códigos de pieza, de posible suministrador y precio de suministro, ordenados por código de vendedor y código de pieza. 19

20 20

21 select 2 CONSULTAS SOBRE VARIAS TABLAS Objetivos: Poder relacionar distintas tablas de la BD para obtener información más compleja. Contenidos Utilización de más de una tabla. Nombres cualificados de atributo. Sinónimos temporales de tabla. Tipos de datos: dominios. Resolución de requerimientos UTILIZACIÓN DE MÁS DE UNA TABLA Para la resolución de la mayoría de requerimientos es necesario trabajar con información que se obtiene de relacionar varias tablas. La forma de especificar qué tablas vamos a consultar es construir una lista de nombres de tablas en la cláusula FROM. Si seleccionamos la BD Ejemplo, podemos preguntar por el nombre de los profesores y la descripción de las asignaturas que imparten; esta información se encuentra almacenada en la tabla imparte, que relaciona las claves primarias de cada una de las tablas asociadas por tal relación. select nombre, descripcion from asignaturas, imparte, profesores where profesores.dni = imparte.dni and asignatura = codigo resultado: nombre descripcion EVA GOMEZ Fundamentos de las Bases de Datos EVA GOMEZ Diseño y Gestión de Bases de Datos RAFAEL ROMERO Programación Concurrente En primer lugar, solicitamos nombre (del profesor) y descripcion (de la asignatura). El primer atributo se encuentra en la tabla profesores, y el segundo en la de asignaturas. La relación entre ambas tablas se encuentra en la tabla imparte, que asocia dni de profesor con codigo de asignatura que imparte. Así, para obtener la información que precisamos, necesitamos involucrar a las tres tablas al mismo tiempo. Podemos pensar, por clarificar el mecanismo por el que se obtiene este resultado, que el SGBD recorre la tabla de profesores, tupla por tupla, y busca el valor de dni de cada una en la tabla imparte. Si encuentra tal valor, en esa tupla de imparte en que lo ha encontrado, aparecerá el código de asignatura, en la columna nominada como asignatura; buscando en la tercera tabla, asignaturas, obtendrá la descripcion y finalmente mostrará en pantalla el nombre y la descripción que le corresponde. 21

22 Nótese que no aparece MANUEL PALOMAR, o la asignatura HISTORIA DE LA INFORMÁTICA, puesto que ni el primero (en nuestra BD) imparte asignatura alguna, ni la segunda es impartida por ningún profesor (de los conocidos por nuestro sistema). Qué pasaría si no utilizáramos la cláusula where para enlazar las tablas? Supongamos el siguiente requerimiento: select asignatura, nombre from profesores, imparte resultado: asignatura nombre FBD EVA GOMEZ FBD MANUEL PALOMAR FBD RAFAEL ROMERO DGBD EVA GOMEZ DGBD MANUEL PALOMAR DGBD RAFAEL ROMERO PC EVA GOMEZ PC MANUEL PALOMAR PC RAFAEL ROMERO Si no indicamos nada en la cláusula where la información que obtenemos es simplemente la combinación de cada tupla con todas las demás: si hay 3 tuplas en imparte y otras 3 en profesores, la cardinalidad de la relación resultante es 3 x 3 = 9 tuplas. Si en la cláusula from pusiéramos, además, la tabla asignaturas, el resultado final tendría 3 x 3 x 5 = 45 tuplas. Veamos en detalle como funciona la orden select-from-where para el caso de la siguiente consulta (códigos de asignaturas y nombre de los profesores que las imparten) 1 : select asignatura, nombre from profesores, imparte where profesores.dni = imparte.dni resultado: asignatura nombre FBD EVA GOMEZ DGBD EVA GOMEZ PC RAFAEL ROMERO El SGBD primero combinaría todas las tuplas con todas de las tablas especificadas en el from: dni nombre categoria ingreso dni asignatura EVA GOMEZ TEU 01/10/ FBD MANUEL PALOMAR TEU 16/06/ FBD RAFAEL ROMERO ASO6 16/06/ FBD EVA GOMEZ TEU 01/10/ DGBD MANUEL PALOMAR TEU 16/06/ DGBD RAFAEL ROMERO ASO6 16/06/ DGBD EVA GOMEZ TEU 01/10/ PC MANUEL PALOMAR TEU 16/06/ PC RAFAEL ROMERO ASO6 16/06/ PC 22 1 Esto no es necesariamente real, una de las ventajas de utilizar un SGBD es que las consultas se procesan de manera eficiente y de forma totalmente transparente para el usuario.

23 Por lo especificado por la where eliminaría aquellas tuplas que no cumplieran la condición, y nos quedaría: dni nombre categoria ingreso dni asignatura EVA GOMEZ TEU 01/10/ FBD EVA GOMEZ TEU 01/10/ DGBD RAFAEL ROMERO ASO6 16/06/ PC Y por último, las columnas especificadas en la select determinarían el resultado final: asignatura nombre FBD EVA GOMEZ DGBD EVA GOMEZ PC RAFAEL ROMERO NOMBRES CUALIFICADOS DE ATRIBUTO Si observamos la sentencia select anterior, al comparar los dni que aparecen en profesores y en imparte hemos utilizado el nombre de la tabla a la que pertenecen cada uno, profesores.dni e imparte.dni. Si en el conjunto de columnas de todas las tablas que se especifican en la cláusula from existen varias con nombres iguales, deberemos especificar en todo momento la tabla de la que queremos extraer la información. Caso de no existir ambigüedad, no es necesario utilizar el nombre de la tabla; ni asignatura ni codigo se utilizan en otras tablas. Si deseamos conocer el dni y el nombre de los profesores que imparten alguna asignatura, buscaremos en imparte los dni de los profesores (son los que tienen al menos una asignatura asignada), y con este valor obtendremos el nombre en profesores. select dni, nombre from profesores, imparte where profesores.dni = imparte.dni resultado: ERROR Al especificar que nos muestre en pantalla el dni del profesor, el SGBD entra en conflicto puesto que no sabe si nos referimos al de la tabla profesores o al de la tabla imparte. Utilizaremos el nombre completo de la columna (es indiferente, en este caso, de qué tabla): select profesores.dni, nombre from profesores, imparte where profesores.dni = imparte.dni resultado: dni nombre EVA GOMEZ EVA GOMEZ RAFAEL ROMERO Se recuerda que la ocurrencia EVA GOMEZ está relacionada con dos asignaturas, y es por eso que aparece duplicada en este resultado. La forma de evitar tuplas idénticas ya se mostró en la sesión anterior. 23

24 SINÓNIMOS TEMPORALES DE TABLA Para facilitar la escritura de las sentencias select (entre otros posibles motivos) se pueden utilizar alias temporales, nombres alternativos de las tablas. Se especifican en la lista de tablas del from, antes de la, que separa el nombre de la tabla en cuestión de la siguiente. select distinct p.dni, nombre from profesores p, imparte i where p.dni = i.dni resultado: dni nombre EVA GOMEZ RAFAEL ROMERO CONSULTAS SELECT2 1. Obtener el número de pieza junto con el nombre de todas las provincias desde las que puede sernos suministrada, en orden descendente del número de pieza. 2. Modificar el requerimiento anterior para eliminar duplicados. 3. Lista el nombre y número de las piezas. 4. Obtener el nombre y número de proveedores de la provincia de Valencia. 5. Obtener el nombre y número de proveedores de la provincia de Valencia a los que se les ha solicitado un pedido. 6. Obtener los números de línea y su precio de compra del pedido número Obtener todas las piezas que se recuenten el 15 /10/ Obtener número y nombre de todas las piezas recibidas el 1 de Mayo de Precio unitario de suministro del número de pieza A-1001-L y el vendedor Nombres de proveedores que puedan suministrarnos la pieza numero A-1001-L 11. Obtener nombre, teléfono, y ciudad del vendedor que puede suministrarnos piezas con valor mayor de Obtener los vendedores que pueden suministrarnos piezas con un descuento de más de 10%. 13. Obtener los números de pedido del vendedor número Obtener los vendedores ordenados alfabéticamente en orden descendente. 15. Ídem en orden ascendente. 16. Obtener los números de pieza de las que conozcamos algún vendedor que nos la pueda suministrar. 17. Número y nombre de las piezas que puedan suministrarnos el vendedor número 2 y el 4 (no necesariamente que las puedan suministrar los dos). 18. Piezas que nos puedan suministar los vendedores de la empresa Harw S.A. 24

25 19. Número, nombre y precio de venta de las piezas que han sido compradas en un pedido servido por el vendedor Número y nombre de vendedor, y pieza que ha sido comprada a un precio mayor que el estipulado en la lista de precios de suministro. 21. Número de pieza y número y nombre de vendedor de aquellas piezas cuyo precio de venta es mayor que 50 o su descuento de suministro es mayor que Pedidos y datos del vendedor cuya fecha de pedido no sea el 22 de octubre de Precios a los que nos pueden ser suministradas las piezas DD y FD , y número y nombre de los vendedores que las podrían suministrar a esos precios. 25

26 26

27 select 3 EXPRESIONES DE SELECCIÓN DE FILAS Objetivos: Comparaciones de cadenas de caracteres. Contenidos BETWEEN, IN LIKE, subcadenas. Construcción de expresiones de selección de filas utilizando rangos, listas, y funciones de comparación de cadenas de caracteres. RANGOS Expresiones del tipo 10 <= x <= 100 se pueden construir utilizando el operador de construcción de rangos BETWEEN. La sintaxis de tal subexpresión de la cláusula where es la siguiente: expresión [NOT] BETWEEN expresión AND expresión Por ejemplo, deseamos conocer los créditos y descripción de las asignaturas cuyo número de créditos está entre 5 y 8. select creditos, descripcion from asignaturas where creditos between 5 and 8 resultado: creditos descripcion 6 Fundamentos de las Bases de Datos 6 Diseño y Gestión de Bases de Datos 6 Programación Concurrente LISTAS Mediante el operador IN se puede buscar un determinado valor en una lista construida usando constantes. expresión [NOT] IN (listavalores) 27

28 Descripción de las asignaturas FBD y DGBD: select descripcion from asignaturas where codigo in ('FBD', 'DGBD') resultado: descripcion Fundamentos de las Bases de Datos Diseño y Gestión de Bases de Datos Nombre de los profesores que no imparten HI, FBD o DGBD: select nombre from profesores p, imparte i where p.dni = i.dni and asignatura not in ('HI', 'FBD', 'DGBD') resultado: nombre RAFAEL ROMERO Fijémonos en que MANUEL PALOMAR, que no imparte ninguna de las asignaturas objeto de la búsqueda, tampoco aparece en la tabla resultado puesto que su dni no aparece en la tabla IMPARTE. SUBCADENAS DE CARACTERES Podemos preguntar por subcadenas dentro de columnas de tipo carácter. Para ello utilizaremos los operadores LIKE o MATCHES, que soportan la siguiente sintaxis: columna [NOT] LIKE 'cadena' La cadena de caracteres cadena admite los comodines % y _, equivalentes en uso a los comodines de MS-DOS * y?, es decir, el primero indica una cadena de caracteres de cualquier longitud, y el segundo un carácter cualquiera. Profesores que atiendan al nombre de 'RAFA': select * from profesores where nombre like 'RAFA%' resultado: dni nombre categoria RAFAEL ROMERO ASO6 Código de las asignaturas de 'Bases de Datos' select codigo from asignaturas where descripcion like '%BASES DE DATOS%' resultado: codigo FBD DGBD 28

29 Código de las asignaturas, siendo tal código de 2 caracteres: select codigo from asignaturas where codigo like ' ' (2 subrayados seguidos de 3 espacios en blanco: codigo es un CHAR(5) resultado: codigo HI PC FP VALORES NULOS Podemos interrogar a la BD de datos en busca de valores desconocidos (información faltante) mediante el operador IS NULL, cuya sintaxis es: columna IS [NOT] NULL Código y créditos de las asignaturas de las que conocemos su número de créditos: select codigo, creditos from asignaturas where creditos is not null resultado: codigo creditos HI 4.5 FBD 6 DGBD 6 PC 6 FP 9 RESUMEN DE OPERADORES Recopilamos todos los operadores y conectivas lógicas vistos hasta ahora para la construcción de expresiones condicionales: = AND BETWEEN LIKE {%,_} > OR IN < NOT > = < = < > IS NULL 29

30 CONSULTAS SELECT3 1. Obtener el nombre de las piezas que puedan ser suministradas por aquellos proveedores cuyo nombre empiece por S. 2. Obtener el nombre de las piezas que puedan ser suministradas por proveedores cuyo nombre empiece por S, y se llamen de apellido 2 Martínez o Martín. 3. Obtener los nombres de los vendedores de las provincias de Valencia, Castellón o Alicante. 4. Nombres de vendedores que empieza su nombre por J. 5. Nombres de vendedores que termina su nombre por Z. 6. Nombres de vendedores que se apellidan López. 7. Nombre de vendedores que el nombre empieza por M seguido de cualquier carácter simple, una R y cualquier cadena de n caracteres. 8. Obtener los vendedores de la provincia de Valencia o Alicante que su nombre empieza por J o por M y tienen un número de vendedor entre 1 y Listar los nombres y números de vendedores así como el número y nombre de las piezas que pueden suministrar, para los vendedores de la provincia de Valencia o Alicante. 10. Obtener los nombres de pieza que pueden suministrar los vendedores de apellido 'García'. 11. Piezas 3 que sabemos que nos puede suministrar algún vendedor. 12. Obtener todos los vendedores que tengan teléfono. 13. Listar las piezas con un descuento entre 1 y 10 cuyo nombre contenga una O y que se las hayamos solicitado a proveedores cuyo número oscile entre el 1 y el Obtener los nombres de vendedores en orden alfabético. 15. Obtener nombre de vendedores y nombre de piezas que pueden suministrar ordenado en orden alfabético. 16. Obtener todos los nombres de piezas que pueda suministrar el vendedor 100, el 300 y/o el 400 con un precio de venta entre 10 y 1000, y un precio unitario entre 1 y Obtener el número de pieza y el precio de los monitores. 18. Nombre de las piezas que pueden sernos suministradas desde la Comunidad Valenciana. 19. Obtener los vendedores que viven en la calle Ciscar o Salamanca y de la Empresa Harw S.A. 20. Obtener nombres de vendedores y números de pieza que nos pueden suministrar, de aquellos vendedores cuyo apellido comienza por Martín, y ordenados alfabéticamente. 2 Evidentemente, la BD no diferencia entre nombre y apellido primero y segundo, por lo que se ha de tratar como subcadenas dentro del valor del atributo. 3 Cuando no se especifica un atributo concreto, se entiende que se pide toda la información disponible en la BD de los objetos solicitados. 30

31 select fecha FUNCIONES DE FECHA 4 Objetivos: Construir condiciones de selección de filas utilizando atributos de tipo fecha. Contenidos TO_CHAR() TO_DATE() SYSDATE ADD_MONTHS() MONTHS_BETWEEN() FUNCIONES DE FECHA Se presentan a continuación distintas funciones de manejo de fechas y hora, que se pueden utilizar tanto en la lista de columnas que aparecerán en la tabla resultado de la select como en la construcción de expresiones de la where. En general, la comparación entre fechas se hace directamente. Por ejemplo: select nombre from profesores where ingreso < '23/12/1989'; select nombre from profesores where ingreso < '23/12/1989' resultado: nombre MANUEL PALOMAR Pero si necesitamos hacer transformaciones sobre un determinado dato (extraer parte de una fecha, cambiar el formato de visualización, calcular días, etc.) entonces debemos ayudarnos de estas funciones. TO_CHAR(fecha [, formato]) TO_DATE(cadena [, formato]) Convierte la fecha de tipo DATE a un valor VARCHAR2 en el formato especificado en "formato" Convierte la cadena de caracteres "cadena" de tipo CHAR a un valor de tipo DATE con el formato especificado en "formato" SYSDATE Devuelve la fecha actual del sistema ADD_MONTHS(fecha,n) Devuelve la fecha especificada con n meses más MONTHS_BETWEEN(fecha1,fecha2) Devuelve los meses transcurridos entre fecha1 y fecha2 4 Aunque todas las demás sesiones de prácticas cumplen con el estándar SQL, los tipos de datos de fecha y hora y las funciones que los manejan no suelen estar igualmente implementadas en todos los SGBD, por lo que esta sesión es únicamente aplicable a Oracle. 31

32 FORMATOS DE FECHA Las funciones TO_CHAR() y TO_DATE() admiten distintos formatos de fecha que se pueden construir según una máscara especificada por el usuario. Dicha máscara es una cadena de caracteres entre comillas simples en la que se pueden utilizar los siguientes: ELEMENTO SIGNIFICADO - / '. ; : 'texto' Marcas de puntuación y texto fijo que se reproduce en el resultado D Día de la semana (1-7) DAY Nombre del día de la semana DD Día del mes (1-31) DY Día del año (1-366) MM Mes (1-12) MON Nombre abreviado del mes MONTH Nombre completo del mes Q Cuatrimestre del año (1-4) YYYY Año con 4 dígitos Y,YYY Año con punto de millar YY Año con 2 dígitos Por ejemplo: select nombre, to_char (ingreso,'dd') from profesores where to_char(ingreso,'dd') < 15 select * from profesores where to_char(ingreso,'mm') < 6 select * from profesores where ingreso = sysdate Para obtener el número de días entre dos fechas basta con utilizar la operación resta select nombre, sysdate-ingreso from profesores CONSULTAS SELECT FECHA 1. Obtener el número de pieza de las piezas que se recuenten el 15/10/ Números de pieza de las piezas que se recuentan entre el 1 de Octubre de 1992 y el 31 de Octubre de Número y fecha de los pedidos solicitados en el segundo semestre del Nombre de los vendedores que sirvieron piezas en la primera quincena de mayo del 92, ordenado alfabéticamente. 5. Número, nombre de vendedor y mes en que se les solicitó un pedido de discos duros. 6. Años en que se ha efectuado algún recuento. 7. Número y descripción de las piezas que sirvieron los proveedores los días 10 de cada mes. 8. Número y descripción de las piezas que sirvieron los proveedores en el 95 y cuyo precio de compra es superior al precio de suministro que ellos ofertaban. 9. Número de pieza, descripción, fecha de recepción, cantidad recibida, de las piezas recibidas en el 95 y de precio de venta entre 50 y 100 euros. 32

33 create DEFINICIÓN DE DATOS Objetivos: Introducir al alumno a la definición de datos. Contenidos Las órdenes CREATE TABLE y DROP TABLE Restricciones La orden INSERT (1) Información sobre las restricciones de una tabla IMPORTANTE Para ésta y las sesiones que traten de crear y borrar tablas, e insertar, modificar o eliminar datos, es necesario entrar al sistema con un usuario con permisos suficientes y diferente para cada puesto (si dos alumnos entraran con el mismo usuario estarían trabajando en el mismo espacio de trabajo y colisionarían al crear y mantener sus tablas). Por ello, se debe iniciar la sesión como: usuario: bdixx contraseña: bdixx servicio: oracle donde xx es el número del ordenador en el aula (01, 02,..., 10, 11, ) Dado que el número de usuarios es limitado, al terminar cada grupo de prácticas, los usuarios serán limpiados por lo que los datos manejados durante la sesión serán borrados y no estarán disponibles para las semanas siguientes. LA ORDEN CREATE TABLE La definición de tablas es el primer paso en la creación de una base de datos. El conjunto de descripciones de tablas conforma el esquema de base de datos y representa a un sistema de información concreto. Supongamos que vamos a implementar un esquema de base de datos relacional de profesores, asignaturas (sólo es un listado de profesores y asignaturas, sin relaciones entre ellos). En primer lugar debemos decidir cuáles son los atributos de cada uno de ellos y sus tipos de datos: PROFESORES (DNI: varchar2(10), nombre: varchar2(40), categoria: char(4), ingreso: datetime) ASIGNATURAS (codigo: char(5), descripcion: varchar2(35), creditos: number(3,1) creditosp: number(3,1))

34

35 Para cumplir con las restricciones del modelo relacional, además, debemos elegir las claves primarias adecuadas 5 : DNI para profesores y codigo para asignaturas. Obviamente, la forma que tienen estas tablas ha sido una decisión nuestra como diseñadores de esta base de datos concreta, en otra situación hubiéramos, probablemente, decidido definir otros atributos y otras tablas. La orden CREATE TABLE nos permite crear cada una de las tablas necesarias para nuestra base de datos: CREATE TABLE nombretabla ( {listacolumnas} [,{restricciones}] ) La lista de columnas, en su forma más sencilla, es un conjunto de expresiones (tantas como columnas deseemos, y separadas por comas) del tipo: columna tipodatos[,columna tipodatos[,...]] RESTRICCIONES Las restricciones son reglas, que normalmente se establecen en el momento de crear una tabla, para garantizar la integridad de los datos. Básicamente, las restricciones obligan a cumplirse ciertas reglas cuando una fila es insertada, borrada o modificada, de forma que la operación se llevará a efecto sólo si se cumplen las restricciones definidas en la tabla. Podemos contemplar los siguientes tipos de restricciones de integridad de datos: NOT NULL: especifica que la columna no puede contener un valor nulo. PRIMARY KEY: identifica de manera única a cada fila de la tabla mediante una o varias columas, estas columnas que forman la clave primaria no pueden tener valores nulos. FOREIGN KEY: establece una relación entre una(s) columna(s) de la tabla y otra(s) columna(s) de la tabla referenciada, siendo esta última(s) columna(s) la PRIMARY KEY. CHECK: especifica una condición que se debe evaluar a cierto. De las restricciones, sólo vamos a utilizar, de momento, la clave primaria, que puede contener tantas columnas como se necesiten: PRIMARY KEY (columna[,columna[,...]]) 5 Todos los SGBDR permiten crear tablas sin restricciones de clave primaria, pero un correcto diseño de bases de datos incluirá claves ajenas que no se pueden definir si no existen sus correspondientes claves primarias. Las claves ajenas se introducen en la siguiente sesión. 35

36 Por ejemplo: create table profesores (DNI varchar2(10), nombre varchar2(40), categoria char(4), ingreso date, primary key (DNI)); 6 create table asignaturas (codigo char(5), descripcion varchar2(35), creditos number(3,1) creditosp number(3,1), primary key (codigo)) 7 resultado: 1 tabla creada 1 tabla creada Ahora ya podemos ejecutar una consulta sobre cualquiera de estas dos tablas: select * from profesores resultado: ninguna fila seleccionada El resultado de la creación es una tabla vacía, sin filas, lista para insertar datos en ellas (orden insert, a continuación). Al crear una tabla, el resultado es persistente, la tabla no desaparece cuando nos desconectamos del servidor (tampoco los datos que almacenamos en ella). Si queremos borrar una tabla debemos ordenárselo al SGBD mediante la orden DROP TABLE: DROP TABLE nombretabla Por ejemplo: drop table asignaturas resultado: 1 tabla borrada Al utilizar esta orden nótese que también se eliminan los datos (las filas) que pudiera contener. Ahora podríamos volver a crear la tabla (sin filas), con los mismos o diferentes atributos, y volver a borrarla, y... LA ORDEN INSERT Para introducir datos nuevos en una base de datos vamos a utilizar la orden INSERT de SQL. Con la sintaxis que se muestra a continuación seremos capaces de introducir datos nuevos en cualquiera de las tablas que componen una determinada BD. En principio, veremos la expresión mínima de la orden, formada por dos cláusulas, into y values. INSERT INTO nombretabla VALUES ( listaexpresiones ) Supongamos que en la base de datos anterior queremos dar de alta un nuevo profesor. Si dicho profesor tiene como dni el , nombre PATRICIO MARTÍNEZ, categoría TU y fecha de incorporación 01/01/2000, deberíamos ejecutar la siguiente orden. 6 Para facilitar su uso, los nombres de tabla y las columnas no deben incluir acentos o caracteres no habituales 7 El punto y coma es necesario para informar a Oracle de que una orden ha de ejecutarse y que, a continuación, se va a ejecutar otra orden distinta. Si sólo se escribe una orden no hace falta este caracter. No obstante, por la implementación del cliente Worksheet, se aconseja terminar todas las órdenes con punto y coma, incluso si sólo es una. 36

37 Insert into profesores values ( , PATRICIO MARTINEZ, TU, 01/01/2000 ); resultado: 1 fila creada Sólo se puede indicar una tabla en la que introducir datos, no se permite una lista de nombres de tabla para introducir datos en varias tablas a la vez. Para introducir datos en n tablas, habrá que ejecutar n sentencias INSERT. insert into profesores, asignaturas values ( , PATRICIO MARTINEZ, TU, 01/01/2000, BdI, BASES DE DATOS I,6,0); resultado: ERROR falta la palabra clave values Lo mismo ocurre con las filas, sólo se puede indicar una lista de valores. Esto quiere decir que hay que ejecutar una orden insert por cada una de las filas que queramos almacenar en una tabla insert into profesores values ( 66, ERNESTO PEREZ, ASO6, 10/10/2001 ); resultado: 1 fila creada Resultado El resultado que devuelve una orden INSERT, será siempre el número de filas insertadas, en el caso de que la ejecución haya sido correcta. Para los casos en que la ejecución de la sentencia viole alguna restricción de la BD y por tanto, su ejecución no sea correcta, el resultado indicará cuál es la restricción violada. El SGBD, cada vez que insertamos un nuevo dato en una tabla, se encarga de verificar las restricciones activas, en nuestro caso las claves primarias, que como sabemos, no admiten valores duplicados, ni valores nulos. insert into profesores values ( 66, PEPITO, XXX, 11/11/2006 ); resultado: ERROR restricción única (BDI.SYS_C ) 8 violada VALUES Si no se va a dar valor a todas las columnas de la tabla se deberá indicar las columnas a las que se les dará valor. Así, si por ejemplo, sólo supiéramos el dni y el nombre del profesor que queremos dar de alta, ejecutaríamos la sentencia siguiente Insert into profesores (dni, nombre) values ( , ARMANDO SUAREZ ); resultado: 1 fila creada Es recomendable acostumbrarse a poner siempre las columnas a las que se va a dar valor, sean o no todas las de la tabla. Las razones que lo aconsejan son: 8 Nombre de la restricción. 37

38 No habrá que fijarse en si se va a dar valor a todas o sólo a alguna de las columnas para acomodar la sintaxis de la sentencia INSERT. Si por alguna razón se modifica la estructura de una tabla, es decir, se añaden columnas nuevas, y tenemos costumbre de no indicar las columnas cuando se inserta valor a todas, con la modificación dejarán de funcionar las sentencias que tuviéramos escritas. Existe la posibilidad de hacer uso del valor NULL. Puesto que NULL es la ausencia de valor, si lo asignamos como valor a una columna de una tabla, lo que estaremos haciendo es indicar que esa columna no tiene valor. La siguiente sentencia realiza la misma operación que la anterior. Insert into profesores (dni,nombre,categoria,ingreso) values ( , ARMANDO SUAREZ, NULL, NULL); resultado: 1 fila creada La lista de valores se asigna a la lista de columnas, de forma que la primera columna toma el primer valor, la segunda el segundo y así sucesivamente. Es decir, las dos sentencias siguientes realizan exactamente la misma operación, aunque el orden de asignación es diferente. Insert into profesores (dni,nombre,categoria) values ( , ARMANDO SUAREZ, NULL); resultado: 1 fila creada Insert into profesores (categoria,dni,nombre) values (NULL, , ARMANDO SUAREZ ); resultado: 1 fila creada Ésto apoya aún más el hecho de que sea aconsejable poner siempre la lista de columnas, ya que aún dando valor a todas las columnas de la tabla, si no las indicamos, la lista de valores deberá seguir el orden que esas columnas tienen internamente en la tabla. Es decir, estaremos obligados a mirar las columnas y su orden, para poder establecer el orden adecuado en la lista de valores. INFORMACIÓN SOBRE UNA TABLA Recordemos que ejecutar DESC nombretabla o DESCRIBE nombretabla, muestra información sobre las columnas que componen la tabla, el orden interno de las mismas en la tabla, y sus tipos de datos. 38 INFORMACIÓN SOBRE LAS RESTRICCIONES DE UNA TABLA En el momento de crear una restricción, además de especificar las reglas que se deben cumplir, podemos dar un nombre a la misma. Para establecer los nombres de las restricciones, se suele seguir el siguiente convenio: ser nombres descriptivos y empezar, por ejemplo, por PK_ si se trata de una Primary Key o por FK_ si se trata de una Foreign Key o por C_ si se trata de una CHECK. No vamos a profundizar más en los nombres de las restricciones ni en la sintaxis para crearlos, pero sí que debemos saber que si no especificamos ningún nombre, Oracle asigna un nombre único a cada restricción con el formato SYS_Cn, siendo n un valor entero.

MANEJO DE SQL WORKSHEET

MANEJO DE SQL WORKSHEET prácticas 2006-07 Bases de Datos I Eva Gómez Ballester Paloma Moreda Pozo Patricio Martínez Barco José Clavel Cerro Ernesto Pérez López Armando Suárez Cueto Dpto. de Lenguajes y Sistemas Informáticos Escuela

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

select nombre from profesores where categoria='aso6';

select nombre from profesores where categoria='aso6'; 1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del

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 DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7

MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Índice Pasos previos a la visualización del programa: Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 Conceptos e información

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

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

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

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

Base de datos en la Enseñanza. Open Office

Base de datos en la Enseñanza. Open Office 1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

Módulo 8: Ofimática básica. Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos. Access

Módulo 8: Ofimática básica. Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos. Access Módulo 8: Ofimática básica Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos Access UNIDAD DIDÁCTICA 2 Conceptos fundamentales en un gestor de base de datos Créditos Autor/es:

Más detalles

Reservas - Rooming List

Reservas - Rooming List Reservas - Rooming List Desde esta pantalla obtendremos la rooming list del día o periodo solicitados. 1. Criterios para obtener la Rooming List En la parte derecha de la pantalla se nos ofrecen todas

Más detalles

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA Fecha última revisión: Septiembre 2014 MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA MÓDULO GOTELGEST.NET MÓVIL... 3 1. INTRODUCCIÓN A

Más detalles

Base de datos: Access. Unidad Didáctica 3: Planificación y diseño de una base de datos

Base de datos: Access. Unidad Didáctica 3: Planificación y diseño de una base de datos Módulo 7: Tecnologías de la Información y Comunicación y Ofimática Unidad Didáctica 3: Planificación y diseño de una base de datos Base de datos: Access UNIDAD DIDÁCTICA 3 Planificación y diseño de una

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

COLEGIO APUNTES ACCESS

COLEGIO APUNTES ACCESS COLEGIO APUNTES ACCESS Índice Introducción al Access... 3 Conocimientos básicos... 6 Tablas... 7 Formularios... 10 Consultas... 12 Consultas de eliminación... 15 Consulta de actualización... 15 Informes...

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES Joma ha creado una herramienta con la cual, usted, como distribuidor, podrá generar presupuestos de las agrupaciones

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT . Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS INVENTARIO INTRODUCCIÓN Es habitual que en las empresas realicen a final de año un Inventario. Con este proceso se pretende controlar el nivel de stock existente, para iniciar el nuevo ejercicio, conociendo

Más detalles

Teclado sobre una PDA para Personas con Parálisis Cerebral

Teclado sobre una PDA para Personas con Parálisis Cerebral Manual de Usuario - 1 - - 2 - Teclado sobre una PDA para Personas con Parálisis Cerebral Capítulo 1. MANUAL DE USUARIO 12.1 Descripción de la aplicación Este programa le permitirá llevar a cabo las siguientes

Más detalles

Conceptos Avanzados de Bases de datos

Conceptos Avanzados de Bases de datos Página 1 Conceptos Avanzados de Bases de datos (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Definición formal SQL Página 2 Es un conjunto exhaustivo (en su modelización

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

Manual de usuario de Solmicro BI. Página 1

Manual de usuario de Solmicro BI. Página 1 Manual de usuario de Solmicro BI Página 1 Índice 1. Estructura general del sistema, 2. Estructura de presentación de la información, 3. Acceso a Solmicro BI y los diferentes cuadros de mando, 4. Partes

Más detalles

FOCO GESTIÓN DE GRUPOS

FOCO GESTIÓN DE GRUPOS FOCO GESTIÓN DE GRUPOS MANUAL DE USUARIO CONVENIO DE PRÁCTICAS ÍNDICE 1. INTRODUCCIÓN... 3 2. BÚSQUEDA DE CONVENIOS... 3 3. ALTA CONVENIO... 5 4. MODIFICACIÓN DEL CONVENIO... 18 5. ELIMINAR CONVENIO...

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

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

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access Módulo 8: Ofimática básica Unidad didáctica 4: Introducción y modificación de datos Access UNIDAD DIDÁCTICA 4 Introducción y modificación de datos Créditos Autor/es: Fuentes Innovación y Cualificación

Más detalles

6 - Recuperar algunos registros (where)

6 - Recuperar algunos registros (where) 6 - Recuperar algunos registros (where) Hemos aprendido a seleccionar algunos campos de una tabla. También es posible recuperar algunos registros. Existe una cláusula, "where" con la cual podemos especificar

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Otros tipos de Consultas

Otros tipos de Consultas Otros tipos de Consultas Tabla de contenidos 1.- CONSULTA DE SELECCIÓN INTERACTIVA... 3 2.- CONSULTAS DE ACCIÓN... 4 3.- CONSULTAS DE TABLAS DE REFERENCIAS CRUZADAS... 6 Universidad de Salamanca Facultad

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Proyectos de Innovación Docente

Proyectos de Innovación Docente Proyectos de Innovación Docente Manual de Usuario Vicerrectorado de Docencia y Profesorado Contenido INTRODUCCIÓN... 3 DATOS PERSONALES... 6 Modificar email... 6 Modificar contraseña... 7 GESTIÓN PROYECTOS...

Más detalles

MANUAL DE USUARIO ARCHIVO

MANUAL DE USUARIO ARCHIVO MANUAL DE USUARIO ARCHIVO ÍNDICE Páginas 1. INTRODUCCIÓN... 1 2. MENÚ PRINCIPAL... 2 2.1 TABLAS... 2 2.1.1. Localización... 4 2.1.2. Tipos de Documentos... 4 2.1.3. Tipos Auxiliares... 6 2.2. DOCUMENTOS...

Más detalles

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005 Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005 1. Acerca de este documento Este documento describe el servicio de estadísticas del que actualmente disfrutan algunas de las páginas

Más detalles

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer

Más detalles

Documentación del Terminal

Documentación del Terminal Documentación del Terminal 1. Descripción El Programa de Preventa-Autoventa FacturaPlus está diseñado para su utilización en PDAs incluyendo en este paquete además una aplicación para PC con la que gestionar

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

Práctica 3. Consultas SQL

Práctica 3. Consultas SQL Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida

Más detalles

MANUAL TIENDA VIRTUAL. Paseo del Gran Capitán, Nº 62, 37006 Salamanca. Telf.: 923 121 363 Fax: 923 090 381 comercial@verial.es

MANUAL TIENDA VIRTUAL. Paseo del Gran Capitán, Nº 62, 37006 Salamanca. Telf.: 923 121 363 Fax: 923 090 381 comercial@verial.es MANUAL TIENDA VIRTUAL Paseo del Gran Capitán, Nº 62, 37006 Salamanca. Telf.: 923 121 363 Fax: 923 090 381 comercial@verial.es Alta de nuevos clientes Para darse de alta como nuevo cliente pulse el botón

Más detalles

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES MANUAL DE USUARIO Automatización del proceso de vacunación infantil, parroquia

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

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

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Programa Presupuestos de Sevillana de Informática.

Programa Presupuestos de Sevillana de Informática. Programa Presupuestos de Sevillana de Informática. Introducción. En sus inicios, el programa Presupuestos estaba pensado únicamente para escribir e imprimir presupuestos, facilitando el trabajo con un

Más detalles

Modelos y Bases de Datos

Modelos y Bases de Datos Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos

Más detalles

OBTENER DATOS EXTERNOS

OBTENER DATOS EXTERNOS La herramienta Obtener datos externos nos va a permitir llevar a Excel datos que proceden de otras fuentes de datos, como archivos de texto o bases de datos, para su posterior tratamiento y análisis con

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TEMA 20: CONCEPTOS BÁSICOS DE SQL TEMA 20: CONCEPTOS BÁSICOS DE SQL OBJETIVOS DEL TEMA Introducción al lenguaje de consultas SQL. Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y

Más detalles

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos SESION5: BASE DE DATOS PLANILLAS Ejercicio Nº : Realizar aumentos en una Tabla de Sueldos Veamos pues. En la hoja de calculo se tiene la Tabla de Sueldos de varios empleados (aquí ahora vemos solo empleados,

Más detalles

Base de datos en Access

Base de datos en Access Unidad 6.-Bases de Datos en Access Autor: Dr. Ramón Roque Hernández http://ramonroque.com/materias/pootec.htm ramonroque@yahoo.com Colaboradores: Ing. Gloria Ma. Rodríguez Morales grodríguez@itnuevolaredo.edu.mx

Más detalles

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA BÁSICA DE USO DEL SISTEMA RED SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD

Más detalles

Base de datos Lenguaje SQL

Base de datos Lenguaje SQL Base de datos Lenguaje SQL Universidad Nacional Andrés Bello Contenidos 1 2 Ejemplo Ejemplo Distinct Ejemplo - I Ejemplo - II Ejemplo Ejemplo Top - I Ejemplo Top - II Contenidos 1 2 Ejemplo Ejemplo Distinct

Más detalles

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

Más detalles

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha

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

Manual de OpenOffice Impress

Manual de OpenOffice Impress Manual de OpenOffice Impress. Capítulo 4. Trabajando con gráficos, esquemas y plantillas 1 Manual de OpenOffice Impress Capítulo 4: Trabajando con gráficos, esquemas y plantillas Este material es una adaptación

Más detalles

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional El Modelo Relacional es un modelo de datos que nos permite describir la estructura de una base de datos a nivel lógico. En 1969, Edgar Frank Ted Codd (1923-2003) introduce el modelo relacional con una

Más detalles

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0 PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0 MARZO 2013 1 Índice de contenido 1. Introducción......3 2. Instalación...5 3. Menú Opciones...6 3.1. Abrir directorio

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Manual de Procedimiento

Manual de Procedimiento Manual de Procedimiento INSTALACION DEL PROGRAMA Este manual pretende ser una ayuda para el usuario, indicando cada uno de los pasos a seguir en su utilización. REQUERIMIENTOS: 1. Windows 98 o superior.

Más detalles

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU 2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU Antecedentes:... 2 1. Introducción... 3 2. Imágenes que no se visualizan... 3 3. URLs de recursos o actividades que no son autocontenido...

Más detalles

PROPUESTAS COMERCIALES

PROPUESTAS COMERCIALES PROPUESTAS COMERCIALES 1. Alcance... 2 2. Entidades básicas... 2 3. Circuito... 2 3.1. Mantenimiento de rutas... 2 3.2. Añadir ofertas... 5 3.2.1. Alta desde CRM... 5 3.2.2. Alta desde el módulo de Propuestas

Más detalles

El proceso de edición digital en Artelope y CTCE

El proceso de edición digital en Artelope y CTCE El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos

Más detalles

Teórico 9 Del MER al MR

Teórico 9 Del MER al MR Teórico 9 Del MER al MR Introducción Veremos cómo traducir un modelo conceptual, en forma de Modelo Entidad-Relación, en un modelo lógico de base de datos, en forma de Modelo Relacional. Para esto, estudiaremos

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

6.1. Conoce la papelera

6.1. Conoce la papelera Unidad 6. La papelera de Reciclaje 6.1. Conoce la papelera La papelera no es más que un espacio en el disco duro reservado para almacenar la información que eliminamos, evitando que esta información aparezca,

Más detalles

GESTION DE REQUISICIONES VIA WEB MANUAL DEL USUARIO

GESTION DE REQUISICIONES VIA WEB MANUAL DEL USUARIO GESTION DE REQUISICIONES VIA WEB MANUAL DEL USUARIO UNIDAD DE SISTEMAS DE INFORMACION Y COMPUTO DEPARTAMENTO DE ADQUISICIONES INDICE Tema Página Objetivo 2 Portal del Departamento de Adquisiciones 3 Sección

Más detalles

BUSCAR Y RECOPILAR INFORMACIÓN EN INTERNET. APLICACIÓN PRÁCTICA.

BUSCAR Y RECOPILAR INFORMACIÓN EN INTERNET. APLICACIÓN PRÁCTICA. BUSCAR Y RECOPILAR INFORMACIÓN EN INTERNET. APLICACIÓN PRÁCTICA. Buscar en una página web Podemos buscar un texto determinado dentro de la página web que estamos visualizando en la pantalla. Para ello

Más detalles

3. Modelo relacional: Estructura e integridad.

3. Modelo relacional: Estructura e integridad. Modelo relacional: Estructura e integridad 47 3. Modelo relacional: Estructura e integridad. 3.1. Introducción. El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas OPTIMIZACIÓN DE CONSULTAS EN SQL Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas Análisis de Consultas y Transacciones Para elaborar el diseño físico de la base de datos debemos

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD DE SANTA FE

MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD DE SANTA FE MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD Subsecretaría de Reforma y Modernización del Estado Programa Municipio Digital ÍNDICE Características del sistema... 2 Funcionalidades...

Más detalles

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 CONTENIDO 1. Qué es? 2. Cómo crear y acceder a la Comunidad Virtual en Microsoft SharePoint 2010? Ejemplo. 3. Qué tengo en la página de inicio

Más detalles

MANEJANDO FICHEROS Y CARPETAS

MANEJANDO FICHEROS Y CARPETAS Tutorial 1 MANEJANDO FICHEROS Y CARPETAS 1.1.- Creando carpetas Para organizar la información que almacenamos en nuestros ordenadores, tenemos una elemento denominado carpeta. Vamos a ver cómo, usando

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Gobierno del Estado de México

Gobierno del Estado de México Gobierno del Estado de México Escuela Preparatoria Oficial No. 82 José Revueltas Hay que alcanzar la exaltación verdadera, para lograrlo, hay que ser serenos, sin prisas, estudiar, trabajar y disciplinarse

Más detalles

- Access es un gestor de bases de datos relacionales gráfico e interactivo.

- Access es un gestor de bases de datos relacionales gráfico e interactivo. ACCESS 2007 Que es Access? - Access es un gestor de bases de datos relacionales gráfico e interactivo. - Una base de datos Access, a diferencia de otros gestores de B.D., se guarda en un único fichero

Más detalles

Estructurar la información dentro del ordenador:

Estructurar la información dentro del ordenador: Estructurar la información dentro del ordenador: Aprender a estructurar la información dentro del ordenador, para facilitar su manejo y búsqueda. Las carpetas se utilizan para clasificar los documentos

Más detalles

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER Centros educativos de la Comunidad de Madrid que deseen ser centros de prácticas de los alumnos del Máster en Profesorado de ESO y Bachillerato,

Más detalles

Manual de rol gestor de GAV para moodle 2.5

Manual de rol gestor de GAV para moodle 2.5 Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente

Más detalles

P/. Factura Electrónica D/. Manual de Usuario Proveedores

P/. Factura Electrónica D/. Manual de Usuario Proveedores Control documental Versión del Fecha Autor Modificaciones/Comentarios documento 1.0 10/02/2011 Diputación de Teruel Versión inicial del documento 1.1 05/04/2011 Diputación de Teruel Revisado estilo 1.2

Más detalles

Aplicación de gestión TPC Manual usuario: Tramitación

Aplicación de gestión TPC Manual usuario: Tramitación Aplicación de gestión TPC Manual usuario: Tramitación ÍNDICE DE CONTENIDOS 1. Introducción pág. 2 2. Conexión y desconexión.pág. 3 3. Gestión TPC.pág. 5 4. Nueva solicitud..pág. 16 5. Gestión de incidencias

Más detalles

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS CONSULTAS ACCESS 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS CONSULTAS En esta unidad veremos cómo crear consultas y manejarlas para la edición de registros de tablas

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Sistema de etiquetas Manual de uso

Sistema de etiquetas Manual de uso Sistema de etiquetas Manual de uso El sistema de etiquetas son dos aplicaciones, que imprimirán etiquetas personalizadas de artículos y de envío de clientes. Soportará varias impresoras y diversos tamaños

Más detalles

Introducción a las tablas dinámicas

Introducción a las tablas dinámicas Introducción a las tablas dinámicas Cuando tenemos una gran cantidad de datos en una planilla de cálculo, puede resultar difícil analizar toda la información. En estos casos, usaremos las tablas dinámicas,

Más detalles

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por: Oracle básico (II): Creación y manejo de tablas Con el artículo anterior iniciamos una entrega de Oracle Básico comenzando con el tema de creación y manejo de tablas. Ahora pasaremos a estudiar la consulta

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles