Post on 28-Jan-2016
Bases de datos
Conceptos, diseño y utilización
Departament d’Informàtica
Universitat de València
2
Índice
Introducción Sistemas de información y BDs
Diseño de bases de datos: Diseño conceptual Diseño lógico
Utilización de las BD Consultas a BD
Universitat de València
Parte I
Introducción al diseño de BBDD
4
Introducción
Un sistema de información (SI): es un conjunto de elementos que
funcionan conjuntamente con el objetivo de recoger, tratar, manipular y aportar la información necesaria para el desarrollo de las actividades de una empresa u organización.
Se dice que un SI está informatizado: si está soportado por un ordenador. Es
el que nos concierne en este curso.
Universitat de València
5
Introducción
Uno de los elementos principales de un SI es la base de datos (BD). Las BD son ejemplos típicos de grandes sistemas de software con tres características importantes: Hay una gran cantidad de datos que deben ser
almacenados en memoria externa y que deben ser organizados de forma que los datos elementales puedan ser recuperados y actualizados fácil y eficientemente.
Los datos guardan entre sí interrelaciones. La información incluye restricciones estáticas y dinámicas, como los valores permitidos o las posibles evoluciones.
Los datos deben ser compartidos entre diferentes usuarios y el sistema debe mantener la integridad de la información.
Universitat de València
6
Introducción
Una Base de Datos es un conjunto de datos integrados con información de un sistema objeto, con redundancia controlada y con una estructura que trata de reflejar la del sistema objeto y facilitar la organización, recuperación y elaboración de información
La BD la forman los datos y su descripción Un SGBD es un software específico que permite a
los usuarios crear, mantener y manipular la BD
Universitat de València
7
Etapa 2: Diseño de BDs
2.1. Diseño conceptual: esta actividad tiene como objetivo obtener una representación de la realidad que capture las propiedades estáticas y dinámicas de la misma necesarias para satisfacer los requisitos recogidos en la actividad anterior. Se combinan los requisitos de los distintos grupos de
usuarios para construir una descripción única de toda la información en la BD.
Se desarrolla utilizando un modelo semántico y define: entidades en la BD relaciones entre ellas restricciones de integridad de la información.
Utilizaremos el modelo entidad-relación.
Universitat de València
8
Etapa 2: Diseño de BDs
2.2. Diseño lógico: esta actividad tiene como objetivo la traducción del esquema conceptual en el modelo empleado por el SGBD dando lugar por una a un esquema lógico. Se construyen las tablas. Relaciones entre tablas. Reglas de integridad.
Se crean usuarios y se administran los privilegios para acceder a la información.
Universitat de València
Parte II
Diseño conceptual de BDs. Modelo entidad-relación
10
Modelo entidad-relación
Es un modelo semántico de datos El modelo E/R permite representar, utilizando los
diagramas E/R, las estructuras que constituyen el contenido del SI y las restricciones que limitan las ocurrencias válidas
de las mismas. Utiliza tres conceptos:
Entidad Atributo Relación
Universitat de València
11
Modelo E/R: Entidad
Definición: se define entidad como aquel objeto (real o abstracto) acerca del cual queremos almacenar información en la base de datos.
Denominaremos a la estructura genérica en su sentido abstracto tipo de entidad, mientras que entidad será cada una de las ocurrencias o instancias de este tipo de entidad.
Coche
Persona
clasificación
proceso de abstracción
Universitat de València
12
Modelo E/R: entidad
La representación gráfica de un tipo de entidad es un rectángulo etiquetado con el nombre del tipo de entidad:
Tres reglas generales que debe cumplir cualquier entidad: Tiene que tener existencia propia Cada ocurrencia de un tipo debe poder distinguirse de
las demás Todas las ocurrencias de un tipo de entidad deben
tener los mismos tipos de características (atributos).
libro autor
Universitat de València
13
Modelo E/R: relaciones
Los objetos de un SI se asocian con otros, siendo también de interés modelar estas conexiones.
Para ellos se utilizan los tipos de relaciones:
llamaremos tipo de relación a la estructura genérica del conjunto de relaciones existentes entre dos o más tipos de entidad.
El tipo de relación se representa mediante un rombo etiquetado con el nombre de la relación, unido mediante arcos a los tipos de entidad que asocia.
Universitat de València
14
Modelo E/R: relaciones
Ejemplos de relaciones:
libro autorescrito
profesor asignaturadocencia
grupo
Relaciónbinaria
Relaciónternaria
empleado jefe de
Relaciónreflexiva
Universitat de València
15
Modelo E/R: relaciones
Una relación se define por su nombre y por su grado.
El nombre es el identificador que se le da a la propia relación,
y el grado equivale al número de tipos de entidad a los que asocia o relaciona.
Relación de grado 1 o reflexiva.
Relación de grado 2 o binaria.
Relación de grado 3 o ternaria.
El tipo de correspondencia es el número máximo de ocurrencias de cada tipo de entidad que pueden intervenir en una ocurrencia del tipo de relación que se está tratando. Gráficamente, esto se representa con alguna de estas etiquetas textuales: 1:1, 1:N, N:M.
Universitat de València
16
Ejemplo relaciones
Ejemplo de tipo de correspondencia:
libro autorescrito
n:m
es_escrito escribe
libro editorialpublicadopublicaes_publicado
n:1
Universitat de València
17
Modelo E/R: atributos
Los atributos permiten representar: las propiedades de los objetos (entidades) las propiedades de las asociaciones entre ellos.
La representación gráfica de un atributo consiste en una elipse con el nombre del atributo en su interior.
Entre todos los atributos de un tipo de entidad debemos elegir uno o varios que identifiquen unívocamente (clave primaria) cada entidad. Estos atributos se representarán de la misma forma, pero con el nombre del atributo subrayado.
nombre
nombre
Universitat de València
18
Modelo E/R: restricciones
El modelo E/R permite la inclusión de algunas restricciones que limitan el conjunto de ocurrencias válidas.
Se pueden definir sobre: Entidades
Restricción de identificación. Restricción de unicidad.
Relaciones Restricción de participación.
Universitat de València
19
Restricciones sobre entidades
Restricción de identificación: Exige que cada ocurrencia de un tipo entidad
se identifique unívocamente de forma que se pueda diferenciar del resto de ocurrencias (clave principal).
empleado Nemp
Universitat de València
20
Restricciones sobre entidades
Restricción de unicidad: Indica que las distintas ocurrencias de una entidad
deben tomar valores distintos (o nulos) para el atributo (o conjunto de atributos) donde se define esta restricción. (No se pueden repetir)
Representación: subrayando los atributos con una linea discontinua. En caso de que haya varios conjuntos de atributos con esta restricción se añade un subíndice en la línea.
empleado NSS1DNI2
Universitat de València
21
Restricciones sobre relaciones
Restricción de participación: Especifica si la existencia de una entidad depende
de que esté relacionada con otra entidad a través del tipo de relación.
La restricción de participación total se le conoce como dependencia de existencia (se puede representar con una doble línea) e implica la existencia de integridad referencial
Universitat de València
22
Ejemplo de notación
Ejemplos de notación:
DIRECTOR
PELICULA
HA_ RODADO
1
N
PELICULA
personaje
film
M
ACTUA_EN
N
ACTOR
Un director lo es si ha rodado alguna película
(sin codirecciones)
Un actor lo es si ha actuado en alguna películaPueden haber películas sin actores
Universitat de València
Ejercicios (I)
El dueño de un concesionario de coches desea tener registrada y poder procesar la información de los coches disponibles y de las ventas que se realicen. Desea poder conocer tanto los datos del cliente, como los del coche, y todos los datos referentes a la venta, y poder realizar diferentes consultas y explotaciones de la información al respecto. Analizar y representar el SI mediante el
modelo E/R.
Universitat de València
23
Ejercicios (II)
Representar mediante el modelo E/R : La plantilla de una empresa, con los datos de
sus empleados y de los departamentos a los que pertenecen, indicando además quién es el jefe de cada departamento.
Si la empresa trabaja por proyectos, incluir también la información de los proyectos, quién dirige y quién trabaja en cada proyecto.
El sistema de reservas de un conjunto de casas rurales, donde hay propietarios que poseen casas que se alquilan a clientes.
24
Universitat de València
Parte III
Diseño de BDs. Diseño lógico
26
Introducción al diseño lógico
El diseño lógico consiste en una transformación de modelos. El modelo conceptual se convierte al modelo de la
base de datos para el que se está diseñando, en nuestro caso modelo relacional
El modelo relacional es una forma de representar los datos (mediante tablas) que se ocupa de tres aspectos de los datos: su estructura, su integridad y su manipulación.
Una base de datos relacional estará compuesta por una o más tablas (“relaciones”)
Universitat de València
El modelo relacional
Una tabla (o relación) guarda una colección de información conteniendo registros (o filas) referidos a entidades de un mismo tipo
Un registro (fila o tupla) es un dato compuesto de otros más simples que contiene la información de una entidad.
Un campo (o atributo) es el contenedor de cada uno de los datos más simples que constituyen un registro.
Universitat de València
27
El modelo relacional
El tipo de información que un campo puede contener viene determinado por el tipo de tipo de dato (dominio), que puede ser: texto (de longitud fija o variable) numérico (entero, entero largo, con decimales) fechas, horas
Todos los registros de una misma tabla tienen la misma estructura de campos (obviamente con diferentes contenidos)
Universitat de València
28
El modelo relacional
El modelo relacional incluye dos reglas de integridad, que se aplican a cualquier BD, basadas en el concepto de clave: Clave primaria: regla de integridad de las
entidades. Clave ajena: regla de integridad
referencial.
Universitat de València
29
El modelo relacional
Clave primaria. Es un identificador único para la tabla, esto
es, una columna o conjunto de columnas de forma que nunca existen dos filas en la misma tabla con el mismo valor en esa columna o conjunto de columnas.
Universitat de València
30
El modelo relacional
Clave ajena. Una clave ajena es un atributo (o un
compuesto de atributos) de una relación R1 cuyos valores deben concordar con los de la clave primaria de alguna fila de la relación R2 (donde R1 y R2 no son necesariamente distintas).
Universitat de València
31
32
Principios básicos del diseño lógico
El paso de un esquema en el modelo E/R al relacional está basado en los tres principios siguientes: Todo tipo de entidad se convierte en una
relación. Todo tipo de relación N:M se transforma en
una relación. Todo tipo de relación 1:N se traduce en el
fenómeno de propagación de clave, aunque también se puede crear una nueva relación.
Universitat de València
33
Transformación de entidades
Se crea una relación para cada tipo de entidad presente en el esquema E/R. Se incluyen todos los atributos que caracterizan las entidades, indicando
para cada uno el dominio (tipo de datos que puede contener). De los atributos compuestos se incluyen sólo sus componentes finales. Se indica la clave primaria Se “marcan” los campos “únicos”
A
a0
a31a3
a2
a1
a32
n
A(a0:dom_a0, a1:dom_a1, a2:dom_a2, a31:dom_a31, a32:dom_a32)Clave Primaria: a0Único: a1
Universitat de València
34
Transformación de relaciones
Relaciones N:M. Se transforman en una relación que tendrá
como clave primaria la concatenación de los atributos principales de cada una de las entidades que relaciona.
Estos atributos deben tener restricción de clave ajena respecto a cada una de las tablas donde ese atributo es clave primaria.
Habrá que considerar lo que ocurre en los casos en los que se borre o modifique la clave primaria referenciada.
Universitat de València
35
Transformación de las relaciones Relaciones binarias 1:n, con restricción de participación
(integridad referencial). Las dos entidades dan lugar a dos relaciones y la relación R se
representa con una clave ajena en la relación de lado de la n.
A BR
b0 b1a1
a01:n
A(a0:dom_a0,a1:dom_a1,…)
Clave Primaria: {a0}
B(b0:dom_b0,b1:dom_b1…..a0:dom_a0)
Clave Primaria:{b0}
Clave ajena:{a0} de B con A
Universitat de València
Ejercicios
Realizar el diseño lógico correspondiente a cada uno de los diseños conceptuales realizados Concesionario Organización de la plantilla y los proyectos Casas rurales
Universitat de València
36
Bases de datos
Utilización de Bases de Datos
Utilización de SGBD
Una vez diseñado el Sistema de Información, se emplea un Sistema de Gestión de Bases de Datos para implementarlo y gestionarlo. Labor propia de la Ingeniería Informática
La inmensa mayoría de usuarios de una BD no la usan directamente, sino que acceden, introducen o modifican datos a través de aplicaciones que limitan las posibilidades y ocultan los detalles.
Universitat de València
38
Utilización de SGBD personal
En un SGBD personal podemos crear y gestionar una BD de manera simplificada.
Un SGBD como Access permite crear tablas y realizar consultas mediante un interfaz facilitado.
Universitat de València
39
SGBD personal: Tablas
Diseñador/Administrador Crear/Modificar el diseño de una tabla Establecer/Modificar las reglas de integridad Insertar/Modificar el contenido de una tabla
Usuario de consulta Ver las tablas existentes Ver el contenido de las tablas Ver el diseño de las tablas: campos y tipos Ver las relaciones entre tablas
Universitat de València
40
SGBD: Consultas
Una consulta de selección muestra registros completos de una tabla o ciertos campos especificados de los registros de una tabla que cumplan determinados criterios, pudiendo indicar una ordenación de los mismos. También se pueden mostrar datos calculados a
partir de otros, y dar un nombre al campo calculado El SW permite almacenar las consultas realizadas
(las “preguntas”, no los resultados) Existen también consultas de inserción,
actualización y borrado (que exceden este módulo)
Universitat de València
41
SGBD: Consultas
En una consulta de selección se puede “unir” tablas para mostrar filas con campos de diferentes tablas, debiendo establecer una relación de coincidencia entre campos de diferentes tablas Las “uniones” se pueden establecer también entre
una tabla y una consulta almacenada Las consultas con agregación permiten agrupar los
datos de determinado campo (o de varios) según determinadas operaciones suma, promedio, mínimo, máximo, cuenta, …
Cualquier consulta puede combinar todo lo anterior criterios, orden, cálculos, uniones, agregaciones
Universitat de València
42
SGBD: Informes
Los resultados de las consultas se pueden mostrar en pantalla o exportar para su uso en otras aplicaciones.
El SW también permite generar una gran variedad de Informes para su presentación “impresa” el SW proporciona un asistente para informes (de
uso recomendable), que permite diseñar el formato de presentación del resultado de las consultas almacenadas
qué campos mostrar y cómo ordenarlos si se quiere, cómo agrupar los resultados en bloques cómo distribuir los datos en la hoja y con qué aspecto
Universitat de València
43
Bases de datos
Conceptos, diseño y utilización
Departament d’Informàtica
Universitat de València