Vista previa del material en texto
Segundo cuatrimestre Fundamentos de la Informática Curso de Acceso http://creativecommons.org/licenses/by-nc-nd/4.0 Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Temario • Primer Cuatrimestre examen parcial en Febrero: – Tema 1: Hardware – Tema 2: Puertos de conexión y periféricos – Tema 3: Sistemas operativos – Tema 4: Programación y desarrollo de Software • Segundo cuatrimestre examen parcial en Junio: – Tema 5: Bases de datos y sistemas de información – Tema 6: Software de usuario – Tema 7: Redes y conectividad – Tema 8: Internet y seguridad informática Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Texto Base • "Introducción a la Informática Básica", Editorial UNED, • ISBN: 9788436271997 • Conviene leer cada tema antes de venir a la tutoría Tema 5 Bases de datos y Sistemas de Información Dictino Chaos García dchaos@dia.uned.es Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Qué es una Base de Datos? ¿Y un Sistema de Información? • Hasta ahora hemos hablado del ordenador=computador – Hacer cálculos • Pero el ordenador también es un organizador/procesador de la información: – Base de datos = datos + estructura • Fácil de gestionar – añadir, recuperar datos, buscar, filtrar, crear informes… • Ej: Listín telefónico – Sistemas de información = SW + WH (todo) • Ej. sistema de nóminas, hacienda, sistema de transacciones bancarias. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Base de datos • Datos almacenados sistemáticamente. – Archivos (donde están los datos) – Estructura – Programa que gestiona dichos datos (motor). • Elementos básicos de una BD – Tabla: Agrupación de registros (una BD puede tener varias tablas) • Registros: grupo de datos relacionados con un nombre – Campo: Cada elemento del registro. Puede estar vacío pero todos los registros tienen todos los campos. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ejemplo • Una compañía quiere tener organizados los clientes: – Tabla: Cliente – Registro: un cliente individual (definición de los campos. – Campos: • Nombre • Teléfono • Dirección • … Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Qué se puede hacer con la BD? • Operaciones básicas: – Crear tablas: • Nombrar cada campo (“nombre”, “teléfono”, “dirección”) • Definir el tipo del campo: – Texto – Número (entero o decimal) – Fecha/hora – Campos lógicos (verdadero/falso) – Campos binarios (cajón de sastre para almacenar cualquier cosa sin “estructura” en la BD, imagen, audio, ficheros….) – Campos contadores (autonuméricos): Asignan números consecutivos a cada registro para que no haya dos registros iguales. EJ número de factura o número de expediente de un estudiante. • Indicar el tamaño máximo del campo (suele estar predefinido en el tipo) – OJO: se define el tamaño de los registros (a través de sus campos) no el tamaño de la tabla que puede tener tantos registros como quepan en la memoria del ordenador. Y “crece sobre la marcha”. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Tanta historia para qué? • Introducir datos – Formularios: Vista de los datos un registro que hay que introducir (no necesariamente todos) • Puede haber roles, por ejemplo una persona puede acceder/modificar ciertos datos y otra otros datos de un mismo registro. – El tipo permite evitar que se introduzcan datos erróneos (ej. “a23” en un campo numérico) – Se introduce cada registro uno a uno, no debe haber duplicados (autocontador). • Visualizar registros – Filtros: Consultar registros que cumplan una condición particular (ej: ver todos los clientes de Madrid) Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Y todavía más • Ordenar registros (a partir de uno de los campos) Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos BD Relacionales • ¿Y eso de la relación qué es? – En matemáticas una relación es un conjunto de tuplas (conjuntos de elementos ordenados): • A={coche, moto, bicicleta} conjunto • B={rojo, azul, verde} conjunto • C={privada, publica} conjunto – R(A,B,C)={(bicicleta, verde, publica), (coche, amarillo publico)} Relación – Este conjunto nuevo “relaciona” varios conjuntos, es decir “liga” elementos de uno con los del otro: • Sabemos que hay un choche amarillo y publico (taxi) pero no un coche rojo público o una bicicleta azul privada. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos En cristiano… • El conjunto no tiene elementos repetidos • Todas las tuplas han de ser similares (mismos elementos) • Cada elemento de la tulpa está bien definido al pertenecer a un conjunto. • ¡Es lo que hemos estado diciendo hasta ahora! (sin ponerle nombre) las relaciones son las tablas. • Se puede usar el álgebra relacional para implementar los métodos: – Ejemplo buscar clientes de Madrid o Barcelona: • Unión de lo conjutos de “clientes de Madrid” y “clientes de BCN” Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Para qué tanto formalismo? • El modelo relacional mantiene el orden en los datos OK (relacional) MAL ( no relacional) Elemento repetido MAL ( no relacional) Distintos elementos ={(555289635,Luis,Garcia,Real,Madrid),(257635891,Antonio,Pérez, del Caño, Segovia)} ={(555289635,Luis,Garcia,Real,Madrid),(257635891,Antonio,Pérez, del Caño, Segovia), (555289635,Luis,Garcia,Real,Madrid)} ={(555289635,Luis,Garcia,Real,Madrid,España),(257635891,Antonio,Pérez,del Caño,Segovia)} Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Archivos múltiples y relacionados • Puede haber muchos archivos y muchas tablas • Las tablas pueden (suelen) estar relacionadas entre ellas. – Ejemplo: Una empresa que mantiene una BBDD de ventas: • Tabla de clientes (como la anterior) • Tabla de productos (nombre, precio…) • Tabla de ventas (relaciona un cliente y varios productos) • Las relaciones evitan duplicar datos Entidad Relación Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ejemplo • Entidades: Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Relación • Tabla de ventas Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Construcción de una BD • Se puede programar (ej: SQL) o usar SW de usuario. • EJ: Ms-Access – Primero se crea la tabla – Luego se indican los campos del registro – Finalmente se rellenan los datos Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ejemplo construcción • Rellenando datos • O mejor con un formulario Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ejemplo consulta • Una consulta es una “sub-tabla” que se obtiene de otra tabla imponiendo alguna condición. – Permite quedarnos sólo con ciertos campos (proyección) – Permite establecer criterios (selección) – EJ: queremos solo el nombre el teléfono de clientes de Segovia Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Más tablas y relacciones • Se pueden crear otras tablas • Y establecer relaciones entre ellas • Ventajas: – Evitamos duplicar información – Aseguramos que los datos son correctos Ej • No podemos pone un cliente que no existe • No podemos vender un producto erróneo – Podríamos ir más allá y hacer una tabla con ciudades por ejemplo… Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ejemplo continuación • Se crean dos tablas y una relación Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Para qué hacemos relaciones? • Para luego poder crear consultas relacionadas Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Múltiples usuarios • En el ejemplo anterior “yo me lo guiso y yo me lo como” • En un ejemplo realista hay variaspersonas que manejan la BD – Una persona diseña la BD – Alguien introduce los datos en los formularios – Otras personas hacen consultas… – Y todo esto puede ocurrir simultáneamente Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Roles • Administrador (ABD) controla el SGBD – Define: • El esquema de la base de datos • La estructura y modo de acceso (que tablas hay, qué se puede modificar y quién) • Esquema y organización física (donde está guardada) • Otorga autorización al resto de usuarios • Realiza mantenimiento (integridad, copia de seguridad, etc) • También se puede encargar de la implantación y mantenimiento. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Roles • Usuario avanzado – Hace consultas en SQL u otro lenguaje • Programador de app – Escribe programas que interactúan con la BBDD – Puede usar desarrollo rápido de aplicaciones (DRA) (Ej: cuando creamos los formularios en Access) • Usuario normal – Usa las app o los formularios sin saber cómo funciona la BBDD. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Concurrencia • Condiciones mínimas de seguridad – Restricción de seguridad de acceso • ¿Quién puede leer/escribir qué cosa? • Usuario autorizados • Ej un usuario “normal” no puede crear/borrar tablas – Restricción de integridad de datos • ¿y si varios tocan a la vez la BBDD? • Hay que mantener la coherencia – Ej: transferencia bancaria (en una cuenta se suma y en otra se resta) si solo se hace una cosaerror – Ej: Un usuario crea un nuevo cliente y otro quiere crear ese mismo cliente duplicado erróneo Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos SQL • “Structured Query Language” • Ejemplo: create table producto -- se crea la tabla producto -- (id_producto numeric(12,2),-- campo numérico 12 dígitos y 2 decimales -- nombre_producto char(10), -- campo con 10 caracteres -- marca char(10), pais char(10), precio numeric(12,2)) Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Más SQL • Lenguaje “declarativo” – No da órdenes sino que describe el resultado deseado – Se basa en la teoría subyacente del álgebra relacional – Es interpretado por el gestor SGBD • Las consultas también se declaran: select * from producto where pais=’Alemania’ Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Sistemas de Información? Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos ¿Sistemas de Información? Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Sistemas de Información Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Sistema de información • conjunto de tecnologías relacionadas para realizar y gestionar la información de una cierta actividad • Incluye al WH, SW y todo lo necesario para el almacenamiento, análisis y recuperación de la información. • EJ: Amazon – Información de clientes – Información de ventas – Información de productos – Infraestructura de servidores para mantener todo lo anterior… – OJO: Estamos hablando sólo de la parte informática Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Elementos básicos de los SI • Información: Generalmente en BBDD • Mecanismos de recuperación: Ej consultas de la BBDD, Búsquedas… • Recopilación de la información (sistema de entrada de datos) • Tipos principales: – Automatización de oficinas: • Editores de texto/documentos – EJ Office • SAP: gestión contable, control de calidad, transacciones bancarias, compras, inventarios… – En muchos casos se usa un SI integrado Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Más tipos de SI • Procesamiento de transacciones – Ej: Bancos • La transacción implica intercambio y es muy importante la concurrencia – O se hace entera no se hace, no puede quedar a medias. EJ: compra por internet, transferencia bancaria… • No solo se usa en cuestiones dinerarias – Censos, catastro, expediente sanitario, …. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Y todavía más tipos • Administración de la información – Tengo muchos datos, necesito organizarlos. • Gestionar que información recibe/genera cada quién • Herramientas para supervisar el flujo de información • Apoyo a la toma de decisiones – ¿Vamos a comprar esa empresa? información financiera – Debe facilitar el análisis de la información • Sistemas expertos – Información + conocimiento = decisiones – EJ. Diagnóstico médico Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos No todo es SW en la vida Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos HW para sistemas de información • El acceso ha de ser rápido • Los datos han de estar protegidos (fiable) • Los elementos principales a considerar son: – Unidades de proceso • Fiables, seguro frente a vulnerabilidades • Fácil de sustituir • Eficiente (costo y gasto energético) • Puede haber distintos elementos para distintas tareas (especialización) – Unidades de almacenamiento • Fiabilidad y rapidez • Discos en RAID (Redundant Array of Independent Disks) • Hay que tener siempre BACKUPS – Sistemas de comunicaciones • Fiabilidad, seguridad y rapidez. • Redes privadas (internas a la compañía) • Redes públicas (servicios externos) SI en Internet Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Ciclo de vida del SI • Parecido al ciclo de vida del SW o cualquier proyecto de ingeniería: – Análisis: ¿Qué necesitamos? requisitos – Diseño: ¿Cómo lo vamos a hacer? Diseño – Implementación: ¡Vamos a hacerlo! – Pruebas: Ver que todo funciona documento de pruebas – Mantenimiento: Corregir errores y hacer mejoras documento de cambios • Metodologías ágiles: – Fácil de cambiar los requisitos – Se comienza entregando prototipos y el cliente da realimentación. Fundamentos de la Informática Dictino Chaos GarcíaTema 5: Bases de Datos Estado actual del tema • BD principales – MS Access 16.0 Integrado con la suite de Office. – MySQL SW Libre muy usado en aplicaciones WEB. Usa SQL y permite usuarios remotos. – Oracle Database: Muy importante a nivel corporativo, compite con Microsoft SQL y MySQL. Segundo cuatrimestre�Fundamentos de la Informática Temario Texto Base Tema 5 �Bases de datos y Sistemas de Información ¿Qué es una Base de Datos? �¿Y un Sistema de Información? Base de datos Ejemplo ¿Qué se puede hacer con la BD? ¿Tanta historia para qué? Y todavía más BD Relacionales En cristiano… ¿Para qué tanto formalismo? Archivos múltiples y relacionados Ejemplo Relación Construcción de una BD Ejemplo construcción Ejemplo consulta Más tablas y relacciones Ejemplo continuación ¿Para qué hacemos relaciones? Múltiples usuarios Roles Roles Concurrencia SQL Más SQL ¿Sistemas de Información? ¿Sistemas de Información? Sistemas de Información Sistema de información Elementos básicos de los SI Más tipos de SI Y todavía más tipos No todo es SW en la vida HW para sistemas de información Ciclo de vida del SI Estado actual del tema