Download Que es una Base de Datos?
Document related concepts
Transcript
BASE DE DATOS. Guacara, Enero de 2008 Plan de Evaluación. Base de Datos Víctor Bolívar. 1er. Parcial -----25% 2do. Parcial ----25% Tutoría ----------20% (Evaluación continua) Proyecto -------30%* Para tener derecho a la nota del proyecto debe acumular 18 ó mas puntos en los exámenes parciales. BASE DE DATOS. Magistral No. 1 Guacara, Enero de 2008 Que es una Base de Datos? Las bases de datos, son cualquier conjunto de datos organizados para su almacenamiento en la memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso de una forma estándar. Su objetivo es el de automatizar: • • • El Mantenimiento Cualquier informe de información Cualquier consulta sobre dicha información Elementos de una Base de Datos Datos: Es la parte esencial de la información, es decir, la información que llega a la base de datos. Atributos: Son los diferentes campos que conforman la estructura de una base de datos. Campos: Es la unidad más pequeña de datos. Registro: Es un conjunto de campos o atributos relacionados entre sí. Archivo: Es un conjunto de registros relacionados. Ciclo de Vida. Información Organizar Base de datos Depuración Búsqueda y Selección Conclusiones Otros Programas Conclusiones Ejemplos. •Información sobre los empleados de una empresa: nombre y apellidos, DNI, nº de SS, fecha de nacimiento, departamento al que pertenece, categoría, nº de cuenta, domicilio, etc. • Productos de una empresa: código, descripción, proveedor, precio, stock, etc. • Proveedores de los productos: código, nombre, dirección, nº cuenta, CIF, etc. • Pedidos de una empresa: código del producto, código del proveedor, cantidad solicitada, precio de compra, tipo de IVA, fecha pedido, etc. • Cotizaciones en bolsa: título, fecha, precio inicial. Precio final, precio medio, volumen negociado, etc. DBMS (Data Base Management Systems - Sistema de Administración de Base de Datos • Tipos de Base de Datos - Jerárquicas - Estructuradas Plex o Redes - Relacionales Las dos primeras representan bien las jerarquías en las estructuras de datos pero tienen un difícil acceso. La Relacional ofrece un acceso flexible a la data, se basan en tablas o matrices. Utilizar SQL (Structure Query Language) BASE DE DATOS. Magistral No. 2 Evolución Histórica. • 1945: Primera unidad de cinta magnética • 1957: Primer computador comercial instalado • 1961: Primer SGBD • 1965-1970: – Modelo jerárquico – Bases de datos multiusuario • 1970-1980: – Desarrollo de varios sistemas comerciales de bases de datos – Desarrollo del modelo relacional. – Aparecen los primeros lenguajes de consulta. Evolución Histórica. •1980-1990: – Desarrollo de SGBD para ordenadores personales (dbase, Paradox). – SQL – ORACLE, SYBASE, INFORMIX, etc. • 1990- : – Extensión de las capacidades: multimedia, GIS, bases de conocimiento. – Bases de datos orientadas al objeto – Uso de multiproceso – Mejora de los SGBD para ordenadores personales Evolución Histórica. •Época de los FICHEROS – El programador o responsable se debe ocupar de gestionar toda la información: índices, algoritmos de búsquedas, integridad de los datos, etc. • SISTEMAS GESTORES de BASES de DATOS – El sistema se encarga de realizar todas las operaciones de mantenimiento físico. – El encargado del sistema solo debe diseñar la estructura de la base de datos y suministrar información correcta Modelos de Bases de Datos. • Los más usados a lo largo de la historia son – Jerárquico – En red – Relacional • El modelo relacional es el que se usa en la actualidad en la mayoría de sistemas gestores de bases de datos Bases de Datos Relacionales. El enfoque Relacional fue desarrollado por el Dr. Edward Codd de la IBM en una serie de artículos durante 1969 y 1970. Los sistemas relacionales tiene una sólida base matemática. El algebra y el calculo relacional definen operaciones como: Unión, Intersección, Proyección Diferencia, Selección y Modelo Relacional. • Reducción de los datos a estructuras planas o TABLAS con filas y columnas • ENTIDADES O TABLAS-> RELACIONES o FICHEROS • FILAS-> TUPLAS o REGISTROS • COLUMNAS-> ATRIBUTOS o CAMPOS • CARDINALIDAD-> Nº de REGISTROS • GRADO-> Nº de ATRIBUTOS o CAMPOS Bases de Datos Relacionales. Una B.D. debe tener tres lenguajes: • Uno para definir la Base de Datos • Uno para la manipulación de los datos (Programas de aplicación) • Uno de consultas directas al Usuario (S. Q. L. = Structure Query Language) Requisitos para Considerar una B.D. Relacional. • Una tabla puede contener un solo tipo de registro. Cada registro tiene un número fijo de campos, cada campo debe tener un nombre. • La BD contendrá una tabla por cada tipo de registro. • Dentro de una tabla cada campo es distinto y sin grupos repetitivos. • Las tablas no permiten registros duplicados. • El orden de los campos no esta determinado ni el orden de los registros. • Cada campo declarado posee un conjunto de posibles valores que forman el dominio del campo. • Se pueden crear nuevas tablas relacionando valores de campos procedentes de dos tablas ya existentes, siempre y cuando, en las dos tablas el dominio de los campos sea el mismo. •Diseño eficiente de una BDR, Edward Codd desarrollo una técnica que denominó NORMALIZACIÓN BASE DE DATOS. Magistral No. 3 Análisis y Diseño de Base de Datos. ENTIDAD: Objeto sobre el cual se almacena la información, este debe ser el primer elemento que se tome en cuenta para diseñar una B. D., se debe conocer todas las entidades. Ejemplo: Sistema de información para el control de la biblioteca: ENTIDADES: Documentos, Copias, Usuarios, etc. • Pasos a seguir en el diseño de una Base de Datos 1. Conocer las entidades, tablas, archivos. 2. Analizar los atributos o campos a registrar en una entidad. 3. Estudiar los posibles valores que puede contener un atributo. 4. Asignar Campos Claves 5. Crear los archivos. 6. Establecer Relaciones Análisis y Diseño de Base de Datos. CLAVE CANDIDATA: Campo o Conjunto de campos que se pueden utilizar para identificar en forma única un registro. Ejemplo: Documentos(cota, ….) Doc/Autor(Cota,cod Autor, …..) • CLAVE PRIMARIA o CLAVE: Clave candidata que se selecciona para identificar en forma única un registro. • CLAVE SECUNDARIA: Campo o conjunto de campos que identifican varios registros que tienen una misma característica. Documentos(Cota,Titulo,Piso,Sala,…..) Análisis y Diseño de Base de Datos. Una vez hecho el análisis de las entidades se procede a estudiar las relaciones entre ellas. Para ello se utiliza un esquema. • ESQUEMA: Descripción lógica de la B. D. a través de un diagrama. • SUB-ESQUEMAS: Vista que tiene el programador de aplicaciones de los datos que utiliza, esta deriva del esquema principal. • Relaciones: Vinculaciones existentes entre las entidades de un esquema y que no se han establecido en los campos. Se representan con líneas continuas. Reglas para representar un Esquema. Las Relaciones deben identificarse con un numero o un nombre • No deben utilizarse nombres duplicados. - - Deben indicarse que relaciones son sencillas, cuales complejas y si requieren integridad referencial. : Obligatorio : Opcional Tipos de Relaciones. • UNO a UNO: ( ): Aparecen cuando entre los datos hay correspondencia biunívoca. - UNO a MUCHOS ( ): Aparecen cuando entre los datos hay una correspondencia simple y una compleja. - MUCHOS a MUCHOS ( ): Aparecen cuando entre los datos hay correspondencias complejas. Claves. • CLAVES CANDIDATAS: atributo o conjunto de atributos que identifican unívoca y mínimamente cada registro. • Una de ella será la CLAVE PRIMARIA. El resto son CLAVES ALTERNATIVAS • CLAVE AJENA: Atributo o conjunto de atributos que son CLAVE PRIMARIA de otra RELACION • INDICES: Atributos o conjunto de atributos sobre los que se pueden realizar “búsquedas rápidas”. La clave primaria debe estar indexada. Integridad. •INTEGRIDAD DE ENTIDAD: Ningún atributo que forme parte de una clave primaria puede tomar valor Nulo • INTEGRIDAD REFERENCIAL: se establece entre dos relaciones y se usa para mantener la consistencia entre las registros de las dos relaciones. • Una restricción de integridad referencial se introduce al establecer claves ajenas. Otros Tipos de Integridad. •INTEGRIDAD DE ENTIDAD: Ningún otros Tipos de Integridad • Integridad semántica: la información sea real • Integridad de los datos individuales: que los valores de un atributo pertenezcan al dominio • Integridad de los datos de un registro: coherencia entre los diferentes campos • Integridad relativa a transiciones de estados: que una fecha siempre aumente • Hay restricciones que se pueden dejar de cumplir Transitoriamente. BASE DE DATOS. Magistral No. 4 Normalización. La normalización es un proceso que pretende conseguir tablas con una estructura óptima y eficaz. El proceso de normalización está basado en lograr la independencia de los datos respecto a las aplicaciones que los usan. Diferentes Formas Normales. •Primera Forma Normal o 1FN. •Segunda Forma Normal o 2FN. •Tercera Forma Normal o 3FN. •Primera Forma Normal o 1FN. •Cuarta Forma Normal o 4FN. •Quinta Forma Normal o 5FN. Primera Forma Normal. Una tabla está en 1FN si el valor que contiene un atributo de un registro, un campo, es único y elemental. En cada uno de los atributos sólo se puede incluir un dato, aunque sea compuesto, pero no se pueden incluir una lista de datos. Por ejemplo, no se pueden incluir en el atributo Dirección el domicilio habitual y el de vacaciones; habría que crear dos registros que se diferenciarán por el atributo Dirección. Tabla de una base de datos NIF Ape Nom Dir CPost Pobl Prov 1 García Francisco C/Marín 16 33698 Oviedo Asturias 2 Sánchez Luisa C/Tenerías 34 C/Ramorta 65 85458 54585 Cigales Bueu Valladolid Pontevedra Tabla de una base de datos NIF Ape Nom Dir CPost Pobl Prov 1 García Francisco C/Marín 16 33698 Oviedo Asturias 2 Sanchez Luisa C/Tenerías 34 85458 Cigales Valladolid 2 Sánchez Luisa C/Ramorta 65 54585 Bueu Pontevedra Segunda Forma Normal. Una tabla está en Segunda Forma Normal o 2FN cuando está en 1FN y todo atributo que no pertenece a la clave primaria tiene una dependencia funcional de la clave completa y no de parte de ella. • DEPENDENCIA FUNCIONAL: El campo B de una Relación R es funcionalmente dependiente del campo A de R si, en cada instante, cada valor de A está asociado con un solo valor de B dentro de la Relación R. se representa A B Decir que B es funcionalmente dependiente de A, es equivalente a decir que A identifica B, conocido el valor de A, queda determinado el valor de B Segunda Forma Normal. Tabla de una base de datos NIF Ape Nom Dir CPost Pobl Prov 1 García Francisco C/Marín 16 33698 Oviedo Asturias 2 Sanchez Luisa C/Tenerías 34 85458 Cigales Valladolid 2 Sánchez Luisa C/Ramorta 65 54585 Bueu Pontevedra Tabla en segunda forma normal Tabla en segunda forma normal NIF Dir CPost Pobl Prov NIF Ape Nom 1 C/ Marín nº16 33698 Oviedo Asturias 1 García Francisco 2 C/ Tenerías nº34 85458 Cigales Valladolid 2 Sánchez Luisa 2 C/ Ramorta nº65 54585 Bueu Pontevedra Tercera Forma Normal. Una tabla está en Tercera Forma Normal o 3FN si está en 2FN y no existen atributos que no pertenezcan a la clave primaria que puedan ser conocidos mediante otro atributo que no forma parte de la clave primaria, es decir, no hay dependencias funcionales transitivas. Se dice que hay dependencia funcional transitiva entre dos atributos cuando un atributo que no pertenece a la clave primaria permite conocer el valor de otro atributo. Dependencia Transitiva: Sean A, B, C, tres campos o colección de campos de una relación R. Sí A es funcionalmente dependiente de B y C. Y Adicionalmente los Valores de B son funcionalmente dependientes de C. Entonces se dice que hay una dependencia Transitiva entre B y C. Tercera Forma Normal. Tabla en segunda forma normal NIF Dir CPost Pobl Prov 1 C/ Marín nº16 33698 Oviedo Asturias 2 C/ Tenerías nº34 85458 Cigales Valladolid 2 C/ Ramorta nº65 54585 Bueu Pontevedra Tabla en tercera forma normal Tabla en tercera forma normal NIF Dir CPost Dir Pobl Prov 1 C/ Marín nº16 33698 C/ Marín nº16 Oviedo Asturias 2 C/ Tenerías nº34 85458 C/ Tenerías nº34 Cigales Valladolid 2 C/ Ramorta nº65 54585 C/ Ramorta nº65 Bueu Pontevedra Cuarta Forma Normal. Una tabla está en Cuarta Forma Normal o 4FN si está en 3FN y las únicas dependencias funcionales multivaloradas que existen son las dependencias funcionales de la clave con los atributos que no forman parte de la misma. Estas dependencias multievaluadas de la clave con los atributos que no forman parte de la misma son dependencias triviales, por lo que algunos autores dicen que no existen dependencias multievaluadas en 4FN. Cuarta Forma Normal. Tabla que no esta en cuarta forma normal Transporte Conductor Tipo Vehículo Tipo Carga Juan Furgoneta Perecederos Marcos Furgoneta Perecederos Juan Furgoneta Muebles Marcos Furgoneta Muebles Juan Camión Mudanza Marcos Camión Mudanza Tabla en cuarta forma normal Tabla en cuarta forma normal Tipo Vehículo Tipo Carga Conductor Tipo Vehículo Furgoneta Perecederos Juan Furgoneta Furgoneta Perecederos Marcos Furgoneta Furgoneta Muebles Juan Furgoneta Furgoneta Muebles Marcos Furgoneta Camión Mudanza Juan Camión Camión Mudanza Marcos Camión Quinta Forma Normal. Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de ProyecciónUnión si está en 4FN y las únicas dependencias que existen son las dependencias de unión de una tabla con sus proyecciones relacionándose entre las distintas proyecciones mediante la clave primaria o cualquier clave alternativa. La 5FN se emplea cuando en una misma tabla tenemos mucha información redundante, con pocos atributos o cuando una tabla posee una gran cantidad de atributos y se hace por ello inmanejable. Quinta Forma Normal. Tabla en Cuarta Forma Normal. Id Datos Familiares 1 D1 D2 Datos Profesionales D3 D4 D5 Datos Personales D6 D7 D8 Datos Clínicos D9 D10 D11 D12 Tabla en quinta forma normal Tabla en quinta forma normal Id Datos Profesionales Id Datos Familiares 1 D4 1 D1 D5 D6 D2 D3 Tabla en quinta forma normal Tabla en quinta forma normal Id Datos Personales Id Datos Clínicos 1 D7 1 D10 D8 D9 D11 D12 Quinta Forma Normal. Si se tiene una tabla de préstamo de libros de una biblioteca, con los atributos título, fecha de préstamo y número de socios que ha tomado prestado el libro, existen multitud de registros que se crean diariamente en esa tabla, pero para cada libro o para cada socio habrá pocos registros Tabla que no esta en quinta forma normal Tabla en quinta forma normal Tabla en quinta forma normal Tabla en quinta forma normal Título-Socio Biblioteca Título-Fecha Fecha-Socio Título Socio Título Fecha Fecha Socio T1 S1 T1 FT FT S1 T2 S2 T2 FU FU S2 T3 S1 T3 FV FV S1 T4 S4 T4 FG FG S4 T1 S3 T1 FH FH S3 T2 S4 T2 FT FT S4 T3 S3 T3 FV FV S3 Tít ulo Fec ha Socio T1 FT S1 T2 FU S2 T3 FV S1 T4 FG S4 T1 FH S3 T2 FT S4 T3 FV S3 1. Dado el siguiente esquema de una base de datos que permita registrar los pagos o deducciones realizadas a un trabajador se pide indicar: Campos Claves Tipos de Datos Relaciones existente entre las tablas (indicar el tipo de la misma, 1 o muchas) Si falta alguna tabla para completar el modelo. Código trabajador Apellido Código trabajador Código Concepto Nombre Dirección Código Concepto Descripción Concepto T Emai Sexo E l L Fecha Pago Monto Concepto Código Depto Sueldo Código mensual Estado Civil Monto Porcentaje Concepto Tipo Concepto Asignación Deducción 2. El departamento de personal de ____le pide a usted diseñar una B.D. que le permita almacenar la información Que recibe el personal y del curriculum vitae presentado por las personas al momento de solicitar empleo, sabiendo que: - Una persona puede demostrar que domina el área de conocimiento por medio de documentos (diploma, certificados, carta aval), además esta persona puede dominar muchas áreas y un área puede ser dominada por muchas personas. - Se debe registrar la información académica de la persona indicando: lugar donde se curso, año de culminación, promedio de notas, titulo obtenido, sabiendo que una persona puede estudiar en muchas instituciones y en una institución pueden estudiar muchas personas. - Se desea lleva un registro de vehículos con el que cuenta el personal, sabiendo que un vehiculo esta asociado a un trabajador y un trabajador puede asociar muchos vehículos. - Además se debe llevar un registro de los exámenes médicos presentado por las personas a su ingreso (sus resultados) y de los exámenes de control realizado anualmente. SE PIDE: MOSTRAR EL ESQUEMA DE LA BASE de DATOS DE LAS TABLAS INVOLUCRADAS EN EL PROCESO. MODELO DE DATOS 1. - Dada las siguientes tablas indicar: Campos Claves Tipo de Dato de cada campo Relaciones existente entre las tablas Si falta alguna tabla para completar el modelo debe ser agregada Cédula Apellido Nombre Código Requisito Código Requisito Dir Cédula TEL Email Sexo Fecha Descripción Válido Código Estado Civil Inglés Foto 2. El dueño de un taller Mecánico desea desarrollar una B. D. que le permita llevar el control de los vehículos que son reparados en su taller, para ello le pide a usted el análisis y diseño de la B. D. a utilizar, sabiendo que: - Un vehiculo puede presentar muchas fallas a la vez - Una falla puede ser presentada por muchos vehículos - Un vehiculo tiene un solo dueño pero un dueño puede tener muchos vehículos en reparación - Un mecánico puede atender muchos vehículos y un vehiculo puede ser atendido por muchos mecánicos - Un vehiculo puede presentar la misma falla varias veces y se debe llevar el control del mecánico que la corrige - Un mecánico puede tener muchas especialidades y se debe indicar por cual especialidad corrige una falla SE PIDE: MOSTRAR EL ESQUEMA DE LA BASE de DATOS DE LAS TABLAS INVOLUCRADAS EN EL PROCESO.