You are on page 1of 23

Unidad I Diseo de Base de Datos

BASE DE DATOS. Conceptos.


Que es una base de datos.
Una base de dato es un repositorio de informacin que permite satisfacer los requerimientos de una aplicacin mediante la definicin de tablas relacionadas que luego son consultadas para satisfacer dichos requerimientos. Base de Datos de Facturacin. Base de Datos de Mantenimiento

Proveedore s

Programacin de Mantenimiento

Facturas

Cuentas X Cobrar

Trabajos de Mantenimient o

Mecnicos de Matto.

BASE DE DATOS. Conceptos.


Que es un manejador de Base de datos
Es un software que se encarga de crear, manipular y administrar un conjunto de datos, que de acuerdo a un diseo previo se organiza de una forma en especifica. Access es una manejador de base de datos pequeas.

2. Determinar las entidades:


Las entidades son los elementos que conforman la Base de Datos. Representan elementos en el mundo real

BASE DE DATOS. Diseo


Etapas en el diseo de una base de datos: 1. Determinar la finalidad de la base de datos.

EMPRESA

PRODUCTO

FACTURA

TRABAJADOR

Pensar detenidamente en las preguntas que se desea responda la base de datos. Realizar bocetos de los informes que se desea genere la base de datos. Reunir los formularios que se utilizan actualmente para registrar los datos.

BASE DE DATOS. Conceptos.


3. Determinar las Relaciones
Definen la forma en que se relacionan esas entidades para cumplir un determinado papel en el mundo real. De acuerdo a unas reglas, estas reglas reciben el nombre de Semntica de la Base de Datos. Por ejemplo: Una Historia mdica pertenece a uno y a solo un Empleado. Un Empleado tiene una y solo una Historia Mdica. tabla esta
Historia Mdica Empleado

Relaciones Uno a Uno


Cada registro de una relacionada con un solo registro dentro de la otra y viceversa

Historia Mdica

BASE DE DATOS. Conceptos.


3. Determinar las Relaciones Relaciones Uno a Muchos
N registro de una tabla esta relacionado con N registros de la otra tabla Por Ejemplo: En un rea trabajan varios (N) empleados. Un empleado trabaja en una y solo en un rea de la empresa. Proveedores Productos

Relaciones Muchos a Muchos


N registro de una tabla esta relacionado con N registros de la otra tabla Por Ejemplo:

Un Proveedor suministra N productos. Un Producto es suministrado por N proveedores. Area de la empresa Empleado

BASE DE DATOS. Diseo


4. Definir los Atributos de Cada Entidad(Tabla)
Empleados es el tema que engloba a ese grupo de elementos con la misma cantidad de atributos.

Por ejemplo:
Entidad(Tabla): Entidad(Tabla) Empleados Atributos Nombre del empleado. Apellido del empleado. Cedula del empleado. Profesin del empleado. Direccin del empleado Los atributos son caractersticas compartidas por el grupo de elementos que representa la Entidad. Por ejemplo: Entidad. ejemplo: Todos los empleados tienen un nombre y se representa con el atributo nombre, igual con la cedula y otras caractersticas del mismo tema

BASE DE DATOS. Diseo


4. Definir los Atributos de Cada Entidad(Tabla)
Una vez diseada la Tabla Empleado con sus atributos: nombre, Apellido, Cedula, Direccin y Profesin. Al llenar la tabla se crean registros en funcin de los atributos de la Tabla Empleado. Por ejemplo Tabla Atributos
Cedula 12.000 17000 10000 15000 11000 Profesin Salvador Estudiante Direccin Jerusalen Puerto Ordaz

Sugerencias para seleccionar los Campos o atributos de una tabla:


Incluir toda la informacin que se necesite. Almacenar informacin en partes lgicas que sean lo ms pequeas posibles. Por ejemplo, los nombres de los empleados suelen repartirse en dos campos, Nombre y Apellidos, para que sea ms fcil ordenar los datos por Apellidos o por nombre.

Empleados
Nombre Apellido Jess El Cristo

Registros

Jonathan Delgado Teresa Andres De Calcuta Galarraga

La Compasin La India Pelotero Libertador Caracas La India

Mahatma Ghandi

BASE DE DATOS. Diseo


4. Definir los Atributos de Cada Entidad(Tabla)
No crear campos para datos que estn formados por listas de mltiples elementos. Por Ejemplo: La descripcin de los hijos de cada empleado, se detallan por renglones o filas en otra tabla y no se separan por comas.
En otra tabla: Hijos de Empleados Cedula Padre Nombre Apellido 15000 15000 15000 Junior Mara Luis Galarraga Galarraga Galarraga Cedula 19000 20000 21000 Grado 3er Semestre 2do Semestre 1er Semestre En la tabla Empleados Nombre Apellido Andres Galarraga Cedula 15000 Profesin Pelotero Direccin Caracas

SI
As se recomienda hacerlo No es recomendable porque as no se cuenta con informacin detallada de los hijos

NO

Nombre Apellido Andres Galarraga

Cedula 15000

Profesin Pelotero

Direccin Caracas

Hijos Junior, Mara, Luis

BASE DE DATOS. Diseo


Sugerencias para crear las tablas:
Cada tabla debe contener informacin sobre un asunto. Engloba un conjunto de Campos o atributos.

Sugerencias para agregar los campos a las tablas: tablas:


Cada atributo hace referencia a un concepto superior que lo contiene. Por ejemplo las tablas ubicadas en la parte inferior tienen el campo nombre como atributo, sin embargo se refieren a temas diferentes

Empleados
Ejemplo: Fecha de Nacimiento. Atributo o Tabla?
Nombre Marca Fecha Contratacin Cedula

Equipo
Nombre Fecha de Compra Cantidad Cdigo

10

BASE DE DATOS. Diseo

5. Determinar los campos con valores nicos. Claves Primarias(Primary Key)


La clave principal es el campo o los campos de una tabla que identifica cada registro de forma nica Ejemplo: En la tabla Empleados, el campo Cedula

Claves Foraneas(Foreing Key)

Es el campo o los campos que relacionan la tabla con otras tablas de la base de datos. Las claves forneas se definen claramente al relacionar las tablas

Ejemplo: En la tabla Hijos de Empleados, el campo Cedula del Padre que relaciona a cada registro de la tabla hijo con un registro en la tabla padre.

11

BASE DE DATOS. Diseo


6. Representar las Relaciones en las tablas
En las relaciones uno a uno la clave foranea se coloca como atributo en cualquiera de las dos tablas Tabla: Empleado

Historia Mdica

Empleado

Historia Mdica

Tabla: Historia Mdica


Historia Medica(PK) Fecha Diagnostico
13/12//2000

Cedula(FK)

Diagnostico

Cedula(PK )
12.000.000

Nombre

Apellido

Historia Medica(FK)
H-1

H-1

12.000.000

Xxxx

Maria

Castillo

H-2

13.000.000

xxxxx

05/10/2002

13.000.000

Pedro

Mrquez

H-2

H-3

14.000.000

xxxxx

07/08/2001

14.000.000

Juan

Prez

H-3

Por cada Historia Mdica existe una sola cdula


Leyenda: PK(Primary Key): Clave Primaria FK(Foreing Key): Clave Foranea

Por cada cdula existe una y solo una historia mdica

12

BASE DE DATOS. Diseo


6. Representar las Relaciones en las tablas
En las relaciones uno a muchos o uno a N, la clave fornea se coloca como atributo del lado de la N En un rea trabajan varios (N) empleados. Un empleado trabaja en una y solo en un rea de la empresa.
Cdigo de rea(FK)
RecHum

Area de la empresa

Empleado

Tabla: Empleado
Cedula(PK) Nombre Apellido

Por cada Cedula hay un cdigo de rea Pero un cdigo de rea se repite N veces en la tabla Empleado ( de ese lado est la N)

12.000.000

Maria

Castillo

13.000.000

Pedro

Mrquez

Inform

14.000.000

Juan

Prez

RecHum

13

BASE DE DATOS. Diseo


6. Representar las Relaciones en las tablas
En las relaciones muchos a muchos o N a N, las claves forneas de ambas tablas se colocan en una tercera que representa la relacin de las otras dos. Los cdigos de proveedor y productos son Tabla: Suministra
Cdigo Proveedor (PK/FK)
001 002 003 001

Proveedores

Productos

Por cada Proveedor hay uno o mas productos Por cada Producto hay uno o ms proveedor.

claves Primarias y forneas en la tabla Suministra porque estn relacionadas con la


Precio de Distribucin
20.000 Bs 22.000 Bs 19.000 Bs 18.000 Bs

Cdigo del Producto (PK/FK)


P-1 P-1 P-2 P-2

tabla

Proveedor ya

Producto deben estar

respectivamente(que definidas previamente)

14

BASE DE DATOS. Diseo


7. Normalizacin. El proceso de normalizacin de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidadrelacin) al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos. Para llevar a cabo la normalizacin aplicamos los que en base de datos se conoce como Formas Normales. Las Formas Normales son aplicadas a las tablas de una base de datos. Decir que una base de datos est en la forma normal N es decir que todas sus tablas estn en la forma normal N. Existe 5 formas normales de las cuales las primeras tres son suficientes para cubrir las necesidades de la mayora de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.

15

BASE DE DATOS. Diseo


7. Normalizacin.

usuarios nombre Joe Jill empresa ABC XYZ direccion_empresa 1 Work Lane 1 Job Street url1 abc.com abc.com url2 xyz.com xyz.com

Primera Forma Normal (1FN) 1. 2. 3. Eliminar los grupos repetitivos de la tablas individuales. Crear una fila separada por cada grupo de datos relacionados. Identificar cada grupo de datos relacionados con una clave primaria.

16

BASE DE DATOS. Diseo


7. Normalizacin. Se puede observar que se esta rompiendo la primera regla cuando repetimos los campos url1 y url2 Qu pasa con la tercera regla, la clave primaria ? La regla tres bsicamente significa que se tiene que poner una campo tipo contador autoincrementable para cada registro. De otra forma, Qu pasara si se tuviera dos usuarios llamados Joe y se quiere diferenciar. Una vez que se aplica el primer nivel de FN queda la siguiente tabla:
usuarios userId 1 1 2 2 nombre Joe Joe Jill Jill empresa ABC ABC XYZ XYZ direccion_empresa 1 Work Lane 1 Work Lane 1 Job Street 1 Job Street url abc.com xyz.com abc.com xyz.com

17

BASE DE DATOS. Diseo


7. Normalizacin. Se resolvieron unos problemas pero, sin embargo, cada vez que se introduce un nuevo registro en la tabla usuarios, se tiene que duplicar el nombre de la empresa y del usuario. No slo la BD crecer muchsimo, sino que ser muy fcil que la BD se corrompan si se escribe mal alguno de los datos redundantes. En consecuencia se debe aplicar el segundo nivel de FN. Segunda Forma Normal (2FN) 1. Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros. Relacionar estas tablas mediante una clave externa.

2.

18

BASE DE DATOS. Diseo


7. Normalizacin.
usuarios userId 1 2 urls urlId 1 2 3 4 relUserId 1 1 2 2 url abc.com xyz.com abc.com xyz.com nombre Joe Jill empresa ABC XYZ direccion_empresa 1 Work Lane 1 Job Street

Se han creado tablas separadas y la clave primaria en la tabla usuarios, userId, esta relacionada ahora con la clave externa en la tabla urls, relUserId. Pero qu ocurre cuando se quiere aadir otro empleado a la empresa ABC ? o 200 empleados ? Ahora se tiene el nombre de la empresa y su direccin duplicndose, otra situacin que puede inducir a introducir errores en los datos. En consecuencia, se debe aplicar el tercer nivel de F/N:

19

BASE DE DATOS. Diseo


7. Normalizacin.
Tercera Forma Normal (3FN): Eliminar aquellos campos que no dependan de la clave.

El nombre de empresa y su direccin no tienen nada que ver con el campo userId, as que tienen que tener su propio empresaId:
usuarios userId 1 2 nombre Joe Jill relEmpres aId 1 2 empresas emprId 1 2 empresa ABC XYZ direccion_empresa 1 Work Lane 1 Job Street

20

BASE DE DATOS. Diseo


7. Normalizacin.
urls urlId 1 2 3 4 relUserId 1 1 2 2 url abc.com xyz.com abc.com xyz.com

Ahora se tiene la clave primaria emprId en la tabla empresas relacionada con la clave externa recEmpresaId en la tabla usuarios, y se puede aadir 200 usuarios mientras que slo se tiene que insertar el nombre 'ABC' una vez. Las tablas de usuarios y urls pueden crecer todo lo que quieran sin duplicacin ni corrupcin de datos.

21

BASE DE DATOS. Diseo


8. Perfeccionar el diseo. Una vez diseadas las tablas, los campos y las relaciones; es el momento de estudiar el diseo y verificar posibles fallos. Algunas Recomendaciones: Crear bocetos de formulario e informes y comprobar si muestran los datos esperados. Buscar duplicaciones innecesarias y eliminarlas. Verificar si el modelo soporta futuros requerimientos o futuras demandas

22

EJERCICIOS
Disee una base de Datos para cada una de las siguientes aplicaciones, siguiendo los pasos vistos en clase:

1. Una aplicacin para un Sistema de Control de Estudio debe permitir llevar el control de las inscripciones de estudiantes por semestre y el registro de notas de estudiante por cada semestre. 2. Una aplicacin para un Sistema de Ventas de Vuelos debe permitir llevar el control de reservaciones y ventas de boletos areos a clientes. 3. Una aplicacin para un sistema de condominio debe permitir llevar el control para la emisin de las facturas de condominio para cada propietario. 4. Una aplicacin para un Sistema de Reparacin de Equipos de Computacin necesita llevar un control de la recepcin de los equipos que son llevados por los clientes para ser reparados. Al recibirlos se le deben tomar las caractersticas del mismo con su respectivo diagnostico. As mismo se debe permitir llevar un control de los equipos que son despachados para liberar una orden de reparacin.

23

EJERCICIOS
Disee una base de Datos para cada una de las siguientes aplicaciones, siguiendo los pasos vistos en clase:

5. Una aplicacin para un Banco de Sangre en donde se lleve un registro de las donaciones diarias realizadas por los voluntarios o familiares de paciente. 6. Una aplicacin para un Sistema de Ventas de repuestos que permita llevar un registro de los repuestos que han sido vendidos y descontar del inventario. 7. Una aplicacin para un Sistema de Envo de Encomiendas que permita llevar el control de los envos realizados por los clientes a un destino especifico. 8. Una aplicacin para un Sistema de Facturacin de una empresa de telefona.

You might also like