hola

Contenidos Unidad 2

Actividad 1.2.1



Inciso A) y B).              Construcción  de bases de datos           Oscar Omar Torres Cota   
 2-marczo-2011


A.  Elaboración del modelo relacional basado en el modelo entidad/relación.

Menú

A. Elaboración del modelo relacional basado 
en el modelo entidad/relación.

• Conceptos.
• Tablas y tuplas.
• Representación de tablas.
• Claves primarias y ajenas.
• Reglas de integridad.
• Transformación de entidades.
• Transformación de relaciones.

B. Normalización del modelo relacional, partiendo de una relación universal.

• Primera forma normal.
• Segunda forma normal.
• Tercera forma normal.
• Forma normal de Boyce-Codd.
• Cuarta forma normal




Concepto: El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente

Tablas y tuplas: Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.


Representación de tablas.

Las tablas se componen de dos estructuras:

Registro: Es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
Campo: Es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.

Claves primarias y ajenas.

·         Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave puede contener valores NULL.

·         Clave foránea
Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados, obviamente se permite que haya varios empleados en un mismo departamento, pero existirá sólo un departamento.

Reglas de integridad.

Transformación de entidades.
En una base de datos relacional, todos los datos se almacenan y se accede a ellos por medio de relaciones. Las relaciones que almacenan datos son llamadas "relaciones base" y su implementación es llamada "tabla". Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas "relaciones derivadas" y su implementación es llamada "vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan información de varias relaciones actuando como si fuera una sola.

Transformación de relaciones.
Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o RDBMS(del inglés Relacional Database Management System).
Entre los gestores o manejadores actuales más populares encontramos: MySQLPostgreSQLOracleDB2,INFORMIXInterbaseFireBirdSybase y Microsoft SQL Server.


__________________________________________________


B). Normalización del modelo relacional, partiendo de una relación universal.
Primera forma normal.
Segunda forma normal.
Tercera forma normal.
Forma normal de Boyce-Codd.
Cuarta forma normal y quinta forma normal.


NORMALIZACION DEL MODELO RELACIONAL, PARTIENDO DE UNA RELACION UNIVERSAL

PRIMERA
SEGUNDA
TERCERA
CUARTA
QUINTA
Una tabla está en Primera Forma Normal si:
*.- Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
*.-La tabla contiene una clave primaria.
*.-La clave primaria no contiene atributos nulos.
*.-No debe de existir variación en el número de columnas.
*.-Los Campos no clave deben identificarse por la clave (Dependencia Funcional)
Una tupla no puede tener múltiples valores en cada columna. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y viceversa)
Esta forma normal elimina los valores repetidos dentro de una BD
Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).
En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional Descripción: x \rightarrow y es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es queDescripción: A \in X, X - \{A\} \nrightarrow Y. Una dependencia funcional Descripción: x \rightarrow y es una dependencia parcial si hay algunos atributos Descripción: A \in X que pueden ser eliminados de X y la dependencia todavía se mantiene, esto esDescripción: A \in X, X - \{A\} \rightarrow Y.
Por ejemplo {DNI, ID_PROYECTO} Descripción: \rightarrow HORAS_TRABAJO (con el DNI de un empleado y el ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI Descripción: \rightarrow HORAS_TRABAJO ni ID_PROYECTO Descripción: \rightarrow HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO} Descripción: \rightarrow NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI Descripción: \rightarrow NOMBRE_EMPLEADO mantiene la dependencia.

La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la presencia de un intervalo seguido de una formalización perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.
Formalmente, un esquema de relación R está en FNBC, si y sólo si, para toda dependencia funcional Descripción: X \rightarrow A válida en R, se cumple que
1.    X es superllave o clave.
De esta forma, todo esquema R que cumple FNBC, está además en 3FN; sin embargo, no todo esquema R que cumple con 3FN, está en FNBC.

Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.
Una tabla se encuentra en 5FN si:
§  La tabla está en 4FN
§  No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por las claves candidatas.



_________________________________________________________________________




EJERCICIOS CON EL MODELO RELACIONAL:


Base de datos para el PLANTEL CONALEP LAGOS DE MORENO
(ejercicio 4)




Información adicional 
La estructura fundamental del modelo relacional es la  relación, es decir una tabla bidimensional constituida por filas (tuplas) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la relación representan las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que representar personas, podrá definirse una relación llamada "Personas", cuyos atributos describen las características de las personas. Cada tupla de la relación "Personas" representará una persona concreta. Por ejemplo, la relación:
Personas (RFC, nombre, apellido, sexo, estadoCivil, fechaNacimiento) es apenas una definición de la estructura de la tabla, es decir su nombre y la lista de atributos que la componen. Si esta estructura se puebla con datos, entonces tendremos una lista de valores individuales para cada tupla, atributo por atributo. Aunque una relación es más conocida como tabla, las tuplas como filas y los atributos como  columnas, en este escrito usaremos la terminología original 18  y de donde deriva el nombre del modelo. Las tuplas en una relación son un conjunto en el sentido matemático del término, es decir una colección no ordenada de elementos diferentes. Para distinguir una tupla de otra, se recurre al concepto de "llave primaria", o sea un atributo o conjunto de atributos que permiten identificar unívocamente una tupla en una relación (en el ejemplo, el atributo RFC cumple con esta función). Naturalmente, en una relación puede haber más combinaciones de atributos que permitan identificar unívocamente una tupla ("llaves candidatas"), pero entre éstas se elegirá una sola para utilizar como llave primaria. Los atributos de la llave primaria no pueden asumir el valor nulo (que significa un valor no determinado), en tanto que ya no permitirían identificar una tupla concreta en una relación.
Esta propiedad de las relaciones y de sus llaves primarias se conoce como integridad de las entidades.
Cada atributo de una relación se caracteriza por un nombre y por un dominio. El dominio indica qué valores pueden ser asumidos por una columna de la relación. A menudo un dominio se define a través de la declaración de un tipo para el atributo (por ejemplo diciendo que es una cadena de diez caracteres), pero también es posible definir dominios
más complejos y precisos. Por ejemplo, para el atributo "sexo" de nuestra relación "Personas" podemos definir un dominio por el cual los únicos valores válidos son 'M' y 'F';
o bien para el atributo "fechaNacimiento" podremos definir un dominio por el que se consideren válidas sólo las fechas de nacimiento después del uno de enero de 1960, si en
nuestra base de datos no está previsto que haya personas con fecha de nacimiento anterior a 18
No confundir  relación con el mismo término usado en el modelado de
Entidad-Relación que se usa para describir las asociaciones que existen entre entidades.
Boletín de Política Informática Núm. 6, 2003 55esa. El motor de datos se ocupará de controlar que en los atributos de las relaciones se incluyan sólo los valores permitidos por sus dominios. Característica fundamental de los dominios de una base de datos relacional es que sean "atómicos", es decir que los valores contenidos en los atributos no se puedan separar en valores de dominios más simples. Más formalmente se dice que no es posible tener atributos con valores múltiples (multivaluados)