You are on page 1of 61

MODELADO DE LOS DATOS Y Administracin de base de datos

NORMALIZACIN
MODELADO DE DATOS
1. El proceso de analizar las entidades de inters en la organizacin y como esta
entidades estn relacionadas
1. Resultado: Descubrimiento y documentacin de los recursos de datos del negocio

2. El modelado de datos pregunta Que?


3. Modelado informal
1. Alcanzan el diseo de la base de datos desde la perspectiva de la programacin
1. Resultados
1. Problemas de rendimiento
2. Datos no disponibles
3. Problemas de integridad de datos

4. Modelado formal
1. Obtencin de los requerimientos de los datos
2. Modelo formal de los datos para su respectivo anlisis
3. Realizar la normalizacin del diseo de la base de datos
MODELADO DE DATOS
Regla de oro
Descubrir la verdad completa de la necesidad de los datos del negocio
Meta
Registrar los requerimientos de datos del proceso de negocios

Alcance del modelo


para cada lnea de negocio debe ser comprensivo
Proporciona valor
sirve como prototipo para construir una base de datos fsica
Reconoce patrones de datos y uso potencial de los datos
MODELADO DE DATOS
Un buen diseo de base de datos proporciona
1. Minimizacin de la redundancia de los datos
2. Maximizacin de la integridad de los datos
3. Aumento de la estabilidad
4. Aumento en la consistencia de los datos
5. Mejor compartimiento de los datos
6. Acceso oportuno a los datos
7. Mejor uso de los datos
MODELO DE DATOS
1. Modelo conceptual de los datos
Objetivo: Entender los requerimientos de datos

2. Modelo Lgico
Objetivo: construir la base de datos fsica
MODELO ENTIDAD RELACIN (MODELO ER)

Est basado en una percepcin del mundo real que consta de


un conjunto de objetos bsicos llamados entidades y de
relaciones entre estos objetos.

Conjuntos de entidades
Conjuntos de relaciones
Conjuntos de atributos
CONJUNTO DE ENTIDADES
Definicin de entidad
Una entidad es una cosa u objeto en el mundo real que es
distinguible de todos los demas
fsica o real (una persona, un libro, un empleado)
abstracta o conceptual (una asignatura, un viaje)

Persona, lugar, cosa, concepto o suceso, real o abstracto,


de inters para la empresa (ANSI, 1977)
Definicin de conjunto de entidades
Es la totalidad de las entidades del mismo tipo que
comparten las mismas propiedades o atributos
CONJUNTO DE ATRIBUTOS
Definicin
Los atributos describen propiedades que posee cada miembro de un conjunto de
entidades.
Se clasifican en:

Simples y compuestos
Univalorados y multivalorados
Nulos
Derivado
CLASIFICACIN DE ATRIBUTOS
Atributos compuestos
Pueden dividirse en otros con significado propio
Fecha_nac direccion
dia mes ao calle ciudad provincia codpostal
Valor compuesto = concatenacin de valores de componentes

Atributos simples
No divisibles. Atmicos

edad
CLASIFICACIN DE ATRIBUTOS
Atributos monovalorados (monovaluados)
slo un valor para cada entidad
Fecha_nac [de un EMPLEADO particular]
Ao_estreno [de una PELICULA concreta]

Atributos multivalorados (multivaluados)


ms de un valor para la misma entidad
nacionalidad [ PELICULA coproducida por varios pases ]
telefono [ EMPLEADO con varios telfonos de contacto]
Pueden tener lmites superior e inferior
del nmero de valores por entidad
nacionalidad (1-2)
telefono (0-3)
CLASIFICACIN DE ATRIBUTOS
El nulo (null) es usado cuando

Se desconoce el valor de un atributo para cierta entidad


El valor existe pero falta
altura [de un EMPLEADO]
No se sabe si el valor existe o no
fax [de un EMPLEADO]

La entidad no tiene ningn valor aplicable para el atributo:


Fecha_alquiler [PELICULA slo en vdeo-venta (no alquiler)]
CLASIFICACIN DE ATRIBUTOS
Atributos derivados
Valor calculado a partir de otra informacin ya existente (atributos, entidades relacionadas)
Son informacin redundante...
edad [de EMPLEADO], clculo a partir de fechanacim
atributo derivado del valor de otro atributo
numcopias [de una PELICULA], cuenta del n de entidades copia relacionadas con cada pelcula concreta
atributo derivado de entidades relacionadas

Atributos almacenados
nacionalidad [de una PELICULA]
Fecha_nac [de un EMPLEADO]
RELACIONES
Relacin: Una relacin es una asociacin entre diferentes
entidades.
Conjunto de relaciones: un conjunto de relaciones del mismo
tipo.

E1, E2, E3
En
RELACIONES
Asociacin, vnculo o correspondencia
entre instancias de entidades relacionadas de alguna manera en el
mundo real

el director Julio Mdem ha rodado la pelcula Tierra


el empleado 87654321 trabaja en el local de videoclub principal
la pelcula El imperio contraataca es una continuacin de la pelcula La guerra de las
galaxias
RELACIONES
Estructura genrica o abstraccin del conjunto de
relaciones existentes entre dos o ms tipos de entidad
un DIRECTOR ha rodado PELICULAs

DIRECTOR HA_RODADO PELICULA


RELACIONES
Nmero de tipos de entidad que participan
en el tipo de relacin
Binaria: grado 2 (el ms frecuente)
Ternaria: grado 3
Reflexiva (o recursiva): grado 1

ACTOR ACTUA_EN PELICULA

CLIENTE ALQUILA PELICULA

CONTINUACION PELICULA
DE LOCAL_VIDEOCLUB
RELACIONES

Todo tipo de entidad que participa en un tipo de relacin


juega un papel especfico en la relacin

DIRECTOR HA_RODADO PELICULA


realizador film

Es en los tipos de relacin reflexivos donde se deben usar los


roles
original

VERSION_DE PELICULA
versin
RELACIONES
Limitan las posibles combinaciones de entidades que pueden
participar en las relaciones
Extradas de la situacin real que se modela
Una pelcula debe haber sido dirigida por uno y slo un director
Un director ha dirigido al menos una pelcula y puede haber dirigido muchas

Clases de restricciones estructurales:


Razn de cardinalidad (o tipo de correspondencia)
Razn de participacin
VINCULOS DE CORRESPONDENCIA
Correspondencia de cardinalidades: expresa el nmero de entidades a
las que otra entidad puede estar asociada va un conjunto de relaciones.
Uno-uno 1-1 Varios-uno n-1
Uno-varios 1-n Varios-varios n-n

trabajador ACTOR
EMPLEADO
1 encargado 1 personaje M

TRABAJA_EN SUPERVISA ACTUA_EN

sucursal N N
1 film
LOCAL_VIDEOCLUB PELICULA
lugar trabajo
VNCULOS DE CORRESPONDENCIA
Dependencia de existencia: si la existencia de la entidad x depende de la existencia de la
entidad y, entonces se dice que x tiene dependencia de y.
Si y se borra tambin se borrara x
DIRECTOR
La entidad y es la entidad dominante
1
La entidad x es la entidad subordinada
HA_ RODADO
N ACTOR
Clases de participacin: PELICULA personaje M
Participacin total (dependencia en existencia)
Participacin parcial ACTUA_EN

N
film
PELICULA
ATRIBUTOS EN RELACIN

papel
M:N salario

ACTOR ACTUA_EN PELICULA


(0,m) (1,n)

salario de un actor por participar en cierta pelcula


tipo de papel que interpreta un actor en una pelcula
(protagonista, secundario, reparto,...)

Una relacin puede tener atributos, pero nunca una clave.


VNCULOS DE CORRESPONDENCIA
Tipo de entidades
Dbil: es aquella que no tiene llave primaria.
Fuerte: es aquella que tiene llave primaria
ENTIDAD DBIL
No tiene atributos clave propios
Una instancia se identifica por su relacin con una instancia de otro tipo de
entidad
Tipo de relacin identificador
Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre,
propietaria)
Clave parcial (o discriminante)
Atributos de la entidad dbil, que identifican de forma nica cada instancia, siempre que est
relacionada con una instancia del tipo de entidad regular
Clave = (clave_entidad_regular,clave_parcial) titulo
PELICULA
1
Una entidad dbil siempre tiene una
restriccin de participacin total en la TIENE
relacin que la une a su entidad propietaria
N
numcopia
COPIA
LLAVES CLAVES
Superllave: Uno o mas atributos que nos permite identificar una entidad en
especifico dentro de un conjunto de entidades y ninguna otra entidad la tiene.
Toda relacion tiene por lo menos una super llave llamada llave primaria.

Llave candidata: Son aquellos atributos que tienen caractersticas para ser
super llaves, pero hay dos o mas en una entidad; una se tomara como llave
primaria y otra como llave secundaria.
El atributo que es la llave primaria en una entidad se subraya.
MODELO E-R EXTENDIDO (MODELO EER)
Caractersticas
Especializacin.
Generalizacin.
Herencia de atributos

TEORA DE BASE DE DATOS I


MODELO E-R EXTENDIDO
Especializacin: Un conjunto de entidades que pueden incluir subgrupos de entidades que se diferencian de alguna
forma de las otra entidades del conjunto.
Proceso de definicin de un conjunto de subtipos de un tipo de entidad ( supertipo)
Subtipos suelen estar definidos segn caracterstica distintiva de las entidades del supertipo
Discriminante de la especializacin

VEHCULO
motorS/N

VEHCULO_A_MOTOR VEHCULO_SIN_MOTOR CAMIN TURISMO MOTOCICLETA


MODELO E-R EXTENDIDO
Generalizacin: Conjunto de entidades en niveles de subgrupos de entidades, representado un
proceso de diseo descendente (top down), tambin puede ser en forma ascendente (bottom
up)
Proceso inverso de la especializacin
Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y
formar un supertipo que los incluya

numBastidor numBastidor
fechaFab VEHCULO
precio CAMIN fechaFab
precio

numEjes tonelaje
G CAMIN TURISMO
fechaFab
numBastidor
numEjes tonelaje numPuer

precio TURISMO numPuer


MODELO E-R EXTENDIDO
Agrupacin de instancias dentro de un tipo de entidad, que
debe representarse explcitamente debido a su importancia
para el diseo o aplicacin
Subtipos del tipo de entidad VEHCULO:
CAMIN
TURISMO
AUTOBS
CICLOMOTOR
Subtipos del tipo de entidad EMPLEADO:
SECRETARIO
GERENTE
COMERCIAL

El tipo de entidad que se especializa en otros se llama supertipo


( VEHICULO, EMPLEADO )
MODELO E-R EXTENDIDO

Generalizacin
nfasis en las similitudes
Cada instancia del supertipo es tambin una instancia de
alguno de los subtipos

Especializacin
nfasis en las diferencias
Alguna instancia del supertipo puede no ser instancia de
ningn subtipo
MODELO E-R EXTENDIDO
Herencia de atributos: Los atributos de los conjuntos de entidades de niveles
mas altos se dicen que son heredados por los conjuntos de entidades del nivel
mas bajo.
Un subtipo puede tener atributos propios (especficos) y participar en relaciones
por separado
Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que
participa el supertipo
Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones
que hereda del supertipo, es un tipo de entidad por derecho propio

numBastidor
VEHCULO FABRICA FABRICANTE
precio (1,n) (1,1)
N:1

(1,1) ID (0,1)
CAMIN TURISMO MOTOCICLETA SIDECAR
LLEVA
numEjes numPlazas
tonelaje numPuer cilindrada 1:1
MODELO RELACIONAL
CONCEPTOS
Dominio (tipo de datos)
Es un conjunto de valores permisibles

Atributo (campo)
Es una caracterstica de la relacin

Relacin (tabla)
Es un conjunto de n tuplas
Tupla: es una lista ordenada de m valores
LENGUAJES DEL MODELO RELACIONAL
RDBMS
DDL: Lenguaje de Definicin de Datos
Permite la administracin de la base de datos

DML: Lenguaje de Manipulacin de datos


Permite las operaciones de insercin, actualizacin y eliminacin de datos

SQL: Lenguaje Estructurado de Consultas


DDL + DML

ltima revisin del standard SQL-92: SQL:2011


MAPEO ER A RELACIONAL
PASO #1
TIPOS DE ENTIDAD REGULARES
Un tipo de entidad regular es un tipo de entidad E que solo tiene atributos simples
Un tipo de entidad regular se mapea a una relacin (tabla) en el modelo relacional
Se elige la clave primaria para el tipo de entidad
PASO #2
MAPEO DE ENTIDADES DBILES
Para cada entidad dbil W de una entidad propia E
Cree una relacin R para W y agregue todos los atributos simples
Agregue la clave primaria de E como clave fornea en W
La clave primaria es la clave primaria de E mas la clave parcial de W
PASO #3
MAPEO DE RELACIONES BINARIAS 1:1
Identifique las relaciones S y T que corresponden a los
tipos de entidad participantes en la relacin.
Enfoque #1
Agregue la clave primaria de una relacin, tomemos S, a la relacin T como un clave
fornea.
Enfoque #2
Unir S y T en una sola relacin.
PASO #4
MAPEO DE RELACIONES BINARIAS N:1 1:N
1. Identifique el tipo de entidad S con cardinalidad N.
2. Incluya como llave fornea el clave primaria del tipo de entidad T en S
3. Incluya en S los atributos simples de la relacin R entre S y T
PASO #5
MAPEO DE RELACIONES BINARIAS N:M
La relacin binaria R entre los tipos de entidad S y T se mapea una relacin R.
Esta relacin R contiene las claves primarias de S y T como claves forneas. Adems,
estas claves forman la clave primaria de la relacin.
Incluya en R los atributos simples de la relacin R entre S y T.
PASO #6
MAPEO DE ATRIBUTOS MULTIVALUADOS
Para cada atributo multivalorado del tipo de entidad E, crese una relacin R.
En esta relacin se incluye el atributo multivalorado y la clave primaria de E como llave fornea.
La clave primaria de la relacin es el atributo y la clave fornea.
DOMINIO
1. El dominio define el universo de los valores vlidos para un elemento de datos
2. Cada atributo tiene asignado un dominio vlido
3. Gua para el nombre del atributo
1. El parte del nombre del atributo se separa por _
2. El prefijo de debe ser el nombre de la entidad a la que pertenece
4. Claves
1. Los valores de un conjunto de atributos que identifican nicamente cada ocurrencia de entidad

5. Claves candidatas
1. Claves mnimas que puede tener una entidad
6. Clave primaria
1. Es una clave candidata
DOMINIO
1. Llaves forneas
1. Las claves forneas residen en entidades dependientes para establecer una relacin.

2. Tipos de dominio
1. ANSI SQL
1. Char(n), Nchar(n)
2. Varchar(n), NVarchar(n)
3. Bit(n), Bit Varying(n)
4. Integer, smallint, bigint
5. Float, Real, double precisin
6. Numeric(precisin, escala), Decimal(precisin, escala)
7. Date, DateTime, TimeTZ, Timestamp, TimeStampTZ
SQL SERVER TIPOS DE DATOS
1. Numrico exacto
1. Bigint: 8 bytes
2. Int: 4 bytes
3. Smallint: 2 bytes
4. Tinyint: 1 byte [0-255]
5. Bit: 1 byte
6. Decimal(precisin, escala) : 5-17 bytes
1. Precisin: el numero total mximo de dgitos que puede ser almacenados [1-38]
2. Escala: el numero de dgitos a la derecha despus del punto.
7. Money: 8 bytes [-922,337,203,685,477.5808, 922,337,203,685,477.5807]
8. SmallMoney: 4 bytes [- 214,748.3648, 214,748.3647]
SQL SERVER TIPOS DE DATOS
1. Numrico aproximado
1. Float(n) : n es el tamao de la mantisa
2. Real = float(24): 4 bytes
3. Double precisin = float(53): 8 bytes
SQL SERVER
1. Fecha y hora
Date: 3 bytes 0001-01-01 a 9999-12-31
DateTime: 8 bytes Enero 1, 1753, a diciembre 31, 9999
00:00:00 a 23:59:59.997
SmallDateTime: 4 bytes Enero 1, 1900, a Junio 6, 2079
00:00:00 a 23:59:59
DateTime2: 6, 7, 8 bytes Enero 1,1 a diciembre 31, 9999
00:00:00.0000000 a 23:59:59.9999999
SQL SERVER
Cadenas
1. Char, nchar
2. Varchar, nVarchar
MODELO FSICO
1. Modelo relacional
2. Modelo objeto-relacional
3. Modelo orientado a objetos
4. Modelo multidimensional
NORMALIZACIN
Proceso para minimizar la redundancia de la datos en la base de datos
El proceso se lleva a cabo a travs de las formas normales
1. 1FN
2. 2FN
3. 3FN
4. FNBC
5. 4FN
6. 5FN
7. Forma normal de dominio: DKFN
1FN: PRIMERA FORMA NORMAL
Elimina grupos que se repiten y atributos que no son
atmicos
StudentID Student MajorID Student Course Course Course
Name Major Num Name CompDate

2907 Smith, Jacob R MAT Mathematics MAT0011 Discrete Math 2002-08-01


MAT0027 Calculus I 2002-04-30
EGL0010 English Classics I 2001-12-30

4019 Patterson, Jane K PHI Philosophy PHI0010 Intro to Philosophy 2002-04-30


CS00100 Programming Languages 2002-04-30 ESTUDIANTE

5145 Neeld, Norris B EGL English Literature SOC0102 Ascent of Man 2002-08-01

6132 Morrison, Xavier Q MUS Music MUS0002 Origin of Jazz 2002-04-30


SOC0102 Ascent of Man 2002-08-01

7810 Brown, Richard E CS Computer Science

8966 Juarez, Samantha EGL English Literature EGL0010 English Classics I 2001-12-30
EGL0101 Shakespeare II 2002-08-01
ENTIDAD ESTUDIANTE
StudentID LastName FirstName MiddleInit MajorID StudentMajor

2907 Smith Jacob R MAT Mathematics

4019 Patterson Jane K PHI Philosophy

5145 Neeld Norris B EGL English Literature

6132 Morrison Xavier Q MUS Music

7810 Brown Richard E CS Computer Science

8966 Juarez Samantha EGL English Literature


ENTIDAD CURSO
StudentID Course Course CourseComp
Num Name Date

2907 MAT0011 Discrete Math 2002-08-01

2907 MAT0027 Calculus I 2002-04-30

2907 EGL0010 English Classics I 2001-12-30

4019 PHI0010 Intro to Philosophy 2002-04-30

4019 CS00100 Programming Languages 2002-04-30

5145 SOC0102 Ascent of Man 2002-08-01

6132 MUS0002 Origin of Jazz 2002-04-30

6132 SOC0102 Ascent of Man 2002-08-01

8966 EGL0010 English Classics I 2001-12-30

8966 EGL0101 Shakespeare II 2002-08-01


2FN: SEGUNDA FORMA NORMAL
Asegura que todos los atributos de la entidad
dependen totalmente de la clave primaria
StudentID CourseNum CourseCompDate

2907 MAT0011 2002-08-01

2907 MAT0027 2002-04-30

2907 EGL0010 2001-12-30

4019 PHI0010 2002-04-30

4019 CS00100 2002-04-30

5145 SOC0102 2002-08-01

6132 MUS0002 2002-04-30

ENTIDAD ESTUDIANTE_CURSO
ENTIDAD CURSO
CourseNum CourseName Credits

MAT0011 Discrete Math 3

MAT0027 Calculus I 4

EGL0010 English Classics I 3

PHI0010 Intro to Philosophy 3

CS00100 Programming Languages 3

SOC0102 Ascent of Man 3

MUS0002 Origin of Jazz 3


3FN: TERCERA FORMA NORMAL
Asegura que no existen relaciones entre los atributos
de la entidad
ENTIDAD ESTUDIANTE
StudentID LastName FirstName MiddleInit MajorID

2907 Smith Jacob R MAT

4019 Patterson Jane K PHI

5145 Neeld Norris B EGL

6132 Morrison Xavier Q MUS

7810 Brown Richard E CS

8966 Juarez Samantha EGL


MajorID
ENTIDAD CARRERA StudentMajor

MAT Mathematics

PHI Philosophy

EGL English Literature

MUS Music

CS Computer Science
DISEO DE LA BASE DE DATOS
1. Conocimiento necesario de las caractersticas del DBMS para la creacin del
diseo fsico de la base de datos
1. Conocimiento profundo de los objetos de la base de datos, y las estructuras y archivos requeridos
para almacenar estos objetos
2. Conocer los detalles de la manera en que el DBMS soporta indexacin, integridad referencial,
constraints, tipos de datos, etc
3. Conocimiento detallado las caractersticas obsoletas y nuevas de las versiones particulares del
DBMS
4. Conocimiento de los parmetros de configuracin del DBMS
5. Habilidades para transformar el modelo lgico al modelo fsico de la base de datos
6. Conocimiento para especificar el dominio de cada atributo y la nulabilidad de estos
7. Conocimiento para hacer uso de espacios de tablas (esquemas) para agrupar tablas
OPERADORES RELACIONALES
1. Seleccin SELECT * FROM ___________ WHERE __________ ORDER BY ____
2. Proyeccin SELECT Ai1, , Ain FROM ___________ WHERE __________ ORDER
BY ____
3. Reunin INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER
JOIN
4. Funciones de agregacin: SUM, COUNT, MIN, MAX, AVG
5. Funcin de agrupacin: GROUP BY
6. Subconsultas: IN, EXISTS, SOME, ANY, ALL
7. Operadores de conjunto: UNION, INTERSECT, EXCEPT

You might also like