Base de datos I
Prof. Elizabeth Murakami
Independencia lógico/física
El esquema conceptual debe ser absolutamente independiente del físico.
Esto significa:
● Independencia física de los datos. Aunque el esquema físico cambie, el
esquema conceptual no debe verse afectado. En la práctica esto significa que
aunque se añadan o cambien discos u otro hardware, o se modifique el SO u
otros cambios relacionados con la física de la base de datos, el esquema
conceptual permanece invariable.
● Independencia lógica de los datos. Significa que aunque se modifique el
esquema conceptual, la vista que poseen las aplicaciones (los esquemas
externos) no serán afectados.
Base de datos I
MODELO DE DATOS
● La realidad concreta, con todos sus detalles no se puede captar y
hay detalles que NO interesan:
Captar lo que le interesa a la organización
● N observadores de un fenómeno tendrán al menos N percepciones,
posiblemente distintas, del mismo fenómeno
● Modelo: Herramienta para comunicar y plasmar la representación
de algún fenómeno del mundo real
● Esa representación ayuda a la comprensión del fenómeno
Base de datos I
MODELO DE DATOS
Esquema: Descripción de la estructura de los datos de interés
Un esquema conceptual se representa mediante un modelo conceptual de
datos.
Base de datos I
Los dos modelos fundamentales de datos son
●
el conceptual y el lógico. Ambos son
conceptuales en el sentido de que convierten
parámetros del mundo real en abstracciones
que permiten entender los datos sin tener en
cuenta la física de los mismos.
Base de datos I
Diferencias entre el modelo lógico y el conceptual
●El modelo conceptual es independiente del DBMS que se
vaya a utilizar. El lógico depende de un tipo de SGBD en
particular
●El modelo lógico es más cercano al ordenador
●Es más cercano al usuario el modelo conceptual, el lógico
forma el paso entre el informático y el sistema.
Base de datos I
Dependencia de cada una de las etapas del
diseño, en el tipo de SGBD y en el SGBD
específico:
Base de datos I
MODELO CONCEPTUAL DEBE POSEER
● Expresividad.
● Simplicidad.
● Minimalidad.
● Formalidad.
Base de datos I
Ejemplos de Modelos
Modelo E/R
Modelos Diagrama de clases UML
Modelos semántico
Conceptuales
Modelo relacional
Modelos Objeto – Relacional
Lógicos Objetual puro
Base de datos I
Base de datos I
Sistema Gestor de BD
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar
más a menudo las siglas DBMS* procedentes del inglés, Data Base
Management System) es el software que permite a los usuarios procesar,
describir, administrar y recuperar los datos almacenados en una base de
datos.
Base de datos I
Funciones de un DMBS
ADMINISTRACIÓN
ADMINISTRAR ADMINISTRACIÓN DE INTEGRIDAD DE
DICCIONARIO DE DE SEGURIDAD DATOS
DATOS
LENGUAJE DE
CONTROL DE
ACCESO A BD E
ADMINISTRAR ACCESO A
INTERFAZ DE
ALMACENAMIENTO MULTIPLES
PROGRAMACIÓN
DE DATOS USUARIOS
DE APLICACIÓN
TRANSFORMACIÓN ADMINISTRACIÓN INTERFAZ DE
Y PRESENTACIÓN DE RESPALDO Y COMUNICACIÓN A
DE DATOS RECUPERACIÓN UNA BD
Comunicación entre procesos de usuario,
DBMS y Sistema Operativo
2
3
8 El DBMS devuelve
4 indicadores
1 en los que
manifiesta si ha habido
errores o
advertencias a tener
5 7 Los El
ElLos DBMS
datos
datos traduce
pasan
pasan la
en DBMS
cuenta. Estodel
traduce se la
ElElSistema
disco llamada
llamada
del proceso
buffer
a una
indica Operativo
al aal
a área los
términos
memoria de del
lanzado
accede
por métodos
Elintermedia
DBMS
esquema
área a los
el usuario dedatos
obtiene
lógico
comunicaciones
de trabajo llama
o buffer. deel
alla
del
En
6 tras
esquema
base traducir
acceso defísico
proceso las
del
datos.
de Sistema
usuario.
DBMS
ese del bufferindicando
usuariose (ATU) laSi
Accede
órdenesOperativo al esquema
dadas
las indicaciones que por el
son
porción
almacenarán
del
lógico
de
proceso
comprobando
la
los
del base
DBMS satisfactorias,
permiten accederlos datos
de
datos
derechos
de
datos
[Link]ún
ladatos
ATUde que
se vayan
acceso se
y la
desea a
recibiendo lostratar
traducción física por el
serán utilizables
requeridos
proceso de usuario.
Modelo entidad relación
● Fue ideado por el Dr. Peter Chen en los años 1976 y 1977 a través de dos
artículos. Se trata de un modelo que sirve para crear esquemas
conceptuales de bases de datos. De hecho es prácticamente un estándar
para crear esta tarea.
● Se le llama modelo E/R e incluso EI (Entidad / Interrelación). Sus siglas más
populares son las E/R por que sirven para el inglés y el español.
● Inicialmente (en la propuesta de Chen) sólo se incluían los conceptos de
entidad, relación y atributos.
● Después se añadieron otras propuestas (atributos compuestos,
generalizaciones,...) que forman el llamado modelo entidad relación
extendido (se conoce con las siglas ERE)
Base de datos I
Modelo Entidad Relación (Cont)
● Se usa para diseñar la BD
● La mayoría de BD actuales son de tecnología relacional
Elementos básicos de un
modelo de datos
Entidad
● Es cualquier cosa (una persona, lugar, cosa o hecho) acerca de la cual se han de colectar
y guardar datos.
● Representa un tipo particular de objeto en el mundo real.
● Es distinguible.
● Puede representar abstracciones (Ej ruta de vuelo, conciertos)
● Un nombre de entidad sólo puede aparecer una vez en el esquema.
● Ejemplos de entidades son Pedro, la factura número 32456, el coche matrícula
3452BCW.
● Una entidad no es un propiedad concreta sino un objeto que puede poseer múltiples
propiedades (atributos).
● Una entidad da lugar a una tabla.
Conjunto de entidades
● Las entidades que poseen las mismas propiedades forman
conjuntos de entidades.
● Ejemplos de conjuntos de entidades son los conjuntos: personas,
facturas, coches,...
Ejemplos de entidad y
conjunto de entidad
● En la actualidad se suele llamar entidad a lo que
anteriormente se ha definido como conjunto de entidades.
De este modo hablaríamos de la entidad PERSONAS.
Mientras que cada persona en concreto sería una
ocurrencia o un ejemplar de la entidad persona.
Base de datos I
Representación gráfica de las entidades
● En el modelo entidad relación
los conjuntos de entidades se
representan con un
rectángulo dentro del cual se
escribe el nombre de la
entidad:
Base de datos I
Tipos de entidades
● Regulares. Son las entidades normales
que tienen existencia por sí mismas sin
depender de otras. Su representación
gráfica es la indicada anteriormente.
● Débiles. Su existencia depende de otras.
Por ejemplo la entidad tarea laboral sólo
podrá tener existencia si existe la entidad
trabajo. Las entidades débiles se
presentan de esta forma:
Base de datos I
Identificador
● Se trata de uno o más campos cuyos valores son únicos en cada ejemplar
de una entidad.
Se indican subrayando el nombre del identificador.
Para que un atributo sea considerado un buen identificador tiene que cumplir:
■ Deben distinguir a cada ejemplar teniendo en cuenta las entidades que
utiliza el modelo. No tiene que ser un identificador absoluto.
■ Todos los ejemplares de una entidad deben tener el mismo identificador.
■ Cuando un atributo es importante aun cuando no tenga una entidad
concreta asociada, entonces se trata de una entidad y no de un atributo
Base de datos I
Atributos
Describen propiedades de las entidades y las relaciones. En este
modelo se representan con un círculo, dentro del cual se coloca el
nombre del atributo. Ejemplo:
Base de datos I
Tipos de atributos
Atributo compuesto
● Grupo de atributos que tienen afinidad en cuanto a su
significado o en cuanto a su uso.
● Un atributo compuesto se representa gráficamente mediante
un óvalo.
Base de datos I
Tablas
Combinando estos tres conceptos (Entidad + Atributos + elementos)
tenemos una estructura del tipo tabla, la base de las BD.
Base de datos I
Que es una relación
● Representan asociaciones entre entidades. Es el
elemento del modelo que permite relacionar en sí los
datos del modelo. Por ejemplo, en el caso de que
tengamos una entidad personas y otra entidad trabajos.
Ambas se realizan ya que las personas trabajan y los
trabajos son realizados por personas:
Base de datos I
Ejemplo de una relación
Base de datos I
Forma de representación gráfica
● La representación gráfica de las entidades se realiza con un rombo al que se le
unen líneas que se dirigen a las entidades, las relaciones tienen nombre (se
suele usar un verbo). En el ejemplo anterior podría usarse como nombre de
relación, trabajar:
Base de datos I
Ejemplos de relaciones
Base de datos I
Cardinalidad
● Indica el número de relaciones en las que una entidad
puede aparecer. Se anota en términos de:
○ Cardinalidad mínima. Indica el número mínimo de
asociaciones en las que aparecerá cada ejemplar de la
entidad (el valor que se anota es de cero o uno)
○ Cardinalidad máxima. Indica el número máximo de
relaciones en las que puede aparecer cada ejemplar de
la entidad (puede ser uno o muchos)
Base de datos I
● En los esquemas entidad / relación la cardinalidad se puede indicar de muchas
formas.
● Actualmente una de las más populares es esta:
Base de datos I
Ejemplo
En el ejemplo, cada equipo cuenta con varios jugadores. un jugador juega como mucho
en un equipo y podría no jugar en ninguno. Cada entrenador entrena a un equipo
(podría no entrenar a ninguno), el cual tiene un solo entrenador
Base de datos I
PINTOR 1:M o 1…* OBRA
CLIENTE 1:M o 1…* FACTURA
EMPLEADO M:N o *…* HABILIDAD
EMPLEADO TIENDA
1..1
Base de datos I
Restricciones
● Aseguran la integridad de los datos.
● Se expresan como reglas
○ Salario de empleado : 5000 a 6000
○ Porcentaje de descuento: entre 0.5 y 0.8
○ La clase debe tener un y sólo maestro.
Base de datos I
Roles
● A veces en las
líneas de la relación
se indican roles. Los
roles representan el
papel que juega una
entidad en una
determinada
relación. Ejemplo:
Base de datos I
Entidades Is a
● Son relaciones de tipo is a (es un) aquellas en las que
una entidad se descompone en entidades especializadas.
Hay dos tipos de entidades is a: especializaciones y
generalizaciones.
Base de datos I
Jerarquía de generalización
● La entidad E es una generalización de las entidades E1, E2, ... En, si las ocurrencias
de éstas son también ocurrencias de E. Todas las propiedades de la entidad genérica
son heredadas por las subentidades.
● Cada jerarquía es total o parcial, y exclusiva o superpuesta.
● Un subconjunto es un caso particular de generalización con una sola entidad como
subentidad. Un subconjunto siempre es una jerarquía parcial y exclusiva.
Especialización Generalización
Las especializaciones consisten en Se denomina generalización si se
que una entidad se divide en agrupan varias entidades en una o
entidades más concretas. más entidades generales. Se
La entidad general comparte con las observa una generalización si en
especializadas sus atributos. varias entidades se observan
Se observa una especialización atributos iguales, lo que significa que
cuando hay ejemplares para los que hay una entidad superior que posee
no tienen sentido algunos de los esos atributos.
atributos, mientras que para otros sí.
Base de datos I
En estas relaciones se habla también de herencia, ya que tanto los
profesores como los administrativos y otros, heredan atributos de la
entidad personal (se habla de la superentidad personal y de la
subentidad profesores)
Se puede colocar un círculo
(como el del número cero) en
lado de la superentidad para
indicar que es opcional la
especialización, de otro modo
se tomará como obligatoria
ADMINISTRATIVOS (el personal tiene que ser
alguna de esas tres cosas)
Base de datos I
Se puede indicar también exclusividad. Esto ocurre cuando entre varias líneas
hacia una relación, las entidades sólo pueden tomar una. Se representa con
un ángulo en el diagrama:
En el diagrama el ángulo indica que el
personal sólo puede ser o profesor o
administrativo u otros.
No puede ser dos cosas a la vez
ADMINISTRATIVOS
Base de datos I
Metodología de diseño conceptual
● Para cada área funcional de la empresa o caso a revisar, se construye un
esquema conceptual local siguiendo estos pasos:
(1) Identificar las entidades.
(2) Identificar las relaciones.
(3) Identificar los atributos y asociarlos a entidades y relaciones.
(4) Determinar los dominios de los atributos.
(5) Determinar los identificadores.
(6) Determinar las jerarquías de generalización (si las hay).
(7) Dibujar el diagrama entidad – relación.
(8) (8) Revisar el esquema conceptual local con el usuario.
Base de datos I
De cada AMIGO sabemos el nombre y su teléfono.
De cada BAR sabemos el nombre y la dirección.
De cada CERVEZA sabemos el nombre y la marca.
Los AMIGOS frecuentan uno o varios bares.
Puede que les guste ir a cada bar en momentos distintos del día (mañana, tarde o noche), o
puede que les sea indiferente.
Cada AMIGO ha probado una o varias cervezas y sabe cuánto le gustan: nada, normal o
mucho.
Una misma CERVEZA puede gustar a varios AMIGOS y puede servirse en varios BARES
distintos.
De las CERVEZAS que tenemos, algunas no las ha probado nadie.
También puede ocurrir que haya CERVEZAS que no se sirvan en ninguno de los BARES que
nos interesan.
Cada BAR sirve una o varias cervezas.
Entre los BARES que nos interesan, puede que haya algunos que no frecuenten nuestros
amigos, y otros que sean frecuentados por varios amigos.
Ejemplo 1
Hacer un modelo Entidad-Relación para la siguiente situación:
Tenemos una universidad, en la que hay varios cursos, Cada uno de estos está
dirigido por un profesor, el cual puede dirigir varios cursos.
Los mismos son subvencionados, por lo que sólo se permite que un alumno se
matricule en un curso.
Base de datos I
Solución
Base de datos I
Tablas de la solución (Metadatos)
Ejemplo
Ahora supongamos que un curso está compuesto por varias asignaturas.
Cada una de ellas tiene un número de créditos. Los alumnos se
matriculan de las asignaturas que quieren. Por último el alumno recibe
una nota para cada asignatura, al final del curso.
Base de datos I
Base de datos I
Ejercicios (máx. 2 personas)
● Queremos hacer una base de datos con los discos que
tenemos en casa. Un disco puede tener un cantante o
grupo, o varios. Además un disco tiene una
discográfica.
○ Ahora hemos de tener en cuenta que un disco está compuesto por
canciones. Éstas pueden estar escritas por la misma persona que las
canta, pero a menudo se trata de personas diferentes.
Base de datos I
● Imaginemos que hemos de hacer un sistema para la
Eurocopa2000. 16 selecciones nacionales se han
clasificado, y en cada una hay 22 jugadores. Hemos de
poder reflejar todos los partidos que se disputan (con los
resultados) y qué jugadores lo hacen por cada equipo,
así como quien marca los goles.
Base de datos I
Pasos para el diseño
● Encontrar entidades (conjuntos de entidades)
● Identificar atributos de las entidades
● Buscar identificadores
● Especificar las relaciones y cardinalidades
● Identificar entidades débiles
● Especializar y generalizar entidades donde sea posible
Base de datos I
Desarrolle
● Determine las entidades y sus relaciones
● Defina los metadatos
● Determine algunas restricciones