• No se han encontrado resultados

Bases de Datos I Introducción

N/A
N/A
Protected

Academic year: 2021

Share "Bases de Datos I Introducción"

Copied!
31
0
0

Texto completo

(1)

Bases de Datos I

Introducci´

on

Ing. Gerardo Avilés Rosas

(2)

Introducci´

on

El mundo est´a lleno de datos:

Pacientes/Doctores. Cuentas bancarias. Deportistas /Deportes. Actores/Pel´ıculas. Recetas de cocina.

Superh´eroes, etc.

¿Qu´e queremos hacer con ellos?

Consultarlos. Actualizarlos.

(3)

Ejemplo de una aplicaci´

on

Supongamos que requerimos hacer una aplicaci´on para almacenar/obtener

informaci´on acerca de:

Estudiantes Cursos Profesores

(4)

Necesidades

¿Qu´e necesidades se tienen?

1 Almacenar los datos por mucho tiempo.

2 Grandes vol´umenes de datos (cientos de GB).

3 Proteger los datos contra desastres.

4 Proteger los datos contra usos no-autorizados.

5 Consultar/actualizar:

¿Qui´en imparte BD?

¿Est´a Andrea L´opez en el curso de BD?

Permitir acceso simult´aneo a cientos o miles de usuarios.

6

(5)

Caracter´ısticas del procesamiento de archivos

Cada usuario define e implementa los archivos necesarios para una

aplicaci´on 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´olo de la forma definida.

Dificultad de acceso en los datos.

La definici´on de datos es parte de los programas de aplicaci´on.

(6)

Intento con archivos

El almacenamiento de datos:

El sistema de archivos limita el tama˜no de ´estos. Cuando el sistema se cae, los datos pueden perderse. La autorizaci´on basada en passwords es insuficiente.

Consulta/actualizaci´on:

Se necesita escribir un nuevo programa para cada nueva consulta. Es necesario implementar pol´ıticas para lograr un buen rendimiento.

La concurrencia proporciona una protecci´on limitada:

Necesitas preocuparte que los usuarios no interfieran entre s´ı. No puedes proporcionar diferentes vistas de los mismos datos: (registros, estudiantes, profesores).

(7)

Definiciones b´

asicas

Base de Datos (BD): colecci´on de datos relacionados.

Datos: Hechos que pueden registrase y tienen significado impl´ıcito. Propiedades impl´ıcitas:

Representa aspectos del mundo real.

Colecci´on de datos con alg´un significado inherente.

(8)

Sistema administrador de base de datos

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´un medio de

almacenamiento controlado por el SABD.

Manipular incluye funciones tales como consultas, recuperaci´on y

actualizaci´on de datos.

Compartir es permitir el acceso a m´as de un usuario.

(9)

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 (Meta−Datos) Base de datos almacenada

(10)

Construcci´

on de una aplicaci´

on con BD

Modelado de requerimientos (conceptual, gr´afico).

Se decide cu´ales entidades deben ser parte de la aplicaci´on y c´omo relacionarlas.

Dise˜no e implementaci´on del esquema.

Se decide qu´e repositorios se requieren. Se implementan los repositorios en el SABD. Se pueblan tales repositorios.

Escritura de la aplicaci´on usando el SABD (posiblemente desde Java)

(11)

Modelo Conceptual

Alumno #Cuenta Nombre Calif. Clave Creditos Nombre

Curp Nombre Direccion Aula

Carrera Asistir

Impartir

Profesor Semestre

(12)

Dise˜

no e implementaci´

on del esquema

Definici´on de los datos:

Se define el esquema con anterioridad al llenado de datos.

Se pueden definir nuevos dep´ositos (rect´angulos) a partir de los

existentes, omitiendo porciones de alguno o combinando varios. Se puede restringir cada columna, por ejemplo:

Teniendo un valor ´unico por cada rengl´on del rect´angulo. Siendo un subconjunto del dominio total.

(13)

... Definici´

on de los datos

Alumnos:

NumCuenta Nombre Categor´ıa

123456 Andrea L´opez normal

103438 Blanca Hern´andez pasante

124567 Jorge Luis Reyes graduado

... ... ... Toma: NumCuenta ClaveCurso 123456 CS644 123456 CS678 102438 CS145 .. .. Cursos:

Clave Nombre Cr´editos

CS644 Bases de Datos 10

CS678 Redes de Computadoras 10

CS145 Seminario de Titulaci´on 18

... ... ...

(14)

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

(15)

Enfoque de bases de datos

Un solo dep´osito de datos definido una sola vez y puede accederse por

varios usuarios.

Representaci´on de relaciones complejas entre datos.

El SABD tiene la BD y su descripci´on completa.

Los programas de acceso se escriben con independencia de archivos espec´ıficos.

Control de redundancia. Restricciones de acceso. Restricciones de integridad.

Proporciona respaldo y recuperaci´on.

Reducci´on de tiempo de desarrollo.

Flexibilidad.

Disponibilidad de datos actualizados.

(16)

Archivos vs Bases de Datos

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

(17)

El estudio de bases de datos

Incluye diferentes aspectos:

Modelado y dise˜no de bases de datos.

Programaci´on de bases de datos: consulta y actualizaci´on.

(18)

Arquitectura ANSI/SPARC

Esquema de la BD: Descripci´on de la BD.

Estado de la BD: Valores de la BD en un momento dado.

La definici´on ANSI/SPARC tres niveles de la representaci´on de los datos:

nivel f´ısico, nivel conceptual y nivel externo. . . .

. . .

Vista 2

Vista 1 Vista n Nivel externo

(19)

Ejemplo

ESTUDIANTE: Nombre, NoCta, Año, Carrera MATERIA: Clavem, Nombre, Créditos CALIF: NoCta, Curso, Calif. PRERREQUISITO: ClaveC, ClavePreR CURSO: ClaveC, ClaveM, Semestre, Año, Prof.

PROMEDIOS: Nombre, NoCta, Prom HISTORIAL: Nombre, NoCta, ClaveC, Año, Semestre, Calif

Prom >= 9

... NombreDato Posición Long(Bytes)

Nombre 1 30 NoCta 31 10

Año 41 2

Carrera 43 1

NombreDato Posición Long(Bytes) ClaveC

ClavePreR

1 5

(20)

Independencia

Independencia de datos: Capacidad de modificar una definici´on de

esquema en un nivel sin que esto afecto a las definiciones de esquemas en niveles superiores.

Independencia l´ogica.

(21)

Funcionalidad de un SABD

Lenguaje para definici´on de datos DDL.

Lenguaje para manipulaci´on de datos DML.

Lenguaje para consulta de datos QL.

Administraci´on de almacenamiento.

Adminsitraci´on de consultas.

Administraci´on de transacciones.

Control de concurrencia. Recuperaci´on.

(22)

Arquitectura de un SABD

Autorizacion y Integridad Esquema de la BD Procesador de Consultas Administrador de Almacenamiento Transacciones Administrador de Programador sofisticados Usuarios Usuarios Admistrador de DML Compilador de QL Intérprete del DDL Memoria de Archivos Administrador Administrador Interfaces de aplicaciones Programas Consulta Motor de Evaluación de Consultas Código Objeto de aplicacion Comunes Aplicaciones Usuarios SABD Compilador

(23)

Aplicaciones

Tradicionales Sistemas de n´ominas. Sistemas de inventarios. Sistemas estudiantiles. Sistemas de reservaciones. Sistemas bancarios. etc.

Nuevas aplicaciones

Aplicaciones de dise˜no auxiliado por computadora. Sistemas multimedia.

Sistemas de informaci´on geogr´afica (GIS).

Aplicaciones de sistemas de informaci´on para oficinas. Miner´ıa de Datos

Almacenes de datos (dwh). Aplicaciones de hipertexto. etc.

(24)

Caracter´ısticas de las nuevas aplicaciones

Tienen necesidades y caracter´ısticas que no pueden modelarse con el modelo tradicional.

Otros tipos de datos (im´agenes, sonido, texto, etc.).

Datos con estructura m´as compleja.

Grandes vol´umenes de datos y con interacciones m´as complejas.

Conservaci´on de distintas versiones de un mismo dise˜no.

(25)

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 que deber´ıan permitir a los datos.

Modelo relacional: Los datos se perciben como tablas y s´olo hay tablas. Es

un sistema cerrado en el sentido que el resultado de las operaciones son siempre tablas.

Modelo de objetos: Los datos se modelan como objetos en los cuales

adem´as del estado se tiene modelado su comportamiento.

Modelo de datos semiestructurados: Los datos no tienen una estructura r´ıgida y mucho menos predefinida.

(26)

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.

Clientes:

Nombre Cliente CURP Ciudad Cliente No Cuenta

Gonz´alez 19283746 Guanajuato C-101

G´omez 19283756 Veracruz C-215

L´opez 67789901 Morelia C-102

Garza 96396396 Monterrey C-305

Gonz´alez 19283746 Guanajuato C-201

Santos 32112312 Morelia C-217

Rup´erez 24466880 Le´on C-222

G´omez 19283756 Veracruz C-201 Cuentas: No Cuenta Saldo C-101 100,000 C-215 140,000 C-102 80,000

(27)

Modelo de Objetos

Los datos se modelan como objetos en los cuales adem´as del estado se

tiene modelado su comportamiento. SABDO = SABD + MO.

Proyecto Documento objetivos: STRING documento* plan_trabajo* sub_proyecto balance: NUMERO nombre_proy: STRING participantes(): * acrónimo: STRING nombre: STRING clasificacion: STRING Reporte Técnico tema: STRING fecha_final: DATE fecha_inical: DATE cambios_a autor* tipo_publicación: STRING lugar_publicacion: STRING fecha: DATE Artículo Grupo Invetigador Tarea fecha_inicio: DATE fecha_fin: DATE descripcion: TEXT participantes lider precedentes nombre: STRING miembro * lider nombre:STRING especializacion: STRING sueldo: NUMERO salario_promedio: NUMERO salario_mensual(): NUMERO

Los atributos con * son multivaluados. Los m´etodos y atributos de la clase

(28)

Modelo de datos semiestructurados

Dato semiestructurado es sin´onimo de irregular y autodescriptivo.

o1 o12 o24 o29 o96 o43 o43 o43 "Serge" "Abiteboul" Ullman Jennifer Widom "..." "..." Hector Garcia−Molina "Querying SSD" 1998 "..." "..." nombre autor autor libro Bib referencias editorial referencias apellido año URL apellido Jeffrey nombre artículo artículo apellido nombre título autor autor nombre apellido título autor "Addison Wesley" referencias autor título

(29)

Bases de Datos y Web

Enfoques:

Poner interfaces a una BD relacional para que pueda accesarse desde Internet.

Considerarla como BD y emplear t´ecnicas de bases de datos para la

b´usqueda de los mismos.

Interfaces para acceder a bases de datos desde Internet V´ıa formularios se construye la consulta.

Generaci´on din´amica del contenido de documentos.

El resultado puede personalizarse de acuerdo a datos del usuario, almacenados en una base de datos.

(30)

¿Es la Web una base de datos?

Problemas con los datos en s´ı:

Alto porcentaje de datos vol´atiles. Datos redundantes y sin estructura. Calidad de datos.

Datos heterog´eneos.

Relacionados con el usuario y su interacci´on con los sistemas de

recuperaci´on.

¿C´omo especificar una consulta?

(31)

¿Es la Web una base de datos?

¿En qu´e difiere la Web de cualquier base de datos cl´asica?

R. En todo:

Una base de datos:

Sistema coherentemente dise˜nado. Estructura r´ıgida.

Entorno controlado para las consultas, actualizacioens, transacciones, concurrencia, integridad y recuperaci´on.

Las consultas tienen acceso a todos los datos

La Web escapa de tal control.

Evoluciona libremente.

Los datos cambian en forma y ubicaci´on.

Referencias

Documento similar