You are on page 1of 27

Fascculo

Fundamentos de Bases de Datos


Semestre 4

Fundamentos de bases de datos

Semestre 4

Fundamentos de bases de datos

Tabla de contenido
Introduccin Conceptos previos Mapa conceptual Fascculo 3 Logros Definicin formal de relacin. Grado de una Relacin. Cardinalidad de las relaciones. Operadores: Select, Joins, Agrupacin Resumen Bibliografa recomendada Nexo Seguimiento al autoaprendizaje

Pgina 1 1 2 2 2 3 4 10 20 22 22 23

Crditos: 2 Tipo de asignatura: Terico Prctica

Semestre 4

Fundamentos de bases de datos

Copyright2008 FUNDICIN UNIVERSITARIA SAN MARTN Facultad de Universidad Abierta y a Distancia, Educacin a Travs de Escenarios Mltiples Bogot, D.C. Prohibida la reproduccin total o parcial sin autorizacin por escrito del Presidente de la Fundacin. La redaccin de este fascculo estuvo a cargo de LUIS HERNANDO DUQUE RIOS Tutor Programa de Ingeniera de Sistemas a Distancia. Sede Bogot, D.C. Correccin de estilo; MARLON CARRERO R. Diseo grfico y diagramacin a cargo de SANTIAGO BECERRA SENZ ORLANDO DAZ CRDENAS Impreso en: GRFICAS SAN MARTN Calle 61A No. 14-18 - Tels.: 2350298 - 2359825 Bogot, D.C., Noviembre de 2010

Semestre 4

Fundamentos de base de datos Introduccin


Las relaciones entre las entidades ser el tema que abordaremos en este fascculo as como tambin un primer acercamiento a las sintaxis de las sentencias bsicas del lenguaje (SQL). Como ya hemos visto en fascculos anteriores el modelo Entidad-Relacin es una forma conceptual de representar objetos y acciones en un modelo que pueda ser implementado mediante una Base de Datos, con el fin de almacenar informacin acerca de su comportamiento y los sucesos que lo afectan. La correcta utilizacin del modelo Entidad-Relacin y sus componentes para disear una Base de Datos, y que esta satisfaga las necesidades de informacin de las organizaciones, es de alta relevancia, ya que la tendencia actual de las compaas se enfoca en suministrar grandes sistemas de informacin de sus procesos y del entorno que los rodea. Conceptos previos Las entidades y sus relaciones como componentes esenciales del modelo Entidad-Relacin. Los tipos de relaciones posibles entre las Entidades y con si mismas. La forma en que se desarrollan los diagramas Entidad-Relacin. La cardinalidad existente entre las entidades. Distinguir en el diagrama entidades Fuertes, entidades Dbiles y las relaciones existentes entre ellas.

Fascculo No. 3 Semestre 4

Fundamentos de base de datos

Fundamentos de bases de datos Mapa conceptual fascculo 3

Lo gro s

Al finalizar el desarrollo del tema contenido en este fascculo el estudiante deber haber adquirido las siguientes destrezas. Reconocer las ventajas de utilizacin del Modelo Relacional. Tendr claro el concepto de Modelo Relacional. Estar en condiciones de utilizar algunas sentencias de agrupacin.

Definicin formal de relacin


Una relacin es toda asociacin significativa y estable entre dos o ms entidades con un dominio de aplicacin. Cabe anotar que no toda asociacin entre entidades es necesariamente significativa. Puede tener atributos propios y presenta caractersticas que veremos a continuacin. Por ejemplo en un sistema de inventarios es razonable definir las siguientes relaciones: PROVEEDOR/TEM (quin provee, qu y con qu precio unitario) o UNIDAD/TEM (como se mide un tem). Por otra parte hemos definido que no toda relacin significativa es estable y, por lo tanto, relevante. Un posible ejemplo de esto ser la relacin entre ALUMNO/PROFESOR, la que llamaremos de de afinidad personal; esto
Fundamentos de bases de datos

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


es, que profesor y alumno mantienen un trato cordial. Esta relacin no resulta relevante para efectos de control acadmico y es demasiado voltil para considerar su inclusin en el modelo. Por ltimo no se deben observar relaciones cuyo contenido de informacin sea accesible transitivamente a travs de otras relaciones. Este es el caso de una posible relacin entre alumno y aula, (en qu aula toma clase un alumno), que resultara redundante, pues dos relaciones definidas CURSO/ALUMNO (en qu curso estudia el alumno) y CURSO/AULA (en qu aula est ubicado un curso) permiten transitivamente determinar en qu aula toma clases un alumno dado.

Grado de una Relacin


El grado de una relacin hace referencia al nmero de entidades que asocia. A continuacin mencionaremos los tres diferentes grados que encontramos en una relacin: Relacin Binaria: Grado 2. Solamente se asocia a dos entidades.
Grado de una Relacin. El grado de una relacin hace referencia al nmero de entidades que asocia.

igura 1. Relacin Binaria

Ejemplos de relaciones binarias: Cliente Producto Profesor Estudiante Persona Vehiculo Proveedor Articulo Relacin N-aria: grado n. Se pueden asociar mas de dos entidades, las ms comunes son las de grado 3.

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

Fundamentos de bases de datos

Figura 2. Relacin N-aria

Ejemplos de relaciones N-arias: CLIENTE VEHICULO LOCAL COSECIONARIO relacin COMPRA VIAJERO DESTINO AEROLINEA RELACIN viaja Relacin reflexiva (o recursiva): grado 1. Se asocia una entidad con si misma.

Figura 3. Relacin Reflexiva

PERSONA relacin SER HIJO DE PERSONA relacin SER PADRE DE

Cardinalidad de las relaciones


Indica el nmero de entidades del conjunto de entidades E2 que se relacionan con una entidad del conjunto de entidades E1 y viceversa.
Figura 4. Cardinalidad de una Relacin

Dependiendo de la cantidad de elementos del segundo conjunto con los que se relacione la cardinalidad puede ser: Uno a uno: 1:1. Una entidad del conjunto (E1) se relaciona con una nica entidad del conjunto de entidades (E2) y viceversa.

Fundamentos de bases de datos

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

Figura 5. Relacin 1 a 1

Representacin para el diagrama entidad relacin de una a uno.

Figura 6. Diagrama bsico de una relacin 1 a 1

Ejemplo de cardinalidad 1:1. EMPLEADO CARGO: Un empleado tiene un cargo y un cargo es desempeado por un empleado. HOMBRE MUJER: Un hombre esta casado con una mujer y una mujer esta casada con un hombre. Uno a muchos: 1:n. Una entidad del conjunto de entidades (E1) se relaciona con varias entidades del conjunto de entidades (E2) y una entidad del conjunto de entidades (E2) solo puede estar relacionada con una entidad del conjunto de entidades (E1).

Figura 7. Relacin 1 a n

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

Fundamentos de bases de datos


Representacin para el diagrama entidad relacin de una a muchos.

Figura 8. Diagrama bsico de una relacin 1 a n

Ejemplo de cardinalidad 1:n. JUGADOR EQUIPO. Un jugador integra un equipo, pero en un equipo hay varios jugadores. CLIENTE PRSTAMO. Un prstamo pertenece a un cliente pero un cliente puede tener uno o varios prstamos. Muchos a uno: n:1. Una entidad en (E1) esta relacionada con una nica entidad de (E2) y una entidad del conjunto de entidades (E2) esta relacionada con muchas entidades del conjunto de entidades (E1).

Figura 9. Relacin n a 1 o muchos a 1)

Representacin para el diagrama entidad relacin de muchos a uno.


Figura 10. Diagrama bsico de una relacin muchos a 1

Ejemplo de cardinalidad n: 1. ESCUELA ALUMNO: Una escuela tiene muchos alumnos, cada alumno pertenece a una nica escuela.

Fundamentos de bases de datos

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


Muchos a muchos: n:n. Una entidad del conjunto de entidades de (E1) est relacionada con muchas entidades del conjunto de entidades (E2) y una entidad del conjunto de entidades de (E2) est relacionada con muchas entidades del conjunto de entidades (E1).

Figura 11. Relacin muchos a muchos

Representacin para el diagrama entidad relacin de muchos a muchos.


Figura 12. Diagrama bsico de una relacin muchos a muchos

Ejemplo de cardinalidad n:n. ALUMNO MATERIA: Un alumno cursa varias materias, una materia es cursada por varios alumnos. Para el anlisis detallado se requiere desarrollar cuatro puntos que

expresan las reglas del negocio que se necesitan hacer cumplir en la estructura de la Base de Datos. En estos casos la cardinalidad de las relaciones se expresa con un valor mnimo y uno mximo, y se declara grficamente en el diagrama entidad relacin, dado que las relaciones se indican en ambos direcciones entre las entidades, la cardinalidad mxima y mnima debe indicarse igualmente [Rub98]: Se tomar como ejemplo una agrupacin de propietarios de autos antiguos, con la restriccin de que un auto slo pertenece a una persona y
Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

Fundamentos de bases de datos


toda persona deber tener, por lo menos un auto, pues en otro caso no hara parte del club. Por lo tanto, teniendo presente los valores mximos y mnimos, se dira que una persona debe tener mnimo un vehculo y mximo varios. Por otro lado, un auto siempre tendr un dueo y mximo uno, para nuestro caso:

Figura 13. Relacin posee

Si se permiten personas que no tengan autos, el diagrama quedara:

Figura 14. Relacin posee

Como se aprecia, el valor mnimo realmente es una restriccin de obligaCardinalidad de las relaciones indica el nmero de entidades del conjunto de entidades E2 que se relacionan con una entidad del conjunto de entidades E1 y viceversa.

toriedad o no en la participacin de las entidades en la relacin. Si es cero (0), es opcional la participacin, en otro caso (valor 1) es requerida. El valor mximo que puede ser 1 o n, determina si la participacin es singular o plural en la relacin. Los valores cero, uno y n, pueden reemplazarse por 0, | y un tridente, quedando el ltimo caso as: Diagrama para Mtodo CASE. Trabajando con los diagramas modelados para acercamiento a las herramientas CASE, Barker [BAR92] propone

Figura 15. Modelo detallado de una relacin

Fundamentos de bases de datos

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


Observaciones: Los nombres de las entidades se escriben en maysculas y en singular. Los nombres de los atributos en minsculas y en singular. Los atributos identificadores se marcan con el smbolo #. Los atributos obligatorios se marcan con * y los opcionales con o. Las relaciones se representan por flechas que tienen en cada lado un nombre, la cardinalidad, y si es obligatoria u opcional dicha relacin. Cuando es obligatorio se lee anteponiendo "debe ser". En el caso de opcionales "puede ser". Para el caso: Cada persona puede poseer uno o muchos carros. Cada carro debe pertenecer a una y slo a una persona. Ejercicio: Una empresa desarrolla varios proyectos que son asignados a distintos empleados; cada empleado slo estar vinculado a un proyecto, en un momento dado. Cada proyecto consume diferentes recursos en cantidades determinadas: los empleados estarn a cargo de un supervisor, quin tambin es un empleado. Los empleados pueden tener a su cargo, personas beneficiarias (hijos, esposas, padres, etc.).

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

Fundamentos de bases de datos


El diagrama entidad relacin correspondiente sera:

Figura 16. Entidades y sus atributos

En la grfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones.

Operadores: SELECT, JOINS, AGRUPACION


Antes de comenzar con la sintaxis bsica del lenguaje estructurado de consulta (SQL) diremos que es un lenguaje estructurado y normalizado utilizado para acceder a los datos almacenados en cualquier base de datos, empleando la flexibilidad y la potencia de los sistemas relacionales y permitiendo con ello gran variedad de operaciones. Gracias a sus fuertes bases tericas y su orientacin al manejo de conjuntos de registros, nos permite una ventaja frente a los lenguajes de bajo nivel orientados al manejo de registros. Es un lenguaje declarativo, es decir, que especfica lo que se quiere y no cmo conseguirlo, por lo tanto una sentencia no establece explcitamente un orden de ejecucin. Dentro del lenguaje SQL existen dos grupos de instrucciones DDL Lenguaje de Definicin de Datos y DML Lenguaje de Manipulacin de Datos.

Fundamentos de bases de datos

10

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


DLL Se encarga de la modificacin de la estructura de los objetos de la Base de Datos. Las operaciones bsicas que encontramos son: CREATE, ALTER, DROP y TRUNCATE. DML Permite a los usuarios llevar a cabo tareas de consulta y manipulacin de los datos. Las operaciones bsicas que encontramos son: SELECT, UPDATE, DELETE e INSERT. SELECT La sentencia SELECT se utiliza para consultar registros de la Base de Datos que satisfagan un criterio determinado. Sintaxis SELECT nombre_campo(s) FROM nombre_Tabla Ejemplo: Para desarrollar un ejemplo de cmo serian las consultas con SELECT daremos una tabla con sus registros:

Figura 17. Tabla empleados

La tabla de llama EMPLEADO y sus atributos son: Nombres, Apellidos, NoCedula, FechaNacimmeinto. Primer ejercicio: Seleccionaremos de la tabla slo los atributos Nombres y Apellidos. SELECT Nombre, Apellidos FROM EMPLEADOS

Fascculo No. 3 Semestre 4

11

Fundamentos de bases de datos

Fundamentos de bases de datos


La anterior consulta nos dar como resultado:

Figura 18. Resultado del select

La grafica slo muestra los dos atributos de la tabla que se indicaron en la consulta. Ntese que trae el total de los registros de la tabla (6), porque aun no le hemos indicado algn criterio para seleccionar o filtrar los registros del resultado. Segundo ejercicio: Seleccionaremos de la tabla los atributos Nombres y NoCedula. SELECT Nombre, NoCedula FROM EMPLEADOS

Figura 19. Resultado del select

El resultado de esta consulta slo muestra los Nombres y NoCedula y los mismos (6) registros que son el total que hay en la Tabla EMPLEADO. A la sentencia SELECT se le puede indicar que solo muestre como resultado de la consulta algunos registros en especial que cumplan con una condicin dada en la consulta. La condicin puede ser aplicada a cualquiera de los atributos de la tabla y esta condicin debe ser acorde al tipo de dato al que corresponda el atributo.

Fundamentos de bases de datos

12

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


Para la sentencia WHERE son validos los siguientes operadores = <> > < >= <= BETWEEN LIKE IN Igual No igual o diferente Mayor que Menor que Mayor o igual que Menor o igual que Entre Que contenga Contenido en

SELECT nombre_campo(s) FROM nombre_Tabla WHERE nombre_campo operador Valor Ejemplo de tipos de condicin: Para tipo de dato numrico, entero, moneda SELECT Nombre, Apellidos FROM EMPLEADOS WHERE NoCedula > 73000000 Aqu le estamos indicando a la consulta que solo devuelva los registros cuyo nmero de cdula sea mayor que 73000000.

Figura 20. Resultado del select

El conjunto de registros resultado es (4) y como se observa el atributo NoCedula cumple con la condicin propuesta de ser mayor a 73000000. Para tipo de dato texto SELECT Nombre, Apellidos FROM EMPLEADOS WHERE Nombres Like %Ca%
Fascculo No. 3 Semestre 4

13

Fundamentos de bases de datos

Fundamentos de bases de datos


Aqu le estamos indicando a la consulta que nicamente devuelva los registros en los que en el atributo Nombres encontremos la cadena Ca.

Figura 21. Resultado del select

El conjunto de registros resultado es (2) y como se observa, el atributo Nombres contiene la cadena de caracteres Ca. SELECT Nombre, Apellidos FROM EMPLEADOS WHERE Nombres = Favio Arturo Aqu le estamos indicando a la consulta que solo devuelva los registros en los que en el atributo Nombres es igual a Favio Arturo
Figura 22. Resultado del select

El conjunto de registros resultado (1) y como se observa el atributo Nombres es igual a Favio Arturo
3.1

Basado en la tabla anterior EMPLEADO construya una sentencia SQL en donde retorne los siguientes atributos: Fecha de nacimiento, NoCedula, Apellidos

JOIN La palabra JOIN es usada en una sentencia SQL para consultar dos o ms tablas que se encuentran entre si relacionadas por uno o mas atributos en cada tabla.

Fundamentos de bases de datos

14

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


TABLA (A) - EMPLEADOS

Figura 23. Tabla empleados

TABLA (B) - TELFONOS

Figura 24. Tabla telfonos

Existen varios tipos de JOIN JOIN Devuelve slo el conjunto de registros en donde el valor del atributo que relaciona la tabla A se encuentra como valor en el atributo de la tabla B El atributo que relaciona la tabla A con la tabla B es (IdEmpleado). La siguiente consulta SQL demuestra el uso de JOIN y su resultado. SELECT A.Nombres, A.Apellidos, B.Telefono FROM EMPLEADOS A JOIN TELFONOS B ON A.IdEmpleado = B.IdEmpleado.

Figura 25. Resultado de la consulta

Como podemos ver el resultado de esta consulta solo retorna (2) registros que son los que cumplen la condicin de estar como valores en el atributo IdEmpleado de la tabla A y de la tabla B.

Fascculo No. 3 Semestre 4

15

Fundamentos de bases de datos

Fundamentos de bases de datos


LEFT JOIN Devuelve todos los registros de la tabla izquierda, incluso si no hay coincidencias en la tabla derecha. SELECT A.Nombres, A.Apellidos, B.Telefono FROM EMPLEADOS A LEFT JOIN TELFONOS B ON A.IdEmpleado = B.IdEmpleado.

Figura 26. Resultado de la consulta

Como se observa en el resultado muestra todos los registros de la tabla de la izquierda que para nuestro ejemplo es EMPLEADOS y los registros que no hacen match por el campo relacin muestran un valor de NULL. RIGHT JOIN Devuelve todos los registros de la tabla derecha, incluso si no hay coincidencias en la tabla izquierda. SELECT A.Nombres, A.Apellidos, B.Telefono FROM EMPLEADOS A RIGHT JOIN TELFONOS B ON A.IdEmpleado = B.IdEmpleado.

Figura 27. Resultado de la consulta

Como se observa en el resultado muestra todos los registros de la tabla de la derecha que para nuestro ejemplo es TELFONOS y los registros que no hacen match por el campo relacin muestran un valor de NULL.

Fundamentos de bases de datos

16

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


FULL JOIN Devuelve absolutamente todos los registros tanto de la tabla izquierda como de la derecha, incluso si no hay coincidencias en el campo relacin para cualquiera de los dos casos.

Figura 28. Resultado de la consulta

Agrupaciones En el lenguaje SQL existe una clusula para hacer agrupaciones GROUP BY esta permite realizar agrupaciones de registros de una tabla. Junto con la clusula GROUP BY debemos aplicar sentencias de agregacin que son las encargadas de hacer las operaciones sobre los registros Ejm:. SUM, AVG, COUNT, MAX, MIN. La sintaxis bsica de la clusula GROUP BY en una sentencia SELECT es la siguiente: SELECT atributo1, atributo2, atributo3 FROM tablas WHERE condiciones GROUP BY atributo1, atributo2, atributo3... Para nuestro ejemplo tenemos la siguiente tabla EMPLEADO

Figura 29. Resultado de la consulta

Fascculo No. 3 Semestre 4

17

Fundamentos de bases de datos

Fundamentos de bases de datos


El primer ejemplo que se dar es el promedio de salario por oficio SELECT Oficio, AVG(Salario) AS Promedio FROM EMPLEADO GROUP BY Oficio La palabra AVG es la funcin que se encarga de sacar el promedio.

Figura 30. Resultado de la consulta

Como se observa en el resultado de la consulta lo que hace es para cada diferente oficio saca un promedio del salario que se encuentra en los registros. Se quiere calcular a continuacin el nmero de empleados de cada departamento. En esta ocasin debemos realizar un agrupamiento de registros por el campo Dept_no. De cada grupo que se forme debemos contar el nmero de registros que forman cada grupo. La sentencia SQL quedara: SELECT Dept_no, COUNT(*) AS Cantidad FROM EMPLEADO GROUP BY Dept_no

Figura 31. Resultado de la consulta

Existe una clusula adicional que se puede agregar a las agrupaciones y permite restringir el resultado de las agrupaciones llamada HAVING, forma de utilizarla.
Fundamentos de bases de datos

18

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


SELECT atributo1, atributo2, atributo3 FROM tablas WHERE condiciones GROUP BY atributo1, atributo2, atributo3 HAVING atributo1 Condicin Ejemplo: El promedio de salarios por Oficio, pero esta vez el resultado nos mostrar los promedios que superen un milln de pesos SELECT Oficio, AVG (Salario) AS Promedio FROM EMPLEADO GROUP BY Oficio HAVING AVG(Salario) > 1.000.000.

Figura 32. Resultado de la consulta

Como se observa en el resultado omite los registros que estn por debajo de 1.000.000. Es as que la clusula HAVIN restringe los resultados en una agrupacin.
3.2

Desarrolle el modelo para las siguientes entidades (ESTUDIANTE, NOTAS, MATERIAS) indicando sus atributos, los campos clave y clave fornea en las entidades. ESTUDIANTES ( IdEstudiante, Nombre, Cedula ) NOTAS( IdMateria, IdEstudiante, Nota ) MATERIAS ( IdMateria, NombreMateria ) Realice consultas select en donde se muestren datos de las 3 entidades

Fascculo No. 3 Semestre 4

19

Fundamentos de bases de datos

Fundamentos de bases de datos

Una relacin es toda asociacin significativa y estable entre dos o ms entidades de un dominio de aplicacin. El grado de una relacin hace referencia al nmero de entidades que asocia. Relacin Binaria: grado 2. Solamente se asocia a dos entidades. Relacin N-aria: grado n. Se pueden asociar mas de dos entidades, las ms comunes son las de grado 3. Relacin reflexiva (o recursiva): grado 1. Se asocia una entidad con si misma. Cardinalidad de las relaciones indica el nmero de entidades del conjunto de entidades E2 que se relacionan con una entidad del conjunto de entidades E1 y viceversa.

Dependiendo de la cantidad de elementos del segundo conjunto con los que se relacione la cardinalidad puede ser: Uno a uno: 1:1. Una entidad del conjunto (E1) se relaciona con una nica entidad del conjunto de entidades (E2) y viceversa. Uno a muchos: 1:n. Una entidad del conjunto de entidades (E1) se relaciona con varias entidades del conjunto de entidades (E2) y una entidad del conjunto de entidades (E2) solo puede estar relacionada con una entidad del conjunto de entidades (E1).

Muchos a uno: n:1. Una entidad en (E1) esta relacionada con una nica entidad de (E2) y una entidad del conjunto de entidades (E2) esta relacionada con muchas entidades del conjunto de entidades (E1).

Muchos a muchos: n:n. Una entidad del conjunto de entidades de (E1) esta relacionada con muchas entidades del conjunto de entidades (E2) y una entidad del conjunto de entidades de (E2) esta relacionada con muchas entidades del conjunto de entidades (E1).

Fundamentos de bases de datos

20

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos


La sentencia SELECT se utiliza para consultar registros de la Base de Datos que satisfagan un criterio determinado. A la sentencia SELECT se le puede indicar que slo muestre como resultado de la consulta algunos registros en especial, que cumplan con una condicin dada en la consulta. La condicin puede ser aplicada a cualquiera de los atributos de la tabla y esta condicin debe ser acorde al tipo de dato al que corresponda el atributo. = <> > < >= <= BETWEEN LIKE IN Para la sentencia WHERE son validos los siguientes operadores Igual No igual o diferente Mayor que Menor que Mayor o igual que Menor o igual que Entre Que contenga Contenido en ms tablas que se encuentran entre s relacionadas por uno o ms atributos en cada tabla. LEFT JOIN Devuelve todos los registros de la tabla izquierda, incluso si no hay coincidencias en la tabla derecha. RIGHT JOIN Devuelve todos los registros de la tabla derecha, incluso si no hay coincidencias en la tabla izquierda. FULL JOIN Devuelve absolutamente todos los registros tanto de la tabla izquierda como de la derecha, incluso si no hay coincidencias en el campo relacin para cualquiera de los dos casos. En el lenguaje SQL existe una clusula para hacer agrupaciones GROUP BY esta permite realiza agrupaciones de registros de una tabla. Junto con la clusula GROUP BY debemos aplicar sentencias de
Fascculo No. 3 Semestre 4

La palabra JOIN es usada en una sentencia SQL para consultar dos o

21

Fundamentos de bases de datos

Fundamentos de bases de datos


agregacin que son las encargadas de hacer las operaciones sobre los registros Ejm:. SUM, AVG, COUNT, MAX, MIN.

SILVERSCHATZ, Henry F. Korth y S. Sudarshan Abraham. Fundamentos de Bases de Datos (3 edicin) [EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de Datos. 3 ed. Addison-Wesley, (Cap. 3 y 4). Texto gua [MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos relacionales. Ra-Ma. (Cap. 2) [CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical Approach to Design, Implementation and Management. 2nd ed. Addison-Wesley. (Cap. 5) [SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos de Bases de Datos. 3 edicin. Madrid: McGraw-Hill. (Cap. 2)

En el siguiente fascculo el estudiante ver en forma ms detallada la utilizacin de ciertas sentencias SQL que le permitirn poner en practica los conceptos adquiridos de las sentencias bsicas del lenguaje SQL. A travs de l desarrollo de ejercicios prcticos el estudiante adquirir destrezas en cuanto al manejo del lenguaje SQL y algunos de los motores de bases de datos mas conocidos en el mercado.

Fundamentos de bases de datos

22

Fascculo No. 3 Semestre 4

Fundamentos de bases de datos

S eguim ientoal autoap rend izaje


Fundamentos de bases de datos - Fascculo No. 3
Nombre_______________________________________________________ Apellidos ________________________________ Fecha: _________________ Ciudad___________________________________Semestre: _______________
Marque con una X la afirmacin correcta. 1. El grado de una relacin hace referencia a a) La cardinalidad entre entidades. b) Nmero de entidades que asocia. c) El nmero de atributos de una tabla. d) Ninguna de las anteriores. 2. Incluyndose, con cuntas entidades se relaciona una relacin reflexiva o recursiva? a) 1 Entidad. b) 3 Entidades. c) 2 Entidades. d) Ninguna de las anteriores. Identifique la cardinalidad del siguiente enunciado. 3. Una entidad del conjunto de entidades (E1) se relaciona con varias entidades del conjunto de entidades (E2) y una entidad del conjunto de entidades (E2) slo puede estar relacionada con una entidad del conjunto de entidades (E1). a) Uno a uno: 1:1 b) Muchos a muchos: n:n c) Uno a muchos: 1:n d) Ninguno de los anteriores 4. Cul de las siguientes palabras sirve para restringir el resultado en una consulta de agrupacin? a) WHERE. b) AVG. c) HAVING. d) Ninguna de las anteriores.

Fascculo No. 3 Semestre 4

23

Fundamentos de bases de datos

You might also like