Upload
kamui002
View
1.149
Download
1
Embed Size (px)
Citation preview
Servicios Web - IntroducciónBases de datos – Diseño de bases de datos
Bases de Datos
Introducción | SGBD | Ventajas | Desventajas
Presenta: Ismael Rafael Ponce Medellín
Agosto 2014
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Introducción
• ¿Qué son?
• ¿Dónde se usan?
• ¿Por qué usarlas?
• ¿Quiénes las usan?
2
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
¿Dato o información? (1/2)
• Dato– Es una representación simbólica.– Por sí sólo, no tiene significado.– Ej: 1984
• ¿Es un año? • ¿Es un código?
3
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
¿Dato o información? (2/2)
• Información– Son datos procesados e interpretables.– Característica: tiene significado (semántica).– Ej: El código del grupo es A114.
4
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Formas de almacenar información
• Bases de datos• Tesauros• Diccionarios• Ontologías• Texto plano
5
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Sistema de información
• Conjunto de componentes que interactúan con el objetivo de almacenar, recuperar y procesar datos e información para crear nueva información.
• Los componentes de un SI son software y hardware, pero es fundamental el rol de las personas.
• Ej: Primeros SI ¡Censos Babilonicos año 3800 a.c.!
6
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Construcción de un sistema de información
7
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Sistema de archivos (1/2)
• Definición:– Conjunto de programas para manipular y acceder a datos.– Sistema que define y maneja sus propios datos.
8
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Sistema de archivos (2/2)
• Desventajas:– Dependencia de datos.
• Actualización complicada. Cualquier modificación, implica modificar el código.• Difícil acceso a los datos.
– Redundancia de datos - Inconsistencias.– Consultas fijas.– Formatos de archivos incompatibles.– Aislamiento de los datos.
9
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Base de datos
• Una Base de Datos (BD) es un conjunto de datos relacionados entre sí.
• Software enfocado al manejo de grandes volúmenes de datos.• No se debe confundir la Base de Datos con el Sistema Gestor
de Base de Datos (SGBD o DBMS).• Típicamente, se les representa con el siguiente símbolo:
10
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Elementos de un sistema de BD
• Hardware. Máquinas en las que se almacenan las BDs.
• Software. Es el sistema gestor de bases de datos. El encargado de administrar las bases de datos.
• Datos. Incluyen los datos que se necesitan almacenar y los metadatos (datos que sirven para describir lo que se almacena).
• Usuarios. Personas que manipulan los datos del sistema.
11
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Procesos involucrados
• Definición de una BD.– Descripción o definición de las estructuras de datos y restricciones
que tendrá una base.
• Construcción de una BD.– Proceso de carga de los datos en la base.
• Manipulación de una BD.– Proceso de explotación de la base (recuperación y modificación de los
datos almacenados).
12
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Niveles de abstracción
• Físico. – Se refiere al hardware donde se implementa.
• Lógico. – Se refiere a los datos que se almacenan y cómo se relacionan entre sí.
• Vistas. – Se refiere a la parte que se desea mostrar.
13
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Estructura de la BD (1/2)
• Estructura lógica. – Indica la composición y distribución teórica de la base de datos. – Sirve para que las aplicaciones puedan utilizar los elementos de la BD
sin saber realmente cómo se están almacenando. – Es una estructura que permite idealizar a la base de datos. – Sus elementos son objetos, entidades, nodos, relaciones y enlaces,
mismos que no tienen presencia real física del sistema. – Para acceder a los datos tiene que haber una posibilidad de traducir la
estructura lógica en la estructura física.
14
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Estructura de la BD (2/2)
• Estructura física. – Es la estructura de los datos tal cual se almacenan en las unidades de
disco. – La correspondencia entre la estructura lógica y la física se almacena en
la base de datos (en los metadatos).
15
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
SGBD (1/3)• Sistema Gestor de Bases de Datos (DBMS, Database
Management System).
• Aplicación que permite a los usuarios la definición, creación y mantenimiento de una BD.
• Conjunto de programas que permiten manipular y acceder a datos.
• Proporciona acceso controlado a la BD.
16
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
SGBD (2/3)• Objetivo:
– Proporcionar al usuario una visión abstracta de los datos y de los diversos servicios que permite.
– Además deben mantener la seguridad de la información almacenada pese a la caída del sistema.
17
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
SGBD (3/3)
18
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Herramientas de un SGBD
• Para la creación y especificación de los datos y la estructura de la BD.
• Para administrar y crear la estructura física.
• Para la manipulación de los datos (añadir, modificar, suprimir o consultar).
• De recuperación en caso de desastre.
• Para la creación de copias de seguridad.
• Para la gestión de la comunicación de la BD.
19
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Funciones de un SGBD (1/3)
• Función de descripción. – Sirve para describir los datos, sus relaciones y sus condiciones de
acceso e integridad. – Se utiliza un lenguaje de definición de datos o DDL.
– Create Table(Nombre:string, sueldo:real,…)– Create Index…, etc.
20
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Funciones de un SGBD (2/3)
• Función de descripción. – El resultado de la compilación de sentencias DDL es un conjunto de
tablas que se almacenan en un archivo especial llamado diccionario de datos o directorio.
Directorio de datos.– Archivo que contiene metadatos (datos sobre datos). – Este archivo se consulta antes de leer o modificar los datos reales en el
sistema de BD.
21
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Funciones de un SGBD (3/3)
• Función de manipulación. – Permite buscar, añadir, suprimir y modificar datos de la base de
datos. – El SGBD proporciona un lenguaje de manipulación de datos (DML).
• Función de control. – Incorpora las funciones que permiten una buena comunicación con la
base de datos. – Proporciona al DBA los procedimientos necesarios para realizar su
labor.
22
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Categorías de Usuarios (1/2)
• Usuarios finales. – Utilizan datos de la BD para su trabajo cotidiano (que no tiene por qué
tener que ver con la informática).– Normalmente no utilizan la base de datos directamente.
• Desarrolladores. – Analistas y programadores encargados de generar aplicaciones para
los usuarios finales.
23
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Categorías de Usuarios (2/2)
• Administradores. – Llamados DBA (Data Base Administrator), se encargan de gestionar las
bases de datos:• De proporciona mecanismos de seguridad, mantenimiento y
actualizaciones.• De especificar ligaduras de integridad.
24
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Interacción Usuario – SGBD (1/3)
1. El proceso lanzado por el usuario llama al SGBD indicando la porción de la base de datos que se desea tratar.
2. El SGBD traduce la llamada a términos del esquema lógico de la base de datos. – Accede al esquema lógico comprobando derechos de acceso y la
traducción física.
3. El SGBD obtiene el esquema físico.
4. El SGBD traduce la llamada a los métodos de acceso del Sistema Operativo (SO) que permiten acceder a los datos requeridos.
25
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Interacción Usuario – SGBD (2/3)
5. El SO accede a los datos tras traducir las órdenes dadas por el SGBD.
6. Los datos pasan del disco a una memoria intermedia o buffer.– En ese buffer se almacenarán los datos según se vayan recibiendo.
7. Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso del usuario.
8. El SGBD devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. – Si las indicaciones son satisfactorias, los datos de la ATU serán
utilizables por el proceso de usuario.
26
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Interacción Usuario – SGBD (3/3)
27
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Tablas y relaciones
• Tabla:– Define la estructura de un archivo.– Se compone de campos y tipos.
• Relaciones:– Enlaces usados para ligar dos o más tablas.
28
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
¿Por qué usar bases de datos?
• ¿Qué se haría si no se puede usar ?– Desarrollar programas con lenguajes de propósito general.
• ... y ésto que problemas trae ?– Más trabajo para manipular y acceder a los datos.– Productividad, costos, calidad.– Inconsistencia de datos.– Seguridad en datos.
29
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Ventajas de las BD (1/3)
• Independencia de los datos, los programas y procesos. – Esto permite modificar los datos sin modificar el código de las
aplicaciones.
• Menor redundancia. – No hace falta tanta repetición de datos (sólo los buenos diseños de
datos tienen poca redundancia).
• Integridad de los datos. – Mayor dificultad de perder los datos o de realizar incoherencias con
ellos.
30
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Ventajas de las BD (2/3)
• Mayor seguridad en los datos. – Al limitar el acceso a ciertos usuarios.
• Datos más documentados. – Gracias a los metadatos que permiten describir la información de la
base de datos.
• Menor espacio de almacenamiento. – Gracias a una mejor estructuración de los datos.
31
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Ventajas de las BD (3/3)
• Acceso más eficiente a los datos. – La organización de los datos produce un mejor rendimiento y
compartición.
32
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
¿Por qué no usarlas?
• Alto costo en inversión:– HW / SW / Capacitación técnica.
• Costo de administración.
• Cuando no se justifica usar SGBD:– Muy pocos datos.– Datos muy estables.– No hay acceso concurrente.
33
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Desventajas de las BD
• Requiere personal calificado.
• Implantación larga y difícil.
• Ausencia de estándares reales. – Excesiva dependencia hacia los sistemas comerciales del mercado. – Aunque una buena parte de esta tecnología es aceptada como
estándar.
34
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Niveles ANSI/SPARC
• Desde el ANSI (Instituto de Estándares Americano) se creo una sección llamada SPARC.
• Se dedica a estándares de sistemas de información.
• Propusieron tres niveles de abstracción en las bases de datos.
35
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Niveles ANSI/SPARC
36
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Niveles ANSI/SPARC
• Esquema externo. – Visión de la base de datos que ofrece cada aplicación. – Lógicamente es distinta en cada aplicación. – Representan vistas concretas de la base de datos.
• Esquema conceptual. – Representación teórica de los datos y de sus relaciones. – Representa la lógica de la base de datos.
• Esquema físico. – Representa los datos según son almacenados en el medio físico.
37
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Independencia Lógico/Física
• Independencia física de los datos. – Aunque se añadan o cambien discos, otro hardware u otros cambios
relacionados con la física de la base de datos, el esquema conceptual permanece invariable.
• Independencia lógica de los datos. – Significa que aunque se modifique el esquema conceptual, la vista
que poseen las aplicaciones (los esquemas externos) no serán afectados.
38
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Integridad referencial
• Actualización en cascada.
• Eliminación en cascada.
39
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Modelos de datos (1/3)
• Modelo. – Es un esquema mental (conceptual) en el que se intentan reproducir
las características de una realidad específica.
• Modelo de datos.– Colección de herramientas conceptuales usadas para describir datos,
su semántica, sus relaciones, integridad y consistencia.– Intentan reproducir una información real que se desea almacenar en
un sistema informático.
40
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Modelos de datos (2/3)
• Esquema es una descripción específica en términos de un modelo de datos. – El conjunto de datos representados por el esquema forma la BD.
• Ejemplar: Colección de información almacenada en la BD. Ej:– Int num esquema
Clientenombre textoCalle numérico
– num = 32 ejemplarClientenombre OswaldoCalle 32
41
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Modelos de datos (3/3)
• Un Modelo de Datos permite expresar :– Estructuras. Elementos de los problemas.
• CURSOS(nro_curso, nombre, horas).
– Restricciones. Reglas que deben cumplir los datos para que la base sea considerada válida. • ( c CURSOS ) (c.horas < 120)∀ ∈
– Operaciones. Insertar, borrar y consultar la BD.• Insert into CURSOS (1911,”FBD”,90)
42
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Clasificación de los Modelos de Datos (1/3)
• Mundo real. – Contiene la información tal cual la percibimos como seres humanos.
• Esquema conceptual. – Representa el modelo de datos de forma independiente al SGBD.
• Esquema canónico (o de base de datos). – Representa los datos en un formato más cercano al de la
computadora.
43
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Clasificación de los Modelos de Datos (2/3)
• Esquema interno. – Representa los datos según el modelo concreto de un SGBD.
• Base de datos física. – Los datos tal cual son almacenados en disco.
44
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Clasificación de los Modelos de Datos (3/3)
45
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Tipos de modelos de datos
• Modelos lógicos basados en objetos.– Modelo Entidad-Relación.– Modelo orientado a objetos.– Modelo de datos semántico.– Modelo de datos funcional.
46
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
• Modelos lógicos basados en registros.– Modelo relacional.– Modelo de red.– Modelo jerárquico.
• Modelos físicos.
Propietario Inmueble
Clave Nombre Domicilio … Clave_ I
Clave_ I Domicilio …
47
Servicios Web - IntroducciónDiseño de bases de datos – Introducción
Bibliografía• An introduction to database system, Chris J. Date, Addison Wesley.• Marqués Mercedes, Bases de datos, Universitat Jaume I, ISBN: 978-84-
693-0146-3, Licencia Creative Commons, 2011. Capítulo 1.• Sánchez J., Principios sobre Bases de Datos Relacionales, Licencia Creative
Commons, 2004. Disponible en http://www.jorgesanchez.net/bd/. Última visita agosto 2014.
• Sánchez J., Diseño Conceptual de Bases de Datos, , Licencia Creative Commons, 2004. Disponible en http://www.jorgesanchez.net/bd/. Última visita agosto 2014.
48