Tema1 - ModelamientoBasesDatos

69
TALLER DE BASE DE DATOS PEDRO P. DIAZ ING JESUS LUQUE MEDINA

description

modelamiento de base de datos

Transcript of Tema1 - ModelamientoBasesDatos

TALLER DE BASE DE

DATOSPEDRO P. DIAZ

ING JESUS LUQUE MEDINA

TEMA 1

Conceptos básicos

de bases de datos

¿Qué es un dato?

Según Navathe:

Un dato es un hecho conocido que puede registrarse y que tienen un

significado implícito

NOTA: Los datos no tienen valor semántico por si mismos

Metadatos

Según Silberschatz:

Los metadatos son datos que describen datos.

Información

La información consiste en datos procesados que están en una forma

útil para la toma de decisiones. La información se deriva de los datos

almacenados al reordenar , seleccionar, combinar, resumir o realizar

otras operaciones sobre los datos.

Información = datos + metadatos

(Conjunto de datos organizados)

¿Qué es una base de datos?

Según Wikipedia:

Una base de datos es un conjunto de datos pertenecientes a un mismo

contexto y almacenados sistemáticamente para su uso posterior.

Según Edi Oppel:

Una base de datos es una colección de datos organizada en un

formato estructurado que es definido como metadatos que describe

esa estructura.

Según Navathe:

Una base de datos es un conjunto de datos relacionados entre sí.

Lluvia de ideas

Imagine que tiene que almacenar los datos de los estudiantes de

una universidad, los datos de los profesores, las facultades, los

cursos que llevan los alumnos, los créditos que ha ido acumulando

cada estudiante

¿Cómo lo haría?

DBA y DBMS

En las grandes organizaciones las bases de datos la gestiona el Administrador de Base de Datos (DBA por sus siglas en ingles), el cual se encarga de crear, mantener y gestionar los permisos de acceso a la base de datos.

El Sistema de Gestión de Base de Datos (DBMS por sus siglas en ingles) es el software encargado de controlar todos los accesos a la base de datos, se encarga de la estructura de almacenamiento de los datos, aceptar peticiones de datos, actualizaciones, ocultar los datos no permitido a determinados usuarios, permitir el acceso concurrente a los datos, procesos de respaldo y procedimientos de recuperación.

El papel del DBMS

Roles en el entorno de bases

de datos

Ventajas de usar una BD

1. Compartición de datos: La BD pertenece a toda la organización.

EL DBA es el que se encarga de gestionarla y de otorgar los

permisos de acceso a la información.

2. Control de redundancia: La información está integrada de tal

manera que no se almacenan múltiples copias de los datos a

menos que sea necesario (conexiones lógicas y rendimiento)

3. Consistencia de datos: un efecto de controlar la redundancia es

que los datos sean consistentes, ya que como un ítem de datos

aparece una sola vez, cuando se actualice su valor se hará en un

único sitio y todos tendrán acceso a dicho valor actualizado.

Ventajas de usar una BD

4. Integridad de datos mejorada: algunos DBMS permiten definir

reglas de integridad: reglas de consistencia que la BD debe de

obedecer

5. Mejor seguridad de datos: todo acceso autorizado a la BD es a

través del DBMS que puede requerir que los usuarios ingresen

contraseñas o pasen otros procedimientos de seguridad para

obtener acceso a la BD.

6. Mejor accesibilidad de los datos: la mayoría de los DBMS

proporcionan un lenguaje de consulta de datos que nos permiten

obtener la información

Desventajas de una BD

1. Alto costo del DBMS

2. Costo de Hardware mas alto

3. Costos de programación mas altos

4. Altos costos de conversión

5. Vulnerabilidad aumentada

6. Recuperación mas difícil

TEMA 2

Fases del diseño

de Bases de Datos

Fases del

diseño de

Bases de

Datos

1.Captación y análisis de

Requerimientos

Caracterizar de forma completa las necesidades que desean los

usuarios de la BD, tanto en los datos como en las operaciones a

realizar con los datos.

Entrevistas con los futuros usuarios de la BD para captar las

necesidades.

Resultado:

- REQUISITOS DE DATOS: Necesidades de datos. Especificación de la

información que se quiere guardar.

- REQUISITOS FUNCIONALES: Necesidades de manipulación de datos.

Especificación de las operaciones a realizar con los datos.

2. Diseño conceptual

En esta etapa se obtiene una estructura de la información de la

futura Base de Datos independiente de la tecnología que se

empleará.

El resultado de la etapa del diseño conceptual se expresa mediante

algún modelo de datos de alto nivel. Uno de los más empleados es el

modelo entidad relación (entity- relationship), que abreviaremos con

la sigla E-R.

3. Diseño Lógico

En esta etapa se parte del resultado del diseño conceptual, que se

transforma de forma que se adapte a la tecnología que se debe

emplear. Más concretamente, es preciso que se ajuste al modelo del

SGBD (DMBS) con el que se desea implementar la base de datos.

Por ejemplo, si se trata de un SGBD relacional, esta etapa obtendrá un

conjunto de relaciones con sus atributos, claves primarias y claves

foráneas.

NOTA. Es aconsejable obtener el diseño lógico desde el modelo

conceptual.

4. Diseño físico

En esta etapa se transforma la estructura obtenida en la etapa

del diseño lógico, con el objetivo de conseguir una mayor

eficiencia; además, se completa con aspectos de

implementación física que dependerán del SGBD.

TEMA 3

Modelo

Entidad-RelaciónDISEÑO CONCEPTUAL DE LA BASE DE DATOS

Propósito del modelo E-R

El modelo E-R fue desarrollado por P.P. Chen en 1976 para facilitar el

diseño de bases de datos, ya que permite al diseñador expresar las

propiedades conceptuales de la base de datos de una empresa.

Este modelo es independiente de cualquier DBMS en particular y

utiliza sus propios diagramas E-R.

Este modelo será válido incluso si cambia de DBMS

Modelo E-R

Se denomina ENTIDAD RELACION debido a que precisamente

permite representar relaciones entre entidades.

El modelo esta compuesto por:

• Entidades

• Atributos

• Relaciones

• Cardinalidad

• Llaves o claves

Entidades

Por entidad entendemos un objeto del mundo real que podemos

distinguir del resto de objetos y del que nos interesan algunas

propiedades.

• Es un SUSTANTIVO.

• Se expresan en SINGULAR.

• Su nombre va en MAYUSCULAS.

• Se representan mediante un RECTANGULO.

Atributos

Las propiedades de los objetos que nos interesan se llaman

ATRIBUTOS.

Los atributos se representan mediante un OVALO.

Los atributos se colocan en MINUSCULAS.

Los atributos deben de ser UNIVALUADOS.

Los atributos deben de ser ATOMICOS.

Los atributos toman valores de un DOMINIO.

Hay varias formas de representar los atributos, dependiendo de la

notación utilizada.

Dominios

El dominio de un atributo es el conjunto de valores que puede tener

un atributo.

Ejemplo: la edad de la persona podría ser valores entre 1 y 120

aproximadamente; este sería el dominio

Los atributos pueden tener diferentes dominios

Valores nulos

En una base de datos se puede permitir a los atributos tener valores

nulos (en realidad es que no tiene valor), debido a que en ese

momento el valor de dicho atributo se desconoce o no está definido

para una instancia en particular.

Atributos multivaluados

Algunos atributos podrían tener valores múltiples para una instancia

de la entidad.

Los atributos multivaluados se representan mediante un óvalo doble.

Ejemplo: el Email de un estudiante, este podría tener varios emails

Atributos compuestos

Un atributo compuesto es aquel que puede descomponerse en

elementos mas pequeños.

Los atributos compuestos se representan mediante óvalos enlazados

al óvalo del atributos del cual se descomponen.

Nota: los atributos compuestos en la base de datos se separan cada

una de sus partes.

Atributos derivados

A veces es posible que se quiera incluir un atributo que puede

calcularse en base al valor de otro atributo de la misma entidad o de

otras entidades.

Los atributos derivados se representan mediante óvalos con líneas

con rayas.

Ejemplo: La edad se puede calcular de la fecha de nacimiento

Clave o Atributo identificador

Una entidad debe ser distinguible del resto de objetos del mundo real.

Esto hace que para toda entidad sea posible encontrar un conjunto

de atributos que permitan identificarla. Este conjunto de atributos

forma la clave de la entidad.

Una determinada entidad puede tener varios atributos que la

identifiquen, es decir puede tener varias CLAVES CANDIDATAS. La

clave escogida para identificar a la entidad de denomina CLAVE

PRIMARIA.

Se representa en el modelo subrayando el o los atributos que

conforman la clave primaria.

Relación

Se define una relación como una asociación entre entidades.

Las relaciones se representan mediante un rombo.

Las relaciones tienen un nombre.

Las relaciones pueden tener atributos.

Las relaciones pueden asociar 1, 2 o mas entidades.

Relación

El numero de entidades que asocia una relación se denomina GRADO

de la relación.

Las relaciones de grado 2 se denominan relaciones BINARIAS.

Las relaciones de grado 3 se denominan relaciones TERNARIAS.

Las relaciones de grado mayor a 3 se denominan relaciones

N-ARIAS.

Ejemplo diagrama E-R

Cardinalidad

Expresa el número de ocurrencias de una de las entidades con las

que una ocurrencia de la otra entidad puede estar asociada según

la interrelación.

• Conectividad uno a uno (1:1). La conectividad 1:1 se denota

poniendo un 1 a cada lado de la interrelación.

• Conectividad uno a muchos (1:N). La conectividad 1:N se denota

poniendo un 1 en un lado de la interrelación y una N en el otro.

• Conectividad muchos a muchos: (M:N). La conectividad M:N se

denota poniendo una M en uno de los lados de la interrelación, y una

N en el otro.

Ejemplo relación 1:1

Ejemplo relación 1:N

Ejemplo relación M:N

Restricciones de participación

Hay dos casos:

Participación total: Cuando cada instancia de la entidad

obligatoriamente participa en la relación. Se representa con una

línea doble desde la entidad hasta el rombo de la relación.

Participación parcial: Cuando no toda instancia de la entidad

participa en la relación

Ejemplo

Relación recursiva

Una relación recursiva asocia una entidad consigo mismo.

Relación recursiva

Relaciones dobles

Entidades débiles

Algunas veces queremos almacenar datos de una entidad, pero

siempre y cuando exista otra entidad relacionada.

Ejemplo: SI queremos almacenar los datos de las compras de un

cliente, primero tendrá que existir la entidad cliente.

La entidad que depende de la existencia de la otra entidad se llama

Entidad débil.

Entidades débiles

Las entidades débiles no tienen atributos claves propios.

Las entidades débiles se representan mediantes un rectángulo doble.

Entidades débiles

Una entidad débil siempre esta relacionada con otra entidad con

una cardinalidad 1:N, y esta en el lado del N, y la cardinalidad

mínima del lado 1 es también 1, es decir es obligatoria.

Relaciones N-arias

Una relación N-aria es aquella en la que participan mas de 2

entidades.

ARBOLESTA

ENHUERTO

UBICACION

TIENE

N 1

11

N

1

1

ARBOL

UBICACION

ESTA

EN

HUERTOTIENE1N

Relaciones ternarias

Ejemplos de Notación

Ejemplos de Notación

Modelo

Entidad –

Relación

Extendido

Generalización /

Especialización

La generalización/especialización permite reflejar el hecho de que hay

una entidad general, que denominamos entidad superclase, que se

puede especializar en entidades subclase:

a) La entidad superclase nos permite modelar las características

comunes de la entidad vista de una forma genérica.

b) Las entidades subclase nos permiten modelar las características

propias de sus especializaciones.

Es necesario que se cumpla que toda ocurrencia de una entidad

subclase sea también una ocurrencia de su entidad superclase.

La generalización/especialización puede ser de dos tipos:

a) Disjunta. En este caso no puede suceder que una misma

ocurrencia aparezca en dos entidades subclase diferentes. Se

denota gráficamente con la etiqueta D.

b) Solapada. En este caso no tiene lugar la restricción anterior. Se

denota gráficamente con la etiqueta S.

Generalización /

Especialización

Además, una generalización/especialización también puede ser:

Total. En este caso, toda ocurrencia de la entidad superclase

debe pertenecer a alguna de las entidades subclase. Esto se

denota con la etiqueta T.

Parcial. En este caso no es necesario que se cumpla la condición

anterior. Se denota con la etiqueta P.

Generalización /

Especialización

Ejemplo

Ejemplos

Ejemplo 1: Instituto

Se quiere hacer el sistema del instituto, para lo cual se debe

considerar a los profesores y alumnos teniendo en cuenta las

asignaturas, horarios y aula.

Para cada profesor se almacena el DNI y el nombre del profesor.

Para cada estudiante se almacena el DNI, el nombre del estudiante y

la nota de cada asignatura

Para cada asignatura se guarda el código de la asignatura, el

nombre de la asignatura, el horario y el aula.

Notas:

Un profesor imparte una única asignatura al estudiante

Cada asignatura tiene un único profesor, horario, y aula donde se

imparte el aula.

Ejemplo 1: Instituto

Como varia el modelo anterior teniendo en cuenta los siguiente

cambios:

EL profesor puede impartir mas de una asignatura al estudiante

Cada asignatura tiene un único profesor, pero mas de un horario y

aula donde se imparte la clase.

Ejemplo2: liga de baloncesto

Se quiere almacenar del jugador el nombre, DNI y dirección.

Un jugador esta fichado en un equipo. Del equipo interesa guardar la

información sobre el nombre del equipo y dirección.

De un partido interesa almacenar la temporada, el equipo local, el

equipo de fuera y el resultado.

Se quiere controlar los jugadores que participan en cada partido, los

equipos que juegan, el resultado de cada partido y la puntuación

que ha hecho cada jugador en cada partido.

Ejemplo2: liga de baloncesto

Notas:

Un jugador juega en un único equipo toda la temporada.

Cada equipo tiene diversos jugadores y no todos juegan en un

partido

Ejemplo 3: Sistema de ventas

La empresa necesita llevar un control de proveedores, clientes,

productos y ventas.

Un proveedor tiene RUC, nombre, dirección, teléfono y página web.

Los clientes tiene RUC, nombre, dirección peor pueden tener varios

teléfonos de contacto.

La dirección se entiende por calle, numero, distrito y ciudad.

Un producto tiene un id único, nombre, precio actual, stock. Además

se organizan en categorías y cada producto va en una sola

categoría. Una categoría tiene un nombre y una descripción.

Por razones de contabilidad, se debe registrar de cada venta la

fecha, el cliente, el descuento y el monto final. Además se debe de

guardar el precio al momento de la venta, la cantidad vendida y el

monto total por el producto.

Problemas del

modelo E - R

Problemas del modelo E - R

Estos problemas se llaman las trampas de conexión, y normalmente

ocurren debido a una mala interpretación del significado de ciertas

relaciones.

La trampa del abanico

La trampa del abanico ocurre cuando un modelo ER representa una

relación entre tipos de entidad, pero el camino entre algunas

entidades es ambiguo.

Una trampa de abanico puede aparecer si dos o más relaciones 1:N

salen del mismo tipo de entidad.

¿En que sección trabaja el empleado e1?

¿En que sección trabaja el empleado e1?

La trampa del sumidero

La trampa del sumidero ocurre cuando existe un tipo de relación

entre dos tipos de entidad, pero no existe camino entre algunas

entidades.

La trampa del sumidero puede aparecer cuando hay uno o mas

tipos de relación donde los tipos de entidad tienen una participación

parcial (cardinalidad mínima de 0).

¿Qué departamento realiza el proyecto p2?