Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 132
BASES DE DATOS
Francisco Barajas Martnez
Diseo de Bases de Datos Relacionales Introduccin Antecedentes Modelado de Datos Modelo Entidad Relacin Modelo Relacional Diseo de Bases de Datos Relacionales Traduccin de un Modelo Entidad Relacin al Modelo Relacional Modelado con UML Arquitecturas y Sistemas Relacionales SQL Desarrollo de una APLICACION
Diseo de Bases de Datos Relacionales Introduccin Antecedentes Modelado de Datos Modelo Entidad Relacin Diseo de Bases de Datos Relacionales Traduccin de un Modelo Entidad Relacin al Modelo Relacional SQL Desarrollo de una APLICACION
BASE DE DATOS ??? Qu es un DATO ???
Datos son hechos conocidos que pueden registrarse y que tienen un significado implcito.
Ramez Elmasri y Shamkant B. Navathe Ejemplo: Pueden constituir datos los nombres, nmeros telefnicos y direcciones de personas que conocemos. 3256789 Elena Snchez alma@ueh.edu.mx Sarand 100 Jos Martnez 18 de Julio 1980 Problemas con los datos Todas las empresas requieren almacenar informacin. Desde siempre lo han hecho. La informacin puede ser de todo tipo. Cada elemento informativo (nombre, direccin, sueldo, etc.) es lo que se conoce como dato (en ingls data). Las soluciones utilizadas por las empresas para almacenar los datos son diversas. Antes de la aparicin de la informtica se almacenaban en archivos con cajones y carpetas y fichas. Tras la aparicin de la informtica estos datos se almacenan en archivos digitales dentro de las unidades de almacenamiento de la computadora (a veces en archivos binarios, o en hojas de clculo, o procesadores de palabras...). Problemas con los datos En los inicios de la era informtica, cada programa almacenaba y utilizaba sus propios datos de forma un tanto catica.
La ventaja de este sistema (la nica), es que los procesos eran independientes por lo que la modificacin de uno no afectaba al resto. Pero tiene grandes inconvenientes: Costo de almacenamiento elevado histricos Datos redundantes (se repiten continuamente) Probabilidad alta de inconsistencia en los datos Difcil modificacin en los datos y facilidad de problemas de inconsistencia al realizar esas modificaciones (ya que es difcil que esa modificacin afecte a todos los datos) Problemas con los datos Lgicamente la solucin a este problema es hacer que todas las aplicaciones utilicen los mismos datos. Esto provoca que los datos deban estar mucho ms protegidos y controlados. Adems los datos forman una estructura fsica y funcional que es lo que se conoce como base de datos.
De esta forma una base de datos es una serie de datos relacionados que forman una estructura lgica, es decir una estructura reconocible desde un programa informtico.
Esa estructura no slo contiene los datos en s, sino la forma en la que se relacionan. Las bases de datos empiezan a aparecer en los aos 60 y triunfan en los aos setenta y ochenta. Estructura de una Base de Datos Las bases de datos estn compuestas (como ya se ha comentado), de datos y de metadatos.
Los metadatos son datos (valga la redundancia) que sirven para especificar la estructura de la base de datos; por ejemplo qu tipo de datos se almacenan (si son texto o nmeros o fechas ...), qu nombre se le da a cada dato (nombre, apellidos,...), cmo estn agrupados, cmo se relacionan, etc.... Estructura de una Base de Datos Estructura lgica. Indica la composicin y distribucin terica de la base de datos. La estructura lgica sirve para que las aplicaciones puedan utilizar los elementos de la base de datos sin saber realmente cmo se estn almacenando. Es una estructura que permite idealizar a la base de datos. Sus elementos son objetos, entidades, nodos, relaciones, enlaces,... que realmente no tienen presencia real en la fsica del sistema. Por ello para acceder a los datos tiene que haber una posibilidad de traducir la estructura lgica en la estructura fsica.
Estructura fsica. Es la estructura de los datos tan cual se almacenan en las unidades de disco. La correspondencia entre la estructura lgica y la fsica se almacena en la base de datos (en los metadatos). Definicin YA ???? Base de Datos o BD Coleccin de todos los datos operativos de una Empresa de acuerdo a un modelo especfico que son accesibles desde cualquier lugar fsico y nivel de la empresa (Estratgico, Tctico, Operativo)
Una BD debe cumplir con las caractersticas de:
Unicidad Consistencia Seguridad Privaca Disponibilidad Integridad El campo de las BD Eficiencia Acceso y modificacin de grandes volmenes de datos Adaptabilidad Supervivencia de datos bajo errores, reduciendo inconsistencias Control del acceso Simultaneidad de uso mltiple dentro de una congruencia con control de concurrencia y seguridad Persistencia Existencia y mantenimiento de datos por largos perodos de tiempo, independientemente del modo de acceso Comparacin entre Archivos y Base de Datos Dependencia de ligas externas a los datos
Datos sin compartir en toda la empresa
Redundancia de los datos
Archivos no relacionados entre s
Acceso limitado y con poca flexibilidad, eficiencia y seguridad Independencia a ligas externas a los datos
Datos compartidos y compatibles en la empresa Redundancia mnima y controlada
Datos relacionados de acuerdo a un modelo Flexibilidad, Integridad, Eficiencia y seguridad
DEFINICIN DE BASE DE DATOS (1)
Base de Datos es un conjunto de datos relacionados entre s y que tienen un significado implcito. Ramez Elmasri y Shamkant B. Navathe La definicin presentada anteriormente hace referencia a dos elementos para que un conjunto de datos constituya una Base de Datos: 1) Relaciones entre datos, tema que se trata ms adelante. 2) Significado implcito de los datos que se atribuye dependiendo del contexto en que se utilizan los mismos. Por ejemplo, el dato fecha en una base de datos de ventas puede referirse a la fecha de emisin de las facturas, mientras que si la base de datos es de msica quizs corresponda a la fecha en que se grab un tema musical. Archivos tradicionales y Bases de Datos En un sistema de informacin se cuenta con dos enfoques principales para definir el almacenamiento de los datos: 1. Archivos tradicionales. Consiste en almacenar los datos en archivos individuales, exclusivos para cada aplicacin particular. En este sistema los datos pueden ser redundantes (repetidos innecesariamente) y la actualizacin de los archivos es ms lenta que en una base de datos. 2. Base de datos. Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a mltiples y diferentes aplicaciones. La base de datos es una fuente significativa de datos que son compartidos por numerosos usuarios para diversas aplicaciones. Kendall y Kendall Facturas ...... 900 1250 Precio ....... Pintura Azulejos Producto ........ ....... ..... Misiones 1456 Fernando Martnez 1226 Rincn 1224 Joaqun Garca 1225 Dom. Nombre Num Ejemplo Archivos Tradicionales ........ ......... ......... ....... .... Fmar@gmail.com 9157878 Rincn 876 Fernando Martnez 1226 jgarcia@adinet.co m.uy
4182569 Guan 1202 Juan Garca 1225 E-mail Telefono Direccin Nombre Num Clientes Se cuenta con dos archivos Clientes y Facturas. El primer archivo tiene los datos bsicos de los clientes, mientras que en el segundo se almacenan las ventas realizadas. Al emitir cada factura se ingresan nuevamente los datos num, nombre, domicilio. Desventajas: -Se duplican esfuerzos -Se presentan redundancias de datos (datos repetidos innecesaramente) -Se pueden producir contradicciones entre los datos, si por ejemplo se ingresan nombres diferentes para un mismo cliente. DEFINICIN DE BASE DE DATOS (2) .
Una base de datos tiene una fuente de la cual se derivan los datos, cierto grado de interaccin con los acontecimientos del mundo real y un pblico que est activamente interesado en el contenido de la base de datos.
Ramez Elmasri y Shamkant B. Navathe
Definicin Wiki ???? Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Tipos de Base de Datos Segn la Variabilidad de los Datos Almacenados
Estticas Dinmicas Bases de Datos Estticas son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar decisiones. Ejemplos
Bases de Datos Dinmicas stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin, borrado y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, un videoclub. Ejemplos
Tipos de Base de Datos Segn el Contenido de los Datos Almacenados
Bases de datos Bibliogrficas Bases de datos de Texto Completo Bases de datos Directorios Bases de datos bibliotecas
Bases de Datos Bibliogrficas Solo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque si no, estaramos en presencia de una base de datos a texto completo (o de fuentes primarias). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras. Modelos de Bases de Datos Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Modelo Jerrquico stas son bases de datos que, como su nombre indica, almacenan su informacin en una estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Modelo Jerrquico La informacin se organiza con un jerarqua en la que la relacin entre las entidades de este modelo siempre es del tipo padre / hijo. De esta forma hay una serie de nodos que contendrn atributos y que se relacionarn con nodos hijos de forma que puede haber ms de un hijo para el mismo padre (pero un hijo slo tiene un padre). Las entidades de este modelo se llaman segmentos y los atributos campos. La forma visual de este modelo es de rbol invertido, en la parte superior estn los padres y en la inferior los hijos. Modelo Jerrquico DEPARTAMENTO DOCUMENTOS PERSONAL TAREAS Modelo de Red ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales. Modelo de Red El modelo se utiliz durante mucho tiempo. Organiza la informacin en registros y enlaces. Los registros representan las entidades del modelo entidad / relacin. En los registros se almacenan los datos utilizando atributos. Los enlaces permiten relacionar los registros de la base de datos. El modelo en red ms aceptado es el llamado codasyl, que durante mucho tiempo se ha convertido en un estndar. Las bases de datos en red son parecidas a las jerrquicas slo que en ellas puede haber ms de un padre. En este modelo se pueden representar perfectamente relaciones varios a varios. Pero su dificultad de manejo y complejidad hace que se estn abandonando completamente. Modelo Transaccionales Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad, datos de produccin e industrial, es importante entender que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de informacin no es un problema como con las dems bases de datos, por lo general para poderlas aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales. Modelo Relacional ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Su idea fundamental es el uso de "relaciones". Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. Modelo Multidimencional Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podra serlo tambin en una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se desean estudiar. Modelo OO Este modelo es propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: Encapsulacin - Propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos. Herencia - Propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases. Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). Diversos Modelos de una BD En realidad han existido diversos modelos para modelar la realidad, aqu presentamos algunos de ellos
Modelo Jerrquico Primer modelo de BD, IMS es la mas popular Modelo de Redes Definido por C. Bachman, IDMS fue el producto comercial Modelo Relacional Funcional Diseo de Codd popularizado por Date (RDB, Oracle, Sybase, Informix ) Modelo Entidad - Relacin Concepcin de Chen, muy usado aplicable a diversos modelos ( j,r,rel) Modelo Semntico Inicialmente de R. Quillian usado solo en investigacin Modelo Binario Instrumentado por Stonebraker basado en el modelo de Codd (Ingres) Modelo Orientado a Objetos Popular al representar la tendencia actual (Ilustra, O2 ) Modelo Mutlirelacional Extensin al relacional con inversin total Cuando se requiere una BD ? Ciclo de Vida de Desarrollo de Sistemas
Fuente: Kendall y Kendall En la etapa 4) Diseo se definen los detalles a fin de cumplir con los requerimientos identificados en la etapa 3) Anlisis. Niveles de Instrumentacin Niveles de Instrumentacin Niveles de Instrumentacin Niveles de Instrumentacin Qu es una Base de Datos???
Conceptos Bsicos Byte 01001010 Letra J Bit 0 1 Campo Juan Snchez (campo NOMBRE) Registro NOMBRE CURSO FECHA NOTA Juan Snchez IS 101 Nov04 15 Archivo Archivo de cursos NOMBRE CURSO FECHA NOTA Juan Snchez I2 101 Nov04 15 Carla Tovar I2 101 Nov 04 18 Base de Datos Finanzas Cursos Expedientes Personales Conceptos Bsicos Archivo Archivo de Pedidos Pedido Fecha Prov Total Bs 1401 04/11 0051 5.689 1404 05/11 0064 9.468 1405 06/11 0051 6.562 Campo clave: el archivo se ordena por un campo seleccionado cuyos elementos son irrepetibles. Campos calculados: Surgen de la combinacin de otros campos, el usuario no escribe su contenido. B.D. Relacionales Para entender lo que son y significan las bases de datos relacionales, veamos el siguiente ejemplo: Queremos registrar los datos de una venta: Fecha Producto Proveedor Cantidad Precio Unit Precio Total 05/11 Azucar Central 1200 500 600000 05/11 Leche Parmalar 100 5600 560000 06/11 Margarina Comprolat 600 800 480000 05/11 Melaza Central 600 600 360000 06/11 Arroz Marty 700 800 560000 B.D. Relacionales Con las BD relacionales, se ingresan solo los datos mnimos indispensables 05-11-04 Central Proveedor Fecha Factura 1401 Azcar 1200 500 600000 Melaza 600 600 360000 Producto Cant. P.Unitario P.Total B.D. Relacionales Con las BD relacionales, se ingresan solo los datos mnimos indispensables Proveedores Central Comprolat Parmalar Marty Lef Productos Nombre PU Exist Arroz 800 12324 Azcar 500 840 Leche 5600 917 Margarina 800 1854 Melaza 600 744 Salsa 400 1465 Pedidos Cod Fecha Proveed . 1401 05/11/04 Central 1402 05/11/04 Trx 1403 06/11/04 Comprolat 1404 06/11/04 Marty Detalle de Pedidos Num Prod Cant PU Ptotal . 1401 Azcar 1200 500 600000 1401 Melaza 600 600 360000 Modelado de Datos Modelar datos es una Pasarela ? Es el proceso de analizar los aspectos de inters para una organizacin y la relacin que tienen unos con otros. Resulta en el descubrimiento y documentacin de los recursos de datos del negocio. El modelado hace la pregunta " Qu ? " en lugar de " Cmo ? ", esta ltima orientada al procesamiento de los datos. Es una tarea difcil, bastante difcil, pero es una actividad necesaria cuya habilidad solo se adquiere con la experiencia.
Modelado: Metas y Beneficios Registrar los requerimientos de datos de un proceso de negocio. Dicho proceso puede ser demasiado complejo y se tendr que crear un "enterprise data model", el cual deber estar constituido de lneas individuales. Permite observar: Patrones de datos Usos potenciales de los datos
Modelado: Tipos Bsicamente son 3: Conceptual: muy general y abstracto, visin general del negocio/institucin. Lgico: versin completa que incluye todos los detalles acerca de los datos. Fsico: esquema que se implementar en un manejador de bases de datos (DBMS). Modelando hay que.. No pensar fsicamente, si no pensar conceptualmente No pensar en procesos, pensar en estructura No pensar en navegacin, pensar en trminos de relaciones
Modelando Graficando Generalmente todo modelo tiene una representacin grfica, para el caso de datos el modelo mas popular es el modelo entidad- relacin o diagrama E/R. Se denomina as debido a que precisamente permite representar relaciones entre entidades (objetivo del modelado de datos). La figura siguiente muestra distintos ejemplos de notaciones, todas son muy similares. Ejemplo de Notaciones Modelando Lo importante es que, se use la Notacin que se use, toda la organizacin debe conocer y usar la misma, para que haya un estndar de uso en la organizacin. El Modelo debe estar compuesto de.. Entidades: todo lo que existe y es capaz de ser descrito (sustantivo). Atributos: es una caracterstica (adjetivo) de una entidad que puede hacer 1 de tres cosas: Identificar Relacionar y/o Describir Relaciones: la conexin que existe entre 2 entidades (verbo). Cardinalidad: nmero de ocurrencias que pueden existir entre un par de entidades.
El Modelo debe estar compuesto de.. Llave primaria: la seleccionada para identificar a los elementos nicos de un conjunto de entidades. Super llave: conjunto de uno o ms atributos que "juntos" identifican de manera nica a una entidad Llave candidata: es una sper llave mnima Restricciones: enunciado de restricciones.
Resumen del Modelado de Datos Los modelos se utilizan en todo tipo de ciencias. Su finalidad es la de simbolizar una parte del mundo real de forma que sea ms fcilmente manipulable. En definitiva es un esquema mental (conceptual) en el que se intentan reproducir las caractersticas de una realidad especfica. Resumen del Modelado de Datos En el caso de los modelos de datos, lo que intentan reproducir es una informacin real que deseamos almacenar en un sistema informtico. Se denomina esquema a una descripcin especfica en trminos de un modelo de datos. El conjunto de datos representados por el esquema forma la base de datos. Clasificacin de Modelado de Datos
Actores del Modelado de Datos Mundo real. Contiene la informacin tal cual la percibimos como seres humanos. Es el punto de partida
Esquema conceptual. Representa el modelo de datos de forma independiente del DBMS que se utilizar.
Esquema cannico (o de base de datos). Representa los datos en un formato ms cercano a la computadora. Actores del Modelado de Datos Esquema interno. Representa los datos segn el modelo concreto de un sistema gestor de bases de datos (por ejemplo: Oracle, MySql,)
Base de datos fsica. Los datos tal cual son almacenados en disco. Recoleccin y Anlisis de requerimientos Un Buen Diseo de Base de Datos Reflejar la estructura del problema en el mundo real. Ser capaz de representar todos los datos esperados, incluso con el paso del tiempo. Evitar el almacenamiento de informacin redundante. Proporcionar un acceso eficaz a los datos. Mantener la integridad de los datos a lo largo del tiempo. Ser claro, coherente y de fcil comprensin.
Ejercicios.
Modelo Entidad Relacin Definicin Modelo de datos entidad-relacin est basado en una percepcin del mundo real que consta de un conjunto de objetos bsicos llamados entidades y de relaciones entre estos objetos. Conjuntos de entidades Conjuntos de relaciones Conjuntos de atributos Conjunto de entidades Definicin de entidad Una entidad es una cosa u objeto en el mundo real que es distinguible de todos los dems
Definicin de conjunto de entidades Es la totalidad de las entidades del mismo tipo que comparten las mismas propiedades o atributos fsica o real (una persona, un libro, un empleado) abstracta o conceptual (una asignatura, un viaje)
Persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa (ANSI, 1977)
Conjunto de atributos Definicin Los atributos describen propiedades que posee cada miembro de un conjunto de entidades. Se clasifican en:
Simples y compuestos Univalorados y multivalorados Nulos Derivado Clasificacin de atributos Atributos compuestos Pueden dividirse en otros con significado propio
Valor compuesto = concatenacin de valores de componentes
Atributos simples No divisibles. Atmicos fechanacim dia mes ao direccion calle ciudad provincia codpostal genero Clasificacin de atributos Atributos monovalorados (monovaluados) slo un valor para cada entidad fechanacim [de un EMPLEADO particular] aoestreno [de una PELICULA concreta]
Atributos multivalorados (multivaluados) ms de un valor para la misma entidad nacionalidad [ PELICULA coproducida por varios pases ] telefono [ EMPLEADO con varios telfonos de contacto] Pueden tener lmites superior e inferior del n de valores por entidad nacionalidad (1-2) telefono (0-3) Clasificacin de atributos El nulo (null value) es usado cuando...
Se desconoce el valor de un atributo para cierta entidad El valor existe pero falta altura [de un EMPLEADO] No se sabe si el valor existe o no numtelfono [de un EMPLEADO]
La entidad no tiene ningn valor aplicable para el atributo: fechaalquiler [PELICULA slo en vdeo-venta (no alquiler)] Clasificacin de atributos Atributos derivados Valor calculado a partir de otra informacin ya existente (atributos, entidades relacionadas) Son informacin redundante... edad [de EMPLEADO], clculo a partir de fechanacim atributo derivado del valor de otro atributo numcopias [de una PELICULA], cuenta del n de entidades copia relacionadas con cada pelcula concreta atributo derivado de entidades relacionadas
Atributos almacenados nacionalidad [de una PELICULA] fechanacim [de un EMPLEADO] Relaciones Relacin: Una relacin es una asociacin entre diferentes entidades. Conjunto de relaciones: un conjunto de relaciones del mismo tipo. Es una relacin matemtica de N> 2 E1, E2, E3 En Relaciones Tambin interrelacin Asociacin, vnculo o correspondencia entre instancias de entidades relacionadas de alguna manera en el mundo real el director Julio Mdem ha rodado la pelcula Tierra el empleado 87654321 trabaja en el local de videoclub principal la pelcula El imperio contraataca es una continuacin de la pelcula La guerra de las galaxias Relaciones Estructura genrica o abstraccin del conjunto de relaciones existentes entre dos o ms tipos de entidad un DIRECTOR ha rodado PELICULAs
DIRECTOR PELICULA HA_RODADO Relaciones ACTOR PELICULA ACTUA_EN CLIENTE PELICULA LOCAL_VIDEOCLUB ALQUILA Nmero de tipos de entidad que participan en el tipo de relacin Binaria: grado 2 (el ms frecuente) Ternaria: grado 3 Reflexiva (o recursiva): grado 1 PELICULA CONTINUACION DE Relaciones Todo tipo de entidad que participa en un tipo de relacin juega un papel especfico en la relacin
Es en los tipos de relacin reflexivos donde se deben usar los roles original versin PELICULA VERSION_DE DIRECTOR PELICULA HA_RODADO realizador film Relaciones Limitan las posibles combinaciones de entidades que pueden participar en las relaciones Extradas de la situacin real que se modela Una pelcula debe haber sido dirigida por uno y slo un director Un director ha dirigido al menos una pelcula y puede haber dirigido muchas Clases de restricciones estructurales: Razn de cardinalidad (o tipo de correspondencia) Razn de participacin Ligaduras de correspondencia Correspondencia de cardinalidades: expresa el nmero de entidades a las que otra entidad puede estar asociada va un conjunto de relaciones. Uno-uno 1-1 Varios-uno n-1 Uno-varios 1-n Varios-varios n-n
ACTOR PELICULA personaje film M ACTUA_EN N EMPLEADO LOCAL_VIDEOCLUB encargado sucursal 1 trabajador lugar trabajo 1 TRABAJA_EN SUPERVISA N 1 Ligaduras de correspondencia Dependencia de existencia: si la existencia de la entidad x depende de la existencia de la entidad y, entonces se dice que x tiene dependencia de y. Si y se borra tambin se borrara x La entidad y es la entidad dominante La entidad x es la entidad subordinada
Clases de participacin: Participacin total (dependencia en existencia) Participacin parcial DIRECTOR PELICULA HA_ RODADO 1 N PELICULA personaje film M ACTUA_EN N ACTOR Atributos en relacin salario de un actor por participar en cierta pelcula tipo de papel que interpreta un actor en una pelcula (prota, secundario, reparto,...)
Ojo: una relacin puede tener atributos, pero nunca una clave. PELICULA (0,m) ACTUA_EN (1,n) ACTOR salario papel M:N Ligaduras de correspondencia Tipo de entidades Dbil: es aquella que no tiene llave primaria. Fuerte: es aquella que tiene llave primaria Entidad Dbil No tiene atributos clave propios Una instancia se identifica por su relacin con una instancia de otro tipo de entidad Tipo de relacin identificador Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre, propietaria) Clave parcial (o discriminante) Atributos de la entidad dbil, que identifican de forma nica cada instancia, siempre que est relacionada con una instancia del tipo de entidad regular Clave = (clave_entidad_regular,clave_parcial) PELICULA numcopia
titulo 1 N COPIA TIENE Una entidad dbil siempre tiene una restriccin de participacin total en la relacin que la une a su entidad propietaria
Llaves claves Superllave: Uno o ms atributos que nos permite identificar una entidad en especfico dentro de un conjunto de entidades y ninguna otra entidad la tiene. Toda relacin tiene por lo menos una superllave llamada llave primaria. Llaves claves Llave candidata: Son aquellos atributos que tienen caractersticas para ser super llaves, pero hay dos o mas en una entidad; una se tomar como llave primaria y otra como llave secundaria. El atributo que es la llave primaria en una entidad se subraya. Modelo E-R extendido Caractersticas Especializacin. Generalizacin. Herencia de atributos Ligas de diseo Agregacin.
Modelo E-R Extendido Especializacin: Un conjunto de entidades que pueden incluir subgrupos de entidades que se diferencian de alguna forma de las otra entidades del conjunto. Proceso de definicin de un conjunto de subtipos de un tipo de entidad ( supertipo) Subtipos suelen estar definidos segn caracterstica distintiva de las entidades del supertipo Discriminante de la especializacin
Otro ejemplo Un ANIMAL es un FELINO Un REPTIL es un tipo de ANIMAL Un insecto es un tipo de ANIMAL
VEHCULO tipo motorS/N VEHCULO_SIN_MOTOR VEHCULO_A_MOTOR MOTOCICLETA CAMIN TURISMO Modelo E-R Extendido Generalizacin: Conjunto de entidades en niveles de subgrupos de entidades, representado un proceso de diseo descendente (top down), tambin puede ser en forma ascendente (bottom up) Proceso inverso de la especializacin Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y formar un supertipo que los incluya
numBastidor precio numEjes TURISMO fechaFab numBastidor precio numEjes tonelaje numPuer fechaFab numBastidor precio fechaFab CAMIN TURISMO CAMIN numPuer tonelaje VEHCULO G Agrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a su importancia para el diseo o aplicacin Subtipos del tipo de entidad VEHCULO: CAMIN TURISMO AUTOBS CICLOMOTOR Subtipos del tipo de entidad EMPLEADO: SECRETARIO GERENTE COMERCIAL
El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO ) Modelo E-R extendido Generalizacin nfasis en las similitudes Cada instancia del supertipo es tambin una instancia de alguno de los subtipos
Especializacin nfasis en las diferencias Alguna instancia del supertipo puede no ser instancia de ningn subtipo Modelo E-R extendido Herencia de atributos: Los atributos de los conjuntos de entidades de niveles mas altos se dicen que son heredados por los conjuntos de entidades del nivel mas bajo. Un subtipo puede tener atributos propios (especficos) y participar en relaciones por separado Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipo Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio VEHCULO CAMIN FABRICANTE SIDECAR FABRICA
LLEVA numBastidor precio numEjes tonelaje numPuer numPlazas cilindrada ID (1,1) (1,n) (1,1) (0,1) TURISMO N:1 1:1 MOTOCICLETA Modelo E-R extendido Modelo E-R Extendido Ligaduras de diseo: Son usadas en la generalizacin, en el diagrama Entidad Relacin que determina que entidades pueden ser miembros del conjunto de entidades del nivel mas bajo. Dos (o ms) tipos de relacin son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad slo puede participar en uno de los tipos de relacin CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO GASOLINA GASTA CONSUME GASOIL VEHCULO Otro ejemplo sera el de un ARTCULO que pudiera publicarse en un PERIDICO o en una REVISTA, pero nunca en ambos.
Modelo E-R Extendido Agregacin: Una limitacin del modelo E-R que no es posible expresar entre relaciones Restriccin inherente del MER: No puede expresar relaciones entre varias relaciones, ni entre un tipo de relacin y un tipo de entidad
La agregacin... Permite combinar varios tipos de entidad, relacionados mediante un tipo de relacin, para formar un tipo de entidad agregada de nivel superior til cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad
Esquema en el MERE que almacena informacin sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas Algunas entrevistas dan lugar a ofertas de empleos y otras no nombre SOLICITANTE nomContacto telefContacto fecha nif nombre ENTREVISTA_A EMPRESA direccin (1,m) M N (1,n) telef EMPRESA SOLICITANTE ENTREVISTA ENTREVISTA_A OFERTA_EMPLEO RESULTA_EN EMPRESA SOLICITANTE OFERTA_EMPLEO ENTREVISTA_A EMPRESA SOLICITANTE RESULTA_EN OFERTA_EMPLEO ENTREVISTA_A 98 Antes Empleados Clientes Inventario Ventas Cuentas SGBD Empleados Clientes Ventas Inventario Cuentas Dpto. Personal Dpto. Ventas Dpto. Contabilidad BASE DE DATOS Ahora Personal Ventas Contabilidad Definicin Una base de datos es un conjunto estructurado de datos coherentes Coleccin disponible de informacin Definicin Una base de datos es un conjunto estructurado de datos coherentes Coleccin organizada en subconjuntos, en funcin de ligas y de relaciones entre las diferentes informaciones (estructura lgica) Definicin Una base de datos es un conjunto estructurado de datos coherentes No hay contradiccin entre los datos ligados, no hay prdida de informacin, aun sabiendo que hay una utilizacin compartida de los datos entre varios usuarios
Definicin Un Sistema de Gestin de Bases de Datos (SGBD) es un software que permite manipular las bases de datos Construir Utilizar Mantener Reorganizar Sistema de Gestin de Bases de Datos Propiedades fundamentales
Independencia de los datos (OJO es muy importante) Acceso eficiente a los datos Integridad y seguridad de los datos Administracin de los datos Acceso concurrente y recuperacin en caso de crash
Los SGBD deben cumplir con las propiedades ACID para las transacciones: Atomicity (Atomicidad: las transacciones son atmicas) Consistency (Consistencia: una transaccin transforma un estado consistente de la BD en otro) Isolation (Aislamiento: las transacciones estn aisladas entre si) Durability (Durabilidad: despus que una transaccin ha sido confirmada ella persiste) Usuario final: El que interacta con la base de datos, por lo general a travs de aplicaciones e interfaces Usuario especialista: El que disea y programa aplicaciones para usuarios finales. DBA (Database Administrator): El que administra la base de datos.
Qu hace? Algunas definiciones Bases de datos I 105 Funciones y componentes principales de un SGBD DDL: lenguaje de definicin de datos DML: lenguaje de manipulacin de datos Procesador DDL Procesador DML Procesador Lenguaje Consulta Esquemas externos Datos y Metadatos Base de datos Peticiones DML planeadas Peticiones compiladas Peticiones optimizadas Optimizador Peticiones DML No planeadas Esquemas y transformaciones Manejador de transacciones Manejador de almacenamiento Componentes funcionales de un SGBD Metadatos o Diccionario de Datos (D.D): Contiene el esquema de la B.D, los usuarios, los permisos de acceso, etc. Son datos sobre los datos. Almacena la informacin que permite la traduccin entre los 3 niveles de la Arquitectura ANSI/SPARC* Optimizador de consultas: Define el plan de ejecucin de operaciones solicitadas por los usuarios, de tal manera que se lleven a cabo de la manera ms eficiente posible Manejador de transacciones: Controla el acceso y la concurrencia de operaciones
*Se ver mas adelante en el curso Componentes funcionales de un SGBD Manejador de almacenamiento tiene dos componentes: -Manejador de archivos recupera desde disco los bloques que contienen la informacin solicitada por una transaccin. -Manejador de buffer mantiene en memoria principal la informacin ms usada y decide cuando llevar a disco alguno de sus bloques. SGBD - Funciones Soporta DML: Lenguaje para actualizacin, almacenamiento y recuperacin de datos Ofrece optimizacin en la bsqueda de la informacin Soporta DDL : Lenguaje para definir los datos Metadatos (DD): Catlogo autodescriptivo, informacin sobre los objetos existentes en el sistema Datos sobre los datos Ventajas de un SGBD 1. Reutilizacin de datos y programas 2. Control de redundancia 3. Estandarizacin En qu sentido? 4. Consistencia (No hay redundancia) 5. Es posible equilibrar las cargas de los requerimientos (establecer prioridades) Ventajas de un SGBD 6. Integridad (Se cumplen las reglas establecidas Por quin?) 7. Seguridad 8. Rapidez de desarrollo 9. Mantenimiento y reingeniera: cambios en la estructura de datos sin cambiar los programas que los usan (hasta cierto punto) Desventajas de un SGBD 1. Tamao 2. Susceptibilidad a fallas (Discutible) 3. Complejidad en la recuperacin a fallas (Discutible) 4. Puede llegar a trabajar en forma lenta debido a la cantidad de verificaciones que debe hacer Niveles de abstraccin (ANSI/SPARC) Nivel interno gestin de acceso Nivel conceptual integridad-coherencia Nivel externo confidencialidad Esquema fsico Esquema lgico, resultado de un proceso de modelamiento Vista usuario 1 Vista usuario 2 Vista usuario n n esquemas externos Nivel de Visin Externo El ms cercano a los usuarios finales Percepcin de la base de datos por parte de los usuarios finales Tantas visiones como tipos de usuarios Cada visin de usuario final se puede caracterizar como un subesquema Nivel de Visin Cada visin puede proporcionar diferentes representaciones de los mismos datos
Visin Vendedor Fechas con formato: (dd-mm-yy) Visin Contador Fechas con formato: (yyyy-dd-mm) BD Nivel de Visin Algunas visiones de usuario pueden incluir: Datos Agrupados: Totales por Dpto. Datos Derivados: Sueldo total = bsico + comisin Datos Calculados: Edad de una persona (inferida a partir de su fecha de Nacimiento) Nivel de Visin Los conceptos de dato derivado y calculado podran usarse indistintamente para significar, en general, que un dato se genera a partir de otro(s) Pueden haber a su vez datos agregados derivados, datos agregados calculados etc. Nivel Conceptual Mediador entre los otros 2 niveles Interesante para el usuario especialista Se ocupa de los datos almacenados en la base de datos fsica y las relaciones entre ellos Descripcin semntica de los datos que conforman la base de datos Soporta a cada visin de usuario externa Nivel Conceptual Es una visin completa de todos los requerimientos y elementos de inters para la organizacin Debe incluir restricciones sobre los datos La descripcin del nivel conceptual no debe tener detalles dependientes del almacenamiento* Tiene asociado un lenguaje de alto nivel
* Sin embargo en algunos SGBD esto no se logra expresar de esta manera
Nivel Fsico Interno Ms cercano a la mquina Interesa al Administrador y al usuario Especialista Esquema fsico: Descripcin y tipos de datos: tamao y precisin, tipos de ndices y de estructuras de almacenamiento concretas que se manejan, de acuerdo con un SGBD particular Nivel Fsico Describe cmo los datos son almacenados en trminos de estructuras de datos particulares Se encarga de: - Reservar espacio para datos e ndices - Compresin de datos - Tcnicas de encriptamiento de datos
Independencia de los datos Es uno de los objetivos de la arquitectura ANSI/SPARC Permite modificar la definicin de un nivel sin afectar (en lo posible) el nivel inmediatamente superior Sin independencia de datos se requerira mucho esfuerzo para cambiar las aplicaciones de tal forma que se adaptasen a la nueva estructura de la base de datos. Hay dos tipos: fsica y lgica Independencia de los datos Fsica: inmunidad que tienen los usuarios y las aplicaciones ante los cambios en la forma de almacenar fsicamente los datos.
Conceptual o lgica: inmunidad que poseen los usuarios y las aplicaciones ante los cambios en la estructura lgica de la base de datos Independencia Fsica Se presenta entre el nivel conceptual y el nivel fsico Un cambio en el esquema fsico (usar otras estructuras de almacenamiento) no conduce a cambios en el esquema conceptual Ej. Cambio en la forma de almacenar un ndice: B+ por Hashing, con qu propsito se hace un cambio de este tipo? Inmunidad del esquema conceptual ante cambios del esquema fsico Independencia Lgica Se presenta entre el nivel de visin y el nivel conceptual Significa que un cambio en el nivel conceptual no debe conllevar a un cambio en el nivel de visin Es ms difcil de lograr. Por qu?
Independencia Lgica Algunos de los posibles cambios en el nivel conceptual: Adicin de nuevos elementos (atributos, entidades etc.) Eliminacin de elementos Puede afectar a subesquemas externos Tendencias de los SGBD Sistemas para el soporte para toma de decisiones (Data Warehouse) y/o con capacidades deductivas y bases de datos temporales Manejar informacin multimedial: Imgenes, audio, videos Bases de datos orientadas a objetos y objeto- relacionales Manejar informacin georeferenciada: Sistemas de Informacin Geogrficos (SIG) Manejo de informacin documental: Motores de bsqueda, sistemas para el manejo de documentos. Bases de datos nativas para XML
La descripcin completa de una base de datos se denomina esquema Cada visin de usuario tiene su esquema (subesquema), existe un esquema conceptual y uno interno Existen correspondencias (mappings) - Entre cada subesquema externo y el conceptual - Entre el esquema conceptual y el interno Estas correspondencias le permiten al SGBD por ejemplo saber un registro conceptual con qu registro(s) del nivel fsico se corresponde RESUMEN En teora debera existir un lenguaje de descripcin para cada nivel* En la prctica sin embargo en muchos SGBD el esquema conceptual queda fusionado con la especificacin del esquema interno.
* No siempre sucede as en los SGBD actuales RESUMEN Usos de una Base de Datos Entorno de operacin EXTRANET / INTRANET: El entorno actual Interaccin actual entre el WWW y la BD