SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Centro de Referencia Linux UAM-IBM




             Introducción a las
              bases de datos.




                            Carmen B. Navarrete Navarrete
                                 carmen_navarrete@telefonica.net
Introducción a las BBDD 1
¿Qué vamos a ver?



     Introducción a las bases de datos.
 ●



     Administración de bases de datos.
 ●



     Implementación de bases de datos.
 ●



     Lenguaje SQL.
 ●



     JDBC.
 ●




Introducción a las BBDD 2
Introducción


     ¿Qué son las bases de datos?
 ●



     Gestores más conocidos.
 ●




Introducción a las BBDD 3
¿Qué son las BBDD? (I)
    Colección de información
●


    organizada y relacionada entre
    ella.
    Estructura similar a una matriz
●


    (tabla) con filas (registros o
    entradas) y columnas (campos).
    La intersección de fila/columna
●


    se llama celda.
    El tipo de información de un
●


    campo se conoce como atributo.

Introducción a las BBDD 4
¿Qué son las BBDD? (II)
             Campo
                             Registro
                                           Celda
                  Atributo




                                   Tabla Productos.

   Los valores que toman las celdas pertenecen
   a un dominio.

Introducción a las BBDD 5
¿Qué son las BBDD? (III)
       Conceptos básicos.
   ●


           Tabla, registro, campo, celda,
       –
           atributo, dominio...
           Relación: condición de los datos de
       –
           una base de datos.
           Clave primaria (primary key):
       –
           conjunto de atributos que identifican
           de forma única a cada tupla
           (registro) en una relación.
           Clave externa (foreign key): clave
       –
           en una tabla que pertenece a otra.
           “Herencia”.

Introducción a las BBDD 6
¿Qué son las BBDD? (IV)
       Negrita: clave primaria
       Subrayado: clave externa
       Cursiva: atributo multievaluado




                                         IDProducto: clave primaria



IDProducto: clave externa
DNI: clave primaria




                         Clave primaria con 3 atributos.
   Introducción a las BBDD 7
¿Qué son las BBDD? (V)
       Características importantes
   ●


           Principios:
       –

                Coherencia de datos: no puede existir
            ●


                datos contradictorios en la base de
                datos.
                Localidad: los datos no tienen porqué
            ●


                residir en local. Pueden estar
                distribuidas. Aparece el “gestor de la
                base de datos”.
           Operaciones sobre las bases de datos
       –

                Modificación (inserción, borrado y
            ●


                actualización).
                Consultas (petición de datos).
            ●




Introducción a las BBDD 8
Gestores más conocidos
         Gestor: da transparencia al
     ●


         usuario sobre el principio de
         localidad.




Introducción a las BBDD 9
Cómo empezar



      Introducción a las bases de datos.
  ●



      Administración de bases de datos.
  ●



      Implementación de bases de datos.
  ●



      Lenguaje SQL.
  ●



      JDBC.
  ●




Introducción a las BBDD 10
Administración

          Introducción.
      ●



          Creación de usuarios.
      ●



          Creación de tablas.
      ●




Introducción a las BBDD 11
Introducción
     Todo programa informático
 ●


     necesita de una administración.
     Aplicaciones, sistemas, web,
 ●


     bases de datos, etc.
     Tarea consistente en creación de
 ●


     usuarios, bases de datos, manejo
     de permisos de acceso...
     Cualquiera de estas operaciones
 ●


     (comandos) depende del gestor de
     la base de datos (en postgresql).

Introducción a las BBDD 12
Administración de usuarios
     Hay que hacerlo desde el usuario
 ●


     postgres.(1ª)
     Comando:
 ●


         createuser [OPTION][USERNAME]
     –

     Permisos para crear nuevas bases
 ●


     de datos, nuevos usuarios...
     Acordarse de la contraseña
 ●


     (opción -P)
     Puertos, conexiones, etc.
 ●




Introducción a las BBDD 13
Administración de BBDD

    Hay que hacerlo desde el usuario
●


    postgres (1ª).
    Comando:
●


        createdb [OPTION]...[DBNAME][DESCR]
    –

    Base de datos que contiene todo
●


    el conjunto de tablas.
    Por defecto se crea una base de
●


    datos con el mismo nombre que el
    usuario.

Introducción a las BBDD 14
Continuamos con...



      Introducción a las bases de datos.
  ●



      Administración de bases de datos.
  ●



      Implementación de bases de datos.
  ●



      Lenguaje SQL.
  ●



      JDBC.
  ●




Introducción a las BBDD 15
Implementación.
    Introducción.
●



    Diagrama E/R.
●


        Entidades.
    –

        Relaciones.
    –

             1 a 1 (uno a uno)
         ●


             1 a N (uno a muchos)
         ●


             M a N (muchos a muchos)
         ●



        Atributos.
    –

    Diagrama relacional.
●



    Diseño de tablas.
●




Introducción a las BBDD 16
Introducción
    Se trata de “dibujar” el diseño de
●


    la base de datos. Lenguaje gráfico
    estándar.
    Existen diferentes tipos de
●


    diagramas.
    Perfecto para las personas a las
●


    que le gusta la TIF “Teoría de
    Ideas Felices”.
    No existe un algoritmo, sólo
●


    recomendaciones. Pura práctica y
    “haber visto muchas”.
Introducción a las BBDD 17
Diagramas E/R (I)
     Cajas como entidades y rombos con
 ●


     flechas como relaciones.
     Entidades: Conjuntos de elementos
 ●


     que “sufren” las acciones.
     “Sujeto”
     Relaciones: unen las entidades
 ●


     entre sí. “Verbos”.
     Atributos: características
 ●


     particulares de esa relación o de
     las entidades que involucra.

Introducción a las BBDD 18
Entidades
         Representación:
     ●



                             Atributos

                              Entidad

       La entidad como mínimo tiene que tener un
     ●


     atributo, de lo contrario, no es entidad.


       Ya en este diagrama se especifican las
     ●


     claves primarias y las multievaluadas,
     pero NO las externas, puesto que aún no
     existen.



Introducción a las BBDD 19
Relaciones (I)
       Existen diferentes representaciones
     ●


     dependiendo del tipo de relación que tenga
     más sentido usar.

       La relación puede no tener atributos.
     ●


     Depende de si existen o no características
     que varíen en la relación entre las
     entidades.
       Al igual que antes, se especifican las
     ●


     primarias y multievaluadas, pero no las
     externas.

       Las relaciones no solo “relacionan” dos
     ●


     entidades, sino que pueden relacionar
     entre ellas 3, 4 o las que sean.

Introducción a las BBDD 20
Relaciones (II)
         Representación general.
     ●




         Relación 1 a 1
     ●




         Relación 1 a N
     ●




         Relación M a N
     ●




         ¿Y si la relación queda vacía...?
     ●




Introducción a las BBDD 21
Relaciones (III)
       Podría hacerse una similitud con conjuntos
     ●


     de la siguiente manera:
                              El vacío no significa
                              que no haya relación
                              sino que puede que aún
                              ese valor no exista. Por
                              ejemplo, el número de
                              ocupantes de un coche, a
                              excepción del conductor.
                              Puede que sea un
                              acompañante, más de uno,
                              o directamente
                              ninguno... En el E/R se
                              tiene en cuenta y en la
                              implementación este
                              valor podrá ser un null.




Introducción a las BBDD 22
Ejemplos de relaciones
         El nombre de una persona con sus
     –
         apellidos:
              1aN
          ●



         Si tiene más de un nombre:
     –

              MaN
          ●



         Si es extranjero y solo tiene un
     –
         apellido:
              1a1
          ●



         Extranjero con más de un nombre:
     –

              1aN
          ●



         Si no tiene o nombre o apellido
     –

              0 a N o 0 a 1 --> 0 a 0 no existe.
          ●



Introducción a las BBDD 23
Diagrama E/R (II)




Introducción a las BBDD 24
Diagrama relacional (I)
    Puede obtenerse a partir del
●


    diagrama anterior.
    Entidades con cajas y atributos
●


    (primarios, externas y
    mutievaluados).
    Desaparecen las relaciones. Se
●


    especifica la cardinalidad.
    Recomendación (no algoritmo) acerca
●


    de la transformación de un diagrama
    en otro.

Introducción a las BBDD 25
Diagrama relacional (II)


                         1   M


           1                     N




Introducción a las BBDD 26
Diseño de tablas
     Se trata de definir con texto las
 ●


     tablas a usar, para después pasar
     a SQL
      En negrita las claves primarias, subrayadas las claves
                            externas.


     COCHE (Matrícula, Bastidor, DNI, Modelo)

     MOTOR (Bastidor, Cilindrada, Potencia, Consumo)

     OCUPANTES (DNI, Matrícula, N_Ocupantes)




Introducción a las BBDD 27
Y se programa en...



      Introducción a las bases de datos.
  ●



      Administración de bases de datos.
  ●



      Implementación de bases de datos.
  ●



      Lenguaje SQL.
  ●



      JDBC.
  ●




Introducción a las BBDD 28
Lenguaje SQL

     Introducción y evolución.
 ●



     Tipos de datos.
 ●



     Creación de tablas.
 ●


         Restricciones.
     –

     Modificación de tablas.
 ●



     Borrado de tablas.
 ●



     Consultas a tablas.
 ●



     Otras operaciones.
 ●




Introducción a las BBDD 29
Introducción y evolución
     1970: Codd describe el modelo relaciona.
 ●



         System V: gestor de bases de datos.
     –

         SEQUEL: el lenguaje de programación.
     –

     SEQUEL deriva en SQL Standard Query
 ●


     Language.
     1982: primer estándar de SQL.
 ●



     1989: modificaciones sobre la integridad
 ●


     referencial.
     1992: siguiente estándar.
 ●



     1997: estándar orientado a objetos
 ●


     (triggers, disparadores).

Introducción a las BBDD 30
Tipos de datos (I)
    Tipos numéricos.
●


        Enteros: INT(EGER), SMALLINT
    –

        Reales: FLOAT, REAL, DOUBLE PRECISION
    –

        Con formato: DECIMAL(t,d) NUMERIC(t,d)
    –

             t: número total de dígitos.
         ●


             d: cifras a la derecha del punto.
         ●



    Cadenas de caracteres.
●


        CHAR(n): número de caracteres.
    –

        VARCHAR(n), CHAR VARYING(n): número
    –
        máximo de caracteres.

Introducción a las BBDD 31
Tipos de datos (II)
    Cadenas de bits.
●


        BIT(n): número de bits.
    –

        BIT VARYING(n): número máximo de bits.
    –

    Fechas.
●


        DATE 'yyyy_mm_d'
    –

    Horas.
●


        TIME 'hh:mm:ss'
    –

    Intervalos.
●


        INTERVAL ‘valor’ uinicio [TO ufinal]
    –


Introducción a las BBDD 32
Ejemplos de INTERVAL
         INTERVAL ‘1’ YEAR
     –

              1 año
          ●



         INTERVAL ‘3-2’ YEAR TO MONTH
     –

              3 años y 2 meses
          ●



         INTERVAL ‘2 12’ DAY TO HOUR
     –

              2 horas y media
          ●



         INTERVAL ‘3:20’ HOUR TO MINUTE
     –

              3 horas y 20 minutos
          ●



         INTERVAL ‘3:20:45’ HOUR TO SECOND
     –

              3 horas 20 minutos y 45 segundos
          ●




Introducción a las BBDD 33
Tipos de datos (III)
     Dominios
 ●


         Parecido al TYPEDEF ENUM de C.
     –

         CREATE DOMAIN nombre [AS] tipo_datos
     –
         [DEFAULT {literal | NULL}]
         [CONSTRAINT nombre] CHECK(expresion)
         Ejemplos:
     –

              CREATE DOMAIN matricula NUMERIC(4)
          ●


              DEFAULT 0
              CHECK (VALUE IS NOT NULL)
              CREATE DOMAIN modelo CHAR VARYING(30)
          ●


              CHECK (VALUE IN (‘marca1’, ‘marca2’))


Introducción a las BBDD 34
Creación de tablas
     Para crear una tabla se usa:
 ●


         CREATE TABLE nombre
     –
         (columna {tipo_datos | dominio});

     - Todas las entradas acaban
     excepto la última en coma (,).
     La última va con punto y coma (;)

     - Se pueden añadir restricciones
     de columna y de tabla. Además las
     restricciones se pueden nombrar.


Introducción a las BBDD 35
Restricciones
     Restricciones de columna
 ●


         Obligar a que los valores de la
     –
         columna cumplan unas condiciones
     Restricciones de tabla
 ●


         Sobre todo integridad de la tabla
     –
         con otras tablas
     Ejemplos:
 ●
                                 NOT NULL
                             ●


                                 UNIQUE
                             ●


                                 PRIMARY KEY
                             ●


                                 CHECK
                             ●


                                 DEFAULT
                             ●


                                 FOREIGN KEY
                             ●



Introducción a las BBDD 36
Modificación
    En la modificación de tablas se
●


    diferencian las operaciones de:
        Añadir columnas
    –

             ALTER TABLE tabla ADD columna tipo
         ●



        Eliminar columnas
    –

             ALTER TABLE tabla DROP columna
         ●


             {CASCADE | RESTRICT}
        Modificar definiciones de columna
    –

             ALTER TABLE tabla ALTER columna
         ●


             {DROP DEFAULT | SET DEFAULT}



Introducción a las BBDD 37
Borrado
    Borrar restricciones
●


        ALTER TABLE tabla DROP CONSTRAINT restr
    –

    Borrar tablas
●


        DROP TABLE tabla {CASCADE | RESTRICT}
    –


    CASCADE: se borra la tabla y todos los
●


    elementos de la BD que referencien a la tabla.
    RESTRICT: sólo se borra la tabla si antes se
●


    han borrado todos los elementos que la
    referencien.



Introducción a las BBDD 38
Consultas (I)
     Básicamente es:
 ●


         SELECT columnas FROM tabla WHERE condicion
     –

              columnas = * --> todas las columnas
          ●



     Eliminar valores repetidos.
 ●


         SQL no elimina tuplas repetidas. Se usa el
     –
         operador DISTINCT antes de 'columnas'¡
     Ordenar los resultados
 ●


         ORDER BY columnas {ASC | DESC}
     –

              ASCendente, DESCendente
          ●


              'columnas' se puede sustituir por
          ●


              números empezando a numerar en 1.

Introducción a las BBDD 39
Consultas (II)
     Renombrar columnas del resultado
 ●


         Esto se hace para volver a usar esa columna
     –
         en la consulta.
     Seleccionar valores en un
 ●


     intervalo.
         WHERE valor BETWEEN valor_1 AND valor_2
     –

         Ej: BETWEEN hoy AND hoy + interval '14'
     –

     Pertenecer a un conjunto
 ●


         WHERE valor IN {lista | subconsulta}
     –




Introducción a las BBDD 40
Consultas (III)
     Filtro de subcadenas
 ●


         LIKE 'cadena'
     –

         cadena puede contener:
     –

             '%' : ó 0 ó más caracteres.
              –
           – '-' : 1 caracter
           – '/' : escapa esos caracteres.

     Ejemplo:
 ●



             WHERE trabajo LIKE ‘Infor%'
         ●




Introducción a las BBDD 41
Otros operadores
     Se pueden usar <, >, =, ...
 ●



     Existe el operador NOT
 ●



     Operadores más complejos como
 ●


     EXIST, COUNT, HAVING, ADD, SUM,
     GROUP BY ...
     Referido a más de una tabla:
 ●


     productos cartesianos (,) y
     uniones.
     Uniones, diferencias,
 ●


     intersecciones, NATURAL JOIN...
Introducción a las BBDD 42
Resumen SQL
     Sobre todo: ¡¡NO HAY VARIABLES!!
     ¿Cómo haríais un bucle tipo FOR?
         y ¿llevar una cuenta? ...


   Cambio muy fuerte de mentalidad en
        cuanto a la programación.


  API de SQL complejo con multitud de
            funcionalidades.

Introducción a las BBDD 43
Y para acabar...

       ... e irnos a comer

      Introducción a las bases de datos.
  ●



      Administración de bases de datos.
  ●



      Implementación de bases de datos.
  ●



      Lenguaje SQL.
  ●



      JDBC.
  ●




Introducción a las BBDD 44
JDBC (I)
     SQL Estático
 ●



     SQL Embebido (incrustado)
 ●


         Las consultas se crean en tiempo de
     –
         ejecución.
         Necesario una CLI (Common Language
     –
         Interface)
              ODBC: Open DataBase Connectivity.
          ●


              JDBC: Java DataBase Connectivity.
          ●



         Drivers para las conexiones con las
     –
         bases de datos.


Introducción a las BBDD 45
JDBC (II)

    ¿Quieres poder conectar una base
     de datos con Java y hacerle una
            interfaz gráfica?




    Próximo episodio en prácticas...




Introducción a las BBDD 46

Más contenido relacionado

Destacado

Diagramas De Casos De Uso
Diagramas De Casos De UsoDiagramas De Casos De Uso
Diagramas De Casos De Uso
nahun1385
 
Introduccion a las Bases de Datos
Introduccion a las Bases de DatosIntroduccion a las Bases de Datos
Introduccion a las Bases de Datos
andreapguzman
 
Base de datos
Base de datosBase de datos
Base de datos
Sara
 

Destacado (20)

Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datos
 
Taller 1 (introducción a la bases de datos)
Taller 1 (introducción a la bases de datos)Taller 1 (introducción a la bases de datos)
Taller 1 (introducción a la bases de datos)
 
T1 Bd Intro
T1 Bd IntroT1 Bd Intro
T1 Bd Intro
 
Introducción a las bases de datos con access
Introducción a las bases de datos con accessIntroducción a las bases de datos con access
Introducción a las bases de datos con access
 
Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1
 
Introducción a las bases de datos parte2
Introducción a las bases de datos parte2Introducción a las bases de datos parte2
Introducción a las bases de datos parte2
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Taller2
Taller2Taller2
Taller2
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Diagramas De Casos De Uso
Diagramas De Casos De UsoDiagramas De Casos De Uso
Diagramas De Casos De Uso
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Introduccion a las Bases de Datos
Introduccion a las Bases de DatosIntroduccion a las Bases de Datos
Introduccion a las Bases de Datos
 
C:\Documents And Settings\Admin\Mis Documentos\Elkin 2010 Ii\Bases De Datos\B...
C:\Documents And Settings\Admin\Mis Documentos\Elkin 2010 Ii\Bases De Datos\B...C:\Documents And Settings\Admin\Mis Documentos\Elkin 2010 Ii\Bases De Datos\B...
C:\Documents And Settings\Admin\Mis Documentos\Elkin 2010 Ii\Bases De Datos\B...
 
Introduccion a los sistemas de bases de datos
Introduccion  a los sistemas de bases de datosIntroduccion  a los sistemas de bases de datos
Introduccion a los sistemas de bases de datos
 
Presentación de Base de datos II
Presentación de Base de datos IIPresentación de Base de datos II
Presentación de Base de datos II
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Introducción a las base de datos
Introducción a las base de datosIntroducción a las base de datos
Introducción a las base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a Bases de Datos
Introducción a Bases de DatosIntroducción a Bases de Datos
Introducción a Bases de Datos
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 

Similar a Introduccion A Las Bases De Datos

Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
anita9m
 
Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
anita9m
 
Bases de datos.ppt presentacion
Bases de datos.ppt presentacionBases de datos.ppt presentacion
Bases de datos.ppt presentacion
andreaydarlys
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
Joha Diaz
 
Presentacion modelo relacional2_final
Presentacion modelo relacional2_finalPresentacion modelo relacional2_final
Presentacion modelo relacional2_final
Alitas221
 

Similar a Introduccion A Las Bases De Datos (20)

Modelo relacional 11 3
Modelo relacional 11 3Modelo relacional 11 3
Modelo relacional 11 3
 
Base De Datos I
Base De Datos IBase De Datos I
Base De Datos I
 
Unidad 3 diseño de base de datos
Unidad 3  diseño de base de datosUnidad 3  diseño de base de datos
Unidad 3 diseño de base de datos
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)
 
Bases de datos.ppt presentacion
Bases de datos.ppt presentacionBases de datos.ppt presentacion
Bases de datos.ppt presentacion
 
Resumen
ResumenResumen
Resumen
 
Mongo db course introduction
Mongo db course   introductionMongo db course   introduction
Mongo db course introduction
 
BASE DE DATOS.pdf
BASE DE DATOS.pdfBASE DE DATOS.pdf
BASE DE DATOS.pdf
 
5457551
54575515457551
5457551
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
Intro sql
Intro sqlIntro sql
Intro sql
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
BD - Semana 1
BD - Semana 1BD - Semana 1
BD - Semana 1
 
Presentacion modelo relacional2_final
Presentacion modelo relacional2_finalPresentacion modelo relacional2_final
Presentacion modelo relacional2_final
 

Más de FernandoRamirez (10)

M_R_REDHOSPITALES
M_R_REDHOSPITALESM_R_REDHOSPITALES
M_R_REDHOSPITALES
 
Taller PráCtica 4
Taller PráCtica 4Taller PráCtica 4
Taller PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller PráCtica 3
Taller  PráCtica 3Taller  PráCtica 3
Taller PráCtica 3
 
PráCtica 3
PráCtica 3PráCtica 3
PráCtica 3
 
Taller De PráCtica 3
Taller De PráCtica 3Taller De PráCtica 3
Taller De PráCtica 3
 
Sistemas Gestor De Bases De Datos
Sistemas Gestor De Bases De DatosSistemas Gestor De Bases De Datos
Sistemas Gestor De Bases De Datos
 
exposicion integridad y seguridad de las bases de datos
exposicion integridad y seguridad de las bases de datosexposicion integridad y seguridad de las bases de datos
exposicion integridad y seguridad de las bases de datos
 

Último

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

Introduccion A Las Bases De Datos

  • 1. Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 1
  • 2. ¿Qué vamos a ver? Introducción a las bases de datos. ● Administración de bases de datos. ● Implementación de bases de datos. ● Lenguaje SQL. ● JDBC. ● Introducción a las BBDD 2
  • 3. Introducción ¿Qué son las bases de datos? ● Gestores más conocidos. ● Introducción a las BBDD 3
  • 4. ¿Qué son las BBDD? (I) Colección de información ● organizada y relacionada entre ella. Estructura similar a una matriz ● (tabla) con filas (registros o entradas) y columnas (campos). La intersección de fila/columna ● se llama celda. El tipo de información de un ● campo se conoce como atributo. Introducción a las BBDD 4
  • 5. ¿Qué son las BBDD? (II) Campo Registro Celda Atributo Tabla Productos. Los valores que toman las celdas pertenecen a un dominio. Introducción a las BBDD 5
  • 6. ¿Qué son las BBDD? (III) Conceptos básicos. ● Tabla, registro, campo, celda, – atributo, dominio... Relación: condición de los datos de – una base de datos. Clave primaria (primary key): – conjunto de atributos que identifican de forma única a cada tupla (registro) en una relación. Clave externa (foreign key): clave – en una tabla que pertenece a otra. “Herencia”. Introducción a las BBDD 6
  • 7. ¿Qué son las BBDD? (IV) Negrita: clave primaria Subrayado: clave externa Cursiva: atributo multievaluado IDProducto: clave primaria IDProducto: clave externa DNI: clave primaria Clave primaria con 3 atributos. Introducción a las BBDD 7
  • 8. ¿Qué son las BBDD? (V) Características importantes ● Principios: – Coherencia de datos: no puede existir ● datos contradictorios en la base de datos. Localidad: los datos no tienen porqué ● residir en local. Pueden estar distribuidas. Aparece el “gestor de la base de datos”. Operaciones sobre las bases de datos – Modificación (inserción, borrado y ● actualización). Consultas (petición de datos). ● Introducción a las BBDD 8
  • 9. Gestores más conocidos Gestor: da transparencia al ● usuario sobre el principio de localidad. Introducción a las BBDD 9
  • 10. Cómo empezar Introducción a las bases de datos. ● Administración de bases de datos. ● Implementación de bases de datos. ● Lenguaje SQL. ● JDBC. ● Introducción a las BBDD 10
  • 11. Administración Introducción. ● Creación de usuarios. ● Creación de tablas. ● Introducción a las BBDD 11
  • 12. Introducción Todo programa informático ● necesita de una administración. Aplicaciones, sistemas, web, ● bases de datos, etc. Tarea consistente en creación de ● usuarios, bases de datos, manejo de permisos de acceso... Cualquiera de estas operaciones ● (comandos) depende del gestor de la base de datos (en postgresql). Introducción a las BBDD 12
  • 13. Administración de usuarios Hay que hacerlo desde el usuario ● postgres.(1ª) Comando: ● createuser [OPTION][USERNAME] – Permisos para crear nuevas bases ● de datos, nuevos usuarios... Acordarse de la contraseña ● (opción -P) Puertos, conexiones, etc. ● Introducción a las BBDD 13
  • 14. Administración de BBDD Hay que hacerlo desde el usuario ● postgres (1ª). Comando: ● createdb [OPTION]...[DBNAME][DESCR] – Base de datos que contiene todo ● el conjunto de tablas. Por defecto se crea una base de ● datos con el mismo nombre que el usuario. Introducción a las BBDD 14
  • 15. Continuamos con... Introducción a las bases de datos. ● Administración de bases de datos. ● Implementación de bases de datos. ● Lenguaje SQL. ● JDBC. ● Introducción a las BBDD 15
  • 16. Implementación. Introducción. ● Diagrama E/R. ● Entidades. – Relaciones. – 1 a 1 (uno a uno) ● 1 a N (uno a muchos) ● M a N (muchos a muchos) ● Atributos. – Diagrama relacional. ● Diseño de tablas. ● Introducción a las BBDD 16
  • 17. Introducción Se trata de “dibujar” el diseño de ● la base de datos. Lenguaje gráfico estándar. Existen diferentes tipos de ● diagramas. Perfecto para las personas a las ● que le gusta la TIF “Teoría de Ideas Felices”. No existe un algoritmo, sólo ● recomendaciones. Pura práctica y “haber visto muchas”. Introducción a las BBDD 17
  • 18. Diagramas E/R (I) Cajas como entidades y rombos con ● flechas como relaciones. Entidades: Conjuntos de elementos ● que “sufren” las acciones. “Sujeto” Relaciones: unen las entidades ● entre sí. “Verbos”. Atributos: características ● particulares de esa relación o de las entidades que involucra. Introducción a las BBDD 18
  • 19. Entidades Representación: ● Atributos Entidad La entidad como mínimo tiene que tener un ● atributo, de lo contrario, no es entidad. Ya en este diagrama se especifican las ● claves primarias y las multievaluadas, pero NO las externas, puesto que aún no existen. Introducción a las BBDD 19
  • 20. Relaciones (I) Existen diferentes representaciones ● dependiendo del tipo de relación que tenga más sentido usar. La relación puede no tener atributos. ● Depende de si existen o no características que varíen en la relación entre las entidades. Al igual que antes, se especifican las ● primarias y multievaluadas, pero no las externas. Las relaciones no solo “relacionan” dos ● entidades, sino que pueden relacionar entre ellas 3, 4 o las que sean. Introducción a las BBDD 20
  • 21. Relaciones (II) Representación general. ● Relación 1 a 1 ● Relación 1 a N ● Relación M a N ● ¿Y si la relación queda vacía...? ● Introducción a las BBDD 21
  • 22. Relaciones (III) Podría hacerse una similitud con conjuntos ● de la siguiente manera: El vacío no significa que no haya relación sino que puede que aún ese valor no exista. Por ejemplo, el número de ocupantes de un coche, a excepción del conductor. Puede que sea un acompañante, más de uno, o directamente ninguno... En el E/R se tiene en cuenta y en la implementación este valor podrá ser un null. Introducción a las BBDD 22
  • 23. Ejemplos de relaciones El nombre de una persona con sus – apellidos: 1aN ● Si tiene más de un nombre: – MaN ● Si es extranjero y solo tiene un – apellido: 1a1 ● Extranjero con más de un nombre: – 1aN ● Si no tiene o nombre o apellido – 0 a N o 0 a 1 --> 0 a 0 no existe. ● Introducción a las BBDD 23
  • 25. Diagrama relacional (I) Puede obtenerse a partir del ● diagrama anterior. Entidades con cajas y atributos ● (primarios, externas y mutievaluados). Desaparecen las relaciones. Se ● especifica la cardinalidad. Recomendación (no algoritmo) acerca ● de la transformación de un diagrama en otro. Introducción a las BBDD 25
  • 26. Diagrama relacional (II) 1 M 1 N Introducción a las BBDD 26
  • 27. Diseño de tablas Se trata de definir con texto las ● tablas a usar, para después pasar a SQL En negrita las claves primarias, subrayadas las claves externas. COCHE (Matrícula, Bastidor, DNI, Modelo) MOTOR (Bastidor, Cilindrada, Potencia, Consumo) OCUPANTES (DNI, Matrícula, N_Ocupantes) Introducción a las BBDD 27
  • 28. Y se programa en... Introducción a las bases de datos. ● Administración de bases de datos. ● Implementación de bases de datos. ● Lenguaje SQL. ● JDBC. ● Introducción a las BBDD 28
  • 29. Lenguaje SQL Introducción y evolución. ● Tipos de datos. ● Creación de tablas. ● Restricciones. – Modificación de tablas. ● Borrado de tablas. ● Consultas a tablas. ● Otras operaciones. ● Introducción a las BBDD 29
  • 30. Introducción y evolución 1970: Codd describe el modelo relaciona. ● System V: gestor de bases de datos. – SEQUEL: el lenguaje de programación. – SEQUEL deriva en SQL Standard Query ● Language. 1982: primer estándar de SQL. ● 1989: modificaciones sobre la integridad ● referencial. 1992: siguiente estándar. ● 1997: estándar orientado a objetos ● (triggers, disparadores). Introducción a las BBDD 30
  • 31. Tipos de datos (I) Tipos numéricos. ● Enteros: INT(EGER), SMALLINT – Reales: FLOAT, REAL, DOUBLE PRECISION – Con formato: DECIMAL(t,d) NUMERIC(t,d) – t: número total de dígitos. ● d: cifras a la derecha del punto. ● Cadenas de caracteres. ● CHAR(n): número de caracteres. – VARCHAR(n), CHAR VARYING(n): número – máximo de caracteres. Introducción a las BBDD 31
  • 32. Tipos de datos (II) Cadenas de bits. ● BIT(n): número de bits. – BIT VARYING(n): número máximo de bits. – Fechas. ● DATE 'yyyy_mm_d' – Horas. ● TIME 'hh:mm:ss' – Intervalos. ● INTERVAL ‘valor’ uinicio [TO ufinal] – Introducción a las BBDD 32
  • 33. Ejemplos de INTERVAL INTERVAL ‘1’ YEAR – 1 año ● INTERVAL ‘3-2’ YEAR TO MONTH – 3 años y 2 meses ● INTERVAL ‘2 12’ DAY TO HOUR – 2 horas y media ● INTERVAL ‘3:20’ HOUR TO MINUTE – 3 horas y 20 minutos ● INTERVAL ‘3:20:45’ HOUR TO SECOND – 3 horas 20 minutos y 45 segundos ● Introducción a las BBDD 33
  • 34. Tipos de datos (III) Dominios ● Parecido al TYPEDEF ENUM de C. – CREATE DOMAIN nombre [AS] tipo_datos – [DEFAULT {literal | NULL}] [CONSTRAINT nombre] CHECK(expresion) Ejemplos: – CREATE DOMAIN matricula NUMERIC(4) ● DEFAULT 0 CHECK (VALUE IS NOT NULL) CREATE DOMAIN modelo CHAR VARYING(30) ● CHECK (VALUE IN (‘marca1’, ‘marca2’)) Introducción a las BBDD 34
  • 35. Creación de tablas Para crear una tabla se usa: ● CREATE TABLE nombre – (columna {tipo_datos | dominio}); - Todas las entradas acaban excepto la última en coma (,). La última va con punto y coma (;) - Se pueden añadir restricciones de columna y de tabla. Además las restricciones se pueden nombrar. Introducción a las BBDD 35
  • 36. Restricciones Restricciones de columna ● Obligar a que los valores de la – columna cumplan unas condiciones Restricciones de tabla ● Sobre todo integridad de la tabla – con otras tablas Ejemplos: ● NOT NULL ● UNIQUE ● PRIMARY KEY ● CHECK ● DEFAULT ● FOREIGN KEY ● Introducción a las BBDD 36
  • 37. Modificación En la modificación de tablas se ● diferencian las operaciones de: Añadir columnas – ALTER TABLE tabla ADD columna tipo ● Eliminar columnas – ALTER TABLE tabla DROP columna ● {CASCADE | RESTRICT} Modificar definiciones de columna – ALTER TABLE tabla ALTER columna ● {DROP DEFAULT | SET DEFAULT} Introducción a las BBDD 37
  • 38. Borrado Borrar restricciones ● ALTER TABLE tabla DROP CONSTRAINT restr – Borrar tablas ● DROP TABLE tabla {CASCADE | RESTRICT} – CASCADE: se borra la tabla y todos los ● elementos de la BD que referencien a la tabla. RESTRICT: sólo se borra la tabla si antes se ● han borrado todos los elementos que la referencien. Introducción a las BBDD 38
  • 39. Consultas (I) Básicamente es: ● SELECT columnas FROM tabla WHERE condicion – columnas = * --> todas las columnas ● Eliminar valores repetidos. ● SQL no elimina tuplas repetidas. Se usa el – operador DISTINCT antes de 'columnas'¡ Ordenar los resultados ● ORDER BY columnas {ASC | DESC} – ASCendente, DESCendente ● 'columnas' se puede sustituir por ● números empezando a numerar en 1. Introducción a las BBDD 39
  • 40. Consultas (II) Renombrar columnas del resultado ● Esto se hace para volver a usar esa columna – en la consulta. Seleccionar valores en un ● intervalo. WHERE valor BETWEEN valor_1 AND valor_2 – Ej: BETWEEN hoy AND hoy + interval '14' – Pertenecer a un conjunto ● WHERE valor IN {lista | subconsulta} – Introducción a las BBDD 40
  • 41. Consultas (III) Filtro de subcadenas ● LIKE 'cadena' – cadena puede contener: – '%' : ó 0 ó más caracteres. – – '-' : 1 caracter – '/' : escapa esos caracteres. Ejemplo: ● WHERE trabajo LIKE ‘Infor%' ● Introducción a las BBDD 41
  • 42. Otros operadores Se pueden usar <, >, =, ... ● Existe el operador NOT ● Operadores más complejos como ● EXIST, COUNT, HAVING, ADD, SUM, GROUP BY ... Referido a más de una tabla: ● productos cartesianos (,) y uniones. Uniones, diferencias, ● intersecciones, NATURAL JOIN... Introducción a las BBDD 42
  • 43. Resumen SQL Sobre todo: ¡¡NO HAY VARIABLES!! ¿Cómo haríais un bucle tipo FOR? y ¿llevar una cuenta? ... Cambio muy fuerte de mentalidad en cuanto a la programación. API de SQL complejo con multitud de funcionalidades. Introducción a las BBDD 43
  • 44. Y para acabar... ... e irnos a comer Introducción a las bases de datos. ● Administración de bases de datos. ● Implementación de bases de datos. ● Lenguaje SQL. ● JDBC. ● Introducción a las BBDD 44
  • 45. JDBC (I) SQL Estático ● SQL Embebido (incrustado) ● Las consultas se crean en tiempo de – ejecución. Necesario una CLI (Common Language – Interface) ODBC: Open DataBase Connectivity. ● JDBC: Java DataBase Connectivity. ● Drivers para las conexiones con las – bases de datos. Introducción a las BBDD 45
  • 46. JDBC (II) ¿Quieres poder conectar una base de datos con Java y hacerle una interfaz gráfica? Próximo episodio en prácticas... Introducción a las BBDD 46