Sunteți pe pagina 1din 28

I.E.S.

Celia Vias (Almera)


C.F.G.S. Desarrollo de Aplicaciones Web
Mdulo de Bases de datos

Unidad 1
Almacenamiento de la informacin

1. Almacenamiento de la informacin
ndice del tema

Unidad 1. Almacenamiento de la informacin


Contenido:

1.1 Sistemas lgicos de almacenamiento

1.2 Sistemas de ficheros

1.3 Concepto de base de datos

1.4 Sistemas gestores de bases de datos

1.5 Tipos de bases de datos

1. Almacenamiento de la informacin
1.1. Sistemas lgicos de almacenamiento

1.1. Sistemas lgicos de almacenamiento

Desde los primeros tiempos de la informtica ha sido necesario almacenar grandes


cantidades de informacin en soportes fisicos utilizando mecanismos que fueran
independientes del propio soporte.
Esos mtodos de almacenamiento se denominan sistemas de almacenamiento
lgico.
El sistema lgico de almacenamiento ms habitual es el sistema de ficheros. En l,
la informacin se organiza en directorios y ficheros, y luego un componente software
del sistema operativo se encarga de traducir las operaciones lgicas sobre la
informacin (p. ej: aadir un dato al final de un fichero) en operaciones fsica (p. ej:
escribir un byte en determinado sector del disco duro)
Las bases de datos que estudiaremos en este mdulo son sistemas lgicos de
almacenamiento ms complejos que los sistemas de ficheros. El componente
software encargado de traducir operaciones lgicas en fsicas es el sistema gestor
de bases de datos.

1. Almacenamiento de la informacin
1.2. Ficheros

1.2. Sistemas de ficheros

Los ficheros son almacenes de informacin con una estructura determinada.

Se organizan en directorios (o carpetas) con estructura jerrquica.

Existen muchos sistemas de ficheros, dependiendo del sistema operativo:

FAT16: del antiguo MS-DOS y Windows 95.

FAT32: Windows 95 OSR2, Windows 98 y Windows Me.

NTFS: Windows NT, 2000, XP, Vista y 7, y todos los Windows Server (2000,
2003 y 2008).
ext2, ext3 y ext4: sistemas por defecto en la mayora de las distribuciones
Linux.

ReiserFS: otro sistema de ficheros soportado por las distribuciones Linux.

CDFS o ISO 9660: Es el sistema de ficheros nativo de los CD-ROM.

UDF o ISO 13346: Es un sistema de ficheros estandarizado usado en CDs,


DVDs y Bly-Rays.
HFS+: sistema de ficheros nativo de MacOS.

1. Almacenamiento de la informacin
1.2. Ficheros

Tipos de ficheros

Segn su contenido:

De texto

Binarios

Segn su organizacin interna:

Secuenciales

Directos o aleatorios

Indexados

Segn su utilidad:

Maestros

De movimientos

Histricos

1. Almacenamiento de la informacin
1.2. Ficheros

Ficheros de texto

Pueden codificarse de diferentes formas (ASCII, Unicode, etc)

Los tipos ms habituales son:

Ficheros de configuracin: .ini, .inf, .conf

Ficheros de cdigo fuente: .sql, .c, .java, .js

Ficheros de pginas web: .htm, .html, .css, .php, .asp, .js, .xml

Ficheros de texto enriquecido: .rtf, .ps, .tex

Cada vez son ms habituales para almacenar informacin compleja gracias a la


extensin de XML

1. Almacenamiento de la informacin
1.2. Ficheros

Ficheros binarios

Son colecciones de bits con un formato especfico que slo puede ser interpretado
por el programa adecuado.
Los tipos ms habituales son:

Ficheros de imagen: .jpg, .gif, .bmp, .png

Ficheros de vdeo: .avi, .mpg, .qt, .mov, .flv

Ficheros comprimidos/empaquetados: .zip, .gz, .tar, .rar

Ficheros ejecutables/compilados: .exe, .com, .cgi, .o, .a

Ficheros de procesadores de texto: .doc, .docx, .odt

Hay tantos tipos de ficheros binarios como programas, puesto que cada programa
suele tener su propio formato de fichero nativo.
Los gestores de bases de datos no son una excepcin. Por ejemplo:

Access guarda las bases de datos en un fichero con extensin .mdb o .accdb

MySQL guarda las bases de datos en 3 ficheros de extensin .frm, .myd y .myi

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

1.3. Concepto de base de datos

Una base de datos es una coleccin de ficheros relacionados entre s que


almacenan tanto la representacin abstracta de un fragmento de informacin del
mundo real como los datos correspondientes a ese fragmento del mundo.
No se debe confundir la base de datos (los ficheros que guardan la informacin) con
el sistema gestor de base de datos (el software que manipula esa informacin)

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Conceptos clave en bases de datos

Dato

Tipo de dato

Campo

Registro

Campo clave

Tabla (o relacin)

Consulta (query)

ndice

Vista

Informe

Guin (o script)

Procedimiento (script almacenado)

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Las bases de datos deben tener ciertas caractersticas importantes:

Versatilidad en la representacin de la informacin, mostrando a cada usuario slo


la parte de la base de datos que sea imprescindible.
Rendimiento, asegurando tiempos de respuesta adecuados y accesos de mltiples
usuarios a la informacin simultneamente.
Mnima redundancia, evitando inconsistencias en los datos.
Simplicidad, tanto en la forma de representar la informacin como en las posibles
modificaciones futuras de la base de datos.
Integridad de los datos contra usuarios inexpertos, fallos de software y hardware,
ataques maliciosos, etc.
Privacidad, para proteger el acceso a los datos de usuarios no autorizados.
Flexibilidad, para poder adaptar la base de datos a los cambios a lo largo del tiempo
con el mnimo esfuerzo posible.

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Evolucin histrica de las bases de datos

Aos 50: sistemas de ficheros secuenciales basados en cintas magnticas.


Problemas de rendimiento, redundancia y mantenimiento.
Aos 60: sistemas de ficheros aleatorios basados en discos magnticos. Aparicin
de las bases de datos jerrquicas y en red.
1970: Frank Codd, de IBM, publica su famoso artculo (A Relational Model of Data
for Large Shared Data Banks), creando el modelo relacional que todava usamos en
la actualidad.

Las 12 leyes de Codd.

Aos 80: IBM crea DB2 y, posteriormente, SQL.


Aos 90: IBM lanza DB2 Parallel Edition, que evolucionara a DB2 Data Partition
Feature, la primera base de datos distribuida.
Finales de los 90: BD2 y Oracle incorporan el paradigma de orientacin a objetos.
Ao 2000: la eclosin de Internet hace crecer el tamao de las bases de datos en
proporciones desconocidas. Aparecen las bases de datos distribuidas y, con ellas,
los sistemas de ayuda a la toma de decisiones, la minera de datos (data mining) y
las BD multidimensionales..

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Arquitectura ANSI/X3/Sparc:

Es un estndar de arquitectura de base de datos en 3 niveles.


Se estableci en los aos 70 y an sigue plenamente vigente
como referencia para los SGBD reales.
Los tres niveles son:

Interno: es el modo en el que los datos se almacenan fsicamente en un


dispositivo (disco duro, cinta magntica, etc.). Depende fuertemente del
hardware, del sistema operativo, etc. Y ha cambiado continuamente a lo
largo del tiempo.
Conceptual: es representacin lgica de los datos. Es abstracta e
independiente de la forma en la que los datos de almacenan fsicamente.
Puede cambiar con el tiempo conforme varen las necesidades de la
organizacin.
Externo: es la parte de la base de datos vista por los usuarios finales.
stos slo ven una parte de los datos (p.ej: un formulario) y sus
interrelaciones. Puede cambiar con el tiempo si se elaboran nuevas
aplicaciones de usuario.

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Arquitectura ANSI/X3/Sparc:

La arquitectura en 3 niveles funciona as:

El usuario de la base de datos slo hace uso del nivel externo.

El nivel externo traslada la peticin al nivel conceptual.

El nivel conceptual traduce las rdenes para que las ejecute el nivel fsico.

De este modo se consigue:

Independencia del entorno (hardware, sistema operativo, etc.)


Independencia de los datos respecto de los programas que acceden a
ellos, y viceversa.

Acceso ms rpido y sencillo a los datos.

Flexibilidad para cambiar la base de datos.

Mayor coherencia, disponibilidad y seguridad.

La palabra clave es independencia de un nivel respecto de otro,


aunque sta nunca es absoluta.

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Esquema de la arquitectura
ANSI/X3/SPARC
Usuarios
finales

Interfaz
externo/conceptual

Interfaz
conceptual/interno

Procesos de usuario
sobre la base de
datos

Diseo de la
estructura de la base
de datos

Nivel externo

Nivel conceptual

Nivel interno
Datos
almacenados

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Nivel externo (usuarios)

Nivel conceptual

Nivel interno (fsico)

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Adems del ANSI/X3/SPARC, existen otros estndares como:

Codasyl: es un modelo de arquitectura de slo dos niveles desarrollado en


1969, que se utiliz en el proyecto Apollo de la NASA. Posteriormente se revis
para introducir el tercer nivel.

Estos estndares son slo modelos de referencia:

Indican cmo debe ser un SGBD para cumplir con los requisitos de
independencia, seguridad, integridad, flexibilidad, eficiencia, etc.
Los SGBD comerciales los cumplen... ms o menos.

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Ligadura:

La independencia entre niveles no es absoluta, sino que, en algn momento, los


procesos de usuario (nivel externo) deben acceder a los datos reales (nivel
interno) a travs del nivel conceptual.
Esa interaccin se denomina ligadura, y puede producirse en diferentes
momentos:

Durante la compilacin del programa de usuario

Durante el enlace del programa

Durante el lanzamiento del programa

Al realizar el acceso a la base de datos

Cuanto antes se produzca la ligadura, menor ser la independencia entre niveles


(lo cual no es deseable). Por ejemplo, si la ligadura se produce en la
compilacin, cada vez que haya un pequeo cambio en la base de datos ser
necesario recompilar el programa y volver a generar el ejecutable.
Cuanto ms tarde se produzca la ligadura, mayor ser la independencia entre
niveles pero el acceso a los datos ser ms lento, por lo que hay que buscar una
solucin de compromiso.

1. Almacenamiento de la informacin
1.3. Concepto de base de datos

Granularidad:

El nivel externo puede acceder a los datos con gran nivel de detalle (p. ej: el da,
mes y ao de nacimiento de un cliente) o con mayor generalidad (p. ej: la ficha
completa de datos personales de un cliente)
Este nivel de detalle se llama granularidad.
A menor granularidad, mayor es la independencia del nivel externo respecto del
interno, ya que puede construirse sus propios agregados de datos sin depender
de cuales son esos agregados en los niveles inferiores.
A mayor granularidad, menor es la independencia, pero el acceso a los datos
consume menos recursos y el software de usuario resulta ms sencillo de
desarrollar.
Nuevamente, hay que buscar una solucin de compromiso que depender de
las caractersticas de la base de datos que estemos diseando.

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

1.4. Sistemas gestores de bases de datos

Un Sistema Gestor de Bases de Datos (SGBD o DBMS) es un conjunto de


programas encargados de almacenar y manipular la informacin de una base de
datos.
El SGBD nos asegura la integridad, seguridad y consistencia de los datos.
Tambin nos debe proporcionar buenas velocidades de acceso, aunque el volumen
de datos sea muy elevado.
Los SGBD, asimismo, pueden facilitar mecanismos para copias de seguridad, control
de accesos concurrentes, etc.
El SGBD es un interfaz con la base de datos:

Los programas no accedern a los datos directamente, sino a travs del SGBD.
Esto proporciona la deseable independencia de la implementacin fsica y lgica
de la base de datos: aunque sta cambie, los programas que usan la BD no
tienen por qu modificarse.

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

Funciones de un SGBD

Permitir el acceso sencillo y eficiente a los datos

Garantizar la integridad de los datos

Garantizar la seguridad de los datos

Mantener el diccionario de metadatos con el esquema de la BD

Permitir las transacciones seguras

Mantener estadsticas de uso

Permitir la concurrencia de usuarios

Independizar los datos fsicos de las aplicaciones de usuario

Ofercer conectividad con el exterior

Incorporar herramientas de copia de seguridad

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

Componentes de un SGBD:

Lenguaje de definicin de datos (DDL): permite realizar la representacin lgica de los datos
y sus relaciones.
Lenguaje de definicin del almacenamiento de los datos (DSDL): permite definir la
representacin fsica de los datos. En algunos SGBD, esto se realiza con el mismo DDL. Al
conjunto de los datos y relaciones definidos mediante DDL y DSDL se le denomina esquema
de la base de datos.

Lenguaje de control de datos (DCL): para gestionar los permisos de acceso.

Lenguaje de control de transacciones (TCL): para asegurar la integridad de los datos.

Lenguaje de manipulacin de datos (DML): permite definir el nivel externo de los datos y
manipularlos (insertar datos, borrarlos, modificarlos, etc). Pueden ser lenguajes
procedimentales (el programador indica cmo se van a manipular los datos) o no
procedimentales (el programador indica qu manipulacin desea, y el SGBD se encarga de
determinar los procedimientos ms apropiados)
Diccionario de datos: es una base de datos especial, porque contiene informacin sobre el
resto de bases de datos existentes en el sistema.
Motor o monitor de la base de datos: es el interfaz entre los datos y los programas de
usuario. Se encarga del acceso seguro, ntegro y eficiente a los datos fsicos.
Administrador de la base de datos (DBA): es la persona encargada de definir los tres niveles,
controlar la privacidad y seguridad de los datos y realizar el mantenimiento de la base de datos.

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

Formas de acceder a los datos con DML

El DML se puede usar de tres formas diferentes:

Forma directa: se escriben una sentencia en DML y se lanza contra la base de


datos, obteniendo el resultado inmediatamente.
Forma programada: se compone un archivo con varias sentencias DML que
realizan una tarea ms o menos compleja. Ese archivo se lanza contra la base de
datos en el momento deseado y se obtiene el resultado.
Forma embebida o empotrada: se insertan las instrucciones DML dentro de otro
lenguaje host o husped convencional (por ejemplo, C, Fortran, Visual Basic, PHP o
cualquier otro). El programa se compila o interpreta y, llegado el momento, se
ejecuta. Durante la ejecucin, se lanzan las sentencias DML contra la base de datos
y se obtienen los resultados.

Durante este curso usaremos el DML en las dos primeras formas. En el 2 curso se usar
el DML en la tercera forma.

El lenguaje DML no procedimental ms habitual en los gestores de bases


de datos actuales se denomina SQL (Structured Query Language).

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

Ejemplo de uso de DML en forma directa


Se trata de una sentencia SQL escrita en el editor de texto interno del SGBD Base de
OpenOffice

1. Almacenamiento de la informacin
1.4. Sistemas gestores de bases de datos

Ejemplo de uso de DML en forma embebida


Cdigo SQL empotrado dentro de cdigo C++ Builder, que ejerce como lenguaje host o
husped.

void Tform1::EjecutarConsulta(...)
{
query->SQL->Clear();
query->SQL->Add(
"SELECT * FROM LIBROS WHERE cod_autor = :autor");
query->ParamByName("autor")->AsInteger = 27;
query->Open();
}

1. Almacenamiento de la informacin
1.5. Tipos de gestores de bases de datos

1.5. Tipos de gestores de bases de datos


Tipos de SGBD segn su estructura:

Jerrquicos: la informacin se almacena en forma de rbol.

Cayeron en desuso en la dcadas de 1970-1980, pero algunos sistemas an


funcionan en entidades financieras y administraciones pblicas.
Ejemplos: Adabas, IMS.

Distribuidos o en red: son un caso ms general del modelo jerrquico, en el que la


informacin se almacena en forma de grafo.

Se encuentran actualmente en fase de investigacin y desarrollo.

Ejemplo: IDMS, o el proyecto Mariposa de la Universidad de California.

Relacionales: la informacin se almacena en forma de tablas.

Son, con diferencia, el modelo ms extendido en la actualidad.

Ejemplos: Oracle, Access, Sybase, dBase, MySQL, PostgreSQL, etc.

1. Almacenamiento de la informacin
1.4. Tipos de bases de datos

Orientados a objetos: la informacin se almacena en forma de objetos


interrelacionados.

Un objeto es un conjunto de datos y de operaciones que se pueden realizar con


esos datos. Estas operaciones se llaman mtodos.
Se parece a una entidad del modelo ER, pero a la que, adems de atributos, se
le hayan aadido los procesos para manipular esos atributos.
Un objeto se comunica con otro invocando sus mtodos. Parte de los mtodos
de un objeto deben ser pblicos, es decir, ser invocables por otros objetos.
Todos estos conceptos provienen de la programacin orientada a objetos y de
las metodologas de desarrollo orientadas a objetos.
Es un campo en estudio y expansin, pero los SGBD orientados a objetos an
no son una alternativa real a los SGBD relacionales.
Son una extensin del modelo relacional, por lo que tambin se denominan
SGBD objeto-relacionales.
Ejemplos: Db4o (open source), Versant Object Database.

1. Almacenamiento de la informacin
1.5. Tipos de gestores de bases de datos

Tipos de SGBD segn su capacidad

SGBD ofimticos: fciles de usar (relativamente) y destinados a pequeas


bases de datos, con pocos acceso concurrentes y bajas necesidades de
velocidad y seguridad.

Ejemplos: Microsoft Access, OpenOffice Base, Knoda o gnome-db.

SGBD corporativos: ms difciles de usar y administrar, destinados a


bases de datos de gran tamao, con grandes cargas de transacciones
concurrentes y elevados requisitos de velocidad y seguridad.

Ejemplos: Oracle, DB2, SQL Server, PostgreSQL o MySQL.

1. Almacenamiento de la informacin
1.5. Tipos de gestores de bases de datos

Tipos de SGBD segn la ubicacin de los datos

SGBD centralizados: La informacin y el SGBD se ubican en un nico


equipo informtico. Es ms fcil de administrar y ms barato. Necesita
polticas de copia de seguridad muy estrictas para resultar seguro. Una
avera del equipo implica la cada de la BD.
SGBD distribuido: La informacin y el propio SGBD se encuentran
distribuidos en varios equipos (nodos) conectados en red. Es ms difcil de
administrar y ms caro, pero resulta mucho ms tolerante a fallos (aunque
un equipo caiga, la BD sigue funcionando) y es la nica alternativa cuando
el volumen de la BD impide realizar copias de seguridad completas con
frecuencia. Adems, si est bien administrado, resulta mucho ms rpido
que el SGDB centralizado.

S-ar putea să vă placă și