PDF de programación - Bases De Datos y JDBC - Java y Servicios Web I - Master en Ingeniería Matemática

Imágen de pdf Bases De Datos y JDBC - Java y Servicios Web I - Master en Ingeniería Matemática

Bases De Datos y JDBC - Java y Servicios Web I - Master en Ingeniería Matemáticagráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.624 visualizaciones desde el 14 de Enero del 2017
986,7 KB
66 paginas
Creado hace 11a (30/05/2012)
Bases de datos y JDBC

Java y Servicios Web I

Master en Ingeniería Matemática

Manuel Montenegro

Dpto. Sistemas Informáticos y Computación

Desp. 467 (Mat)

[email protected]

Bases de datos

● Una base de datos (DB) es una colección de

datos interrelacionados, pertenecientes a un
mismo contexto, y almacenados
sistemáticamente para su posterior uso.

● Un sistema gestor de bases de datos (DBMS)

es un programa que almacena y accede a la
información contenida en las bases de datos.

● Una base de datos modela la información

sobre ciertas entidades, y sobre relaciones
entre las mismas.

29 y 30/Mayo/2012

10. Bases de datos y JDBC

2

Contenidos

● Bases de datos relacionales
● Sistemas gestores de bases de datos
● Acceso a bases de datos
● Consultas SQL
● Acceso a bases de datos con JDBC

29 y 30/Mayo/2012

10. Bases de datos y JDBC

3

Estudiante

Entidades

Asignatura

29 y 30/Mayo/2012

10. Bases de datos y JDBC

4

Entidades

Nombre

Apellidos

DNI

Atributos

Estudiante

Teléfonos

Fecha

Nacimiento

Código

Nombre

Asignatura

Grupos

Créditos

29 y 30/Mayo/2012

10. Bases de datos y JDBC

5

Nombre

Apellidos

DNI

Estudiante

Teléfonos

Fecha

Nacimiento

Relaciones

Matriculado

Código

Nombre

Asignatura

Grupos

Créditos

29 y 30/Mayo/2012

10. Bases de datos y JDBC

6

Relaciones

Nombre

Apellidos

DNI

Grupo

Estudiante

Teléfonos

Fecha

Nacimiento

Matriculado

Código

Nombre

Asignatura

Grupos

Créditos

29 y 30/Mayo/2012

10. Bases de datos y JDBC

7

Relaciones

0..*

Matriculado

Grupo

0..*

Código

Nombre

Asignatura

Grupos

Créditos

Nombre

Apellidos

DNI

Estudiante

Teléfonos

Fecha

Nacimiento

Relaciones:

– Uno a uno
– Uno a varios
– Varios a varios.

29 y 30/Mayo/2012

10. Bases de datos y JDBC

8

Bases de datos relacionales

● Modelos de bases de datos:

● Relacionales.
● Jerárquicos.
● Orientado a objetos.
● etc.

● El modelo relacional de base de datos es el más

usado en la actualidad.

● Se basa en la idea de relación, considerada como
un conjunto de tuplas. Cada relación es una tabla
con filas (registros) y columnas (atributos)

29 y 30/Mayo/2012

10. Bases de datos y JDBC

9

Bases de datos relacionales

Estudiante

DNI
Nombre
12345673V Ricardo

Apellidos
Fernández Aguinaga

Fecha Nac.
20/04/1980

82122314X Luis
...

...

Díaz Castro
...

25/04/1978
...

Teléfonos
912421124
617293744
913111564
...

Asignatura

Código
101
102

...

Nombre
Álgebra
Funciones de una
variable
...

Créditos
15
12

Grupos
A,B,C
A,B,C

...

...

29 y 30/Mayo/2012

10. Bases de datos y JDBC

10

Bases de datos relacionales

Matriculado

DNI Estudiante
12345673V
12345673V
82122314X
...

Cod. Asignatura
101
102
101
...

Grupo
A
A
B
...

29 y 30/Mayo/2012

10. Bases de datos y JDBC

11

Atomicidad

● Las columnas sólo pueden tener valores

atómicos. En particular:
● No podemos tener una lista de números de
teléfono dentro de una celda de la tabla de
estudiantes.

● No podemos tener una lista de grupos dentro de

una celda de la tabla de asignaturas.

● Estas restricciones pueden solventarse

mediante la creación de relaciones adicionales.

29 y 30/Mayo/2012

10. Bases de datos y JDBC

12

Atomicidad

Nombre
DNI
12345673V Ricardo

Apellidos
Fernández Aguinaga

Fecha Nac.
20/04/1980

82122314X Luis
...

...

Díaz Castro
...

25/04/1978
...

Teléfonos
912421124
617293744
913111564
...

DNI
Nombre
12345673V Ricardo
12345673V Ricardo
82122314X Luis
...

...

Apellidos
Fernández Aguinaga
Fernández Aguinaga
Díaz Castro
...

Fecha Nac.
20/04/1980
20/04/1980
25/04/1978
...

Teléfonos
912421124
617293744
913111564
...

Redundancia

29 y 30/Mayo/2012

10. Bases de datos y JDBC

13

Atomicidad

Nombre
DNI
12345673V Ricardo

Apellidos
Fernández Aguinaga

Fecha Nac.
20/04/1980

82122314X Luis
...

...

Díaz Castro
...

25/04/1978
...

Teléfonos
912421124
617293744
913111564
...

DNI
12345673V Ricardo
82122314X Luis
...

...

Nombre Apellidos

Fecha Nac.
Fernández Aguinaga 20/04/1980
Díaz Castro
25/04/1978
...
...

Teléfono

DNI
12345673V 912421124
12345673V 617293744
82122314X 913111564
...

...

29 y 30/Mayo/2012

10. Bases de datos y JDBC

14

Atomicidad

Código
101
102

...

Nombre
Álgebra
Funciones de una
variable
...

Créditos
15
12

Grupos
A,B,C
A,B,C

...

...

Código
101
102

...

Nombre
Álgebra
Funciones de una
variable
...

Créditos
15
12

...

Código
101
101
101
102
102
102
...

Grupo
A
B
C
A
B
C
...

29 y 30/Mayo/2012

10. Bases de datos y JDBC

15

Bases de datos relacionales

● El modelo relacional de nuestra base de datos

quedaría:
● Estudiante(DNI, Nombre, Apellido, FechaNac)
● Asignatura(Codigo, Nombre, NumCreditos)
● Matriculado(DNIEstud, CodigoAsig, Grupo)
● TieneTlf(DNIEstud, Telefono)
● TieneGrupo(CodigoAsig, Grupo)

29 y 30/Mayo/2012

10. Bases de datos y JDBC

16

Claves

● Las claves de una tabla es el conjunto de

campos que identifican unívocamente a cada
registro de la tabla.
● Debe tener siempre un valor en cada registro.
● El valor debe permanecer inalterable.
● No pueden existir dos registros dentro de la misma

tabla con la misma clave.

29 y 30/Mayo/2012

10. Bases de datos y JDBC

17

Claves

● Las claves de cada tabla se representan

mediante el subrayado en el modelo
relacional.
● Estudiante(DNI, Nombre, Apellido, FechaNac)
● Asignatura(Codigo, Nombre, NumCreditos)
● Matriculado(DNIEstud, CodigoAsig, Grupo)
● TieneTlf(DNIEstud, Telefono)
● TieneGrupo(CodigoAsig, Grupo)

29 y 30/Mayo/2012

10. Bases de datos y JDBC

18

Claves

● Una clave externa es la representación de la

clave de una tabla en otra.
● Estudiante(DNI, Nombre, Apellido, FechaNac)
● Asignatura(Codigo, Nombre, NumCreditos)
● Matriculado(DNIEstud, CodigoAsig, Grupo)
● TieneTlf(DNIEstud, Telefono)
● TieneGrupo(CodigoAsig, Grupo)

29 y 30/Mayo/2012

10. Bases de datos y JDBC

19

Contenidos

● Bases de datos relacionales
● Sistemas gestores de bases de datos
● Acceso a bases de datos
● Consultas SQL
● Acceso a bases de datos con JDBC

29 y 30/Mayo/2012

10. Bases de datos y JDBC

20

Gestores de bases de datos

● Existe una gran cantidad de gestores de bases

de datos relacionales.
● Oracle
● Microsoft SQL Server
● Microsoft Access
● MySQL
● PostgreSQL

29 y 30/Mayo/2012

10. Bases de datos y JDBC

21

Gestores de bases de datos

Aplicación

Consultas
Modificaciones

DBMS

Datos

Programador

Lenguaje SQL

29 y 30/Mayo/2012

10. Bases de datos y JDBC

22

Lenguaje SQL

● SQL (Structured Query Language)
● Es un lenguaje declarativo de acceso a bases

de datos relacionales.
● DDL (Data definition language)

Modificación de la estructura de la base de datos.
Creación de tablas.

● DML (Data manipulation language)

Consulta, inserción, y eliminación de registros
dentro de una tabla.

29 y 30/Mayo/2012

10. Bases de datos y JDBC

23

Contenidos

● Bases de datos relacionales
● Sistemas gestores de bases de datos
● Acceso a bases de datos
● Consultas SQL
● Acceso a bases de datos con JDBC

29 y 30/Mayo/2012

10. Bases de datos y JDBC

24

Acceso a bases de datos

● Desde Java: JDBC + driver MySQL

Aplicación

Programador

● Consola de MySQL.
● Herramienta gráfica (phpMyAdmin)

29 y 30/Mayo/2012

10. Bases de datos y JDBC

25

Herramienta phpMyAdmin

● Interfaz web para MySQL.
● Situada en

http://dalila.sip.ucm.es/phpmyadmin

● Nombre de usuario y contraseña:

¡Pregunta al profesor!

29 y 30/Mayo/2012

10. Bases de datos y JDBC

26

Herramienta phpMyAdmin

● Lista de bases de datos

29 y 30/Mayo/2012

10. Bases de datos y JDBC

27

Crear tablas

29 y 30/Mayo/2012

10. Bases de datos y JDBC

28

Tipos de datos

● CHAR(Longitud)
● VARCHAR(Longitud)
● TINYTEXT
● TEXT
● MEDIUMTEXT
● TINYINT
● SMALLINT
● MEDIUMINT
● INT

● BIGINT
● FLOAT
● DOUBLE
● DECIMAL
● DATE
● DATETIME
● TIMESTAMP
● TIME
● ENUM

29 y 30/Mayo/2012

10. Bases de datos y JDBC

29

Insertar registros en una tabla

29 y 30/Mayo/2012

10. Bases de datos y JDBC

30

Contenidos

● Bases de datos relacionales
● Sistemas gestores de bases de datos
● Acceso a bases de datos
● Consultas SQL
● Acceso a bases de datos con JDBC

29 y 30/Mayo/2012

10. Bases de datos y JDBC

31

Consultas en SQL

● Obtener todas las filas y columnas de una

tabla.
SELECT * FROM Estudiantes

DNI
Nombre
12345673V Ricardo
82122314X Luis
20358182T Marta
29377172M Roberto
45219913T Marta
40231491M Martín
23195991S Sandra
29918481X Francisca

Apellidos
Fernández Aguinaga
Díaz Castro
Domínguez Iborra
Blanco Rodrigo
Díaz Agrela
Montes Di Cesare
González de Castro
Montes Trujillo

FechaNac
1980-04-25
1978-04-15
1975-12-21
1981-12-22
1983-01-20
1979-03-15
1982-11-21
1907-10-19

29 y 30/Mayo/2012

10. Bases de datos y JDBC

32

Consultas en SQL

● Obtener ciertas columnas de una tabla

SELECT DNI, Nombre
FROM Estudiantes

DNI
Nombre
12345673V Ricardo
82122314X Luis
20358182T Marta
29377172M Roberto
Laura
45219913T
40231491M Martín
23195991S Sandra
29918481X Francisca

29 y 30/Mayo/2012

10. Bases de datos y JDBC

33

Consultas en SQL

● Imponer condiciones a las filas resultado.

SELECT DNI, Nombre, Apellidos
FROM Estudiantes
WHERE Nombre = 'Marta'

Nombre

DNI
20358182T Marta
45219913T Marta

Apellidos
Domínguez Iborra
Díaz Agrela

29 y 30/Mayo/2012

10. Bases de datos y JDBC

34

Consultas en SQL

● Imponer condiciones a las filas resultado.

SELECT DNI, Nombre, Apellidos
FROM Estudiantes
WHERE FechaNac >= '1980-01-01' AND
FechaNac < '1990-01-01'

DNI
Nombre
12345673V Ricardo
29377172M Roberto
45219913T Marta
23195991S Sandra

Apellidos
Fernández Aguinaga
Blanco Rodrigo
Díaz Agrela
González de Castro

29 y 30/Mayo/2012

10. Bases de datos y JDBC

35

Consultas en SQL

● Imponer condiciones a las filas resultado.

SELECT DNI, Nombre, Apellidos
FROM Estudiantes
WHERE FechaNac BETWEEN '1980-01-01' AND
'1990-01-01'

DNI
Nombre
12345673V Ricardo
29377172M Roberto
45219913T Marta
23195991S Sandra

Apellidos
Fernández Aguinaga
Blanco Rodrigo
Díaz Agrela
González de Castro

29 y
  • Links de descarga
http://lwp-l.com/pdf819

Comentarios de: Bases De Datos y JDBC - Java y Servicios Web I - Master en Ingeniería Matemática (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad