You are on page 1of 35

Diseo de Base de Datos

El enfoque de bases de datos

Bibliografa: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3 edicin, 2002 (Captulo 1).

Objetivos de la asignatura
Teora:
Entender los principios detrs del diseo de las bases de datos relacionales. Aprender a transformar

Prcticas:
Aprender cmo trabajar con una base de datos

Qu hay que saber hacer al final de la asignatura?


Entender un problema de datos como entidades y relaciones Dibujar un diagrama entidad-relacin Pasar el diagrama entidad-relacin a una base de datos en SQL Poner datos en la base de datos usando SQL Hacer consultas usando SQL

Definicin: Base de datos

Una coleccin de datos relacionados, y una descripcin de estos datos, diseados para cumplir con las necesidades de informacin de una organizacin. (Connolly & Begg)

Definicin: Sistema gestor de bases de datos (DBMS)

Un sistema de software que permite a sus usuarios crear, mantener y controlar el acceso a una base de datos. Connolly & Begg)

Aplicaciones tradicionales
Inventario Bancos

Reservas
Compras Seguimiento Logstica Transporte

Adm. Clientes
Bibliotecas Sistemas educacin Etc.

Educacin
Estadsticas

Qu tipos de datos?
Cualquier organizacin usualmente
Intercambia Procesa Almacena Recupera Actualiza Revisa

... datos provenientes de su actividad

Qu tipos de datos?
Ciertos aspectos del mundo real
Cuantificables tiles

Vista parcial (minimundo) del problema => ABSTRACCIN

Ejemplo
Entidades
Alumnos Curso Secciones Notas Requisitos

Qu atributos podra tener cada uno?

Ejemplo (cont.)
Atributos por entidad
Alumnos: nombre, cdigo, ao, especialidad Asignatura: nombre, cdigo, crditos, depto. Secciones: nmero, curso, semestre, ao Notas: alumno, seccin, nota Requisitos: asignatura, requisito

Pueden ser variables

Expectativas (ej.: Banco)


tems de datos
clientes, operaciones, empresas, etc.

Registro de cada transaccin Transacciones secretas Usuarios concurrentes No pueden haber errores

Tolerancia a fallas externas

Expectativas ... (cont.)


Reportes de todos los aspectos del sistema

Nuevos productos del banco se venden


Hipotecas con tasa de crdito que vara dependiendo de ciertos factores Premio si un cliente invita a otro cliente que resulta ser un buen cliente Promociones en casos especiales etc.

Cmo se cumple con estas expectativas?


Siguiendo una metodologa

Modelando los datos en trminos abstractos


Ciertos tipos de dato prefijado Cierta estructura formal (tablas, columnas, filas)

Utilizando un gestor de bases de datos


Transacciones, concurrencia, etc.

Enfoque tpico
Usuarios

Programas

Datos

Usando ficheros
Fichero = Tabla de
Personas.txt Nombre,Apellido,Ao _Nacimiento Juan,Perez,1957 John,Smith,1980 ...

Tipos de reporte: todas las personas con un ao de nacimiento, etc. Nuevo reporte = nuevo programa datos

Por qu no usar ficheros?


No se puede ...
Buscar rpido Modificar fragmentos pequeos Hacer consultas complejas Modificar varios ficheros a la vez

No es eficiente consultar partes pequeas de los ficheros sin leerlos completos en memoria

No hay restricciones de integridad


Falta de flexibilidad

Enfoque de bases de datos


Usuarios

Programas

Sistema gestor de bases de datos

Metadatos (Descripcin de los Datos)

Metadatos

Caractersticas del enfoque


Datos autodescriptivos
Uso de un catlogo de metadatos

Independencia de los datos


Otros programas para los mismos datos

Mltiples vistas de los datos


Compartir datos Transacciones multiusuario Desarrollar programas en menos tiempo y que funcionen mejor

Trminos clave
Esquema de la base de datos
Descripcin de la estructura

Estado de la base de datos


Descripcin del estado actual

Ejemplo
Base de datos de autores

Tablas
autores editoriales libros

Tipos de dato
TEXT - Texto INTEGER Nmeros enteros DATE Fecha

Ejemplos de tablas
autores
idautor INTEGER nombre TEXT apellido TEXT telefono INTEGER direccion TEXT

libros
idlibro INTEGER idautor INTEGER ideditorial INTEGER nombre TEXT paginas INTEGER publicado DATE Observar: Nombres de tabla Nombres de columna Tipos de dato Identificadores Relaciones Restricciones de integridad

editoriales
ideditorial INTEGER nombre TEXT direccion TEXT

Roles y actores
Administrador de datos y bases de datos (DBA)

Diseadores de bases de datos


Desarrolladores de aplicaciones Usuarios finales

Administrador base de datos


Administracin de datos
Planificacin de la base de datos Desarrollo de estndares (ej.: nombres), polticas y procedimientos Diseo lgico de la base de datos

Administracin de bases de datos


Diseo e implementacin de la base de datos Acceso y control (usuarios y passwords) Mantenimiento (ej.: mantenimiento para mejor performance) Respaldo

Diseador de base de datos


Diseo lgico de la base de datos

Qu datos deben ser almacenados?


Definir vista parcial

Cmo deben organizarse los datos? Cules son los usos tpicos de los datos?

Programador de aplicaciones
Programas que usen las bases de datos

Interfaces a otros sistemas


Web E-Mail Sistemas de ficheros etc.

Usuarios finales
Paramtricos o simples
Usuarios de las aplicaciones finales Consultas pre-fijadas

Expertos
Reportes y anlisis

Ventajas de las bases de datos


Control de la redundancia
Menos uso de espacio

Restriccin de accesos Almacenamiento persistente de objetos Mltiples interfaces Relaciones complejas entre datos

Restricciones de integridad
Copias de seguridad y recuperacin

Cundo no usar BD relacional?


Problemas muy simples

Las bases de datos agregan un costo


Tamao y complejidad del software Costo de la base de datos, hardware y entrenamiento

BD incluye un sobrecosto en tiempo de ejecucin

Aplicaciones ms avanzadas
Sistemas de informacin geogrfica

Bases de datos multimedia


Video Msica Sonido Fotografas

Sistemas de proceso analtico on-line


OLAP

Bases de datos distribudas

Resumen
Bases de datos + Software

= Sistema de Bases de datos


Abstraccin de los datos Actores: administradores, usuarios finales, diseadores, programadores.

Ejercicio desarrollado en clase Respuestas


1.1
Un sistema de gestin de bases de datos coordina los accesos fsicos y lgicos a los datos, mientras que un sistema de procesamiento de ficheros coordina slo el acceso fsico. Un sistema de gestin de bases de datos reduce la cantidad de datos duplicados, asegurando que una seccin fsica de datos est disponible para todos los programas autorizados a accederla, mientras que los datos escritos por un programa sobre un sistema de procesamiento de ficheros pueden no ser accesibles por otro programa. Un sistema de gestin de bases de datos est diseado para permitir acceso flexible a los datos, mientras que un sistema de procesamiento de ficheros est diseado para permitir predeterminados accesos a los datos Un sistema de gestin de bases de datos est diseado para coordinar a mltiples usuarios accediendo a los mismos datos en el mismo momento. En un sistema de procesamiento de ficheros, dos programas pueden acceder concurrentemente a un fichero slo si ambos tienen acceso de slo lectura sobre el fichero.

1.2
La instalacin de un sistema de bases de datos requiere ms conocimiento, dinero, habilidad y tiempo. La complejidad de una base de datos puede originar una disminucin del rendimiento.

1.3

La independencia fsica de los datos es la capacidad para modificar el esquema fsico, sin necesidad de rescribir los programas de las aplicaciones.
La independencia lgica de los datos es la capacidad para modificar el esquema conceptual, sin necesidad de rescribir los programas de las aplicaciones.

1.4
Interaccionar con el gestor de ficheros. (gestor de almacenamiento) Poner en prctica la integridad (gestor de autorizacin e integridad) Poner en prctica la seguridad Copias de seguridad y recuperacin (gestor de transacciones) Controlar las concurrencias.

1.5
Crear la definicin del esquema Definir la estructura de almacenamiento y los mtodos de acceso Modificar el esquema y/o la organizacin fsica cuando sea necesario Conceder autorizacin para acceder a los datos Definir las restricciones de integridad

You might also like