You are on page 1of 63

UNIVERSIDAD DE AQUINO BOLIVIA

BASE DE DATOS
ING. EDWIN CALLE TERRAZAS

PARTE I

FUNDAMENTOS DE BASES DE DATOS

Objetivos
Usar en forma detallada las tcnicas para diseo e implantacin de bases de datos relacionales, para que sirvan de cimiento para el desarrollo de sistemas de informacin. Desarrollar un proyecto de ingeniera referente a un sistema de informacin.

UNIDAD 1. INTRODUCCIN

Un sistema de manejo de Bases de Datos DBMS, es un conjunto de datos relacionados entre s y un grupo de programas para tener acceso a esos datos.
DATOS PROGRAMAS

UNIDAD 1. INTRODUCCIN

El objetivo del DBMS es crear un ambiente en el que sea posible guardar y recuperar informacin de la base de datos, de forma eficiente. Incluye: - Definicin de estructuras de almacenamiento de datos - Mecanismos para manejo de datos - Seguridad de la informacin - Uso concurrente de la base de datos

1. Propsito de los sistemas de bases de datos

Los DBMS minimizan los problemas de los sistemas de procesamiento de archivos: - Redundancia e inconsistencia de datos - Dificultad en el acceso a los datos - Aislamiento de datos - Problemas de integridad - Problemas de atomicidad - Anomalas en el acceso concurrente - Problemas de seguridad

2. Visin de los datos

Los DBMS proporcionan a los usuarios una visin abstracta de los datos. El sistema esconde ciertos detalles de cmo se almacenan y mantienen los datos. Las bases de datos revolucionaron el mundo de las computadoras, con este nuevo concepto abstraccin de los datos, a diferencia de lo que era tradicional abstraccin de lenguajes de programacin.

3. Modelos de datos

Para describir el esquema de una base de datos en cualquiera de los 3 niveles, es necesario definir los modelos de datos. Un modelo de datos es un grupo de herramientas para describir los datos, sus relaciones, su semntica y sus ligaduras de consistencia. Se pueden agrupar en 3 tipos de modelos: - Modelos lgicos basados en objetos - Modelos lgicos basados en registros - Modelos fsicos de datos

3.1 Modelos lgicos basados en objetos

Parten de mundo real delimitando el entorno del sistema y dentro de este entorno identifican los objetos de inters. Se utilizan para describir los datos en los niveles lgico y de visin, y especifican claramente las ligaduras de consistencia de los datos. Como ejemplos de este grupo estn el modelo entidad-relacin y el modelo orientado a objetos.

3.1.1. Modelo Entidad-Relacin

Se basa en la percepcin de un mundo real que consiste en un conjunto de objetos bsicos llamados entidades, y de las relaciones entre estos objetos.
ci modelo domicilio ao kilometraje fecha conductor importe

nombre

persona

posee

automvil

ocurri

accidente

3.1.2. Modelo orientado a objetos


Est basado en una coleccin de objetos agrupados en clases. Una clase describe un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica.
Cliente Guardar() Buscar()

Persona_Cliente

Empresa_Cliente

3.2 Modelos lgicos basados en registros


Se usan para describir los datos en los niveles lgico y de visin. Se usan tanto para especificar la estructura lgica completa de la base de datos como para una descripcin de alto nivel. A diferencia de los modelos basados en objetos, no describen muy bien las ligaduras de consistencia de la base de datos.

3.2.1. Modelo relacional

Los datos y las relaciones entre ellos se representa por medio de una serie de tablas, donde cada una tiene varias columnas.
Artculos nro_arti nombre
5 10 25 35 Escobas Sardina Caf Pasas

Movimientos nro_arti tipo cant


10 10 10 10 25 25 25 35 1 2 1 1 1 2 1 1 10 20 5 2 1 2 2 10

pre_unit
10 10 10 10 20 20 5 5

3.2.2. Modelo de red

Se representa por un conjunto de registros y las relaciones entre ellos por punteros
10 1
2 1 1 2 1

10
20 5 1 2 10

10
10 10 20 20 5

Escobas 10 10 25 25

10 Sardinas 25 Caf 35 Pasas

35

3.2.3. Modelo jerrquico

Igual que el de red pero en forma de rbol

Escobas

25 Caf 35 Pasas

10 Sardinas

10 1 10 10

10 1

5 10 25 1

25 2
1 20

2 20
35 1 10 5

10 2 20 10

3.3 Modelo de datos fsico

El modelo de datos fsico se usa para describir datos en un nivel ms bajo. Dos de los ms conocidos son el modelo de unificacin y el modelo de memoria de marcos. Este tipo de modelos no sern tema de estudio.

4. Lenguajes de bases de datos

Lenguaje de definicin de datos DDL, es una serie de definiciones que especifican el esquema de la base de datos Lenguaje de manejo de datos DML, permite manipular la base de datos, utilizando las operaciones de recuperar, insertar, actualizar y borrar. Hay 2 tipos: - DML procedimental, se especifica qu datos se necesitan y cmo obtenerlos. - DML no procedimentales, solo se indica qu datos se necesitan, no cmo obtenerlos.

5. Gestin de transacciones

Una transaccin es una coleccin de operaciones que se llevan a cabo en una aplicacin de bases de datos. Debe ser atmica, consistente y permitir durabilidad.
!Me haces todo o nada! TRANSACCIN.Transferencia de fondos: INICIA RETIRA DE CUENTA A DEPOSITA A CUENTA B FIN

!!!Y no te equivoques!

5. Gestin de transacciones

El gestor de transacciones asegura las propiedades de atomicidad, consistencia y durabilidad de las transacciones. Atomicidad.- Se hacen todas las operaciones o ninguna. Consistencia.- Si la base de datos es consistente cuando comienza debe serlo tambin cuando termine. Durabilidad.- Los datos modificados por la transaccin en la base de datos deben persistir.

6. Administracin de la base de datos


El DBMS tiene control centralizado sobre datos y programas. La persona que tiene este control sobre el sistema es el administrador de base de datos o DBA en ingls. Se ocupa de: - Definir el esquema - Estructura de almacenamiento y accesos - Modificacin de la organizacin fsica - Autorizacin para el acceso a los datos - Especificacin de ligaduras de integridad

PARTE II
UNIDAD 2. MODELO ENTIDAD RELACIN
Objetivo Usar las tcnicas existentes para modelar bases de datos de gran tamao y complejas.

1. Conceptos bsicos
Entidad.- Es una cosa que puede ser objeto o concepto que el caso de estudio considera que tiene existencia independiente. Atributo.- Es una propiedad de la entidad. Relacin.- Es una asociacin entre entidades.

1. Conceptos bsicos

Entidades, relaciones y ocurrencias.


agencia
a1 a5 La Paz Santa Cruz

almacena

producto
pr2 pr7 pr4 pr8 pr6 printer tape drive disk drive controler ploter

Entidades.- agencia, producto Relaciones.- almacena Ocurrencia de entidad.- 2 agencia, 5 producto Ocurrencia de relacin.- 7 de almacena

1. Conceptos bsicos
Identificador de entidad.- Es un atributo o atributo compuesto, cuyos valores identifican una ocurrencia de una entidad, puede haber varios identificadores candidatos. Identificador de relacin.- Es la unin de los identificadores de las entidades que participan en la relacin.

2. Propiedades de las relaciones cardinalidad y participacin


Cardinalidad o grado de una relacin.Determina la cantidad de ocurrencias de las entidades que participan en la relacin Para relaciones binarias hay tres posibles clases de cardinalidad

2. Propiedades de las relaciones cardinalidad y participacin


Cardinalidad 1:1
profesor Rosario 1 ensea 1 Curso

IF-317 MAT-101 QMC-100 FIS-300

Angel
Corrado Ramona

2. Propiedades de las relaciones cardinalidad y participacin


Cardinalidad 1:n
Profesor 1 ensea n Curso

Rosario

IF-317 MAT-101

Angel
Corrado Ramona

QMC-100
FIS-300

2. Propiedades de las relaciones cardinalidad y participacin


Cardinalidad n:m
Profesor m ensea n Curso

Rosario

IF-317 MAT-101

Angel
Corrado Ramona

QMC-100
FIS-300

2. Propiedades de las relaciones cardinalidad y participacin


Participacin.- Hay dos formas en que una entidad puede participar en una relacin: Obligatoria.- Cada ocurrencia de la entidad participa en la relacin, o sea que tiene al menos una ocurrencia asociada en la otra entidad No obligatoria.- Una ocurrencia puede existir independientemente.

2. Propiedades de las relaciones cardinalidad y participacin


departamento emplea empleado

Un departamento debe emplear al menos un empleado Un empleado debe ser empleado por un departamento

departamento

emplea

empleado

Un departamento no necesita emplear ningn empleado Un empleado no necesita ser empleado por ningn depto.

2. Propiedades de las relaciones cardinalidad y participacin


departamento
emplea empleado

Un departamento no necesita emplear ningn empleado Un empleado debe ser empleado por un departamento

departamento

emplea

empleado

Un departamento debe emplear al menos un empleado Un empleado no necesita ser empleado por ningn depto.

3. Relaciones Ternarias
Relaciones ternarias.- Algunas relaciones no pueden resolverse aumentando una relacin binaria, la nica forma es utilizar relaciones ternarias.
material n
provee

proveedor

entrega

m proyecto

Hola, quien habla? La contadora, no sabemos que materiales se han usado en el proyecto del puente. A ver....., que materiales utilizan que proyectos?

3. Relaciones ternarias
Relaciones ternarias.material n provee m proveedor

entrega

m proyecto

utiliza

Y ahora quien ser. Hola, quien habla? El encargado de compras, aqu hay un transportista que dice que entreg ripio al proyecto del puente, y no est en la base de datos. que proveedor entrega que material a que proyecto?

3. Relaciones Ternarias
Relaciones Ternarias.proveedor n material m entrega p proyecto

parte4 parte3 proveedor6 proveedor7

proy9
proy8

4. Caractersticas del modelo ER extendido


El modelo ER extendido incluye los conceptos de especializacin y categorizacin. Subclases y superclases.- En muchos casos es necesario representar una entidad como varias entidades. Por ejemplo, empleado como secretaria y administrador, empleado representa la superclase y las otras son subclases.

4. Caractersticas del modelo ER extendido


Especializacin.- Es el proceso de definicin de un set de subclases de una entidad, denominada superclase
empleado

d
secretaria

d
tcnico

1
realiza

asalariado

horario

velocidad_tipeo

n servicio

4. Caractersticas del modelo ER extendido


Especializacin.- Hay dos motivos para generar especializaciones: 1 La primera es que ciertos atributos son aplicables solo a algunas ocurrencias de la entidad. Por ejemplo, secretaria tiene el atributo velocidad tipeo. 2 La segunda es que algunas relaciones participan con las subclases directamente y no con la superclase. Por ejemplo, la entidad proyecto participa con administrador y no necesariamente con empleado

4. Caractersticas del modelo ER extendido


Especializacin.- Hay dos tipos de especializacin: 1 Disjunta. Las ocurrencias de la superclase pertenecen a una o ninguna subclase.
empleado

d
secretaria tcnico

4. Caractersticas del modelo ER extendido


Especializacin.- Hay dos tipos de especializacin: 2 Sobrepuesta.- Las ocurrencias de la superclase pueden pertenecer a varias subclases.
parte

O
parte_comprada parte_manufacturada

4. Caractersticas del modelo ER extendido


Especializacin.- La especializacin puede ser parcial o total: 1 Total.- Todas las ocurrencias de la superclase estn representadas en la subclase. 2 Parcial.- No es obligatorio que las ocurrencias de la superclase estn representadas en alguna subclase.

4. Caractersticas del modelo ER extendido


Categorizacin.- En algunos casos hay dos o ms entidades que no tienen nada en comn, que se relacionan con otra entidad, en este caso es posible representarlas en una categoria.
persona banco compaa

U
dueo

tiene

m vehculo

Caractersticas del modelo extendido

ENTIDAD ASOCIATIVA EN EL MODELO ER NO FU PREVISTA LA POSIBILIDAD DE ASOCIAR UN COJUNTO DE ENTIDAD CON UNA RELACIN Y POR TANTO NO SE PUEDE ASOCIAR DOS RELACIONES ENTRE S.
PERSONA N
genera

COMPAIA

otorga

OFERTA LABORAL

VEAMOS LO CORRECTO: CREANDO EL CONCEPTO DE ENTIDAD ASOCIATIVA QUE ES LA REDEFINICIN DE UNA RELACIN QUE PASA A SER TRATADA COMO SI FUERA TAMBIN UNA ENTIDAD. LA CUAL REEMPLAZA A LA RELACION QUE ASOCIABA A LAS ENTIDADES.
PERSONA N
genera

COMPAIA

ENTIDAD ASOCIATIVA

ENTREVISTA

otorga

OFERTA LABORAL

Otro ejemplo:
MEDICO N
consulta

PACIENTE M
receta

N ENTIDAD ASOCIATIVA CONSULTA

MEDICAMENTO

Otro representacin:
MEDICO

consulta

PACIENTE

N ENTIDAD ASOCIATIVA receta

M MEDICAMENTO

5. Esqueleto del modelo ER reglas de representacin


Esqueleto del ER.- Es el diagrama ER, sus restricciones, y una lista de tablas con sus identificadores. Modelo ER.- Es el diagrama ER, sus restricciones, y una descripcin completa de las tablas y sus identificadores.

Esqueleto del Modelo ER

REGLAS DE TRANSFORMACION DEL MODELO ER A TABLAS ELACIONALES

- Dos entidades una relacin binaria una a una (1:1)


- Ambas participaciones obligatorias (total)
1 1

A) Tablas : A(a# ,........) B (b# ,..........a#) FK valores nulos de a#, NO permitidos en la tabla B B) Tablas : A (a# ,..........b#) B (b# ,..........) FK valores nulos de b#, NO permitidos en la tabla A C) Tabla : A (a# ,...............,b#,..............) Una sola tabla

REGLAS DE TRANSFORMACION DEL MODELO ERE A TABLAS RELACIONALES - Una sola participacin obligatoria
A
1
R

A) Tablas : A (a# ,..........)

B (b# ,.................a#) FK Valores nulos de a#, NO permitidos en la tabla B


B) Tablas : A ( a# ,....................b#,.....................)

Valores nulos permitidos en la tabla A

- Ambas participaciones no obligatorias

1 R

A) Tablas : A (a# ,.............)

B (b# ,............,a#) FK Valores nulos permitidos en la tabla B B) Tablas : A (a# ,............) B (b# ,......) R (a# ,b#,.....)

Valores nulos no permitidos en la tabla R

REGLAS DE TRANSFORMACION DEL MODELO ERE A TABLAS RELACIONALES

- Entidad con participacin no obligatoria en el lado


muchos (N) y no obligatoria en el lado uno (1)
A
1 R N

A) Tablas : A (a # ,..........)

B ( b # ,.............,a #) FK Valores nulos de a# permitidos en la tabla A

B) Tablas : A (a # ,.......)

B(b# ,......)

R(b#, a #,.......)

Valores nulos no permitidos en la tabla R

- Entidad con participacin no obligatoria en el


lado muchos (N) y obligatoria en el lado uno (1)
1 N

A) Tablas : A (a# ,.............)

B (b# ,..........,a#) FK Valores nulos de a# NO permitidos en la tabla B

- Dos entidades - una relacin binaria una a


muchas (1:N) - Entidad con participacin obligatoria en lado muchos(N) y no obligatoria en el lado uno (1)

1
R

a) Tablas: A(a#,..... )

B(b#,........ a#) FK Valores nulos de a# NO permitidos en la tabla B

- Entidad con participacin obligatoria en lado


muchos (N) y obligatoria en el lado uno(1)
A 1 R N B

a) Tablas: A(a#,....... )

B(b#,.......... a#) Fk

Valores nulos de a# NO permitidos en la tabla B

- Dos entidades - Una relacin Binaria


Muchas a Muchas (M:N)
A A N R M B B

a) Caso Obligatorio

A A

B B

b) Caso No Obligatorio

A A

B B

c) Participacin no obligatoria en el lado (N) y participacin obligatoria en el lado (M)

A A

B B

d) Participacin obligatoria en el lado (N) y participacin no obligatoria en el lado (M)

Tablas : A(a#,.....)

B(b#,.....)

R(a#,b#,......) Pk

5. Esqueleto del modelo ER reglas de representacin


Especializacin.- Hay 4 formas de mapeo:
empleado
Participacin Tipo especilizacin

1.- todos los casos empleado (ci, nombre,...) secretaria (ci, vel_tipeo, ...) tcnico (ci, univ, .....)

secretaria

tcnico

2.- Disjunto y participacin total secretaria (ci, vel_tipeo,nombre..) tcnico (ci, universidad,nombre..)

3.- Pocos atributos en subclases y disjunto empleado (ci, nombre, vel_tipeo,universidad,t,...) 4. Pocos atributos en subclases y sobrepuesto empleado (ci, nombre, vel_tipeo, universidad, t1,t2,...)

6. Entidades dbiles
Entidad dbil o identificador prepuesto.Cuando el identificador de la tabla, contiene el identificador de otra tabla.
1

compaa

*
tiene

departamento

compaa (nro_compaa,.......) departamento (nro_compaa, .......)

7. Relaciones Recursivas
Las reglas de representacin de relaciones es la misma, pero es necesario distinguir entre los diferentes roles que tienen los identificadores

7. Relaciones recursivas
Relacin 1:1
persona 1 1

esposo

persona (persona_id, ........) casado (persona_id_esposo, persona_id_esposa, ......)

esposa

casado

7. Relaciones recursivas
Relacin 1:n
empleado 1 m

supervisado

Empleado (nro_empleado, ......., nro_emp_sup)

supervisor

supervisa

7. Relaciones recursivas
Relacin n:m
parte m n parte_mayor parte_menor

compone

Parte (nro_parte, .......) Compone (nro_parte_mayor, nro_parte_menor, .........)

8. Asignacin de atributos
El prximo paso despus de hacer el esqueleto del modelo es asignar atributos. Debemos asignar atributos a las tablas de tal forma que queden normalizadas, desde la primera hasta la cuarta forma normal (incluyendo la forma normal de Boyce Cood)

9. Metodologa de diseo conceptual y lgico


1.- Identificar los objetos del sistema que estn dentro del contexto y son de inters. 2.- Prepara una lista preliminar de eventos o transacciones, que el sistema soportar. 3.- Preparar una lista preliminar de atributos. 4.- Hacer una lista de entidades importantes 2 a 4, con sus identificadores. 5.- Dibujar el diagrama ER partiendo de las entidades ms importantes, no es necesario ms que 2 a 4 entidades.

9. Metodologa de diseo conceptual y lgico


6.- Verificar si el diagrama ER soporta los eventos, corregir el diagrama si es necesario. Analizar trampas de conexin. 7.- Hacer el esqueleto del modelo a partir del diagrama ER. 8.- Asignar atributos a las tablas, borrndolos de la lista. 9.- Si hay atributos que no entran en las tablas, definir nuevas entidades y/o relaciones. Si es necesario repetir de 5

9. Metodologa de diseo conceptual y lgico


10.- Verificar si hay algn atributo o evento que sea necesario incluir, si es as repetir de 6 con nuevos eventos o de 8 con nuevos atributos. 11.- Hacer una revisin general, ver si las tablas estn normalizadas, si los eventos son soportados. Si es necesario repetir desde 1. 12.- Borrar entidades superfluas.

You might also like