Los datos sobre los distintos objetos que se incluyen en una BD pueden estar
relacionados entre sí por cuatro tipos de relaciones. Estas son: relación uno a uno
(1:1), varios a uno (M: 1), uno a varios (1: M) y varios a varios (M:M).
Consideremos que tenemos un objeto A y otro B y que existe una relación entre los
datos de A respecto a B y una relación del os datos de B con respecto a A.
(1:1): Es aquella en que a cada ocurrencia del objeto A le puede corresponder un solo
valor de B y viceversa
Como ves a cada director le corresponde una escuela a dirigir y cada escuela tendré
un solo director.
(1: M): Está dada en que pueden existir valores de A al os que les corresponda más de
un valor de B, pero a cada valor de B puede corresponder un único valor de A.
(M: 1): A cada valor del objeto A puede corresponder como máximo un valor del objeto
B mientras que pueden existir valores de B al os que les corresponda varios valores
del objeto A.
Cada estudiante pertenece a una especialidad pero en cada especialidad hay varios
estudiantes. Este caso está muy relacionado con el caso anterior porque si lar elación
de A con Be s de varios a uno entonces la relación de B con respecto a A es de uno a
varios.
(M:M):En estar elación puede existir un valor del objeto A al que le correspondan
varios valores del objeto B, mientras que aun valor de B pueden corresponderle varios
valores de A.
Cada profesor puede impartir más de una asignatura mientras una asignatura puede
ser impartida por varios profesores.
Toda la información almacenada en una columna dada tiene que ser del mismo
tipo o clase
El orden de los registros y el orden de los campos de una tabla no está
determinado
Atributo
Campo
Uno del os lenguajes más populares par agestión de bases de datos es el SQL
(Structured Query Language). Entre sus principales ventajas se encuentra: Permite
definir, acceder y manipular los datos de forma sencilla, es aplicable a cualquier tipo de
usuario y entorno, y para obtener los resultados de una consulta no hay que
preocuparse del método o proceso a seguir.
Se han desarrollado un gran número de SGBD. Entre ellos sed estacan, por su amplio
uso, Dbase, Foxbase, Parados, Oracle, ACCESS y otros.
Pasos para diseñar una base de datos relacional
6. Precisar el diseño
Debe saber qué información desea obtener de la base de datos. A partir de ahí, puede
determinar sobre qué asuntos necesita almacenar, lo que conduce a determinar la
cantidad de tablas a crear, el tipo de objetos que contendrá cada una, así como, qué
necesita almacenar sobre cada asunto(los campos de las tablas).
Las respuestas a las preguntas ¿Cómo será utilizada? ¿Por quién será utilizada?
Proporcionará la información necesaria para ir determinando qué informaciones o qué
datos deberán estar dentro de la base de datos (tablas). Analice las diferentes formas
en que necesita recuperar la información almacenada (informes).
Es un paso en que hay que dedicar toda la atención, pues la forma en que se
organícela información en las tablas influye en cómo buscar o recuperar la
información. Una forma de determinar la cantidad y tipos de tablas que se necesitan es
dividir la información que se tiene en hechos individuales y determinar a qué se refiere
cada uno.
Principios para la división de las tablas> una tabla no debe tener información
duplicada, la información no debe duplicarse entre las tablas y cada tabla debe
contener información sobre un asunto.
3. Determinar los campos de cada tabla
Cada tabla contiene información sobre el mismo asunto, y cada campo de una tabla
contiene hechos individuales sobre el asunto de la tabla. Al determinar los campos
para cada tabla, tenga en cuenta estas sugerencias:
Divida la información en sus partes lógicas más pequeña, por ejemplo, Nombre
y Apellidos como dos campos, en lugar de uno que incluya ambos datos, o
dirección del domicilio y municipio como campos independientes
6. Precisar el diseño
Por último es necesario estudiar el diseño y detectar los posibles fallos que puedan
quedar. Es más sencillo cambiar el diseño de las BD ahora que una vez que haya
llenado las tablas con datos. Este paso implica, en ocasiones retornar a pasos
anteriores para refinar el diseño, con el fin de reducir la redundancia y las repeticiones
de los datos en todo lo posible lo que contribuirá a lograr una mayor eficiencia en el
manejo de la BD.
Normalización de una BD
Caso:
Como se aprecia la información que se tiene está relacionada con dos objetos
fundamentales: los cursos y los cursistas. Se desea almacenar toda la información
relacionada con dichos cursos, de forma que se pueda obtener: el listado de cada
curso, el resumen de participantes por cursos, días y países, así como imprimir las
certificaciones de profesores y cursistas.
También se necesita localizar, dado algunos datos, si una persona está inscrita en un
curso, qué día se imparte, la categoría científica de los profesores que imparten el
curso u otros datos relacionados con los cursistas, profesores y cursos.
Anteriormente vimos que tenemos dos tipos de objetos bien diferenciados: los cursos y
los cursistas, lo que sugiere la creación de una tabla para cada uno de ellos. Sin
embargo es necesario analizar si existe en algunas de estas, información duplicada o
una misma información se encuentra en las dos tablas.
Se llamará CURSO. En ella se agrupa por curso la información siguiente: día, profesor,
día que se imparte, aunque el título de cada curso es único, sin embargo un curso
puede tener más de un profesor por tanto podremos tener tuplas así:
Título Profesor
Es evidente que la tabla aborda dos temas diferentes, uno relacionado con los cursos
y otro relacionado con los profesores de los cursos. Luego es conveniente concebir
otra tabla que contenga los datos del profesor que llamaremos PROFESOR. Podemos
descomponer la relación en las relaciones: CURSO (Curso, Día) y PROFESOR
(Profesor, Categoría, Curso).
La tabla PROFESOR podría descomponerse aún más, en dos tablas, una que
contenga losa tributos Profesor y categoría y otra con los atributos Profesor y Curso.
Pero si tenemos en cuenta que las repeticiones que tendríamos de profesores que
impartan más de un curso son mínimas, proponemos trabajar con l atabla PROFESOR
como se propuso inicialmente.
Hasta aquí hemos valorado la necesidad de crear 4 tablas, con el nombre y temática
como sigue:
PROFESOR contiene los datos de los profesores que imparten cada curso