Вы находитесь на странице: 1из 35

Bases de Datos I

Archivos convencionales,
desventajas
Base de datos: Conjunto de
datos relacionados entre si
bajo un mismo contexto.
Tipos de Bases de Datos segun como se almacena la
informacin:

Bases de datos jerarquicas.


Bases de datos en red.
Bases de datos relacionales.
Bases de datos orientadas a objetos
Bases de datos Multidimencionales
Bases de datos orientadas a documentos (NoSQL)
Modelo de datos: Herramienta que nos permite
abstraernos de la composicion fisica de la base de
datos (como se almacena y gestiona la informacin)

Modelo entidad relacion


Modelo relacional
Sistema Gestor de Bases de Datos
vs
Base de Datos
Caractersticas SGBD

Abstraccin de la informacin.
Independencia.
Redundancia mnima.
Consistencia.
Seguridad.
Integridad.
Respaldo y recuperacin.
Control de la concurrencia.
Seleccin de un SGBD
Tipos de usuarios
Componentes de los SGBD

Lenguaje de definicin de datos (DDL)


Lenguaje de manipulacin de datos (DML)
Un Lenguaje de consulta de datos (QL)
Niveles de abstraccin de una Base de datos

Nivel de Vistas
(Externo)
QL >>
Vista 1 Vista 2 Vista n

Nivel
DML >> Lgico
(Conceptual)

Nivel
DDL >>
Fsico
Estructura de una Base de datos

Campo
Registro o tupla
Tabla
Relaciones
Modelo Entidad-Relacin
Entidad.
Es una cosa o un objeto del mundo real que es
distinguible de otros objetos. Por ejemplo: Un paciente
en un hospital.
Una entidad tiene un juego de propiedades y los
valores de estas propiedades identifican en forma nica
una entidad. Por ejemplo: El nmero que se le asigna al
paciente al ingresar al hospital.
Atributos.

Una entidad es representada por


un juego de atributos.
Los atributos son propiedades
descriptivas de las entidades.
Relacin
Una relacin es una asociacin entre entidades.

Ejemplo: Un x Paciente tiene tal Padecimiento.

Paciente Padecimiento
Fernando Gmez Gripe
Tipos de atributos

Simples: son aquellos que no se han dividido en subpartes.

Compuestos: son los que pueden dividirse en otros


atributos, el atributo nombre, puede dividirse en nombre,
apellido materno y apellido paterno.

Univalor: Por ejemplo la edad del paciente es nica.


Tipos de atributos

Multivalor: Por ejemplo un paciente puede tener cero


o ms nmeros telefnicos.

Derivado: el valor de este tipo de atributo es obtenido


a partir de los valores de otro.
Cardinalidad

Es el nmero de entidades con la cual otra entidad


puede asociar mediante una relacin

Considerando una relacin binaria entre el juego de


entidades A y el B, la cardinalidad puede ser:

Uno a uno.

Uno a muchos muchos a uno.

Muchos a muchos.
Uno a Uno

Una entidad en A esta asociada con una entidad en B y


viceversa.

Entidad A Entidad B
A1 B1
A2 B2
A3 B3

Ejemplo: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece


a un solo paciente (hospital privado).
Uno a Muchos
Una entidad en A esta asociada con cualquier nmero (0
ms) de entidades en B. Una entidad en B, puede estar
asociada a lo mucho con una entidad en A.

Entidad A Entidad B
A1 B1
A2 B2
A3 B3
B4
B5

Ejemplo: El titular de una cuenta de cheques puede tener cualquier


nmero de tarjetas, pero cada tarjeta pertenece a una sola persona.
Muchos a Muchos

Una entidad en A esta asociada con cualquier nmero de


entidades en B (0 ms) y viceversa.

Entidad A Entidad B
A1 B1
A2 B2
A3 B3
A4 B4
A5 B5

Ejemplo: En un proyecto de investigacin puede haber cualquier nmero


de mdicos, un mdico puede participar en cero o varios proyectos.
Normalizacin
La normalizacin es el proceso mediante el cual se transforman datos
complejos a un conjunto de estructuras de datos mas pequeas, que
ademas de ser las mas simples y mas estables, son mas faciles de
mantener.

Tambin se puede entender la normalizacin como una serie de reglas


que sirven para ayudar a los diseadores de bases de datos a
desarrollar un esquema que minimice los problemas de logica. Cada
regla esta basada en el antecedente.
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.
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.
Tipos de tablas en modelos normalizados.
En todo modelo y estructura de datos normalizada solemos encontrar los siguientes tipos
de tablas:
Tablas Maestras: Contienen registros cuyos valores son afectados muy poco por
operaciones de actualizacin.
Tablas Transaccionales: Su contenido se ve afectado por alta transaccionabilidad (gran
volumen de datos/registros) de operaciones de actualizacin.
Tablas de Referencias (Catlogos, Parmetros, Configuraciones): Surgen de codificar
campos en tablas maestras (llaves forneas), valores que establecen comportamientos
en aplicativos, etc.
Existen bsicamente tres niveles de normalizacin

Primera forma normal (1FN): Incluye la eliminacin de todos los


grupos repetidos
Segunda forma normal (2FN): Asegura que todas las columnas
que no son llave sean completamente dependientes de la llave
primaria (PK)
Tercera forma normal (3FN): Elimina cualquier dependencia
transitiva. Una dependencia transitiva es aquella en la cual las
columnas que no son llave son dependientes de otras columnas
que tampoco son llave.
Ejemplo
Ejemplo
Al examinar estos registros, podemos darnos cuenta que
contienen un grupo repetido para NUM_ITEM, DESC_ITEM,
CANT y PRECIO. La 1FN prohibe los grupos repetidos, por lo
tanto tenemos que convertir a la primera forma normal. Los
pasos a seguir son:
Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base
y el grupo repetido.
Los registros quedan ahora conformados en dos tablas que
llamaremos ORDENES y ARTICULOS_ORDENES
Ejemplo
Ejemplo
Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que
eliminar cualquier columna no llave que no dependa de la llave primaria de la
tabla. Los pasos a seguir son:
Determinar cules columnas que no son llave no dependen de la llave
primaria de la tabla.

Eliminar esas columnas de la tabla base.

Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la


cual dependen.
Ejemplo

La tabla ORDENES est en 2FN. Cualquier valor nico de ID_ORDEN


determina un slo valor para cada columna. Por lo tanto, todas las
columnas son dependientes de la llave primaria ID_ORDEN.

Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN


ya que las columnas PRECIO y DESC_ITEM son dependientes de
NUM_ITEM, pero no son dependientes de ID_ORDEN. Lo que
haremos a continuacin es eliminar estas columnas de la tabla
ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas
columnas y la llave primaria de la que dependen.
Las tablas quedan ahora de la siguiente manera.
Ejemplo
Ejemplo
La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave
que sea dependiente de otra columna no llave. Los pasos a seguir son:

Determinar las columnas que son dependientes de otra columna no llave.


Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual son
dependientes.
Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla
ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en 3FN. Sin embargo la
tabla ORDENES no lo est, ya que NOM_CLIENTE y ESTADO son dependientes de
ID_CLIENTE, y esta columna no es la llave primaria.

Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la
cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablas CLIENTES y
ORDENES se muestran a continuacin.
Ejemplo

Вам также может понравиться