INTRODUCCION A LAS BASES DE DATOS

Anuncio
INTRODUCCION A LAS BASES DE DATOS
Procesamiento de Archivos vs
Bases de Datos
ARCHIVOS
BASES DE DATOS
Datos repetidos.
No se manejan estándares.
Había inconsistencia de
datos.
Falta de seguridad en los
datos.
No existían aplicaciones de
uso general.
Eliminar redundancias.
Poder compartir los datos.
Cumplir normas establecidas.
Mantener integridad y
seguridades de datos.
Reducir inconsistencias.
Primera práctica: Realizar un programa
alumnos (nombre, apellidos, dni, edad,
está matriculado) y los almacene en un
segundo programa que nos pida un dni y
los datos del alumno.
que pida los datos de
asignaturas en las que
fichero. Realizar un
nos devuelva el resto de
Base de Datos
Es un repositorio en donde guardamos información que podemos
almacenar y guardar.
Es un conjunto de tablas y procesos organizados, estructurados,
relacionadas entre si, con la finalidad de manipular datos.
Más definiciones de Base de Datos
Fondo común de información almacenada en una computadora para
que cualquier persona programa autorizado pueda acceder a ella,
independientemente de su procedencia del uso que haga.
Una base de datos o banco de datos (en ocasiones abreviada con
la sigla BD o con la abreviatura b. d.) es un conjunto de datos
pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso. En este sentido, una
biblioteca puede considerarse una base de datos compuesta en su
mayoría por documentos y textos impresos en papel e indexados
para su consulta. En la actualidad, y debido al desarrollo
tecnológico de campos como la informática y la electrónica, la
mayoría de las bases de datos están en formato digital
(electrónico), que ofrece un amplio rango de soluciones al
problema de almacenar datos.
Existen programas denominados sistemas gestores de bases de
datos, abreviado SGBD, que permiten almacenar y posteriormente
acceder a los datos de forma rápida y estructurada. Las
propiedades de estos SGBD, así como su utilización y
administración, se estudian dentro del ámbito de la informática.
Sistema de Gestión de Bases de Datos
Conjunto de elementos software con capacidad para definir,
mantener y utilizar una base de datos.
Componentes
Hardware
Dispositivo de almacenamiento (en nuestro caso
ninguno especial.
Software
DBMS ó Sistema Manejador de Base de Datos (MYSQL en
nuestro caso).
Datos
Almacenados y Procesados.
Tipos de usuarios
Usuario Final
Persona que usa los datos.
Desarrollador de Aplicaciones
Persona que desarrolla
aplicaciones para el sistema en algún lenguaje de programación
(que normalmente requerirán algún tipo de librería).
DBA (Administrador de Base de Datos)
Persona que asegura la integridad, inconsistencia, seguridades
de datos.
Esta se encarga del mantenimiento periódico o diario de la
base de datos.
Interactúan con la base de datos
Modelización de una base de datos
 Modelos de datos lógicos: Destacan los modelos ENTIDADRELACIÓN y el modelo orientado a objetos. Usaremos el
modelo ENTIDAD-RELACIÓN.
 Modelos de datos implementables: Usaremos el modelo
RELACIONAL, aunque también están el jerárquico y el modelo
en red.
MODELO RELACIONAL: De forma resumidad podríamos decir que consta
de lo siguiente:
 Definición de tablas para almacenar datos.
 Álgebra Relacional: Operaciones con los datos (entre las
tablas)
El modelo anterior es el modelo que siguen gran cantidad de
Sistemas de Bases de Bases como son Oracle, MySQL, Postgresql,
Microsoft sql server, etc. Lo común a todos ellos es la
utización del SQL (lenguaje de consulta estructurado) para
definir nuestra base de datos y realizar búsquedas en la misma.
Una de sus características es el manejo del álgebra y elcálculo
relacional permitiendo efectuar consultas con el fin de
recuperar -de una forma sencilla información de interés de una
base de datos, así como también hacer cambios sobre ella.
Modelización semántica: El modelo Entidad-Relación:
El modelo E-R es un mecanismo formal para representar y
manipular información de manera general y sistemática. En él
cualquier dato o concepto debe ser definido o modelado de manera
única, posteriormente se establecerán las conexiones con tros
datos. Por ejemplo algo llamado pedido será definido una sola
vez y posteriormente se establecerá su relación con clientes,
productos, etc. Incluir en un modelo más datos de los necesarios
sólo servirá para añadir ruido al diseño y entorpecer la
implementación.

Elementos del modelo:
1. Entidades y atributos:
a. Entidad: objeto distinguible de los demás (libro,
empleado, departamento, asignatura).
b. Atributos: propiedades que caracterizan un conjunto
de entidades (dni, nombre, sueldo, etc.). El conjunto
devalores permitidos es conocido como dominio. Si uno
o varios atributos identifican a una entidad de
manera unívoca a ese conjunto de atributos los
llamaremos clave primaria (por ejemplo el dni).
c. Entidad débil: Entidades que aún teniendo atributos
propios ningún subconjunto de ellos permite
identificar unívocamente a ese entidad (no hay clave
primaria) y para ello hemos de relacionar esa entidad
con otra que llamaremos entidad fuerte (por ejemplo
los asientos de un avión con un avión, los
movimientos con una cuenta).
2. Asociaciones o relaciones: Conexión semántica entre dos o
más conjuntos de entidades (autor escribe libro, empreado
trabaja departamento).
a. Muchos a muchos: libros y autores
b. Uno a muchos: departamentos y empleados (un empleado
no puede estar en varios departamentos).
c. Uno a uno: relación casado.
Las relaciones pueden tener atributos por ejemplo
trabajador trabaja (fecha de alta) en departamento.
Existen relaciones que conectan un conjunto de entidades
consigo mismo (por ejemplo empresa trabaja para empresa).
3. Diagramas:
Ejemplo de uso de diagramas con modelo de gestión
universitaria: nuestras entidades son departamentos,
profesres, asignturas, grupos, matrículas, alumnos, aulas,
ect.
 Un profesor pertenece a un solo departamento.





Un profesor puede impartir varios grupos de la
misma o diferente asignatura y un grupo ha de ser
impartido por al menos un profesor.
Hay grupos de teoría y de practicas con un máximo
de alumnos por grupo.
Los grupos tienen clase a días y horas
determinadas.
Los alumnos que se matriculan en una asignatura lo
hacen en grupo determinado.
Todo departamento tiene un director.
4. Generalización y especialización:
5. Agregación:
6. Relaciones n-arias:

Del modelo E-R al modelo relacional: La única estructura
presente en el modelo relacional es la tabla. Vemos como
pasar la información de los diagramas anteriores a tablas que
contendrán nuestros datos.
1. Entidades: Paso directo, tenemos una tabla con todos los
atributos de la entidad. La clave primaria hace que la
tabla no contenga filas repetidas.
2. Entidades débiles: La tabla correspondiente contendrá
todos los atributos propios más la clave primaria del
cnjunto de entidades fuertes del que depende
3. Conexiones: La tabla correspondiente tendrá como atributos
las claves primarias de los elementos relacionados más los
atributos propios de la conexión.
a. Muchos a muchos: La unión de las claves primarias de
las entidades junto con algún atributo de la relación
(deenderá de su significado) formará la clave
primaria de la tabla obtenida.
b. Muchos a uno: La clave primaria de la entidad UNO
suele ser la clave primaria de la tabla (quizás falte
añadir algún atributo de la relación).
c. Uno a Uno: Cada clave primaria en las entidades es
clave primaria en la tabla que obtenemos (solamente
se elegirá una de ellas).
4. Generalización: Dos opciones.
a. Podemos crear una tabla para cada una de las
entidades. Tendríamos así las tablas
EMPLEADO(NRP,NOMBRE, DIRECCIÓN),
FUNCIONARIO(NRP,NIVEL, FECHAALTA) y
LABORAL(NRP,GRUPO, ESPECIALIDAD).
b. La entidad superior desaparece y tenemos las tablas
FUNCIONARIO(NRP,NOMBRE, DIRECCIÓN, NIVEL, FECHAALTA)
y LABORAL(NRP,NOMBRE, DIRECCIÓN,GRUPO,ESPECIALIDAD).
5. Agregación: Las agregaciones no se reflejan en tablas
aunque cuando intervienen en una relación hay que pensar
que su clave primaria es la de la relación que contenida
en ella.
6. Relaciones n-arias:
a. Muchos-muchos-muchos: Se utilizan las claves
primarias de las entidades y los atributos de la
relación.
La tabla en este caso es SUMINISTRO(COD-PROV,CODPROY,COD-PIE).
b. Muchos-muchos-uno:
Para este caso utilizamos una generalización de la
forma siguiente.
Obtenemos en este caso las tablas SUM1(COD-PIEZA,CODPROV) y SUM2(COD-PIE,COD-PROV,COD-PROY).
c. Mucho-uno-uno:
Tenemos en este caso dos opciones:
Las tablas para la primera opción serían
SUM1(COD-PIE,COD-PROY) y SUM2(COD-PIE,COD-PROY).
Para la segunda opción tenemos
SUM1(COD-PROV,COD-PROY) y SUM2(COD-PROV,COD-PIE).


Ejercicio: Pasar al modelo relacional el ejemplo anterior.
Ejercicio: Se trata de organizar la información relativa a
una compañía de seguros de automóvil, donde se mantienen daos
acerca de los clientes, los vehículos, las polizas y los
partes de accidente. Tenemos las siguientes restricciones:
a. Un cliente puede tener asegurado más de un vehículo en
la compañía.
b. Cada vehículo posee una única póliza de seguro que
tendrá un precio en función de la cobertura que se haya
contratado y de las carácter´´isticas del vehículo.
c. Sobre los siniestros ocurridos deberá conocerse la
fecha, el lugar, la causa y la cuantía de los daños
ocasionados. Cada tip de siniestro o accidente (colisión
múltiple, adelantamiento indebido, exceso de velocidad,
etc.) va identificado por un código.
d. En un accidente pueden estar involucrados verios
vehículos asegurados por la misma compañía.
Pasar al modelo relacional el diagrama anterior.

Ejercicio: Gestión de la información que se manipula en un
hospital sobre pacientes, médicos, historias clínicas,
ingresos, pruebas, etc. Tenemos la siguiente situación:
o Cada paciente tiene asociada una historia clínica única
que se genera la primera vez que el paciente visita el
hospital y en la cual se van anotando todos sus
ingresos.
o Las habitaciones pueden tener varias cama, que irán
numeradas y serán de un determinado tipo.
o Durante un ingreso, el paciente ocupará una misma cama y
se le podrán realizar tantas pruebas como sea necesario.
o Los distintos tipo de prueba van codificadas y se
realizan con un aparato determinado en una sala
determinadas.
o Es importante saber cuándo (día y hora) se ha realizado
cadas una de las pruebas a un paciente y qué
especialista la ha llevado a cabo.
o Los atributos asociados a cada conunto de entidades
serán los habituales en estos casos.

a

Disponemos de los siguientes elementos de información:
Tarjetas de crédito (identificadas por un número), titulares
de dichas tarjetas (de los que conocemos DNI, domicilio y
teléfono) y cuentas corrientes (con un código, saldo y fecha
de apertura). Las restricciones que tenemos son:
o Cada persona puede tener más de una tarjeta.
o Cada tarjeta tiene un único titular o propietario.
o Cada tarjeta está asociada a una única cuenta.
o Podemos cargar más de una tarjeta a una cuenta
determinada.
o Cada cuenta pertenece a una sola persona.
o Una persona puede tener más de una cuenta.
Una empresa almacena datos referentes a departamentos
(código, nombre, ubicación), empleados (DNI, nombre, DNI del
cónyuge), proyectos (código, nombre, presupuesto9,
proveedores (código, nombre, teléfono, dirección) y productos
(código, nombre, precio). La restricciones son:
o Cada empleado trabaja en un departamento.
o Un empleado puede trabajar en varios proyectos.
o Existe un empleado que dirige cada proyecto.
o Los proyectos usan productos.
o Los precios de los productos pueden variar de un
proveedor a otro.
o Algunos productos tiene componentes que son, a su vez,
productos.

FORMALIZACIÓN DEL MODELO RELACIONAL:
Atributo: cuanquier elemento de información del “mundo”
que vamos a representar, susceptible de tomar valores.
Dominio: llamaremos dominio D al conjunto de valores que
puede tomar un determinado atributo A.
Relación: Consideremos los atributos Ai . Una relación
asociada a los atributos anteriores es un cualquier
subconjunto finito del producto cartesiano de sus
dominios.
Base de datos relacional: Un base de datos relacional es
un conjunto finito de relaciones.
Propieades de las relaciones:



No hay orden en sus elementos.
No orden en las tuplas.
No hay elementos duplicados.
Clave candidata (a clave primaria): Subconjunto C de los
atributos de una relación que verifica:
1. Para cualquier par de elementos de la relación el
conjunto de valores que toman en los atributos de la
clave canditada no coinciden.
2. No existe ningún subconjunto C’ de C que verifique el
punto anterior.
Descargar