La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MANEJADORES DE BASES DE DATOS

Presentaciones similares


Presentación del tema: "MANEJADORES DE BASES DE DATOS"— Transcripción de la presentación:

1 MANEJADORES DE BASES DE DATOS
Elementos de un SGBD MSI. GENARO MENDEZ LOPEZ /

2 Objetivo Comprender los elementos de un Sistema Gestor de Base de Datos (SGBD). Arquitectura, Esquemas, Lenguajes e Interfaces Clasificación Características Principales.

3 Temas Parte I I. Modelos de Datos, Esquemas e Instancias.
Categorías de los modelos de datos. Esquemas, instancias y estados de una B.D. II. Arquitectura de un SGBD e Independencia de los Datos. Arquitectura de tres esquemas Independencia de Datos. III. Lenguajes e Interfaces de B.D. Lenguajes del SGBD. Interfaces del SGBD.

4 Temas Parte II IV. El entorno del SGBD. V. Clasificación de los SGBD.
Módulos componentes del SGBD Utilidades del SGBD. Herramientas, entornos de aplicación y recursos de comunicación V. Clasificación de los SGBD. VI. Sistemas de Gestión de Bases de Datos: Perspectiva Histórica

5 Temario Parte III VII. Estructura Básica de Oracle.
Estructura de la Base de Datos Proceso Oracle Arranque y Parada de Oracle VIII. Estructura de la B.D. y su Gestión en Oracle Objetos del esquema El diccionario de datos de Oracle SQL en Oracle. Métodos en Oracle y Triggers IX. Organización del Almacenamiento en Oracle. Bloques de Datos Extensiones Segmentos

6 Temario Parte IV X. Programación de Aplicaciones en Oracle
Programación en PL/SQL Cursores en PL/SQL Pro * C. XI. Herramientas de Oracle XII. Visión General de Microsoft Access Arquitectura de Access Definición de los Datos en Access Definición de las relaciones y restricciones de Integridad Referencial Manipulación de Datos en Access XIII. Características y Funcionalidad en Access Formulario Informes Macros y Access Basic y Características Adicionales.

7 Evaluación 2 Exámenes Parciales (20%)
Revisión de trabajos de investigación y exposiciones en clase (30%) Exámen Final (50%)

8 Manejadores de Bases de Datos
Introducción Manejadores de Bases de Datos

9 Conceptos y definiciones
Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos. Información: Es un conjunto ordenado de datos los cuales son manejados según la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a información, primero se debe guardar lógicamente en archivos.

10 Conceptos y definiciones
Campo: Es la unidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una característica de un individuo u objeto. Registro: Colección de campos de iguales o de diferentes tipos. Archivo: Colección de registros almacenados siguiendo una estructura homogénea.

11 ¿Qué es una Base de Datos?
Una Base de Datos es el conjunto de datos almacenados con una estructura lógica.

12 Antecedentes Nacieron en la temprana época de las computadoras digitales, a mediados de la década de los 50 y fueron una de las principales herramientas que éstos ofrecían. Surgieron como extensiones de programas Fortran que permitían acceso compartido a los datos.

13 Antecedentes … A finales de los 50, se desarrollaron métodos de acceso soportados por el sistema operativo (acceso directo y secuencial) y maduraron con los sistemas operativos de segunda y tercera generación (principios de los 60).

14 Antecedentes … En los 60’s se desarrollaron las bases de datos estructuradas jerárquicamente y algo después las bases de datos de red. A finales de los 60, Ted Codd, investigador de IBM, desarrolló un lenguaje de programación de propósito general que denominó "programación relacional", basado en la teoría de conjuntos y la lógica y que contenía el germen de lo que había de ser el más extendido de los sistemas de bases de datos hasta la fecha, las bases de datos relacionales.

15 Objetivo principal El objetivo primero de una base de datos es, como su nombre indica, almacenar grandes cantidades de datos organizados siguiendo un determinado esquema o "modelo de datos" que facilite su almacenamiento, recuperación y modificación.

16 ¿Que es un SGBD? Un Sistema Gestor de Base de Datos, es una colección de programas y estructuras de datos que nos permiten la manipulación o gestión de una BD. Un SGBD facilita las funciones de: almacenar físicamente, garantizar consistencia, garantizar integridad, atomicidad transaccional, y manejar vistas a la información.

17 ¿Por qué usar una SGBD? ¿Qué aporta esta tecnología?
Software “sofisticado” para manejo de grandes volúmenes de datos. ¿Qué se haría si no se puede usar? Desarrollar programas usando lenguajes de propósito general. C, Pascal, Java, C++, Y ¿Esto que problemas trae? Más trabajo para manipular datos. Productividad, Costos, Calidad.

18 Ventajas Organización de la información. “Programación” de la BD.
Definición central de datos. Abstracción de Datos. Múltiples vistas de los datos. Almacenamiento de datos y programas. “Programación” de la BD. Separación entre programas y datos. Control de Restricciones de Integridad. Estandarización de modelos y lenguajes.

19 Ventajas Explotación de la BD. Datos compartidos.
Control de concurrencia. Seguridad y Recuperación ante fallas. Datos persistentes en modelos avanzados.

20 Actores involucrados Visibles. Poco visibles. Administrador de BDs.
Diseñador de BDs. Desarrolladores de Sistemas de Info. Usuarios finales. Poco visibles. Implementadores de SGBD. Operadores de sistemas.

21 ¿Por qué no usar SGBDs? Alto costo en inversión:
Hardware. Software. Capacitación técnica. Costo de administración: Del SGBD. De las Bases de Datos.

22 ¿Por qué no usar SGBDs? ¿Cuando no se justifica usar SGBDs?:
Muy pocos datos (planillas?). Datos muy estables. Alto performance (Tiempo Real). No hay acceso concurrente. Los SGBDs “de escritorio”: Similares en Modelo de Datos a los grandes. Bajo costo (plataforma PC). Por ejemplo: MS-ACCESS

23 Objetivo específicos de un SGBDs
Es decir, un SGBD tiene por objetivos: Acceso concurrente Independencia física y lógica Redundancia controlada de los datos Alta relación entre los datos Integridad de los datos Consistencia de los datos Seguridad de los datos Actualización fácil y coherente Alto rendimiento Reducción de la dificultad de programación

24 I. Modelo de Datos, Esquemas e Instancias.
Manejadores de Bases de Datos

25 Esquema e Instancia Se denomina Instancia. Esquema.
Al estado que presenta una base de datos en un tiempo dado. Veámoslo como una fotografía que tomamos de la base de datos en un tiempo t, después de que transcurre el tiempo t la base de datos ya no es la misma. Esquema. Es la descripción lógica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irán formando cada uno de los atributos. El esquema no cambia los que varían son los datos y con esto tenemos una nueva instancia.

26 Esquema e instancia Esquema de una BD: Instancias:
Tipos de datos existentes. Por ejemplo: CURSOS(nro_curso, nombre, horas). ESTUDIANTES(CI, nombre, fecha_nacimiento). TOMA_CURSO(nro_curso, CI). Muy estables. Instancias: Datos almacenados. Muy volátiles.

27 Modelos de Datos ¿Qué son? Lenguajes usados para especificar BDs.
Un Modelo de Datos permite expresar: Estructuras. Objetos de los problemas: Por ejemplo: CURSOS (nro_curso, nombre, horas). Restricciones. Reglas que deben cumplir los datos. Por ejemplo: (c CURSOS ) (c. horas< 120) Operaciones. Insertar, borrar y consultarla BD. Por ejemplo: Insert into CURSOS (303,”BD”,90)

28 Modelos de Datos Según el nivel de abstracción: Conceptuales. Lógicos.
Representan la realidad independientemente de cualquier implementación de BD. Usado en etapa de Análisis. Lógicos. Implementados en SGBDs. Usado en etapas de Diseño e Implementación. Físicos. Implementación de estructuras de datos. P. Ej.: ArbolesB, Hash.

29 Modelos de Datos

30 Categorías de los modelos
Modelo en red Modelo CODASYL Modelo jerárquico Modelo orientado a objetos Modelo Entidad-Asociación Modelo Relacional

31 Modelo en red Una base de datos de red se compone por una colección de registros que se conectan entre si por medio de ligas. Un registro equivale a una entidad y un campo a un atributo del modelo entidad relación. Los campos contienen exclusivamente valores atómicos. Una liga es una relación que se establece solamente entre dos registros; es decir; debe utilizarse una liga para cada relación entre una pareja de registros

32 Diag. de estructura en red
Diagrama de Estructuras de Datos (DED) Permiten mostrar gráficamente el esquema de una base de datos en el modelo de red. Sus componentes principales son: Cajas o cuadros: representan registros. Líneas: representan ligas.

33 Estructura de datos en red
Clientes Cuentas Ana xxxx 221528 25 180000 Angel 423374 30 50000 Mario 856490 50 20000

34 Ejemplo de diag. en red Liga FECHA-CLIENTE Liga FECHA-CUENTA NOM DIR
NC SALDO FECHA 25 180000 Ana xxxx 221528 15/07/1999 Angel xxxx 423374 30/09/1999 30 50000 Mario xxxx 856490 01/03/2000 50 20000

35 Diag. de Estructura de Datos del Modelo en Red.
Cliente Cuenta Liga Sucursal Liga CLIENTE Liga Cuenta Instancia Cliente Liga Cuenta Sucursal NUM CIUDAD NOM DIR TEL NC SALDO FECHA Santiago 25 180000 Ana xxxx 221528 15/07/1999 30 50000 Angel xxxx 423374 30/09/1999 Concepción Mario xxxx 856490 01/03/2000 50 20000

36 Modelo CODASYL (COnference on DAta SYstem Languages, Data Base Task Group) Este modelo es una implementación de las reglas generales de operación del modelo de red. Toma de éste los aspectos generales operativos, pero introduce las siguientes características particulares: Sólo pueden utilizarse ligas muchos a uno. Se prohíben las ligas muchos a muchos para simplificar la implementación. Las ligas uno a uno se representan utilizando ligas muchos a uno.

37 Esquema CODASYL A B a1 a2 a3 b1 b2 r1 RA RB R

38 Modelo Jerárquico Una base de datos jerárquica consiste en una colección de registros que se conectan entre si por medio de ligas. Los registros y las ligas son similares a los del modelo de red, pero en el modelo jerárquico se organiza en forma de árbol con raíz (donde la raíz es un nodo ficticio); de tal manera que una base de datos jerárquica es una colección de árboles de este tipo, formando un bosque. A cada árbol con raíz se le denomina árbol de base de datos.

39 Desventajas del modelo.
En este modelo un registro puede tener que repetirse en varios sitios que puede ocasionar los siguientes problemas: Riesgos de la inconsistencia al llevar a cabo actualizaciones. Inevitable desperdicio de espacio en el medio de almacenamiento secundario.

40 Diagramas de estruct. de árbol
Un diagrama de estructura de árbol es el esquema de una base de datos jerárquica. Tiene dos componentes básicos: REGISTROS y LIGAS. Estos diagramas son similares a los de estructura de datos en el modelo de red. La diferencia radica en que en el modelo de red los registros se organizan en forma de un grafo arbitrario mientras que en el modelo jerárquico se organiza en forma de un árbol con raíz.

41 Reglas de formación del árbol
Las reglas para la formación del árbol son: 1.-No hay ciclos 2.-De padre a hijos son válidas las relaciones de uno a uno y uno a muchos. El esquema de una base de datos jerárquica se representa como una colección de diagramas de estructuras de árbol. Para cada diagrama existe una única instancia del árbol de base de datos. La raíz de este árbol es un nodo ficticio. Los hijos de ese nodo son instancias del tipo de registros adecuado.

42 Diagramas de Estructura de Datos del Modelo Jerárquico
Ana xxxx 221528 Ángel 423374 Mario 856490 50 20000 40 30000 35 50000 25 180000

43 Problemas del Modelo Jerárquico
1. Hijos con más de un padre 2. Relaciones reflexivas 3. Más de una relación entre dos entidades 4. Relaciones muchos a muchos 5. Hijos sin padre

44 Modelo Orientado a Objetos
El modelo de bases de datos orientado por objetos es una adaptación a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un objeto. Los objetos estructurados se agrupan en clases. El conjunto de clases esta estructurado en sub. y superclases basado en una extensión del concepto ISA del modelo Entidad - Relación. Puesto que el valor de un dato en un objeto también es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto.

45 Estructura de objetos. El modelo orientado por objetos se basa en encapsular código y datos en una única unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. Un objeto tiene asociado: Un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje. El término mensaje en un contexto orientado por objetos, no implica el uso de un mensaje físico en una red de computadoras, si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación.

46 Ventajas del Modelo OO La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está considerada como una de las mayores ventajas del modelo de programación orientado a objetos.

47 Jerarquías de clases En una base de datos existen objetos que responden a los mismos mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo. Sería inútil definir cada uno de estos objetos por separado por lo tanto se agrupan los objetos similares para que formen una clase, a cada uno de estos objetos se le llama instancia de su clase. Todos los objetos de su clase comparten una definición común, aunque difieran en los valores asignados a las variables. Así que básicamente las bases de datos orientadas por objetos tienen la finalidad de agrupar aquellos elementos que sean semejantes en las entidades para formar un clase, dejando por separado aquellas que no lo son en otra clase.

48 Ejemplo de jerarquía Por ejemplo: En la relación alumno-cursa-materia agregándole la entidad maestro; donde los atributos considerados para cada uno son alumno: Nombre, Dirección, Teléfono, Especialidad, Semestre, Grupo; Maestro: Nombre, Dirección, Teléfono, Número económico, Plaza, RFC; Materia: Nombre, Créditos, Clave. Los atributos de nombre, dirección y teléfono se repiten en la entidad alumno y maestro, así que podemos agrupar estos elementos para formar la clase Persona con dichos campos. Quedando por separado en alumno: Especialidad, semestre, Grupo. Y en maestro: Número económico, Plaza y RFC; la materia no entra en la agrupación (Clase persona) ya que la clase específica los datos de solo personas, así que queda como clase materia.

49 Herencia Las clases en un sistema orientado por objetos se representan en forma jerárquica como en el diagrama anterior, así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especialización (la relación ISA) del modelo E-R. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo así que una jerarquía (en forma gráfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan.

50 Consultas en BD. OO Los lenguajes de programación orientados por objetos requieren que toda la interacción con objetos se realiza mediante el envío de mensajes. Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos 1, para realizar esta consulta se tendría que enviar un mensaje a cada instancia alumno Así un lenguaje de consultas para un sistema de bases de datos orientado por objetos debe incluir tanto el modelo de pasar el mensaje de objeto a objeto como el modelo de pasar el mensaje de conjunto en conjunto.

51 Complejidad de modificación
En base de datos orientados por objetos pueden existir los siguientes cambios: Adición de una nueva clase: Para realizar este proceso, la nueva clase debe colocarse en la jerarquía de clase o subclase cuidando las variables o métodos de herencia correspondientes. Eliminación de una clase: Se requiere la realización de varias operaciones, se debe de cuidar los elementos que se han heredado de esa clase a otras y reestructurar la jerarquía. En sí la estructuración de modelos orientados por objetos simplifica una estructura evitando elementos o variables repetidas en diversas entidades, sin embargo el precio de esto es dedicarle un minucioso cuidado a las relaciones entre las clases cuando en modelo es complejo, la dificultad del manejo de objetos radica en la complejidad de las modificaciones y eliminaciones de clases, ya que de tener variables que heredan otros objetos se tiene que realizar una reestructuración que involucra una serie de pasos complejos.

52 Modelo E-R Modelo Entidad - Relación Es un MD de alto nivel
Está basado en una percepción del mundo real que consiste en una colección de objetos básicos (entidades) y de relaciones entre estos objetos.

53 Elementos del Modelo ER
Conjuntos entidad Conjuntos asociación Cuestiones de diseño Restricciones de asociaciones Claves Diagrama E-A Características del modelo E-A ampliado

54 Conjuntos entidad Una base de datos se puede modelar como:
Un conjunto de entidades, Asociaciones entre entidades. Una entidades un objeto que existe y es distinguible de otros objetos. Ejemplo: una persona, compañía, evento o planta determinada Las entidades tienen atributos Ejemplo: las personas tienen nombres y direcciones. Un conjunto entidad es un conjunto de entidades del mismo tipo que comparten las mismas propiedades. Ejemplo: el conjunto de todas las personas, compañías, árboles, vacaciones

55 Ejemplo

56 Atributos Una entidad se representa por un conjunto de atributos, que son propiedades descriptivas que tienen todos los miembros de un conjunto entidad. cliente = (id-cliente, nombre-cliente, direccion-cliente, ciudad-cliente) prestamo= (numero-prestamo, cantidad) Dominio–el conjunto de valores permitidos para cada atributo Tipos de atributo: Atributos simplesy compuestos. Atributos monovalorados y multivalorados P.e. atributo multivalorado : numeros-telefono Atributos derivados Se pueden calcular a partir de otros atributos P.e. edad, dada la fecha de nacimiento

57 Atributos compuestos

58 Conjuntos de relación Una asociación es una relación entre varias entidades Ejemplo: López deposita A-102 entidad cliente conjunto asociación entidad cuenta Un conjunto asociación es una relación matemática entre n≥2 entidades, cada una perteneciente a un conjunto entidad {(e1, e2, …en) | e1єE1, e2 є E2, …, en є En} donde (e1, e2, …, en) es una asociación Ejemplo: (López, A-102) є depositos

59 Ejemplo

60 Conjuntos asociación Un atributo también puede ser propiedad de un conjunto asociación. Por ejemplo, el conjunto asociación depositante entre los conjuntos entidad cliente y cuenta puede tener el atributo fecha-acceso

61 Ejemplo

62 Grado de un conj. asociación
Indica el número de conjuntos entidad que pueden participar en un conjunto asociación. Los conjuntos asociación en que participan dos conjuntos entidad se denominan binarias (o de grado dos). Normalmente, la mayoría de los conjuntos asociación son binarias. En un conjuntos asociación pueden participar mas de dos conjuntos entidad. P.e. Supongamos que los empleados de un banco pueden tener puestos (responsabilidades) en varias sucursales, con diferentes responsabilidades en cada sucursal. Entonces habrá una asociación ternaria entre los conjuntos entidad empleado, puesto y sucursal Las asociaciones entre más de dos conjuntos entidad no son comunes. La mayoría de las asociaciones son binarias.

63 Cardinalidad de un conj. asociación
Indica el número de entidades a las que se puede asociar otra entidad mediante el conjunto asociación. Fundamentalmente es útil para conjuntos asociación binarios. La cardinalidad de un conjunto asociación binario puede ser de cuatro tipos: Uno a uno (1:1) Uno a varios (1:M) Varios a uno (M:1) Varios a varios (M:N)

64 Cardinalidad

65 La cardinalidad afecta al diseño E-R
Podemos hacer fecha-apertura un atributo de cuenta, en vez de un atributo de asociación, si cada cuenta sólo puede pertenecer a un único cliente Es decir, la asociación de cuenta a cliente es varios a uno, o, los que es equivalente, cliente a cuenta es uno a varios

66 Ejemplo

67 Diagramas E-R Rectángulos: representan conjuntos entidad.
Rombos: representan conjuntos asociación. Líneas: unen los atributos con los conjuntos entidad y los conjuntos entidad con los conjuntos asociación. Elipses: representan atributos Elipses dobles: representan atributos multivaluados. Elipses discontinuas: denotan atributos derivados. Subrayado: indica que un atributo es una clave primaria

68 Diagrama con atributos multivaluados y derivados

69 Conjuntos asociación con atributos

70 Roles Los conjuntos entidad que participan en una asociación no tienen por que ser distintos En los diagramas E-A los roles se indican etiquetando las líneas que unen rombos y rectángulos. Las etiquetas de rol son opcionales y se utilizan para clarificar la semántica de la asociación.

71 Ejemplo Las etiquetas “director”y “trabajador” se denominan roles; indican cómo interactúan las entidades a través del conjunto asociación “trabaja-para”.

72 Restricciones de cardinalidad
Las restricciones de cardinalidad se indican dibujando o bien una flecha (→), que significa “uno,”o bien un extremo sin flecha (—), que significa “varios,”entre el conjunto asociación y el conjunto entidad correspondiente.

73 Asociación uno-a-uno Un cliente se asocia con, como máximo un préstamo mediante la asociación prestatario Un préstamo se asocia con como máximo un cliente mediante prestatario

74 Asociación uno a varios
En una asociación uno-a-varios un préstamo se asocia con, como mucho, un cliente a través de prestatario, y un cliente se asocia con varios (incluido 0) prestamos a través de prestatario.

75 Asociación varios a varios
Un cliente se asocia con varios (incluido 0) préstamos a través de prestatario Un préstamo se asocia con varios (incluido 0) clientes a través de prestatario

76 Participación de un conjunto entidad en conjunto asociación
Participación total (se indica mediante una línea doble): cada entidad del conjunto entidad participa en al menos una asociación del conjunto asociación P.e. la participación de préstamo en prestatario es total cada préstamo debe tener un cliente asociado a través de prestatario Participación parcial: algunas entidades pueden no participar en ninguna asociación del conjunto asociación P.e. la participación de cliente en prestatario es parcial

77 Participación total y parcial

78 Cardinalidad Los límites de cardinalidad también pueden expresar restricciones de participación. Cardinalidad mínima.. Cardinalidad máxima.

79 Claves Una superclave de un conjunto entidad es un conjunto de uno o más atributos cuyos valores determinan de manera única cada entidad. Una clave candidata de un conjunto entidad es una superclave mínima Id-cliente es una clave candidata de cliente numero-cuenta es una clave candidata de cuenta Aunque pueden existir varias claves candidatas en un conjunto entidad, una de ellas se debe elegir como clave primaria.

80 Ejemplo de claves

81 Conjuntos de entidad débil
Un conjunto entidad que no tiene una clave primaria se denomina conjunto entidad débil. La existencia de un conjunto entidad débil depende de la existencia de un conjunto entidad identificador debe estar relacionado con el conjunto entidad identificador mediante un conjunto asociación uno-a-varios total desde el conjunto entidad identificador al conjunto entidad débil La asociación identificadora se representa mediante un rombo doble El discriminador (o clave parcial) de un conjunto entidad débil es el conjunto de atributos que diferencian las entidades del conjunto entidad débil. La clave primaria de un conjunto entidad débil está formada por la clave primaria del conjunto entidad fuerte del que depende existencialmente el conjunto entidad débil junto con el discriminador del propio conjunto entidad débil.

82 Conj. entidad débil Un conjunto entidad débil se representa mediante un rectángulo doble. El discriminador de un conjunto entidad débil se subraya con una línea discontinua. Numero-pago:discriminador del conjunto entidad pago Clave primaria para pago –(numero-prestamo, numero-pago)

83 Conj. entidad débil Nota: la clave primaria de un conjunto entidad fuerte no se almacena explícitamente en el conjunto entidad débil, dado que está implícita en la asociación identificadora. Si numero-prestamo se almacenara explícitamente, pago se podría convertir en entidad fuerte, pero entonces la asociación entre pago y prestamo debería duplicarse por la asociación implícita definida por el atributo numero-prestamo común a pago y prestamo

84 Especialización Proceso de diseño arriba-abajo; creamos subgrupos con un conjunto de entidades que se distinguen de las demás entidades del conjunto. Estos subgrupos se convierten en conjuntos entidad de más bajo nivel que tiene atributos o participan en asociaciones que no son aplicables al conjunto entidad de nivel superior. Se representa mediante un triángulo con la etiqueta ISA (P.e. cliente“es una”persona). Herencia de atributos–un conjunto entidad de nivel más bajo hereda todos los atributos y participaciones en asociaciones del conjunto entidad de nivel superior al que está enlazado.

85 Ejemplo

86 Generalización Proceso de diseño abajo-arriba –combinar una serie de conjuntos entidad que comparten las mismas características en un conjunto entidad de más alto nivel. La especialización y la generalización son procedimientos opuestos. Por ello se representan de la misma forma en los diagramas E-A. Los términos especialización y generalización se pueden utilizar como sinónimos.

87 Especialización y generalización
Puede haber varias especializaciones de un conjunto entidad en base a diferentes características P.e. empleados-temporales vs. empleados-fijos, además de oficinistas vs. secretarios vs. Vendedores Cada empleado debe ser: Miembro de empleados-.temporales o de empleados fijos, y también miembro de uno de los siguientes grupos: oficinistas, secretarios, o vendedores La asociación ISA también se denomina asociación superclase –subclase

88 Restricciones de diseño en una generalización y especialización
Restricciones sobre que entidades pueden ser miembros de un conjunto de entidades de nivel más bajo. Definido por condiciones P.e. todos los clientes de más de 65 años son miembros del conjunto entidad mayor-de-edad; mayor-de-edad ISA persona. Definido por el usuario Restricciones sobre cuando o no las entidades pueden pertenecer a más de un conjunto entidad de nivel más bajo dentro de la misma generalización. Disjunto Una entidad puede pertenecer a un solo conjunto entidad de menor nivel. Se indica en el diagrama E-A escribiendo disjunto al lado del triángulo ISA Solapado Una entidad puede pertenecer a varios conjuntos entidad de menor nivel

89 Restricciones (cont.) Restricción de completitud – especifica cuando o no una entidad del conjunto entidad de nivel superior debe pertenecer a al menos un conjunto entidad de menor nivel en la generalización. total : una entidad siempre debe pertenecer a un conjunto entidad de menor nivel parcial: una entidad no necesita pertenecer a uno de los conjuntos entidad de menor nivel

90 Agregación Consideremos la asociación ternaria trabaja-en.
Supongamos que queremos almacenar información sobre los directores de las tareas que realiza cada empleado en una sucursal

91 Agregación (cont.) Los conjuntos asociación trabaja-en y dirige representan información redundante Cada asociación dirige corresponde a una asociación trabaja-en Sin embargo, algunas asociaciones trabaja-en pueden no corresponderse con ninguna asociación dirige Por eso no podemos descartar la asociación trabaja-en Eliminamos esta redundancia mediante agregación Tratamos la asociación como una entidad abstracta Permitimos asociaciones ente asociaciones Abstraemos la asociación en una nueva entidad Sin introducir redundancia, el siguiente diagrama representa: Un empleado trabaja en un puesto concreto en una sucursal concreta Una combinación empleado, sucursal, puesto puede tener asociado un director

92 Diagrama E-A con agregación

93 Decisiones de diseño El uso de un atributo o conjunto entidad para representar un objeto. Cuándo un concepto del mundo real se expresa mejor mediante un conjunto entidad o mediante un conjunto asociación. El uso de asociaciones terciarias vs. dos asociaciones binarias. El uso de conjuntos entidad fuertes o débiles. El uso de especialización/generalización –contribuye a la modularidad en el diseño. El uso de agregación – se puede tratar el conjunto entidad agregado como una sola unidad sin importar los detalles de su estructura interna.

94 Resumen de símbolos utilizados en E-A

95 Resumen de símbolos.

96 Resumen de símbolos

97 Modelo relacional numero-cuenta nombre-sucursal saldo A-101 Veracruz
500 A-102 Puebla 400 A-201 Oaxaca 900 A-215 Sonora 700 A-217 Guerrero 750 A-222 San Luis A-305 Merida 350

98 Dominios Un dominio Di es un conjunto de valores Ejemplo:
D2: Conj. De los números naturales D3: (0,1,1/2,3,1/3,2/3) D4:Conj. De los números reales D5: (0,1,2,-1,-2) D6: (0, , )

99 Estructura básica Formalmente, dados los conjuntos D1, D2, …. Dn una relación r es un subconjunto de D1x D2 x …x Dn Es decir, una relación es un conjunto de n-tuplas (a1,a2, …, an) donde cada ai∈Di Ejemplo: Si nombre-cliente= {López, Vega, Suárez, Dominguez} calle-cliente= {5 de Mayo, Norte, Diagonal} ciudad-cliente= {Mérida, Veracruz, Guadalajara} Entonces r= { (López, 5 de Mayo, Mérida), (Vega, Norte, Veracruz), (Suárez, Norte, Veracruz), (Dominguez, Diagonal, Guadalajara)} es una relación sobre nombre-cliente x calle-cliente x ciudad-cliente

100 Tipos de atributo Cada atributo de una relación tiene un nombre
El conjunto de valores permitidos para cada atributo se denomina dominio del atributo Los valores de los atributos deben ser (normalmente) atómicos, es decir, indivisibles P.e. atributos con valores multivaluados no son atómicos P.e. atributos con valores compuestos no son atómicos El valor especial null pertenece a cualquier dominio El valor nulo complica la definición de algunos operadores

101 Esquema de una relación
A1, A2, …, An son atributos R= (A1, A2, …, An) es un esquema de relación P.e. Esquema-cliente= (nombre-cliente, calle-cliente, ciudad-cliente) r(R) es una relación sobre el esquema de relación R P.e. cliente (Esquema-cliente)

102 Definiciones Tupla: es el nombre de cada elemento de R.
Grado de una tupla: nºde componentes que tiene. Grado de una relación: el de sus tuplas. Como R es un conjunto, todas sus tuplas son diferente y no hay un criterio de orden definido entre las tuplas de R. Una tupla es una lista ordenada de valores t=<t1, t2, ... tn> | t1∈D1... tk∈Dk Atributos: a cada dominio que participa en una relación se le da un nombre. Ahora una tupla puede ser una lista desordenada de valores identificadas por sus nombres de atributos. t=<ATRIB1=t1, ATRIB2=t2, ... ATRIBn=tn> ó t=<ATRIB3=t3, ATRIB1=t1, ... ATRIBk=tk>

103 Esquemas y relaciones Como ya fue mencionado anteriormente, El esquema es el diseño lógico de la BD El concepto de esquema de la relación se corresponde con el concepto de los tipos de datos en los lenguajes de programación. El concepto de relación se corresponde con el concepto de variable de los lenguajes de programación.

104 Instancia de una relación
Los valores actuales (instancia) de una relación se especifican mediante una tabla Un elemento t de r es una tupla, y está representado por una fila en una tabla

105 Las relaciones no tienen orden
El orden de las tuplas no es relevante (las tuplas se pueden almacenar en un orden arbitrario) P.e. la relación cuentas con tuplas no ordenadas numero-cuenta nombre-sucursal saldo A-101 Veracruz 500 A-102 Puebla 400 A-201 Oaxaca 900 A-215 Sonora 700 A-217 Guerrero 750 A-222 San Luis A-305 Merida 350

106 Bases de datos relacionales
Una base de datos está formada por un conjunto de relaciones La información sobre una organización se divide en partes y cada relación almacena una parte de la información P.e.: cuenta: almacena información sobre cuentas depositante: almacena información sobre que cliente tiene asignada que cuenta cliente: almacena información sobre clientes Almacenar toda la información en una sola relación: banco(numero-cuenta, saldo, nombre-cliente, ..) da lugar a información repetida (p.e. dos clientes tienen una misma cuenta) necesidad de valores nulos (p.e. información sobre un cliente sin cuenta) La teoría de la normalización se encarga de como diseñar esquemas relacionales correctos

107 Claves Dado K ⊆R K es una superclave de R si los valores de K son suficientes para identificar cada una de las tuplas de cada relación posible r(R) por “posible r” indicamos una relación r que pueda existir en la organización que estamos modelando. Ejemplo: {nombre-cliente, calle-cliente} y {nombre-cliente} son ambas superclaves de Cliente, si consideramos que dos clientes no pueden tener el mismo nombre. K es una clave candidata si K es mínima Ejemplo: {nombre-cliente} es una clave candidata para Cliente, dado que es una superclave (asumiendo que dos clientes no pueden tener el mismo nombre), y ningún subconjunto es una superclave.

108 Determinación de claves a partir de diagramas E-A
Conjunto entidad fuerte. La clave primaria del conjunto entidad pasa a ser la clave primaria de la relación. Conjunto entidad débil. La clave primaria de la relación está formada por la unión de la clave primaria del conjunto entidad fuerte y el discriminador del conjunto entidad débil. Conjunto asociación. La unión de las claves primarias de los conjuntos entidad participantes es una superclave de la relación. Para conjuntos asociación varios-a-uno, la clave primaria del conjunto entidad “varios” pasa a ser la clave primaria de la relación. Para conjuntos asociación uno-a-uno, la clave primaria de la relación puede ser la de cualquiera de los conjuntos entidad. Para conjuntos asociación varios-a-varios, la unión de las claves primarias pasa a ser la clave primaria de las relación.

109 Conversión de esquemas E-A a relaciones
Las claves primarias permiten representar tanto los conjuntos entidad como los conjuntos asociación como relaciones que representan los contenidos de la base de datos. Una base de datos que sigue el esquema E-A se puede representar mediante un conjunto de relaciones. Para cada conjunto entidad y cada conjunto asociación existe una única relación a la que se le asigna el nombre del conjunto entidad o conjunto asociación correspondiente. Cada relación tiene columnas (normalmente una por atributo), que tienen nombres únicos. Convertir un diagrama E-A a relaciones es la base para conseguir un diseño relacional a partir de ese diseño E-A

110 Representación de conjuntos entidad como relaciones
Un conjunto entidad fuerte se transforma en una relación con los mismos atributos.

111 Representación de conjuntos entidad débiles.
Un conjunto entidad débil se transforma en una relación a la que se le añade una columna para la clave primaria del conjunto entidad fuerte identificado

112 Representación de conjuntos asociación como relaciones
Un conjunto asociación varios a varios se representa con una relación con columnas para las claves primarias de los dos conjuntos entidad participantes, y también para los atributos descriptivos del conjunto asociación. P.e.: relación para el conjunto asociación Prestatario

113 Diagrama E-A para una entidad bancaria

114 La relación cliente

115 La relación depositante

116 Diagrama del esquema para una entidad bancaria

117 Restricciones de dominio
Las restricciones de integridad nos protegen ante daños accidentales en la base de datos, asegurando que los cambios autorizados en la base de datos no van a producir una pérdida de consistencia en los datos Las restricciones de dominios son la forma más elemental de restricciones de integridad. Comprueban los valores insertados en la base de datos, y comprueban las consultas para asegurar que las comparaciones tienen sentido.

118 Restricciones de dominio
Se pueden crear nuevos dominios a partir de los tipos de datos existentes P.e. create domain Pesos numeric(12, 2) create domain Dolares numeric(12,2) No se puede asignar o comparar un valor de tipo Pesos con un valor de tipo Dólares. No obstante, se pueden convertir tipos: (cast r.A as Dolares) (Se debería también multiplicar por la conversión dolares-a-pesos)

119 II. Arquitectura de un SGBD e Independencia de los Datos
Manejadores de Bases de Datos

120 Arquitectura lógica Propiedades importantes de SGBDs:
Control global único de la BD. Separación entre esquema y aplicaciones. Esquema: visión global de los datos de la realidad. Aplicaciones: programas sobre la BD. Soporte a diferentes visiones de los datos. Usuarios/aplicaciones ven subconjuntos de la BD. Independencia de datos. Esquema lógico independiente de implementación.

121 Arquitectura en tres niveles

122 Niveles de abstracción
El nivel físico describe cómo se almacena un registro (p.e., cliente). El nivel lógico: describe los datos almacenados en la base de datos y las relaciones entre los datos. typecliente = record nombre: string; calle: string; ciudad: integer; end; EL nivel de vista: los programas de aplicación ocultan detalles de los tipos de datos. Las vistas también pueden ocultar información (p.e. salario) por motivos de seguridad.

123 Esquema básico

124 Independencia de datos
Independencia Lógica. Independencia entre especificaciones de nivel Lógico y Externo. Cambiar partes de esquema lógico sin afectar a los esquemas externos o a las aplicaciones. Independencia Física. Independencia entre especificación de nivel Lógico y Físico. Cambiar implementaciones sin afectar esq. Lógico.

125 Lenguajes e Interfaces en ambientes de Base de Datos
Provistos por SGBD Definición de esquema: VDL (o SSDL) - View Definition Language. SDL - Storage Definition Language. DDL - Data Definition Language. Suele englobar estos tres lenguajes. Manipulación de la BD: DML - Data Manipulation Language. Modificaciones en instancias. QL - Query Language. Subconjunto del DML, sólo para consultas

126 Lenguajes e Interfaces en ambientes de Base de Datos
Tipos de QL: Declarativos. Se especifica qué propiedad cumplen los datos. No se especifica cómo se recuperan de la BD. Suelen recuperar conjuntos de items (registros). Es el DBMS que define el plan de ejecución. Procedurales. Se especifica un algoritmo que accede a estructuras del esquema lógico y recupera los datos item por item (registro a registro).

127 Lenguajes e Interfaces en ambientes de Base de Datos
Lenguajes de programación: Lenguajes host (anfitrion): Lenguajes de uso general (C, COBOL, etc) en el cual se embeben sentencias de DML. Se tiene un pre-procesador que traduce el programa con DML embebido en un programa puro. PROBLEMAS: impedance-mismatch Lenguajes 4GL: Lenguajes procedurales orientados a acceso a BDs. Conexión privilegiada con DMLs, reduce el impedance-mismatch.

128 Resumen de lenguajes DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada). SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada. VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual. En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores. DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación. Tipos de DML's: De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos.

129 Lenguajes e Interfaces en ambientes SGBDs
Interfaces especializadas: Interfaces gráficas de consulta. Se visualizan las estructuras en forma gráfica. Resultados como gráficas (pastel, lineas, etc). Interfaces de Lenguaje Natural. Se procesan frases y se traducen al QL. Interfaces para Administración. Ambientes especializados.

130 Lenguaje SQL SQL: lenguaje no procedimental ampliamente utilizado
ej. encontrar el nombre del cliente con id-cliente select cliente.nombre-cliente from cliente where cliente.id-cliente= ‘ ’ ej encontrar los balances de todas las cuentas pertenecientes al cliente con id-cliente select cuenta.balance from depositante, cuenta where depositante.id-cliente= ‘ ’ and depositante.numero-cuenta = cuenta.numero-cuenta

131 SQL y programas de aplicaciòn
Los programas de aplicación normalmente acceden a bases de datos mediante Extensiones de lenguaje que permiten embeded SQL Interfaces de programación de aplicaciones (ej. ODBC/JDBC) que permiten enviar consultas SQL a una base de datos

132 Usuarios de un SGBD Personal del DBA Usuarios Esporádicos
Programadores de Aplicaciones Usuarios paramétricos

133 Estructura de un DBMS

134 Diferentes tipos de SGBDs
Según el Modelo de Datos: Relacional. Orientado a Objetos. Otros: Redes, Jerárquico, Deductivo, ... Según el porte: Desktop (escritorio) / mono-usuario. Servidor / multi-usuario. Según distribución de la BD: Centralizado. Distribuido.

135 Resumen de los elementos de un SGBDs

136 Gestor de Transacciones
Una transacción es un conjunto de operaciones que realizan una única función lógica en una aplicación de bases de datos El componente de gestión de transacciones asegura que la base de datos se mantiene en un estado consistente (correcto) aun cuando se produzcan fallos en el sistema (ej. fallos de alimentación o del sistema operativo) o fallos de transacción. El gestor de control de concurrencia controla la interacción entre transacciones concurrentes, para asegurar la consistencia de la base de datos.


Descargar ppt "MANEJADORES DE BASES DE DATOS"

Presentaciones similares


Anuncios Google