SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Base de Datos Distribuidas



           Lic. Hugo D. Ramón



       Conceptos de Bases de Datos
Agenda
 Algebra Relacional
 Cálculo Relacional
 Conceptos Fundamentales de Base de Datos
 SQL




10/09/2007       Conceptos de Bases de Datos
Algebra Relacional
 BD Relacional Codd (IBM), 1970
    Fundamentada en
      • Algebra Relacional (AR) y
      • Calculo (CA)
 Lenguajes de Consultas pocedimental
    Parametros de entrada ?
    Parametro de salida ?
 AR se usa para:
    Optimización de consultas
    Consultas distribuidas
 AR define un conjunto de operaciones y fórmulas para
 manipular tablas
 Estos conjuntos son relaciones de base de datos


10/09/2007             Conceptos de Bases de Datos
Algebra Relacional
 Ejemplo
    EMP_TBL={Apellido,Nombre,ID_EMP}
    Tenemos la relación EMP_TBL
    Contiene los atributos
      • Apellido
      • Nombre
      • ID_EMP
    Los valores de cada atributo determinan su dominio
    Relación es equivalente a
      • Archivo plano de dos dimensiones
      • Tabla en las base de datos relacionales
    Contiene 4-tuplas
    Columnas son atributos
    Las Filas son tuplas


10/09/2007             Conceptos de Bases de Datos
Algebra Relacional
 Ejemplo

   Apellido   Nombre              ID_EMP
   Perez      Juan                E1
   Cela       Carlos              E2
   Romero     Andres              E3
   Sanchez    Juana               E4


10/09/2007    Conceptos de Bases de Datos
Algebra Relacional
 Símbolos
    Π: Project una columna de la relación
    σ: Select una fila o tupla de la relación
    <>: natural JOIN entre dos relaciones
    <: semi JOIN entre dos relaciones
    θ: theta JOIN entre dos relaciones
    ∪: unión entre dos relaciones
    ∩: intersección entre dos relaciones
    −: diferencia entre dos relaciones
    X: producto Cartesiano entre dos relaciones




10/09/2007          Conceptos de Bases de Datos
Algebra Relacional
 Definimos dos relaciones simples


 R: A        B   C           S: A         C        E
      1      1   2                  1     2        2
      2      2   1                  4     3        3
      3      3   2



10/09/2007           Conceptos de Bases de Datos
Algebra Relacional
 Estas dos relaciones se derivan del conjunto de dominos A,
 B, C y E
 Sus dominio están definidos sobre los naturales 0, 1, 2, 3
 R esta compuesta por A, B y C o R={A,B,C}
 S esta compuesta por A, C y E o S={A,C,E}
 R contiene 3 tuplas y S contiene 2 tuplas
 Veremos la utilización de cada símbolo




10/09/2007         Conceptos de Bases de Datos
Algebra Relacional
 Π: Project
    Se utiliza para extraer un atributo vertical
    Podemos extraer mas de una
    Una fórmula típca sería que nos da una nueva relación

                  ∏ A ,C ( R ) =   A C
                                   1   2
                                   2   1
                                   3   2




10/09/2007          Conceptos de Bases de Datos
Algebra Relacional
 σ: Select una fila o tupla de la relación
    Permite seleccionar tuplas de una relación
    Existe una fórmula como criterio de selección
    Da como resultado una nueva relación:

                ∏ A,C (σ B >= 2 ( R)) =   A C
                                          2 1
                                          3   2




10/09/2007            Conceptos de Bases de Datos
Algebra Relacional
 <>: Join Natural
    Involucra dos relaciones
    Concatena dos relaciones con un atributo
    Genera una relación de la forma

             R <>R.A=S.A S = A B C E
                               1 1 2 2
    R.A=S.A es una fórmula para concatenar sobre atributos que
    tienen valor idéntico
    Se eliminan atributos redundantes. Características de Join
    Natural
    Existe el equi JOIN que no elimina atributos redundantes.
    Nombrar
10/09/2007          Conceptos de Bases de Datos
Algebra Relacional
 <: Semi Join
    Similar al natural JOIN
    Solo se muestran atributos de la relación de la izq.

             R <A,A S = R.A R.B R.C
                           1        1        2
    Muy utilizado en ambientes distribuidos (minimiza
    comunicaciones)




10/09/2007         Conceptos de Bases de Datos
Algebra Relacional
 θ   : Theta Join
      Similar al natural JOIN
      Se pueden utilizar los símbolos
       •   >=
       •   >
       •   <
       •   <>

 R' = RθA>2 S = R.A S.A R.B R.C S.C S.E
                         3       4        3        2   3   3

10/09/2007           Conceptos de Bases de Datos
Algebra Relacional
 ∪:Unión
   Dadas las relaciones
      R: A B C                      S: A B C
             1   3     2                 1       1   2
             1   4     5                 2       1   2
    Da como resultado
                 R'=       R∪ S =   A   B    C
                                    1   3    2
                                    1   4    5
                                    1   1    2
                                    2   1    2

10/09/2007             Conceptos de Bases de Datos
Algebra Relacional
 ∪:Unión
   Se utilizan entre relaciones con atributos comunes
   Como resultado tenemos una concatenación
   Los dominios deben coincidir




10/09/2007         Conceptos de Bases de Datos
Algebra Relacional
 ∩:   Intersección
      Dadas las relaciones
       R: A B C                  S: A B C
             1   2   3                 3    1      2
             5   5   5                 5    5      5
      Da como resultado       R'=    R∩S =         A   B   C
                                         5 5 5
      Retorna tuplas que son comunes a ambas relaciones
      Tiene las mismas condiciones que la union



10/09/2007           Conceptos de Bases de Datos
Algebra Relacional
 -:Diferencia
    Dadas las relaciones

      R:     A   B   C           S:    A    B      C
             1   2   3                 3    1      2
             5   5   5                 1    1      2
             4   5   6                 5    5      5
    Da como resultado          R'=     R−S =       A   B   C
                                                   1   2   3
                                                   4   5   6
    Retorna tuplas que estan en la primer relacion y no en la
    segunda
10/09/2007           Conceptos de Bases de Datos
Algebra Relacional
 x:Producto Cartesiano
    Dadas las relaciones              R: A B C          S: A B C
                                            1   1   2     1   1   1
                                            2   2   2     2   2   3
                                            3   3   3
    El producto cartesiano da
     R' = RxS = R. A R.B   R.C   S . A S .B S .C
                 1    1     2     1     1    1
                 1    1     2     2     2       3
                 2    2     2     1     1       1
                 2    2     2     2     2       3
                 3    3     3     1     1       1
                 3    3     3     2     2       3
10/09/2007           Conceptos de Bases de Datos
Algebra Relacional
 x:Producto Cartesiano
    El número de tuplas es la multiplicación
    Similar al equi JOIN cuando no hay atributo común




10/09/2007        Conceptos de Bases de Datos
Cálculo Relacional
 En algebra => procedimiento que resuleven la consulta
 En Calculo => lenguaje de consultas no-procedimentales
 Chamberlin & Boyce
    desarrollaron Lenguaje de Consultas
    Presentaron “SEQUEL=A Structures English Query Language”,
    1974
    En 1980 se renombre a SQL (Structured Query Language)
 Mejorado durante años por
    Informix
    Oracle
    SQL-Base, etc.
 Existen dos variaciones al Cálculo relacional
    Cálculo de tuplas
    Cálculo de dominio

10/09/2007           Conceptos de Bases de Datos
Cálculo Relacional
 Cálculo de tuplas (CT)
    Lo básico es el concepto de la variables tuplas
    Representan tuplas de una relación
    Se utilizan para extraer datos de la relación
    Se puede restringir valores de atributos
    Ejemplo en SQL
      RANGE OF PX IS EMPLEADOS
      PX.Apellido, PC.Nombres WHERE PX.BASICO>1000
    Esto dice dos cosas
      • Extraer tuplas que cumplen BASICO>1000
      • De esas tuplas quiero ver Apellido y Nombre




10/09/2007            Conceptos de Bases de Datos
Cálculo Relacional
 Cálculo de tuplas (CT)
    En CT PX es una variable de tupla
    Una fórmula genérica tomo la forma
      TV1 operador TV2 o constantes
      Donde
              Tvi: variable de tuplas
              operador: <,>,>=,<=,<>,=
              constante: cualquier numero o string
    Las constantes y Tvi deben se del mismo dominio
    Las formulas se conectan con AND, OR y NOT
    Ejemplos
      • EMP_TBL[BASICO]=1000
      • EMP_TBL[APELLIDO]=‘DEPARTAMENTO 1’ AND
      • EMP_TBL[SALARIO]>2000


10/09/2007            Conceptos de Bases de Datos
Cálculo Relacional
 Cálculo de dominio (CD)
    Las variables en este lenguaje están basadas en los dominos
    Query By Example (QBE) de IBM
    Una fórmula típica
                DOMAIN VARIABLE LIST, CONDITION
    CONDITION:
      • es una formula sobre una variable de dominio
      • es una formula sobre un atributo involucrado en la formula
    Forma general:
          RELATION NAME(ATTRIBUTE BELONGING TO
          RELATION=DOMAIN VARIABLE OR CONSTANT)




10/09/2007             Conceptos de Bases de Datos
Cálculo Relacional
 Cálculo de dominio (CD)
    Dada la siguiente relación

  EMP _ TBL = NOMBRE   SALARIO LOCALIDAD
               PEREZ     2000    La Plata
               CASTA     1500    La Plata
               COLLO     3000  Buenos Aires
               GUIDO     1200    La Plata

     Para extraer Nombre, Salario y Localidad de la gente de La
  Plata y que gane mas de 1100 debemos hacer

                EMP_NR,SALARIO_NR,LOCALIDAD_NR
                CONDITION (EMP_TBL(LOCALIDAD=‘La Plata’)
                AND
                (SALARIO_NR>=1100)



10/09/2007                  Conceptos de Bases de Datos
Cálculo Relacional
 Cálculo de dominio (CD)
    En QBE, debemos llenar valores en las variables de dominio
    Sobre el ejemplo anterior


       Antes   NOMBRE    SALARIO LOCALIDAD
                           > 1200      = LA PLATA



     Despues   NOMBRE    SALARIO LOCALIDAD
                PEREZ      2000    La Plata
               CASTA        1500         La Plata

10/09/2007          Conceptos de Bases de Datos
Conceptos
 Componentes típicas de una base relacional
    Tablas
    Vistas
    Índices
    Plans o Stored Procedures
    Catalogo
 Relaciones contienen
    atributos (verticales)
    Tuplas (horizontales)
 Tablas contienen
    Columns
    Row
 Tablas=Relación

10/09/2007           Conceptos de Bases de Datos
Conceptos
 Views son tablas virtuales
 Indices son estructuras para mejorar la performance de
 acceso
 Plans: procedimientos almacenados que se ejecutan en
 forma repetitiva
 Catalogo: tablas especiales donde se guardan
    Parametros
    Información




10/09/2007        Conceptos de Bases de Datos
SQL
 SQL está dividio en tres sublenguajes
    Lenguaje de declaración de datos (DDL)
      • Se usa para crear componentes de la base
    Lenguaje de control de datos (DCL)
      • Seguridad de Datos
      • Control de Consistencia
    Lenguaje de manipulación de datos (DML)
      • Core del SQL
      • Obtener datos de las diferentes tablas
 Información adicional
    http://w3.one.net/~jhoffman/sqltut.htm
    http://www.webdevelopersjournal.com/articles/sql.html



10/09/2007             Conceptos de Bases de Datos
SQL
 Lenguaje de declaración de datos (DDL)
    Son comandos para los administradores
    Permite crear o declara objetos en las bases de datos
    Los principales comandos son:
      • CREATE
             • TABLE
             • INDEX
             • VIEW
      • DROP
             • TABLE
             • INDEX
             • VIEW




10/09/2007             Conceptos de Bases de Datos
SQL
 Lenguaje de declaración de datos (DDL)
      • ALTER
             • TABLE <tablename> <DROP|ADD>
             • Podemos ADD
                 • Columnas
                 • Primary Key
                 • Referentials Constraint
             • Podemos DROP
                 • Primary Key
                 • Foregein Key




10/09/2007              Conceptos de Bases de Datos
SQL
 Lenguaje de control de datos (DCL)
    Permite administrar los aspectos de control y seguridad
    Provee dos comandos
      • GRANT
             • Dar privilegios a los usuarios
      • REVOKE
             • Elimina previlegios




10/09/2007                  Conceptos de Bases de Datos
SQL
 Lenguaje de manipulación de datos (DML)
    Una vez de creada la base de datos necesitamos procesar
    información u obtener reportes
    Las sentencias son similares a las de Ingles
    Las claúsulas principales para reportes
      •   SELECT
      •   FROM
      •   WHERE
      •   GROUP BY
      •   HAVING
      •   ORDER BY




10/09/2007           Conceptos de Bases de Datos
SQL
 Lenguaje de manipulación de datos (DML)
    Hay claúsulas para actualizar
      • DELETE
      • UPDATE
      • DELETE




10/09/2007           Conceptos de Bases de Datos
Bibliografías
 Distributed Database Systems. Bell, D; Grimson J. Addison
 Wesley, 1992.
 Principles of Distributed Database Systems. Ozsu, T;
 Valduriez, P. Prentice Hall, 1991.
 Managing Distributed Databases. Burleson, D. Wiley,
 1994.




 10/09/2007       Conceptos de Bases de Datos

Weitere ähnliche Inhalte

Was ist angesagt?

Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosJosepSalvadorSotoObregon
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacionalAlvaro Loustau
 
Tipos de datos C#
Tipos de datos C#Tipos de datos C#
Tipos de datos C#alex28Xx
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalizacióncintiap25
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosJesus Parra
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalMaria Garcia
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 

Was ist angesagt? (20)

Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
Tipos de datos C#
Tipos de datos C#Tipos de datos C#
Tipos de datos C#
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Bases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ERBases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ER
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Funciones del DBA, SA Y DA
Funciones del DBA, SA Y DAFunciones del DBA, SA Y DA
Funciones del DBA, SA Y DA
 
UML
UMLUML
UML
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 

Ähnlich wie Algebra Relacional

bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdfsrmv59
 
Base de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalBase de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalJEAN199627
 
Unidad iii relacion-funcion1
Unidad iii  relacion-funcion1Unidad iii  relacion-funcion1
Unidad iii relacion-funcion1VERÓNICA YÁNEZ
 
10MATEMATICA_1ero_sec_relaciones_binarias.doc
10MATEMATICA_1ero_sec_relaciones_binarias.doc10MATEMATICA_1ero_sec_relaciones_binarias.doc
10MATEMATICA_1ero_sec_relaciones_binarias.docLuisAlbertoMolinaJim
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalsarai0000
 
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...ssuser869fd0
 
Tema 01 relaciones en ir
Tema 01 relaciones en irTema 01 relaciones en ir
Tema 01 relaciones en ir349juan
 
Guía de Estudio sobre Relaciones y Funciones
Guía de Estudio sobre Relaciones y FuncionesGuía de Estudio sobre Relaciones y Funciones
Guía de Estudio sobre Relaciones y Funcionespcomba
 
Relaciones binarias
Relaciones binariasRelaciones binarias
Relaciones binariasgmromano
 

Ähnlich wie Algebra Relacional (20)

bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdf
 
presentacion
presentacionpresentacion
presentacion
 
Matematicas 2
Matematicas 2Matematicas 2
Matematicas 2
 
Matematicas 2
Matematicas 2Matematicas 2
Matematicas 2
 
Relaciones binarias
Relaciones binariasRelaciones binarias
Relaciones binarias
 
Grafos
GrafosGrafos
Grafos
 
Matematicas
MatematicasMatematicas
Matematicas
 
Relaciones y funciones
Relaciones y funcionesRelaciones y funciones
Relaciones y funciones
 
Base de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalBase de datos relacionales algebra relacional
Base de datos relacionales algebra relacional
 
Unidad iii relacion-funcion1
Unidad iii  relacion-funcion1Unidad iii  relacion-funcion1
Unidad iii relacion-funcion1
 
10MATEMATICA_1ero_sec_relaciones_binarias.doc
10MATEMATICA_1ero_sec_relaciones_binarias.doc10MATEMATICA_1ero_sec_relaciones_binarias.doc
10MATEMATICA_1ero_sec_relaciones_binarias.doc
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
 
Clase cumpen master
Clase cumpen masterClase cumpen master
Clase cumpen master
 
Modelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacionalModelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacional
 
Tema 01 relaciones en ir
Tema 01 relaciones en irTema 01 relaciones en ir
Tema 01 relaciones en ir
 
Guía de Estudio sobre Relaciones y Funciones
Guía de Estudio sobre Relaciones y FuncionesGuía de Estudio sobre Relaciones y Funciones
Guía de Estudio sobre Relaciones y Funciones
 
2pdf relacoinal.pdf
2pdf relacoinal.pdf2pdf relacoinal.pdf
2pdf relacoinal.pdf
 
Relaciones binarias
Relaciones binariasRelaciones binarias
Relaciones binarias
 
Modulo educativo
Modulo educativoModulo educativo
Modulo educativo
 

Mehr von Blanca Parra

Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasBlanca Parra
 
Métodos de encriptación
Métodos de encriptaciónMétodos de encriptación
Métodos de encriptaciónBlanca Parra
 
Adquisición a proveedores
Adquisición a proveedoresAdquisición a proveedores
Adquisición a proveedoresBlanca Parra
 
Costo de la calidad
Costo de la calidadCosto de la calidad
Costo de la calidadBlanca Parra
 
Modulación por anchura de pulsos (pmw)
Modulación por anchura de pulsos (pmw)Modulación por anchura de pulsos (pmw)
Modulación por anchura de pulsos (pmw)Blanca Parra
 
Esquema de fragmentación y Distribucion de BDD
Esquema de fragmentación y Distribucion de BDDEsquema de fragmentación y Distribucion de BDD
Esquema de fragmentación y Distribucion de BDDBlanca Parra
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Politicas y practicas de recursos humanos
Politicas y practicas de recursos humanosPoliticas y practicas de recursos humanos
Politicas y practicas de recursos humanosBlanca Parra
 
Costo del producto
Costo del productoCosto del producto
Costo del productoBlanca Parra
 
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...Blanca Parra
 
Fase Uno: Establecimiento del plan de estudios
Fase Uno: Establecimiento del plan de estudiosFase Uno: Establecimiento del plan de estudios
Fase Uno: Establecimiento del plan de estudiosBlanca Parra
 
Comunicaciones moviles
Comunicaciones movilesComunicaciones moviles
Comunicaciones movilesBlanca Parra
 

Mehr von Blanca Parra (20)

Resumen patrones
Resumen patronesResumen patrones
Resumen patrones
 
Investigación
InvestigaciónInvestigación
Investigación
 
Plan9
Plan9Plan9
Plan9
 
Android
AndroidAndroid
Android
 
Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginas
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Mac osx
Mac osxMac osx
Mac osx
 
Métodos de encriptación
Métodos de encriptaciónMétodos de encriptación
Métodos de encriptación
 
Adquisición a proveedores
Adquisición a proveedoresAdquisición a proveedores
Adquisición a proveedores
 
Hábito 3
Hábito 3Hábito 3
Hábito 3
 
Costo de la calidad
Costo de la calidadCosto de la calidad
Costo de la calidad
 
Modulación por anchura de pulsos (pmw)
Modulación por anchura de pulsos (pmw)Modulación por anchura de pulsos (pmw)
Modulación por anchura de pulsos (pmw)
 
Esquema de fragmentación y Distribucion de BDD
Esquema de fragmentación y Distribucion de BDDEsquema de fragmentación y Distribucion de BDD
Esquema de fragmentación y Distribucion de BDD
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Politicas y practicas de recursos humanos
Politicas y practicas de recursos humanosPoliticas y practicas de recursos humanos
Politicas y practicas de recursos humanos
 
Costo del producto
Costo del productoCosto del producto
Costo del producto
 
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...
Fase cuatro: Como internalizar los resultados y cerrar la brecha con la compe...
 
Fase Uno: Establecimiento del plan de estudios
Fase Uno: Establecimiento del plan de estudiosFase Uno: Establecimiento del plan de estudios
Fase Uno: Establecimiento del plan de estudios
 
JDBC
JDBCJDBC
JDBC
 
Comunicaciones moviles
Comunicaciones movilesComunicaciones moviles
Comunicaciones moviles
 

Algebra Relacional

  • 1. Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos
  • 2. Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL 10/09/2007 Conceptos de Bases de Datos
  • 3. Algebra Relacional BD Relacional Codd (IBM), 1970 Fundamentada en • Algebra Relacional (AR) y • Calculo (CA) Lenguajes de Consultas pocedimental Parametros de entrada ? Parametro de salida ? AR se usa para: Optimización de consultas Consultas distribuidas AR define un conjunto de operaciones y fórmulas para manipular tablas Estos conjuntos son relaciones de base de datos 10/09/2007 Conceptos de Bases de Datos
  • 4. Algebra Relacional Ejemplo EMP_TBL={Apellido,Nombre,ID_EMP} Tenemos la relación EMP_TBL Contiene los atributos • Apellido • Nombre • ID_EMP Los valores de cada atributo determinan su dominio Relación es equivalente a • Archivo plano de dos dimensiones • Tabla en las base de datos relacionales Contiene 4-tuplas Columnas son atributos Las Filas son tuplas 10/09/2007 Conceptos de Bases de Datos
  • 5. Algebra Relacional Ejemplo Apellido Nombre ID_EMP Perez Juan E1 Cela Carlos E2 Romero Andres E3 Sanchez Juana E4 10/09/2007 Conceptos de Bases de Datos
  • 6. Algebra Relacional Símbolos Π: Project una columna de la relación σ: Select una fila o tupla de la relación <>: natural JOIN entre dos relaciones <: semi JOIN entre dos relaciones θ: theta JOIN entre dos relaciones ∪: unión entre dos relaciones ∩: intersección entre dos relaciones −: diferencia entre dos relaciones X: producto Cartesiano entre dos relaciones 10/09/2007 Conceptos de Bases de Datos
  • 7. Algebra Relacional Definimos dos relaciones simples R: A B C S: A C E 1 1 2 1 2 2 2 2 1 4 3 3 3 3 2 10/09/2007 Conceptos de Bases de Datos
  • 8. Algebra Relacional Estas dos relaciones se derivan del conjunto de dominos A, B, C y E Sus dominio están definidos sobre los naturales 0, 1, 2, 3 R esta compuesta por A, B y C o R={A,B,C} S esta compuesta por A, C y E o S={A,C,E} R contiene 3 tuplas y S contiene 2 tuplas Veremos la utilización de cada símbolo 10/09/2007 Conceptos de Bases de Datos
  • 9. Algebra Relacional Π: Project Se utiliza para extraer un atributo vertical Podemos extraer mas de una Una fórmula típca sería que nos da una nueva relación ∏ A ,C ( R ) = A C 1 2 2 1 3 2 10/09/2007 Conceptos de Bases de Datos
  • 10. Algebra Relacional σ: Select una fila o tupla de la relación Permite seleccionar tuplas de una relación Existe una fórmula como criterio de selección Da como resultado una nueva relación: ∏ A,C (σ B >= 2 ( R)) = A C 2 1 3 2 10/09/2007 Conceptos de Bases de Datos
  • 11. Algebra Relacional <>: Join Natural Involucra dos relaciones Concatena dos relaciones con un atributo Genera una relación de la forma R <>R.A=S.A S = A B C E 1 1 2 2 R.A=S.A es una fórmula para concatenar sobre atributos que tienen valor idéntico Se eliminan atributos redundantes. Características de Join Natural Existe el equi JOIN que no elimina atributos redundantes. Nombrar 10/09/2007 Conceptos de Bases de Datos
  • 12. Algebra Relacional <: Semi Join Similar al natural JOIN Solo se muestran atributos de la relación de la izq. R <A,A S = R.A R.B R.C 1 1 2 Muy utilizado en ambientes distribuidos (minimiza comunicaciones) 10/09/2007 Conceptos de Bases de Datos
  • 13. Algebra Relacional θ : Theta Join Similar al natural JOIN Se pueden utilizar los símbolos • >= • > • < • <> R' = RθA>2 S = R.A S.A R.B R.C S.C S.E 3 4 3 2 3 3 10/09/2007 Conceptos de Bases de Datos
  • 14. Algebra Relacional ∪:Unión Dadas las relaciones R: A B C S: A B C 1 3 2 1 1 2 1 4 5 2 1 2 Da como resultado R'= R∪ S = A B C 1 3 2 1 4 5 1 1 2 2 1 2 10/09/2007 Conceptos de Bases de Datos
  • 15. Algebra Relacional ∪:Unión Se utilizan entre relaciones con atributos comunes Como resultado tenemos una concatenación Los dominios deben coincidir 10/09/2007 Conceptos de Bases de Datos
  • 16. Algebra Relacional ∩: Intersección Dadas las relaciones R: A B C S: A B C 1 2 3 3 1 2 5 5 5 5 5 5 Da como resultado R'= R∩S = A B C 5 5 5 Retorna tuplas que son comunes a ambas relaciones Tiene las mismas condiciones que la union 10/09/2007 Conceptos de Bases de Datos
  • 17. Algebra Relacional -:Diferencia Dadas las relaciones R: A B C S: A B C 1 2 3 3 1 2 5 5 5 1 1 2 4 5 6 5 5 5 Da como resultado R'= R−S = A B C 1 2 3 4 5 6 Retorna tuplas que estan en la primer relacion y no en la segunda 10/09/2007 Conceptos de Bases de Datos
  • 18. Algebra Relacional x:Producto Cartesiano Dadas las relaciones R: A B C S: A B C 1 1 2 1 1 1 2 2 2 2 2 3 3 3 3 El producto cartesiano da R' = RxS = R. A R.B R.C S . A S .B S .C 1 1 2 1 1 1 1 1 2 2 2 3 2 2 2 1 1 1 2 2 2 2 2 3 3 3 3 1 1 1 3 3 3 2 2 3 10/09/2007 Conceptos de Bases de Datos
  • 19. Algebra Relacional x:Producto Cartesiano El número de tuplas es la multiplicación Similar al equi JOIN cuando no hay atributo común 10/09/2007 Conceptos de Bases de Datos
  • 20. Cálculo Relacional En algebra => procedimiento que resuleven la consulta En Calculo => lenguaje de consultas no-procedimentales Chamberlin & Boyce desarrollaron Lenguaje de Consultas Presentaron “SEQUEL=A Structures English Query Language”, 1974 En 1980 se renombre a SQL (Structured Query Language) Mejorado durante años por Informix Oracle SQL-Base, etc. Existen dos variaciones al Cálculo relacional Cálculo de tuplas Cálculo de dominio 10/09/2007 Conceptos de Bases de Datos
  • 21. Cálculo Relacional Cálculo de tuplas (CT) Lo básico es el concepto de la variables tuplas Representan tuplas de una relación Se utilizan para extraer datos de la relación Se puede restringir valores de atributos Ejemplo en SQL RANGE OF PX IS EMPLEADOS PX.Apellido, PC.Nombres WHERE PX.BASICO>1000 Esto dice dos cosas • Extraer tuplas que cumplen BASICO>1000 • De esas tuplas quiero ver Apellido y Nombre 10/09/2007 Conceptos de Bases de Datos
  • 22. Cálculo Relacional Cálculo de tuplas (CT) En CT PX es una variable de tupla Una fórmula genérica tomo la forma TV1 operador TV2 o constantes Donde Tvi: variable de tuplas operador: <,>,>=,<=,<>,= constante: cualquier numero o string Las constantes y Tvi deben se del mismo dominio Las formulas se conectan con AND, OR y NOT Ejemplos • EMP_TBL[BASICO]=1000 • EMP_TBL[APELLIDO]=‘DEPARTAMENTO 1’ AND • EMP_TBL[SALARIO]>2000 10/09/2007 Conceptos de Bases de Datos
  • 23. Cálculo Relacional Cálculo de dominio (CD) Las variables en este lenguaje están basadas en los dominos Query By Example (QBE) de IBM Una fórmula típica DOMAIN VARIABLE LIST, CONDITION CONDITION: • es una formula sobre una variable de dominio • es una formula sobre un atributo involucrado en la formula Forma general: RELATION NAME(ATTRIBUTE BELONGING TO RELATION=DOMAIN VARIABLE OR CONSTANT) 10/09/2007 Conceptos de Bases de Datos
  • 24. Cálculo Relacional Cálculo de dominio (CD) Dada la siguiente relación EMP _ TBL = NOMBRE SALARIO LOCALIDAD PEREZ 2000 La Plata CASTA 1500 La Plata COLLO 3000 Buenos Aires GUIDO 1200 La Plata Para extraer Nombre, Salario y Localidad de la gente de La Plata y que gane mas de 1100 debemos hacer EMP_NR,SALARIO_NR,LOCALIDAD_NR CONDITION (EMP_TBL(LOCALIDAD=‘La Plata’) AND (SALARIO_NR>=1100) 10/09/2007 Conceptos de Bases de Datos
  • 25. Cálculo Relacional Cálculo de dominio (CD) En QBE, debemos llenar valores en las variables de dominio Sobre el ejemplo anterior Antes NOMBRE SALARIO LOCALIDAD > 1200 = LA PLATA Despues NOMBRE SALARIO LOCALIDAD PEREZ 2000 La Plata CASTA 1500 La Plata 10/09/2007 Conceptos de Bases de Datos
  • 26. Conceptos Componentes típicas de una base relacional Tablas Vistas Índices Plans o Stored Procedures Catalogo Relaciones contienen atributos (verticales) Tuplas (horizontales) Tablas contienen Columns Row Tablas=Relación 10/09/2007 Conceptos de Bases de Datos
  • 27. Conceptos Views son tablas virtuales Indices son estructuras para mejorar la performance de acceso Plans: procedimientos almacenados que se ejecutan en forma repetitiva Catalogo: tablas especiales donde se guardan Parametros Información 10/09/2007 Conceptos de Bases de Datos
  • 28. SQL SQL está dividio en tres sublenguajes Lenguaje de declaración de datos (DDL) • Se usa para crear componentes de la base Lenguaje de control de datos (DCL) • Seguridad de Datos • Control de Consistencia Lenguaje de manipulación de datos (DML) • Core del SQL • Obtener datos de las diferentes tablas Información adicional http://w3.one.net/~jhoffman/sqltut.htm http://www.webdevelopersjournal.com/articles/sql.html 10/09/2007 Conceptos de Bases de Datos
  • 29. SQL Lenguaje de declaración de datos (DDL) Son comandos para los administradores Permite crear o declara objetos en las bases de datos Los principales comandos son: • CREATE • TABLE • INDEX • VIEW • DROP • TABLE • INDEX • VIEW 10/09/2007 Conceptos de Bases de Datos
  • 30. SQL Lenguaje de declaración de datos (DDL) • ALTER • TABLE <tablename> <DROP|ADD> • Podemos ADD • Columnas • Primary Key • Referentials Constraint • Podemos DROP • Primary Key • Foregein Key 10/09/2007 Conceptos de Bases de Datos
  • 31. SQL Lenguaje de control de datos (DCL) Permite administrar los aspectos de control y seguridad Provee dos comandos • GRANT • Dar privilegios a los usuarios • REVOKE • Elimina previlegios 10/09/2007 Conceptos de Bases de Datos
  • 32. SQL Lenguaje de manipulación de datos (DML) Una vez de creada la base de datos necesitamos procesar información u obtener reportes Las sentencias son similares a las de Ingles Las claúsulas principales para reportes • SELECT • FROM • WHERE • GROUP BY • HAVING • ORDER BY 10/09/2007 Conceptos de Bases de Datos
  • 33. SQL Lenguaje de manipulación de datos (DML) Hay claúsulas para actualizar • DELETE • UPDATE • DELETE 10/09/2007 Conceptos de Bases de Datos
  • 34. Bibliografías Distributed Database Systems. Bell, D; Grimson J. Addison Wesley, 1992. Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 1991. Managing Distributed Databases. Burleson, D. Wiley, 1994. 10/09/2007 Conceptos de Bases de Datos