Bases de Datos I Introducción



Documentos relacionados
Bases de Datos I Introducción

Bases de Datos 3º Informática de Sistemas

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS.

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Unidad I: Sistemas Gestores de Bases de Datos. 1.1 Objetivo de las Bases de Datos

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS))

Es una colección de datos operativos almacenados y utilizados por los programadores de aplicaciones y por usuarios finales de muy diversa índole!

BASES DE DATOS TEMA 1

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Base de datos relacional

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

BASES DE DATOS TEMA 1. INTRODUCCION

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Sistemas de Información II Tema 1. El enfoque de bases de datos

Introducción a los sistemas de bases de datos

Estructura de Bases de datos. Leonardo Víquez Acuña

Asignaturas, profesores, alumnos. Profesores, grupos, asignaturas, aulas

Introducción a las bases de datos

Tema 1: Introducción

Universidad de Cantabria

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

BASES DE DATOS - SQL. Javier Enciso

INTRODUCCIÓN A LAS BASES DE DATOS

BASES DE DATOS, MODELOS DE DATOS Y DBMS

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

Funciones del Administrador de Base de Datos. Ing. Anaylen López, MSc Base de Datos II

DBMS (Data Base Management System) Un Sistema de Gestión de Base de Datos, consiste en una colección de datos interrelacionados y un conjunto de

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

Conceptos Avanzados de Bases de datos

TEMA 2 ARQUITECTURA. 1. Arquitectura ANSI-SPARC El DBA y el SGBD Arquitectura back-end / front-end... 31

T ema 2. S is tem as ges tores de bas es de datos

Bases de Datos. Sistemas de Gestión de Bases de Datos

BASE DE DATOS RELACIONALES

Sistema de Mensajería Empresarial para generación Masiva de DTE

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

1. Introducción Información y datos Ficheros vs. Bases de datos

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

2. Proceso de creación de bases de datos

Introducción a los Sistemas de Gestión de Bases de Datos

Arquitectura Cliente/Servidor

CAPITULO 2. Como se definió en el plan del presente proyecto, este será desarrollado bajo

1.1 Definición de bases de Datos Distribuidas

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Tema 11 Bases de datos. Fundamentos de Informática

Sistemas de Operación II

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Tema 1. Conceptos básicos

Capítulo 4 Implementación

Asignación de Procesadores

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

GENERALIDADES DE BASES DE DATOS

Criterios para seleccionar tecnología de Modelos de Toma de Decisiones

Administración de Bases de Datos

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.

UML, ejemplo sencillo sobre Modelado de un Proyecto

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA

Introducción a los sistemas de Bases de datos. Profesor: Msc. MIGUEL ANGEL NIÑO ZAMBRANO

Parte II: Herramientas

Implementación de la Portabilidad Numérica Móvil

MODULO ADMINISTRATIVO

Introducción a Bases de Datos

DGB14DR-101 DCA/2002

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

PRESENTACIÓN Resultado de Aprendizaje:

Introducción a Visual Studio.Net

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

Especificación de Requerimientos Funcionales y No Funcionales. Sistema Reservación Hotelera

Base de datos en la Enseñanza. Open Office

TEMA 1. INTRODUCCIÓN A LAS BASES DE DATOS...1

Access Ministerio de Educación, Cultura y Deporte SERIE OFIMÁTICA COLECCIÓN AULA MENTOR. CamSo SGALV

GUÍA DOCENTE. Curso Ingeniería Informática en Sistemas de Información Doble Grado:

Manual de Usuario SOFTWARE DESPACHO JURIDICO 2015.

Figura 4.1 Clasificación de los lenguajes de bases de datos

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

cpbackup le protege frente a cualquier eventualidad: virus, averías de hardware, incendios, desastres naturales...

DATOS ESPECÍFICOS DEL CURSO

Guía del Curso. IFCD0112 Programación con Lenguajes Orientados a Objetos y Bases de Datos. Relacionales

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

CONTROL DE ASISTENCIA DE PERSONAL

BASES DE DATOS. Grado en. Ingeniería Telemática Ingeniería en Sistemas de Telecomunicación Ingeniería Electrónica de Comunicaciones

Transcripción:

Bases de Datos I Introducción Dra. Amparo López Gaona tación Fac. Ciencias, UNAM

Introducción El mundo está lleno de datos: Pacientes/Doctores. Alumnos/Profesores. Cuentas bancarias. Deportistas /Deportes. Actores/Peĺıculas. Recetas de cocina. Superhéroes, etc. Qué queremos hacer con ellos? Consultarlos. Actualizarlos. Con el propósito de obtener información.

Bases de datos en la vida diaria Compras en la web. Servicios al cliente. Servicios bancarios. Sistema de inscripciones. Compras en el supermercado. Préstamos bibliotecarios. Sistemas de reservaciones. Sistemas de registros médicos. (hospitalizaciones, expedientes, etc.) Nóminas u otros servicios para empleados. etc.

Ejemplo de desarrollo de una aplicación Supongamos que requerimos hacer una aplicación para almacenar/obtener información acerca de: Estudiantes Cursos Profesores Quién cursa qué? Quién enseña qué?

Necesidades Qué necesidades se tienen? 1 Almacenar los datos por mucho tiempo. 2 Manipular grandes volúmenes de datos (cientos de GB). 3 Proteger los datos contra desastres. 4 Proteger los datos contra usos no-autorizados. 5 Consultar/actualizar: Quién imparte BD? Está Andrea López en el curso de BD? 6 Permitir acceso simultáneo a cientos o miles de usuarios. 7 Permitir modificar el esquema.

Características del procesamiento de archivos Cada usuario define e implementa los archivos necesarios para una aplicación específica con la subsecuente duplicidad de datos. Los datos se almacenan en diversos archivos independientes. Se deben escribir programas para actualizar los archivos. Inconsistencia en los datos. Cambios a la estructura de un archivo requieren cambiar todos los programas que acceden a este archivo. Los datos almacenados se pueden acceder sólo de la forma definida. Dificultad de acceso en los datos. La definición de datos es parte de los programas de aplicación. Aislamiento de datos.

Intento con archivos El almacenamiento de datos: El sistema de archivos limita el tamaño de éstos. Cuando el sistema se cae, los datos pueden perderse. La autorización basada en passwords es insuficiente.

Intento con archivos El almacenamiento de datos: El sistema de archivos limita el tamaño de éstos. Cuando el sistema se cae, los datos pueden perderse. La autorización basada en passwords es insuficiente. Consulta/actualización: Se necesita escribir un nuevo programa para cada nueva consulta. Es necesario implementar poĺıticas para lograr un buen rendimiento.

Intento con archivos El almacenamiento de datos: El sistema de archivos limita el tamaño de éstos. Cuando el sistema se cae, los datos pueden perderse. La autorización basada en passwords es insuficiente. Consulta/actualización: Se necesita escribir un nuevo programa para cada nueva consulta. Es necesario implementar poĺıticas para lograr un buen rendimiento. La concurrencia proporciona una protección limitada: Necesitas preocuparte que los usuarios no interfieran entre sí. No puedes proporcionar diferentes vistas de los mismos datos: (registros, estudiantes, profesores).

Intento con archivos El almacenamiento de datos: El sistema de archivos limita el tamaño de éstos. Cuando el sistema se cae, los datos pueden perderse. La autorización basada en passwords es insuficiente. Consulta/actualización: Se necesita escribir un nuevo programa para cada nueva consulta. Es necesario implementar poĺıticas para lograr un buen rendimiento. La concurrencia proporciona una protección limitada: Necesitas preocuparte que los usuarios no interfieran entre sí. No puedes proporcionar diferentes vistas de los mismos datos: (registros, estudiantes, profesores). Al cambiar la estructura de los archivos se requiere cambiar casi todas las aplicaciones.

Definiciones básicas Base de Datos (BD): colección de datos relacionados. Datos: Hechos que pueden registrase y tienen significado impĺıcito. Propiedades impĺıcitas: Representa aspectos del mundo real. Colección de datos con algún significado inherente. Diseñada, construida y poblada con datos para un propósito específico. Database Management System (SABD): software que facilita el proceso de definir, construir, manipular y compartir datos en una BD para diversas aplicaciones. Definir involucra especificar los tipos, estructuras y restricciones de los datos almacenados en la BD. Sistema de base de datos: BD + SABD

Definiciones básicas Base de Datos (BD): colección de datos relacionados. Datos: Hechos que pueden registrase y tienen significado impĺıcito. Propiedades impĺıcitas: Representa aspectos del mundo real. Colección de datos con algún significado inherente. Diseñada, construida y poblada con datos para un propósito específico. Database Management System (SABD): software que facilita el proceso de definir, construir, manipular y compartir datos en una BD para diversas aplicaciones. Definir involucra especificar los tipos, estructuras y restricciones de los datos almacenados en la BD. Construir es el proceso de almacenar los datos en algún medio de almacenamiento controlado por el SABD. Sistema de base de datos: BD + SABD

Definiciones básicas Base de Datos (BD): colección de datos relacionados. Datos: Hechos que pueden registrase y tienen significado impĺıcito. Propiedades impĺıcitas: Representa aspectos del mundo real. Colección de datos con algún significado inherente. Diseñada, construida y poblada con datos para un propósito específico. Database Management System (SABD): software que facilita el proceso de definir, construir, manipular y compartir datos en una BD para diversas aplicaciones. Definir involucra especificar los tipos, estructuras y restricciones de los datos almacenados en la BD. Construir es el proceso de almacenar los datos en algún medio de almacenamiento controlado por el SABD. Manipular incluye funciones tales como consultas, recuperación y actualización de datos. Sistema de base de datos: BD + SABD

Definiciones básicas Base de Datos (BD): colección de datos relacionados. Datos: Hechos que pueden registrase y tienen significado impĺıcito. Propiedades impĺıcitas: Representa aspectos del mundo real. Colección de datos con algún significado inherente. Diseñada, construida y poblada con datos para un propósito específico. Database Management System (SABD): software que facilita el proceso de definir, construir, manipular y compartir datos en una BD para diversas aplicaciones. Definir involucra especificar los tipos, estructuras y restricciones de los datos almacenados en la BD. Construir es el proceso de almacenar los datos en algún medio de almacenamiento controlado por el SABD. Manipular incluye funciones tales como consultas, recuperación y actualización de datos. Compartir es permitir el acceso a más de un usuario. Sistema de base de datos: BD + SABD

Sistema de base de datos Usuarios / Programadores Sistema de BD Programas de aplicación SABD Software para proceso de consultas/programas Software para acceso a datos almacenados Definición de la BD Base de datos almacenada (Meta Datos)

Construcción de una aplicación con BD Modelado de requerimientos (conceptual, gráfico). Se decide cuáles entidades deben ser parte de la aplicación y cómo relacionarlas. Diseño e implementación del esquema. Se decide qué repositorios se requieren. Se implementan los repositorios en el SABD. Se pueblan tales repositorios. Escritura de la aplicación usando el SABD (posiblemente desde Java) Fácil pues ya no hay problemas con los datos.

Modelo Conceptual Curp Nombre Direccion Aula Profesor Impartir Semestre Calif. Curso Asistir Clave Nombre Creditos Alumno #Cuenta Nombre Carrera

Diseño e implementación del esquema Definición de los datos: Se define el esquema con anterioridad al llenado de datos. Se pueden definir nuevos depósitos (rectángulos) a partir de los existentes, omitiendo porciones de alguno o combinando varios. Se puede restringir cada columna, por ejemplo: Teniendo un valor único por cada renglón del rectángulo. Siendo un subconjunto del dominio total. El dominio como conjunto de valores de otro rectángulo.

... Definición de los datos Alumnos: NumCuenta Nombre Categoría 123456 Andrea López normal 103438 Blanca Hernández pasante 124567 Jorge Luis Reyes graduado......... NumCuenta ClaveCurso 123456 CS644 Toma: 123456 CS678 102438 CS145.... Clave Nombre Créditos CS644 Bases de Datos 10 Cursos: CS678 Redes de Computadoras 10 CS145 Seminario de Titulación 18......... Separación de aspectos lógicos y físicosposgrado de los en Ciencia datos. e Ingeniería de la Compu

Consultas de la base de datos SQL = Structured Query Language. Obtener todos los cursos que toma Andrea. SELECT C.nombre FROM Alumnos A, Cursos C, Toma T WHERE A.nombre = "Andrea" AND A.numCuenta = T.clave AND T.clave = C.clave

Enfoque de bases de datos Un solo depósito de datos definido una sola vez y puede accederse por varios usuarios. Representación de relaciones complejas entre datos. El SABD tiene la BD y su descripción completa. Los programas de acceso se escriben con independencia de archivos específicos. Los datos en las BD son integrados y compartidos. Control de redundancia. Restricciones de acceso. Restricciones de integridad. Proporciona respaldo y recuperación. Reducción de tiempo de desarrollo. Disponibilidad de datos actualizados. Cuándo no usar una BD?

Archivos vs Bases de Datos PROGRAMA 1 Descripción de datos PROGRAMA 2 Descripción de datos PROGRAMA 3 Descripción de datos ARCHIVO 1 ARCHIVO 2 ARCHIVO 3 DATOS REDUNDANTES PROGRAMA 1 PROGRAMA 2 PROGRAMA 3 Descripcion de Datos Manipulacion de Datos... BASE DE DATOS

El estudio de bases de datos Incluye diferentes aspectos: Modelado y diseño de bases de datos. Programación de bases de datos: creación y explotación. Implementación de bases de datos (SABD).

Arquitectura ANSI/SPARC Esquema de la BD: Descripción de la estructura de la BD. Esquema BD Estado de la BD: Valores de la BD en un momento dado. Niveles para la representación de los datos: Vista 1 Vista 2... Vista n Nivel externo... Nivel conceptual/logico Nivel físico

Ejemplo Prom >= 9 HISTORIAL: Nombre, NoCta, ClaveC, Año, Semestre, Calif PROMEDIOS: Nombre, NoCta, Prom ESTUDIANTE: Nombre, NoCta, Año, Carrera MATERIA: Clavem, Nombre, Créditos CURSO: ClaveC, ClaveM, Semestre, Año, Prof. CALIF: NoCta, Curso, Calif. PRERREQUISITO: ClaveC, ClavePreR... NombreDato Posición Long(Bytes) Nombre 1 30 NoCta 31 10 Año 41 2 Carrera 43 1 NombreDato Posición Long(Bytes) ClaveC 1 5 ClavePreR 6 5

Independencia Independencia de datos: Capacidad de modificar la definición del esquema en un nivel sin que esto afecto a las definiciones de esquemas en niveles superiores. Independencia lógica. Independencia física.

Funcionalidad de un SABD Lenguaje para definición de datos DDL. Lenguaje para manipulación de datos DML. Lenguaje para consulta de datos QL. Administración de almacenamiento. Administración de consultas. Administración de transacciones. Control de concurrencia. Recuperación.

Arquitectura de un SABD Usuarios Programador Usuarios Comunes de Aplicaciones sofisticados Admistrador Usuarios Interfaces de aplicaciones Programas de aplicacion Consulta Esquema de la BD SABD Compilador Compilador Intérprete de DML de QL del DDL Procesador de Consultas Código Objeto Motor de Evaluación de Consultas Administrador Administrador Autorizacion Transacciones Memoria y Integridad Administrador de Almacenamiento Administrador de Archivos Indices Estadist. Almacenamiento en disco. Arch. Datos Diccionario de datos

Administrador de Almacenamiento Proporciona la interfaz entre los datos en la BD y los programas de aplicación y las consultas suministradas al sistema. Es responsable de la interacción con la gestión de archivos. Administrador de Consultas Su objetivo es convertir una consulta expresada en un lenguaje de alto nivel en una secuencia de peticiones para datos almacenados La optimización implica seleccionar un buen plan de consulta o secuencia de peticiones al sistema de almacenamiento. Administrador de Transacciones Transacción: Unidad lógica de trabajo con las propiedades de ACID. Atomicidad (Atomicity). Consistencia (Consistency). Una base de datos está en estado consistente si los datos cumplen las expectativas. Aislamiento (Isolation). Los efectos causados por la ejecución de transacciones simultaneas no debe ser distinta que se realizaran en forma secuencial. Persistencia (Durability). El efecto de la transacción no se debe perder aunque el sistema falle, aun si la falla ocurre en cuanto termina la transacción.

Aplicaciones Tradicionales Sistemas de nóminas. Sistemas de inventarios. Sistemas estudiantiles. Sistemas de reservaciones. Sistemas bancarios. etc. Nuevas aplicaciones. Aplicaciones de diseño auxiliado por computadora. Sistemas multimedia. Sistemas de información geográfica (GIS). Minería de Datos. Almacenes de datos (dwh). Aplicaciones de hipertexto. etc.

Características de las nuevas aplicaciones Tienen necesidades y características particulares. Otros tipos de datos (imágenes, sonido, texto, etc.). Datos con estructura más compleja. Grandes volúmenes de datos y con interacciones más complejas. Conservación de distintas versiones de un mismo diseño. Interoperación entre bases de datos preexistentes.

Modelos de datos Modelo de datos: es un conjunto de conceptos que pueden usarse para describir la estructura de una BD. Estructura: Tipos de datos, sus relaciones, restricciones y operaciones que deberían permitir a los datos. Modelo relacional: Los datos se perciben como tablas y sólo hay tablas. Es un sistema cerrado en el sentido que el resultado de las operaciones es siempre una tabla. Modelo de objetos: Los datos se modelan como objetos en los cuales además del estado se tiene modelado su comportamiento. Modelo de datos semiestructurados: Los datos no tienen una estructura rígida y mucho menos predefinida.

Ejemplo de un MR La mayoría de los productos desarrollados desde finales de los 70 s se basan en el modelo relacional. Un SABDR = SABD + modelo relacional.

Modelo de Objetos Los datos se modelan como objetos en los cuales además del estado se tiene modelado su comportamiento. SABDO = SABD + MO. Proyecto nombre_proy: STRING objetivos: STRING documento* plan_trabajo* sub_proyecto balance: NUMERO participantes(): * Documento acrónimo: STRING nombre: STRING clasificacion: STRING Reporte Técnico tema: STRING fecha_inical: DATE fecha_final: DATE cambios_a Artículo autor* tipo_publicación: STRING lugar_publicacion: STRING fecha: DATE Tarea fecha_inicio: DATE fecha_fin: DATE descripcion: TEXT participantes lider precedentes Grupo nombre: STRING miembro * lider Invetigador nombre:string especializacion: STRING sueldo: NUMERO salario_promedio: NUMERO salario_mensual(): NUMERO Los atributos con * son multivaluados. Los métodos y atributos de la clase (no de los objetos) aparecen subrayados.

Modelo de datos semiestructurados Dato semiestructurado es sinónimo de irregular y autodescriptivo. o43 nombre "Serge" Bib libro o1 artículo artículo referencias o12 año o24 referencias o29 referencias autor título editorial URL autor autor autor título autor autor título "Abiteboul" "Querying SSD" 1998 "..." o43 Ullman Hector Garcia Molina o43 apellido nombre apellido nombre apellido Jeffrey Jennifer Widom "Addison Wesley" "..." "..." o96 "..." nombre apellido página "..." o25 primera última 122 133

Bases de Datos y Web Enfoques: Poner interfaces a una BD relacional para que pueda accesarse desde Internet. Considerarla como BD y emplear técnicas de bases de datos para la búsqueda de los mismos. Interfaces para acceder a bases de datos desde Internet Vía formularios se construye la consulta. Generación dinámica del contenido de documentos. El resultado puede personalizarse de acuerdo a datos del usuario, almacenados en una base de datos.

La Web es una base de datos? Problemas con los datos en sí: Alto porcentaje de datos volátiles. Datos redundantes y sin estructura. Evoluciona libremente. Los datos cambian en forma y ubicación. Calidad de datos. Datos heterogéneos. Relacionados con el usuario y su interacción con los sistemas de recuperación. Cómo especificar una consulta? Cómo interpretar la respuesta proporcionada?