Documente Academic
Documente Profesional
Documente Cultură
BASE DE DATOS
ING. EDWIN CALLE TERRAZAS
PARTE I
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
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
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
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.
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
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
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.
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
pre_unit
10 10 10 10 20 20 5 5
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
35
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
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.
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.
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
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.
Angel
Corrado Ramona
Rosario
IF-317 MAT-101
Angel
Corrado Ramona
QMC-100
FIS-300
Rosario
IF-317 MAT-101
Angel
Corrado Ramona
QMC-100
FIS-300
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.
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
proy9
proy8
d
secretaria
d
tcnico
1
realiza
asalariado
horario
velocidad_tipeo
n servicio
d
secretaria tcnico
O
parte_comprada parte_manufacturada
U
dueo
tiene
m vehculo
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
MEDICAMENTO
Otro representacin:
MEDICO
consulta
PACIENTE
M MEDICAMENTO
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
1 R
B (b# ,............,a#) FK Valores nulos permitidos en la tabla B B) Tablas : A (a# ,............) B (b# ,......) R (a# ,b#,.....)
A) Tablas : A (a # ,..........)
B) Tablas : A (a # ,.......)
B(b# ,......)
R(b#, a #,.......)
1
R
a) Tablas: A(a#,..... )
a) Tablas: A(a#,....... )
B(b#,.......... a#) Fk
a) Caso Obligatorio
A A
B B
b) Caso No Obligatorio
A A
B B
A A
B B
Tablas : A(a#,.....)
B(b#,.....)
R(a#,b#,......) Pk
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
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
esposa
casado
7. Relaciones recursivas
Relacin 1:n
empleado 1 m
supervisado
supervisor
supervisa
7. Relaciones recursivas
Relacin n:m
parte m n parte_mayor parte_menor
compone
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)