Está en la página 1de 50

MODELADO

DE
DATOS
Base de Datos. Definición

Es un conjunto de datos organizados y


relacionados entre sí, con una estructura
independiente del programa que los acceda.

2
Base de Datos. Definición

3
¿Porqué necesitamos contar con una
base de datos?
Consideremos los datos de un banco:
DNI NOMBRE TELÉFONO DIRECCIÓN

33658954 Mabel Ávalos 4865-9987 Av Rivadavia 235 6º A

34568923 Rodolfo Triulzi 4203-5897 Ensenada 5897

32569870 Germán Riobo 4683-1234 Miralla 2567

4
Evitar la Redundancia de los Datos

Los datos que se guardan en la base de datos deben estar


mantenidos en un solo lugar a fin de evitar problemas
como:

▪ Incremento del trabajo

▪ Desperdicio de espacio de almacenamiento

▪ Inconsistencia de datos

5
Evitar la Redundancia de los Datos

Lo cual no se cumple en estos ejemplos, donde vemos el teléfono duplicado:

DNI NOMBRE TELÉFONO DIRECCIÓN


33658954 Mabel Ávalos 4865-9987 Av Rivadavia 235 6º A
34568923 Rodolfo Triulzi 4203-5897 Ensenada 5897
32569870 Germán Riobo 4683-1234 Miralla 2567

DNI CUENTA SALDO TELÉFONO


33658954 25687/12 $ 200,00 4865-9987
34568923 56874/13 $ 2.369,25 4203-5897
32569870 58964/10 $ 10,89 4683-1234

6
Mantener la Integridad de los Datos

Los datos que se guardan en la base de datos


deben estar validados y relacionados.

7
Mantener la Integridad de los Datos

Lo cual no se cumple en este ejemplo, donde vemos que el DNI no es


siempre numérico y el saldo de una cuenta no es siempre positivo:

DNI CUENTA SALDO TELÉFONO

336589A5 25687/12 $ 200,00 4865-9987

34568923 56874/13 $ -2.369,25 4203-5897

32569870 58964/10 $ 10,89 4683-1234

8
Gestionar la Atomicidad de las
Transacciones

Una transacción es un evento que agrega, modifica o


elimina la información almacenada en la base de datos.

Si la transacción falla, las actualizaciones que se


realizaron hasta el momento serán deshechas.

Si la transacción llega al fin, los cambios se volverán


parte de la base de datos.

9
Gestionar la Atomicidad de las
Transacciones
DNI CUENTA SALDO

33658915 25687/12 $ 2000,00

34568923 56874/13 $ 2.369,25

32569870 58964/10 $ 10,89

Si por alguna razón, la DNI CUENTA SALDO


transacción de movimiento de
dinero fallara, el saldo no debería 33658915 11290/15 $ 1264,60
cambiar. Si la transacción se 34568923 67578/16 $ 340,25
completa con éxito, el cambio
debe quedar reflejado en la base 32569870 45632/17 $ 130,89
de datos.
10
Gestionar la Concurrencia y el
Aislamiento (Isolation)

Mediante la concurrencia y el aislamiento, es


posible que los usuarios accedan todos juntos a
la información de las bases de datos y puedan
actualizarla de manera ordenada y simultánea.

11
Gestionar la Concurrencia y el
Aislamiento (Isolation)
DNI CUENTA SALDO

33658915 25687/12 $ 2000,00

34568923 56874/13 $ 2.369,25

32569870 58964/10 $ 10,89

La posibilidad de realizar transacciones en diferentes cuentas


debe poder ejecutarse sin problemas y de forma simultánea.

12
Gestionar la Seguridad de los Datos

Gestionar la protección de los datos, la cual


debe llevarse a cabo contra los fallos humanos
(intencionales o no), físicos y lógicos.

13
Gestionar la Seguridad de los Datos
Por ejemplo se debe evitar el acceso indebido a los datos de las cuentas bancarias.

DNI CUENTA SALDO TELÉFONO

33658935 25687/12 $ 200,00 4865-9987

34568923 56874/13 $ -2.369,25 4203-5897

32569870 58964/10 $ 10,89 4683-1234

14
Historia de Base de Datos
❖ Jerárquicas
❖ En red
❖ Relacionales (RDBMS)
❖ Orientadas a Objetos (OO)
❖ Objecto - Relational (ORDBMS)
❖ XML nativas
❖ BD habilitadas para XML
15
Tipos de Base de Datos
❖ Según la variabilidad de los datos almacenados:
❖Estáticos (históricos, sólo lectura)
❖Dinámicos (ABM)

❖Según el contenido:
❖Bibliográficas
❖Texto Completo
16
Modelo Lógico y Modelo Físico

Idea Modelo
Lógico

Modelo
Físico

Base de Datos
17
¿Porqué es necesario la generación
del Modelo Lógico y el Modelo Físico?

❖ Describir la información que necesita el negocio


❖ Prevenir y evitar errores y malos entendidos
❖ Facilitar la discusión
❖ Generar documentación del sistema
❖ Fortalecer una buena práctica, etc

18
Modelo Lógico. Entidad

Una entidad es cualquier persona, lugar, cosa, evento o


concepto distinguible sobre el que se mantiene
información.

19
Modelo Lógico. Entidad

Por ejemplo una entidad podría ser un alumno. Para


representarlo, utilizamos la siguiente manera:

ALUMNO

20
Modelo Lógico. Atributo

El atributo es una propiedad de una entidad, es una


característica que permite definir y conocer una entidad.
Puede ser obligatorio u opcional.

21
Modelo Lógico. Atributo
Por ejemplo los atributos de la entidad alumno podrían ser el
nombre, el apellido, la fecha de nacimiento, el documento y el mail.
Los primeros son del tipo obligatorio y el último es opcional. Para
representarlos utilizamos la siguiente manera:

ALUMNO

* Nombre
* Apellido
* Fecha de Nacimiento
* DNI
o Mail

22
Modelo Lógico. Instancia

La instancia es una ocurrencia simple de una entidad y


contiene valores específicos para esa entidad.

23
Modelo Lógico. Instancia

Por ejemplo una instancia de la entidad alumno podrían ser Juan,


Pérez, 06/03/2012, 35.689.214 y juanperez@gmail.com

ALUMNO

* Nombre - Juan
* Apellido
* Fecha de Nacimiento
- Pérez
* DNI - 06/03/2012
o Mail
- juanperez@gmail.com

24
Modelo Lógico. Relación

✓ La relación es una conexión que indica una


vinculación entre dos entidades.
✓ La relación se describe a partir de una frase verbal.

25
Modelo Lógico. Relación
Por ejemplo un alumno debería rendir exámenes en el colegio y obtener notas. Si
tenemos ambas entidades, es a partir de la relación donde generamos el vínculo
entre ellas. Las relaciones son bidireccionales, se leen de derecha a izquierda e
izquierda a derecha.

ALUMNO NOTAS

* Nombre * Nombre del Alumno


* Apellido * Apellido del Alumno
* Fecha de Nacimiento obtiene * Nota
* DNI * Fecha de Examen
o Mail
* Materia

26
Modelo Lógico. Relación. Modalidad

✓ La relación es una conexión que indica una


vinculación entre dos entidades. El vínculo puede ser
obligatorio (línea completa) u optativo (línea
punteada). Esto se denomina modalidad.

27
Modelo Lógico. Relación. Modalidad

Para nuestro ejemplo, podríamos considerar que un alumno siempre


va a tener notas, por lo cual la relación queda representada de la
siguiente manera:

ALUMNO NOTAS

* Nombre * Nombre del Alumno


* Apellido * Apellido del Alumno
* Fecha de Nacimiento obtiene * Nota
* DNI * Fecha de Examen
o Mail
* Materia

28
Modelo Lógico. Relación. Cardinalidad
✓ La relación es una conexión que indica una
vinculación entre dos entidades. El vínculo puede ser
definido por medio de la cardinalidad donde se indica
el número de instancias de una entidad que se
relaciona con un número de instancias de la otra
entidad.
✓ La cardinalidad puede definirse como:
✓ cero (ninguna)
✓ una
✓ muchas

29
Representación de Cardinalidad y
Modalidad
Cada cliente puede o no
tener un proveedor
Cliente Proveedor asociado, y puede tener 1 o
muchos. Cada proveedor,
puede tener un cliente
asociado y solo uno.

Cada cliente tiene asociado


Cliente un proveedor, y puede
Proveedor tener 1 o muchos. Cada
proveedor, puede tener un
cliente asociado y solo uno.
Cada cliente puede o no
tener un solo proveedor.
Cliente Proveedor Cada proveedor, puede
tener un cliente asociado y
solo uno.
30
Representación de Cardinalidad y
Modalidad
Cada cliente tiene asociado 1
solo proveedor. Y cada
Cliente Proveedor Proveedor puede tener
asociado 1 solo cliente.

Cada Cliente puede tener


asociado 1 proveedor o
Cliente Proveedor muchos o ninguno. Cada
proveedor, tiene asociado 1
solo cliente.
Cada cliente tiene un
proveedor y puede tener
Cliente Proveedor muchos. Cada
proveedor tiene 1 y solo
1 cliente.
31
Representación de Cardinalidad y
Modalidad

Cada cliente tiene un


proveedor asociado, y cada
Cliente Proveedor proveedor puede tener 1
cliente o ninguno asociado.

Cada cliente tiene 1


proveedor asociado y solo
Cliente Proveedor uno. Cada proveedor tiene
1 cliente asociado y solo 1.
Importante: La nomenclatura que utilizamos para marcar la cardinalidad y modalidad puede variar
dependiendo de la “herramienta case” que se utilice. En este caso, usamos el circulo para marcar la
“opcionalidad” y un “palito” para marcar la obligatoriedad (Modalidad). Utilizamos una “pata de gallo”
para marcar muchos, y un “palito” para marcar uno (Cardinalidad).

32
Modelo Lógico. Relación. Cardinalidad
Para nuestro ejemplo, podríamos considerar que un alumno puede
tener una o muchas notas y que una nota puede pertenecer sólo a un
alumno, lo cual queda representado de la siguiente manera:

ALUMNO NOTAS

* Nombre * Nombre del Alumno


* Apellido * Apellido del Alumno
* Fecha de Nacimiento obtiene * Nota
* DNI * Fecha de Examen
o Mail
* Materia

33
Integridad Referencial. Claves
Clave Candidata: uno o más atributos que podrían ser elegidos como PK.
Clave Primaria (PK): ALUMNO
Clave Alternativa (AK):
Un atributo o grupo de Una clave candidata que
atributos obligatorios que # Legajo no ha sido elegida como
* Nombre
han sido elegidos para * Apellido
clave primaria.
identificar unívocamente * Domicilio
a la entidad. * DNI
o Mail

Inversion Entry: Un atributo o grupo de atributos que serán


frecuentemente usados para acceder a una entidad pero que no resultarán
en encontrar exactamente una instancia en todos los casos.
34
Integridad Referencial. Claves
Clave Foránea (FK): Una clave primaria de una entidad que es heredada
por otra entidad a través de una relación.
Relación Identificatoria: Relación en la que la clave primaria de la entidad
padre se vuelve parte de la clave primaria de la entidad hija.
ALUMNO
NOTAS
# Legajo
# Legajo (FK)
* Nombre
obtiene # Fecha de Examen
* Apellido
* Nota
* DNI
o Mail * Materia

Frase Verbal: Expresión verbal que describe la relación entre las entidades
participantes. Generalmente se define la relación desde la entidad padre.
35
Integridad Referencial. Claves
Clave Foránea (FK): Una clave primaria de una entidad que es heredada
por otra entidad a través de una relación.
Relación No Identificatoria: Relación en la que la clave primaria de la
entidad padre NO se vuelve parte de la clave primaria de la entidad hija, sino
que se agrega como atributo no clave.
ALUMNO
CLASIFICACIÓN
# Legajo
* Nombre y Apellido # Código
* Cód. de Clasif. (FK) clasifica * Descripción
* DNI
o Mail

Frase Verbal: Expresión verbal que describe la relación entre las entidades
participantes. Generalmente se define la relación desde la entidad padre.
36
Integridad Referencial.
Relación Muchos a Muchos

37
Integridad Referencial.
Relación Muchos a Muchos

ALUMNO
MATERIA
# Legajo
# Código
* Nombre y Apellido
* Nombre de materia
* DNI
o Mail * Detalle
* Legajo Alumno (FK)
* Código de Materia (FK)

38
Integridad Referencial.
Relación Muchos a Muchos

ALUMNO
MATERIA
# Legajo
* Nombre y Apellido # Código
* DNI * Nombre de materia
o Mail * Detalle
CURSADA ALUMNO

# Legajo (FK)
# Código de Materia (FK)
* Fecha de aprobación
* Nota
o Observaciones

39
Integridad Referencial.
Relación Recursiva
Es una Relación No Identificatoria en la que la misma entidad es
padre e hijo.

PERSONA

# cuil
* fecha de nacimiento
* nombre y apellido
o cuil del padre (FK)

es padre de

40
Clasificación de Entidades (1 / 2)
CLASIFICACIÓN
CLASE DESCRIPCIÓN
# codigo
* descripción
Independiente Atributos Propios

CURSO DOCENTE
Asociativa Se genera a partir de
# codigo de docente (FK)
dos o más Relaciones # codigo de curso (FK)

NOTAS
Dependencia Simple Se genera por medio de
o Débil una Relación más atributos # Legajo (FK)
# Fecha de Examen
propios * Nota
* Materia

41
Clasificación de Entidades (2 / 2)
CLASE DESCRIPCIÓN

Jerarquía de Es un agrupamiento jerárquico de entidades que


Generalización comparten características comunes.

EMPLEADO
Supertipo
# nro de empleado
* apellido y nombre
* sexo
* tipo de empleado

CONTRATADO EFECTIVO

# nro de empleado (FK) # nro de empleado (FK) Subtipos


* valor hora * sueldo bruto

42
Constraints. Definición
CONSTRAINT es una restricción que asegura la integridad referencial
de la base de datos.
Internamente, a cada restricción se le asigna un nombre que se utiliza
para identificarla , modificarla y eliminarla cuando se quiera.
Tipos de constraints que trabajaremos son:
PRIMARY KEY (ya lo vimos)
FOREIGN KEY (ya lo vimos)
UNIQUE KEY (lo conocemos como clave alternativa)
CHECK
NOT NULL (lo conocemos como atributo obligatorio)
43
Constraints. Check

CHECK: SEXO = “F” OR SEXO = “M”

EMPLEADO

# nro de empleado
* sexo
* nombre y apellido
o dirección
o teléfono
* fecha de alta

44
Dominio
Es un conjunto de valores aplicados a las propiedades de un atributo.
PERSONA

#* tipo de documento
#* nro de documento
* nombre
* apellido
o dirección

DOCENTE ALUMNO
EMPLEADO
#* tipo de documento #* tipo de documento
#* tipo de documento
#* nro de documento #* nro de documento
#* nro de documento
* legajo * fecha de ingreso
* cargo
* fecha de antigüedad * becado
* sector
o titulo o repitio

45
Auditoría
 Proporciona información sobre instancias históricas.
 Facilita el análisis y la toma de decisiones.

CUOTA

# nro de cuota
* valor de la cuota
* nivel
* vigencia desde
o vigencia hasta
* fecha de alta
* usuario
* motivo de alta
* motivo de baja

46
Instalación de una base de datos Oracle

 Existen versiones gratuitas para instalar una base de


datos Oracle en la que podrás practicar todo lo
aprendido en el curso.
 En el documento word encontrarás una serie de
pasos para instalar la misma. Exitos !.

47
¿Dudas?

Si quedaron dudas o
necesitas mas ejemplos,
luego de leer esta
presentación y el archivo
PDF, subí tu duda al foro!
No lo dudes!!

48
A trabajar entonces…

Completa el cuestionario,
no lo olvides.

Y si tenés ganas, podes


entregar la actividad
opcional así profundizas
mas sobre este tema.
49
Muchas Gracias!

50

También podría gustarte