1 / 25

UNIVERSIDAD LATINA

UNIVERSIDAD LATINA. BASES DE DATOS. MODELO RELACIONAL. Que es el modelo relacional. 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 .

gella
Download Presentation

UNIVERSIDAD LATINA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIVERSIDAD LATINA BASES DE DATOS MODELO RELACIONAL

  2. Que es el modelo relacional • 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. • 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.

  3. Modelo pre relacional y post relacional • En 1970 Edgar F. Codd propuso un modelo de datos que perseguía como objetivo general la flexibilidad y sencillez; el modelo ofrece estructuras de datos simples y lenguajes sencillos para los usuarios, facilitando la comprensión y utilización por estos. Sin menoscabo de este objetivo de sencillez, el autor se propone fundamentar el modelo sobre una sólida base matemática, a partir de las siguientes generaciones de los SGBD’s: • Pre-relacionales. Los SGBD se basan en modelos Codasyl (en red) y Jerárquico y ficheros planos (flat files). • Relacionales. Los sistemas relacionales ganan madurez en el mercado y los productos basados en este modelo van desplazando poco a poco a los sistemas basados en punteros de la etapa pre-relacional. • Post-relacionales. Aparecen manifiestos de otros modelos de datos, en especial los orientados a objeto. Se distinguen manifiestos puristas OO que dan lugar a SGBDs-OO puros como O2, Gemstone, etc. y, en paralelo, corrientes evolutivas del modelo relacional que relajan hipótesis básicas del modelo original de Codd (relajación de la primera forma normal) para ofrecer estructuras de datos más complejas. Se propone una evolución desde el modelo relacional a SGBDs-OO relacionales, p. ej. SQL3. • Sobre el modelo relacional se han definido los estándares ANSI e ISO del extendido lenguaje de definición y manipulación de bases de datos relacionales SQL (Structured Query Language).

  4. Definición de Base de Datos Relacional • Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". 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.

  5. Conceptos de las Bases de Datos Relacionales • Tupla .- es una hilera o fila en una tabla. (Registro) • Atributo.- es una columna en una tabla. (un campo) • Dominio .- es el conjunto de valores de los cuales los atributos obtienen sus valores. (conjunto de datos) • Llave.- es un atributo con una característica de relevancia para identificar la tupla. (campo clave) • Llave primaria.- es una llave con valores únicos, es decir, no ocurren más de una vez en el atributo. (clave única) • Cardinalidad.- es el número de tuplas en una tabla. (es el número de registros en una tabla) • Grado.- es el número de atributos en una tabla. (número de campos en de una tabla) • Relación .- una definición simple es que se corresponde con una tabla y en ocasiones es preferible pensarlo de esta manera. La definición canónica es que una relación es el producto cartesiano de dos o varios dominios. Podemos también decir que un dominio es un conjunto de valores escalares del mismo tipo, dónde un valor escalar es la mínima unidad semántica de información en el sentido de que son valores atómicos. (colección de tablas interrelacionados con campos comunes) • Tabla base.- es una relación autónoma a diferencia de las vistas y las tablas intermedias construidas a partir de una consulta. (es una tabla física) • Vista.- es una relación virtual, que se construye a partir de tablas base o incluso otras vistas, formada por atributos de estas otras tablas de forma directa o como resultado de una consulta. (resultado de una consulta)

  6. Características de las Bases de Datos Relacionales • Una base de datos relacional se compone de varias tablas o relaciones. • No pueden existir dos tablas con el mismo nombre ni registro. • Cada tabla es a su vez un conjunto de registros (filas y columnas). • La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas). • Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos. • Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones.

  7. Elementos de las Bases de Datos Relacionales • Relaciones base y derivadas.- 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. • Restricciones.- Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos 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 "todos los valores de este atributo deben de ser elementos del conjunto especificado“.Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc. • Clave única.- 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. • 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, 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 empleados. • 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.

  8. Definición de relación • Son las interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones se relacionan los datos de ambas tablas.

  9. Definición de relación • La idea fundamental del modelo relacional es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, 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).

  10. Ejemplo de relación

  11. Definición formal de relación • Una definición formal de relación es: • Decimos que una relación del conjunto A con el conjunto B es el subconjunto de su producto cartesiano (AXB)

  12. Multiplicidad en las relaciones • La multiplicidad define cuántas instancias de un tipo A pueden asociarse a una instancia del tipo B en determinado momento. Las expresiones de multiplicidad son las siguientes: • * cero o más, muchos • 1..* uno o más • 1..40 de uno a cuarenta • 5 exactamente cinco • 2,4,6 exactamente dos, cuatro o seisPor ejemplo:

  13. Propiedades de las relaciones • De la definición de relación se infieren las siguientes propiedades: • i) No hay n-adas duplicadas (no hay elementos repetidos en los datos) • Esta propiedad se obtiene del hecho de que el cuerpo de una relación es un conjunto (en el sentido matemático) y los conjuntos por definición no contienen elementos repetidos. De aquí podemos desprender un corolario importante: el conjunto total de atributos de la relación es siempre una llave primaria. • ii) No hay orden en las n-adas (solo las llaves estan ordenadas y no los datos) De nuevo esta propiedad se desprende al observar que el cuerpo de la relación es un conjunto no ordenado; esto quiere decir que a ninguna n-ada se le puede asignar el título o nombre de la primera n-ada, segunda, o el número que sea de la relación y por supuesto tampoco existe el concepto de la n-ada siguiente en la relación misma

  14. Propiedades de las relaciones iii) No hay orden en los atributos (no hay orden en los campos creados) Esta propiedad se sigue del hecho de que el encabezado de la relación está definido como un conjunto. Como es de esperarse, no existen los conceptos del primer ó n-ésimo atributo, ni del siguiente atributo. De manera análoga se puede manejar una relación que controle tal orden. iv) Todos los valores de los atributos son atómicos (solo hay campos únicos pueden haber compuestos por la concatenación de productos sencillos) Esta propiedad debería decir: todos los valores de los atributos sencillos son atómicos. Esto es una consecuencia al hecho de que los dominios son sencillos --i.e. contienen valores atómicos solamente (si se tuviesen atributos compuestos, éstos siempre pueden verse como la concatenación de atributos sencillos).

  15. Álgebra relacional y cálculo relacional. • El álgebra y el cálculo relacional proveen la forma teórica para manipular una Base de Datos relacional • El álgebra relacional fue desarrollada en 1970 y el cálculo relacional en 1971 por Codd. • El álgebra relacional es un lenguaje procedural para manipular relaciones. • El cálculo relacional es importante porque: • a) esta basado en la lógica de predicados (lógica que facilita determinar la veracidad de una oración) • b) los lenguajes comerciales estan basados en éste.

  16. Álgebra relacional y cálculo relacional. • Manipula las relaciones produciendo nuevas relaciones consistente de nueve operaciones que son tomadas de la matemática, del lenguaje relacional y otras de lenguaje de programación comunes. • De origen matematico. • - Union • - Interseccion • - Diferencia • - Producto cartesiano • De lenguaje de programación • - assignación • De lenguaje Relacional • - proyección (para remover tablas) • - selección (cumplir condiciones para las busquedas) • - divide (excluir datos) • Join (union entre tablas)

  17. Normalización. • Al modelar una base de datos, desearemos evitar puntos que crean confusión, duplicación de la información y por ende, un mal funcionamiento y exploración de la información. Entre las propiedades indeseables en un diseño de bases de datos tenemos: • • Redundancia en la información. • • Incapacidad de representar cierta información. • • Registrar información que no sea identificable.

  18. Formas normales (Primera, segunda y tercera formas normales) . Utilizando como ejemplo las relaciones de proveedores, mercancías y envíos: Proveedores(NumPro#, Nombre, Situacion, Ciudad) Mercancias(NumPar#, Descripcion, Color, Peso, Ciudad) Envio(NumPro#, NumPar#, Cantidad) Las llaves primarias están marcadas por el carácter #.

  19. Formas normales (Primera, segunda y tercera formas normales) . Primera forma normal (1FN) Una relación está en primera forma normal (1FN) si y sólo si todos los dominios son atómicos. Un dominio es atómico si los elementos del dominio son indivisibles. Es decir, no tenemos grupos de repetición o un conjunto de valores asociados repetidos asociados a una misma tupla.

  20. Formas normales (Primera, segunda y tercera formas normales) . Primera Segunda forma normal (2FN) Una relación está en segunda forma normal (2FN) si y sólo si está en 1FN y todos los atributos que no sean llaves dependen por completo de llave primaria

  21. Formas normales (Primera, segunda y tercera formas normales) . Tercera forma normal (3FN) Una relación están en tercera forma normal (3FN) si y sólo si están en 2FN y todos los atributos no llave dependen de manera no transitiva de la llave primaria. Se dice que existe una dependecia transitiva cuando tenemos el par de dependencias funcionales: 78#78 y 79#79, porque de ellas se sigue que 80#80.

  22. Proceso de descomposición sin pérdida Es el proceso de descomponer los objetos o tablas en sus formas normales sin que haya pérdida de datos.

  23. Reglas de CODD Las 12 reglas de Codd son unas normas para bases de datos relacionales. Regla 0: el sistema debe ser relacional, base de datos y administrador de sistema. Ese sistema debe utilizar sus facilidades relacionales (exclusivamente) para manejar la base de datos. Regla 1: la regla de la información, toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas. Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas. Regla 2: la regla del acceso garantizado, todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito fundamental para las llaves primarias. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria. Regla 3: tratamiento sistemático de valores nulos, el sistema de gestión de base de datos debe permitir que haya campos nulos. Debe tener una representación de la "información que falta y de la información inaplicable" que es sistemática, distinto de todos los valores regulares. Regla 4: catálogo dinámico en línea basado en el modelo relacional, el sistema debe soportar un catálogo en línea, el catálogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catálogo). Regla 5: la regla comprensiva del sublenguaje de los datos, el sistema debe soportar por lo menos un lenguaje relacional que; 1.Tenga una sintaxis lineal. 2.Puede ser utilizado de manera interactiva. 3.Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones. Regla 6: regla de actualización, todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema. Regla 7: alto nivel de inserción, actualización, y cancelación, el sistema debe soportar suministrar datos en el mismo tiempo que se inserte, actualiza o esté borrando. Esto significa que los datos se pueden recuperar de una base de datos relacional en los sistemas construidos de datos de filas múltiples y/o de tablas múltiples. Regla 8: independencia física de los datos, los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso. Regla 9: independencia lógica de los datos, los cambios al nivel lógico (tablas, columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lógica es más difícil de lograr que la independencia física de datos. Regla 10: independencia de la integridad, las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes. Regla 11: independencia de la distribución, la distribución de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con éxito: 1.cuando una versión distribuida del SGBD se introdujo por primera vez 2.cuando se distribuyen los datos existentes se redistribuyen en todo el sistema. Regla 12: la regla de la no subversión, si el sistema proporciona una interfaz de bajo nivel de registro, a parte de una interfaz relacional, que esa interfaz de bajo nivel no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o limitación de integridad. Esto es debido a que existen sistemas anteriormente no relacionales que añadieron una interfaz relacional, pero con la interfaz nativa existe la posibilidad de trabajar no relacionalmente.

  24. Estándar SQL. Es en 1992, cuando se lanzó un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.

More Related