Publicado el 1 de Junio del 2017
1.460 visualizaciones desde el 1 de Junio del 2017
941,3 KB
72 paginas
Creado hace 11a (07/09/2012)
El nivel de datos
de la arquitectura Java EE
Autores:
SimonPickin
Dirección:
Pablo Basanta-Val
Departamento de Ingeniería Telemática
Universidad Carlos III de Madrid
Versión:
1.0
Software de
20Comunicacion
2012-2013
© Simon Pickin
Agradecimientos: Jesús Villamor Lugo,
Natividad Martínez Madrid, IT/UCIIIM,
Marty Hall
1
Contenido
• Terminología y conceptos
• El Modelo de Datos Relacional (MDR)
– Bases de Datos Relacionales (BDR)
– Álgebra relacional
• SQL básico
– DDL (Data Definition Language)
– DML (Data Manipulation Language)
• Conexión de aplicaciones Java a bases de datos:
JDBC
Software de
20Comunicacion
2012-2013
© Simon Pickin
2
Terminología de Bases de Datos
• Base de datos (BD)
– una colección de datos relacionados
– colección coherente de datos con significado inherentes
• Datos (D)
– hechos conocidos que pueden registrarse y que tienen un
significado implícito (susceptible de ser modelados)
• Universo de Discurso (UdD)
– parte del mundo sujeto a ser modelado en una BD
• Sistema de Gestión de Bases de Datos (SGBD)
– software que facilita la definición, construcción y
manipulación de las BDDD
3
Software de
20Comunicacion
2012-2013
© Simon Pickin
Modelos de BBDD: Conceptos
• Modelo de Datos (MD)
– colección de conceptos que sirven para describir la
estructura de una base de datos
– M = {G, O}
• G: conjunto de reglas de generación de datos
– DDL: Lenguaje de definición de datos
– restricciones sobre los datos
• O: conjunto de operaciones permitidas sobre los datos
– DML: Lenguaje de manipulación de datos
• Esquema de la BD (nivel intencional)
– descripción de la estructura de la base de datos
• Estado de la BD (nivel extensional)
– los datos que la BD contiene en un determinado momento
4
Software de
20Comunicacion
2012-2013
© Simon Pickin
Modelo Entidad-Relación (E-R)
• Creado por P.P. Chen en 1976
• Modelo de datos que utiliza la teoría de conjuntos
para modelar el diseño computacional del mundo
real
• No es un modelo de datos completo
– tiene G pero no tiene O
• Pasos para definir un diagrama E-R
– seleccionar los conjuntos de entidades
– describir los propiedades de cada conjunto de entidades
Software de
20Comunicacion
2012-2013
© Simon Pickin
– seleccionar el conjunto de relaciones
– describir los propiedades posibles del conjunto de
relaciones
5
Contenido
• Terminología y conceptos
• El Modelo de Datos Relacional (MDR)
– Bases de Datos Relacionales (BDR)
– Álgebra relacional
• SQL básico
– DDL (Data Definition Language)
– DML (Data Manipulation Language)
• Conexión de aplicaciones Java a bases de datos:
JDBC
Software de
20Comunicacion
2012-2013
© Simon Pickin
6
El Modelo de Datos Relacional (MDR):
Visión General
•
Introducido por Tedd Codd (IBM Research) en 1970
– Utiliza el concepto de relación matemática
– tiene sus bases teóricas en la teoría de conjuntos y la lógica de
predicados de primer orden
• Analogía Relación Tabla
– Relación
– Tupla
– Atributo
– Dominio
Tabla
Fila
Cabecera de una columna
Los tipos de valores de una columna
Nombre de relación
Atributos
Tuplas
Software de
20Comunicacion
2012-2013
© Simon Pickin
7
ALUMNO Nombre NIA Tfno Dirección Edad Promedio Perico 1000178 917781110 Palotes, 11 5ºA 21 6,85 Fulano 1000113 917781110 De Tal, 1 2ºB 21 7,70 Mengano 1000121 917781110 De Cual, 9 BºA 20 9,10 Futano 1000248 917781110 Butano, 8 2ºC 22 5,25 Pagano 1000554 917781110 Morosos, 5 2ºB 23 6,45 MDR: Conceptos (I)
• Dominio Di
– conjunto de valores atómicos
• Esquema de Relación R(A1, A2, ..., An)
– R, el nombre de la relación, A1, A2, ..., An, el nombre de sus
atributos (a veces, el rango de valores admitidos es parte de la
definición)
• Atributo Ai
– un nombre que participa en una relación y al que está asociado un
dominio Di que define el conjunto de valores que puede tomar
• Una tupla t
– una lista ordenada de n valores t= <v1, v2, ..., vn>, donde cada
valor vi es un elemento de dom(Ai) o bien un valor nulo especial
(que denota un valor desconocido, inaplicable o todavía no
asignado)
8
Software de
20Comunicacion
2012-2013
© Simon Pickin
MDR: Conceptos (II)
• Una instancia (o un estado) de una relación r(R)
– Un subconjunto del producto cartesiano de los dominios de R
r(R) (dom(A1) x dom(A2) x ... X dom(An)
Las tuplas de una relación no tienen por qué estar ordenadas
• El grado de una relación
– El número de atributos n de su esquema de relación
• La cardinalidad de una relación
– El número de tuplas de la relación
Software de
20Comunicacion
2012-2013
© Simon Pickin
9
Dominios
• Dominios usuales
– datos numéricos estándar,
– números reales,
– caracteres,
– cadenas de caracteres,
– fechas,
– horas,
– dinero,
– tipos enumerados
– …
Software de
20Comunicacion
2012-2013
© Simon Pickin
10
MDR: Restricciones relacionales (I)
• Restricción de Dominio
– el valor de cada atributo A debe ser un valor
atómico del dominio dom(A); es decir, no se
permiten valores que son conjuntos
• ¿Cómo manejar atributos de valores múltiples?
– utilizar múltiples tuplas, una por valor
– utilizar múltiples atributos, uno por valor
– utilizar múltiples relaciones
11
Software de
20Comunicacion
2012-2013
© Simon Pickin
MDR: Restricciones relacionales (II)
• Restricción de claves (restricción de tupla única)
– todas las tuplas de una relación deben ser
distintas
Software de
20Comunicacion
2012-2013
© Simon Pickin
12
Clave primaria
• Clave
– un subconjunto del conjunto de atributos de una relación
• Superclave SC
– aquel conjunto de atributos cuyos valores caracterizan las tuplas
de una relación: tuples ti = (a1
i,… am
i), tj = (a1
j… am
j),
ak
i = ak
j , ak SK ti = tj (restricción de unicidad)
– gracias a la restricción de claves, toda relación tiene por lo menos
una superclave (el conjunto de todos sus atributos)
• Superclave mínima
– superclave tal que ninguno de sus subconjuntos también lo es
• Clave primaria CP. Convención: (atributos subrayados)
– clave candidata: cualquiera de las superclaves mínimas
– clave primaria: una clave escogida de entre las claves candidatas
cuyos valores van a identificar las tuplas de una relación
13
Software de
20Comunicacion
2012-2013
© Simon Pickin
MDR: Restricciones relacionales (III)
• Restricción de integridad de entidades
– ningún valor de la clave primaria puede ser nulo
Software de
20Comunicacion
2012-2013
© Simon Pickin
14
Clave externa
• Dos claves son compatibles si:
– tienen el mismo número de atributos
– atributos correspondientes comparten el mismo dominio
• Clave externa (foreign key)
FK es una clave externa de la relación R1 si:
– FK es compatible con una clave candidata (normalmente
CP) de la relación R2
– los valores de FK concuerdan con los del CK
correspondiente, es decir:
tuples t1 of the current state r1(R1),
tuple t2 in the current state r2(R2) s.t.
t1 [FK = t2 [CK or t1 [FK = null
Puede ser el caso que R1 = R2
Software de
20Comunicacion
2012-2013
© Simon Pickin
15
MDR: Restricciones relacionales (IV)
• Restricción de integridad referencial
– Ninguna de las relaciones de un esquema
relacional tiene un valor de una clave foránea
(foreign key) que no aparezca en alguna tupla de
la relación referenciada por la clave.
• Borrar una tupla de R2 que contiene un valor al que
se refiere una clave externa de R1 rompería la
integridad referencial
Software de
20Comunicacion
2012-2013
© Simon Pickin
16
MDR: Restricciones relacionales (V)
• Restricciones de integridad semántica
– aquellas que limitan el rango de valores de
determinados atributos
• ej1. El salario de un empleado no debe ser mayor que el
de su supervisor
• ej2. El número máximo de horas semanales de un
trabajador es 56
• Para aplicar tales restricciones a las BDR se utilizan
mecanismos de control semántico de los datos
– disparadores (triggers) y aserciones
Software de
20Comunicacion
2012-2013
© Simon Pickin
17
Bases de Datos Relacionales como
Modelos Relacionales
• Esquema de Base de Datos Relacional S
– conjunto de esquemas de relaciones S= {R1, R2, ..., Rm} +
conjunto de restricciones de integridad RI
• Un estado de Base de Datos Relacional BD de S
– conjunto de estados de relaciones BD= {r1, r2, ..., rm} tal que
todos sus ri (estados de sus R1) satisfacen las restricciones
RI
EMPLEADO
NOMBRE
INC
APELLIDO
#SS
FECHA_NCTO SEXO
SALARIO #SS_SUPERV
ND
DEPARTAMENTO
LOCALIZACIONES_DEPT
NOMBRED
NÚMEROD
#SS_JEFE
FECHA_INC_JEFE
NÚMEROD
LOCALIZACIÓND
PROYECTO
TRABAJA_EN
NOMBREP
NÚMEROP
LOCALIZACIÓNP
ND
#SSE
NP
HORAS
DEPENDIENTE
#SSE NOMBRE_DEPENDIENTE
SEXO
FECHA_NCTO
PARENTESCO
Software de
20Comunicacion
2012-2013
© Simon Pickin
Álgebra relacional: operaciones sobre
conjuntos: 1. Unión, 2. Diferencia y 3.
Intersección
• R S
– incluye todas las tuplas de las dos relaciones (eliminando
duplicados)
• R S
– incluye todas las tuplas que están en R pero no en S
• R S
– incluye todas las tuplas que están en R y también en S
Compatibilidad para las operaciones , y
– las dos relaciones tienen el mismo grado
– atributos correspondientes comparten el mismo dominio
habitualmente llamado “compatibilidad de unión”
19
Software de
20Comunicacion
2012-2013
© Simon Pickin
Álgebra relacional: operaciones sobre
conjuntos 4. Producto Cartesiano
• R S
– el resultado de R(A1, A2, ..., An) S(B1
Comentarios de: El nivel de datos de la arquitectura Java EE (0)
No hay comentarios