Expresiones Join SQL2

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

Download "Expresiones Join SQL2"

Transcripción

1 Expresiones Join SQL2 En SQL2 hay varias clases de operadores Join disponibles. Las expresiones Join, al producir relaciones, pueden ser usadas en la cláusula FROM de una expresión Seleccione-De-Cuando. La forma más simple de expresión Join es el CROSS JOIN, término sinónimo del producto cartesiano. Por ejemplo, si queremos realizar el producto de dos relaciones: Películas (titulo, año, longitud, tipo, estudio) Estrellas (titulopelicula, añopelicula, nombreactor) Podemos hacerlo asi: Películas CROSS JOIN Estrellas; Suponga que deseo unir las relaciones Películas y Estrellas con la condición de unir solo aquellas tuplas que se refieran a la misma película. Es decir, que titulopelicula y año deben ser el mismo. 1 Expresiones Join SQL2 El resultado puede ser: Películas JOIN Estrellas ON titulo = titulopelicula AND año = añopelicula; El resultado es una relacion de ocho columnas con los mismos atributos del CROOSJOIN donde las tuplas resultantes provienen de aquellas tuplas de Películas y Estrellas que al combinarlas coincidan en el titulo y el año de la película. Cuando una expresión Join aparece en una cláusula FROM, la relación denotada por la expresión Join es tratada como una tabla base o una vista en la cláusula FROM. Ejemplo: Si consideramos que el ejemplo anterior tiene dos componentes redundantes, toda la expresión del ejemplo se pueden colocar en la cláusula FROM y usar una cláusula SELECT para remover los atributos no deseados: 2 1

2 Expresiones Join SQL2 SELECT titulo, año, longitud, tipo, estudio, nombreactor FROM Películas JOIN Estrellas ON Titulo = titulopelicula AND año = añopelícula ; JOIN NATURAL EN SQL2 Como se recuerda el Join natural difiere del Join theta en: 1. La condición join es que todos los atributos que se emparejan, de las dos relaciones tienen un nombre comun que se iguala, y no hay otras condiciones. 2. Uno solo de los atributos que se igualan son proyectados. SQL2 funciona exactamente así, la palabra clave NATURAL JOIN debe aparecer entre las relaciones para expresar el operador. 3 Expresiones Join SQL2 Ejemplo: se quiere calcular el join natural de las relaciones: EstrellasPelicula (nombre, dirección, sexo, fechanacmto) EjecutivosCine (nombre, dirección, codproductor, ingresoneto) La consulta será: EstrellasPelicula NATURAL JOIN EjecutivosCine ; OUTERJOIN EN SQL2 Al calcular el join R S, si una tupla t de R no se iguala con una tupla de S, todos los datos de t desaparecen del resultado. El outerjoin difiere del join ordinario ( o inner ) al adicionar al resultado cualquier tupla de cualquier relación que no iguale con al menos una tupla de la otra relación. Las tuplas colgantes se rellenan con NULL en los atributos que no se igualan. 4 2

3 Expresiones Join SQL2 Queremos obtener aquellos individuos que son estrellas pero no ejecutivos o los ejecutivos que no son estrellas. Entonces se debe utilizar natural full outer join : EstrellasPelicula NATURAL FULL OUTER JOIN EjecutivosCine; El resultado es una relación con seis atributos, con dos tipos de tuplas: a) los individuos que son estrellas pero no ejecutivos (los atributos de EjecutivosCine con NULL); y b) las que representan ejecutivos pero no estrellas (los atributos de EstrellasPelicula con NULL). Existen muchas variaciones de la reunión externa (outerjoin) disponibles en SQL2. 5 Expresiones Join SQL2 a) El left outerjoin, donde solo las tuplas colgadas de la relación izquierda son rellenadas con nulos e incluidas en el resultado: EstrellasPeliculas NATURAL LEFT OUTER JOIN EjecutivosCine; b) El right outerjoin, donde se rellena e incluye solo las tuplas colgadas de la segunda relación (derecha): EstrellasPeliculas NATURAL RIGHT OUTER JOIN EjecutivosCine; Otra variación en los outerjoin es cuando se especifica la condición que las tuplas que igualen deben cumplir. En vez de la palabra NATURAL, al join debe seguirle el ON y una condición que al igualar las tuplas, estas deban satisfacer: c) El FULLOUTERJOIN, donde después de igualar tuplas, se rellenan las tuplas colgantes de cualquiera de las relaciones con valor NULL, incluyendo en el resultado las tuplas rellenadas. 6 3

4 Expresiones Join SQL2 Queremos unir la relaciones Película y Estrellas, usando la condición que el titulo y el año coincidan, debemos modificar la consulta así: Películas FULL OUTER JOIN Estrellas ON titulo = titulopelicula AND año = añopelicula; La palabra clave FULL puede ser reemplazada por LEFT o RIGHT en el anterior tipo de outerjoin: d) Películas LEFT OUTER JOIN Estrellas ON titulo = titulopelicula AND año = añopelicula; e) Películas RIGHT OUTER JOIN Estrellas ON Titulo = titulopelicula AND Año = añopelicula; 7 La integridad de los datos en una base de datos es un aspecto muy importante a tener en cuenta en la implementación de un diseño. Existen al menos dos formas de mantenerla: a. Incorporando las restricciones en los programas de aplicación (se multiplica el código específico que implementa restricciones en las aplicaciones). b. Incorporando declaraciones al SMBD, formando parte del esquema de la base de datos. SQL2 provee una variedad de técnicas para implementar Restricciones de integridad como parte del esquema de la base de datos. Veamos los diferentes tipos de restricción previstos en SQL: 8 4

5 Declaración de Llaves Es el tipo de restricción más importante en una base de datos. Se prohibe que dos tuplas de una relación coincidan en el atributo declarado como llave. La llave se declara dentro del comando SQL CREATE TABLE. Hay dos formas similares de declarar una llave: usando la cláusula PRIMARY KEY o la cláusula UNIQUE. Hay dos formas de declarar una llave primaria: 1) Se puede declarar un atributo como llave primaria cuando se define el esquema relacional. CREATE TABLE Hospital ( numeroh smallint PRIMARY KEY... ); 9 2) Se puede agregar al esquema ya declarado, una nueva declaración que defina la llave de la relación: CREATE TABLE Personal ( hospitalnro smallint, codigo smallint, nombre varchar (40),... PRIMARY KEY (hospitalnro, codigo)... ); Para utilizar la cláusula UNIQUE basta con reemplazar la palabra PRIMARY KEY por UNIQUE. Tiene la misma importancia de una declaración de llave primaria. Sin embargo, en una tabla puede haber varias declaraciones UNIQUE pero solo una llave primaria. Muchas versiones SQL ofrecen la creación de índices que usan la cláusula UNIQUE para declarar el (o los) atributos (s) que serán llave al mismo tiempo que crea un índice sobre dicho atributo: CREATE UNIQUE INDEX indiceaño ON Películas (año); 10 5

6 Integridad Referencial y Llaves Foráneas Un segundo tipo de restricción en el esquema de la base de datos es que los valores de algunos atributos deben ser lógicos. Estamos hablando de la integridad referencial, concepto que esta estrechamente relacionado con el de Llave Foránea, que establece que el valor de un atributo puede ser nulo o su valor exista como valor en la llave primaria de otra tabla. La llave foráneas permite implementar relaciones uno a muchos. CREATE TABLE Medico ( hospitalnro smallint, codigo smallint, nombre varchar (40),... CONSTRAINT fkhosp FOREIGN KEY (hospitalnro) REFERENCES Hospital (numeroh)... ); donde fkhosp es el nombre de la restricción. 11 Declaración de restricciones de la llave foránea En SQL podemos declarar uno o varios atributos como llave foránea, referenciando el (los) atributo(s) de otra relacion (que puede ser la misma relación). Esta declaración trae las siguientes implicaciones: 1. Los atributos referenciados en la segunda relación deben ser declarados como llave primaria de su relacion. 2. Un valor del atributo de la llave foránea en la primera tabla, también debe aparecer en el correspondiente atributo de la segunda relación: restricción de integridad referencial. 12 6

7 Declaración de restricciones de la llave foránea Hay dos formas de declarar llaves foráneas: a. Si la llave foránea es una tributo simple, podemos usar: REFERENCES <tabla> (<atributos>) b. Anexar a la lista de atributos (CREATE TABLE) una o más declaraciones enunciando que un conjunto de atributos son una llave foránea. Indicamos despues la tabla y sus atributos (que son llave primaria). La forma es: FOREING KEY <atributos> REFERENCES <tabla> (<atributos>) Ejemplo: 13 CREATE TABLE Estudio ( nombreest CHAR ( 30) PRIMARY KEY, direcciónest VARCHAR (225), codproductor INT REFERENCES EjecutivosCine (codproductor) ); Una forma alternativa será: CREATE TABLE Estudio ( nombreest CHAR (30) PRIMARY KEY, direcciónest VARCHAR (225), codproductor INT, FOREIGN KEY codproductor REFERENCES ); EjecutivosCine (codproductor) 14 7

8 Mantenimiento de la Integridad Referencial En SQL se dispone de varias formas de implementar la conservación de las restricciones de integridad referencial. Rechazar las modificaciones que violan la integridad referencial lo cual es la política por defecto en SQL. Las siguientes acciones serán rechazadas por el sistema (error en tiempo de ejecución): Intento de insertar una tupla cuyo valor en la llave foránea no es nulo o no existe como valor de la llave primaria. Intento de actualizar una tupla cuya valor de llave foránea no existe como valor en la llave primaria. La tupla original permanece igual. Intento de eliminar una tupla en la tabla de la llave primaria cuando su componente aparece como valor en la llave foránea de la segunda relación en una o más tuplas. Se rechaza eliminación y se conservan las demás tuplas. 15 Política en cascada Cuando se borran o actualizan tuplas en la tabla que posee la llave primaria, se borran o se actualizan las tuplas relacionadas en la tabla que posee la llave foránea. Política de asignar valor nulo En la cual ante retiros o modificaciones de tuplas en la tabla que posee la llave primaria, se modifican los valores de la tabla que maneja la llave foránea, cambiándolos a NULL. Política de asignar valor por defecto En la cual ante retiros o modificaciones de tuplas en la tabla que posee la llave primaria, se modifican los valores de la tabla que maneja la llave foránea cambiándolos al valor DEFAULT. 16 8

9 Veamos la sintaxis: FOREIGN KEY ( a1,,..., aj) REFERENCES R (K1,..., Kj) [ON DELETE {SET DEFAULT SET NULL CASCADE NO ACTION}] [ON UPDATE {SET DEFAULT SET NULL CASCADE NO ACTION}] En el ejemplo: CREATE TABLE Estudio ( nombreest CHAR ( 30) PRIMARY KEY, direcciónest VARCHAR (225), codproductor INT REFERENCES EjecutivosCine (codproductor) ON DELETE SET NULL ON UPDATE CASCADE ); Las acciones alternativas son SET DEFAULT, SET NULL, CASCADE y NO ACTION. La acción por defecto es (no hacer nada) NO ACTION. 17 Restricciones de los Valores de Atributos Un tercer grupo de restricciones lo constituyen las restricciones que limitan los valores que pueden aparecer en los componentes de algunos atributos. Se pueden expresar como una restricción al atributo dentro de la definición del esquema o, como una restricción de dominio del atributo en cuestión. Algunas de las formas de implementación de este tipo de restricciones se pueden expresar mediante: Restricciones NO NULAS Se asocia a la opción NOT NULL; especifica que no se puede ingresar un valor nulo para el atributo. Ejemplo: codproductor INT NOT NULL, 18 9

10 Restricciones CHECK Basadas en Atributos Se pueden incorporar restricciones más complejas a la declaración de un atributo mediante la palabra clave CHECK, seguida de una condición entre paréntesis. En la práctica es una limitación simple sobre valores, aunque en teoría la condición puede ser cualquier cosa que le siga al where en una consulta SQL. Una restricción CHECK basada en atributo se verifica siempre que una tupla cualquiera reciba en ella un nuevo valor (actualización, o inserción). La restricción CHECK basada en atributo NO se verifica necesariamente, si una modificación de la BD no cambia el valor del atributo al cual se asocia la restricción; esta limitación puede hacer que se viole la restricción. 19 Sintaxis: CHECK (Condición de búsqueda) Ejemplos:Suponga que se requiere que el codproductor sea de al menos 6 dígitos en la relación Estudio: codproductor INT REFERENCES EjecutivosCine (codproductor) CHECK (codproductor >=100000); Ejemplo: verificar el sexo en las relación EjecutivosCine que tenga un carácter y que pueda tomar los siguientes valores `F o `M : sexo CHAR (1) CHECK (sexo IN ( `F,`M ) ) CREATE TABLE Hospital (... camas smallint CHECK (camas < 1000),... ); 20 10

11 CREATE TABLE Hospital (... camas smallint CHECK (camas <= (SELECT count (*)/10 FROM Personal) )... ); CREATE TABLE Paciente (... cuota decimal (8,2), nrofarmacia smallint, consusincargo smallint... CHECK ((cuota between 50 and 500) and (nrofarmacia between 10 and 100) and (consusincargo between 1 and 20) )... ); 21 CREATE TABLE Medico (... especial char (5) CHECK ( (especial IN ( clini, pedia, traum, obste, cardi, otras ) )... ); Restricciones de Dominios También se puede restringir los valores de un atributo al declarar un dominio con una restricción similar y declarando que el dominio es el tipo de dato para el atributo. En SQL2 se usa la palabra reservada VALUE para referirse a un valor del dominio. Ejemplo: declarar un domino, dominiosexo con los caracteres `F y `M como unión de valores permitidos: CREATE DOMAIN dominiosexo CHAR (1) CHECK (VALUE IN (`F, M ) ); 22 11

12 Por lo tanto, el definir el atributo sexo en la relación EjecutivosCine puedo hacerlo así: sexo dominiosexo, Ejemplo: Crear un dominio para el atributo codproductor número de al menos 6 dígitos en la relación Estudio : CREATE DOMAIN dominioproductor INT CHECK (VALUE >= ); Y luego al reescribir la declaración de codproductor: codproductor dominioproductor REFERENCES EjecutivosCine (codproductor) Obtenemos la restricción deseada. Ejemplos: CREATE DOMAIN clave AS integer CHECK (Value > 30) CHECK (Value is NOT NULL); CREATE DOMAIN color AS char (10) DEFAULT Sin color CHECK (Value IN ( Sin color, Azul, Ámarillo, Rojo, Negro )); 23 Restricciones Globales Corresponden al tipo de declaración de restricciones más complejas; se refieren a las relaciones entre varios atributos o incluso a relaciones diversas. Son de dos tipos: Restricciones CHECK basadas en tuplas, que limitan cualquier aspecto de las tuplas de una sola relación. Aserciones, son aquellas que pueden incluir relaciones enteras o algunas variables de tuplas que abarcan la misma relación. Restricciones CHECK Basadas en Tuplas Para declarar una restricción sobre tuplas de una tabla, al definirla (CREATE TABLE) podemos agregar a la lista de atributos y a las declaraciones de llaves o llaves foráneas la palabra clave CHECK seguida de una condición entre paréntesis

13 La restricción CHECK basada en tuplas se evalúa cada vez que se realice una inserción o una actualización sobre la tabla R. Si la condición menciona alguna relación en una subconsulta, y si una modificación de esta relación vuelve falsa la condición en alguna tupla de R, la verificación no mostrará ese cambio. Ejemplo: CREATE TABLE EstrellasPelicula ( nombre CHAR (30) UNIQUE, dirección VARCHAR (25), sexo CHAR (1), fechanacmto DATE, CHECK (sexo = `F OR nombre NOT LIKE `Sra.% ); Se recomienda utilizar aserciones para definir restricciones más complejas. 25 Aserciones Una aserción es una restricción a la base de datos que restringe el contenido de la base de datos como un todo. Al igual que en las rectricciones check, una restricción se especifica como una condición de búsqueda. Pero se diferencia en que la condición de la aserción puede restringir el contenido de varias tablas y las relaciones entre ellas. Por esta razón la aserción se especifica como parte de la definición del esquema de la base de datos, por medio de la instrucción SQL2 CREATE ASSERTION. Su forma general es: CREATE ASSERTION nombrerestricción CHECK (condición de búsqueda); 26 13

14 CREATE TABLE Orden ( norden INTEGER NOT NULL, fechaorden DATE NOT NULL, codcliente INTEGER NOT NULL, Producto CHAR (5), Cantidad INTEGER NOT NULL, valororden NUMBER (10,2)); CREATE TABLE Cliente ( nrocliente INTEGER NOT NULL, nomempresa VARCHAR (25) NOT NULL, direccioncli VARCHAR (25) NOT NULL, limitecredito NUMBER (10,2)); Suponga que queremos restringir el contenido de las base de datos tal que el total de las ordenes para cualquier cliente no puede exceder el límite de su crédito: CREATE ASSERTION limitedelcredito CHECK ( (Cliente. nrocliente = Orden.codCliente) AND (sum (valororden ) <= límitecredito )); 27 Restricciones en SQL Ejemplo: CREATE ASSERTION presidentesricos CHECK (NOT EXISTS (SELECT * FROM Estudio, EjecutivosCine WHERE Estudio.codProductor = EjecutivosCine. codproductor AND ingresoneto < ) ); De esta forma la restricción se cumple (es verdadera) cuando la consulta sea vacía. Ejemplo: CREATE ASSERTION totalsalarios CHECK (((SELECT sum (sueldo) FROM Personal) + (SELECT sum (sueldo) FROM Medico)) < ); 28 14

15 Disparadores en SQL Los disparadores, llamados reglas Evento-Condición-Acción (o siglas ECA), difieren de las restricciones previamente discutidas en tres formas: 1. Los triggers solo son probados cuando ocurren ciertos eventos, especificado por el programador de la BD. Eventos permitidos: son inserciones, borrados, actualizaciones y el fin de una transacción. 2. En lugar de prevenir inmediatamente el evento que activa la acción, un trigger prueba una condición. Si esta no se satisface, entonces no ocurre nada en el trigger en respuesta al evento. 3. Si la condición del trigger se cumple, la acción definida con el triggers es realizada por el DBMS. La acción puede impedir que ocurra el evento, o podría deshacer el evento (como borrar una tupla insertada). La acción podrá ser cualquier secuencia de operaciones sobre la base de datos. 29 Disparadores en SQL2 La base de datos es incapaz de programarse para especificar: Cuando verificar una restricción, Que hacer exactamente cuando se verifica la restricción. Un trigger o disparador tiene 3 partes: Un evento (ejemplo: actualizar un atributo) Una condición (ejemplo: una condición a evaluar) Una acción (borrado, actualización, inserción) NOTA: los triggers pueden causar efectos en cascada. Los vendedores de bases de datos no esperaron estándares con disparadores! 30 15

16 Disparadores en SQL Características de los Triggers 1. La acción puede ser ejecutada antes, después o durante el evento definido en el trigger. 2. La acción puede referirse a valores viejos o nuevos que se insertaron, borraron o actualizaron en el evento que dispara la acción del trigger. 3. Los eventos de actualización pueden especificar un atributo particular o un conjunto de atributos. 4. Una condición puede ser especificada con una cláusula WHEN, y la acción solo se ejecutará si la regla es activada y se cumple la condición cuando el evento definido en el trigger ocurre. 5. El programador tiene la opción de especificar que la acción sea realizada: a) Una vez en cada tupla modificada b) Una vez en todas las tuplas que cambian en la operación 31 Disparadores en SQL Para crear un trigger se usa el comando CREATE TRIGGER. Veamos su sintaxis: CREATE [OR REPLACE] TRIGGER <nombretrigger> BEFORE AFTER --Tiempo del evento { {INSERT UPDATE} [OF columna(s) ] DELETE } ON <nombretabla> -- Eventos disparadores FOR EACH ROW --Tipo de Trigger [WHEN (<condición>) ] -- Restricción al Trigger <Bloque PL/SQL> END; --Cuerpo del trigger -- Fin del disparador 32 16

17 Disparadores en SQL Ejemplo: Trigger a nivel de tupla CREATE TRIGGER No-Baja-Precios AFTER UPDATE OF precio ON Producto REFERENCING OLD AS OldTuple NEW AS NewTuple WHEN (OldTuple.precio > NewTuple.precio) UPDATE Producto SET precio = OldTuple.precio WHERE nombre = NewTuple.nombre FOR EACH ROW 33 Disparadores en SQL Trigger a nivel de Instrucción CREATE TRIGGER mantiene_precio-promedio INSTEAD OF UPDATE OF precio ON Producto REFERENCING OLD_TABLE AS TablaOld NEW_TABLE AS TablaNew WHEN (1000 < (SELECT AVG (precio) FROM ((Producto EXCEPT TablaOld) UNION TablaNew)) DELETE FROM Producto WHERE (nombre, precio, empresa) IN TablaNew; INSERT INTO Producto (SELECT * FROM TablaOld) 34 17

18 Disparadores en SQL Sea la relación EjecutivosCine (nombre, dirección, codproductor, ingresoneto) Vamos a aplicar un disparador que opere sobre actualizaciones al atributo ingresoneto. El efecto de esta regla es restaurar el valor inicial por cualquier intento de reducir el ingreso neto de un ejecutivo: 1) CREATE OR REPLACE TRIGGER ingresonetotrigger 2) AFTER UPDATE OF ingresoneto on EjecutivosCine 3) REFERENCING 4) OLD AS oldtuple 5) NEW AS newtuple 6) WHEN (oldtuple.ingresoneto > newtuple.ingresoneto) 7) UPDATE EjecutivosCine SET ingresoneto = Oldtuple.ingresoNeto WHERE codproductor = Newtuple.codProductor 8) FOR EACH ROW; 35 Disparadores en SQL A continuación mostraremos otras alternativas: A la cláusula AFTER: { BEFORE INSTEAD OF } En reemplazo del UPDATE: { INSERT DELETE }. La acción puede ser cualquier número de intrucciones separadas por punto y coma. Cuando el evento del trigger es una actualización, entonces habrá una tupla vieja y otra nueva, los cuales son las tuplas antes y después de la actualización: OLD AS y NEWAS. Si se omite (FOR EACH ROW) entonces el trigger a nivel de tupla se convierte en un trigger a nivel de instrucción, el cual se ejecuta una vez por cada instrucción que genere uno o más eventos definidos para el trigger. En un trigger a nivel de instrucción nos tendremos que referir al conjunto de tuplas viejas y nuevas, (declaraciones tales como OLD_TABLE AS ViejosValores y NEW_TABLE AS NuevosValores

19 Disparadores en SQL Ejemplo. Se desea prevenir que el promedio del ingresoneto de los ejecutivos del cine caiga por debajo de los $ Esta restricción podrá ser violada por una inserción, retiro o actualización del atributo ingresoneto en la relación EjecutivosCine. Se necesita un trigger para cada uno de estos eventos. En el ejemplo siguiente se muestra el trigger para el evento de una actualización: 1) CREATE OR REPLACE TRIGGER promedioingresonetotrigger 2) AFTER UPDATE OF ingresoneto ON EjecutivosCine 3) REFERENCING 4) OLD TABLE AS viejosda 5) NEW TABLE AS nuevosda 6) WHEN ( >= 7) (SELECT AVG (ingresoneto) FROM ((EjecutivosCine EXCEPT viejosda) UNION nuevosda))) 8) DELETE FROM EjecutivosCine WHERE (nombre, dirección, codproductor, ingresoneto) IN nuevosda; 9) INSERT INTO EjecutivosCine (SELECT * FROM viejosda); 10) END. 15/10/2014 Bases de Datos I - Mauricio E. Fernández N 37 Disparadores en SQL En el ejemplo siguiente se muestra el trigger a nivel de instrucción para el evento de un borrado: 1) CREATE OR REPLACE TRIGGER TriggerPromIngreNetoRet 2) AFTER DELETE OF ingresoneto ON EjecutivosCine 3) REFERENCING OLD TABLE AS tablavieja 4) WHEN ((SELECT AVG (ingresoneto) FROM (EjecutivosCine)) <= ) 5) INSERT INTO EjecutivosCine (SELECT * FROM tablavieja); 6) END

20 Disparadores en SQL Se recomienda seguir las siguientes reglas para la definición de triggers de mantenimiento de integridad: Identifique operaciones y tablas críticas para la restricción de integridad Por cada una de tales tablas verifique Si la restricción puede ser verificada a nivel de fila entonces Si la fila verificada es modificada en el trigger entonces Use un trigger de fila con before De lo Contrario Use un trigger de fila con After De lo Contrario Use un trigger de instrucción con After Los triggers no son exclusivamente utilizados para mantener la integridad. También se puedeusar para: Propósitos de monitoreo de acceso de usuarios y modificaciones a ciertas tablas Acciones de seguridad sobre tablas 39 Ejercicio en SQL Sea lasiguiente base de datos: Empleado : ndi(numérico), nombre (10 caracteres), salario (numérico), numdep (10 caracteres), sexo (1 carácter M o F ) Departamento: numdep (10 caract.), nombre (10 caract.), presupto (numérico) Utilizar SQL para crear las tablas de la base de datos, incluyendo las restricciones de integridad que se solicitan. Crear todas las tablas, especificando en cada caso las claves primarias y foráneas. Especificar en la tabla Empleado que: a) el salario este en el rango 1, a , b) el nombre y salario no deben ser nulos. Especificar el sexo del empleado creando un dominio. En la tabla Empleado, especificar que si un departamento es retirado en la tabla Departamento, se eliminan los registros en Empleado. Si el departamento cambia de numdep, sus registros en Empleado serán actualizados. El total del presupto de un Departamento debe ser mayor o igual al 50% de la suma de los salarios de los empleados que laboran en dicho departamento. Diseñar un disparador que al insertar un nuevo empleado, automáticamente actualice el presupuesto total del Departamento al que el empleado pertenece, añadiéndole el salario devengado por el nuevo empleado. Diseñar un disparador que al modificar el salario de un empleado, actualice automáticamente el presupuesto total del Departamento

21 Disparadores en SQL Considere las siguientes relaciones: Mascota (nrochip, nombre, raza, peligrosidad, fechanacimto, dip) Propietario (dip, fechaalta) Persona (dip, fechanacimto, lugarnacimto, nombre, direccion) Indique cómo definiría las siguientes restricciones de integridad en SQL: 1. No puede haber dos mascotas con el mismo número de chip 2. Todo propietario es una persona 3. El campo peligrosidad sólo puede tomar los valores 0 (falso) 1 ( verdadero) 4. Un propietario pueden serlo de varias mascotas 5. Las mascotas no tienen porque vivir en la misma dirección que sus propietarios 6. Se quiere almacenar más información sobre las razas de los animales de forma que, para cada raza, se almacena un identificador (para distinguir una raza de todas las demás), el nombre de la raza, el tipo (perro, gato, reptil, equino), el color, el tipo de pelo (largo, corto), y su peligrosidad (0 para las no peligrosas y 1 para las peligrosas) 7. No todas las personas deben ser propietarias de mascotas 8. Sólo pueden ser propietarios de mascotas las personas mayores de 18 años 9. Cuando una mascota muere (se eliminan sus datos de la tabla mascota), tiene que dejar de estar asociada a su propietario 10. Toda mascota tiene que tener un nombre 15/10/2014 Bases de Datos I - Mauricio E. Fernández N 41 SQL Embebido El lenguaje huésped manipula variables, valores, punteros. El SQL manipula relaciones. No hay construcciones en el lenguaje huésped para la manipular relaciones. Por qué no utilizar solamente un lenguaje? Olvidar el SQL: definitivamente no una buena idea! El SQL no puede hacer todo que el lenguaje huésped puede hacer. Hay dos razones por las que podríamos utilizar SQL desde un lenguaje huésped: Hay consultas que no se pueden formular con SQL puro (por ejemplo, las consultas recursivas). Para realizar esas consultas necesitamos un lenguaje de huésped de mayor poder expresivo que el SQL. Si queremos acceder a una base de datos desde una aplicación que está escrita en el lenguaje del huésped (p.e. un sistema de reserva de tiquetes con una interface gráfica escrita en Java y donde la información sobre los tiquetes está almacenada en una base de datos que puede accederse utilizando SQL embebido)

22 SQL Embebido Un programa que utiliza SQL embebido en un lenguaje de host consiste en instrucciones del lenguaje del host e instrucciones de SQL embebido. Cada instrucción de SQL Embebido empieza con las palabras claves EXEC SQL. Estas instrucciones se transforman en instrucciones del lenguaje del host mediante un precompilador (que habitualmente inserta llamadas a rutinas de librerías que ejecutan los variados comandos de SQL). Cuando ejecutamos una instrucción SELECT vemos que el resultado de las consultas es un conjunto de tuplas. La mayoría de los lenguajes huésped no están diseñados para operar con conjuntos, de modo que necesitamos un mecanismo para acceder a cada tupla única del conjunto de tuplas devueltas por una instrucción SELECT. Este mecanismo puede ser proporcionado declarando un cursor. Tras ello, podemos utilizar el comando FETCH para recuperar una tupla y apuntar el cursor hacia la siguiente tupla. 43 SQL Embebido Lenguaje Huesped + SQL Embebido Preprocesador Preprocessor Lenguaje Huesped + llamado a funciones Compilador del Lenguaje Huesped Host language compiler Programa en Lenguaje Huesped 44 22

23 SQL Embebido El SQL directo es raramente utilizado! SQL necesita estar embebido en un lenguaje de propósito general para permitir: IGU Flujo de control Generar SQL dinámico basado en las entradas del usuario. Los comandos SQL pueden ser llamados desde un lenguaje huésped (como C/C++ o Java) o desde lenguajes de etiquetado (como PHP o Ruby). Una respuesta a una consulta es una bolsa de registros con un numero arbitrario de muchos registros! En la mayoría de lenguajes no hay una estructura de datos como esta. Este problema se denomina impedance mismatch El SQL estándar soporta los cursores para el manejo de esto. 45 SQL Embebido Interface: SQL / Lenguaje Anfitrion Los valores son pasados con variables compartidas. Los dos puntos (:) preceden variables compartidas cuando ocurren dentro de una declaración SQL. EXEC SQL precede cada declaración de SQL en el lenguaje anfitrión. La variable SQLSTATE proporciona mensajes de error y el estado de los informes (ejemplo, dice que la operación fue terminada sin problema). EXEC SQL BEGIN DECLARE SECTION; char productname[30]; EXEC SQL END DECLARE SECTION; 46 23

24 SQL Embebido Uso de Variables Compartidas Void insercionsimple() { EXEC SQL BEGIN DECLARE SECTION; char nombproducto[20], fabrica[30]; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; /* Aquí se obtienen los valores para nombproducto y fabrica de alguna manera */ } EXEC SQL INSERT INTO Producto (nombre, empresa) VALUES (:nombproducto, :fabrica); 47 SQL Embebido Instrucción SELECT para escoger una fila Void traerprecio() { EXEC SQL BEGIN DECLARE SECTION; char nombreproducto[20], fabrica[30]; integer preciot; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; /* leer el valor de nombreproducto */ EXEC SQL SELECT precio INTO :preciot FROM Producto WHERE Producto.nombre = :nombreproducto; /* imprimir valor de precio */ } 48 24

25 SQL Embebido Cursores El término cursor se refiere a una estructura de control utilizada para el recorrido (y potencial procesamiento) de los registros del resultado de una consulta. Un cursor se usa para el procesamiento individual de tuplas devueltas por el SMBD para una consulta. Se necesita porque muchos lenguajes de programación sufren de impedance mismatch. Por norma general los lenguajes de programación son procedurales y no disponen de ningún mecanismo para manipular conjuntos de datos en una sola instrucción. Por ello, las filas deben ser procesadas de forma secuencial por la aplicación. Un cursor puede verse como un iterador sobre la colección de filas que hay en el set de resultados. Existen sentencias SQL que no requieren del uso de cursores. Ello incluye la sentencia Insert, así como la mayoría de formas del Update o el Delete. Incluso una sentencia Select puede no requerir un cursor si se utiliza en la variante de SELECT...INTO, ya que esta variante sólo devuelve una fila. 49 Cursores SQL Embebido Un cursor es creado utilizando la sentencia DECLARE CURSOR. Es obligatorio asignarle un nombre. DECLARE cursor_name CURSOR FOR SELECT... FROM... Antes de ser utilizado, el cursor debe ser abierto con una sentencia OPEN. Como resultado de esta sentencia, el cursor se posiciona antes de la primera fila del set de resultados. OPEN cursor_name La posición de un cursor de recorrido puede especificarse de forma relativa a la posición actual del cursor o de forma absoluta a partir del principio del set de resultados. FETCH [ NEXT PRIOR FIRST LAST ] FROM cursor_name FETCH ABSOLUTE n FROM cursor_name FETCH RELATIVE n FROM cursor_name 50 25

26 Cursores SQL Embebido EXEC SQL DECLARE nombrecursor CURSOR FOR SELECT. FROM. WHERE. ; EXEC SQL OPEN nombrecursor; while (true) { EXEC SQL FETCH FROM nombrecursor INTO :variables; if (NO_MORE_TUPLES) break; /* Se trabaja con los valores */ } EXEC SQL CLOSE nombrecursor; 51 SQL Embebido Cursores Obtenga los nombres de los estudiantes que practican natación, en orden alfabético: (EXEC SQL OPEN DeporNataciónCur; while true) { } EXEC SQL DECLARE DeporNataciónCur CURSOR FOR SELECT nombre FROM Estudiante JOIN EstudXDeporte ON Estudiante.codigoE = EstudXDeporte.codEstud AND EstudXDeporte.deporte = Natación ORDER BY nombre; EXEC SQL FETCH FROM DeporNataciónCur INTO :nombrecur; if (NO_MORE_TUPLES) break; /* Los : en :nombrecur se refiere a una variable declarada en el programa */ EXEC SQL CLOSE DeporNataciónCur; 52 26

27 SQL Embebido Más sobre Cursores Los cursores pueden modificar una relación así como se lee. Podemos determinar el orden en el cual el cursor traerá las tuplas por la palabra clave ORDER BY en la consulta SQL. Los cursores pueden proteger contra cambios a relaciones subyacentes. El cursor puede tener movimiento en algún sentido: puede ir adelante, hacia atrás +n, - n, ABS (n), ABS (- n). 53 SQL Dinámico Hemos considerado hasta ahora solamente embeber SQL estático en lenguajes de programación. El SQL estático embebido está muy bien para aplicaciones fijas cuando deseamos ejecutar una consulta SQL específica desde un lenguaje de programación, p.e., un programa que es utilizado por las agencias de viajes para reservar un asiento de una línea aérea. Qué si la consulta SQL que deseamos embeber no se conoce por adelantado en tiempo de compilación? Por ejemplo, el código que implementa una base de datos toma una consulta del usuario en tiempo de ejecución y la suministra a la base de datos. El SQL dinámico permite que la consulta sea especificada en tiempo de ejecución

28 SQL Dinámico Dos declaraciones especiales del SQL embebido: PREPARE convierte una cadena de caracteres en una consulta SQL. EXECUTE ejecuta esa consulta Ejemplo de USAGE EXEC SQL BEGIN DECLARE SECTION; char datoconsulta [MAX_QUERY_LENGTH]; EXEC SQL END DECLARE SECTION; /* Se lee el texto del usuario en el arreglo datoconsulta*/ EXEC SQL PREPARE q FROM :datoconsulta; EXEC SQL EXECUTE q; /* programa que lee una consulta SQL y la ejecuta */ 55 Arquitectura POSTGRES El siguiente gráfico muestra de forma esquemática las entidades involucradas en el funcionamiento normal del gestor de bases de datos: PostgreSQL está basado en una arquitectura cliente-servidor. El programa servidor se llama postgres y entre los muchos programas cliente tenemos, por ejemplo, pgaccess (un cliente gráfico) y psql (un cliente en modo texto). Un proceso servidor postgres puede atender exclusivamente a un solo cliente; es decir, hacen falta tantos procesos servidor postgres como clientes haya. El proceso postmaster es el encargado de ejecutar un nuevo servidor para cada cliente que solicite una conexión. Se llama sitio al equipo anfitrión (host) que almacena un conjunto de bases de datos PostgreSQL. En un sitio se ejecuta solamente un proceso postmaster y múltiples procesos postgres. Los clientes pueden ejecutarse en el mismo sitio o en equipos remotos conectados por TCP/IP

29 Arquitectura POSTGRES El administrador Postgres Terminada la instalación, en el S.O. se creará el usuario postgres, y en PostgreSQL se habrá creado un usuario con el mismo nombre. Él es el único usuario existente en la base de datos y será el único que podrá crear nuevas bases de datos y nuevos usuarios. Normalmente, al usuario postgres del S.O. no se le permitirá el acceso desde un shell ni tendrá contraseña asignada, por lo que debemos convertirnos en el usuario root, para después convertirnos en el usuario postgres y realizar tareas en su nombre. Se deben decrear los usuarios necesarios para operar la instalación de PostgreSQL, e ingresar, lo menos posible, con el usuario postgres. Es posible restringir el acceso a usuarios o a direcciones IP modificando las opciones del archivo de configuración (pg_hba.conf). 57 Arquitectura POSTGRES Para entender lo básico de la arquitectura del s/ma Postgres, debemos entender como interactúan las partes de Postgres. En la Jerga de bases de datos, Postgres usa un modelo cliente/servidor conocido como "proceso por usuario". Una sesión Postgres consiste en los siguientes procesos cooperativos (programas): un proceso supervisor (postmaster), la aplicación sobre la que trabaja el usuario (frontend) (p.e. el programa psql), y uno o más servidores de bases de datos en segundo plano (el mismo proceso postgres). Un único postmaster controla una colección de bases de datos dadas en un host. Por ello una colección de bases de datos se suele llamar instalación o un sitio. Las aplicaciones de frontend que quieren acceder a una determinada base de datos dentro de una instalación hacen llamadas a la librería. La librería envía peticiones de usuario a través de la red al postmaster (establece una conexión), el cual en respuesta inicia un nuevo proceso en el servidor (backend) y conecta el proceso de frontend al nuevo servidor. A partir de este punto, el proceso de frontend y el servidor en backend se comunican sin la intervención del postmaster. Aunque, el postmaster siempre se está ejecutando, esperando peticiones, los procesos de frontend y de backend vienen y se van

30 Arquitectura POSTGRES La librería libpq permite a un único proceso en frontend realizar múltiples conexiones a procesos en backend. Aunque, la aplicación frontend todavía es un proceso en un único thread. Una implicación de esta arquitectura es que el postmaster y el proceso backend siempre se ejecutan en la misma máquina (el servidor de base de datos), mientras que la aplicación en frontend puede ejecutarse desde cualquier sitio. Debe tener esto en mente, porque los archivos que pueden ser accedidos en la máquina del cliente pueden no ser accesibles (o sólo pueden ser accedidos usando un nombre de archivo diferente) en la máquina del servidor de base de datos. Tenga en cuenta que los servicios postmaster y postgres se ejecutan con el identificador de usuario del "superusuario" Postgres. Note que el superusuario Postgres no necesita ser un usuario especial (ej. un usuario llamado "postgres"). De todas formas, el superusuario Postgres definitivamente no tiene que ser el superusuario de Unix ("root")! En cualquier caso, todos los archivos relacionados con la base de datos deben pertenecer a este superusuario Postgres

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

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

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

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

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

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicació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

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

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

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

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

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

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

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

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

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

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

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004 2do. Cuatrimestre de 2004 Elementos de Bases de Datos Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 14 1er. Cuatrimestre

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

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

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

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

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

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

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

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

Restricciones (constraints) FOREIGN KEY

Restricciones (constraints) FOREIGN KEY INSTITUTO DE EDUCACION TECNICA PROFESIONAL INTEP 1 Restricciones (constraints) FOREIGN KEY InnoDB también soporta restricciones de claves foráneas. La sintaxis para definir una restricción de clave foránea

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso

Más detalles

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional Tema 7: Modelo Relacional 1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional Dominios, Atributos, Relaciones Representación del esquema relacional Características de

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

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

Integridad en sistemas de bases de datos relacionales

Integridad en sistemas de bases de datos relacionales Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

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

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

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

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Sitios remotos. Configurar un Sitio Remoto

Sitios remotos. Configurar un Sitio Remoto Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder

Más detalles

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. 2.2.1 Integridad. 2.2.2 Integridad referencial declarativa. 2.3 Creación de índices ISC Ing. Felipe

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

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL) OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:

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

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa. TABLAS INTERNAS Qué son? Cuando desde un programa realizamos una consulta en Base de Datos a través de sentencias SQL, solemos requerir que los resultados se guarden en alguna estructura de nuestro programa,

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

Curso Online de Oracle 10g

Curso Online de Oracle 10g Curso Online de Oracle 10g Presentación Oracle es una de los principales sistemas de bases de datos usado a nivel empresarial. Esta base de datos es desarrollada por la empresa del mismo nombre Oracle

Más detalles

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 -

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 - Tecnología de la Información y la Comunicación Base de datos Consultas - 2007 - Profesores del área Informática: Guillermo Storti Gladys Ríos Gabriel Campodónico Consultas Se utilizan consultas para ver,

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa) GUIA DE LABORATORIO N 9 B (000Webhost Php- Para desarrollar en casa) Objetivo: Crear servicios web utilizando la arquitectura REST, para obtener información desde un servidor web gratuito que se conecta

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

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

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

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

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA SQL EMBEBIDO FELIPE GARCÍA GÓMEZ Profesor: Asignatura: Titulación: Fecha: D. Francisco Ruiz González Bases de Datos Ing. Sup. Informática

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

El Manejador de Bases de Datos Relacionales ORACLE

El Manejador de Bases de Datos Relacionales ORACLE El Manejador de Bases de Datos Relacionales ORACLE Como la segunda empresa vendedora de software a nivel mundial, ORACLE provee una plataforma completa para desarrollar aplicaciones que utilicen el recurso

Más detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER 1. Crear una nueva base de datos en phpmyadmin Abrimos el wampserver y luego el phpmyadmin Para seguir este tutorial,

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

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

Charla N 6: Utilidades de Consulta de datos.

Charla N 6: Utilidades de Consulta de datos. 1 Charla N 6: Utilidades de Consulta de datos. Objetivos Generales: La manipulación de los datos organizados en forma de lista, donde la lista relaciones diferentes ocurrencias de una información común,

Más detalles