Vista previa del material en texto
Preparado por: Miguel Cotaña 1 Preparado por: Miguel Cotaña 2 BASES DE DATOS Una BD es una colección de datos operacionales almacenados sin redundancia perjudiciales y utiliza- das para una o mas aplicaciones, de una empresa en particular Preparado por: Miguel Cotaña 3 …..empresa y datos Una compania manufacturera Un banco Un hospital Una universidad Una dependencia del gobierno Datos de Producto Datos de cuenta Datos de paciente Datos de estudiantes Datos de planifacion Preparado por: Miguel Cotaña 4 ARQUITECTURA DE SBD NIVEL EXTERNO: Describe solo parte de la BD(mundo real) NIVEL CONCEPTUAL: Describe que 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) Preparado por: Miguel Cotaña 5 ….niveles El nivel interno es el mas cercano al almacenamiento fisico, es decir, es el que se ocupa de la forma como se almacenan fisicamente los datos. El nivel externo es 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 Preparado por: Miguel Cotaña 6 SISTEMA DE BD (SBD) Un SBD es un siste- ma cuyo proposito general es el de almacenar y recu- perar informacion inherente a la organización donde opera. DATOS: Un SBD puede comprender 1 o varias BD´s. USUARIOS: personas que accesan a las BD. HARD: Donde recide las BD. SOFT: Se lo conoce como DBMS. Preparado por: Miguel Cotaña 7 USUARIOS USUARIO FINAL: Realiza consultas o mapeos de subconjuntos de la BD. PROGRAMADOR DE APLICACIONES: Escribe los programas. DBA: Usuario sofisticado, hace las veces de diseñador y consolidador del sistema Preparado por: Miguel Cotaña 8 CARACTERISTICAS DE LOS SBD Control de la redundancia. Evitar la inconsistencia Compartimiento de los datos Integridad y seguridad de los datos Estandarizar la informacion en el sistema Independencia de datos. Preparado por: Miguel Cotaña 9 TIPOS DE BASE DE DATOS Base de Datos Jerárquica Base de Datos Relacional 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) Preparado por: Miguel Cotaña 10 1.2 MODELADO 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 transformamos ese modelo en un diseño relacional. El diseño fisico, es donde se especifica caracteristicas propias como tipo de datos, longitud, etc. Preparado por: Miguel Cotaña 11 MODELO 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 mundo real y no conceptos de computadoras. Para lograr un software adecuado para el cliente, existen el AOO, DOO y POO Preparado por: Miguel Cotaña 12 …….MODELO DE OBJETOS • La tecnologia orientada a objetos se apoya en los solidos fundamentos de la ingenieria, cuyos elementos reciben el nombre global de modelo de objetos. • Abarca los principios de abstraccion, encapsulacion, modularidad, jerarquia, tipos, concurrencia y persistencia. Preparado por: Miguel Cotaña 13 1.3 BASE DE DATOS RELACIONAL Este es el modelo mas utilizado para modelar problemas reales y administrar datos dinamicamente. Su idea fundamental es el uso de “relaciones”. Durante su diseño, una BD relacional pasa por el proceso de normalizacion. Preparado por: Miguel Cotaña 14 DISEÑO CONCEPTUAL MODELO E-R El modelo de datos entidad-relacion (E-R) se basa en una percepcion del mundo real que consiste en un conjunto de objetos basicos llamados entidades y relaciones entre estos objetos. Preparado por: Miguel Cotaña 15 …..modelo E-R Entidad: un objeto, distinguible de otros objetos. Cosas que se pueden identificar 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) Preparado por: Miguel Cotaña 16 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 Dominio de edad: enteros positivos RELACIONAMIENTO:Asociación entre 2 entidades. Ej: Patty trabaja en el proyecto Nro.2 Preparado por: Miguel Cotaña 17 ….conceptos y grafica Conjunto de relaciones: Conjunto de relacionamientos del mismo tipo. Ej: Funcionario TRABAJA en el Proyecto FUNCIONARIO PROYECTOTRABAJA en DIRECCION EDAD NOMBRE CODIGO NOMBRE DEPTO Preparado por: Miguel Cotaña 18 DISEÑO DE BD METODOLOGIA DE DISEÑO: Consiste en un conjunto de tecnicas que se aplican de acuerdo a una secuencia de pasos. Preparado por: Miguel Cotaña 19 DISEÑO LOGICO Transformación del diagrama E-R extendido para elementos de un modelo logico. Los modelos logicos son: Jerárquico Relacional De red Orientado a Objetos Preparado por: Miguel Cotaña 20 TABLA RELACIONAL CODIGO NOMBRE SEXO EDAD A1 Ximena F 21 A2 Marcos M 26 A3 Zulma F 28 FUNCIONARIO ATRIBUTOS T U P L A S REPRESENTACION LOGICA: FUNCIONARIO(codigo,nombre,sexo,edad) Preparado por: Miguel Cotaña 21 ….modelo relacional Modelo formal por naturaleza, estructuras de datos simples y uniformes. 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 Preparado por: Miguel Cotaña 22 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 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 Preparado por: Miguel Cotaña 23 CARACTERISTICAS DE BASES DE DATOS RELACIONAL Una BD, puede ser organizada en relaciones Se caracteriza por utilizar una tabla 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. Preparado por: Miguel Cotaña 24 LENGUAJES 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) - Alto nivel: orientada a conjuntos - Bajo nivel: orientada a registros Lenguaje huesped Lenguaje de programacion en el cual comandos del LMD son embutidos. Preparado por: Miguel Cotaña 25 REPRESENTACION DE E-R VENDEDOR PRODUCTOS PROVEEDOR VENDE PROVEE CODVEN NOMBRE SUELDO CANTIDAD CANTIDADPRE_UNITCODPROD CLIENTE FECHA-VEN COD_CLI NOMBRE FONO NOMBRE DIRECCION FONO COD_PROV Preparado por: Miguel Cotaña 26 TECNICAS 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 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 Preparado por: Miguel Cotaña 27 RESTRICCIONES DE ASIGNACION (Mapping) Preparado por: Miguel Cotaña 28 RESTRICCIONES DE ASIGNACIÓN Una planificación E-R de una empresa pueden definir ciertas restricciones: CARDINALIDAD, que expresan el número de entidadescon las que 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: Preparado por: Miguel Cotaña 29 ……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 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 Preparado por: Miguel Cotaña 30 ……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. 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 Preparado por: Miguel Cotaña 31 CARDINALIDAD: grado de asociación PROVEEDOR EMPRESA MUJER Provee para Casado con 1:1 N:M HOMBRE N:1 PADREHIJO Descend. 1 1 1N N M Preparado por: Miguel Cotaña 32 TIPOS DE RELACIONAMIENTO PROVEEDOR PIEZA FUNCIONARIO provee FUNC_JEFE CANTIDAD UNARIO BINARIO Preparado por: Miguel Cotaña 33 ….tipos de rel…. PROVEEDOR PIEZA FUNCIONARIO Provee para TERNARIO Preparado por: Miguel Cotaña 34 Ejemplo Un 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 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 Preparado por: Miguel Cotaña 35 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: - Abstracción - Encapsulamiento - Modularidad - Jerarquia Preparado por: Miguel Cotaña 36 a) ABSTRACCION Una abstraccion denota las caracteristicas esenciales de un objeto 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 Preparado por: Miguel Cotaña 38 b) ENCAPSULAMIENTO Es el proceso de almacenar en un mismo compartimiento los elementos de una abstraccion que constituyen su estructura y su comportamiento Preparado por: Miguel Cotaña 39 Preparado por: Miguel Cotaña 40 c) MODULARIDAD La modularidad es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de modulos cohesivos y debilmente acoplados. Preparado por: Miguel Cotaña 41 Preparado por: Miguel Cotaña 42 d) JERARQUIA La jerarquia es una clasificacion u ordenacion de abstracciones. Preparado por: Miguel Cotaña 43 Preparado por: Miguel Cotaña 44 POO, 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 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. Preparado por: Miguel Cotaña 45 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 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. Preparado por: Miguel Cotaña 46 OBJETOS OBJETO. Es la representacion abstraida de las cosas Desde la perspectiva de la cognición humana un objeto es: - 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? Preparado por: Miguel Cotaña 47 OBJETOS Los objetos tienen atributos y operaciones. Los atributos son sus caracteristicas y sus operaciones (servicios, metodos) son las acciones que el objeto puede realizar La definicion de objetos implica la descripcion de atributos, comportamientos, operaciones y mensajes Preparado por: Miguel Cotaña 48 EJEMPLO TOYOTA: CORONA - Placa - Modelo - Color - Nro-motor - Frenar() - Cambiar-caja() OBJETO ATRIBUTOS OPERACIONES Comportamiento del objeto Preparado por: Miguel Cotaña 49 Para verificar un objeto previamente identificado se pueden utilizar los siguientes criterios: - Relevancia para el dominio del problema. - Existencia independiente - Atributos y Operaciones Preparado por: Miguel Cotaña 50 CLASE Clase es una agrupacion de objetos con los mismos tipos de caracteristicas Los objetos son instancias de las clases. Las clases definen atributos y operaciones para sus objetos, no para ellas mismas. Preparado por: Miguel Cotaña 51 ……….CLASES Y OBJETOS CLASE. Es un conjunto de objetos que comparten una estructura comun y un comportamiento común. Preparado por: Miguel Cotaña 52 TIPOS DE RELACION ENTRE CLASES asociacion agregacion (tiene) composicion (incluye)(parte de) dependencia navegacion (es un) Preparado por: Miguel Cotaña 53 VENDEDOR ITEM_SOLICITADO CLIENTE ORDEN_COMPRA recibe incluye tiene Preparado por: Miguel Cotaña 54 GENERALIZACION Es el proceso (durante las etapas de analisis y diseno de sistemas) de 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 Preparado por: Miguel Cotaña 55 HERENCIA Es el mecanismo para definir una clase en terminos de una clase ya existente. Una subclase hereda los miembros de una superclase Preparado por: Miguel Cotaña 56 VEHICULO precio Veloc_max Frenar() AUTO descapotable turbo subir() CAMION capacidad traccion cargar() Preparado por: Miguel Cotaña 57 ESPECIALIZACION Y GENERALIZACION Mientras la generalizacion se concentra en las clases mayores del sistema y ayuda a 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. Preparado por: Miguel Cotaña 58 ESPECIALIZACION Y GENERALIZACION especializacion Generalizacion Preparado por: Miguel Cotaña 59 CLASIFICACIÓN Identificar clases y objetos es fundamental en el DOO. Implica descubrimiento e invención. Preparado por: Miguel Cotaña 60 ABSTRACCIONES CLAVE Es una clase u objeto que forma parte del vocabulario del dominio del problema. Preparado por: Miguel Cotaña 61 SISTEMAS DE GESTION DE BASES DE DATOS Preparado por: Miguel Cotaña 62 SISTEMA DE BD SGBD BD Procesador de consulta Metadatos(DD) + Archivos de datos Preparado por: Miguel Cotaña 63 OBJETIVOS de SGBD Proveer un ambiente que sea adecuado y eficiente para recuperar y almacenar información dela Base de Datos. Gestionar grandes volumenes de información. Proveer seguridad a la informacion almacenada en las Bases de Datos. Preparado por: Miguel Cotaña 64 CARACTERÍSTICAS PARA USAR UN SGBD REDUNDANCIA Sin SGBD: La misma información es almace- nada en diversos archivos privados. Con SGBD: Redundancia es reducida al mínimo, inconsistencias son evita- das por la integración de datos. 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. 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. Preparado por: Miguel Cotaña 65 …….usar un SGBD TOMA DE DECISIONES Sin SGBD:La información necesaria estan esparcidas 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) ACCESO A INFORMACION Sin SGBD: Los formatos 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 Preparado por: Miguel Cotaña 66 …….usar un SGBD INDEPENDENCIA DE LOS DATOS Sin SGBD: Los programas de aplicación dependen de 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. SEGURIDAD Y PROTECCION Sin SGBD: Formas estandares de seguridad utilizando codigos y señas Con SGBD: Hay esquema adicional de proteccion: el usuario ve la BD por medio de “ventanas” Preparado por: Miguel Cotaña 67 …….usar un SGBD USO CONCURRENTE DE LOS DATOS Sin SGBD: Los archivos son utilizados por varios usuarios simultaneamente. Alquien tiene que 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 200 Cli_B deposita 300 Preparado por: Miguel Cotaña 68 …….usar un SGBD CASO1: Cli_A: lee 500 Cli_A: 500 + 200 total : 700 Cli_B: lee 700 Cli_B: 700 + 300 total: 1000 OK CASO2: Cli_A: lee 500 Cli_B: lee 500 Cli_A: 500+200=700 Cli_B: 500+300=800 ….problema Con SGBD: Control de concurrencia de transacciones con actualizaciones atomicas (una por cada vez) Preparado por: Miguel Cotaña 69 FUNCIONES 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. 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 Preparado por: Miguel Cotaña 70 1.5 BASES DE DATOS DISTRIBUIDAS Es una colección de múltiples y lógicamente relacionadas BD sobre una red de ordenadores. 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. Preparado por: Miguel Cotaña 71 SISTEMAS DISTRIBUIDOS Un SGBDD, es el software que administra los mecanismos de acceso, de forma transparente para los usuarios. Los datos son localizados en diferentes maquinas. Datos son compartidos por los usuarios Preparado por: Miguel Cotaña 72 DISEÑO 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 cada una. Los terminos para estas actividades son: - Fragmentación - Asignación Preparado por: Miguel Cotaña 73 FRAGMENTACION HORIZONTAL: particiona una relación en sus tuplas. Asi cada fragmento tiene un 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. Preparado por: Miguel Cotaña 74 APLICACIONES Fabricas, especialmente empresas con multiples plantas industriales Sistemas de apoyo a decisiones corporativos Empresas aéreas. Cadenas de hoteles Cualquier institución que tenga una estruc- tura de organización descentralizada Preparado por: Miguel Cotaña 75 VENTAJAS Gestión transparente de la localización de datos. 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. Preparado por: Miguel Cotaña 76 DESVENTAJAS Poca experiencia de profesionales Complejidad del sistema Seguridad Consistencia de la BD. Preparado por: Miguel Cotaña 77 1.6 NORMALIZACION Preparado por: Miguel Cotaña 78 DEPENDENCIA 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 denota como X Y si, y solo si, a cada valor x del atributo X, le corresponde un unico valor y del atributo Y. Ej: Codigo de estudiante determina el nombre del mismo Preparado por: Miguel Cotaña 79 DEPENDENCIA Dependencia funcional completa: Se dice que Y tiene dependencia funcional completa 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 Preparado por: Miguel Cotaña 80 DEPENDENCIA 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 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. Preparado por: Miguel Cotaña 81 DEPENDENCIA Dependencia funcional transitiva: Dado el esquema de relacion R(X,Y,Z) en las que existen las siguientes DF: X Y Y Z Se dice que Z tiene una dependencia transitiva respecto a X a traves de Y, lo que se representa por: X - -> Z Preparado por: Miguel Cotaña 82 CLAVES Clave candidata: Una clave cadidata de una relacion es un conjunto no vacio de atributos que identifican univocamente y minimamente 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. Preparado por: Miguel Cotaña 83 CLAVES Una relacion puede tener mas de una clave candidata: Clave primaria: Los atributos que forman 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. Preparado por: Miguel Cotaña 84 CLAVES Clave ajena: Una clave ajena (externa o foranea) de una relacion R2 es un conjunto no vacio de atributos cuyos valores han de 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”. Preparado por: Miguel Cotaña 85 FORMAS NORMALES Cuando se disena una BD mediante el MR, al igual que ocurre con otros modelos, 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. Preparado por: Miguel Cotaña 86 1ra. FORMANORMAL Para que una tabla pueda ser considerada una relacion no debe admitir grupos repetitivos, 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. Preparado por: Miguel Cotaña 87 2da. FORMA NORMAL Esta basada en el concepto de dependencia plena y en las interrelaciones existentes entre 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. Preparado por: Miguel Cotaña 88 3ra. 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 principal que dependa transitivamente de alguna clave R Preparado por: Miguel Cotaña 89 FORMA NORMAL Boyce-Codd Para ciertos problemas fueron insuficientes las tres primeras formas normales, en relaciones 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. Preparado por: Miguel Cotaña 90 SQL (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 ejecutar la consulta para el sistema. El SQL es lenguaje standard de BD. Incorpora el algebra relacional y el calculo relacional Preparado por: Miguel Cotaña 91 OPERACIONES FUNDAMENTALES Seleccion ( ): p(R) R’ p – predicado de la seleccion (condicion a ser satisfecha) Proyeccion ( ): LA(R) R’ LA – Lista de atributos deseados Producto cartesiano (x): R1xR2 R’ Preparado por: Miguel Cotaña 92 …..operaciones fund.. Union (U):R1 U R2 a) R1 y R2 necesitan ser del mismo orden. 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