Вы находитесь на странице: 1из 11

1.

- Defina lenguajes procedimentales


En los lenguajes procedimentales el usuario indica al sistema que lleve a cabo una serie de operaciones en la base de datos para calcular el resultado deseado como lo es el lgebra relacional.

2.- Defina lenguajes no-procedimentales


En los lenguajes no procedimentales el usuario describe la informacin deseada sin dar un procedimiento concreto para obtener esa informacin como lo es el clculo relacional.

3.- Qu son los lenguajes formales de consulta?


Estos lenguajes suelen ser de un nivel superior que el de los lenguajes de programacin habituales. Pueden clasificarse como procedimentales o no procedimentales. Los lenguajes formales estn basados en el lgebra relacional o en el clculo relacional. Solamente se han descrito para consulta de Bases de Datos.

4.- Defina DDL, DCL, DML y de que se encarga cada uno.


DDL Data Definition Languaje Se utiliza para crear y modificar la estructura de una base de datos DCL Data Control Language Se utiliza para crear roles, permisos e integridad referencial asi como para controlar el acceso a la base de datos. DML Data Manipulation Language Se utiliza para almacenar, consultar, modificar, borrar, insertar y modificar informacin en la base de datos.

5.- Del lgebra relacional defina: unin, interseccin, diferencia, producto cartesiano, select, project, join, divide. De un ejemplo de cada uno de ellos.
Teniendo Nombre Carrie Fisher Mark Hamill Nombre Harrison Ford Carrie Fisher

Direccin 123 Maple St. 456 Oak Rd. Direccin 789 Palm Dr. 123 Maple St.

Fecha de Nacimiento 9/9/99 8/8/88 Fecha de Nacimiento 7/7/77 9/9/99

La unin de R y S, es el conjunto de elementos que estn en R S ambos. Un elemento aparece una sola vez: Nombre Direccin Fecha de Nacimiento Harrison Ford 789 Palm Dr. 7/7/77 Mark Hamill 456 Oak Rd. 8/8/88 Carrie Fisher 123 Maple St. 9/9/99 La interseccin de R y S, es el conjunto de elementos que aparecen en ambos R y S: Nombre Direccin Fecha de Nacimiento Carrie Fisher 123 Maple St. 9/9/99 La diferencia de R y S, es el conjunto de elementos que estn en R pero no en S, es importante resaltar que R-S es diferente a S-R: Nombre Direccin Fecha de Nacimiento Mark Hamill 456 Oak Rd. 8/8/88 El producto cartesiano de dos conjuntos es una operacin que resulta en otro conjunto cuyos elementos son todos los pares ordenados que pueden formarse tomando el primer elemento del par del primer conjunto, y el segundo elemento del segundo conjunto. R x S, los esquemas de ambas relaciones se mezclan y unen: A B B C D 1 2 2 5 6 3 4 4 7 8 9 10 11 A 1 1 1 3 3 3 R.B 2 2 2 4 4 4 S.B 2 4 9 2 4 9 C 5 7 10 5 7 10 D 6 8 11 6 8 11

La seleccin crea una nueva relacin a partir de otra, pero incluyendo slo algunas de las tuplas a partir de un criterio dado. El criterio se basa en restricciones sobre los atributos de la relacin R y no pueden incluirse otras relaciones en dicho criterio que no estn en R. Teniendo: Ttulo Ao Duracin Studio Star Wars 1977 124 Fox Mighty Ducks 1991 104 Disney Waynes World 1992 95 Paramount Duracin >= 100(pelculas) Ttulo Ao Star Wars 1977 Mighty Ducks 1991

Duracin 124 104

Studio Fox Disney

La proyeccin crea una nueva relacin a apartir de otra, pero incluyendo slo algunas de las columnas. Ttulo Ao Duracin Studio Star Wars 1977 124 Fox Mighty Ducks 1991 104 Disney Waynes World 1992 95 Paramount Ttulo, Ao, Duracin(pelculas) Ttulo Ao Duracin Star Wars 1977 124 Mighty Ducks 1991 104 Waynes World 1992 95 La operacin reunir o join es la forma ms comn de combinar informacin de dos tablas. Un join tomar lugar en almenos una columna de cada una de las tablas. La condicin ms bsica de un join es una reunin directa entre 2 tablas la cual se conoce como inner join. El resultado de la reunin consta de todas las combinaciones de cada tupla de R seguida de otra de S, que satisfagan la condicin de reunin, teniendo: Pelcula Director Ttulo Ao Director Tipo Estudio ID_Director Director Star Wars 1977 1 Color Fox 1 Smith Cacera 1991 1 color Disney 2 Charlie Bajo la lluvia 1992 3 color Paramount 3 Beny Unin Pelcula Director = ID_Director Director Ttulo Ao Director Star Wars 1977 1 Cacera 1991 1 Bajo la lluvia 1992 3

Tipo Color Color Color

Estudio Fox Disney Paramount

ID_Director 1 1 3

Director Smith Smith Beny

El outer join es una extensin del join para lidear con informacin no existente. Existen 3 tipos, izquierdo, derecho y completo. Teniendo: Empleado Calle Ciudad Empleado Rama Salario Coyote Toon Hollywood Coyote Mesa 1500 Rabbit Tunnel Carrotvile Rabbit Mesa 1300 Smith Revolver Valley Gates Redmond 5300 Williams Seaview Seattle Williams Redmond 1500 Left Outer Join Empleado Coyote Rabbit Williams Smith

Calle Toon Tunnel Seaview Revolver

Ciudad Hollywood Carrotvile Seattle Valley

Rama Mesa Mesa Redmond null

Salario 1500 1300 1500 null

Right Outer Join Empleado Coyote Rabbit Williams Gates Full Outer Join Empleado Coyote Rabbit Williams Smith Gates

Calle Toon Tunnel Seaview null Calle Toon Tunnel Seaview Revolver null

Ciudad Hollywood Carrotvile Seattle null Ciudad Hollywood Carrotvile Seattle Valley null

Rama Mesa Mesa Redmond Redmond Rama Mesa Mesa Redmond Null Redmond

Salario 1500 1300 1500 5300 Salario 1500 1300 1500 Null 5300

La divisin de R y S crea una nueva relacin seleccionando las filas de una relacin que corresponden con todas las filas en otra relacin. El grado de R debe ser mayor que el grado de S, teniendo: R S A B C D C D 1 2 3 5 3 5 4 3 5 9 2 7 3 2 8 1 1 2 2 7 1 3 2 7 R/S A 1

B 2

6.- Mencione 3 lenguajes comerciales de consulta.


SQL, T-SQL, LINQ

7.- Qu es SQL y que significan sus iniciales.


Es un lenguaje de consulta de bases de datos al cual se le atribuye el xito del modelo relacional en la industria de las bases de datos. Teoricamente provee el estandard para el acceso a una base de datos. SQL se utiliza para la definicin, manipulacin y control de datos. Sus siglas significan Structured Query Language.

8.- Defina nuevamente la pregunta cuatro, pero ahora solo aplicndolo a SQL

9.- Dentro de SQL, defina las funciones bsicas del DDL y de un ejemplo de cada una de ellas (al menos 7).
CREATE Se utiliza para crear objetos en las bases de datos. ALTER Permite modificar la estructura de un objeto. DROP Elimina un objeto de la base de datos. TRUNCATE Trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE slo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clusula WHERE. Ejemplos: CREATE TABLE tab1 (col1 INTEGER CONSTRAINT pk PRIMARY KEY,col2 CHAR(25) NOT NULL,col3 CHAR(10) CONSTRAINT uni1 UNIQUE,col4 INTEGER,col5 INT CONSTRAINT fk5 REFERENCES tab2 ); ALTER TABLE tab1 ADD COLUMN col3 integer NOT NULL CONSTRAINT c1 UNIQUE ALTER TABLE tab1 ADD col3 integer ALTER TABLE tab1 ADD CONSTRAINT c1 UNIQUE (col3) ALTER TABLE tab1 DROP col3 DROP TABLE 'TABLA_NOMBRE' TRUNCATE TABLE ''TABLA_NOMBRE1''

10.- Dentro de SQL, defina las funciones bsicas de DML y de un ejemplo de cada una de ellas (al menos 5).
INSERT Agrega uno o ms registros a una tabla en una base de datos relacional. UPDATE Se utiliza para modificar los valores de un conjunto de registros existentes en una tabla. DELETE Borra uno o ms registros existentes en una tabla. SELECT Produce una tabla personal, y el esquema de la tabla personal debe coincidir con el esquema de la tabla donde los datos son insertados. Ejemplos: INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850); INSERT INTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'), ('Alejandro Sosa', '4556550'); UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N';

DELETE FROM My_table WHERE field2 = 'N'; DELETE FROM employees WHERE deptno = (SELECT deptno FROM dept WHERE dname = SALES);

11.- Enliste 15 palabras reservadas de SQL e indique para que sirven.


CREATE Utilizado para crear tablas, campos e ndices. DROP Elimina tablas, ndices y campos. ALTER - Utilizado para modificar las tablas agregando campos o cambiando la definicin de los campos. SELECT - Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. INSERT - Utilizado para cargar lotes de datos en la base de datos en una nica operacin. UPDATE - Utilizado para modificar los valores de los campos y registros especificados. DELETE - Utilizado para eliminar registros de una tabla de una base de datos. FROM - Utilizada para especificar la tabla de la cual se van a seleccionar los registros. WHERE - Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar. GROUP BY - Utilizada para separar los registros seleccionados en grupos especficos. HAVING - Utilizada para expresar la condicin que debe satisfacer cada grupo. ORDER BY - Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico. COUNT - Utilizada para devolver el nmero de registros de la seleccin. SUM - Utilizada para devolver la suma de todos los valores de un campo determinado. MAX - Utilizada para devolver el valor ms alto de un campo especificado.

12.- Cmo se generan las tablas virtuales? y como se visualizan.


Se generan por medio del uso del comando select, el cual se utiliza para hacer consultas. El usuario especifica una serie de resticciones que satisfagan la bsqueda, los resultados son almacenados temporalmente en una tabla virtual. La tabla virtual no se encuentra grabada fsicamente en la base de datos si no que es creada al momento de la consulta, dicha tabla se borra cuando el usuario decide cerrarla pero los datos permanecen intactos, a menos que se especifique lo contrario.

13.- Mencione para que sirve la Teora de la Normalizacin y cuales son sus objetivos.
La normalizacin se encarga de obtener los datos agrupados en distintas tablas siguiendo una serie de pasos, de tal manera que los datos obtenidos tienen una estructura ptima para su implementacin, gestin y explotacin desde distintas aplicaciones futuras. El proceso de normalizacion de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelo relacional. Las bases de datos relacionales se normalizan para:

Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos.

14.- Defina las 5 formas normales que se usan en esta teora.


Una tabla est en Primera Forma Normal si: Todos los atributos son atmicos. Un atributo es atmico si los elementos del dominio son indivisibles, mnimos. La tabla contiene una llave primaria nica. La llave primaria no contiene atributos nulos. No debe existir variacin en el nmero de columnas. Los Campos no llave deben identificarse por la llave (Dependencia Funcional) Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados Una tabla no puede tener mltiples valores en cada columna. Los datos son atmicos (a cada valor de X le pertenece un valor de Y y viceversa). Esta forma normal elimina los valores repetidos dentro de una BD. La 2NF fue definida originalmente por E.F. Codd1 en 1971. Una tabla que est en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal. Especficamente: una tabla 1NF est en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo una parte de ella. En trminos levemente ms formales: una tabla 1NF est en 2NF si y solo si ninguno de sus atributos noprincipales son funcionalmente dependientes en una parte (subconjunto propio) de una clave primaria (Un atributo no-principal es uno que no pertenece a ninguna clave primaria). La 3NF fue definida originalmente por E.F. Codd1 en 1971. La definicin de Codd indica que una tabla est en 3NF si y solo si las dos condiciones siguientes se mantienen: La tabla est en la segunda forma normal (2NF). Ningn atributo no-primario de la tabla es dependiente transitivamente de una clave primaria. Un atributo no-primario es un atributo que no pertenece a ninguna clave candidata. Una dependencia transitiva es una dependencia funcional X Z en la cual Z no es inmediatamente dependiente de X, pero s de un tercer conjunto de atributos Y, que a su vez depende de X. Es decir, X Z por virtud de X Y e Y Z.

La 4NF se asegura de que las dependencias multivaluadas independientes estn correcta y eficientemente representadas en un diseo de base de datos. Una tabla est en 4NF si y solo si esta en Tercera forma normal o en BCNF (Cualquiera de ambas) y no posee dependencias multivaluadas no triviales. La definicin de la 4NF confa en la nocin de una dependencia multivaluada. Una tabla con una dependencia multivaluada es una donde la existencia de dos o ms relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal. La quinta forma normal (5FN), tambin conocida como forma normal de proyeccin-unin (PJ/NF), es un nivel de normalizacin de bases de datos designado para reducir redundancia en las bases de datos relacionales que guardan hechos multi-valores aislando semnticamente relaciones mltiples relacionadas. Una tabla se dice que est en 5NF si y slo si est en 4NF y cada dependencia de unin (join) en ella es implicada por las claves candidatas. 15.- Que es el lgebra relacional y para que se aplica, que tipo de lenguaje es. El lgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Clculo relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Es un lenguaje procedimental.

16.- En la base de datos del videoclub vista en clase diariamente, escriba el cdigo SQL para realizar las siguientes consultas.
select count(id_copia) as total from tbl_copias; select count(id_renta) as total from tbl_rentas group by id_cliente; select apat, amat, nombre from tbl_clientes order by apat, amat, nombre; select apat, amat, nombre from tbl_clientes where fecha_alta < '2010-05-02' order by apat, amat, nombre; select video.titulo from tbl_video video, tbl_actores actores where video.id_actor = actores.id_actor and actores.nombre = 'TOM HANKS'; select video.titulo from tbl_video video, tbl_generos generos where video.id_genero = generos.id_genero and generos.descripcion = 'INFANTIL';

select titulo from tbl_video where tipo = 'C' order by titulo; select titulo, fecha_estreno from tbl_video order by fecha_estreno desc; Adicionales select titulo, fecha_estreno from tbl_video order by fecha_estreno; select count(titulo) as 'Numero de Peliculas' from tbl_video; select count(*) from tbl_video; select * from tbl_video; select titulo from tbl_video where id_genero = 1; select v.titulo, g.descripcion from tbl_video v, tbl_generos g where g.descripcion = 'drama' and v.id_genero = g.id_genero; select v.titulo, a.nombre, v.fecha_estreno from tbl_video v, tbl_generos g, tbl_actores a where a.id_actor = v.id_actor and g.id_genero = v.id_genero and g.descripcion = 'drama'; select vid.titulo, act.nombre from tbl_video vid, tbl_actores act, tbl_generos gen where gen.descripcion='DRAMA' and vid.fecha_estreno >= 2008 and vid.id_genero = gen.id_genero and vid.id_actor = act.id_actor and act.nombre like 'NIC%'; select vid.titulo, act.nombre, cop.no_serie from tbl_video vid, tbl_actores act, tbl_generos gen , tbl_copias cop where gen.descripcion='DRAMA' and vid.fecha_estreno >= 2008 and vid.id_genero = gen.id_genero and vid.id_actor = act.id_actor and vid.id_video = cop.id_video and act.nombre like 'NIC%'; select count(*) from tbl_copias; select SUM(copias) as total from tbl_video; select vid.titulo, cop.no_serie from tbl_video vid, tbl_copias cop where vid.id_video = cop.id_video group by cop.no_serie; select act.nombre, vid.titulo from tbl_video vid, tbl_actores act where

vid.id_actor=act.id_actor order by act.nombre; select count(nombre) as Actores, sexo from tbl_actores group by sexo; select count(act.nombre) as Actores, sexo from tbl_actores act, tbl_video vid where act.id_actor = vid.id_actor group by sexo; select nombre, concat(domicilio, '. Tel:', telefono) as Domicilio from tbl_empleados order by domicilio; select emp.nombre, ren.fecha_renta, vid.titulo from tbl_empleados emp, tbl_rentas ren, tbl_video vid, tbl_obligaciones obl where ren.id_empleado = emp.id_empleado and obl.id_renta = ren.id_renta select distinct t.sexo from tbl_actores t; select distinct nombre from tbl_actores t; select distinct t.id_video, v.titulo from tbl_copias t, tbl_video v where t.id_video = v.id_video; select * from tbl_actores t where nombre between 'A' and 'C' order by nombre; SELECT v.titulo,a.nombre FROM video.tbl_actores a, video.tbl_video v where v.id_actor=a.id_actor and (v.titulo='TERMINATOR 2' or v.titulo='LA LAGUNA AZUL'); select * from tbl_video where id_actor = 26; update tbl_video set id_actor = 25 where id_actor = 26; update tbl_actores set nombre='CENICIENTA', sexo='F' where id_actor=26 and sexo='F'; delete from tbl_actores where id_actor='27' and sexo = 'M'; select * from tbl_actores where nombre not like 'A%'; SELECT act.nombre,vid.titulo FROM tbl_actores act,tbl_video vid WHERE act.nombre IN ('ROBERT PARTISSON','JIM CARREY') and act.id_actor=vid.id_actor; SELECT act.nombre, act.sexo, vid.titulo

FROM tbl_actores act LEFT JOIN tbl_video vid ON act.id_actor=vid.id_actor ORDER BY act.nombre; SELECT act.nombre, act.sexo, vid.titulo FROM tbl_video vid RIGHT JOIN tbl_actores act ON act.id_actor=vid.id_actor ORDER BY act.nombre; SELECT nombre,domicilio,fecha_nacimiento FROM video.tbl_clientes t union select nombre,domicilio, fecha_nacimiento from video.tbl_empleados;

Bibliografa
http://www.cs.us.es/cursos/bd-2001/temas/sql_I.html http://www.exes.es/ManSQL/www.exes.es/ManSQL/index50ae.html?Pg=sql_plsql_7.htm http://www.aulaclic.es/sql/t_8_3.htm http://ict.udlap.mx/people/carlos/is341.html Lenguajes Formales del Modelo Relacional Yolanda Garca Ruiz (UCM) Fundamentos de Sistemas de Bases de Datos Elmasi y Navathe Database Management Systems Kristen LeFevre

Вам также может понравиться