Base de Datos - zeus.inf.ucv.clzeus.inf.ucv.cl/~jrubio/docs/ICI 344/Capitulo IV Parte 1.pdf · Base...

of 40 /40
Base de Datos P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA Programa de Aplicación Usuario A Usuario B Usuario N Bodega Insumo Proveedor Profesores: José Miguel Rubio L.

Embed Size (px)

Transcript of Base de Datos - zeus.inf.ucv.clzeus.inf.ucv.cl/~jrubio/docs/ICI 344/Capitulo IV Parte 1.pdf · Base...

  • Base de Datos

    P. UNIVERSIDAD CATLICA DE VALPARASOFACULTAD DE INGENIERAESCUELA DE INFORMTICA

    Programa de Aplicacin

    Usuario A

    Usuario B

    Usuario N

    Bodega

    Insumo

    Proveedor

    Profesores:Jos Miguel Rubio L.

  • Base de Datos 2

    ndice de Contenidos

    Introduccin a las Bases de Datos

    El Recurso Dato

    Dato v/s Informacin

    Historia de las Bases de Datos

    Componentes de un ambiente de Base de Datos

    Beneficios & Riesgos del uso de Base de Datos

    Sistema de archivos v/s Bases de Datos

    Bases de Datos y Desarrollo de Sistemas de Informacin

  • Base de Datos 3

    ndice de Contenidos

    Sistemas de Gestin de Base de Datos

    ConceptosPrincipales funcionesVentajas de utilizar SGBDConsideraciones del uso de un SGB

  • Base de Datos 4

    ndice de Contenidos

    Modelamiento de una Base de DatosModelo Conceptual: Entidad Relacin

    Asociaciones entre entidades, Cardinalidad de AsociacionesClaves candidatas y claves primarias, Atributos multivaluadosReglas del Negocio

    Modelo Lgico: RelacionalModelo LgicoTransformacin de entidades y relacionesProceso de Normalizacin de RelacionesAnlisis de vistas

  • Base de Datos 5

    ndice de Contenidos

    Metodologa para el desarrollo de una BD

    Identificacin y Formulacin de RequerimientosDiseo ConceptualDiseo LgicoDiseo Fsico

  • Base de Datos 6

    Definir Diseo de la Base de Datos

    Realidad Requisitos de Datos

    Diseo Conceptual

    Diseo Lgico

    Diseo Fsico

    Modelo Conceptual

    Modelo Lgico

    Modelo Fsico

    Esquema Conceptual

    Esquema Lgico

    Esquema Fsico

    Modelo Externo

  • Base de Datos 7

    Diseo Lgico

    El objetivo del Diseo Lgico es traducir el Diseo Conceptual (el que representa los requerimientos) en un Diseo Lgico que pueda ser implementado sobre un DBMS.

    Existen varias representaciones para el modelo lgico de la BD, entre las que se encuentran:

    Modelo JerrquicoReticularRelacionalModelo Orientado a Objeto

  • Base de Datos 8

    Modelos Jerrquicos

    Desarrollo de los modelos jerrquicos y del concepto de BD (1960-70):

    Un ejemplo de bases de datos jerrquica es IMS de IBM desarrollado a finales de los 60.

    Definicin de independencia, seguridad, etc.Definicin de lenguajes de Bases de Datos

    (1975) Creacin y trabajos del comit SPARC/DB (ANSI)

    Arquitectura de SGDB en tres niveles(hasta 1980) Desarrollo de los sistemas en red y jerrquicos avanzados

  • Base de Datos 9

    Modelos Jerrquicos

    En los modelos jerrquicos, los elementos tienen una relacin padre/hijo donde un hijo tiene un solo padre mientras que un padre puede tener varios hijos

  • Base de Datos 10

    Modelos Jerrquicos

    Este modelo representa un conjunto de asociaciones entre entidades, del tipo 1:1 y 1:M, es decir una jerarqua de entidades (o rbol).

    En una jerarqua un padre (registro propietario, UNO) puede tener muchos hijos (registro subordinado, MUCHOS) pero un hijo slo puede tener un padre.

    El rbol que se forma puede tener varios niveles, lo que significa que un hijo en un cierto nivel puede a su vez ser padre de otros hijos de nivel menor, pero en todos los niveles debe cumplirse que mientras cada padre puede tener varios hijos, cada hijo puede tener slo un padre.

  • Base de Datos 11

    Modelos Jerrquicos

    Todas las interrelaciones de los datos se basan en jerarquas. Los archivos se conectan entre smediante punteros fsicos (direccin fsica que indica donde puede encontrarse un registro sobre el disco) o campos aadidos a los registros individuales.

    Por ejemplo si tenemos un archivo de facturas (FACTURA) y otro de lneas de factura (LINEA_F), el padre (registro propietario) sera los datos de la factura y los hijos (registros subordinados) las lneas de la factura.

  • Base de Datos 12

    Modelos Jerrquicos

    En organizaciones jerrquicas se hace difcil expresar las relaciones en la cuales un hijo se relaciona con varios padres.

    Como contrapartida cuando las relaciones son jerrquicas, resulta fcil de implementar, modificar y mantener la base de datos.

  • Base de Datos 13

    Modelos Jerrquicos

    Ejemplo Distribuidora de Productos:CLIENTE

    NombreDireccin

    PRODUCTO

    #ProductoDescripcinCantidad

    ORDEN

    #OrdenFecha

    PROVEEDOR

    #Proveedor, Ranking, Precio, Tpo-Entrega

  • Base de Datos 14

    Modelos Jerrquicos

    Una restriccin importante de este modelo es la existencia de un padre nico para cada entidad.

    En el ejemplo anterior, las entidades ORDEN y PRODUCTO tienen una asociacin 1:M, siendo que un producto puede estar asociado con muchas rdenes, es decir, la asociacin real es M:N, pero stas no se pueden implementar en una jerarqua.

    La restriccin anterior genera una alta redundancia dentro de este modelo, donde aparecen ocurrencias jerrquicas de la base de datos que corresponderan al modelo entregado en la figura anterior para la Distribuidora de Productos.

  • Base de Datos 15

    Modelos Jerrquicos

    Ejemplo Distribuidora de Productos:

    Cliente A

    Orden A.1 Orden A.2

    Cliente B

    Orden B.1

    Producto X

    Producto X

    Producto Z

    Producto Y

    Prov. Q Prov. Q Prov. PProv. P Prov. Q Prov. Q Prov. R

  • Base de Datos 16

    Modelos Jerrquicos

    Este modelo presenta variados problemas al realizar mantencin a la base de datos.

    Al ingresar un nuevo PRODUCTO, es necesario tener un CLIENTE y una ORDEN asociada; Al eliminar un PRODUCTO se eliminan todos los PROVEEDORES asociados, pudindose perder informacin relevante; Al modificar algn atributo, por ejemplo cambiar el Ranking de un PROVEEDOR es necesario hacerlo en todas las ocurrencias donde est el PROVEEDOR, lo cual es lento y puede producir inconsistencias si es que no se actualizan todas las ocurrencias.

  • Base de Datos 17

    Modelos Jerrquicos

    Las limitaciones al modelo radica en que no todas las interrelaciones se pueden representar en una estructura jerrquica.

    Se intentan solucionar desarrollando los sistemas de base de datos en red.

  • Base de Datos 18

    Modelos de Red

    Este modelo representa a los datos como un conjunto (set) de tipos de registros y asociaciones entre ellos.

    Se utiliza como estructura de datos un grafo, por lo que un tipo de registro puede tener numerosas asociaciones con otros tipos de registros, del tipo 1:1, 1:M y M:N.

    Resulta ms flexible que el jerrquico.

    Es una extensin del modelo jerrquico, en la que un hijo puede tener ms de un padre. Este modelo es menos restrictivo que el jerrquico y los sistemas de base de datos utilizan punteros fsicos tambin.

    La desventaja es que en este tipo de modelo de datos su estructura comienza a tomar apariencia de tela de araa con apuntadores que salen en todas direcciones.

  • Base de Datos 19

    Modelos de Red

    A principios de los 70 se desarrollaron y se comercializaron varios SGBD en red y este modelo de datos se normaliz como el modelo CODASYL.

    Ejemplos de bases de datos en red son ADABAS, TOTAL, IMAGE,...

  • Base de Datos 20

    Modelos de Red

    Ejemplo Distribuidora de Productos:CLIENTE

    NombreDireccin

    PRODUCTO

    #ProductoDescripcinCantidad

    ORDEN

    #OrdenFecha

    PROVEEDOR

    #Proveedor, Ranking, Precio, Tpo-Entrega

    LINEA-ORDEN

    Cantidad

    PROD-PROV

    PrecioTpo-Entrega

  • Base de Datos 21

    Modelos de Red

    En este modelo es posible representar asociaciones M:N, para ello es necesario transformarlas en dos asociaciones 1:M unidas a travs de un tipo de registro de interseccin denominado NUB. Con esto se elimina la redundancia generada en el modelo jerrquico.

    Los problemas de insertar, borrar y modificar la base de datos planteados en el modelo jerrquico, se simplifican enormemente.

    Solo hay que tener cuidado al borrar registros que intervienen en asociaciones M:N, pues es posible que se creen inconsistencias si es que no se eliminan los registros NUB involucrados.

  • Base de Datos 22

    Modelos Orientados a Objetos

    Define una base de datos en trminos de objetos, propiedades y sus operaciones.

    Los objetos con una misma estructura y comportamiento pertenecen a una misma clase, y las clases se organizan en jerarquas.

    Los modelos relacionales han extendido sus modelos para incorporar conceptos orientados a objetos.

  • Base de Datos 23

    Modelo de Datos Relacional

    En 1970, Edgard F. Cood publica un artculo en el que argumenta que los datos deberan relacionarse mediante interrelaciones naturales, lgicas e inherentes a los datos, ms que mediante punteros fsicos.

    Cood propone as, un modelo simple de datos en el que todos ellos se representaran en tablas constituidas por filas y columnas.

    A estas tablas se les dio el nombre de relaciones y por eso se denomin al modelo relacional.

  • Base de Datos 24

    Modelo de Datos Relacional

    Cood tambin propuso dos lenguajes para manipular los datos en las tablas:

    El lgebra relacionalEl clculo relacional.

    La manipulacin lgica de los datos tambin hace factible la creacin de lenguajes de consulta ms accesibles para un usuario no especialista en programacin.

    Actualmente los sistemas relacionales son un estndar en el mercado, especialmente en operaciones comerciales.

    Ejemplos de sistemas de bases de datos relacionales son: INFORMIX, DB2, ORACLE, SYBASE, DBASE, FOXPRO, INGRES, MYSQL, MS SQL SERVER, ...

  • Base de Datos 25

    Modelo de Datos Relacional: Principales Caractersticas

    Resulta ms eficiente que el modelo jerrquico y de red.

    La Base de Datos es representada como una coleccin de tablas (relaciones), las que se pueden almacenar individualmente en forma de archivo.

    Cualquier lnea determinada de relacin se le llama tupla.

    Cada columna de la relacin representa un dominio diferente.

  • Base de Datos 26

    Modelo de Datos RelacionalEl modelo relacional es totalmente diferente a los modelos jerrquico y de red, no slo en su arquitectura sino que tambin en los siguientes puntos:

    Independencia en la implementacin:No es necesario conocer como se representan fsicamente los datos (no se necesita trabajar con punteros, listas enlazadas, grafos, etc.)

    Terminologa: El modelo relacional tiene su propia terminologa.

    Claves lgicas como punteros:Usa claves primarias y forneas para representar las asociaciones entre dos archivos. No obstante, debido a la independencia en la implementacin la base de datos fsica puede usar punteros u otros mtodos, pero stos son transparentes para el usuario.

    Teora de Normalizacin: Esta teora fue desarrollada en el contexto del modelo relacional, pero hoy en da sus propiedades han sido extendidas a otros modelos. Consiste en un conjunto de propiedades que deben cumplir los datos para lograr un diseo de base de datos libre de dependencias y con el mnimo de redundancia.

    Lenguaje de programacin comprensivo: Existen lenguajes simples para accesar las bases de datos relacionales, son lenguajes que permiten manipular datos como grupos o archivos, en vez de un registro a la vez como los lenguajes procedurales tradicionales.

  • Base de Datos 27

    Modelo de Datos Relacional: Resumen Histrico

    Desarrollo del modelo relacional (1970-1990):(1970-78) Desarrollo del modelo terico

    Definicin del modelo (Codd 1970-72)lgebra y Clculo relacionalPrimeros problemas de diseo

    (1975- 1980) Desarrollo de los primeros SGBD relacionales

    IBM (System R)SQL (1975)DB2, SQL/DS, OS/2, SQL/200 etc..Proyecto INGRES

  • Base de Datos 28

    Modelo de Datos Relacional: Resumen Histrico

    (1980-1990) Desarrollo de los grandes sistemas relacionalesSQL comercialDesarrollo de generadores de aplicacionesSistemas distribuidosEstructuras cliente/servidor (lenguajes visuales)Modelo relacional orientado a objetos

  • Base de Datos 29

    Modelo de Datos Relacional: Resumen Histrico

    Nuevos modelos de representacin de informacin (1980-1990):Algunos problemas en el modelo relacional

    La semntica de los items complejos se recoge malConexin de los datos existentes en la base de datos con informacin inteligente

    Representacin unificada de reglas y datosBases de conocimientoSistemas Inteligentes de Informacin

  • Base de Datos 30

    Modelo de Datos Relacional: Resumen Histrico

    Nuevos modelos de representacin de informacin (1980-1990):Algunos problemas en el modelo relacional

    Existencia de bancos de datos con informacin no estructurada:

    Bases de datos documentalesSistemas de recuperacin de informacin

    Los nuevos problemas (1990-2000): Nuevas Aplicaciones1.- Tratamiento de grandes volmenes de datos de imgenes2.- Bases de datos para sistemas de ayuda al diseo3.- La obtencin de informacin elaborada4.- Bases de datos que soporten informacin compleja.

  • Base de Datos 31

    Modelo de Datos Relacional: Resumen Histrico

    Nuevos Desafos:1.- Tecnologa de bases de datos multimedia2.- Problemas de bases de datos heterogneas3.- Gestin de consultas expresadas de forma imprecisa4.- Inicio de nuevas formas de acceder a la informacin (Minera de Datos)

  • Base de Datos 32

    Modelo Relacional

    Creado por Cood representa los datos en forma de tablas o relaciones, est basado en fundamentos matemticos lo que le da solidez a las operaciones que se realizan sobre las relaciones.

    Comprende tres componente:Estructura de los datos: Los datos son organizados en relaciones.La Manipulacin de los datos: Lenguaje poderoso como SQL son usados para manipular los datos almacenados en las relaciones.La Integridad de los datos: Cuenta con facilidades que mantienen la integridad de los datos cuando estos son manipulados.

  • Base de Datos 33

    Propiedades de las Relaciones

    1. La interseccin de cada fila y columna es atmico lo que implica que no pueden existir grupos repetidos.

    2. Las columnas deben tener el mismo dominio.

    3. Cada fila es nica y esto se garantiza por la existencia de la clave primaria, la cual es nica para todas las ocurrencias.

    4. Cada columna tiene un nombre distinto y el orden de las columnas no tiene importancia.

    5. El orden de las filas es irrelevante.

    6. Las relaciones deben ser bien estructuradas lo que significa que contiene redundancia mnima y se puede realizar insercin, modificacin y eliminacin sin generar errores o inconsistencias, tambin llamadas anomalas.

  • Base de Datos 34

    Modelo Relacional

    Se define una tupla como el conjunto de valores que componen una fila de una relacin.

    Una tupla es equivalente a la ocurrencia de un registro dentro de un archivo. Una n-tupla, es una tupla compuesta de n dominios, siendo n el grado de la relacin.

    Un dominio es el conjunto de valores posibles para una columna. La cardinalidad se define como el nmero de tuplas de una relacin.

    Una base de datos relacional, est formada entonces por un conjunto de relaciones o tablas, las cuales estn asociadas entre s (relationship es el trmino usado en ingls para definir una asociacin o relacionamiento) a travs de columnas que tienen en comn.

  • Base de Datos 35

    Modelo Relacional

    Ejemplo de Relacional: Se trata de una relacin de grado tres y cardinalidad cuatro.

    Relacin INSUMO

    Para representar una relacin en una forma ms resumida se utiliza la siguiente notacin :

    INSUMOS (CODIGO-INS, NOMBRE-INS, MARCA)

    ParkerLpizI4

    XeroxPapelI3

    BICLpizI2

    PhillipsAmpolletaI1

    MARCANOMBRE-INSCODIGO-INS

    DominiosNombre de la Relacin

  • Base de Datos 36

    Modelo Relacional

    Cada tupla est compuesta de uno o ms dominios.

    Para entender mejor el concepto de dominio, analicemos el dominio MARCA de la relacin INSUMO, ste corresponde al conjunto de todas las marcas vlidas, incluidas aquellas que actualmente no aparecen como valores de datos en la relacin INSUMO.

    Es importante diferenciar un dominio de una columna o atributo.

    Un atributo representa el uso de un dominio dentro de una relacin.

  • Base de Datos 37

    Modelo Relacional

    Relacin Producto-Ensamblado

    El producto P1 est formado por dos unidades del producto P10 y por una unidad del producto P20, el producto P5 por cuatro unidades de P10, etc. En este caso, hay tres atributos (PRODUCTO, COMPONENTE y CANTIDAD) y dos dominios (CODIGO-PRODUCTO y CANT)

    6P20P9

    5P40P8

    3P38P8

    1P30P8

    4P10P5

    1P20P1

    2P10P1

    CantidadComponenteProducto

  • Base de Datos 38

    Modelo Relacional

    Cada tupla en una relacin es nica, y debe ser posible definir una clave primaria o identificador que permita asegurar esta unicidad.

    Por ejemplo, en la relacin INSUMO la clave primaria puede ser el atributo CODIGO-INS. Es posible que la clave primaria sea una combinacin de atributos.

    El proceso de manipular una base de datos relacional es bastante ms simple que en los dos modelos anteriores. Al representarse los datos de una sola forma se requiere un solo operador para cada funcin bsica (leer, insertar, borrar y modificar).

  • Base de Datos 39

    Modelo Relacional

    Suponer un Sistema de Compras que maneja la informacin sobre la adquisicin de insumos de una empresa a diferentes proveedores, a travs de tres tablas.

    Proveedor Insumo

    Orden de Compra

    QuillotaZamoraP3

    ValparasoMartnezP2

    ViaAlvarezP1

    CiudadNombre-ProvCodigo-Prov

    ParkerLpizI4

    XeroxPapelI3

    BicLpizI2

    PhillipsAmpolletaI1

    MarcaNombre-InsCodigo-Ins

    200I2P3

    400I2P2

    300I1P2

    400I3P1

    200I2P1

    300I1P1

    CANTIDADCODIGO-INSCODIGO-PROV

  • Base de Datos 40

    Modelo Relacional

    Es posible hacer un paralelo entre la terminologa usada en el modelo relacional, con la utilizada en archivos tradicionales (pero dejando en claro que la teora relacional es mucho ms precisa en su definicin):

    CampoDominio (Columna)

    RegistroTupla (Fila)

    ArchivoRelacin (Tabla)

    Archivos TradicionalesModelo Relacional