Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy.

Slides:



Advertisements
Presentaciones similares
Base de Datos II.
Advertisements

Conjuntos Numéricos, Operaciones de Conjuntos (Unión e Intercepción)
Seminario: Expresividad semántica y lógica de segundo orden
Teoría de Lenguajes Dr. Rogelio Dávila Pérez Profesor - Investigador
Dra. Noemí L. Ruiz Limardo Revisado 2011 © Derechos Reservados
Dra. Noemí L. Ruiz Revisado 2011 © Derechos Reservados Dra. Noemí L. Ruiz Revisado 2011 © Derechos Reservados Números Reales.
Razonamiento Matemático
Repaso de Conjuntos Conjuntos y subconjuntos
XML XQuery.
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: SELECT Ing. Alfonso Vicente, PMP
DEPARTAMENTO DE MATEMÁTICAS
TEORÍA DE CONJUNTOS.
TEÓRIA DE CONJUNTOS.
Teoría de Conjuntos Haydeé Carrero Silva Cristhian Garbanzo Méndez
Unidad II: Teoría de Conjuntos.
TEÓRIA DE CONJUNTOS Profesor: Rubén Alva Cabrera.
Consultas anidadas.
Desarrollo de Habilidades del Pensamiento Matemático
PRODUCTO CARTESIANO RELACIONES BINARIAS
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
Relaciones de equivalencia
Universidad Cesar Vallejo
Taller matemático (Cálculo)
Fundamentos de Lógica Difusa (Fuzzy)
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Factorización (productos notables)
UNIDAD 2 CONJUNTOS.
Teoría de conjuntos Un conjunto es una colección o clase de objetos bien definidos y diferenciables entre sí. Los conjuntos pueden ser finitos o infinitos.
ÍNDICE Conjuntos Partes de un conjunto. Operaciones.
   Conjuntos.
DEFINICIÓN MATEMÁTICA DE UNA FUNCIÓN DE VARIABLE REAL.
FUNDAMENTOS DE LA TEORÍA DE CONJUNTOS
SOBRE LA CONSTRUCCION AXIOMATICA DE LOS NUMEROS NATURALES I
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Teoría de Conjuntos Prof. Carlos Coronel R..
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
CONTENIDO CONJUNTOS RELACIONES FUNCIONES CONJUNTOS.
Subconsultas Avanzadas
CONCEPTOS BÁSICOS: Números Naturales
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
TEÓRIA DE CONJUNTOS.
CONSULTAS SENCILLAS A LA BASE DE DATOS
Curso de Teoría del Autómata
Negación: ¬. (También: -, ~ ) Representa la partícula lingüística no o cualquiera otras partículas que incluyan la idea de negación. Al construir la negación.
TEÓRIA DE CONJUNTOS.
TEÓRIA DE CONJUNTOS Docente: Jesús Huaynalaya García.
LOS NUMEROS NATURALES Los números naturales son el conjunto de los números enteros positivos, y como positivo todo número que se ubica a la derecha del.
NUMEROS NATURALES Un conjunto es una "colección de objetos“
BIENVENIDOS A: MATEMATICA DIVERTIDA (TEORIA DE CONJUNTOS) INICIO SALIR
Universidad César Vallejo
 En Pascal el Conjunto es un tipo de dato intrínseco llamado Set, mediante el cual se puede representar el estado, activo o inactivo, de una serie de.
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
TEÓRIA DE CONJUNTOS Profesor: Ing. Oscar Guaypatin Pico.
MATEMÁTICA BÁSICA CERO
UNIVERSIDAD DE GUADALAJARA Centro Universitario de Ciencias Económico Administrativas Departamento de Métodos Cuantitativos Ciclo 2012-A Curso Propedéutico.
RELACION Y OPERACIÓN ENTRE CONJUNTOS
Capítulo 3: Conjuntos Autor: José Alfredo Jiménez Murillo.
Tipos de Datos.
LIC. JOSEPH RUITON RICRA
DIFERENCIA SIMÉTRICA DE CONJUNTOS Operaciones con Conjuntos
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
Universidad Cesar Vallejo
COLEGIO VIRTUAL GERSAIN
TEÓRIA DE CONJUNTOS.
TEÓRIA DE CONJUNTOS 5º Profesor:
Nociones Inclusión Igualdad
TEÓRIA DE CONJUNTOS.
Ingeniería Industrial Ingeniería en Sistemas de Información
Transcripción de la presentación:

Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda Teoría de conjuntos Cardinalidad Operaciones Conceptos básicos Predicados Multiconjuntos Conclusiones

Agenda Predicados sobre elementos Predicados cuantificados Conceptos básicos Predicados Multiconjuntos Conclusiones

Agenda Motivación Eliminación de repetidos Operaciones en multiconjuntos Tipos de datos Conceptos básicos Predicados Multiconjuntos Conclusiones

Agenda Aplicabilidad en la disciplina de Bases de Datos Conceptos básicos Predicados Multiconjuntos Conclusiones

Agenda Teoría de conjuntos Cardinalidad Operaciones Conceptos básicos Predicados Multiconjuntos Conclusiones

Conceptos básicos Teoría de conjuntos Rama de las matemáticas que estudia las propiedades de los conjuntos. Los conjuntos son colecciones abstractas de objetos, consideradas como objetos en sí mismas, y son una herramienta básica en la formulación de cualquier teoría matemática. Se pueden definir por extensión o por comprensión

Conceptos básicos Cardinalidad Un conjunto puede ser finito o infinito, pero para nuestra aplicación a las bases de datos nuestros conjuntos serán siempre finitos. Los conjuntos finitos tienen la particularidad de que su cardinalidad es siempre un número natural que denota el número de elementos que contiene. Llamaremos vacío al conjunto que no contiene elementos (cardinalidad 0) y llamaremos conjunto unitario (singleton) al conjunto que contiene un elemento (cardinalidad 1).

Conceptos básicos Cardinalidad Como hicimos en el caso de la lógica, podría sernos útil definir funciones. Supondremos que tenemos una función COUNT que dado un conjunto retorna su cardinalidad (en definitiva, cuenta los elementos que tiene el conjunto). A = { 9, 10, 11 } COUNT(A) = 3

Conceptos básicos Operaciones Asumimos la existencia del conjunto universal (U)

Agenda Predicados sobre elementos Predicados cuantificados Conceptos básicos Predicados Multiconjuntos Conclusiones

Predicados Predicados sobre elementos Definir conjuntos por comprensión es seleccionar algunos elementos de otro conjunto conocido, por medio de alguna propiedad (un predicado). Es entonces una forma de realizar una selección (SELECT) sobre los elementos de un conjunto. Por ejemplo, los naturales mayores que 2 y menores que 7 se podrían seleccionar de la siguiente forma: S = { n : N | n > 2 AND n < 7 }

Predicados Predicados sobre elementos Adelanto: Esto es exactamente lo que se hace en SQL S = { n : N | n > 2 AND n < 7 } postgres=# select n from N where n > 2 and n < 7; n --- 3 4 5 6 (4 rows)

Predicados Predicados sobre elementos Podemos seleccionar el propio conjunto de origen, al especificar una propiedad que siempre sea cierta Llamaremos a una selección de este tipo, selección irrestricta (o FULL SELECT): F = { n : N | 1 = 1 }, o simplemente, F = { n : N | } postgres=# select n from N where 1 = 1; postgres=# select n from N;

Predicados Predicados sobre elementos De manera análoga, podríamos obtener el conjunto vacío, especificando una condición que sea siempre falsa V = { n : N | 1 = 2 } postgres=# select n from N where 1 = 2; n --- (0 rows)

Predicados Predicados sobre elementos Una selección es, en definitiva, un subconjunto. Decimos que A es subconjunto de B si cada elemento de A pertenece a B, y decimos que A está incluido en B. Necesitaremos una función para indicar que un elemento pertenece a un conjunto. Usaremos la función booleana IN para predicar sobre la pertenencia de un elemento en un conjunto. Por ejemplo: 5 IN { n : N | n > 2 AND n < 7 } = true

Predicados Predicados cuantificados Entre elementos y conjuntos tenemos un problema de impedancia, no podemos comparar elementos con conjuntos. Sin embargo es común tener predicados como "18 es mayor que todo elemento de S" (cuantificador universal) y "5 es igual que algún elemento de S", "existe un elemento de S igual a 5" o "5 pertenece a S" (cuantificador existencial e idea de pertenencia).

Predicados Predicados cuantificados Admitiremos entonces predicados cuantificados, que predican sobre relaciones de orden entre un elemento y una cuantificación de elementos de un conjunto. Siguiendo los ejemplos. 18 > ALL ( S ) 5 = ANY ( S ) ...o equivalentemente, 5 IN S El cuantificador existencial sirve para predicar sobre la pertenencia (un elemento pertenece a un conjunto si EXISTE en el conjunto un elemento IGUAL).

Predicados Predicados cuantificados Sin embargo, el cuantificador existencial tiene usos más allá de la idea de pertenencia. Por ejemplo, 5 es menor que algún elemento de S: 5 < ANY ( S ) postgres=# select 'si' existe where postgres-# exists (select n from N where n < 5); existe -------- si (1 row)

Agenda Motivación Eliminación de repetidos Operaciones en multiconjuntos Tipos de datos Conceptos básicos Predicados Multiconjuntos Conclusiones

Multiconjuntos Motivación Una característica de los conjuntos, en matemáticas, es que no tienen elementos repetidos. Esta condición se puede relajar para admitir elementos repetidos, y estas colecciones se denominan multiconjuntos. La extensión de las operaciones antes mencionadas para multiconjuntos no es tan simple como parecería.

Multiconjuntos Motivación Consideremos un multiconjunto A que contiene los elementos 1, 2, 3, 3 y 4 (note que el 3 está dos veces) y otro multiconjunto B que contiene los elementos 3, 5 y 6. Estaremos de acuerdo en que la intersección de los multiconjuntos A y B contendría un elemento 3, pero deberíamos estar seguros que los elementos 3 del conjunto A son exactamente iguales e intercambiables

Multiconjuntos Eliminación de repetidos Tal vez se quieran eliminar los elementos repetidos, manteniendo sólo los distintos. Podría ser útil contar para tales efectos con una función DISTINCT, que tome un multiconjunto y retorne un conjunto (sin repetidos). A = {1, 2, 3, 3, 4} DISTINCT A = {1, 2, 3, 4}

Multiconjuntos Operaciones en multiconjuntos Podríamos definir operadores de unión, intersección y diferencia que retornen multiconjuntos o que retornen conjuntos sin repetidos. Llamaremos UNION_ALL, INTERSECT_ALL y EXCEPT_ALL a los operadores que preservan los elementos repetidos, y por lo tanto devuelven multiconjuntos, y llamaremos UNION, INTERSECT y EXCEPT a los operadores que devuelven conjuntos (o sea, eliminan repetidos).

Multiconjuntos Operaciones en multiconjuntos Es importante destacar que la eliminación de los repetidos en los casos de UNION, INTERSECT y EXCEPT se hace en primer lugar, sobre los operandos, y después se resuelve la operación. En otras palabras, convierten primero los multiconjuntos en conjuntos y después realizan la operación. A = {1, 2, 3, 3, 4}, B = {3, 5, 6} A UNION B = {1, 2, 3, 4, 5, 6} A UNION_ALL B = {1, 2, 3, 3, 4, 5, 6} A INTERSECT B = {3} A INTERSECT_ALL B = {3} A EXCEPT B = {1, 2, 4} A EXCEPT_ALL B = {1, 2, 3, 4}

Multiconjuntos Operaciones en multiconjuntos La diferencia simétrica se podría extender a multiconjuntos, y podríamos definir. A SYMMETRIC_DIFFERENCE B = (A EXCEPT_ALL B) UNION_ALL (B EXCEPT_ALL A) Dos conjuntos se denominan disjuntos cuando su intersección es el conjunto vacío. Una partición de un conjunto S no vacío, es un conjunto de conjuntos disjuntos cuya unión es S.

Multiconjuntos Tipos de datos Nos será muy útil darle nombres (como abreviaturas) a ciertos conjuntos finitos, que utilizaremos como tipos de datos, por ejemplo: DATE = { d | d es una fecha entre el 01/01/0001 y el 12/12/9999 } INTEGER = { i | i es un entero entre -2.147.483.648 y 2.147.483.647 } NUMBER(P, S) = { n | n es un decimal de P dígitos de los cuales S son decimales } VARCHAR(N) = { v | v es un texto de hasta N caract. }

Agenda Aplicabilidad en la disciplina de Bases de Datos Conceptos básicos Predicados Multiconjuntos Conclusiones

Conclusiones En el mundo real, las relaciones (tablas) se pueden ver como multiconjuntos Algunas construcciones de las vistas, como la eliminación de repetidos y las operaciones de conjuntos, tanto clásicas como extendidas, se aplican en las consultas del día a día La comprensión de los multiconjuntos es fundamental para trabajar con Bases de Datos