domingo, 8 de mayo de 2016

MODELO RELACIONAL

             MODELO RELACIONAL

DEFINICIÓN
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
VENTAJAS
·         Provee herramientas que garantizan evitar la duplicidad de registros.
·         Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes.
·         Favorece la normalización por ser más comprensible y aplicable.

DESVENTJAS
·         Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica.
·         No se manipulan de forma manejable los bloques de texto como tipo de dato.
·         Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.




PROPIEDADES
ü  Cada tupla es diferente; no hay tuplas duplicadas.

ü  El orden de los Atributos no tiene importancia.

ü  El orden de las tuplas no tiene importancia, teóricamente.


ü  No hay dos atributos que se llamen igual en una misma tabla.

TIPOS DE RELACIÓN

Relaciones

En una BDR, todos los datos se almacenan y se accede a ellos por medio de relaciones.

Relaciones base

Las relaciones que almacenan datos son llamadas relaciones base y su implementación es llamada "tabla".

Relaciones derivadas

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 tabla.

Restricciones

Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la BD.
Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la BD sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un método de implementar "reglas" en la base de datos.
Las restricciones limitan los datos que pueden ser almacenados en las tablas.
Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.

 

Dominios

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.

Claves

Clave primaria

Una clave primaria es una clave única (puede estar conformada por uno o más campos de la tabla) 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 (relación entre tablas) es por medio de claves foráneas.

Clave foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. 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. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.

Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.


Procedimientos almacenados

Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar información estadística, o encapsular cálculos complejos. Son frecuentemente usados por un API por seguridad o simplicidad.
Los procedimientos almacenados no son parte del modelo relacional, pero todas las implementaciones comerciales los incluyen.



REGLAS DE INTEGRIDAD
Los conceptos básicos de integridad en el modelo relacional son el de llave primariallave foráneavalores nulos y un par de reglas de integridad.
Una llave primaria es uno o un conjunto de atributos que permiten identificar a las n-adas de manera única en cualquier momento.
Una llave foránea de una relación es un atributo que hace referencia a una llave primaria de otra relación; esto da pie a que una relación pueda tener varias llaves foráneas.
Un valor nulo es un valor que está fuera de la definición de cualquier dominio el cual permite dejar el valor del atributo ``latente'', su uso es frecuente en las siguientes situaciones:
i) Cuando se crea una n-ada y no se conocen todos los valores de cada uno de los atributos.
ii) Cuando se agrega un atributo a una relación ya existente.
iii) Para no tomarse en cuenta al hacer cálculos numéricos.
Las dos reglas de integridad tienen que ver precisamente con los conceptos antes mencionados y son:
Integridad de Relaciones. Ningún atributo que forme parte de una llave primaria puede aceptar valores nulos.
Integridad Referencial. Al tener una relación 9#9 con llave primaria 10#10 de dominio 11#11 y otra relación 1#1 con atributo 10#10 que no es llave primaria de 1#1, entonces cualquier valor en el atributo 10#10 en 1#1 debe ser nulo, oun valor que esté en el atributo 10#10 de la llave primaria de una n-ada en la relación 9#9
NULOS
Cuando en una tupla un atributo es desconocido, se dice que es nulo. Un nulo no representa el valor cero ni la cadena vacía, éstos son valores que tienen significado. El nulo implica ausencia de información, bien porque al insertar la tupla se desconocía el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido.
Ya que los nulos no son valores, deben tratarse de modo diferente, lo que causa problemas de implementación. De hecho, no todos los SGBD relacionales soportan los nulos.
REGLA DE INTEGRIDAD DE ENTIDADES
La primera regla de integridad se aplica a las claves primarias de las relaciones base:ninguno de los atributos que componen la clave primaria puede ser nulo.
Por definición, una clave primaria es un identificador irreducible que se utiliza para identificar de modo único las tuplas. Que es irreducible significa que ningún subconjunto de la clave primaria sirve para identificar las tuplas de modo único. Si se permite que parte de la clave primaria sea nula, se está diciendo que no todos sus atributos son necesarios para distinguir las tuplas, con lo que se contradice la irreducibilidad.
Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias, no a las claves alternativas.


REGLA DE INTEGRIDAD REFERENCIAL
La segunda regla de integridad se aplica a las claves ajenas: si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.
La regla de integridad referencial se enmarca en términos de estados de la base de datos: indica lo que es un estado ilegal, pero no dice cómo puede evitarse. La cuestión es ¿qué hacer si estando en un estado legal, llega una petición para realizar una operación que conduce a un estado ilegal? Existen dos opciones: rechazar la operación, o bien aceptar loperación y realizar operaciones adicionales compensatorias que conduzcan a un estado legal. 



Por lo tanto, para cada clave ajena de la base de datos habrá que contestar a tres preguntas:
Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la clave ajena?
Restringir: no se permite borrar la tupla referenciada.
Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas que la referencian mediante la clave ajena.
Anular: se borra la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).
Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena?
Restringir: no se permite modificar el valor de la clave primaria de la tupla referenciada.
Propagar: se modifica el valor de la clave primaria de la tupla referenciada y se propaga la modificación a las tuplas que la referencian mediante la clave ajena.
Anular: se modifica la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).
Ejemplos:
Dadas las siguientes reglas de borrado y modificación ¿Se puede borrar a provincia de Castellón?
        






RESUMEN

MODELO RELACIONAL

DEFINICIÓN
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
VENTAJAS
·         Provee herramientas que garantizan evitar la duplicidad de registros.
·         Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes.
·         Favorece la normalización por ser más comprensible y aplicable.

DESVENTJAS
·         Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica.
·         No se manipulan de forma manejable los bloques de texto como tipo de dato.
·         Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.



PROPIEDADES
ü  Cada tupla es diferente; no hay tuplas duplicadas.

ü  El orden de los Atributos no tiene importancia.

ü  El orden de las tuplas no tiene importancia, teóricamente.


ü  No hay dos atributos que se llamen igual en una misma tabla.

TIPOS DE RELACIÓN
Relaciones
En una BDR, todos los datos se almacenan y se accede a ellos por medio de relaciones.

Relaciones base


Restricciones

Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la BD.
Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la BD sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.

Dominios

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".

Claves

Clave primaria

Una clave primaria es una clave única (puede estar conformada por uno o más campos de la tabla) 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 (relación entre tablas) es por medio de claves foráneas.

Clave foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. 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. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.

Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.

Procedimientos almacenados

Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar información estadística, o encapsular cálculos complejos. Son frecuentemente usados por un API por seguridad o simplicidad.
REGLAS DE INTEGRIDAD
Los conceptos básicos de integridad en el modelo relacional son el de llave primariallave foráneavalores nulos y un par de reglas de integridad.
Una llave primaria es uno o un conjunto de atributos que permiten identificar a las n-adas de manera única en cualquier momento.
Una llave foránea de una relación es un atributo que hace referencia a una llave primaria de otra relación; esto da pie a que una relación pueda tener varias llaves foráneas.
Un valor nulo es un valor que está fuera de la definición de cualquier dominio el cual permite dejar el valor del atributo ``latente'', su uso es frecuente en las siguientes situaciones:
i) Cuando se crea una n-ada y no se conocen todos los valores de cada uno de los atributos.
ii) Cuando se agrega un atributo a una relación ya existente.
iii) Para no tomarse en cuenta al hacer cálculos numéricos.
Las dos reglas de integridad tienen que ver precisamente con los conceptos antes mencionados y son:
Integridad de Relaciones. Ningún atributo que forme parte de una llave primaria puede aceptar valores nulos.
Integridad Referencial. Al tener una relación 9#9 con llave primaria 10#10 de dominio 11#11 y otra relación 1#1 con atributo 10#10 que no es llave primaria de 1#1, entonces cualquier valor en el atributo 10#10 en 1#1 debe ser nulo, oun valor que esté en el atributo 10#10 de la llave primaria de una n-ada en la relación 9#9
NULOS
Cuando en una tupla un atributo es desconocido, se dice que es nulo. Un nulo no representa el valor cero ni la cadena vacía, éstos son valores que tienen significado. El nulo implica ausencia de información, bien porque al insertar la tupla se desconocía el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido.
Ya que los nulos no son valores, deben tratarse de modo diferente, lo que causa problemas de implementación. De hecho, no todos los SGBD relacionales soportan los nulos.
REGLA DE INTEGRIDAD DE ENTIDADES
La primera regla de integridad se aplica a las claves primarias de las relaciones base:ninguno de los atributos que componen la clave primaria puede ser nulo.
Por definición, una clave primaria es un identificador irreducible que se utiliza para identificar de modo único las tuplas. Que es irreducible significa que ningún subconjunto de la clave primaria sirve para identificar las tuplas de modo único. Si se permite que parte de la clave primaria sea nula, se está diciendo que no todos sus atributos son necesarios para distinguir las tuplas, con lo que se contradice la irreducibilidad.
Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias, no a las claves alternativas.
REGLA DE INTEGRIDAD REFERENCIAL
La segunda regla de integridad se aplica a las claves ajenas: si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.
Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la clave ajena?
Restringir: no se permite borrar la tupla referenciada.
Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas que la referencian mediante la clave ajena.
Anular: se borra la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).
Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena?
Restringir: no se permite modificar el valor de la clave primaria de la tupla referenciada.
Propagar: se modifica el valor de la clave primaria de la tupla referenciada y se propaga la modificación a las tuplas que la referencian mediante la clave ajena.
Anular: se modifica la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos).

SUMMARY
Relational Model
DEFINITION
The relational model, for modeling and database management, is a data model based on predicate logic and set theory.
After being nominated bases in 1970 by Edgar F. Codd, the IBM labs in San Jose (California), he soon establish itself as a new paradigm in the database model.
Its basic idea is the use of relationships. These relationships could be considered logically as data sets called tuples. Although this is the theory of relational databases created by Codd, most often conceptualized in an easier way to imagine, thinking about each relationship as if it were a table consists of records (each row the table would be a record or "tuple") and columns (also called "fields").
ADVANTAGE
• Provide tools to ensure avoid duplication of records.
• Ensures referential integrity as well, deleting a record removes all records related dependents.
• Promotes normalization be more understandable and applicable.

DESVENTJAS
• data deficient graphics, multimedia, CAD and GIS.
• Improperly handled in a manageable blocks of text as data type.
• The object database (OODB) were proposed in order to meet the needs of the above applications and thus complement but not replace relational databases.



PROPERTIES
Each tuple is different; no duplicate tuples.

The order of the attributes does not matter.

The order does not matter tuples theoretically.


No two attributes that are called the same in the same table.

TYPES OF RELATIONSHIP
Relations
In a BDR, all data is stored and accessed through relationships.
base relations

restrictions
A restriction is a limitation that requires the fulfillment of certain conditions in the database.
Some are not determined by users, but which are inherently defined by the simple fact that the database is relational. Some other restrictions the user can define, for example, using a field with integer values between 1 and 10.
domains
A domain describes a set of possible values for a given attribute. As a domain restricts attribute values, it can be considered as a restriction. Mathematically, assign a domain to an attribute means "any value of this attribute must be an element in the specified set."
keys
primary key
A primary key is a unique key (may consist of one or more fields in the table) chosen among all candidates that uniquely defines all other attributes of the table to specify the data to be related to other tables. The way to do this (relationship between tables) is through foreign keys.
foreign key
A foreign key is a reference to a key in another table, determines the relationship in two tables. Foreign keys need not be unique keys in the table where they are and where they are referenced itself.
For example, the department code can be a foreign key in the employee table. It allows numerous employees in the same department, but there will be one and only one department for each key other department in the department table.
key index
The key index arise with the need for faster access to data. Indexes can be created with any combination of fields in a table. Queries that filter records by these fields can not find records sequentially using the index key.
Stored Procedures
Stored Procedures
A stored procedure is executable code that is associated and stored with the database. Stored procedures usually collect and customize common operations, such as inserting a record within a table, collect statistical information, or encapsulate complex calculations. They are frequently used by an API safety or simplicity.
RULES OF INTEGRITY
The basic concepts of integrity in the relational model are the primary key, foreign key, null values and a pair of integrity rules.
A primary key is one or a set of attributes that identify the n-tuples uniquely at any time.
A foreign key relationship is an attribute that refers to a primary key from another relationship; This gives rise to a relationship can have multiple foreign keys.
Null is a value that is outside the definition of any domain which allows you to leave the attribute value `` latent '', its use is common in the following situations:
i) When an n-tuple is created and not all values of each of the attributes are known.
ii) When an attribute to an existing relationship is added.
iii) To not be taken into account when making numerical calculations.
The two integrity rules have to do precisely with the above concepts are:
Relations integrity. Any attribute that is part of a primary key can accept null values.
Referential integrity. By having a relationship 9 # 9 primary key 10 # 10 domain 11 # 11 and another relationship 1 # 1 with attribute 10 # 10 is not the primary key of 1 # 1, then any value in the attribute 10 # 10 in 1 # 1 must be null, oun value is in the attribute 10 # 10 of the primary key of an n-tuple in the relation 9 # 9
VOID
When an attribute in a tuple is unknown, it is said to be null. A null does not represent zero or empty string, these are values that have meaning. The null implies lack of information or because the tuple inserted the attribute value or was unknown because for that tuple attribute is meaningless.
Since nulls are not values should be treated differently, causing implementation problems. In fact, not all relational DBMS support nulls.
RULE OF INTEGRITY OF ENTITIES
The first rule of integrity is applied to the primary keys of the base relations: none of the attributes that make up the primary key can be null.
By definition, a primary key is an irreducible identifier that is used to uniquely identify tuples. That is irreducible means that any subset of the primary key is used to identify tuples uniquely. If allowed to part of the primary key is zero, you are saying that not all attributes are required to distinguish tuples, which contradicts the irreducibility.
Note that this rule only applies to base relations and primary keys, not the alternative keys.
Referential integrity rule
The second rule of integrity applies to foreign keys: if there is a foreign key in a relationship, their values must match the primary key values to which it refers, or should be completely void.
Rule null: Does it make sense that the foreign key accept null?
Rule deleted: What happens if you try to delete the tuple referenced by the foreign key?
Restrict: you are not allowed to delete the tuple referenced.
Propagate: the tuple referenced is deleted and the deleted tuples referenced by the foreign key spreads.
Cancel: the tuple referenced is deleted and the tuples that referenciaban put no foreign key (only if you accept null).
Rule Modified: What happens if you try to change the value of the primary key of the tuple referenced by the foreign key?
Restrict: you are not allowed to change the value of the primary key of the referenced tuple.
Propagate the value of the primary key of the referenced tuple amending and modifying spreads tuples referenced by the foreign key.
Cancel: the tuple is modified and referenced tuples that referenciaban put no foreign key (only if you accept null).
RECOMENDACIONES
El aspecto más importatnte es que vemos la necesidad de conocer el modelo relacional de una base de datos. Aprender de manera didáctica y autodidactica con mayor dedicación.
Conocer las especificaciones que nos presenta cuando estructuramos las tablas, realizando nuestro trabajo más práctico y sencillo.

CONCLUSIONES
El tema de modelo racional es un tema muy interesante ya que nos da a conocer para que es su utilización y en qué aspectos nos ayuda.

GLOSARIO
Gestión: Conjunto de operaciones que se realizan para dirigir y administrar un negocio o una empresa.
Postulados: es una proposición no evidente por sí misma, ni demostrada, pero que se acepta, ya que no existe otro principio al que pueda ser referida. Si la proposición se considera evidente y es aceptada sin demostración previa, se denomina axioma.
Paradigma: Conjunto de unidades que pueden sustituir a otra en un mismo contexto porque cumplen la misma función.
Conceptualizar: Formar concepto o idea de algo.

LINKOGRAFÍA






1 comentario:

  1. MuyExcelente. Trabajo bien explicito y desarrollado. Gracias por su investigación. Saludos

    ResponderEliminar