Transcript Slide 1

BASE DE DATOS.
Guacara, Enero de 2008
Plan de
Evaluación.
Base de Datos
Víctor Bolívar.
1er. Parcial -----25%
2do. Parcial ----25%
Tutoría ----------20% (Evaluación continua)
Proyecto -------30%*
Para tener derecho a la nota del proyecto debe
acumular 18 ó mas puntos en los exámenes
parciales.
BASE DE DATOS.
Magistral No. 1
Guacara, Enero de 2008
Que es una Base de Datos?
Las bases de datos, son cualquier conjunto de datos organizados para su
almacenamiento en la memoria de un ordenador o computadora, diseñado
para facilitar su mantenimiento y acceso de una forma estándar.
Su objetivo es el de automatizar:
•
•
•
El Mantenimiento
Cualquier informe de información
Cualquier consulta sobre dicha información
Elementos de una Base de Datos
Datos: Es la parte esencial de la información, es decir, la
información que llega a la base de datos.
Atributos: Son los diferentes campos que conforman la
estructura de
una base de datos.
Campos: Es la unidad más pequeña de datos.
Registro: Es un conjunto de campos o atributos relacionados
entre
sí.
Archivo: Es un conjunto de registros relacionados.
Ciclo de Vida.
Información
Organizar
Base de datos
Depuración
Búsqueda y
Selección
Conclusiones
Otros
Programas
Conclusiones
Ejemplos.
•Información sobre los empleados de una empresa: nombre y
apellidos, DNI, nº de SS, fecha de nacimiento, departamento al
que pertenece, categoría, nº de cuenta, domicilio, etc.
• Productos de una empresa: código, descripción, proveedor,
precio, stock, etc.
• Proveedores de los productos: código, nombre, dirección, nº
cuenta, CIF, etc.
• Pedidos de una empresa: código del producto, código del
proveedor, cantidad solicitada, precio de compra, tipo de IVA,
fecha pedido, etc.
• Cotizaciones en bolsa: título, fecha, precio inicial. Precio final,
precio medio, volumen negociado, etc.
DBMS (Data Base Management Systems
- Sistema de Administración de Base de Datos
• Tipos de Base de Datos
- Jerárquicas
- Estructuradas Plex o Redes
- Relacionales
Las dos primeras representan bien las jerarquías en las estructuras de datos pero
tienen un difícil acceso.
La Relacional ofrece un acceso flexible a la data, se basan en tablas o matrices.
Utilizar SQL (Structure Query Language)
BASE DE DATOS.
Magistral No. 2
Evolución Histórica.
• 1945: Primera unidad de cinta magnética
• 1957: Primer computador comercial instalado
• 1961: Primer SGBD
• 1965-1970:
– Modelo jerárquico
– Bases de datos multiusuario
• 1970-1980:
– Desarrollo de varios sistemas comerciales de bases de datos
– Desarrollo del modelo relacional.
– Aparecen los primeros lenguajes de consulta.
Evolución Histórica.
•1980-1990:
– Desarrollo de SGBD para ordenadores personales (dbase,
Paradox).
– SQL
– ORACLE, SYBASE, INFORMIX, etc.
• 1990- :
– Extensión de las capacidades: multimedia, GIS, bases de
conocimiento.
– Bases de datos orientadas al objeto
– Uso de multiproceso
– Mejora de los SGBD para ordenadores personales
Evolución Histórica.
•Época de los FICHEROS
– El programador o responsable se debe ocupar de gestionar
toda la información: índices, algoritmos de búsquedas,
integridad de los datos, etc.
• SISTEMAS GESTORES de BASES de DATOS
– El sistema se encarga de realizar todas las operaciones de
mantenimiento físico.
– El encargado del sistema solo debe diseñar la estructura de
la base de datos y suministrar información correcta
Modelos de Bases de Datos.
• Los más usados a lo largo de la historia son
– Jerárquico
– En red
– Relacional
• El modelo relacional es el que se usa en la actualidad
en la mayoría de sistemas gestores de bases de datos
Bases de Datos Relacionales.
El enfoque Relacional fue desarrollado por el Dr.
Edward Codd de la IBM en una serie de artículos
durante 1969 y 1970.
Los sistemas relacionales tiene una sólida base
matemática. El algebra y el calculo relacional definen
operaciones como:
Unión, Intersección,
Proyección
Diferencia,
Selección
y
Modelo Relacional.
• Reducción de los datos a estructuras planas o TABLAS con
filas y columnas
• ENTIDADES O TABLAS-> RELACIONES o FICHEROS
• FILAS-> TUPLAS o REGISTROS
• COLUMNAS-> ATRIBUTOS o CAMPOS
• CARDINALIDAD-> Nº de REGISTROS
• GRADO-> Nº de ATRIBUTOS o CAMPOS
Bases de Datos Relacionales.
Una B.D. debe tener tres lenguajes:
• Uno para definir la Base de Datos
• Uno para la manipulación de los datos
(Programas de aplicación)
• Uno de consultas directas al Usuario
(S. Q. L. = Structure Query Language)
Requisitos para Considerar una B.D. Relacional.
• Una tabla puede contener un solo tipo de registro. Cada registro tiene un
número fijo de campos, cada campo debe tener un nombre.
• La BD contendrá una tabla por cada tipo de registro.
• Dentro de una tabla cada campo es distinto y sin grupos repetitivos.
• Las tablas no permiten registros duplicados.
• El orden de los campos no esta determinado ni el orden de los registros.
• Cada campo declarado posee un conjunto de posibles valores que forman
el dominio del campo.
• Se pueden crear
nuevas tablas relacionando valores de campos
procedentes de dos tablas ya existentes, siempre y cuando, en las dos tablas
el dominio de los campos sea el mismo.
•Diseño eficiente de una BDR, Edward Codd desarrollo una técnica que
denominó NORMALIZACIÓN
BASE DE DATOS.
Magistral No. 3
Análisis y Diseño de Base de Datos.
ENTIDAD: Objeto sobre el cual se almacena la información, este debe ser el
primer elemento que se tome en cuenta para diseñar una B. D., se debe
conocer todas las entidades.
Ejemplo: Sistema de información para el control de la biblioteca:
ENTIDADES: Documentos, Copias, Usuarios, etc.
•
Pasos a seguir en el diseño de una Base de Datos
1. Conocer las entidades, tablas, archivos.
2. Analizar los atributos o campos a registrar en una entidad.
3. Estudiar los posibles valores que puede contener un atributo.
4. Asignar Campos Claves
5. Crear los archivos.
6. Establecer Relaciones
Análisis y Diseño de Base de Datos.
CLAVE CANDIDATA: Campo o Conjunto de campos que se pueden
utilizar para identificar en forma única un registro.
Ejemplo:
Documentos(cota, ….)
Doc/Autor(Cota,cod Autor, …..)
• CLAVE PRIMARIA o CLAVE: Clave candidata que se selecciona para
identificar en forma única un registro.
• CLAVE SECUNDARIA: Campo o conjunto de campos que identifican
varios registros que tienen una misma característica.
Documentos(Cota,Titulo,Piso,Sala,…..)
Análisis y Diseño de Base de Datos.
Una vez hecho el análisis de las entidades se procede a estudiar
las relaciones entre ellas. Para ello se utiliza un esquema.
• ESQUEMA: Descripción lógica de la B. D. a través de un
diagrama.
• SUB-ESQUEMAS: Vista que tiene el programador de
aplicaciones de los datos que utiliza, esta deriva del esquema
principal.
• Relaciones: Vinculaciones existentes entre las entidades de
un esquema y que no se han establecido en los campos.
Se representan con líneas continuas.
Reglas para representar un Esquema.
Las Relaciones deben identificarse con un numero o un
nombre
• No deben utilizarse nombres duplicados.
-
- Deben indicarse que relaciones son sencillas, cuales
complejas y si requieren integridad referencial.
: Obligatorio
: Opcional
Tipos de Relaciones.
• UNO a UNO: (
): Aparecen cuando entre los datos
hay correspondencia biunívoca.
-
UNO a MUCHOS (
): Aparecen cuando entre los
datos hay una correspondencia simple y una compleja.
- MUCHOS a MUCHOS (
): Aparecen cuando
entre los datos hay correspondencias complejas.
Claves.
• CLAVES CANDIDATAS: atributo o conjunto de
atributos que identifican unívoca y mínimamente
cada registro.
• Una de ella será la CLAVE PRIMARIA. El resto son
CLAVES ALTERNATIVAS
• CLAVE AJENA: Atributo o conjunto de atributos
que son CLAVE PRIMARIA de otra RELACION
• INDICES: Atributos o conjunto de atributos sobre los
que se pueden realizar “búsquedas rápidas”. La clave
primaria debe estar indexada.
Integridad.
•INTEGRIDAD DE ENTIDAD: Ningún atributo que
forme parte de una clave primaria puede tomar valor
Nulo
• INTEGRIDAD REFERENCIAL: se establece entre
dos relaciones y se usa para mantener la consistencia
entre las registros de las dos relaciones.
• Una restricción de integridad referencial se introduce
al establecer claves ajenas.
Otros Tipos de Integridad.
•INTEGRIDAD DE ENTIDAD: Ningún otros Tipos de Integridad
• Integridad semántica: la información sea real
• Integridad de los datos individuales: que los valores
de un atributo pertenezcan al dominio
• Integridad de los datos de un registro: coherencia
entre los diferentes campos
• Integridad relativa a transiciones de estados: que una
fecha siempre aumente
• Hay restricciones que se pueden dejar de cumplir
Transitoriamente.
BASE DE DATOS.
Magistral No. 4
Normalización.
La normalización es un proceso que pretende
conseguir tablas con una estructura óptima y
eficaz.
El proceso de normalización está basado en
lograr la independencia de los datos respecto a
las aplicaciones que los usan.
Diferentes Formas Normales.
•Primera Forma Normal o 1FN.
•Segunda Forma Normal o 2FN.
•Tercera Forma Normal o 3FN.
•Primera Forma Normal o 1FN.
•Cuarta Forma Normal o 4FN.
•Quinta Forma Normal o 5FN.
Primera Forma Normal.
Una tabla está en 1FN si el valor que contiene un atributo de un
registro, un campo, es único y elemental.
En cada uno de los atributos sólo se puede incluir un dato, aunque
sea compuesto, pero no se pueden incluir una lista de datos.
Por ejemplo, no se pueden incluir en el atributo Dirección el domicilio
habitual y el de vacaciones; habría que crear dos registros que se
diferenciarán por el atributo Dirección.
Tabla de una base de datos
NIF
Ape
Nom
Dir
CPost
Pobl
Prov
1
García
Francisco
C/Marín 16
33698
Oviedo
Asturias
2
Sánchez
Luisa
C/Tenerías 34
C/Ramorta 65
85458
54585
Cigales
Bueu
Valladolid
Pontevedra
Tabla de una base de datos
NIF
Ape
Nom
Dir
CPost
Pobl
Prov
1
García
Francisco
C/Marín 16
33698
Oviedo
Asturias
2
Sanchez
Luisa
C/Tenerías 34
85458
Cigales
Valladolid
2
Sánchez
Luisa
C/Ramorta 65
54585
Bueu
Pontevedra
Segunda Forma Normal.
Una tabla está en Segunda Forma Normal o 2FN cuando está en 1FN
y todo atributo que no pertenece a la clave primaria tiene una
dependencia funcional de la clave completa y no de parte de ella.
•
DEPENDENCIA FUNCIONAL: El campo B de una Relación R es
funcionalmente dependiente del campo A de R si, en cada instante, cada
valor de A está asociado con un solo valor de B dentro de la Relación R. se
representa
A
B
Decir que B es funcionalmente dependiente de A, es equivalente a decir que
A identifica B, conocido el valor de A, queda determinado el valor de B
Segunda Forma Normal.
Tabla de una base de datos
NIF
Ape
Nom
Dir
CPost
Pobl
Prov
1
García
Francisco
C/Marín 16
33698
Oviedo
Asturias
2
Sanchez
Luisa
C/Tenerías 34
85458
Cigales
Valladolid
2
Sánchez
Luisa
C/Ramorta 65
54585
Bueu
Pontevedra
Tabla en segunda forma normal
Tabla en segunda forma normal
NIF
Dir
CPost
Pobl
Prov
NIF
Ape
Nom
1
C/ Marín nº16
33698
Oviedo
Asturias
1
García
Francisco
2
C/ Tenerías nº34
85458
Cigales
Valladolid
2
Sánchez
Luisa
2
C/ Ramorta nº65
54585
Bueu
Pontevedra
Tercera Forma Normal.
Una tabla está en Tercera Forma Normal o 3FN si está en 2FN y no
existen atributos que no pertenezcan a la clave primaria que puedan
ser conocidos mediante otro atributo que no forma parte de la clave
primaria, es decir, no hay dependencias funcionales transitivas.
Se dice que hay dependencia funcional transitiva entre dos atributos
cuando un atributo que no pertenece a la clave primaria permite
conocer el valor de otro atributo.
Dependencia Transitiva: Sean A, B, C, tres campos o colección
de campos de una relación R. Sí A es funcionalmente dependiente
de B y C. Y Adicionalmente los Valores de B son funcionalmente
dependientes de C.
Entonces se dice que hay una dependencia Transitiva entre B y C.
Tercera Forma Normal.
Tabla en segunda forma normal
NIF
Dir
CPost
Pobl
Prov
1
C/ Marín nº16
33698
Oviedo
Asturias
2
C/ Tenerías nº34
85458
Cigales
Valladolid
2
C/ Ramorta nº65
54585
Bueu
Pontevedra
Tabla en tercera forma normal
Tabla en tercera forma normal
NIF
Dir
CPost
Dir
Pobl
Prov
1
C/ Marín nº16
33698
C/ Marín nº16
Oviedo
Asturias
2
C/ Tenerías nº34
85458
C/ Tenerías nº34
Cigales
Valladolid
2
C/ Ramorta nº65
54585
C/ Ramorta nº65
Bueu
Pontevedra
Cuarta Forma Normal.
Una tabla está en Cuarta Forma Normal o 4FN si está en 3FN y las únicas
dependencias funcionales multivaloradas que existen son las dependencias
funcionales de la clave con los atributos que no forman parte de la misma.
Estas dependencias multievaluadas de la clave con los atributos que no
forman parte de la misma son dependencias triviales, por lo que algunos
autores dicen que no existen dependencias multievaluadas en 4FN.
Cuarta Forma Normal.
Tabla que no esta en cuarta forma normal
Transporte
Conductor
Tipo Vehículo
Tipo Carga
Juan
Furgoneta
Perecederos
Marcos
Furgoneta
Perecederos
Juan
Furgoneta
Muebles
Marcos
Furgoneta
Muebles
Juan
Camión
Mudanza
Marcos
Camión
Mudanza
Tabla en cuarta forma normal
Tabla en cuarta forma normal
Tipo Vehículo
Tipo Carga
Conductor
Tipo Vehículo
Furgoneta
Perecederos
Juan
Furgoneta
Furgoneta
Perecederos
Marcos
Furgoneta
Furgoneta
Muebles
Juan
Furgoneta
Furgoneta
Muebles
Marcos
Furgoneta
Camión
Mudanza
Juan
Camión
Camión
Mudanza
Marcos
Camión
Quinta Forma Normal.
Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de ProyecciónUnión si está en 4FN y las únicas dependencias que existen son las
dependencias de unión de una tabla con sus proyecciones relacionándose
entre las distintas proyecciones mediante la clave primaria o cualquier clave
alternativa.
La 5FN se emplea cuando en una misma tabla tenemos mucha información
redundante, con pocos atributos o cuando una tabla posee una gran cantidad
de atributos y se hace por ello inmanejable.
Quinta Forma Normal.
Tabla en Cuarta Forma Normal.
Id
Datos
Familiares
1
D1
D2
Datos
Profesionales
D3
D4
D5
Datos
Personales
D6
D7
D8
Datos Clínicos
D9
D10
D11
D12
Tabla en quinta forma normal
Tabla en quinta forma normal
Id
Datos Profesionales
Id
Datos Familiares
1
D4
1
D1
D5
D6
D2
D3
Tabla en quinta forma normal
Tabla en quinta forma normal
Id
Datos Personales
Id
Datos Clínicos
1
D7
1
D10
D8
D9
D11
D12
Quinta Forma Normal.
Si se tiene una tabla de préstamo de libros de una biblioteca, con
los atributos título, fecha de préstamo y número de socios que ha
tomado prestado el libro, existen multitud de registros que se
crean diariamente en esa tabla, pero para cada libro o para cada
socio habrá pocos registros
Tabla que no esta
en quinta forma
normal
Tabla en quinta
forma normal
Tabla en quinta
forma normal
Tabla en quinta
forma normal
Título-Socio
Biblioteca
Título-Fecha
Fecha-Socio
Título
Socio
Título
Fecha
Fecha
Socio
T1
S1
T1
FT
FT
S1
T2
S2
T2
FU
FU
S2
T3
S1
T3
FV
FV
S1
T4
S4
T4
FG
FG
S4
T1
S3
T1
FH
FH
S3
T2
S4
T2
FT
FT
S4
T3
S3
T3
FV
FV
S3
Tít
ulo
Fec
ha
Socio
T1
FT
S1
T2
FU
S2
T3
FV
S1
T4
FG
S4
T1
FH
S3
T2
FT
S4
T3
FV
S3
1. Dado el siguiente esquema de una base de datos que permita registrar los pagos o
deducciones realizadas a un trabajador se pide indicar:
Campos Claves
Tipos de Datos
Relaciones existente entre las tablas (indicar el tipo de la misma, 1 o muchas)
Si falta alguna tabla para completar el modelo.
Código
trabajador
Apellido
Código trabajador
Código
Concepto
Nombre
Dirección
Código Concepto
Descripción
Concepto
T Emai Sexo
E l
L
Fecha Pago
Monto
Concepto
Código
Depto
Sueldo
Código
mensual Estado
Civil
Monto
Porcentaje
Concepto
Tipo Concepto
Asignación
Deducción
2. El departamento de personal de ____le pide a usted diseñar una B.D. que le permita
almacenar la información
Que recibe el personal y del curriculum vitae presentado por las personas al momento
de solicitar empleo, sabiendo que:
-
Una persona puede demostrar que domina el área de conocimiento por medio de
documentos (diploma, certificados, carta aval), además esta persona puede dominar
muchas áreas y un área puede ser dominada por muchas personas.
-
Se debe registrar la información académica de la persona indicando: lugar donde se
curso, año de culminación, promedio de notas, titulo obtenido, sabiendo que una
persona puede estudiar en muchas instituciones y en una institución pueden
estudiar muchas personas.
-
Se desea lleva un registro de vehículos con el que cuenta el personal, sabiendo que
un vehiculo esta asociado a un trabajador y un trabajador puede asociar muchos
vehículos.
-
Además se debe llevar un registro de los exámenes médicos presentado por las
personas a su ingreso (sus resultados) y de los exámenes de control realizado
anualmente.
SE PIDE: MOSTRAR EL ESQUEMA DE LA BASE de DATOS DE LAS TABLAS
INVOLUCRADAS EN EL PROCESO.
MODELO DE DATOS
1.
-
Dada las siguientes tablas indicar:
Campos Claves
Tipo de Dato de cada campo
Relaciones existente entre las tablas
Si falta alguna tabla para completar el modelo debe ser agregada
Cédula Apellido Nombre
Código Requisito
Código Requisito
Dir
Cédula
TEL Email Sexo
Fecha
Descripción
Válido
Código
Estado
Civil
Inglés
Foto
2. El dueño de un taller Mecánico desea desarrollar una B. D. que le permita llevar el
control de los vehículos que son reparados en su taller, para ello le pide a usted el
análisis y diseño de la B. D. a utilizar, sabiendo que:
-
Un vehiculo puede presentar muchas fallas a la vez
-
Una falla puede ser presentada por muchos vehículos
-
Un vehiculo tiene un solo dueño pero un dueño puede tener muchos vehículos en
reparación
-
Un mecánico puede atender muchos vehículos y un vehiculo puede ser atendido por
muchos mecánicos
-
Un vehiculo puede presentar la misma falla varias veces y se debe llevar el control
del mecánico que la corrige
-
Un mecánico puede tener muchas especialidades y se debe indicar por cual
especialidad corrige una falla
SE PIDE: MOSTRAR EL ESQUEMA DE LA BASE de DATOS DE LAS TABLAS
INVOLUCRADAS EN EL PROCESO.