Você está na página 1de 43

Base de Datos Elaborado por la Profesora:

Ma Luisa Giacaman V
1

Modelos de Datos

Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos.
Tpicamente un modelo de datos permite describir:

Las estructuras de datos de la base: El tipo de los datos que hay en la base y la
forma en que se relacionan.

Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los
datos para reflejar correctamente la realidad deseada.

Operaciones de manipulacin de los datos: tpicamente, operaciones de agregado,
borrado, modificacin y recuperacin de los datos de la base.

Otro enfoque es pensar que un modelo de datos permite describir los elementos de la
realidad que intervienen en un problema dado y la forma en que se relacionan esos
elementos entre s.

No hay que perder de vista que una Base de Datos siempre est orientada a resolver
un problema determinado, por lo que los dos enfoques propuestos son necesarios en
cualquier desarrollo de software.

Sub lenguajes de un modelo de datos

Un '''modelo de datos''' es un lenguaje que, tpicamente, tiene dos sub lenguajes:
''Lenguaje de Definicin de Datos'' DDL (Data definition Language),
orientado a describir de una forma abstracta las estructuras de datos y las
restricciones de integridad.

''Lenguaje de Manipulacin de Datos'' DML (Data Manipulation Language),
orientado a describir las operaciones de manipulacin de los datos.
La parte del Lenguaje de Manipulacin de Datos DML orientada a la recuperacin de
datos, usualmente se le llama Lenguaje de consulta QL (Query Language).


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
2

Clasificacin de los modelos de datos
Los modelos de datos se clasifican de acuerdo al nivel de abstraccin que presentan:
Modelos de Datos Conceptuales: orientados a la descripcin de estructuras
de datos y restricciones de integridad.
Se usan fundamentalmente durante la etapa de Anlisis de un problema dado y
estn orientados a representar los elementos que intervienen en ese problema
y sus relaciones. El ejemplo ms tpico es el Modelo entidad-relacin.

La Etapa de Modelo de Datos Conceptual, consiste en definir y modelar
las cosas con significado acerca de las cuales el negocio necesita
conocer o tener informacin.
Un Modelo de Datos de Entidad-Relacin debera modelar exactamente
las necesidades de informacin de la organizacin y soportar las
funciones del negocio.

Modelos de Datos Lgicos: orientados a las operaciones ms que a la
descripcin de una realidad. Usualmente estn implementados en algn SGBD
o Manejador de Base de Datos.
El ejemplo ms tpico es el Modelo Relacional, que cuenta buenas
caractersticas conceptuales, Normalizacin de bases de datos.

Modelos de Datos Fsicos: estructuras de datos a bajo nivel implementadas
dentro del propio SGBD, manejador.
Ejemplos tpicos de estas estructuras son los [rbol-B+|rboles B+], las
estructuras de Hash, etc.

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
3

Modelo Relacional

El modelo relacional para la gestin de una base de datos es un modelo de datos
basado en la lgica de predicados y en la teora de conjuntos.

Es el modelo ms utilizado en la actualidad para modelar problemas reales y
administrar datos dinmicamente.

Su idea fundamental es el uso de relaciones, las que podran considerarse en forma
lgica como conjuntos de datos llamados tuplas, (cada fila de la tabla sera un
registro o tupla)

Descripcin

En el modelo relacional todos los datos son almacenados en relaciones, y como
cada relacin es un conjunto de datos, el orden en el que stos se almacenen no tiene
relevancia (a diferencia de otros modelos como el Base de datos jerrquica y el de
Base de datos de red).

La ventaja que tiene es que es ms fcil de entender y de utilizar por un usuario no
experto. Los datos pueden ser recuperados o almacenados por medio de consultas.

El modelo relacional considera la base de datos como una coleccin de
relaciones.

De manera simple, una relacin representa una tabla que no es ms que un conjunto
de filas, cada fila es un conjunto de campos y cada campo representa un valor que
interpretado describe el mundo real.

Cada fila tambin se puede denominar tupla o registro y a cada columna tambin se
le puede llamar campo o atributo.





Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
4

Esquema

Un esquema contiene la definicin de una estructura (generalmente relaciones o
tablas de una base de datos), es decir, determina la identidad de la relacin y qu tipo
de dato podr ser almacenada dentro de ella; en otras palabras, el esquema contiene
los 'metadatos' de la relacin.

Todo esquema constar de:
Nombre de la relacin (su identificador).
Nombre de los atributos (o campos) de la relacin y sus dominios; el dominio
de un atributo o campo define los valores permitidos para el mismo,
equivalente al tipo de dato por ejemplo ''character'', ''integer'', ''date'', ''string''...


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
5

Instancias

Una instancia es la aplicacin de un esquema a un conjunto finito de datos, es decir se
puede definir como el contenido de una tabla en un momento dado, pero tambin
es vlido referirnos a una instancia cuando trabajamos o mostramos nicamente un
subconjunto de la data contenida en una relacin o tabla, como por ejemplo:
Ciertos caracteres y nmeros (una sola columna de una sola fila).
Algunas o todas las filas con todas o algunas columnas
Cada fila es una tupla. El nmero de filas es llamado ''cardinalidad''.
El nmero de columnas es llamado '' grado''.

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
6

Base de Datos Relacional
Una base de datos relacional es un conjunto de una o ms tablas estructuradas en
registros (lneas) y campos (columnas), que se vinculan entre s por un campo en
comn, en ambos casos posee las mismas caractersticas como por ejemplo el
nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID,
identificador o clave, PK.
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalizacin de una base de datos, el cual es entendido como el proceso necesario
para que una base de datos sea utilizada de manera ptima.
Objetivos del Modelamiento de Datos
Es desarrollar un modelo E/R que represente los requerimientos de informacin del
negocio
Por el.
El sig. Modelo E-R representa los requerimientos de informacin de un Depto de
RRHH










Componentes del Modelo E-R
Entidades cosas con significado acerca de las cuales se necesita tener informacin
Relaciones la forma en que son relacionadas las cosas con significado
Atributos la informacin especfica que se necesita tener.
EMPLEADO
# numero
* nombre
*apellido
cargo
*fecha contrato
sueldo
comision
DEPARTAMENTO
#numero
*nombre
*ubicacion
Asignado
a
El Jefe de
Trabajar
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
7



Ventajas del Modelamiento de Datos
Un Modelo E-R es un medio efectivo para representar los requerimientos de
informacin de una organizacin.
Sintaxis robusta: porque documenta los requerimientos de informacin de una
organizacin en un formato claro y preciso
Comunicacin con el Usuario Los usuarios pueden fcilmente entender su
simbologa
Facilidad de Desarrollo provee un panorama claro del alcance de los requerimientos
de informacin de una organizacin.
Definicin del Alcance proveen un panorama claro del alcance de los requerimientos
de informacin de un organizacin.
Integracin provee un esquema efectivo para integrar aplicaciones.


Discusin
Asegrese de establecer loa requerimientos de informacin de una organizacin
durante la etapa de modelamiento de datos conceptual. Los cambios es los
requerimientos durante las etapas posteriores del ciclo de vida del desarrollo pueden
resultar extremadamente caros.

NOTA Integracin es compartir entidades.


El modelo de datos Conceptual es independiente del Hw o Sw a ser usado en la
implementacin.
Un modelo E- R puede ser mapeado a una base de datos jerrquica, de red, relacional
o esquema de mltiples archivos

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
8

Entidades
Una entidad es una persona, lugar o cosa, de inters para los usuarios, acerca de la
cual el sistema debe mantener, conocer y modelar data
Discusin
Las entidades son sustantivos (son candidatos a ser entidades)
Las entidades estn dentro del alcance del sistema
Las entidades existen por si mismas, por lo tanto no dependen ni estn
subordinadas a otras.
Las entidades pueden ser tangibles (tales como edificios o empleados),
intangibles como (deptos.., ctas) o semi tangibles (pedidos, facturas)
Cada entidad debe tener mltiples ocurrencias o instancias
(Ocurrencias = muchos registros, muchos elementos dentro de la entidad, tiene
muchos elementos)
Si una entidad no puede ser identificada de manera nica podra no ser
entidad.


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
9

Simbologa para Diagramar Entidades

Caja de contornos suaves con cualquier dimensin
Nombre de entidad singular y nico
Nombre de entidad en mayscula
Sinnimo opcional (entre parntesis)
Ejemplos










Discusin
Un sinnimo es un nombre alternativo para una entidad
Los sinnimos son tiles cuando dos grupos de usuarios tienen diferentes
nombres para la misma entidad.


EMPLEADO
(TRABAJADOR)

DEPARTAMENTO

AUTOMOVIL

FACTURA

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
10

Identificando y Modelando Entidades

Siga la secuencia de pasos que se indican, para extraer las entidades desde notas de
entrevista
1. Sustantivos tienden a ser entidades, por lo tanto marque todos los sustantivos
de las notas de entrevista.

2. Verifique si las entidades definidas estn dentro del alcance del sistema.

3. Hay informacin de inters acerca de la entidad que el negocio necesita
tener?

4. Escriba una descripcin de ella.
Un EMPLEADO tiene el significado de un trabajador pagado en la compaa.
Por ej. Juan Perez y Mara Muoz son EMPLEADOs

5. Diagrame cada entidad.



Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
11

Asociaciones
Una asociacin es una relacin entre dos o ms entidades (u otras asociaciones), de
inters para el grupo de usuarios, acerca de la cual el sistema debe mantener,
correlacionar y mostrar informacin.
Las asociaciones ocurren de tres formas:
uno a uno (1:1)
uno a muchos (1:M)
muchos a muchos (M:M)

Discusin
Las asociaciones ocurren tpicamente entre una entidad y otra (clientes y
pedidos, por ej, o pedidos y presupuestos), pero pueden involucrar cualquier
nmero de entidades e interrelaciones.


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
12

Lectura de Relaciones


Cada entidad1 nombre relacin entidad2

Ejemplos:

1. Lea la relacin entre PARTICIPANTE Y CURSO




Cada PARTICIPANTE podra estar inscrito en uno y slo un CURSO
Cada CURSO podra ser tomado por uno o ms PARTICIPANTES

2. Lea la relacin entre CHEQUE Y EMPLEADO





Cada CHEQUE debe ser para uno y slo un EMPLEADO
Cada EMPLEADO podra ser el receptor de uno o ms CHEQUEs




debe ser
o
puede ser

Una o mas
o
una y solo una

PARTICIPANTE
CURSO
Inscrito en
Tomado por
CHEQUE
EMPLEADO
para
el receptor de
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
13

Simbologa para Diagramar Asociaciones

Una lnea entre dos entidades
Nombre de relaciones en minscula
Opcionalidad



Grado

uno o ms










Opcional (puede ser o estar)
Obligatorio (debe ser o estar)
uno y solo uno


>
muchos
(Pata de Gallo)
Obligatorio
Opcional
uno
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
14

Asociaciones de uno a uno
Una asociacin de uno a uno ocurre cuando dos entidades (digamos A y B) estn
relacionadas, a lo ms con una ocurrencia de entidad B, y cada ocurrencia de entidad
B relacionada, a lo ms con una ocurrencia de entidad A.




Ejemplos
Hay una relacin 1:1 entre MICROCOMPUTADOR Y TARJETA MADRE
Cada


Cada MICROCOMPUTADOR debe ser el host para una y slo una TARJETA MADRE.
Cada TARJETA MADRE podra estar incorporada en uno y slo un
MICROCOMPUTADOR





MICROCOMPUTADOR
TARJETA MADRE host para
Incorporado en
ENTIDAD A
ENTIDAD B
1 1
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
15

Asociaciones de uno a muchos

Una asociacin de uno a muchos ocurren cuando dos entidades (digamos A, B) se
relacionan de la sig. manera:
Cada ocurrencia de entidad A est relacionada a cero, una o ms ocurrencias(s) de
entidad B, pero cada ocurrencia de entidad B est relacionada con, a lo menos, una
ocurrencia de entidad A.





Ejemplo

Hay una relacin de 1:M entre REPRESENTANTE DE VENTAS y CLIENTE.








Cada CLIENTE debe ser visitado por uno y slo un REPRESENTANTE DE VENTAS.
Cada REPRESENTANTE DE VENTAS podra ser asignado a visitar uno o ms
CLIENTEs
ENTIDAD A
ENTIDAD B
1 M
<
CLIENTE
REPRESENTANTE
DE VENTAS
visitado por
asignado a visitar
<
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
16

Asociaciones de muchos a muchos

Una asociacin de muchos a muchos ocurre cuando dos entidades (digamos A y B)
estn relacionadas de la siguiente manera:
Cada ocurrencia de entidad A est relacionada a cero, una o ms ocurrencia(s) de
entidad B, y cada ocurrencia de entidad B est relacionada a cero, una o ms
ocurrencia(s) de entidad A.





Ejemplo

Hay una relacin M:M entre PARTICIPANTE Y CURSO





Cada PARTICIPANTE podra ser inscrito en uno o ms CURSOs.
Cada CURSO podra ser tomado por uno o ms PARTICIPANTEs.

Hay una relacin M:M entre EMPLEADO y OCUPACION






Cada EMPLEADO debe ser asignado a una o ms OCUPACIONes.
Cada OCUPACION podra ser ejecutada por uno o ms EMPLEADOs.

ENTIDAD A
ENTIDAD B
M M
<
<
PARTICIPANTE
CURSO
inscrito en
tomado por
<
<
EMPLEADO
OCUPACION asignado a
ejecutado por
<
<
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
17

Resolucin de relaciones M:M











PARTICIPANTE
CURSO
inscrito en
tomado por
<
<
PARTICIPANTE
CURSO
NUB = Entidad asociativa
La relacin debe ser
obligatoria y de 1:M
> <
PARTICIPANTE/
CURSO
La relacin debe ser
obligatoria y de 1:M
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
18

Determine la Existencia de una Relacin (Paso 1)
Cuando hay dos sustantivos juntos que son entidades, las palabras de entremedio son
a menudo relaciones.
Ejemplos:
por supuesto, el Proyecto tiene que ser autorizado por el Usuario

cada DEPARTAMENTO es responsable del EMPLEADO


cada EMPLEADO fue asignado a un DEPARTAMENTO
Nombre de la
Relacin
Relacin
Relacin
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
19

Nombre de la Relacin (Paso 2)
Cmo est relacionada una ENTIDAD A con una ENTIDAD B?
Una ENTIDAD A es un nombre de relacin de una ENTIDAD B.
Cmo est relacionada una ENTIDAD B con una ENTIDAD A?
Una ENTIDAD B es un nombre de relacin de una ENTIDAD A.
Ejemplo
Considere la relacin en DEPARTAMENTO y EMPLEADO.

Cmo est relacionado un DEPARTAMENTO con un EMPLEADO?
Cada DEPARTAMENTO es responsable de un EMPLEADO

Cmo est relacionado un EMPLEADO con un DEPARTAMENTO?
Cada EMPLEADO es asignado a un DEPARTAMENTO.



Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
20

Determine la Opcionalidad de la Relacin (Paso 3)
Pregunte acerca de la opcionalidad de la relacin.
Debe una ENTIDAD A ser de una ENTIDAD B? Siempre?
Ejemplo
Considere la relacin entre DEPARTAMENTO y EMPLEADO.

Analista Pregunta
Debe ser un EMPLEADO asignado a un DEPARTAMENTO?Siempre?
Hay alguna situacin en la cual un EMPLEADO no sea asignado un
DEPARTAMENTO?

Usuario Respuesta
No, un EMPLEADO debe siempre ser asignado a un DEPARTAMENTO.

Analista Consolida








Nombre de la Relacin
EMPLEADO

DEPARTAMENTO
asignado a
responsable de
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
21

Determine la Cardinalidad de la Relacin (Paso 4)
Pregunte acerca del Grado de una Relacin
Podra una ENTIDAD A ser nombre de relacin de ms de una ENTIDAD B?
Podra una ENTIDAD B ser nombre de relacin de ms de una ENTIDAD A?
Ejemplo
Considere la relacin entre DEPARTAMENTO y EMPLEADO.

Analista Pregunta
Podra un EMPLEADO ser asignado a ms de un DEPARTAMENTO?

Usuario Respuesta
No, un EMPLEADO debe ser asignado a solo un DEPARTAMENTO

Analista Pregunta
Podra un DEPARTAMENTO ser responsable de ms de un EMPLEADO?

Usuario Respuesta
Si, un DEPARTAMENTO podra ser responsable de ms de uno o ms EMPLEADOs.

Analista Consolida






EMPLEADO

DEPARTAMENTO
asignado a
responsable de
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
22

Valide la Relacin (Paso 5)

Re- examine el modelo E-R y valide la relacin.
Las relaciones deben ser legibles y tener sentido de negocios.

Ejemplo
Lea la relacin representada por el siguiente diagrama.




Cada EMPLEADO debe ser asignado a un y slo un DEPARTAMENTO
Cada DEPARTAMENTO podra ser responsable de uno o ms EMPLEADOs.



EMPLEADO

DEPARTAMENTO
asignado a
responsable de
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
23

Nombres de Relaciones tiles
Use una lista de pares de nombres de relaciones para ayudar en el nombramiento de
relaciones.
Pares de Nombres de Relaciones
basado en base para
comprado a proveedor de
descripcin de para
operado por operador de
representado por representacin de
responsable de responsabilidad de

No use relacionado con o asociado a como nombres de relaciones
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
24

Atributos
Un atributo es una caracterstica o cualidad de una entidad asociacin, de inters para
el grupo de usuarios, acerca de la cual el sistema debe mantener y mostrar
informacin
Ejemplo

Cules son algunos atributos de la entidad EMPLEADO?
El nmero del empleado, identifica el EMPLEADO.
El nombre y apellido califican a un EMPLEADO.
La edad cuantifica a un EMPLEADO.

La situacin del empleo (por ej. activo, con licencia, despedido) expresa la situacin de
un EMPLEADO.

Discusin
El nombre de la entidad es siempre un calificador de nombre del atributo por
ej. cdigo de CURSO. Por lo tanto, un nombre de atributo no debera incluir en
su nombre, el nombre de la entidad.
Los nombres de atributos deberan ser especficos por ej., es cantidad,
cantidad retornada, o cantidad adquirida?
Un atributo debera ser slo asignado a una nica entidad.





Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
25

Simbologa para Diagramar Atributos
Los nombres de atributos son singulares y se muestran en minscula
Ejemplo










Siempre divida los atributos en sus componentes significativos ms bajos.
Ejemplos
El nombre de una PERSONA puede ser dividido en apellido y nombre



El nmero de ITEM consiste de tipo, proveedor, y nmero de item





EMPLEADO
nmero de identificacin
nmero de planilla de sueldo
nombre
apellido
fecha de nacimiento
situacin empleo

PERSONA
sexo
peso
CURSO
cdigo
nombre
duracin
valor

PERSONA
nombre
PERSONA
apellido
nombre
ITEM
nmero
ITEM
tipo
proveedor
nmero
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
26

Verifique que cada atributo tenga un valor nico para cada instancia de entidad. Un
atributo de mltiples valores o grupo repetitivo no es un atributo vlido.
Ejemplo
Son los atributos de CLIENTE de un solo valor




No, un CLIENTE podra ser contactado mltiples veces, y el negocio necesita
mantener todas las fechas de contacto. La entidad CONTACTO est faltante




Un atributo que tenga ms de un valor para cada instancia indica una entidad faltante.













CLIENTE
Id
fecha contactado
CLIENTE
Id
CONTACTO
fecha contactado
lugar
resultado

para
sujeto de
>
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
27

Claves Primarias

Un identificador de entidad basado en el concepto de dependencia funcional
Se compone de un solo atributo.
Un atributo que de manera nica identifica cada entidad en la tabla.
Las claves primarias aparecen subrayadas en el diagrama E-R.

Atributos

Compuestos
Es aquel atributo que se puede subdividir a su vez en ms atributos
Adicionales Ejemplo: ADDRESS

Simple
No se puede dividir, por ej sexo, edad estado civil

Sencillo
Puede tener un solo valor por ej #SS, # se serie

Valor mltiple
Pueden tener muchos valores. Ejemplo: personas-varios grados acadmicos, varios
Telfonos.

Derivados
No se guardan fsicamente en la base de datos, en su lugar, se deriva por medio de un
algoritmo. Ejemplo: la edad de un empleado EMP_AGE, puede determinarse
calculando el valor entero de la diferencia entre la fecha actual


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
28

Formas Normales (FN)
Primera FN
La relacin entre el id de la entidad y sus atributos debe ser 1:1 en esa direccin.
Validar que cada atributo tenga un valor nico, para cada ocurrencia de la entidad.
Ningn atributo debe tener valores repetitivos, por ej,
fecha_1
fecha_2
fecha_n

Si tiene mltiples valores, entonces cree una entidad adicional y relacinela con la
entidad original con una relacin 1:1. Por ej:














Segunda FN

Un atributo debe ser dependiente el id de la entidad, de lo contrario est mal puesto,
pertenece a otra entidad.

Tercera FN

La relacin entre dos atributos que no son id de la entidad, no debe ser 1:1. Se deben
mover y crear una nueva entidad.

CLIENTE
# Id
CONTACTO
#fecha
lugar
resultado

para
sujeto de
>
La relacin va a depender
de la situacin.
La relacin debe ser
obligatoria y de M:1
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
29

Ejercicio
1. Identifique y corrija todas las violaciones a las 3FN en la siguiente tabla

EMPLEADO
empleado_numero empleado_nombre dept_cod dept_nombre fecha_contrato fecha_nacimiento
PK NN
1 jones ve ventas 15/01/2010 28/12/1980
2 bell in investigacin 29/02/1999 11/11/1961
3 black ve ventas 28/12/2001 15/01/1990
4 adams ve ventas 11/11/2011 29/02/1949

2. Haga una lista de cuatro caractersticas indeseables de la tabla EMPLEADO
como violaciones de la 3FN
Desde el punto de vista:

Insert
Update
Delete

Argumentos:
si se crea un departamento impone a crear un empleado
dept_nombre al ser ingresado no es posible de validar
al cambiar el nombre de un departamento dept_nombre, se debe actualizar de
a un registro
un departamento con un (1) empleado, al eliminar el empleado se acaba el
departamento.
si se elimina un departamento, se eliminan los empleados

Rel 1:1 por lo tanto viola la 3FN
Existencia de problemas de rendimiento
Desde el punto de vista de insercin impone condiciones
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
30

Ejercicio

Identifique y corrija las violaciones a las FN en las siguientes tablas. Argumente.

CURSO
curso_numero curso_nombre profesor_cod dept_cod dept_nombre profesor_nombre
PK
1 ing hp i ingenieria harry
2 dif ae m matemticas albert
3 bd sj i ingenieria steve
4 di vv a arte vincent




ALUMNO
alumno_numero alumno_nombre curso_numero1 curso_numero2 curso_numero3 nota_promedio
PK FK FK FK
taringa 1 3 4 2,0
antonio 2 2,0
leonardo 1 2 1,5
lilian 3 3.0




CURSO/ALUMNO
curso_numero alumno_numero nota profesor_cod nota_desc curso_nombre
PK

1 1 4 hp superior ing
1 3 1 hp malo ing
2 2 2 ae regular dif
2 3 2 ae regular dif
3 1 2 sj regular bd
3 4 3 sj bueno bd
4 1 0 vv muy malo di

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
31

Qu es una Base de Datos Relacional?
Una Base de Datos Relacional es percibida por el usuario como una coleccin
de relaciones o tablas.
Ej.
La siguiente tabla relacional contiene datos de los empleados:


NUM_EMP APELL NOM NUM_DPTO
100 SMITH JOHN 10
320 ADAMS JANE 15
210 BROWN JIM 10
405 GOMEZ JOSE 12
378 BELL LUCY 25







Las tablas de una base de datos relacional son simples pero disciplinadas.

Una base de datos relacional debe poseer integridad de datos, es decir sus datos
deben ser exactos y consistentes.

Por ej. si se tuviese una factura pero no est asociada a ningn cliente entonces falla
en la integridad.

tabla (relacin)
fila (tupla)
columna (atributo)
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
32

Origen de la Teora Relacional

El origen de la Teora Relacional viene de la teora de conjuntos. Una tabla debe ser
vista como un conjunto y para satisfacer un requerimiento de informacin se aplican
operadores de conjunto como unin, interseccin, producto cartesiano, join,
proyeccin, select, etc.

Ejemplo

Para seleccionar a todos los empleados que trabajan en el Departamento 10, use la
siguiente instruccin SQL.

SQL_\ SELECT num_emp, apellido, nombre, num_dpto
2 FROM empleado
3 WHERE num_dpto = 10;


NUM_EMP APELLIDO NOMBRE

NUM_DPTO

100 SMITH JOHN 10
210 BLACK JANE

10


SQL Structured Query Language (Lenguaje de Consulta Estructurado), se usa para
manipular bases de datos relacionales.

- El ANSI (American National Standards Institute) ha establecido a SQL como el
lenguaje estndar para operar sobre bases de datos relacionales.
- Una base de datos relacional puede soportar un completo conjunto de
operaciones relacionales. Las operaciones relacionales manipulan conjuntos
de valores de datos.
Las tablas pueden ser operadas para crear otras tablas. Las operaciones
relacionales pueden ser anidadas.

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
33

Clave Primaria
Tabla
EMPLEADOS
CLAVE PRIMARIA

Una Clave Primaria (PK) es una columna o conjunto de columnas que
nicamente identifica cada fila de una tabla. Cada tabla debe tener una clave
primaria y una clave primaria debe ser nica.

Ejemplo

La clave primaria para la tabla EMPLEADOS consiste en la columna NUM_EMP. Cada
fila en la tabla es nicamente identificador su valor NUM_EMP.






NUM_EMP APELL NOM NUM_DPTO
100 SMITH JOHN 10
320 ADAMS JANE 15
210 BLACK JIM 10
405 GOMEZ JOSE 12
378 BELL LUCY 25


No se permiten los duplicados en una Clave Primaria. La clave primaria debe
ser nica.
Las claves primarias generalmente no pueden ser cambiadas.
El UID de una entidad se mapear a una Clave Primaria en su correspondiente
tabla.

Ocurrencia
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
34

Clave Primaria
Tabla
CUENTA
CLAVES PRIMARIAS COMPUESTAS
Una Clave Primaria que se conforma de mltiples columnas se llama Clave Primaria
Compuesta.
Ejemplo
La clave primaria compuesta para la tabla CUENTA consiste en la combinacin de las
columnas NUM_BANCO Y NUM_CUENTA. Cada fila es nica identificada por sus
valores NUM_BANCO Y NUM_CUENTA.




NUM_BANCO NUM_CUENTA SALDO FECHA_APER
104 75760 12.500 21-MAR-2005
104 77956 1.001
105 89570 55.775 15-ENE-2009
103 55890 15.001 28-DIC-2004
105 78954 5.000
25-SEP-2013



Las columnas de una clave primaria compuesta debe ser nica en la
combinacin.
Las columnas individuales pueden tener duplicados, pero en la combinacin,
no se permiten duplicados.


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
35

Clave Primaria
Tabla
EMPLEADOS
Clave Primaria
Tabla
CUENTA
CLAVES PRIMARIAS NO NULAS
Ninguna parte de una clave primaria puede ser NULL (nula)
Ejemplo
NUM_EMP es la clave primaria de la tabla EMPLEADOS. Por lo tanto NUM_EMP
debe ser definido como NOT NULL.



NUM_EMP APELL NOM NUM_DPTO
100 SMITH JOHN 10
320 ADAMS JANE 15
210 BLACK JIM 10
405 GOMEZ JOSE
378 BELL LUCY 25

Ejemplo
Cmo viola la tabla CUENTA las reglas de las Claves Primarias?
Existen valores nulos, por lo tanto la clave primaria est mal




NUM_BANCO NUM_CUENTA SALDO FECHA_APER
104 75760 12.500 21-MAR-2005
104 77956 1.001
89570 55.775 15-ENE-2009
103 55890 15.001 28-DIC-2004
105 5.000

25-SEP-2013


Dos de las filas contienen valores NULL en parte de la clave primaria compuesta.
Tanto NUM_BANCO como NUM_CUENTA deben ser definidos como NOT NULLS.


Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
36

Clave Primaria
Tabla
EMPLEADOS
Tabla
EMPLEADOS
Clave Alterna
CLAVES CANDIDATAS Y CLAVES ALTERNAS
Una tabla puede tener ms de una columna o combinacin de columnas que
pueden servir como la clava primaria de la tabla. Cada una de ellas se llama
Clave Candidata.
Ejemplo
Cules son las claves candidatas para la tabla EMPLEADOS?

NUM_EMP APELL NOM NUM_DPTO ID_PLASUELDO
100 SMITH JOHN 10 9710
320 ADAMS JANE 15 8730
210 BLACK JIM 10 1157
405 GOMEZ JOSE 3394
378 BELL LUCY 25 4477

NUM_EMP E ID_PLASUELD son claves candidatas.
Seleccione una clave candidata para ser la Clave primaria para la tabla. Las otras
candidatas se convierte en Claves Alternas.
Ejemplo



NUM_EMP APELL NOM NUM_DPTO ID_PLASUELDO
100 SMITH JOHN 10 9710
320 ADAMS JANE 15 8730
210 BLACK JIM 10 1157
405 GOMEZ JOSE 3394
378 BELL LUCY 25 4477

Todas las Claves Candidatas deben ser nicas y NOT NULL
Los UIDs secundarios se mapean a claves alternas


(Mapear = proceso de transformar una entidad en una tabla)

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
37

Clave Primaria
Tabla
EMPLEADOS
Clave Fornea
Clave Primaria
Tabla
DEPARTAMENTO
CLAVES FORANEAS
Una Clave Fornea (FK) es una columna o combinacin de columnas en una tabla que es
clave primaria en la misma u otra tabla.
Ejemplo
NUM_DEPT es una FK en la Tabla EMPLEADO y se refiere a los valores en la columna
NUM_DEPT en la taba DEPARTAMENTO.


NUM_EMP APELL NOM NUM_DPTO ID_PLASUELDO
100 SMITH JOHN 10 9710
320 ADAMS JANE 15 8730
210 BLACK JIM 10 1157
405 GOMEZ JOSE 3394
378 BELL LUCY 25 4477





NUM_DEPT NOM_DPTO
10 FINANAZAS
15 OPERACIONES
20 MANUFACTURAS
25 VENTAS

Las claves forneas son la implementacin de las relaciones de un modelo de datos
conceptual.
Las claves forneas se basan en los valores de los datos y son puramente lgica.
Las relaciones o asociaciones se mapean como llaves forneas







Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
38

Tabla
DEPARTAMENTO
Tabla
EMPLEADOS
Clave Primaria
Clave Primaria
Clave Foranea
Una clave fornea siempre ser debe comparar con el valor de una clave primaria (o de lo
contrario ser NULL).
La FK NUM_DEPT en la tabla EMPLEADOS se refiere a los valores de la PK NUM_DEPT de la
tabla DEPARTAMENTO.


NUM_EMP APELL NUM_DPTO
10 FINANAZAS
10
15 OPERACIONES
15
20 MANUFACTURAS 10
25 VENTAS


=




NUM_DEPT NOM_DPTO
10 FINANAZAS
15 OPERACIONES
20 MANUFACTURAS
25 VENTAS





NULL


Si la relacin es opcional es
decir, es
entonces la clave fornea
puede ser NULL

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
39

Si una Clave Fornea es parte de una Clave Primaria, esa FK no puede ser NULL (esto
ocurre cuando la relacin es parte del identificador)

Ejemplo

En la tabla CUENTA la FK NUM_BANCO debe ser NOT NULL porque es parte de la PK.




NUM_BANCO NOM_BANCO
104 CITY
150 DE CHILE
103 ESTADO
105 SANTANDER








NUM_BANCO NUM_CUENTA SALDO
104 75760
10.000
104 77956 15.000
150 89570 10.500
103
105
33347
76954
55.775
100



Clave Primaria
Clave Fornea Clave Primaria
Tabla
BANCO
Tabla
CUENTA
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
40

INTEGRIDAD DE DATOS

Las reglas de integridad de datos, aseguran la exactitud y consistencia de los datos.

Restricciones de la Integridad de Datos
Las restricciones a la integridad de los datos definen el estado relacionalmente
correcto de ina base de datos relacional.
Las restricciones de integridad aseguran que los usuarios realicen slo operaciones
que dejen a la base de datos en un estado consistente y correcto.
Tipo de Restriccin Explicacin
Integridad de Entidad Ninguna parte de la clave primaria puede ser NULL
Integridad Referencial
Toda clave fornea debe ser validada en la tabla que es
clave primaria
Integridad de Columnas
Una columna debe contener valores consistentes con el
formato de datos definidos para la columna.
Integridad Definida por el usuario
Los datos almacenados en una Base de Datos deben
cumplir con las reglas de negocio.

Todas las restricciones a la integridad de los datos deberan ser ejecutadas por el
SABDR o por el software de aplicacin.

Los datos son inconsistentes si existen mltiples copias de una entrada y no todas las
copias han sido actualizadas. Una base de datos inconsistente podra suministrar
informacin incorrecta o contradictoria a sus usuarios.
Las restricciones a la integridad de los datos definidos por el usuario pueden ser
establecidas por una poltica, de gestin o ser requeridas por leyes gubernamentales.
Las restricciones a la integridad de los datos definidos por el usuario podran involucrar
mltiples columnas.
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
41

Ejercicios
1. El atributo id es un UID de la entidad MASCOTA, de modo que haga que la columna
correspondiente id_mascota sea PK de la tabla MASCOTA.







Nombre Tabla:
Nombre
Columna

Tipo de Clave
Nulos/ nicos
Datos Muestra





Observaciones
Todas las columnas rotuladas PK tambin deben ser rotuladas NN y U
Mapee el UID que incluya mltiples atributos a una PK compuesto. Rotle aquellas columnas
NN y U1



MASCOTA
#id_mascota
*nombre
*raza
fono_casa
*cel_dueo

Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
42

2. Aplique los 6 pasos del Diseo de BD para mapear el siguiente modelo ER. Documente
su diseo con diagramas de tablas.






Nombre Tabla:
Nombre
Columna

Tipo de Clave
Nulos/ nicos
Datos Muestra





Nombre Tabla:
Nombre
Columna

Tipo de Clave
Nulos/ nicos
Datos Muestra






LOCALIZACIN
DE VENTAS
#codigo
*nombre
EMPLEADO
#id_empleado
*nombre
*apellido
cuota
*posicion
>
representado
por
compuesto
de
responsable
de
dentro
de
Base de Datos Elaborado por la Profesora:
Ma Luisa Giacaman V
43

3. Mapee un diseo relacional, usando diseo explcito y genrico.










Nombre Tabla:
Nombre
Columna

Tipo de Clave
Nulos/ nicos
Datos Muestra





Nombre Tabla:
Nombre
Columna

Tipo de Clave
Nulos/ nicos
Datos Muestra







PARTICIPANTE
#id_participante
*apellido
*nombre
PAIS
#cod_pais
*nombre_pais
OTRO_ESTADO
#id_estado
*nombre_estado
PAIS_EXTRANJERO
#id_pais
*nombre_pais
>
>
>
desde
desde
desde
residente
permanente
de
residente
permanente
de
residente
permanente
de

Você também pode gostar