You are on page 1of 62

Base de Datos

Sesión 01
Base de Datos - El Modelo de Datos
Modelo Entidad Relación

Ing.Adolfo Chavez V.
Es una colección compartida de datos sin redundancias, almacenados en
un soporte informático permanente, independiente de los programas que
los usen, interrelacionados lógicamente y estructurados de acuerdo a un
modelo de datos con el objeto de atender todas las necesidades de los
diferentes usuarios en una organización.
Es un conjunto de programas que permite a los usuarios
crear y mantener una base de datos. De hecho un SGBD
debe facilitar la definición, construcción y manipulación de
una base de datos.
En inglés : DBMS ( database management system )

Poder especificar Poder guardar Poder usar


los tipos de los datos en funciones para
datos, las algún medio de consultar o
estructuras y las almacenamiento actualizar la base
restricciones controlado por el de datos y
SGBD generar informes
Usuarios / Programadores / DBA

Programas de aplicación /
Consultas

Software para procesar


consultas/programas

Software para accesar


los datos almacenados

Diccionario
Base de
de Datos
datos
FUNCIÓN DE DEFINICIÓN O DESCRIPCIÓN
Permite al diseñador de la base de datos especificar los
elementos de datos que la integran, su estructura y las relaciones
que existen entre ellos, las reglas de integridad semántica, así
como las características de tipo físico y las vistas lógicas de los
usuarios.
Esta función es realizada por el Data Description Language (DDL),
el cual debe suministrar los medios para definir las 3 estructuras
de datos o niveles de abstracción de una base de datos (crear,
borrar y alterar las estructuras de datos - tablas ), especificando
las características de los datos a cada uno de estos niveles.
FUNCIÓN DE MANIPULACIÓN

Una vez descrita la Base de Datos, es preciso cargar


los datos en las estructuras creadas, con lo que la
base de datos estará dispuesta para su utilización.
Los usuarios tendrán la necesidad de recuperar la
información o actualizarla.
La función de
Es decir: manipulación se
*Consultar llevará a cabo por
medio del Data
*Actualizar Manipulation
* Insertar, Borrar, Modificar. Language (DML)
FUNCIÓN DE CONTROL

Esta función reúne todas las interfaces que


necesitan los diferentes usuarios para comunicarse
con la base y proporciona un conjunto de
procedimientos para el administrador.
También es conocida como función de utilización.
Entre los instrumentos que la integran tenemos:
Funciones de Servicio como cambiar la capacidad de los
ficheros, obtener estadísticas y principalmente las
relacionadas con la seguridad física y de protección
frente accesos no autorizados.
Un SGBD proporciona dos tipos de lenguajes : uno para especificar la
estructura de la base de datos y otro para expresar las consultas y
actualizaciones de la BD.

Data
definition(description)
language
Permite especificar los esquemas Conceptual e Interno.
Brinda al DBA los recursos para describir los datos,
especificando sus diversas estructuras. Cuando se ejecutan
instrucciones DDL, resultan un conjunto de tablas que se
almacenan en la BD. Para especificar la estructura de
almacenamiento (esquema interno) y los métodos de
acceso se usa un tipo especial de DDL llamado Lenguaje de
definición de almacenamiento (SDL)
Data
manipulation
language
Permite realizar las principales operaciones de manipulación
de datos, como son la recuperación, inserción, eliminación y
la modificación. Son dos los principales tipos de DML :
DML no procedimentales : permiten introducir
interactivamente instrucciones de alto nivel, para su
procesamiento.
DML procedimentales : son de bajo nivel y deben estar
incorporados en un lenguaje de programación. Se
caracterizan porque trabajan registro por registro, por tanto
hace falta introducir estructuras cíclicas de programación.
Independencia respecto a programas y datos

Los programas que accesan a los SGBD se pueden


escribir de modo que sean independientes de cualquier
archivo específico. Esto es posible gracias a la
abstracción de los datos, lo que se explica cuando el
SGBD ofrece a los usuarios una representación
conceptual de los datos que no incluye muchos de los
detalles de cómo se almacenan.
La independencia se debe a que las estructuras de los
archivos están almacenados en el diccionario de datos
del SGBD.
Manejo de múltiples vistas de los datos

Varios usuarios pueden desear ver datos de la base de


datos, cada uno de los cuales puede requerir una
perspectiva o vista diferente.
Una vista normalmente es un subconjunto de la base de
datos o puede contener datos derivados.
Control de Concurrencia

Un SGBD incluye software de control de concurrencia


( gestor de transacciones ) para asegurar que cuando
varios usuarios intenten actualizar los mismos datos, lo
hagan de manera controlada.
Control de Redundancia

Queda minimizada o controlada la repetición del mismo


dato en diferentes archivos. De esta forma ya no se
desperdicia espacio de almacenamiento ni se producen
inconsistencias.
Restricción de accesos no autorizados

Normalmente algunos usuarios tienen autorización solo


para leer los datos de la base de datos, mientras que
otros pueden leer y actualizar. Un SGBD tiene un
subsistema de seguridad y autorización que permite al
DBA crear cuentas y especificar restricciones para ellas
Restricciones de integridad

El SGBD debe ofrecer recursos para definir y hacer


cumplir ciertas restricciones de integridad sobre los
datos. Veamos algunos ejemplos : definir un tipo de
dato, las edades de colegiales ( 13 a 17 ), que un valor sea
único ( código de trabajador ), etc.
Respaldo y Recuperación

Todo SGBD debe contar con un subsistema de respaldo y


recuperación, a fin de enfrentar exitosamente fallas de
hardware o de software. La idea es que después de una
caída, se restaure la base de datos al estado en el que
estaba.
Programadores

Escriben aplicaciones, donde incrustan comandos DML


para interactuar con el sistema
Usuarios normales

Interactúan con el sistema mediante el uso de


aplicaciones que han sido escritos por informáticos.
Usuarios sofisticados
Interactúan con el sistema creando consultas con un
lenguaje de consulta, las cuales entran al procesador de
consultas que transforma las instrucciones DML, para
ser entendidas por el gestor de almacenamiento.
Administrador de la Base de Datos
Crea BD, define métodos de acceso, concede
autorizaciones, etc
Entre las interfaces amables con el usuario que pueden ofrecer
estos sistemas están :
Interfaces basadas en menús
Presentan menús para facilitar formular solicitudes. No hace falta
memorizar comandos.
Interfaces Gráficas
Presentan esquemas en forma de diagramas, Ud. puede especificar
consultas manipulando el diagrama.
Interfaces basadas en formularios
Presentan un formulario, donde el usuario llena los espacios con
alguna clave que servirá para localizar la información.
Interfaces de lenguaje natural
Acepta comandos e interpreta su solicitud. Si es correcta se genera
una consulta de alto nivel.
❑ Los datos se organizan con el fin de interpretar la
realidad y captar la semántica.
❑ Lo que dará soporte a esta interpretación es el Modelo
de Datos.
❑ Un Modelo de Datos es un conjunto de conceptos que
permiten describir, a tres niveles (según Arquitectura
ANSI) la estructura de una base de datos, a la cual se
le denominará ESQUEMA.
Entonces se tendrán 3 modelos:
Modelo Externo, Modelo Global, Modelo Interno.
Según los niveles de la estructura de la base de datos nos
centraremos en el MODELO GLOBAL.
Los Modelos Globales se clasifican en:

Modelos Conceptuales :
Facilita la descripción global del conjunto de
información de la empresa con independencia de la
máquina, por lo que sus conceptos son cercanos al
mundo real. De alto nivel.

Modelos Lógicos-Convencionales :

Se caracterizan por que son soportados por los SGBD,


permitiendo describir datos procesables por un
computador.
Sus conceptos son propios de cada SGBD.
ELEMENTO
DE
Representa el diseño ESTUDIANTE
ESQUEMA
global de la Base de codEstud nombre ciclo espec
Datos. Los esquemas CURSO
cambian muy raras codCurs nomCur cred depto
veces o nunca. El REQUISITOS
concepto de esquema codCurs CodCursRequisito
se puede asociar por
NOTAS
analogía con la codCurs codEstud parc trab fin
declaración de arreglos
PROFESOR
en los lenguajes de
codProf codCurs nomProf fechIngre
programación.
También conocida como
ocurrencia del esquema.

Es el conjunto de registros almacenados en la base de


datos, en un instante dado.
Las bases de datos cambian a lo largo del tiempo, según se
añade o elimina información.
Una instancia de BD se puede comparar por analogía a los
datos colocados en arreglos ya declarados en algún
lenguaje de programación.
CURSO
ESTUDIANTE
codCurs nomCur cred depto
codEstud nombre ciclo espec
M100 Matemática I 7 3
100 Ana 3 Contabilidad
S200 Algoritmos I 4 1
150 Alex 3 Sistemas
S310 Algoritmos II 5 1
250 Inés 1 Contabilidad
350 Max 2 Sistemas NOTAS
codCurs codEstud parc trab fin
REQUISITOS
S200 350 11 16 13
codCurs CodCursRequisito
S310 100 06 17 12
S200 M100
M100 250 17 13 18
S310 S200
M100 _ PROFESOR
codProf codCurs nomProf fechIngre
P100 S200 Prado 22/01/90
P200 M100 Horna 14/01/93
Un Base de Datos presenta una arquitectura de tres niveles,
donde son definidos los esquemas correspondientes :
Usuarios finales
NIVEL
EXTERNO Vista
Externa 1
Vista
Externa 2 ... Vista
Externa n

Correspondencia
externa/conceptual
NIVEL
ESQUEMA CONCEPTUAL
CONCEPTUAL
Correspondencia
conceptual/ interna
detalle

NIVEL ESQUEMA INTERNO


INTERNO

BD ALMACENADA

Correspondencia : proceso de transformar pedidos y respuestas


de un nivel a otro.
NIVEL EXTERNO Es conocido como el nivel de vistas de usuario.
Cada vista de usuario se conoce como subesquema o esquema
externo, donde cada uno de ellos describe alguna parte de la base
de datos. Oculta al usuario toda la base de datos restante.

NIVEL CONCEPTUAL A este nivel se tiene el esquema de la base


de datos, que describe la estructura de toda la base de datos. El
esquema conceptual oculta los detalles de las estructuras físicas
de almacenamiento y se concentra en describir entidades, tipos
de datos, relaciones, operaciones y restricciones

NIVEL INTERNO o FISICO Tiene un esquema interno o físico.


Describe como se almacenan realmente los datos y los caminos
de acceso a la base de datos.
Es un conjunto de conceptos, reglas y
convenciones que nos permiten describir
y manipular(consultar y actualizar) los
datos de la realidad que deseamos
almacenar en la base de datos.
Externos
Lógicos
Conceptual
Global
Convencional
Físicos o
Internos
De acuerdo al nivel de abstracción, los modelos de
datos se clasifican en tres grupos :

1. Modelos de alto nivel o conceptuales

2. Modelos de representación o de implementación

3. Modelos de bajo nivel o físicos


Son modelos lógicos basados en objetos y se usan para
describir datos en los niveles conceptual y de vistas. Se
caracterizan por el hecho de que proporcionan
capacidades estructurales muy flexibles y permiten que las
relaciones de datos sean especificadas explícitamente.
Utilizan conceptos como entidades, atributos y relaciones.
Entre los modelos mas difundidos tenemos :

El modelo Entidad - Relación


basado en una percepción del mundo real que consta de
objetos llamados entidades y de relaciones entre ellos
El modelo orientado a objetos
Similar al modelo E/R, pero los objetos contienen
además de datos, segmentos de código ( métodos) que
manipulan estos datos.
Es un modelo de datos de alto nivel que se emplea en el
diseño conceptual de la base de datos. Percibe el mundo
real con objetos llamados entidades y las relaciones entre
ellos. Especifica un esquema de la organización que
representa la estructura lógica completa de una base de
datos.
Fue introducido por Peter Chen en 1976

PROVEEDOR coloca ORDEN DE


COMPRA

PROVEEDOR coloca ORDEN DE


COMPRA
Es colocada
ENTIDAD Es una persona, lugar, cosa, concepto o suceso
real o abstracto de interés para la empresa. ( Ejemplo : de
un grupo de alumnos, un alumno es una entidad )
ATRIBUTOS Son las propiedades específicas que describen
la entidad. Por ejemplo la entidad empleado puede ser descrita
por su nombre, cargo y sueldo. Los atributos pueden tener
valores.
TIPO DE ENTIDADES Define un conjunto de entidades que
poseen los mismos atributos. Estructura genérica. Ejemplo :
empleado, cliente, proveedor
TIPOS DE Son asociaciones entre dos o mas tipos de entidades que
RELACIONES representan un hecho o situación del mundo real. Ejm :

Empleado pertenece a departamento


TANGIBLES

Cliente, articulo, factura

CONCEPTUALES

Centro de costo

EVENTOS

Sesion tecnica, averia de equipo, etc


Tipo de entidades

Tipo de entidades débil

Relación

Atributo

Atributo clave Clave parcial


( Corresponde a
una entidad débil )
Atributo compuesto

Atributo derivado

E1 R E2 Participación total de E2 en R

1 N Cardinalidad 1:N para E1:E2 en R


E1 R E2

(min , max)
E Restricción Estructural (min , max )
R
de la participación de E en R
1. Simples o compuestos
2. Monovaluados o Multivaluados
3. Almacenados o Derivados

Atributo Simple

Son atributos que se visualizan o conceptualizan como


un solo valor. Ejemplo :

dirección
Dirección = “Angamos 1535-201, Lima, Perú”

CLIENTE
Atributo Compuesto
Son atributos que se han dividido en componentes más
pequeños. Por ejemplo el atributo dirección de una entidad
cliente, se puede subdividir en domicilio, ciudad y país :

Direccion = Angamos 1535-201, Lima, Perú


Domicilio = Angamos 1535-201

Dirección Ciudad = Lima

País = Perú

El valor del atributo compuesto es la concatenación de


los valores de los atributos simples que lo constituyen
Atributo Compuesto

ciudad
domicilio pais

dirección

CLIENTE
Atributo Compuesto
Estos atributos pueden formar una jerarquía

Dirección

Domicilio Ciudad País

calle numero departamento


Atributo Monovaluado

Estos atributos tienen un solo valor. Por ejemplo el


atributo edad :

edad

ALUMNO
Atributo Multivaluado
Es el caso en que un atributo puede tener un conjunto de
valores para la misma entidad. Por ejemplo el atributo
aficiones, así una persona podría tener mas de una afición :
internet, filatelia, lectura.

afición area

FUNCIONARIO
Atributo Almacenado
Es el que mantiene sus valores almacenados en algún
medio persistente. Por ejemplo el atributo fechaNacimiento

fechaNacimiento Si se desea trabajar


con este valor,
simplemente se le
FUNCIONARIO
extrae directamente
de su medio de
almacenamiento
Atributo Derivado
Es el que se obtiene en forma indirecta, normalmente a partir
de algún atributo almacenado. Por ejemplo el atributo edad ,
se puede obtener a partir del atributo fechaNacimiento y de la
fecha actual ( obtenible del S.O ).

edad

ALUMNO
Atributo Clave

Es un atributo cuyo valor es distinto para cada entidad


individual. Constituyen una variedad de restricción
importante y se puede expresar como restricción de clave
o de unicidad. De hecho son atributos que identifican de
manera inequívoca a una entidad.

El código de un empleado, es un ejemplo de atributo


clave :

código

EMPLEADO

A veces una clave se forma en base a varios atributos que se concatenan.


Esto nos llevaría al concepto de atributo compuesto, el cual se convertiría
en el atributo clave del tipo de entidades analizado.
Especifica los valores que es posible asignar a este atributo para
cada entidad individual.
Por ejemplo el atributo EDAD del tipo de entidades EMPLEADO.
Sabemos que en una empresa la edad legal para laborar
(varones) está entre 18 y 65 años, por tanto el dominio del
atributo EDAD sería (18,65)

El dominio no se representa en el DER.


Son asociaciones entre dos o más entidades que representan un hecho
o situación del mundo real. Se representan con rombos conectados
mediante líneas rectas con los los tipos de entidades asociados.

PROVEEDOR coloca ORDEN DE RELACION


COMPRA SIMPLE

MEDICO trata PACIENTE

MULTIRELACION
da
recibo
Es el número de tipos de entidades que participan en una relación

ORDEN DE GRADO 2
PROVEEDOR coloca
COMPRA

PROFESOR dicta CURSO

Az|1
GRADO 3
AULA
Se produce cuando dos entidades relacionadas requieren almacenar
un dato que no corresponde a ninguna de ellas. Por ejemplo, un
cliente compra artículos :

CLIENTE compra ARTICULO

pero si deseamos recordar que día se compró ese artículo,


donde se almacenaría la fecha ?
La fecha de compra no es atributo de cliente
La fecha de compra no es atributo de artículo
La fecha de compra esta asociada a la compra misma :
fecha

CLIENTE compra ARTICULO


Todo tipo de entidades cuando participa en un tipo de relaciones,
desempeña algún rol. Por ejemplo en el tipo de relación :

EMPLEADO Pertenece DEPARTAMENTO


a

Aquí EMPLEADO desempeña el rol de empleado o trabajador y el


tipo de entidad DEPARTAMENTO tiene el rol de departamento o
patrón.
trabajador patrón
EMPLEADO Pertenece DEPARTAMENTO
a

Normalmente no es necesario escribir los roles en los tipos de


relaciones cuando los nombres de los tipos de entidades son
distintos, ya que cada nombre de tipo de entidades es autodescriptivo
y se puede usar para expresar su rol.
Un tipo de relaciones es recursiva, cuando en algunos casos el
mismo tipo de entidades participa mas de una vez en un tipo de
relaciones con roles diferentes. En tales casos el nombre del rol
resulta indispensable para distinguir el significado de cada
participación

Pertenece DEPARTAMENTO
EMPLEADO
a
supervisor supervisado

supervisión
Son restricciones que aplican los tipos de relaciones sobre las
entidades que participan en la relación, limitando sus posibles
combinaciones.

Por ejemplo una empresa puede tener como norma que un


empleado solo puede pertenecer a un solo departamento. Por otro
lado como es obvio, a un departamento pertenecen muchos
empleados. El asunto es como expresar esta restricción ?
Este tipo de relación se modela y se lee así :
( de IZQ a DER )
Un empleado pertenece a un Departamento

N Pertenece 1
EMPLEADO DEPARTAMENTO
a

( de DER a IZQ )
A un Departamento pertenecen muchos empleados
1. RAZON DE CARDINALIDAD
2. RESTRICCION DE PARTICIPACION
Indica cuantas veces puede participar una entidad en un
tipo de relaciones
(1,1) Indica uno a uno

(1,N) Indica uno a muchos

(M,N) Indica muchos a muchos


En el Departamento de Marketing trabajan 35 personas y hoy
Jorge Lamas ha sido nombrado Gerente de este Departamento y
por tanto, tiene ahora la grave responsabilidad de dirigir a todas
las demás personas. Si deseamos modelar esta empresa :

1 dirige 1
EMPLEADO DEPARTAMENTO

Como se lee este modelo ?

Un empleado dirige un Departamento


Un Departamento es dirigido por un empleado
Si asumimos que en todas las empresas comerciales se cumple que
un vendedor puede visitar a muchos clientes y que un cliente debe
ser visitado por un vendedor. Como modelaría esta situación ?

1 M
VENDEDOR visita CLIENTE

Como se lee este modelo ?

Un vendedor visita muchos clientes


Un cliente es visitado por un vendedor
M N
ALUMNO matricularse CURSO

Como se lee este modelo ?


Un alumno puede matricularse en muchos cursos
En un curso pueden matricularse muchos alumnos

M tiene N
ORDEN ARTICULO

Como se lee este modelo ?


Una orden tiene muchos articulos
Un artículo está presente en muchas ordenes
1. TOTAL
2. PARCIAL

R es un tipo de relación entre los tipos de entidades E1 y E2. Se


dice que E1 participa totalmente en el tipo de relación R, si toda
entidad de E1 esta relacionada con por lo menos una entidad de E2
M 1
EMPLEADO Pertenece DEPARTAMENTO
a

Ejemplo : Todo empleado debe


pertenecer a un departamento

Ejemplo : A Todo departamento


PARTICIPACION
le pertenecen empleados
TOTAL
Un tipo de entidades E1 participa
parcialmente en el tipo de relación R
1 1
EMPLEADO dirige DEPARTAMENTO

Ejemplo : No todo empleado


dirige un departamento
Todo departamento es dirigido
por un empleado ( total)

1 tiene 1
PROFESOR OFICINA

Ejemplo : No todo profesor


tiene una oficina
No toda oficina tiene un
profesor ( también parcial)
La empresa Cosmos S.A. vende maquinaria industrial de
última tecnología, existiendo dentro de la empresa como
es obvio un área de ventas. Cada vendedor trabaja con
diversos tipos de clientes y tiene acceso a varios
consultores distintos en la organización. Cuando el
cliente pide información muy especializada, el vendedor
debe acceder a los consultores de la compañía para que
ellos informen al cliente en una sesión de consultoría. Una
sesión de consultoría para un cliente puede requerir varios
consultores, cuando el tema es muy complejo. Durante la
sesión el vendedor no se involucra y los consultores
informan directamente al cliente.
Desarrolle el DER
correspondiente
IDENTIFICAR ENTIDADES
Primero identificar tipos de entidades, para ello buscar objetos sustantivos
importantes, tal que a la organización le sería útil almacenar información
sobre ellos. Entonces dar nombre a los tipos de entidades
Cuales son los atributos que identificarían a estas entidades ?

Identificar el atributo clave

VENDEDOR CLIENTE CONSULTOR SESION

codVend codClien codConsul numSesion


nombre nombre nombre fecha
Atributos apellido codClien
apellido fono apellido
fechNac fechNac codConsul
fax
interes especiald

Atributo numSesion
codVend codClien codConsul
clave codClien
IDENTIFICAR TIPOS DE RELACIONES

VENDEDOR - CLIENTE

VENDEDOR Trabaja CLIENTE


con
VENDEDOR - CONSULTOR

VENDEDOR accesa CONSULTOR

CONSULTOR- CLIENTE

CONSULTOR informa CLIENTE

CLIENTE - SESION

CLIENTE asiste SESION

CONSULTOR - SESION

CONSULTOR asiste SESION


DEFINIR CARDINALIDAD

1 N
VENDEDOR Trabaja CLIENTE
con

M N CONSULTOR
VENDEDOR accesa

M 1
CONSULTOR informa CLIENTE

1 1
CLIENTE asiste SESION

CONSULTOR N 1
asiste SESION
DEFINIR PARTICIPACION

1 N
VENDEDOR Trabaja CLIENTE
con

M N
VENDEDOR accesa CONSULTOR

M 1
CONSULTOR informa CLIENTE

1 1
CLIENTE asiste SESION

N 1
CONSULTOR asiste SESION
DIAGRAMA ENTIDAD - RELACION CONSTRUIDO

1 N
VENDEDOR Trabaja CLIENTE
con

M
1
1
accesa
informa asiste

M 1
N

N 1
CONSULTOR asiste SESION

You might also like