Está en la página 1de 36

Informtica Aplicada

Curso 2005 - 2006

4. Bases de Datos
Cristina Manresa Yee

ndice
Conceptos bsicos Objetivos/Ventajas de los SGBD Inconvenientes de los SGBD Usuarios de la BD Abstraccin de la informacin Modelos de datos

ndice
+ Conceptos
Instancias y esquemas Independencia de los datos

Lenguajes
Lenguaje de definicin de datos Lenguaje de manipulacin de datos

Modelo de datos
Entidad-Relacin Modelo relacional
Integridad relacional Normalizacin de datos

Conceptos bsicos
Dato:
Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos

Informacin en bases de datos:


Conjunto ordenado e integrado de datos los cuales son manejados segn la necesidad del usuario La integracin evita inconsistencias y aumenta el control de la organizacin

Conceptos bsicos
Base de datos (BD):
Es una coleccin de archivos interrelacionados Se puede crear con un Sistema Gestor de base de datos (SGBD) El contenido de una base de datos engloba a la informacin (almacenadas en archivos) de una organizacin Los componentes principales de un sistema de base de datos
hardware el software SGBD datos a gestionar personal encargado de la gestin del sistema Datos estn disponibles para los usuarios

Conceptos bsicos
Sistema gestor de bases de datos:
Un SGBD es una coleccin de numerosas rutinas de software interrelacionadas Proporciona un sistema eficiente para extraer, almacenar y manipular informacin de la base de datos Todas las peticiones de acceso a la base, se gestionan centralizadamente por medio del SGBD interfaz entre los usuarios y la base de datos.

Conceptos bsicos
Sistema gestor de bases de datos: Diseados para tratar grandes cantidades de datos Manipulacin de datos:
Estructuras para guardarlos Mecanismos de acceso

Mecanismos de seguridad Mecanismos de integridad

Objetivos/Ventajas de los SGBD


Control sobre la redundancia de datos y la consistencia de datos
Desperdicio de espacio de almacenamiento, Provoca la falta de consistencia de datos A veces la redundancia es necesaria para modelar las relaciones entre los datos, o bien es necesaria para mejorar las prestaciones Ofrecer un entorno de datos que le facilite al usuario la gestin de los mismos Datos integrados. Ms facilidad de extraer informacin Los datos de diferentes aplicaciones integrados en la misma BD

Disminuir la dificultad para acceder a los datos. Ms informacin sobre la misma cantidad de datos

Disminuir aislamiento de datos

Objetivos/Ventajas de los SGBD


Sistema de informacin basado en ficheros
clientes Nminas Empleados Inventario Ventas

Dpt. Atencin al cliente

Dpt. De nminas

Dpt. De personal

Dpt. De compras

Dpt. De ventas

Sistema de informacin basado en BD


Dpt. de atencin al cliente Dpt. De ventas

Base de dades consolidada

Dpt. De nminas Dpt. De compras

Dpt. De personal

Organizacin de archivos versus organizacin en BD

Objetivos/Ventajas de los SGBD


Mejora en la productividad y mantenimiento.
El SGBD proporciona muchas de las funciones estndar que el programador necesita escribir en un sistema de ficheros Se separan las descripciones de los datos de las aplicaciones Mltiples usuarios

Disminuir anomalas en el acceso concurrente Disminuir problemas de seguridad

Disminuir problemas de integridad

Control de acceso a los datos, no todos los usuarios pueden visualizar alguna informacin, Un sistema de base de datos confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia Centralizado

Mejora en los servicios de copias de seguridad y de recuperacin ante fallos.

Inconvenientes de los SGBD


Complejidad. Comprender la funcionalidad para poder sacar el mejor provecho del sistema Tamao. Programas complejos y muy extensos que requieren una gran cantidad de espacio en disco y de memoria para trabajar de forma eficiente Coste econmico del SGBD. El coste de un SGBD vara dependiendo del entorno y de la funcionalidad que ofrece

Inconvenientes de los SGBD


Coste del equipamiento adicional.
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento Vulnerable a los fallos Centralizacin

Usuarios de la BD
Usuarios finales Programadores de aplicaciones Diseador de la BD Administrador de la BD

Usuarios de la BD
Usuarios finales: aquellos que interactan con el sistema por medio de aplicaciones permanentes. Programadores de aplicacin: hacen los programas y pueden consultar informacin de la BD Diseador de la BD

Identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y tambin debe conocer sus reglas de negocio Para obtener un buen resultado, debe de implicar a todos los usuarios de la BD El diseo lgico de la base de datos es independiente del SGBD concreto que se vaya a utilizar, es independiente de los programas de aplicacin, de los lenguajes de programacin y de cualquier otra consideracin fsica

Usuarios de la BD
Administrador de la BD (DBA)
Se encarga del diseo fsico de la base de datos y de su implementacin Realiza el control de la seguridad y de la concurrencia Mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones. Responsable de copias y recuperacin Configurar y monitorizar el sistema: parmetros, equilibrio de cargas... El administrador debe conocer muy bien el SGBD que se est utilizando, as como el equipo informtico sobre el que est funcionando

Abstraccin de la informacin
Una BD
es una coleccin de archivos relacionados entre s, de la cual los usuarios pueden extraer informacin sin considerar las fronteras de los archivos. proporciona a los usuarios una visin abstracta de los datos. Se esconden ciertos detalles de cmo se almacenan y mantienen los datos

Abstraccin de la informacin
Existen diferentes niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema
Interno almacenamiento fsico Conceptual programador Externo usuario

Abstraccin de la informacin
Nivel fsico:
Nivel ms bajo Representacin del nivel ms bajo de abstraccin, en ste se describe en detalle la forma en como de almacenan los datos en los dispositivos de almacenamiento

Nivel Conceptual
Describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en trminos de su estructura de diseo

Abstraccin de la informacin
Consta de las siguientes definiciones:
Definicin de los datos: Se describen el tipo de datos y la longitud de campo. Los elementos por definir incluyen artculos elementales (atributos) y registros conceptuales (entidades). Relaciones entre datos: Se definen las relaciones entre datos

Abstraccin de la informacin
Nivel externo:
Nivel ms alto Es lo que el usuario final puede visualizar del sistema terminado Describe slo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas visiones para la misma base de datos

Abstraccin de la informacin

Abstraccin de la informacin. Estructura SGBD


Usuario A Usuario A1 Usuario B Usuario B1

Visin externa A Tabla Correspondencia Conceptual/externo A

Visin externa B Tabla Correspondencia Conceptual/externo B

Nivel Conceptual

Tabla Correspondencia Conceptual/Fsico

Nivel Fsico

Abstraccin de la informacin
Nivel externo Depart. Nivel conceptual
Empleados Dep. 1 2 3 2 Nombre Empleado Mara Pedro Sandra Jos Departamento Cod. Dep. 1 2 3 Nombre Dep Ventas Compras Produccin Ventas Compras Produccin Compras Nom Empleado Mara Pedro Sandra Jos

Nivel fsico
x 1 Ventas

Mara x 2 Compras Pedro, x 3 Produccin Sandra Jos

Modelos de datos
Qu es un modelo de datos?
Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia.

Caractersticas
Grfico Facilitar descomposicin descendente Redundancia Transparente: modelizar datos sin tener en cuenta los procesos
Ejemplos: modelo Entidad-Relacin, modelo relacional

Modelos de datos
Objetivos
Desvincular
Datos Procesos: p.e, registro de albaranes, impreso de facturas

Comunicacin con el diseador de datos (no tcnico) Comunicacin con el administrador de BD Organizar

Instancias y esquemas
Instancia: Esquema:
Estado que presenta una base de datos en un tiempo dado . Foto

Descripcin lgica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos El esquema no cambia los que varan son los datos y con esto tenemos una nueva instancia. Subesquema:
Descripcin exclusiva de parte de la base de datos que hace referencia a las necesidades de un usuario.

Instancias y esquemas
Ejemplo:
Esquema Instancia Estructura vara con el tiempo

Esquema: { Vendedor : Nombre, puesto, salario, RFC } { Articulo : Clave, precio, descripcin } Instancia:

Independencia de los datos


Libertad para modificar algunos de los esquemas sin que exista la necesidad de reescribir los programas de aplicacin. Independencia fsica de datos:
Se modifica el esquema fsico sin afectar a los esquemas restantes.
ajuste en el hardware de almacenamiento una redistribucin de los datos en l

Independencia lgica:
Se modifica el esquema conceptual sin afectar al resto de los esquemas

cambiar las caractersticas de los datos a almacenar

Lenguaje de definicin de datos


El DDL (Data Definition Language) Lenguaje que permite describir un esquema de base de datos. Las definiciones resultantes conformaran un archivo especial denominado Diccionario de Datos.

Lenguaje de manipulacin de datos


La manipulacin de datos se refiere a las operaciones de insertar, recuperar, eliminar o modificar datos Se realizan a travs del lenguaje de manipulacin de datos (DML, Data Manipulation Language)

Resumen lenguajes

Lenguaje

Modelos de datos: Modelo entidad- relacin


Modelo entidad relacin E-R
Este modelo representa a la realidad a travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas
P.e Alumnos, profesores, asignaturas

Las caractersticas de las entidades en base de datos se llaman atributos Una entidad se puede asociar o relacionar con ms entidades a travs de relaciones (Cardinalidad)

Modelos de datos: Modelo entidad- relacin


Cardinalidad
Presente en todas las relaciones Nmero terico de ocurrencias de una entidad con las que se puede asociar una ocurrencia de otra entidad a travs de una relacin 1 uno y slo uno 0,1 cero o uno N cero o ms 1,N uno o ms

Modelos de datos: Modelo entidad- relacin


P.e Empleado: Nombre Puesto Salario Relacin: venta Artculo: Descripcin Costo Clave

Modelos de datos: Modelo entidad- relacin


Grficamente:

Modelos de datos: Modelo entidad- relacin


Pas, Ciudad: pertenencia
Pas
1

pertenencia
1,N

Ciudad

Modelos de datos: Modelo entidad- relacin


Empleado, Departamento: director, pertenencia
Empleado
1 director 0,1 1,N pertenencia 1

Departamento

Modelos de datos: Modelo entidad- relacin


Pas, Ciudad, Persona: ubicacin, residencia, nacionalidad
Pas
1 1,N 1

Ciudad Residencia
1 1,N 1,N

Nacionalidad

persona

Modelos de datos: Modelo relacional


El modelo E-R es un modelo lgico, hay que transformarlo para poder implementarlo

Modelo relacional
se representan los datos y las relaciones entre estos, a travs de una coleccin de tablas Tuplas: equivalen a los cada uno de los registros que contendr la base de datos y las columnas corresponden a las caractersticas (atributos)

Modelos de datos: Modelo relacional


Relacin entre E-R y modelo relacional

Modelos de datos: Modelo relacional

Modelos de datos: Modelo relacional


Las relaciones se representan:
Clave primaria: Es un atributo que definimos como atributo principal, es una forma nica de identificar a una entidad P.e RFC de Empleado Clave de Artculo

Modelos de datos: Modelo relacional


Relaciones en un modelo relacional representado por: Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin.

Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.

Integridad relacional
Coherencia de datos: se deben cumplir reglas de integridad P.e
Atributo sexo: masculino/femenino Valor de peso: siempre positivo No existir dos facturas con el mismo nmero Porcentaje de descuento entre 0 - 100

Integridad relacional
Dos reglas generales
Regla de Integridad de Entidades: los atributos de una clave primaria no pueden tomar valores nulos Regla de Integridad Referencial: ninguna relacin debe contener valores de clave externa sin concordancia
Clave externa o fornea: conjunto de atributos de una relacin que hacen referencia a claves primaria de otra relaciones.

Modelos de datos: Modelo relacional


Clave Modelo E-R primaria Alumno(Dni, nombre, direccin) Convocatoria (cod convocatoria, ao, Clave mes, nota) primaria Asignatura (cdigo asignatura, nombre, crditos Alumno Convocatoria Asignatura Clave primaria

Modelos de datos: Modelo relacional


Clave Relacional primaria Alumno(Dni, nombre, direccin) Convocatoria (DNI, cdigo asignatura, ao, mes, nota) Asignatura (cdigo asignatura,Clave fornea nombre, crditos Alumno Convocatoria Asignatura Clave primaria

Normalizacin de datos
Convertir y reestructurar hasta que se cumplan unas condiciones Codd defini 3 formas normales
1 forma normal (1FN) 3 forma normal (2FN) 2 forma normal (3FN) Boyce y Codd mejoraron BCFN Fagin sac 4FN y 5FN

Cada FN incluye a la anterior

Correcto llegar hasta mnimo 3FN

Normalizacin de datos
Problemas de un modelo no normalizado DNI 111 222 333 444 Nombre Juan Pilar Julin Pedro Departamento Contabilidad Audiovisuales Contabilidad Contabilidad Edificio Son Lled Ramon Llull Son Lled Son Lled

Suponemos que todo empleado de un departamento est ubicado en el mismo edificio

Normalizacin de datos
Problemas
Anomalas de insercin Insertar informacin de departamento implica insertar un empleado Al insertar un empleado, necesitas informacin de departamento (p.e Edificio) Anomalas de eliminacin: al borrar a Pilar pierdes informacin del dpto de audiovisuales Anomalas de modificacin: hay informacin duplicada y que hay que cambiar por todo

Normalizacin de datos
Primera forma normal: se tienen valores atmicos para cada tupla Segunda forma normal cada atributo que no forma parte de una clave primaria depende funcionalmente de forma completa de la clave R: (A, B, C, D) R1: (A, B, D) R2: (B, C) Tercera forma normal: los atributos que no pertenecen a una clave primaria son independientes entre s

Normalizacin de datos
1FN
Habitacin 111 112 113 Habitacin 111 111 112 113 113 Paciente Juan Toni Mara Paciente Juan Juan Toni Mara Mara Enfermeros 1,5 5 8,1 Enfermeros 1 5 5 1 8

normalizacin

Normalizacin de datos
2FN Ej: R: (cdigo artculo, almacn, stock, telfono almacn) Cod art T232 T232 H995 almacen Palma Alar Alar stock 452 512 633
dependencia

tfno 971 22 22 22 971 11 11 11 971 11 11 11

P.e. Eliminamos artculo T232, perdemos el telfono de Palma

Normalizacin de datos
Normalizado:
R: (cdigo artculo, almacn, stock, telfono almacn)
normalizacin

R1: (cdigo artculo, almacn, stock,) R2: (almacn, telfono almacn)

Normalizacin de datos
3FN Hospital: (nombre, ciudad, comarca, isla, num camas ) Operacin: (num paciente, num licencia cirujano, fecha, anestesia, efectos secundarios) normalizacin Hospital: (nombre, ciudad, comarca, isla, num camas ) Operacin: (num paciente, num licencia cirujano, fecha, anestesia) Anestesia: (anestesia, efectos secundarios)

BD. Pasar de Modelo E-R a Modelo Relacional

Modelo E-R
1. 2.

Modelo relacional

Las entidades son relaciones Las relaciones son relaciones de atributos: claves primarias de las entidades que relacionan
1.

Claves principales:
1. 2. 3.

1 N:N N M: N,M 0,1 1: (0,1)

3. 4. 5. 6.

Unir relaciones con la misma clave Normalizar Replantear claves Normalizar

Ejemplo
Pas 1 Pertenencia N Ciudad Pas:{cod_pas, nombre_pais, idioma, moneda} Ciudad:{cod_ciudad, nombre_ciudad, num_habitantes} 1. Entidades Relaciones Pas:{cod_pas, nombre_pais, idioma, moneda} Ciudad:{cod_ciudad, nombre_ciudad, num_habitantes} 2. Relaciones Relaciones Pertenencia:{cod_pas,cod_ciudad} 3. Ciudad:{cod_ciudad, cod_pas, nombre_ciudad, num_habitantes} 4,5,6 No proceden en este caso RESULTADO Pas:{cod_pas, nombre_pais, idioma, moneda} Ciudad:{cod_ciudad, cod_pas, nombre_ciudad, num_habitantes}
clave fornea

Ejemplo
Empleado M venta N Artculo Empleado:{DNI, nombre, cargo, salario, fecha_inicio} Artculo:{cod_artculo, descripcin, precio, stock} 1. Entidades Relaciones Empleado:{DNI, nombre, cargo, salario, fecha_inicio} Artculo:{cod_artculo, descripcin, precio, stock} 2. Relaciones Relaciones Venta:{DNI,cod_artculo} 3. No existen relaciones con las mismas claves 4,5,6 No proceden en este caso Empleado:{DNI, nombre, cargo, salario, fecha_inicio} Artculo:{cod_artculo, descripcin, precio, stock} Venta:{DNI,cod_artculo}
claves forneas

RESULTADO

Caso A
Un paciente (nombre, fecha nacimiento, direccin, telfono ) tiene un mdico de cabecera (nombre, direccin , telfono, sueldo). El mdico de cabecera pertenece a una especialidad. Estas especialidades estn categorizadas. Los mdicos pueden trabajar en ms de un hospital (nombre hospital, direccin, telfono)

Access

Objetos en Access
Tablas: sistema de almacenaje y sistema de recuperacin de la informacin Formularios Consultas Informes Macros Mdulos

Tablas

atributos de la tabla (campos)

tipo de dato

Clave Principal

Propiedades: tamao, formato

Ejemplos de tablas y relaciones

Formularios
Visualizar, editar y borrar la informacin almacenada en las tablas Ms prcticos que las hojas de datos para la introducci y modificacin de los datos en una tabla. El usuario puede entrar los datos que se corresponden a varias tablas y son un entorno visual ms amigable.

Consultas
Buscar y recuperar instancias individuales o totales Una consulta es una pregunta que se formula a la base de datos. En general las consultas se usan para extraer un conjunto especfico de registros de una o varias tablas.

Informes
Imprimir datos con formato personalizado. Pueden incluir totales o recoger los extractos de otros valores en un campo determinado.

Informes (2)
En los informes se pueden aadir grficos y diagramas. Hay un tipo especial de informe para imprimir etiquetas de correo o sobres, y realizar cartas, combinarlas con listas de direcciones y personalizarlas.

Macros y mdulos
Las macros contienen una secuencia de comandos que realizan una tarea determinada y que son tiles para definir acciones que respondan a un clic de ratn. Los mdulos son programas escritos en Visual Basic, que es el lenguaje que emplea Access.

Integridad referencial
Es un sistema de reglas para garantizar que las relaciones entre los registros de tablas relacionadas sean vlidas y que la base de datos permanezca intacta cuando se entren los datos, se modifiquen o se eliminen.

Integridad referencial
Las reglas de integridad que se aplican a Access son:
No se puede insertar un valor a un campo de clave externa que no exista en la clave principal. No se puede eliminar un registre de una tabla principal si hay registros en la tabla relacional. No se puede cambiar un registro de una tabla secundaria si la clave externa deja de tener un registro coincidente en la tabla principal. No se puede cambiar un valor de clave principal en la tabla principal si este registro tiene registros relacionados.

Integridad referencial
Actualizar en cascada los campos relacionados: cambias principal cambian los relacionados Eliminar en cascada los registros relacionados: eliminas el principal se eliminan todos los registro relacionados

También podría gustarte