preparado por: miguel cotaña 1cotana.informatica.edu.bo/downloads/bd-teoria.pdf · redundancia...

92
Preparado por: Miguel Cotaña 1

Upload: dokhanh

Post on 04-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Preparado por: Miguel Cotaña 1

BASES DE DATOSBASES DE DATOS

Una BD es una colección de datos operacionales almacenados sin redundancia perjudiciales y utiliza-

Preparado por: Miguel Cotaña 2

redundancia perjudiciales y utiliza-das para una o mas aplicaciones, de una empresa en particular

…..empresa y datos…..empresa y datos

� Una compania manufacturera

� Un banco

� Datos de Producto

� Datos de cuenta

� Datos de paciente

Preparado por: Miguel Cotaña 3

� Un hospital

� Una universidad

� Una dependencia del gobierno

� Datos de paciente

� Datos de estudiantes

� Datos de planifacion

ARQUITECTURA DE SBDARQUITECTURA DE SBD� NIVEL EXTERNO: Describe solo parte de

la BD(mundo real)� NIVEL CONCEPTUAL: Describe que

datos son almacenados en la BD y las

Preparado por: Miguel Cotaña 4

datos son almacenados en la BD y las relaciones que existen entre los datos. (mundo de ideas)

� NIVEL INTERNO: Describe el almacenamiento fisico de los datos(mundo de datos)

….niveles….niveles

� El nivel internoes el mas cercano al almacenamiento fisico, es decir, es el que se ocupa de la forma como se almacenan fisicamente los datos.

Preparado por: Miguel Cotaña 5

datos.

� El nivel externoes el mas cercano a los usuarios, es decir, es el que se ocupa de la forma como los usuarios individuales perciben los datos.

� El conceptual es el nivel de mediacion

SISTEMA DE BD (SBD)SISTEMA DE BD (SBD)

Un SBD es un siste-ma cuyo proposito general es el de

� DATOS: Un SBD puede comprender 1 o varias BD´s.

� USUARIOS:personas

Preparado por: Miguel Cotaña 6

general es el de almacenar y recu-perar informacion inherente a la organización donde opera.

� USUARIOS:personas que accesan a las BD.

� HARD: Donde recide las BD.

� SOFT:Se lo conoce como DBMS.

USUARIOSUSUARIOS

� USUARIO FINAL: Realiza consultas o mapeos de subconjuntos de la BD.

� PROGRAMADOR DE APLICACIONES:

Preparado por: Miguel Cotaña 7

� PROGRAMADOR DE APLICACIONES:Escribe los programas.

� DBA: Usuario sofisticado, hace las veces de diseñador y consolidador del sistema

CARACTERISTICAS DE LOS CARACTERISTICAS DE LOS SBDSBD

� Control de la redundancia.

� Evitar la inconsistencia

� Compartimiento de los datos

Preparado por: Miguel Cotaña 8

� Compartimiento de los datos

� Integridad y seguridad de los datos

� Estandarizar la informacion en el sistema

� Independencia de datos.

TIPOS DE BASE DE DATOSTIPOS DE BASE DE DATOS

� Base de Datos Jerárquica

� Base de Datos Relacional

� Base de Datos de Red

Preparado por: Miguel Cotaña 9

� Base de Datos de Red

� Base de Datos Orientada a Objetos

� Base de Datos Distribuidas

� Base de Datos Objeto Relacional

� Base de Datos Declarativas (deductivas y funcionales)

1.2 1.2 MODELMODELADOADO

� El modelado es la etapa en donde identificamos y “dibujamos” los conjuntos de datos que el usuario requiere en un SI.

El diseño Logico, es la etapa donde

Preparado por: Miguel Cotaña 10

� El diseño Logico, es la etapa donde transformamos ese modelo en un diseño relacional.

� El diseño fisico, es donde se especifica caracteristicas propias como tipo de datos, longitud, etc.

MODELO DE OBJETOSMODELO DE OBJETOS

� La tecnologia OO, proporciona una forma practica y productiva de desarrollo de Soft.

� Se trata de pensar de modo abstracto, acerca del problema empleando conceptos del

Preparado por: Miguel Cotaña 11

Se trata de pensar de modo abstracto, acerca del problema empleando conceptos del mundo real y no conceptos de computadoras.

� Para lograr un software adecuado para el cliente, existen el AOO, DOO y POO

…….…….MODELO DE OBJETOSMODELO DE OBJETOS

• La tecnologia orientada a objetos se apoya en los solidos fundamentos de la ingenieria, cuyos elementos reciben el nombre global

Preparado por: Miguel Cotaña 12

cuyos elementos reciben el nombre global de modelo de objetos.

• Abarca los principios de abstraccion, encapsulacion, modularidad, jerarquia, tipos, concurrencia y persistencia.

1.3 BASE DE DATOS 1.3 BASE DE DATOS RELACIONALRELACIONAL

Este es el modelo mas utilizado para modelar problemas reales y administrar datos dinamicamente.

Preparado por: Miguel Cotaña 13

datos dinamicamente.

Su idea fundamental es el uso de “relaciones”. Durante su diseño, una BD relacional pasa por el proceso de normalizacion.

DISEÑO CONCEPTUALDISEÑO CONCEPTUAL

MODELO E-R

El modelo de datos entidad-relacion (E-R) se basa en una percepcion del mundo real

Preparado por: Miguel Cotaña 14

se basa en una percepcion del mundo real que consiste en un conjunto de objetos basicos llamados entidades y relaciones entre estos objetos.

…..modelo E…..modelo E--RR

� Entidad: un objeto, distinguible de otros objetos. Cosas que se pueden identificar claramente. Ej. Ximena Mendez y C.I.

Preparado por: Miguel Cotaña 15

claramente. Ej. Ximena Mendez y C.I.� Conjunto de entidades: Conjunto de

entidades del mismo tipo. Ej.Funcionario� Atributo: Propiedad de una entidad.

Ej.Funcionario(nombre,edad,direccion)

Entendiendo los conceptos de: Entidad, Conjunto de Entidades y Atributo.

� Dominio de un atributo: Conjunto de valores válidos para el atributo. Ej:

Dominio del nombre: texto o strings

Preparado por: Miguel Cotaña 16

Dominio de edad: enteros positivos

� RELACIONAMIENTO:Asociación entre 2 entidades. Ej:

Patty trabaja en el proyecto Nro.2

….conceptos y grafica….conceptos y grafica

� Conjunto de relaciones: Conjunto de relacionamientos del mismo tipo.

Ej:

Preparado por: Miguel Cotaña 17

Funcionario TRABAJA en el Proyecto

FUNCIONARIO PROYECTOTRABAJAen

DIRECCION

EDAD

NOMBRECODIGO

NOMBRE

DEPTO

DISEDISEÑÑO DE BDO DE BD

� METODOLOGIA DE DISEÑO:

Consiste en un conjunto de tecnicas

Preparado por: Miguel Cotaña 18

conjunto de tecnicas que se aplican de acuerdo a una secuencia de pasos.

DISEDISEÑÑO LOGICOO LOGICO

� Transformación del diagrama E-R extendido para elementos de un modelo logico.Los modelos logicos son:

Preparado por: Miguel Cotaña 19

� Los modelos logicos son:JerárquicoRelacionalDe redOrientado a Objetos

TABLA RELACIONALTABLA RELACIONAL

CODIGO NOMBRE SEXO EDAD

A1 Ximena F 21

FUNCIONARIOATRIBUTOS

TU

Preparado por: Miguel Cotaña 20

A1 Ximena F 21

A2 Marcos M 26

A3 Zulma F 28

UPLAS

REPRESENTACION LOGICA:

FUNCIONARIO(codigo,nombre,sexo,edad)

….modelo relacional….modelo relacional

� Modelo formal por naturaleza, estructuras de datos simples y uniformes.

� Este modelo se basa en la teoria matematica

Preparado por: Miguel Cotaña 21

� Este modelo se basa en la teoria matematica de conjuntos, donde los datos son representados por medio de una colección de relaciones o tablas.

� Es el modelo mas utilizado comercialmente

OBJETIVOS DEL M.R.OBJETIVOS DEL M.R.

� Proveer esquemas de facil utilizacion� Mejorar la independencia lógica y fisica de datos� Proveer a los usuarios de lenguajes de

manipulación de BD de alto nivel, permitiendo el

Preparado por: Miguel Cotaña 22

manipulación de BD de alto nivel, permitiendo el acceso a usuarios sin experiencia.

� Optimizar el acceso a BD� Mejorar la integridad y seguridad de los datos� Proveer un enfoque metodológico para el diseño

de esquemas

CARACTERISTICAS DE CARACTERISTICAS DE BASES DE BASES DE DATOS RELACIONALDATOS RELACIONAL

� Una BD, puede ser organizada en relaciones

� Se caracteriza por utilizar una tabla bidimensional, para la organización de los

Preparado por: Miguel Cotaña 23

bidimensional, para la organización de los datos (filas y columnas)

� Cada fila contiene la informacion a una entrada en la BD.

� Cada columna define un item de la BD.

LENGUAJES DE BDLENGUAJES DE BD

� Lenguaje de definicion de datos(LDD)Usualmente el LDD incorpora la definicion de constraints y la definicion de vistas.

� Lenguaje de manipulacion de datos(LMD)

Preparado por: Miguel Cotaña 24

� Lenguaje de manipulacion de datos(LMD)- Alto nivel: orientada a conjuntos- Bajo nivel: orientada a registros

� Lenguaje huespedLenguaje de programacion en el cual comandos del LMD son embutidos.

REPRESENTACION DE EREPRESENTACION DE E--RR

VENDEDOR PRODUCTOSVENDE

CODVEN NOMBRE SUELDO

CANTIDAD

CANTIDADPRE_UNITCODPROD

Preparado por: Miguel Cotaña 25

VENDEDOR PRODUCTOS

PROVEEDOR

PROVEECLIENTE

FECHA-VEN

COD_CLI

NOMBRE FONO

NOMBRE DIRECCIONFONO

COD_PROV

TECNICAS UTILIZADASTECNICAS UTILIZADAS

� Tecnica de analisis de datos para tratar la semántica de datos desde el punto de vista del usuario.

� Tecnica para el mapeamiento(definen

Preparado por: Miguel Cotaña 26

Tecnica para el mapeamiento(definen correspondencias entre los esquemas de los varios niveles) realizado a partir de los resultados del analisis de los datos a una implementación de BD

Diseño Conceptual modelo E-R

Diseño Logico modelo relacional

Diseño Fisico modelo relacional

RESTRICCIONES DERESTRICCIONES DEASIGNACIONASIGNACION

(Mapping)(Mapping)

Preparado por: Miguel Cotaña 27

(Mapping)(Mapping)

RESTRICCIONES DE ASIGNACIRESTRICCIONES DE ASIGNACIÓÓNN

� Una planificación E-R de una empresa pueden definir ciertas restricciones: CARDINALIDAD, que expresan el número de entidades con las que puede asociarse otra entidad mediante un conjunto

Preparado por: Miguel Cotaña 28

puede asociarse otra entidad mediante un conjunto de entidades.

� Para un conjunto binario de relaciones R entre los conjuntos de entidades A y B, la cardinalidad de asignación debe ser una de las siguientes:

……restricciones de asig.

� Una a una. Una entidad en A esta asociada a lo sumo con una entidad en B, y una entidad en B esta asociada a lo sumo con

Preparado por: Miguel Cotaña 29

entidad en B esta asociada a lo sumo con una entidad en A.

� Una a muchas. Una entidad en A esta asociada con numero cualquiera de entidades en B. Una entidad en B puede asociarse a lo sumo con una entidad en A

……restricciones de asig.

� Muchas a una. Una entidad en A esta asociada a lo sumo con una entidad en B, sin embargo, puede estar asociada con un numero cualquiera de entidades en A.

Preparado por: Miguel Cotaña 30

entidades en A.

� Muchas a muchas. Una entidad en A esta asociada con numero cualquiera de entidades en B, y una entidad en B esta asociada con un numero cualquiera de entidades en A

CARDINALIDAD: grado de asociaciCARDINALIDAD: grado de asociacióónn

MUJERCasado con

1:1HOMBRE

N:1

1 1

1N

Preparado por: Miguel Cotaña 31

PROVEEDOR EMPRESAProvee para

N:M

PADREHIJO Descend.1N

N M

TIPOS DE TIPOS DE RELACIONAMIENTORELACIONAMIENTO

FUNCIONARIO FUNC_JEFE

UNARIO

Preparado por: Miguel Cotaña 32

PROVEEDOR PIEZA

FUNCIONARIO

provee

FUNC_JEFE

CANTIDAD

BINARIO

….tipos de rel….….tipos de rel….

TERNARIO

Preparado por: Miguel Cotaña 33

PROVEEDOR PIEZA

FUNCIONARIO

Proveepara

EjemploEjemploUn cliente tiene la opción de que se cargue su cuenta automaticamente en

el momento de la compra (combustible, mantenimiento, o estacionamiento) o de que se le envie mensualmente una factura en papel. En cualquier caso, los clientes pueden pagar con dinero en efectivo, tarjeta de credito o cheque personal. En la estación de servicio “amigos” el combustible se vende por galon a un precio que depende de que el combustible sea gasolina, normal o especial. Los

Preparado por: Miguel Cotaña 34

depende de que el combustible sea gasolina, normal o especial. Los servicios estan cotizados de acuerdo con el costo de los insumos y de la labor realizada. El estacionamiento se vende segun tarifas que pueden ser diarias, semanales o mensuales. Los precios del combustible, servicios de mantenimiento, partes y estacionamiento pueden variar; solamente el gerente de la estacion puede ingresar o cambiar un precio. A su criterio, el gerente puede dar un descuento en sus compras a un cliente en particular; este descuento puede variar de un cliente a otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las operaciones

1.4 BASE DE DATOS O.O.1.4 BASE DE DATOS O.O.

Para todas las cosas orientadas a objetos, el marco de referencia conceptual es el modelo de objetos. Se menciono 4 elementos en este modelo:

Preparado por: Miguel Cotaña 35

elementos en este modelo:

- Abstracción- Encapsulamiento- Modularidad- Jerarquia

a)a) ABSTRACCIONABSTRACCION

Una abstraccion denota las caracteristicas esenciales de un objeto que lo distinguen de todos los demas

Preparado por: Miguel Cotaña 36

que lo distinguen de todos los demas tipos de objeto y proporciona asi fronteras conceptuales nitidiamente definidas respecto a la perpectiva del observador.

Preparado por: Miguel Cotaña 37

b)b) ENCAPSULAMIENTOENCAPSULAMIENTO

Es el proceso de almacenar en un mismo compartimiento los elementos de una abstraccion que constituyen su

Preparado por: Miguel Cotaña 38

abstraccion que constituyen su estructura y su comportamiento

Preparado por: Miguel Cotaña 39

c)c) MODULARIDADMODULARIDAD

La modularidad es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de modulos cohesivos y

Preparado por: Miguel Cotaña 40

en un conjunto de modulos cohesivos y debilmente acoplados.

Preparado por: Miguel Cotaña 41

d)d) JERARQUIAJERARQUIA

La jerarquia es una clasificacion u ordenacion de abstracciones.

Preparado por: Miguel Cotaña 42

Preparado por: Miguel Cotaña 43

POO, DOO, AOOPOO, DOO, AOO

� POO: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos.

� DOO: Es un método de diseño que abarca el

Preparado por: Miguel Cotaña 44

� DOO: Es un método de diseño que abarca el proceso de descomposición y una notación para describir los modelos lógico y fisico.

� AOO: Es un método de analisis que examina los requisitos desde la perpectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.

PARADIGMA O.O.PARADIGMA O.O.

La Orientacion a Objetos (OO), es una tecnica para el modelado de sistemas como un conjunto de objetos relacionados que interactuan entre si. La OO es similar a la

Preparado por: Miguel Cotaña 45

interactuan entre si. La OO es similar a la forma en que las personas observan su entorno.

La OO es un enfoque de desarrollo de software que organiza tanto el problema como su solucion.

OBJETOSOBJETOS

OBJETO. Es la representacion abstraida de las cosas

Desde la perspectiva de la cognición humana un objeto es:

Preparado por: Miguel Cotaña 46

- Una cosa tangible y/o visible.- Algo que puede comprenderse.- Algo hacia lo que se dirige una acción o

pensamiento.

Todo lo que hay en el mundo seran objetos?

OBJETOSOBJETOS

Los objetos tienen atributos y operaciones.

Los atributos son sus caracteristicas y sus operaciones (servicios, metodos) son las acciones

Preparado por: Miguel Cotaña 47

operaciones (servicios, metodos) son las acciones que el objeto puede realizar

La definicion de objetos implica la descripcion de atributos, comportamientos, operaciones y mensajes

EJEMPLOEJEMPLO

TOYOTA: CORONA OBJETO

Preparado por: Miguel Cotaña 48

- Placa- Modelo- Color- Nro-motor

- Frenar()- Cambiar-caja()

ATRIBUTOS

OPERACIONES

Comportamiento del objeto

Para verificar un objeto previamente identificado se pueden utilizar los siguientes criterios:

- Relevancia para el dominio del

Preparado por: Miguel Cotaña 49

- Relevancia para el dominio del problema.

- Existencia independiente- Atributos y Operaciones

CLASECLASE

Clase es una agrupacion de objetos con los mismos tipos de caracteristicas

Preparado por: Miguel Cotaña 50

Los objetos son instancias de las clases.

Las clases definen atributos y operaciones para sus objetos, no para ellas mismas.

……….CLASES Y OBJETOS……….CLASES Y OBJETOSCLASE. Es un conjunto de objetos que comparten una

estructura comun y un comportamiento común.

Preparado por: Miguel Cotaña 51

TIPOS DE RELACION TIPOS DE RELACION ENTRE CLASESENTRE CLASES

asociacion

agregacion (tiene)

Preparado por: Miguel Cotaña 52

composicion (incluye)(parte de)

dependencia

navegacion (es un)

VENDEDOR ORDEN_COMPRA

recibe

incluye tiene

Preparado por: Miguel Cotaña 53

ITEM_SOLICITADO CLIENTE

GENERALIZACIONGENERALIZACION

Es el proceso (durante las etapas de analisis y diseno de sistemas) de identificar y definir los atributos y

Preparado por: Miguel Cotaña 54

identificar y definir los atributos y operaciones comunes en una coleccion de objetos.

• Permite identificar nuevas clases• Reduce la redundancia• Promueve la reutilizacion de codigo

HERENCIAHERENCIA

Es el mecanismo para definir una clase en terminos de una clase ya existente.

Preparado por: Miguel Cotaña 55

Una subclase hereda los miembros de una superclase

VEHICULOprecio

Veloc_max

Frenar()

Preparado por: Miguel Cotaña 56

AUTOdescapotable

turbo

subir()

CAMIONcapacidadtraccion

cargar()

ESPECIALIZACION Y ESPECIALIZACION Y GENERALIZACIONGENERALIZACION

Mientras la generalizacion se concentra en las clases mayores del sistema y ayuda a encontrar nuevas clases, la especializacion

Preparado por: Miguel Cotaña 57

encontrar nuevas clases, la especializacion se concentra en crear clases mas especificas.

La especializacion es herencia con la adicion o modificacion de operaciones para resolver un problema especifico.

ESPECIALIZACION Y ESPECIALIZACION Y GENERALIZACIONGENERALIZACION

Generalizacion

Preparado por: Miguel Cotaña 58especializacion

CLASIFICACICLASIFICACIÓÓNNIdentificar clases y objetos es fundamental en el

DOO. Implica descubrimiento e invención.

Preparado por: Miguel Cotaña 59

ABSTRACCIONES CLAVEABSTRACCIONES CLAVEEs una clase u objeto que forma parte del vocabulario

del dominio del problema.

Preparado por: Miguel Cotaña 60

SISTEMAS DE GESTIONSISTEMAS DE GESTIONDEDE

BASES DE DATOSBASES DE DATOS

Preparado por: Miguel Cotaña 61

BASES DE DATOSBASES DE DATOS

SISTEMA DE BDSISTEMA DE BD

Preparado por: Miguel Cotaña 62

SGBD BD

Procesador de consulta Metadatos(DD)+

Archivos de datos

OBJETIVOS de SGBDOBJETIVOS de SGBD

� Proveer un ambiente que sea adecuado y eficiente para recuperary almacenarinformación de la Base de Datos.

Preparado por: Miguel Cotaña 63

información de la Base de Datos.

� Gestionar grandes volumenes de información.

� Proveer seguridad a la informacion almacenada en las Bases de Datos.

CARACTERCARACTERÍÍSTICAS PARA STICAS PARA USAR UN SGBDUSAR UN SGBD

REDUNDANCIA

� Sin SGBD: La misma información es almace-nada en diversos archivos

INTEGRIDAD� Sin SGBD: Ej: Una consulta

que revele que un empleado trabajó 400 horas/semana. Las reglas a ser obedecidas estan en cada una de las aplicaciones.

Preparado por: Miguel Cotaña 64

nada en diversos archivos privados.

� Con SGBD: Redundancia es reducida al mínimo, inconsistencias son evita-das por la integración de datos.

cada una de las aplicaciones.� Con SGBD: Asegura que la

información de la BD es correcta. Una vez que sean definidas las reglas para el SGBD, estas reglas valen para todas las aplicaciones automáticamente.

…….usar un SGBD…….usar un SGBD

TOMA DE DECISIONES

� Sin SGBD:La información necesaria estan esparcidas en archivos pertenecientes a

ACCESO A INFORMACION

� Sin SGBD: Los formatos de archivos dependen del

Preparado por: Miguel Cotaña 65

en archivos pertenecientes a sistemas distintos.

� Con SGBD: La integración de los datos facilita la obtención rapida de las informaciones(ayuda en la toma de decisiones)

de archivos dependen del lenguaje o del producto usado para generarlos

� Con SGBD: Los formatos de archivos son accedidos por el SGBD, no por programas de aplicación

…….usar un SGBD…….usar un SGBD

INDEPENDENCIA DE LOS DATOS

� Sin SGBD: Los programas de aplicación dependen de los formatos del archivo.

SEGURIDAD Y PROTECCION

� Sin SGBD: Formas estandares de seguridad

Preparado por: Miguel Cotaña 66

los formatos del archivo. � Con SGBD: Los farmatos de

registros se almacenan en la misma BD(junto con los datos) y son accedidos por el SGBD, no por el programa de aplicación.

estandares de seguridad utilizando codigos y señas

� Con SGBD: Hay esquema adicional de proteccion: el usuario ve la BD por medio de “ventanas”

…….usar un SGBD…….usar un SGBD

USO CONCURRENTE DE LOS DATOS� Sin SGBD: Los archivos son utilizados por varios

usuarios simultaneamente. Alquien tiene que sincronizar los eventos.

Preparado por: Miguel Cotaña 67

sincronizar los eventos.Ej: dos clientes del banco, que depositan en la misma

cuenta, al mismo tiempo:Estado inicial de la cuenta Bs.500

Cli_A deposita 200Cli_B deposita 300

…….usar un SGBD…….usar un SGBD

CASO1:

Cli_A: lee 500

Cli_A: 500 + 200

total : 700

CASO2:

Cli_A: lee 500

Cli_B: lee 500

Cli_A: 500+200=700

Preparado por: Miguel Cotaña 68

total : 700

Cli_B: lee 700

Cli_B: 700 + 300

total: 1000

OKOK

Cli_B: 500+300=800

….problema

Con SGBD: Control de concurrencia de transacciones con actualizaciones atomicas (una por cada vez)

FUNCIONES DEL ABDFUNCIONES DEL ABD

� Identifica información relevante.� Definiciones de esquema (LDD)

� Definición de la estructura de almacenamiento y del método de acceso.

� Modificación del esquema y de la organización fisica.

Preparado por: Miguel Cotaña 69

� Modificación del esquema y de la organización fisica.

� Definición de aspectos de seguridad(usuarios, entornos, infraestructura)

� Especificación de las restricciones de integridad

� Reorganización� Administracion del uso de la BD� Estadisticas� Auditoria� Backup y recuperacion

1.5 1.5 BASES DE DATOS BASES DE DATOS DISTRIBUIDASDISTRIBUIDAS

� Es una colección de múltiples y lógicamente relacionadas BD sobre una red de ordenadores.Es una BD almacenada en varios

Preparado por: Miguel Cotaña 70

� Es una BD almacenada en varios ordenadores que se comunican mediante una red de comunicaciones.

� Una de las cosas que debe ser distribuido es el procesamiento logico.

SISTEMAS DISTRIBUIDOSSISTEMAS DISTRIBUIDOS

� Un SGBDD, es el software que administra los mecanismos de acceso, de forma transparente para los usuarios.

Preparado por: Miguel Cotaña 71

transparente para los usuarios.

� Los datos son localizados en diferentes maquinas.

� Datos son compartidos por los usuarios

DISEDISEÑÑO DE BDDO DE BDD

� Las dos decisiones principales que se deben realizar en el diseño de BDD son: Dividir las bases en partes y saber donde almacenar

Preparado por: Miguel Cotaña 72

las bases en partes y saber donde almacenar cada una.

� Los terminos para estas actividades son:

- Fragmentación

- Asignación

FRAGMENTACIONFRAGMENTACION

� HORIZONTAL: particiona una relación en sus tuplas. Asi cada fragmento tiene un subconjunto de las tuplas de la relacion.

Preparado por: Miguel Cotaña 73

subconjunto de las tuplas de la relacion.

� VERTICAL: produce fragmentos R1,R2…., cada cual contiene un subconjunto de atributos de R tambien como la llave primaria de R.

APLICACIONESAPLICACIONES

� Fabricas, especialmente empresas con multiples plantas industriales

� Sistemas de apoyo a decisiones corporativos

Preparado por: Miguel Cotaña 74

� Sistemas de apoyo a decisiones corporativos

� Empresas aéreas.

� Cadenas de hoteles

� Cualquier institución que tenga una estruc-tura de organización descentralizada

VENTAJASVENTAJAS

� Gestión transparente de la localización de datos.

� Aumento de confiabilidad y disponibilidad a traves de transacciones distribuidas.

Preparado por: Miguel Cotaña 75

Aumento de confiabilidad y disponibilidad a traves de transacciones distribuidas.

� Expansion mas facil y simple� Economica: es mejor invertir en un

conjunto de maquinas de pequeño porte que en una única maquina de gran capacidad.

DESVENTAJASDESVENTAJAS

� Poca experiencia de profesionales

� Complejidad del sistema

� Seguridad

Preparado por: Miguel Cotaña 76

� Seguridad

� Consistencia de la BD.

1.6 NORMALIZACION1.6 NORMALIZACION

Preparado por: Miguel Cotaña 77

1.6 NORMALIZACION1.6 NORMALIZACION

DEPENDENCIADEPENDENCIA

� Dependencia funcional: Sea el esquema R(A,DF), y sean X, Y dos subconjuntos de A, a los que llamamos descriptores. Se dice que Y “DF” de X o que X implica o determina a Y, y se

Preparado por: Miguel Cotaña 78

“DF” de X o que X implica o determina a Y, y se denota como X � Y si, y solo si, a cada valor xdel atributo X, le corresponde un unico valor y del atributo Y.

Ej: Codigo de estudiante determina el nombre del mismo

DEPENDENCIADEPENDENCIA

� Dependencia funcional completa: Se dice que Y tiene dependencia funcional completa o plena de X, si depende funcionalmente de

Preparado por: Miguel Cotaña 79

o plena de X, si depende funcionalmente de X, pero no depende de ningun subconjunto de este. Se representa por X => Y, por tanto X=>Y Sii no existe un X’ subconjunto X |X’ �Y

DEPENDENCIADEPENDENCIA

� Dependencia funcional trivial: Una dependencia funcional X � Y se dice que es trivial si Y es un subconjunto propio de X.

� Dependencia funcional elemental: Decimos que

Preparado por: Miguel Cotaña 80

� Dependencia funcional elemental: Decimos que una dependencia funcional X � Y es elemental si Y es un atributo unico no incluido en X, y no existe X’ incluido en X tal que X’ � Y, es decir, la DFE es una DFC, no trivial y en la que el implicado es un atributo unico.

DEPENDENCIADEPENDENCIA

� Dependencia funcional transitiva: Dado el esquema de relacion R(X,Y,Z) en las que existen las siguientes DF:

X � Y Y � Z

Preparado por: Miguel Cotaña 81

X � Y Y � ZSe dice que Z tiene una dependencia transitiva

respecto a X a traves de Y, lo que se representa por:

X - -> Z

CLAVESCLAVES

� Clave candidata: Una clave cadidata de una relacion es un conjunto no vacio de atributos que identifican univocamente y minimamente

Preparado por: Miguel Cotaña 82

cada tupla de una relacion.

En toda relacion siempre hay, al menos, una clave candidata, ya que el conjunto de atributos que constituye la relacion gozara de la propiedad de unicidad.

CLAVESCLAVES

Una relacion puede tener mas de una clave candidata:

� Clave primaria: Los atributos que forman parte de la clave primaria no pueden tomar

Preparado por: Miguel Cotaña 83

parte de la clave primaria no pueden tomar valores nulos.

� Clave alternativa: Son aquellas claves candidatas que no han sido elegidas como claves primarias de la relacion.

CLAVESCLAVES

� Clave ajena: Una clave ajena (externa o foranea) de una relacion R2 es un conjunto no vacio de atributos cuyos valores han de

Preparado por: Miguel Cotaña 84

coincidir con los valores de la clave primaria de una relacion R1. Se dice que R2 es la relacion que “referencia”, mientras que R1 es la relacion “referenciada”.

FORMAS NORMALESFORMAS NORMALES

� Cuando se disena una BD mediante el MR, al igual que ocurre con otros modelos, obtenemos diferentes esquemas relacionales

Preparado por: Miguel Cotaña 85

obtenemos diferentes esquemas relacionales y no todos ellos son equivalentes, ya que unos van a representar la realidad mejor que otros.

� Con la teoria de la normalizacion, se consigue una formalizacion en el diseno logico de BDR.

1ra. FORMA NORMAL1ra. FORMA NORMAL

Para que una tabla pueda ser considerada una relacion no debe admitir grupos repetitivos, esto es, debe estar en primera forma normal

Preparado por: Miguel Cotaña 86

esto es, debe estar en primera forma normal

Se dice que una relacion esta en 1FN cuando cada atributo solo toma un valor del dominio simple subyacente.

2da. FORMA NORMAL2da. FORMA NORMAL

Esta basada en el concepto de dependencia plena y en las interrelaciones existentes entre los atributos principales de una relacion.

Preparado por: Miguel Cotaña 87

los atributos principales de una relacion.

Se dice que una relacion esta en 2FN si: Esta en 1FN y cada atributo no principal tiene DFC respecto de cada una de las claves.

3ra. FORMA NORMAL3ra. FORMA NORMAL

Esta basada en el concepto de DFT

Un esquema de relacion R esta en 3FN Sii.

Esta en 2FN y no existe ningun atributo no

Preparado por: Miguel Cotaña 88

Esta en 2FN y no existe ningun atributo no principal que dependa transitivamente de alguna clave R

FORMA NORMAL BoyceFORMA NORMAL Boyce--CoddCodd

Para ciertos problemas fueron insuficientes las tres primeras formas normales, en relaciones que presentaban varias claves candidatas

Preparado por: Miguel Cotaña 89

que presentaban varias claves candidatas compuestas que se solapaban.

Se dice que una relacion se encuentra en FNBC si, y solo si, todo determinante es una clave candidata.

SQL SQL (Structured Query Languaje)(Structured Query Languaje)

� La mayoria de los SGBD relacionales proveen un lenguaje de alto nivel, en el que el usuario solo especifica lo que desea como resultado, dejando las decisiones de como

Preparado por: Miguel Cotaña 90

resultado, dejando las decisiones de como ejecutar la consulta para el sistema.

� El SQL es lenguaje standard de BD.� Incorpora el algebra relacionaly el calculo

relacional

OPERACIONES OPERACIONES FUNDAMENTALESFUNDAMENTALES

� Seleccion (σ): σ p(R) R’

p – predicado de la seleccion

(condicion a ser satisfecha)

Preparado por: Miguel Cotaña 91

(condicion a ser satisfecha)

� Proyeccion (π): π LA(R) R’

LA – Lista de atributos deseados

� Producto cartesiano (x): R1xR2 R’

…..operaciones fund..…..operaciones fund..

� Union (U):R1 U R2

a) R1 y R2 necesitan ser del mismo orden. Igual numero de atributos

Preparado por: Miguel Cotaña 92

Igual numero de atributos

b) El dominio del i-esimo atributo en R1 es igual al i-esimo atributo en R2

� Diferencia (-): R1 – R2 R’

mismas observaciones de la union