La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Modelo Relacional (La piedra angular de las tecnologías de información en nuestra época) Universidad de los Andes Demián Gutierrez Enero 2010.

Presentaciones similares


Presentación del tema: "1 Modelo Relacional (La piedra angular de las tecnologías de información en nuestra época) Universidad de los Andes Demián Gutierrez Enero 2010."— Transcripción de la presentación:

1 1 Modelo Relacional (La piedra angular de las tecnologías de información en nuestra época) Universidad de los Andes Demián Gutierrez Enero 2010

2 2 Modelo ER / Diagramas ER Mundo Real (Minimundo) Esquema Interno Esquema Conceptual Esquema Externo Modelado ER BD Transformació n Modelos Conceptuales (De alto nivel, ERE, UML) Modelos “de Implementación” (básicos) (De bajo nivel)

3 3 Modelo Básicos (de implementación) Jerárquico (1960 / 1966, primera implementación IBM) Redes (Charles Bachman en 1969) Relacional (E. Codd en 1970 ) Orientado por Objetos (Fines de los 80) Objeto – Relacional (Inicios de los 90)

4 4 Modelo Relacional (Objeto-Relacional) Está basado en el concepto matemático de relación. Se fundamenta en la teoría de normalización de las relaciones, que permite eliminar el comportamiento anormal de las relaciones, luego de actualizaciones, así como el control de la redundancia de datos

5 5 Modelo Relacional (Conceptos) Dominio: Conjunto de valores Ej: colores = {'rojo', 'verde', 'azul'} marcas = {'fiat', 'toyota', 'ford', 'honda'}

6 6 Modelo Relacional (Conceptos) Relación: Subconjunto del producto cartesiano de una lista de dominios ¿Subcon... de qué de una lista de qué?

7 7 Modelo Relacional (Conceptos) Producto cartesiano de colores y marcas (denotado colores x marcas): colores={'rojo', 'verde', 'azul'} marcas={'fiat', 'toyota', 'ford', 'honda'} Producto Cartesiano: Todos contra todos:

8 8 Modelo Relacional (Conceptos)...luego podemos tomar un subconjunto del producto cartesiano de los dominios: R1={('fiat', 'verde'), ('toyota', 'azul'), ('ford', 'rojo')} R2={('rojo', 'honda')}, o bien R3={} Relación

9 9 Modelo Relacional (Conceptos) Esquema de una relación (o tabla): nombre de la relación seguido de la lista de sus atributos con sus dominios Atributo: Columna en una relación identificada por un nombre Tupla / Registro: Fila en una tabla o relación que contiene un conjunto de valores acordes al esquema de la relación (sus columnas y dominios)

10 10 Modelo Relacional (Conceptos) Atributo o ColumnaEsquema por extensión Tupla o fila (toyota, azul) Tabla o Relación R1(marca, color) Esquema por intensión (Si, con “s”, no es un error) NOTA: El valor de un atributo puede ser nulo en una columna particular. ¿Qué significa esto?

11 11 Modelo Relacional (Conceptos) INTENSIÓN. En Teoría de los Conceptos, el conjunto de las propiedades, las características o atributos esenciales (y también accidentales) de un objeto, que le dan una identidad específica y lo distinguen de cualquier otro. En la construcción de un concepto, refiere a la suma de sus enunciados esenciales. // 2. En Lingüística, conjunto de rasgos semánticos que definen la clase denotada por el signo. Cuanto mayor es la intensión de un concepto, más limitada es su extensión. Son precisos más rasgos semánticos para definir "gaviota" que para definir "ave", aunque en el universo real hay más aves que gaviotas. V.A. DEFINICION POR INTENSION. V.A. EXTENSION. I INTENSION; CONNOTATION. Tomado de: http://www.eubca.edu.uy/diccionario/letra_i.htmhttp://www.eubca.edu.uy/diccionario/letra_i.htm

12 12 ¿qué es una base de datos relacional?

13 13 Base de Datos Relacional Base de Datos Relacional: Base de datos que cumple con el modelo relacional, donde su esquema es un conjunto de esquemas de relación de diferente nombre cada uno Esquema de una base de datos: El conjunto de esquemas o tablas que conforman una base de datos

14 14 Reglas de Formación Cada tupla tiene un número fijo de atributos o columnas Cada relación o tabla contiene un único tipo de fila o tupla No se permiten atributos compuestos o grupos repetitivos (Atributos Multivaluados) Para que una relación sea una relación, debe cumplir con:

15 15 Modelo Relacional (Conceptos) Atributo Multivaluado / Compuesto Grupo Repetitivo

16 16 Reglas de Formación Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la relación es una clave candidata Cada tupla es única y se identifica con su clave primaria La clave primaria de una relación se selecciona entre las claves candidatas Además, también, debe cumplir con: Los atributos que forman parte de la clave primaria no pueden ser nulos

17 17 Modelo Relacional (Conceptos) Claves candidatas: Cédula o bien... #Carnet Superclaves: Cédula + #Carnet Cédula + Nombre #Carnet + Apellido etcétera... Clave primaria (seleccionada de las claves candidatas): Cédula ¿Por qué nombre + apellido no es una clave candidata? La clave se representa subrayando los atributos que la componen

18 18 Claves: Concretas / Abstractas / Incrementales (Auto) La cédula es algo muy concreto, existe, hasta “cierto punto” se puede tocar El código en el fondo no existe, es un invento que se usa para poder diferenciar una materia de otra (pero sin embargo, una vez establecido es un atributo que tiene sentido) El id (de identificador) simplemente no existe. Cada fila tiene (por decreto) un id distinto, y este se va generando de forma incremental a medida que se insertan registros ¿Independientemente de que el Id sea la clave la cédula podrá repetirse?

19 19 Claves: Simples / Compuestas La cédula por si sola puede diferenciar un estudiante de otro El CodSem por si mismo puede diferenciar un semestre de otro Ni el atributo Sem, ni el atributo Año por si mismos pueden diferenciar un semestre de otro, es necesario usarlos en conjunto (concatenados) para poder diferenciar un semestre de otro

20 20 Reglas de Formación Además, también, debe cumplir con: Si un atributo A que pertenece a R1 es también la clave primaria de R2, entonces A es un atributo foráneo de R1, y se le suele llamar clave foránea (Integridad Referencial)

21 21 Reglas de Formación Si A es la clave primaria de R2 y también una clave foránea de R1, entonces para toda tupla de R1 donde A != nulo debe existir la tupla correspondiente en R2 con el valor de A que existe en la tupla de R1 Los atributos que forman parte de una clave foránea pueden ser nulos (no hay relación), aunque en muchos casos es buena idea evitar esto si es posible Además, también, debe cumplir con:

22 22 Claves: Foráneas (I) CédulaJefe es una clave foránea de departamento que apunta al atributo Cédula en Profesor CodDpto es una clave foránea de Profesor que apunta al atributo Código en Departamento Si tomamos todas las claves foráneas del diagrama y asumimos que CédulaJefe en Departamento es única (Es decir, no se puede repetir en filas distintas) ¿Qué tipos relaciones existen (cardinalidad) entre Departamento y Profesor?

23 23 Claves: Foráneas (II) ¿Cuál será la clave primaria de esta relación? ¿Qué tipo de relación existe (cardinalidad) entre Estudiante y Est-Mat? ¿Y entre Est-Mat y Materia? ¿Y entre Estudiante y Materia? Est-Mat es una tabla intermedia que sirve para relacionar Estudiante con Materia

24 24 Reglas de Formación Los valores de los atributos deben pertenecer al dominio definido para cada atributo El orden de las tuplas en la relación es irrelevante (No se puede contar con que las tuplas vengan en cierto orden) Además...:

25 25 Reglas de Formación Un mismo dominio puede ser usado por diferentes atributos (Independientemente de que exista una relación de claves foráneas o no) Además...: A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del álgebra relacional

26 26 Reglas de Integridad Los Sistemas de Gestión de Bases de Datos permiten establecer ciertas reglas que deben cumplirse sobre los atributos en las distintas relaciones que conforman una base de datos relacional Son los predicados definidos por el Administrador de la Base de Datos sobre los valores de los atributos usando el lenguaje de definición de datos

27 27 Ejemplo de un Esquema Relacional (Esquema) Cliente(codCli, nombre, balance, limiteCrédito, descuento, dirección) Pedido(codPed, estado, dirEnvio, codArt, cantPedida, cantEnviada) Articulo( codArt, nomArt, descripcion) Inventario(codArt, codPlanta, cantidadExistencia) Las claves primarias están subrayadas y las claves foráneas aparecen escritas en itálicas (y en negrita) Pedido-Cliente(codPed, codCli) ¿Qué relaciones extrañas, posibles problemas o incoherencias puede encontrar en el modelo? ¿Cuántos artículos puedo almacenar en una planta? ¿Cuántos artículos pueden incluirse en un pedido? ¿Cuántos clientes están involucrados en un pedido?

28 28 Ejemplo de un Esquema Relacional (Esquema) Cliente(codCli, nombre, balance, limiteCrédito, descuento, dirección) Pedido(codPed, estado, dirEnvio, codCli, cantPedida, cantEnviada) Articulo( codArt, nomArt, descripcion) Inventario(codArt, codPlanta, cantidadExistencia) Pedido-Artículo(codPed, codArt)

29 29 Ejemplo de un Esquema Relacional (Tabla de Dominios I) (Una tabla global) Se puede tener una sola tabla de dominios (con todos los dominios de todas las relaciones) continua... TODO: REVISAR COHERENCIA

30 30 Ejemplo de un Esquema Relacional (Tabla de Dominios I) (Una tabla global)...continuación

31 31 Ejemplo de un Esquema Relacional (Tabla de Dominios I) (Una tabla por relación) continua...

32 32 Ejemplo de un Esquema Relacional (Tabla de Dominios II) (Una tabla por relación)...continuación

33 33 Modelo Objeto-Relacional Es una extensión (algunas veces caótica poco estandarizada y muy dependiente del SGBD) que pretende añadir algunas características de Orientación por objetos al modelo Relacional

34 34 Modelo Objeto-Relacional Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es deben definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuevo tipo. Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos Tipo Compuesto Teléfono (cód_país, cód_área, cód_sector, número_local) Ej: Teléfono (58, 274, 244, 3454) Se traduce a una columna (Atributo) que tiene “cadenas” de con el siguiente formato: '+cód_país-cód_área-cód_sector-número_local' Ej: '+58-274-244-3454' transformación definida por el propietario o creador del tipo

35 35 Modelo Objeto-Relacional Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etcétera (Stored Procedures / Procedimientos Almacenados) Se pueden crear operadores asignándoles un nombre y asociándolos a una función ya definida o creada con anterioridad Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers o gatillos Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro

36 36 Gracias ¡Gracias!


Descargar ppt "1 Modelo Relacional (La piedra angular de las tecnologías de información en nuestra época) Universidad de los Andes Demián Gutierrez Enero 2010."

Presentaciones similares


Anuncios Google