Sunteți pe pagina 1din 67

UF 2175

DISEO DE BASES DE DATOS


RELACIONALES

PROGRAMACIN DIDCTICA
DISEO DE BASES DE DATOS RELACIONALES
(50 horas)

Inicio 20 de Marzo
Fin 1 de Abril
Mircoles 1 de Abril: Trabajo prctico
Mircoles 1 de Abril: Examen

NDICE

1. Introduccin a las bases de datos.


2. Modelos conceptuales de bases de datos.
3. El modelo relacional.
4. El ciclo de vida de un proyecto.
5. Creacin y diseo de bases de datos

INTRODUCCIN

Qu es una base de datos? Y un SGBD?


Qu es un modelo de datos?
Diferencia entre informacin y dato
SQL
Qu es un ndice?
Cmo organizaras la informacin relativa a
los alumnos de un instituto?

INTRODUCCIN
Evolucin histrica: Las bbdd empiezan a
utilizarse a partir de los 70.

INTRODUCCIN
Una base de datos se puede definir como (Piattini
et al, 2006): Una coleccin o depsito de datos
integrados con redundancia controlada y con una
estructura que refleje las interrelaciones y
restricciones existentes en el mundo real.
Los procedimientos de actualizacin y recuperacin,
comunes y bien determinados, habrn de ser
capaces de conservar la seguridad (integridad,
confidencialidad y disponibilidad) del conjunto de
los datos.

INTRODUCCIN
Ventajas de las bases de datos
Independencia de los datos respecto a los
tratamientos y viceversa
Consistencia de los datos
Comparticin de datos
Mayor valor informativo
Mejora en la accesibilidad a los datos
Mejora en la integridad de los datos
Control de la concurrencia
Reduccin del espacio de almacenamiento

INTRODUCCIN
Inconvenientes:
Instalacin costosa
Personal especializado
Falta de rentabilidad a corto plazo
Baja estandarizacin

OBJETIVOS
Eliminar Redundancia e inconsistencia de
datos
Disponibilidad de los datos
Aislamiento
Acceso concurrente
Seguridad: Confidencialidad, Integridad

Arquitectura ANSI/X3
ANSI/X3
X3//SPARC
Surgida en 1977, establece que la arquitectura
de una base de datos debe poseer tres niveles
de abstraccin:
NIVEL FSICO: cmo se almacenan fsicamente los
datos

NIVEL LGICO: especificacin de las entidades y de


las relaciones

NIVEL EXTERNO o de VISTA: vista externa o


subesquema

ARQUITECTURA

ARQUITECTURA

ANSI/X3/SPARC
El estndar ANSI implica:
Portabilidad entre distintos SGBD
Garantiza independencia (capacidad para
cambiar el esquema en un nivel sin tener que
cambiarlo en ningn otro nivel.)
Independencia Lgica: Cambio del esquema
conceptual sin cambiar las vistas externas o las
aplicaciones.
Independencia Fsica: Cambio del esquema fsico sin
necesidad de cambiar el esquema conceptual o los
esquemas externos.

ESQUEMA
ESQUEMA: Es el resultado de la aplicacin de un
modelo de datos, es decir, la plasmacin de la
parte de la realidad para la cual deseamos
crear la base de datos, mediante el empleo de
un determinado modelo de datos.

MODELO DE DATOS
Existen varios tipos de modelos de datos aplicables
en distintos momentos a lo largo del proceso de
creacin de una base de datos:
M. Conceptual E. Conceptual
(DFD Diag. Casos de Uso) (M. dinmico)
(Diag. E/R Diag. de clases) (M. esttico)

M. Lgico E. Lgico
(Reglas de transformacin + Normalizacin)

M. Fsico E. Fsico
(Sentencias SQL: DCL, DDL, DML)

MODELO DE DATOS

MODELOS DE DATOS
Un modelo es una forma de representar una
realidad, una parte del mundo.
Es un mecanismo de representacin para
facilitar la comprensin y la comunicacin.
El modelo de datos ofrece una abstraccin de
los objetos de datos del sistema y sus
relaciones
independientemente
de
la
implementacin fsica elegida.

MODELO DE DATOS
Ventajas:
- Comprensin de los datos y el funcionamiento
de la aplicacin
- Obtencin de estructuras de datos
independientes del entorno fsico
- Control de posibles errores lo antes posible
- Mejora de mantenimiento

MODELO DE DATOS
MODELO DE DATOS CONCEPTUAL: Describen los
datos del Universo del Discurso de forma
independiente a su implementacin.
Modelo E/R (Peter Chen, 1976)
Modelo E/R extendido

DISEO CONCEPTUAL
Diseo conceptual: Consiste en representar el UD usando
un modelo de datos Conceptual, obteniendo de esta
forma lo que se denomina un esquema conceptual.
Estos modelos son altamente semnticos e
independientes del tipo de base de datos que se vaya
a utilizar con posterioridad.
Esto quiere decir que esta tarea se puede llevar a cabo
aun desconociendo el SGBD que se vaya a utilizar en
fases posteriores. El modelo de datos masivamente
utilizado en la actualidad a nivel mundial para la
realizacin de esta tarea es el Modelo EntidadRelacin (modelo E-R).

MODELO DE DATOS

MODELO DE DATOS
MODELO DE DATOS LGICO: Se crea a partir del
modelo de datos conceptual aplicando una serie
de reglas de transformacin.
Modelo jerrquico
Modelo en Red (Codasyl)
Modelo relacional: Desarrollado por Codd (1970)

Tablas

DISEO LGICO
Diseo lgico: Consiste en transformar el esquema
conceptual obtenido en la fase anterior en un
esquema lgico adaptado al modelo de datos en
el que se apoya el SGBD que se vaya a utilizar, n
nuestro caso, el modelo relacional. Por lo tanto,
consistir en trasformar el esquema E-R en un
esquema relacional compuesto por un conjunto
de tablas o relaciones con sus atributos,
indicando adems la clave primaria de cada tabla
y las claves ajenas.

MODELO DE DATOS
MODELO DE DATOS FSICO: Creacin de las
tablas, atributos, ndices, restricciones de
integridad, vistas, etc.

DISEO FSICO
Diseo fsico: Consiste en crear en el SGBD
seleccionado todos los elementos de que
consta la base de datos, intentando conseguir
la mxima eficiencia posible.
Consistir, por tanto, en crear tablas, ndices,
vistas, etc. Para ello, se suele emplear el
lenguaje de definicin de datos SQL, que
incluye sentencias, como CREATE TABLE,
CREATE INDEX, etc.

SGBD
SGBD (DBMS): es una coleccin de programas que
facilitan la labor de gestionar la base de datos en
su conjunto. Debe:
Facilitar el acceso a los datos
Controlar la consistencia y la integridad de los
datos
Controlar la seguridad de la base de datos
Controlar la concurrencia
Facilitar la administracin de la base de datos y
del propio SGBD

SGBD

El administrador de la base de
datos (DBA)
DBA: es el mximo responsable del correcto
funcionamiento de la base de datos.
FUNCIONES:
Definir el esquema conceptual
Definir el esquema interno
Vincularse con los usuarios (Esquema externo)
Definir las verificaciones de seguridad e integridad
Definir procedimientos de respaldo y recuperacin
Supervisar el desempeo y responder a cambios en los
requerimientos

MODELO E/R
ENTIDAD: cualquier objeto sobre el que se desea
almacenar informacin en la base de datos
Interrelaciones: asociacin o correspondencia entre
entidades:
- Nombre: Toda relacin debe tener un nombre nico en el
esquema E-R
Grado: Hace referencia al nmero de entidades que
participan en una relacin (Reflexiva, Binaria, Ternaria,)
Tipo de correspondencia: Hace referencia al nmero
mximo de ocurrencias de una entidad que pueden estar
asociadas con una ocurrencia de la otra entidad
participante en la relacin

TIPO DE CORRESPONDENCIAS
1:1: Se da cuando cada ocurrencia de una entidad solo
puede estar asociada como mximo con una ocurrencia de
la otra entidad.
1:N: Se da cuando una ocurrencia de una entidad puede
estar asociada con varias ocurrencias de la otra entidad,
mientras que una ocurrencia de la otra entidad solo puede
estar asociada con una ocurrencia de la primera.
N:M: Se da cuando una ocurrencia de una entidad puede
estar asociada con varias ocurrencias de la otra entidad y
cada ocurrencia de la otra entidad tambin puede estar
asociada con varias ocurrencias de la primera.

ATRIBUTOS
Atributos: Podemos definir atributo como cada
una de las caractersticas o propiedades de o
una entidad o de una relacin.
Dominio: El dominio de un atributo se puede
definir como el conjunto de valores que puede
tomar ese atributo.

TIPOS DE CLAVES
Tipos de atributos identificadores (clave):
Identificador Candidato : Atributo o conjunto de
atributos que permite identificar unvocamente
cada ocurrencia de la entidad
Clave principal: Es aquel atributo candidato a
clave seleccionado para identificar a cada
ocurrencia de la entidad.
Clave alternativa: Es aquel atributo candidato a
clave no elegido como atributo identificador
principal.

REPRESENTACIN GRFICA
Una entidad se representa mediante un
rectngulo en el interior del cual se coloca el
nombre de la entidad en cuestin.
Una relacin se representa mediante un rombo
con el nombre de la relacin en su interior y
desde el que salen lneas que lo unen a las
entidades participantes en la relacin.

E/R extendido
Cardinalidad de las relaciones: Las
cardinalidades mnima y mxima de las
entidades intervinientes en una relacin se
definen como el nmero mnimo y mximo de
ocurrencias de una entidad que pueden estar
relacionadas con una ocurrencia de la otra
entidad.

EJEMPLOS
Relacin reflexiva
Relacin N:M

EJEMPLOS
Relacin reflexiva

Relacin
ternaria

ENTIDADES FUERTES Y DBILES


Entidades regulares o fuertes: son aquellas
para las cuales las ocurrencias de la entidad
tienen existencia propia.
Entidades dbiles: son aquellas para las cuales
la existencia de una ocurrencia de la entidad
dbil depende de la existencia de una
ocurrencia de la entidad regular de la que
depende

RELACIONES DBILES Y
REGULARES
Relaciones regulares: Son aquellas que
asocian entidades regulares.
Relaciones dbiles: Son aquellas que asocian
una entidad dbil con la entidad regular de la
que depende.

RELACIONES REGULARES
Dependencia en identificacin: Se da este tipo de
dependencia cuando la identificacin de las
ocurrencias de la entidad dbil no se puede llevar a
cabo con sus propios atributos.
Dependencia en existencia: Cuando una relacin
dbil no es una dependencia en Identificacin, se
trata de una dependencia en existencia, algo que es
intrnseco a todas las relaciones dbiles, puesto que
las ocurrencias de la entidad dbil solo pueden
existir si existe la ocurrencia de la entidad regular de
la que dependen.

EJEMPLOS

ATRIBUTOS EN LA RELACION

NORMALIZACIN
Normalizacin: Es un mtodo formal aplicable a
todo esquema relacional que nos permite
determinar si un esquema relacional se
adecua a la realidad y, en caso de que no sea
as, nos indica cmo transformarlo para
conseguir que el mismo sea un reflejo lo ms
fiel posible del mundo real.

NORMALIZACIN
Existen en total seis formas normales:
Primera forma normal (1FN).
Segunda forma normal (2FN).
Tercera forma normal (3FN).
Forma normal de Boyce/Codd (FNBC).
Cuarta forma normal (4FN).
Quinta forma normal (5FN).

Dependencia funcional
Dados los subconjuntos de atributos X e Y de
una relacin, se dice que
Y depende funcionalmente de X o que X
determina o implica a Y si y solo si cada valor
de X tiene asociado un nico valor de Y.
Representamos esta dependencia de la siguiente
forma:
X Y

EJEMPLO
Articulo (CodArt, DesArt, PVPArt)
CodArt DesArt
CodArt PVPArt
Pedido (RefPed, FecPed)
RefPed FecPed
LineaPedido (RefPed, CodArt, CantArt)
(RefPed, CodArt) CantArt

Dependencia funcional completa


Dados los subconjuntos de atributos X e Y de
una relacin (constando X de varios atributos),
se dice que Y tiene una dependencia
funcional plena o completade X si depende
funcionalmente de X, pero no depende de
ningn subconjunto de X, lo que se representa
por:
X Y

EJEMPLO
LneaPedido (RefPed, CodArt, CantArt)
(RefPed, CodArt) CantArt
(RefPed, CodArt) CantArt

Dependencia funcional mutua o


interdependencia
Si en una relacin se dan las dependencias
funcionales X Y e Y X simultneamente,
entonces se dice que entre los atributos X e Y
hay una dependencia funcional mutua o
interdependencia, y se representa as:
XY

EJEMPLO
Libro (CodLib, ISBN, Ttulo, Pginas, Editorial)
CodLib ISBN
ISBN CodLib
CodLib ISBN

Dependencia funcional transitiva


Sea una relacin R (X, Y, Z) en la que existen las
siguientes dependencias funcionales:
X Y
Y Z
Y X
Se dice entonces que Z tiene una dependencia
funcional transitiva respecto de X a travs de Y y
se representa:
X-Z

EJEMPLO
Coche (Matrcula, Marca, Modelo, Color)
Matrcula Marca
Matrcula Modelo
Matrcula Color
Modelo Marca

Primera forma normal (1FN)


Una relacin se encuentra en 1FN si cada uno de
sus componentes es atmico, es decir, si no
presenta grupos repetitivos.
Pedido (RefPed, FecPed, CodArt, DesArt,
CantArt, PVPArt)
Transformar en

Segunda forma normal (2FN)


Una relacin se encuentra en 2FN si estando en
1FN, cada atributo que no forme parte de una
clave candidata mantiene una dependencia
funcional total respecto de dicha clave
candidata, es decir, todo atributo debe
depender de toda la clave y no solo de parte
de ella.

2FN
Para pasar una relacin a 2FN, se debe eliminar de
la relacin el atributo que genera la dependencia
parcial y crear una nueva relacin con ese
atributo y con el/los atributo/s de que depende
como clave primaria.
Siempre que una relacin en 1FN presenta una
clave primaria compuesta por un solo atributo, ya
se encuentra automticamente en 2FN. Tambin
se encontrarn en 2FN las relaciones en 1FN que
no presenten atributos no clave.

EJEMPLO
(RefPed, CodArt) DesArt
(RefPed, CodArt) CantArt
(RefPed, CodArt) PVPArt

Tercera forma normal (3FN)


Una relacin se encuentra en 3FN si estando en
2FN, cada atributo que no forme parte de una
clave candidata depende directamente de ella,
es decir, si no hay dependencias transitivas.
Toda relacin en 2FN con menos de dos
atributos
no clave ya se encuentra
automticamente en 3FN.

3FN
Para eliminar las dependencias transitivas se
elimina de la relacin que no est en 3FN el
atributo que genera la dependencia transitiva
y se crea una tabla con el/los atributo/s
transitivo/s y el atributo del que depende o
por medio del cual mantiene/n la
transitividad.

EJEMPLO
R (A, B, C) con las siguientes dependencias
funcionales:
ABC
existe una dependencia funcional transitiva de C
respecto de A

EJEMPLO
Matrcula Modelo Marca

Desnormalizacin
Desventajas de la desnormalizacin:
- Puede ralentizar las actualizaciones
- Puede generar redundancias que deben ser
controladas para evitar que se generen
inconsistencias.
- Puede dificultar el mantenimiento de cara a la
inclusin de nuevas entidades en el modelo.

DESNORMALIZACIN
Combinar relaciones de uno a uno: Puede ser
conveniente reunir en una sola tabla los
atributos de dos tablas involucradas en una
relacin de 1 a 1 si se accede a las dos tablas
de manera conjunta con frecuencia y apenas
se accede a ellas por separado.

DESNORMALIZACIN
Duplicar atributos no clave en relaciones de
uno a varios: Para evitar, como en el caso
anterior, combinaciones entre dos tablas,
pueden incluirse atributos de la tabla
correspondiente a la cardinalidad 1 en la tabla
a la que corresponde la cardinalidad n.

DESNORMALIZACIN
Duplicar atributos en relaciones de varios a varios:
Cuando nos encontramos con una relacin de
varios a varios N:M entre dos entidades, al llevar
a cabo el diseo lgico se crea una tabla con los
atributos clave de las entidades relacionadas y los
atributos propios de la relacin. Si se quiere
obtener informacin de la relacin de varios a
varios en la mayora de los casos ser necesario
realizar la combinacin de las tres tablas, lo que
es computacionalmente costoso.

DESNORMALIZACIN

Si se sabe que con frecuencia cuando se muestra


informacin de las lneas de pedido, hay que mostrar
tambin la descripcin de cada artculo y su precio, se
puede valorar la posibilidad de incluir estos dos atributos
(DesArt y PVPArt) en la tabla LneaPedido.

DESNORMALIZACIN
Incluir datos derivados: Cuando en una
consulta hay que obtener un dato derivado de
otros, puede ahorrarse tiempo si este dato ya
est precalculado en algn atributo de la
tabla.

DESNORMALIZACIN
Particin de tablas:

DESNORMALIZACIN
Atributos repetidos en la misma fila: La
primera forma normal tiene por objetivo
eliminar los grupos repetitivos que se
presentan en una relacin, originando una
nueva tabla con los atributos del grupo
repetitivo ms la clave primaria de la relacin
de partida.

S-ar putea să vă placă și