Definicion de Base de Datos
Definicion de Base de Datos
Definicion de Base de Datos
Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí,
tienen una definición y descripción comunes y están estructurados de una forma
particular.
Una base de datos es también un modelo del mundo real y, como tal, debe poder servir
para toda una gama de usos y aplicaciones». (Conference des Statisticiens Européens,
1977).
Como se ha visto, el concepto de base de datos ha ido cambiando a lo largo del tiempo. En la
actualidad podemos establecer la definición de base de datos como sigue.
Una Base de Datos en una colección de datos organizada, de manera que podamos
realizar actualizaciones, consultas e informes de forma fácil y rápida para usar la
información en la toma de decisiones.
3. El modelo relacional
Se basa en la representación de datos por medio de estructuras tipo tabla, denominadas
relaciones, y que almacenan información para una determinada entidad.
Cada una de estas relaciones representa en sus columnas los valores significativos, es decir,
de los que interesa conocer su valor, para cada entidad. Dichas columnas se denominan
atributos y para cada uno de ellos existirá un valor (cabe la posibilidad de que existan atributos
en los que no aparezca ningún valor).
Cada fila representa la información para cada ocurrencia de una determinada entidad. A
dichas filas también se las denomina tuplas.
Cada atributo o conjunto de atributos que identifica unívocamente a cada tupla de la relación
se denomina clave. Las claves se representan subrayando el / los atributo/s que forman parte
de ella.
Clave Atributos o
Campos
Cod_Emp Nom_Emp Ape_Emp Sueldo_Emp Cat_Emp
E010 Nancy Canales 1200.00 1
E014 Pedro Rios 900.00 3 Tuplas o
E050 Jaime Lagos 1000.00 2 Registros
a. Diseño Conceptual
El diseño conceptual parte de la especificación de requerimientos, y produce como
resultado el esquema conceptual de la base de datos. Un esquema conceptual es una
descripción a alto nivel de la estructura de la base de datos, independientemente de la
elección del equipamiento y del Sistema Gestor de Base de Datos (en adelante referido
como SGBD) que se usen para la implementación de la base de datos.
b. Diseño Lógico
El diseño lógico parte del esquema conceptual y genera el esquema lógico. Un esquema
lógico es la descripción de la estructura de la base de datos que puede procesarse por un
SGBD. Una vez elegido el modelo lógico pueden existir un conjunto de esquemas lógicos
equivalentes al mismo esquema conceptual. La meta del diseño lógico es producir el
esquema lógico más eficiente con respecto a las operaciones de consulta y actualización.
c. Diseño Físico
El diseño físico toma como punto de partida el esquema lógico y como resultado produce el
esquema físico. Un esquema físico es una descripción de la implementación de la base de
datos en memoria secundaria; describe las estructuras de almacenamiento y los métodos
de acceso para acceder a los datos de una manera eficiente. Por ello, el diseño físico se
genera para un SGBD y un entorno físico determinado.
MINIMUNDO
MODELIZACIÓN
Entidades
CONCEPTUAL
DIAGRAMA
E-R
(Chen)
ESPECIFICAR
REQUISITOS DE PROCESOS
SGBD DISEÑO LÓGICO
ESQUEMA
LÓGICO
GLOBAL
DISEÑO FÍSICO
ESQUEMA
INTERNO
IMPLEMENTACIÓN
En la gráfica se observa el resumen de las tres grandes fases del diseño de una base de datos:
primero se diseña el esquema conceptual (que se realiza con un modelo conceptual de datos),
esquema que proporciona una descripción estable de la base de datos (independiente del
SGBD) que se vaya a utilizar; posteriormente se pasa del esquema conceptual al modelo de
datos propio de SGBD elegido (diseño lógico); por último se eligen las estructuras de
almacenamiento, los caminos de acceso (índices), y todos los aspectos relacionados con el
diseño físico.
5. Diseño conceptual
El objetivo del diseño conceptual, también denominado modelo conceptual, y que constituye la
primera fase de diseño, es obtener una buena representación de los recursos de información
de la empresa, con independencia de usuario o aplicaciones en particular y fuera de
consideraciones sobre eficiencia del ordenador.
Por lo tanto, un buen diseño del esquema conceptual, influirá positivamente en el resto de
etapas.
El modelo que se estudiará es el Modelo Entidad / relación (en adelante referido como
ME/R o modelo E/R), que es el más utilizado hoy en día.
El modelo E/R fue propuesto por Peter P. Chen. Define el modelo relacional como una vista
unificada de los datos, centrándose en la estructura lógica y abstracta, como representación
del mundo real, con independencia de consideraciones de tipo físico.
E-R: Se basa en una representación gráfica de una serie de entidades relacionadas entre sí.
Al utilizar una representación de este tipo, el modelo E/R permite distinguir fácilmente y a
simple vista, las relaciones existentes entre las distintas entidades. Existen muchas formas de
representarlo, como ya se ha comentado; la que se utilizará aquí no es, por supuesto, la única
forma de hacerlo.
Los elementos de los que se componen son los siguientes:
a. Entidades: Una entidad es «una persona, lugar, cosa, concepto o suceso, real o
abstracto, de interés para la empresa» (ANSI 1977). En el modelo E/R, se representa por
un rectángulo, con el nombre de dicha entidad escrito en la parte superior. Por ejemplo, la
Figura representa la entidad automóvil.
Empleado
b. Atributos: Un atributo es cualquier característica que describe a una entidad. Los atributos
de una entidad se colocan dentro del rectángulo que representa dicha entidad, justo
debajo del nombre de ésta. Por ejemplo, se puede decir que un automóvil tiene las
siguientes características: n0 de matrícula, marca, modelo y color.
1 1
PERSONA Posee AUTOMOVIL
(1,1) (1,1)
d. Claves:
1. Clave o llave primaria (Primary Key= PK): Es un atributo o conjunto de atributos
(clave compuesta) de dicha entidad, capaces de identificar unívocamente cada fila de
una tabla o entidad. Es decir, si conocemos el valor de dichos atributos, seremos
capaces de conocer a que entidad, entre todas las posibles, hace referencia.
Para ser elegido un atributo como llave primaria debe cumplir:
1. Debe ser única, es decir no debe repetirse
2. No debe ser Null, (Not Null)
Esto implica que los valores de los atributos clave no se pueden repetir para dos
ocurrencias de la misma entidad. Por ejemplo, el valor del atributo matrícula de un
automóvil, es única ya que no existe una misma matrícula para dos automóviles
distintos. Los atributos: marca, modelo o color no identifican unívocamente una
ocurrencia de la entidad, ya que pueden existir dos automóviles distintos de la
misma marca, modelo o color. En el modelo E/R, un atributo clave se representa
subrayando dicho atributo.
2. Claves candidatas: Atributos de una entidad que pueden ser elegidos por el
diseñador de la base de datos y que estén en la posibilidad de cumplir las
condiciones de ser PK.
3. Clave foránea (Foreign Key= FK): Es llamada clave Externa, es uno o más
campos de una tabla que hacen referencia al campo o campos de clave principal
de otra tabla, una clave foránea indica como está relacionada la tabla. Los datos en
los campos de clave foránea y clave principal o primaria deben coincidir, aunque
los nombres de los campos no sean los mismos.
e. Cardinalidad de una relación: La cardinalidad de una relación representa el número de
ocurrencias que se pueden dar de una relación. Puede ser de tres tipos:
Cardinalidad 1-1: cada ocurrencia de una entidad se relaciona con una ocurrencia de
otra entidad. Ej.: una persona posee un automóvil. Se representa como indica
1 1
PERSONA Posee AUTOMOVIL
(1,1) (1,1)
1 N
PERSONA Posee AUTOMOVIL
(1,1) (1,n)
Cardinalidad N-M: también llamada muchos a muchos. Cada ocurrencia de una entidad
puede relacionarse con varias ocurrencias de otra entidad y viceversa. Ej.: una
persona posee varios automóviles y un automóvil puede pertenecer a varias personas.
Se representa como aparece en la figura. Persona Automovil
Un autor podrá haber escrito varios libros, de la misma forma que en un libro pueden
participar varios autores. De la editorial se desea conocer el nombre y la ciudad.
1,N
DETALLE-
Adscrito 1,1 CARRERA 1,1 Pertenece 1,N ALUMNO
MATRICULA
1,1
1,N
1,N Solicita
Posee
CARGO(CODCARGO, DesCar)
El objetivo del diseño lógico es transformar el esquema conceptual obtenido en la fase anterior,
adaptándolo al modelo de datos en el que se apoya el SGBD que se va a utilizar.
El modelo relacional es el único modelo que ha permitido abordar la fase de diseño lógico aplicando una
teoría formal: el proceso de normalización.
Sin embargo, la normalización no cubre toda esta fase, mostrándose insuficiente para alcanzar todos los
objetivos de la misma. En la práctica a veces es preciso proceder a una reestructuración de las relaciones.
El diseño lógico de una base de datos consta de dos etapas: el diseño lógico estándar y el diseño lógico
específico. En el diseño lógico estándar, se toma el esquema conceptual resultante de la fase de diseño
conceptual, y teniendo en cuenta los requisitos de proceso, de construye un esquema lógico estándar
(ELS), que se apoya en un modelo lógico estándar (MLS), que será el mismo modelo de datos soportado
por el SGBD a utilizar (relacional, jerárquico, etc.), pero sin las restricciones de ningún producto comercial
en concreto. En nuestro caso se utilizará el MLS relacional. Una buena forma de describir el ELS es
utilizando el lenguaje estándar del MLS (por ejemplo SQL).
Una vez obtenido el ELS, y considerando el modelo lógico específico (MLE) propio del SGBD a usar
(ORACLE, INFORMIX, SQL-SERVER, etc.), se elabora el esquema lógico específico (ELE). Al igual que en
el caso anterior, una buena forma de describirlo es utilizando el lenguaje de definición de datos (LDD) del
producto especifico utilizado (en el caso de SQL-SERVER, se usará el TRANSACT SQL). El diseño lógico
específico está muy ligado a la fase de diseño físico, ya que ambos dependen mucho del SGBD que se
utilice.
En la fase de diseño lógico, además de las herramientas ya descritas (MLS, MLE, lenguajes SQL), se
disponen de otras que permiten establecer un buen diseño lógico, como por ejemplo la normalización,
desnormalización, etc.
Para entender mejor el funcionamiento de este método, veamos el paso a tablas del ejemplo visto en el
tema anterior acerca de la gestión de una biblioteca. La entidad libro está relacionada con la entidad
editorial con cardinalidad 1 -N, por lo
tanto importa la clave de la entidad con
cardinalidad 1. A su vez, esta
relacionada con la entidad autor, pero
en este caso, la cardinalidad es N-M, lo
que implica que se generará una tabla
intermedia, en la que se almacenarán
las claves de ambas entidades.
Esta tabla, a la que denominaremos
Libro_autor mantiene la información de
los códigos de libros junto con los
códigos de autores. Posteriormente, si
se desea extraer más información,
tanto del libro como del autor, se
deberá acceder a sendas tablas. Por
último se dispone de la entidad
Préstamo, que es dependiente tanto de
Con todo esto, el esquema lógico resultante del esquema conceptual anterior, queda como aparece en la
Figura.
El proceso de normalización consiste en la aplicación de un conjunto de reglas, con el objeto de verificar que el
esquema relacional obtenido en esta fase cumple un cierto conjunto de reglas. La normalización se podría considerar
prácticamente como el grueso de la fase de diseño lógico, ya que es el encargado de modificar el esquema conceptual
obtenido en la fase anterior, para que cumpla el primero de los objetivos de las bases de datos, el de que ha de
representar fielmente la realidad. Por lo tanto es el segundo paso a realizar dentro de la fase de diseño lógico, después
de la eliminación de valores nulos no aplicables (particionamiento horizontal), y se corresponde con la etapa de
estructuración.
La normalización se puede definir como el proceso de sustituir una relación o tabla, por un conjunto de esquemas
equivalentes que representen la misma información, pero que no presenten cierto tipo de anomalías a la hora de
realizar operaciones sobre ella. Las anomalías que puede presentar una relación son de tres tipos:
Anomalías de inserción: son producidas por la pérdida de información, al no poder insertar filas en una relación,
ya que no se conoce el valor de algún atributo no principal (que no es clave). Por ejemplo. Supóngase que se
dispone de la siguiente relación, correspondiente a los repartos realizados por distintos proveedores.
Por lo tanto, lo que se busca con el proceso de normalización es eliminar estos tres tipos de anomalías.
Consiste en conseguir, mediante varios pasos, distintas formas normales. Se dice que un esquema de
relación esta en una determinada forma normal si satisface un determinado conjunto de restricciones.
Dichas formas normales son la primera forma normal (1 FN), la segunda forma normal (2FN) y la tercera
(3FN), definidas por Codd, la forma normal de Boyce-Codd (FNBC), definida por Boyce y Codd, y la cuarta y
quinta forma normal (4FN y 5FN), definidas por Fagin. La principal característica que cumple cada una de
estas formas normales es que la de nivel superior incluye a la de nivel inferior, es decir, una relación que
esté en 2FN estará en 1 FN, una que este en 3FN estará en 1 FN y 2FN, como muestra la Figura.
Relaciones en 5FN
Relaciones en 4FN
Relaciones en FNBC
Relaciones en 3FN
Relaciones en 2FN
Relaciones en 1FN
Relaciones No
Normalizadas
Por ejemplo, si se tiene la relación Libro con los atributos Cod_Libro, Cod_Socio y Fecha_Préstamo, se
tiene:
Cod_Libro, Cod_Socio Fecha_Préstamo
Cod_Libro --/--> Fecha_Préstamo
Cod_Socio --/--> Fecha_Préstamo
ya que para un libro y un socio sólo existe una fecha de préstamo, mientras que el mismo libro se puede
prestar varios días y un mismo socio puede tomar prestado uno o varios libros más de un día. Por estos
motivos, se puede concluir que Fecha préstamo tiene dependencia funcional completa de Cod_libro y
Cod_socio.
DEPENDENCIA TOTAL:
Es cuando un atributo no clave depende íntegramente o totalmente de la clave principal sea ésta simple o
compuesta.
DEPENDENCIA TRANSITIVA:
Una dependencia transitiva abarca como mínimo tres componentes. Tal dependencia puede expresarse
como:
Q ---> A ----> B
En la cual se dice que B depende de A y que A depende de Q. La transitividad existe debido a que el valor
de B depende en la última instancia del valor de Q.
FORMAS NORMALES:
FORMA NO NORMALIZADA:
Son las variables de la relación en su forma original. Puede ser el documento de partida para la
normalización.
Forma no normalizada:
Nº Fac Nom NºRUC FechFac Guía Guía Sub IGV Fac Tot Nom Cantid Descrip PU Import
002-0050160 Comercial 20102050708 24/04/11 001-503 003-234 900.00 162.00 1062.00 July 20 Chompas 30.0 600.00
FACTURA:
Nº Fac Nom Cliente NºRUC Cliente FechFac Guía Remitent Guía Trans SubTotFac IGV Fac Tot Fac Nom Emp
002-0050160 Comercial La Virreyna 20102050708 24/04/11 001-503 003-234 900.00 162.00 1062.00 July
PK
DETALLE_FACTURA: FACTURA
PK Nº_FAC
DETALLE_FACTURA
NOM_CLI DESCRIP
NºRUC_CLI Nº_FAC (FK)
Nº Fac Descrip Cantidad PU Import
DIR_CLI
FECHA_FAC CANTIDAD
002-0050160 Chompas 20 200 2000
SUBTOT_FAC PU
002-0050160 Pijamas 15 50 1000
IGV_FAC IMPORT
TOT_FAC
NOM_EMP
Otro ejemplo: Sea la relación R, con los atributos que se indica, donde la clave compuesta está formada
por P+Q
R = (P, Q, A, B, C, D, E, F, G, H, I, L, M, N, O)
• Tenemos una matriz m x n con un valor determinado para cada componente de cada tupla.
En consecuencia es evidente que tenemos, o bien una clave simple, o una clave compuesta de la cual
todos los componentes no clave son dependientes en forma completa.
El objeto de esta fase es eliminar todas las dependencias transitivas; la descomposición producirá a
continuación sub-relaciones para las cuales no existirán dependencias transitivas
En el ejemplo, la tabla Factura tiene atributos que dependen de otro que no es clave.
FACTURA
Nº Fac Nom Cliente NºRUC Cliente FechFac Guía Remitent Guía Trans SubTotFac IGV Fac Tot Fac Nom Emp
002-0050160 Comercial La Virreyna 20102050708 24/04/11 001-503 003-234 900.00 162.00 1062.00 July
PK
Los atributos: NºRUCCliente y DirCliente, dependen de NomCliente y no de la PK, por tanto éstos
atributos forman la tabla Cliente. Ocurre lo mismo con CargoEmp que depende de NomEmp y no la PK,
y de igual modo forma otra tabla llamada Empleado. Esta tabla puede también generar otra tabla que
podría ser Cargo.
CLIENTE
PK
EMPLEADO
Cl001 July Juana Flores Tisnado General Suarez 534 241654 Secretaria
PK
FACTURA
Nº Fac CodCli FechFac Guía Remitent Guía Trans SubTotFac IGV Fac Tot Fac CodEmp
PK
FACTURA
DETALLE_FACTURA
Nº_FAC PRODUCTO
Nº_FAC (FK)
DESCIP
COD_CLI (FK) DESCIP (FK)
COD_EMP (FK) PU
FECHA_FAC CANTIDAD
STOCK
SUBTOT_FAC PU
MARCA
IGV_FAC IMPORT
TOT_FAC
CLIENTE EMPLEADO
COD_CLI COD_EMP
NOM_CLI APE_EMP
NºRUC_CLI CARGO
DIR_CLI
Ejemplo 2:
Forma No Normalizada:
Código Nombre Cursos
1 Marcos Inglés
2 Lucas Contabilidad
Informática
3 Marta Inglés
Contabilidad
Primera Forma Normal:
Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada uno de los campos
contiene un único valor para un registro determinado. Supongamos que deseamos realizar una tabla para
guardar los cursos que están realizando los alumnos de un determinado centro de estudios, podríamos
considerar el siguiente diseño:
Podemos observar que el registro de código 1 si cumple la primera forma normal, cada campo del registro
contiene un único dato, pero no ocurre así con los registros 2 y 3 ya que en el campo cursos contiene más
de un dato cada uno. La solución en este caso es crear dos tablas del siguiente
modo: Tabla B
Tabla A Código Curso
Como se puede comprobar ahora todos los registros de Código Nombre 1 Inglés
ambas tablas contienen valores únicos en sus campos,
1 Marcos 2 Contabilidad
por lo tanto ambas tablas cumplen la primera forma
normal. 2 Lucas 2 Informática
3 Marta 3 Inglés
3 Informática
Tomando como punto de partida que la clave de esta tabla está formada por los campos código de
empleado y código de departamento, podemos decir que la tabla se encuentra en primera forma normal, por
tanto vamos a estudiar la segunda:
1. El campo nombre no depende funcionalmente de toda la clave, sólo depende del código del
empleado.
2. El campo departamento no depende funcionalmente de toda la clave, sólo del código del
departamento.
3. El campo años si que depende funcionalmente de la clave ya que depende del código del empleado
y del código del departamento (representa el número de años que cada empleado ha trabajado en
cada departamento)
Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no está en segunda forma
normal, la solución es la siguiente:
Tabla A
Tabla B
Código Empleado Nombre
Código Departamento Dpto.
1 Juan
2 Pedro 2 I+D
3 Sistemas
3 Sonia
6 Contabilidad
4 Verónica
Tabla C
Código Empleado Código Departamento Años
1 6 6
2 3 3
3 2 1
4 3 10
2 6 5
Podemos observar que ahora si se encuentras las tres tablas en segunda forma normal, considerando que
la tabla A tiene como índice el campo Código Empleado, la tabla B Código Departamento y la tabla C una
clave compuesta por los campos Código Empleado y Código Departamento.
Por esta última razón se dice que la tabla no está en 3NF. La solución sería la siguiente:
Tabla A Tabla B
Código Nombre Curso Curso Aula
1 Marcos Informática Informática Aula A
2 Lucas Inglés Inglés Aula B
3 Marta Contabilidad Contabilidad Aula C
El proceso de normalización consiste en sustituir una relación por un conjunto de esquemas equivalentes,
que representan la misma información que la relación origen, pero que no presentan cierto tipo de
anomalías a la hora de realizar operaciones sobre ella, como se muestra en la Figura, en la que una
relación origen ha sido sustituida por otras dos, mediante un proceso de normalización.
A1 A2 A3 A4 A5 A6
A1 A2 A3 A5 A1 A4 A6
Normalización de relaciones
Diseño físico
El objetivo del diseño fisico, que es la última fase del proceso de diseño, es conseguir una instrumentación
lo más eficiente posible del esquema lógico. Aquí se tienen en cuenta aspectos del hardware, requisitos de
procesos, características del SGBD, del SO y en general, cualquier factor cercano a la «maquina». Con ello
se persigue:
• Disminuir los tiempos de respuesta
• Minimizar espacio de almacenamiento
• Evitar las reorganizaciones
• Proporcionar la máxima seguridad
• Optimizar el consumo de recursos
El principal problema que se plantea en la fase de diseño físico es el debido a la poca flexibilidad de los
actuales SGBD, los cuales obligan a trasladar a la fase de diseño lógico, aspectos de carácter fisico, que
deberían ser ajenos a dicha fase. Esto obliga a iterar desde la fase de diseño físico a la de diseño lógico, y
viceversa, hasta obtener conseguir los objetivos anteriormente expuestos, lo que explica la obligación de la
etapa de reestructuración en el diseño lógico.
Como resultado del diseño físico se genera un esquema físico, que es una descripción de la
iinplementación de la base de datos en memoria secundaria; describe las estructuras de almacenamiento y
los métodos de acceso para acceder a los datos de una manera eficiente. Por ello el diseño físico se genera
para un SGBD y un entorno físico determinado.