UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE CIENCIAS EMPRESARIALES ESCUELA DE CONTABILIDAD TEMA: BASE DE DATOS POR: MAYRA ESTEFANIA ROMERO MORALES CATEDRÁTICO: ING. SIST. LUIS LOJAN CURSO: CUARTO “C” DIURNA ESPECIALIDAD: CONTABILIDAD Y AUDITORÍA AÑO LECTIVO: 2011 – 2012 MACHALA- EL ORO- ECUADOR BASE DE DATOS Definir el término base de datos Definición de Bases de Datos.Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos. Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. Explicar Sus Orígenes Y Antecedentes. Surgen desde mediados de los años sesenta la historia de las bases de datos, en 1970 Codd propuso el modelo relacional, este modelo es el que ha marcado la línea de investigación por muchos años, ahora se encuentran los modelos orientados a objetos. Describir las ventajas del uso de la base de datos en la organización Ventajas de las bases de datos.1. Independencia de datos y tratamiento. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento). 2. Coherencia de resultados. Reduce redundancia : Acciones lógicamente únicas. Se evita inconsistencia. 3. Mejora en la disponibilidad de datos No hay dueño de datos (No igual a ser públicos). Ni aplicaciones ni usuarios. Guardamos descripción (Idea de catálogos). 4. Cumplimiento de ciertas normas. Restricciones de seguridad. Accesos (Usuarios a datos). Operaciones (Operaciones sobre datos). 5. Otras ventajas: Más efiente gestión de almacenamiento. Efecto sinergico. Describir La Arquitectura De Una Base De Datos Distintos Niveles de un SBD Los SBD pueden ser estudiados desde 3 niveles distintos: 1.- Nivel Físico. Es el nivel real de los datos almacenados. Es decir como se almacenan los datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas personas que deben estar cualificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico. 2.- Nivel Conceptual. Es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir tratamos con la entidad u objeto representado, sin importarnos como está representado o almacenado. Este nivel lleva asociado el Esquema Conceptual. 3.- Nivel Visión. Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado que no tiene porqué tener acceso al sueldo de sus compañeros o de sus superiores. El esquema asociado a éste nivel es el Esquema de Visión. Los 3 niveles vistos, componen lo que conocemos como arquitectura de base de datos a 3 niveles. A menudo el nivel físico no es facilitado por muchos DBMS, esto es, no permiten al usuario elegir como se almacenan sus datos y vienen con una forma estándar de almacenamiento y manipulación de los datos. La arquitectura a 3 niveles se puede representar como sigue: Subesquema de Visión, Subesquema de Visión, Subesquema de Visión, ... Esquema Conceptual Esquema Físico Citar Las Diferentes Estructuras De Bases De Datos Modelos de Datos Para representar el mundo real a través de esquemas conceptuales se han creado una serie de modelos: Mundo Real Esq’s Conceptuales Modelización Existen multitud de estos modelos que se conocen como Modelos de Datos, algunos de estos modelos son: Modelo Relacional de Datos Modelo de Red Modelo Jerárquico 1.- Modelo Relacional de Datos. Representa al mundo real mediante tablas relacionadas entre sí por columnas comunes. Ex.: Num_empleado Nombre Sección 33 Pepe 25 34 Juan 25 Num_sección Nombre 25 Textil 26 Pintura 2.- Modelo de Red. Representamos al mundo real como registros lógicos que representan a una entidad y que se relacionan entre sí por medio de flechas. Ex.: 33 Pepe 25 Textil 34 Juan 3.- Modelo Jerárquico. Tiene forma de árbol invertido. Un padre puede tener varios hijos pero cada hijo sólo puede tener un padre. Ex.: Empresa 25 Textil 26 Pintura 27 Construcción 33 Pepe 34 Juan 36 Perico Al llegar a este punto adoptaremos una convención con respecto a las restricciones que se pueden dar en un modelo, en cuanto a la capacidad de relacionarse que pueda tener cada entidad de ese modelo con el resto de entidades. Como se ha dicho el modelo jerárquico sólo admite relaciones 1 : 1 ó 1 : N. En caso de que tuviésemos la necesidad de otro tipo de asociaciones y queramos usar el esquema jerárquico, recurriríamos a una duplicación de la información en el esquema, pero sólo a nivel esquemático. Ex.: Tenemos dos entidades (cliente y cuenta), queremos que un cliente pueda poseer varias cuentas, y que una cuenta pueda tener como titulares a varios clientes. Usando el modelo jerárquico tendríamos que recurrir a una duplicación de los datos en el esquema. Cliente Cuenta Cuenta Cliente Como ya se ha dicho esta duplicación sólo ocurriría a nivel esquemático, pero a nivel físico existiría un único registro por cliente, y por cuenta que relacionaríamos mediante varios punteros con todo lo necesario. En el modelo de red no existen restricciones, si queremos representar que un cliente puede tener varias cuentas, cada una de las cuáles sólo puede tener un titular, y cada cuenta ésta en una sola sucursal, que por supuesto puede ser compartida por varias cuentas, éste sería el esquema: Cliente Cuenta Sucursal Con el modelo relacional podríamos tener ambas entidades definidas de la siguiente forma: Cliente = (Nº Cliente: Acceso Principal; Nombre, Dirección, Nº Cuenta: Acceso Ajeno) Cuenta = (Nº Cuenta: Acceso Principal; Saldo) Se podría hablar de otro modelo que está un nivel más arriba y que se denomina Modelo Entidad-Relación (E/R). Este modelo sólo realiza el diseño, no realiza la implementación, por lo tanto una vez hecho el diseño se puede llevar al modelo relacional, de red o jerárquico. Define dos entidades y una forma de relación entre ellas. Ex.: Nombre Dcción Num_Cli Num_cuenta Saldo CLIENTE Cliente – CUENTA Cuenta Entidad Relación Entidad Clasificar Las Bases De Datos Por Su Uso Y Aplicación TIPOS DE MODELOS DE DATOS Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico, el modelo de red y el modelo relacional. MODELO JERARQUICO. Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. MODELO DE RED. Este modelo permite la representación de muchos a muchos, de tal forma que cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector. MODELO RELACIONAL. Este modelo se está empleando con más frecuencia en la práctica, debido a la ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido entendimiento por parte de usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos. BASES DE DATOS DISTRIBUIDAS. Las bases de datos distribuidas se están utilizando cada vez más en la misma medida en que se usan las arquitecturas de clienteservidor y groupware. Los principales problemas que se generan por el uso de la tecnología de bases de datos distribuidas son en lo referente a duplicidad de datos y a su integridad al momento de realizar actualizaciones a los mismos. Además, el control de la información puede constituir una desventaja, debido a que se encuentra diseminada en diferentes localidades geográficas. TENDENCIAS FUTURAS. En el futuro la mayoría de las organizaciones cambiarán la forma convencional de manejo de la información a la arquitectura de base de datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas se incrementará de manera considerable en la medida en que la tecnología de comunicación de datos brinde más facilidades para ello. El uso de bases de datos facilitará y soportará en gran medida a los Sistemas de Información para la Toma de Decisiones. 2. DBMS Definir Que Es Un "DBMS" El DBMS : es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos, esta compuesto por: DDL: Lenguaje de Definición de Datos DML:Lenguaje de Manipulación de Datos SQL: Lenguaje de Consulta. Ejemplificar Distintos "Dbms" Relacionales Existentes En El Mercado Actual Si se trata de una base de datos relacional (veremos a continuación qué significa esto), es probable que el lenguaje usado para recuperar las informaciones que se nos muestran sea SQL (Structured Query Language). Los DBMS más comunes son Oracle, SqlServer, Informix, Sysbase, Describir Las Caracteristicas De Al Menos 3 DBMS Bases de datos jerárquicos: los datos se organizan en grupos unidos entre ellos por relaciones de "posesión", en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer sólo a otro conjunto. La estructura resultante es un árbol de conjuntos de datos. Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y de hecho nace como una extensión de este último. También en este modelo conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto de datos puede pertenecer a uno o más conjuntos. Bases de datos relacionales: las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación. Base de datos por objetos (object-oriented): el esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este término cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos object-oriented, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podrá pensar en los objetos como en datos a los que se les ha puesto una inyección de inteligencia que les permite saber cómo comportarse, sin tener que apoyarse en aplicaciones externas. Explicar la diferencia entre un dbms y una base de datos La base de datos es una colección de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de numerosas rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea. Mencionar la importancia de una apropiada elección de dbms Se tiene que elegir el que tenga la mejor interfaz a las necesidades de la empresa y sobre todo que este apto para la base de datos que vayamos a utilizar. Citar los componentes de un sistema de base de datos Recursos que componen un sbd Un sbd estará formado por: Personas Máquinas Programas Datos Describir las funciones de cada componente de un sistema de base de datos 1. Los datos. Es lo que se conoce como base de datos propiamente dicha. Para manejar estos datos utilizamos una serie de programas. 2.- Los Programas. Son los encargados de manejar los datos, son conocidos como DBMS (Data Base Management System) o también SGBD (Sistema Gestor de Base de Datos). Los DBMS tienen dos funciones principales que son: - La definición de las estructuras para almacenar los datos. - La manipulación de los datos. 1.- Describir los sistemas de procesamiento de archivos La información necesita ser guardada y manipulada para que sea útil y este es uno de los objetivos principales que han tenido la computadoras dentro de la empresa. A principios de su incorporación al ámbito empresarial, las computadoras trabajaban con lo que se conoce como "Sistema de procesamiento de Archivos" en los que se guardaban los datos para ser procesados por programas escritos especialmente para cada clase de archivos; esto degeneraba en un sistema monolítico y de difícil mantenimiento. Sistema de Procesamiento de Archivos: Tiene una serie de inconvenientes que son Dificultad de Acceso a ciertos datos o información: reducidos en los SGBD: Si no existen programas para acceder o calcular cierta información, no puede accederse a ella. Ej.: Calcular totales, o registros con cierta condición... Aislamiento de Datos: Los datos pueden estar en varios archivos con distintos formatos, que complican la creación de programas nuevos. Falta de Integridad: Es complicado mantener ciertas condiciones en la información. Ej.: Que el saldo sea superior a cierta cantidad, que un empleado no esté adscrito a un número de Departamento que no exista... Problemas de Atomicidad en las operaciones: A veces es esencial que para la consistencia de la BD se efectúen varias operaciones como si fueran una única operación, evitando que se produzcan fallos en medio de dicha operación. Ej.: En una transferencia bancaria hay que dar de quitar dinero de una cuenta y añadirlo a la otra. Problemas en el Acceso Concurrente: Si varios usuarios acceden a la vez a un dato pueden producirse errores. Ej.: Si se saca dinero de una misma cuenta desde dos sitios distintos. Problemas de Seguridad: Dificultad para controlar que ciertos usuarios no accedan a ciertos datos Explicar su evolución histórica Viendo la necesidad de mejorar este estándar se desarrollaron los "Sistemas gestores de Base de Datos Relacionales"(SGBDR) cuyas características hacen al sistema mucho mas eficiente que los sistemas de manejos de archivos. Algunas de las características son que existe solo una copia de los datos para que todos los programas trabajen con ella, esto es lo que se denomina obtención de redundancia mínima y de esta manera se podrá eliminar la inconsistencia de los datos. La capacidad de interactuar en un ambiente cliente/servidor donde los clientes o usuarios (ya sea de una intranet o desde Internet) pudiendo trabajar con un un conjunto único de datos alojados en un servidor y donde varios clientes podrían estar trabajando al mismo tiempo. Estas son solo algunas de las características que tiene el modelo de base de datos relacional y en Linux existen diversos motores de base de datos que permiten trabajar ya sea con base de datos existentes o creando nuevas con todas las capacidades de trabajo en red de este sistema operativo. Numerosas empresas se han volcado al desarrollo de SGBDR's como Oracle e Informix pero la mas conocida por su carácter gratuito para el usopersonal y la inclusión en numerosas distribuciones es el PostgreSQL. En un principio adoptado para el sistema UNIX, fue portado a Linux y modificado para utilizar el lenguaje de consultas SQL, donde se llamo Posgres95. Mejorado en el 96 tomo su nuevo PostgeSQL y adopto las nuevas carácter del SQL 92. Actualmente posee ciertas limitaciones técnicas como el no permitir consultas paralelas, es decir que no pueden dos usuarios consultar una misma tabla al mismo tiempo, lo que impide su adopción en un ambiente de trabajo de grandes dimensiones. Pero el uso del lenguaje de consulta SQL lo hace especial para ambientes de trabajo que cuente con múltiples plataformas y también así para su utilización para ser consultado directamente desde internet a trabes de una pagina Web. PostgreSQL requiere de cierto conocimiento del lenguaje SQL por lo que es recomendable el estudio de bibliografía que trate este tema antes de trabajar en el diseño de una base de datos con el. No estaría bien terminar sin nombrar otros sistemas de base de datos como el Sybase SQL Anywhere Studio de la empresa Sybase cuya versión beta se encuentra disponible en el web site de la compañía www.sybase.com/products/anywhere/linuxbeta. Otro conocido en el campo de las bases de datos es Oracle y el portar Oracle 8 a Linux fue un gran avancé que da solides a este sistema operativo para su adopción en las grandes y medianas empresas. Describir los sistemas de procesamiento en línea y por lotes Un sistema de procesamiento por lotes (batch) ejecuta trabajos (jobs) En un sistema de procesamiento por lotes, organizar la memoria en particiones fijas es simple y efectivo: cada trabajo se carga en la memoria cuando le toque su turno, y se queda en memoria hasta que termine. Si hay suficientes particiones para mantener a la CPU siempre ocupada, no habría razones para usar nada diferente. Procesamiento en linea: A diferencia del procesamiento por lotes o batch, el procesamiento en línea implica que los programas se ejecuten de tal forma que los datos se actualicen de inmediato en los archivos de la computadora. A este tipo de procesamiento se le conoce también como tiempo real. Las aplicaciones de tiempo real son indispensables en aquellos casos en que los datos contenidos en los archivos se modifican varias veces en el transcurso de un día y se consultan en forma casi inmediata con las modificaciones que se efectuaron. Un ejemplo de lo anterior es un sistema de reservaciones en alguna línea aérea. Las diferentes estructuras de base de datos Objeto binario grande Estructuras de base de datos en las que estan almacenados los documentos reales, como un disco duro de gran capacidad al que puede tener acceso el Agente de oficina postal (POA). En un mismo objeto binario grande se almacenan el documento, sus versiones y los objetos relacionados. Los objetos binarios grandes estan comprimidos y encriptados. Las Base de Datos son clasificadas como sigue: 1. PLEX STRUCTURE: La base de datos tiene al menos un encadenamiento muchos a muchos ("MANY-TO-MANY link"). 2. TREE OR NETWORK: La base de datos no tiene ningún encadenamiento muchos a muchos ("ONE-TO-MANY link"). En este caso, los encadenamientos de uno a muchos ("ONE-TO-MANY links") están dirigidos para que las flechas sencillas apunten hacia arriba y las dobles hacia abajo. Como resultado de esto, el diagrama esta orientado y se pueden definir varios niveles. Cada encadenamiento ("link") se une del nivel superior ("the parent") al sub nivel ("the child"). 2.1 TREE STRUCTURE: Por definición, en la estructura de árbol ("tree structure"), cada hijo ("child") tiene un solo padre ("parent"). 2.2 NETWORK STRUCTURE: Por definición, en la estructura de red ("network structure"), cada hijo ("child") puede tener varios padres ("parents"). 10.- Clasificar a las base de datos por su uso y aplicación 1. Bases de datos referenciales: son aquellas que ofrecen registros que su vez son representaciones de documentos primarios. Dentro de éstas distinguen, as su vez, entre: 1.1. bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico. 1.2. directorios: aquellas cuyo contenido está referido a la descripción de otros recursos de información, como por ejemplo un directorio de bases de datos. 2. Bases de datos fuente: serían aquellas bases de datos que ofrecen el documento completo, no una representación del mismo. También distinguen entre: 2.1. numéricas: contienen información de tipo numérico, como un censo o indicadores cuantitativos. 2.2. textuales: ofrecen el texto completo de un documento. 2.3. mixtas: combinan ambos tipos de información, como por que podamos encontrar en el web. 3. Multitarea La ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo. 4. Multiusuario Un SO multiusuario permite a mas de un solo usuario accesar una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Actualmente se producen versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de Unix para la Machintosh llamada: A/UX.Unix , Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo 1.Mediante Módems 2.Mediante conexión de terminales a través de puertos seriales 3.Mediante Redes 5. Multiproceso Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesadorqueda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico. Lenguajes que tienen estas características C, SQL, El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas. Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM) y Windows, desarrollado por Microsoft. El sistema operativo multitarea de las computadoras Apple se denomina Macintosh OS. Las bases de datos son recursos que recopilan todo tipo de información, para atender las necesidades de un amplio grupo de usuarios. Su tipología es variada y se caracterizan por una alta estructuración y estandarización de la información. Que son las bases de datos Es el conjunto de informaciones almacenadas en un soporte legible por ordenador y organizadas internamente por registros (formado por todos los campos referidos a una entidad u objeto almacenado) y campos (cada uno de los elementos que componen un registro). Permite recuperar cualquier clase de información: referencias, documentos textuales, imágenes, datos estadísticos, etc. Componentes básicos de una base de datos o o o o o Documentos, constituyen la entidad físico/cognitiva compleja que alberga la estructura formal, basada en los datos físicos necesarios para su identificación (título, autor, lugar de publicación, fecha, edición,...) y la estructura lógicocognitiva, centrada en el contenido y en las propiedades semánticas. Representación de documentos, tanto de sus propiedades físicas como semánticas se hace mediante palabras clave, frases, etc. que servirán de puntos de acceso cuando interroguemos al sistema. Necesidades de información de los usuarios, manifestadas en la solicitud de información. Representación de las necesidades de información, expresadas también con palabras clave o frases. Comparación de la representación de información con la representación de los documentos. Las bases de datos, basadas en la función semejanza compara, a través de un índice, ambas representaciones para seleccionar los documentos relevantes. Clasificación Según la naturaleza de la información contenida en las bases de datos, se distinguen dos grandes grupos: Bases de datos referenciales: La información que contiene es muy estructurada principalmente a través de tablas. Con éstas se pueden establecer relaciones que pueden dar lugar a nuevas tablas o bases de datos. Ejemplo de este tipo de base de datos es el programa Access, Oracle, etc. Bases de datos documentales: Los registros que componen la base de datos se relaciona con los documentos almacenados. Su organización se estructura de la siguiente manera: un registro se relacionan con un número de identificación del documento original, y se puede acceder a éste mediante los distintos campos. Dependiendo del tipo de cobertura temática pueden ser: o o Bases de datos multidisciplinares: la documentación almacenada abarca distintas disciplinas científicas como es el caso de TESEO (tesis de todas las disciplinas) Bases de datos especializadas: la documentación almacenada abarca sólo una disciplina como es el caso de Medline (sólo documentación relacionada con Medicina) Según la cobertura geográfica: o o Internacionales: Almacenan la documentación publicada en cualquier lugar del mundo. Por ejemplo: LISA Nacionales: Almacenan la documentación publicada sólo en un ámbito nacional. Por ejemplo: IME Elegir la base de datos adecuada CICA (Centro Informático Científico de Andalucía) o Objetivo: potenciar las investigaciones relacionadas con las Tecnologías de la Información y de las Comunicaciones e impulsar la creación de una red informática capaz de satisfacer las necesidades de cálculo científico de Andalucía. Prestar servicio informático, en las labores de investigación y docencia, a la comunidad académica y científica de Andalucía, así como la planificación, coordinación y mantenimiento de RICA y su integración en laRedIRIS a nivel estatal. o Índice del servidor web del CICA o Documentación disponible http://www.cica.es/docu/ o Servicios o Las bases de datos del CICA pueden realizar la búsqueda a través de servidores web como Harvest o Wais ProQuest o ProQuest se organiza en bases de datos de periódicos, revistas y revistas científicas relacionadas que puede usar para encontrar artículos. La información de cada base de datos varía, dependiendo de su orientación. Algunas bases de datos contienen bases de datos menores, que tratan temas específicos. Por ejemplo, la base de datos de periódicos de ProQuest contiene dos bases de datos de menor nivel: Detroit News, y The New York Times. o Enlaza con distintas revistas del ámbito de la medicina y la sicología, permitiendo buscar en varias a la vez. o El tesauro nos ayuda a delimitar terminologicamente la búsqueda, es decir utilizamos el término correcto para hacer la búsqueda. WebSPIRS o WebSPIRS (SilverPlatter's Information Retrieval System for the World Wide Web) permite utilizar un navegador para consultar las bases de datos de SilverPlatter. o Dependiendo de como esté configurado el cliente de WebSPIRS, se pueden imprimir, guardar o enviar por correo electrónico los registros recuperados, y guardar los historiales de búsqueda para utilizarlos en sesiones posteriores. También es posible obtener información acerca de los fondos de la biblioteca en relación con los documentos mencionados en los registros, enlazar directamente con revistas electrónicas (si la biblioteca está preparada para proporcionar dicha información), o solicitar el envío de documentos. o Si la biblioteca utiliza la opción de la DSI (Difusión Selectiva de Información) de WebSPIRS, es posible programar búsquedas que se ejecuten automáticamente y recibir por correo electrónico avisos de la aparición de nuevos registros. También es posible suscribirse a Alertas DSI creadas por el bibliotecario. o Elegir la bases de datos que nos interesan. o Definir la estrategia de búsqueda con ayuda del índice y el tesauro. o Limitar la búsqueda (nos puede ayudar a eliminar muchos documentos que no son necesarios). CINDOC o Sistema de información de bases de datos o Presenta el listado de las bases de datos o Podemos acceder a los campos principales y posteriormente si nos interesa el documento hacer el pedido. o Las búsqueda se puede limitar y también emplear índices o Construir búsqueda Extraer varias frases que representen con precisión el tema. Identificar todos los conceptos significativos de las frases. Establecer sinónimos, variantes gramaticales, etc. Traducir los conceptos a varios idiomas. Construir el lenguaje de búsqueda con ayuda de los operadores. o Operadores Lógicos Posicionales Existencia Exactitud Operadores Y lógico Sólo en resultados donde (AND) conceptos revistas and ocio Lógicos aparecen todos NO lógico Excluye el concepto negado revistas and not ocio (NOT) O lógico Une los conceptos empleadosRevistas o ocio (OR) los Posicionales Cerca (NEAR) Une los conceptos empleados y además no puede haber una separación de más de 10 palabras. Junto (ADJ) Es la intersección de los conceptos pero además se exige que no haya otra palabra que los separe Frases Se requiere que la frase sea exacta para ello es conveniente utilizar comillas "Revista de ocio en ciudades costeras" Presencia Especifica que los conceptos deben aparecer en el resultado, para ello se utiliza el signo + Ausencia No se quiere que ese concepto esté presente en la búsqueda, para ello se utiliza el signo - Existencia Exactitud Se quiere que en la búsqueda aparezcan familias de la palabra utilizada, para ello se utiliza el símbolo *, $ NORMALIZACIÓN DE BASES DE DATOS Para otros usos de este término, véase Normalización (desambiguación). El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: Cada tabla debe tener su nombre único. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo. Terminología relacional equivalente Figura 1.0: Trabajo (Código, Nombre, Posición, Salario), donde Código es la Clave Primaria. Relación = tabla o archivo Registro = registro, fila , renglón o tupla Atributo = columna o campo Clave = llave o código de identificación Clave Candidata = superclave mínima Clave Primaria = clave candidata elegida Clave Ajena (o foránea) = clave externa o clave foránea Clave Alternativa = clave secundaria Dependencia Multivaluada = dependencia multivalor RDBMS = Del inglés Relational Data Base Manager System que significa, Sistema Gestor de Bases de Datos Relacionales. 1FN = Significa, Primera Forma Normal o 1NF del inglés First Normal Form. Los términos Relación, Tupla y Atributo derivan del álgebra y cálculo relacional, que constituyen la fuente teórica del modelo de base de datos relacional. Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valores que el mismo puede tomar. Una instancia de una tabla puede verse entonces como un subconjunto del producto cartesiano entre los dominios de los atributos. Sin embargo, suele haber algunas diferencias con la analogía matemática, ya que algunos RDBMS permiten filas duplicadas, entre otras cosas. Finalmente, una tupla puede razonarse matemáticamente como un elemento del producto cartesiano entre los dominio. Dependencia Dependencia funcional B es funcionalmente dependiente de A. Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si se conoce el valor deFechaDeNacimiento podemos conocer el valor de Edad. Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimiento Edad Aquí a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formas FechaDeNacimientodetermina a Edad o Edad es funcionalmente dependiente de FechaDeNacimiento. De la normalización (lógica) a la implementación (física o real) puede ser sugerible tener éstas dependencias funcionales para lograr la eficiencia en las tablas. Propiedades de la Dependencia funcional Existen 3 axiomas de Armstrong: Dependencia funcional Reflexiva Si "x" está incluido en "x" entonces x x A partir de cualquier atributo o conjunto de atributos siempre puede deducirse él mismo. Si la dirección o el nombre de una persona están incluidos en el DNI, entonces con el DNI podemos determinar la dirección o su nombre. Dependencia funcional Aumentativa entonces DNI nombre DNI,dirección nombre,dirección Si con el DNI se determina el nombre de una persona, entonces con el DNI más la dirección también se determina el nombre y su dirección. Dependencia funcional transitiva Dependencia funcional transitiva. Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de Xy Z de Y, pero X no depende funcionalmente de Y, se dice entonces que Z depende transitivamente de X. Simbólicamente sería: X Y Z entonces X FechaDeNacimiento Edad Z Edad Conducir FechaDeNacimiento Edad Conducir Entonces tenemos que FechaDeNacimiento determina a Edad y la Edad determina a Conducir, indirectamente podemos saber a través de FechaDeNacimiento a Conducir (En muchos países, una persona necesita ser mayor de cierta edad para poder conducir un automóvil, por eso se utiliza este ejemplo). Propiedades deducidas Unión y entonces Pseudo-transitiva y entonces Descomposición y z está incluido en y entonces Claves Una clave primaria es aquella columna (o conjunto de columnas) que identifica únicamente a una fila. La clave primaria es un identificador que va a ser siempre único para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la tabla pero es más una conveniencia que una obligación. Muchas veces la clave primaria es numérica auto-incrementada, es decir, generada mediante una secuencia numérica incrementada automáticamente cada vez que se inserta una fila. En una tabla puede que tengamos más de una columna que puede ser clave primaria por sí misma. En ese caso se puede escoger una para ser la clave primaria y las demás claves serán claves candidatas. Una clave ajena (foreign key o clave foránea) es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en una tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa. En este caso no se usó como clave primaria porque es posible que no se conozca ese dato en todos los clientes. Una clave compuesta es una clave que está compuesta por más de una columna. La visualización de todas las posibles claves candidatas en una tabla ayudan a su optimización. Por ejemplo, en una tabla PERSONA podemos identificar como claves su DNI, o el conjunto de su nombre, apellidos, fecha de nacimiento y dirección. Podemos usar cualquiera de las dos opciones o incluso todas a la vez como clave primaria, pero es más óptimo en la mayoría de sistemas la elección del menor número de columnas como clave primaria. FORMAS NORMALES Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N. Diagrama de inclusión de todas las formas normales. En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.1 Primera Forma Normal (1FN) Artículo principal: Primera forma normal Una tabla está en Primera Forma Normal si: Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos. La tabla contiene una llave primaria única. La llave primaria no contiene atributos nulos. No debe existir variación en el número de columnas. Los Campos no llave deben identificarse por la llave (Dependencia Funcional) Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados Una tabla no puede tener múltiples valores en cada columna. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y y viceversa) Esta forma normal elimina los valores repetidos dentro de una BD Segunda Forma Normal (2FN) Artículo principal: Segunda forma normal Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal). En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que . Una dependencia funcional es una dependencia parcial si hay algunos atributos que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es . Por ejemplo {DNI, ID_PROYECTO} HORAS_TRABAJO (con el DNI de un empleado y el ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI HORAS_TRABAJO ni ID_PROYECTO HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO} NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI NOMBRE_EMPLEADO mantiene la dependencia. Tercera Forma Normal (3FN) Artículo principal: Tercera forma normal La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave. Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y. Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es transitiva vía DNUMBER porque las dependencias SSN→DNUMBER y DNUMBER→DMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de EMP_DEPT. Formalmente, un esquema de relacion R está en 3 Forma Normal Elmasri-Navathe,2 si para toda dependencia funcional , se cumple al menos una de las siguientes condiciones: 1. X es superllave o clave. 2. A es atributo primo de R; esto es, si es miembro de alguna clave en R. Además el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal. Forma normal de Boyce-Codd (FNBC) Artículo principal: Forma normal de Boyce-Codd La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la presencia de un intervalo seguido de una formalizacion perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir. Formalmente, un esquema de relación R está en FNBC, si y sólo si, para toda dependencia funcional válida en R, se cumple que 1. X es superllave o clave. De esta forma, todo esquema R que cumple FNBC, está además en 3FN; sin embargo, no todo esquema R que cumple con 3FN, está en FNBC. Cuarta Forma Normal (4FN) Artículo principal: Cuarta forma normal Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias. Quinta Forma Normal (5FN) Artículo principal: Quinta forma normal Una tabla se encuentra en 5FN si: La tabla está en 4FN No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por las claves candidatas.