# Bases de datos
## Almacenamiento de la informacion
**El almacenamiento primario** son los medios con los que la CPU puede interactuar directamente
**El almacenamiento secundario** son dispositivos mas lentos, pero de mayor capacidad
**El almacenamiento intermedio** es cuando se necesita transferir bloques de memoria principal y se conocen todas las direcciones del bloque
## Sistemas de archivos
Un **fichero informatico** es un conujutno de registros que pueden ser leidos por el ordenador
Un **registro** son colecciones de valores o elementos de informacion relacionados
### Organizacion de los archivos
**La organizacion secuencial** es el tipo mas basico de organizacion, los registros se colocan secuencialmente uno a continuacion del otro
>Organizacion **secuencial indexada** cualdo los datos se graban en un fichero secuencialmente
>La organizacion **secuencial encadenada** es tener los registros ordenados segun un orden logico diferente al fisico
**La organizacion relativa** se basa en grabar segun el valor de uno de sus campos(campo clave)
### Metodos de acceso
Procedimiento seguido apra acceder a uno o mas registros determinados en un chiero, se basan en el uso de indices
## Modelos de datos
La base de dato sconsisten en datos concretos referentes a un sistema o parte del mundo modelado.
**Un modelo de datos** es una coleccion de herramientas conceputales para describir datos y relaciones que tienen entre ellos y sus relaciones
## Tipos de modelos
**Un modelo conceputal** se usa para describir datos en el nivel global, es decir, representarlo a como nosotros lo captamos en el mundo real
**Modelo logico tradicional** Describir a nivel global solo qeu de forma mas logica
- Modelo relacional representan los datos y las relaciones entre estos, a traves de una coleccion de tablas
- Modelo de red ligeremante distinto al jerarquico en el cual se permite que un mismo nodo tenga varios padres
- El modelo jerarquico son modelos de bases de datos que almacenan informacion en una estructura con forma similar a un arbol
## Sistemas gestores de bases de datos
**Un sistema gestor de base de datos** es un app que permite a los usuarios definire crear y mantener la base de datos y acceso controlado al mismo
- Asegurar los res niveles de abstraccion: fisico logico y externo
- Permitir la independencia fisica y logica de los datos
- Garantizar la consistencia de los datos
- Ofrecer seguridad de acceso a los datos por parte de usuarios y grupos
- Gestion de transacciones
- Permitir la concurrencia de usuarios sobre los mismos
## Sus funciones
- Tener un catalogo: donde se almacenen las descripciones de los datos
- Garantizar la integridad
- Permitir actualizaciones
- Recuperacion de datos
- Integracion
- Cumplir restricciones
- Herramientas de administracion
## Componentes de un sgdb
- Lenguajes de datos: DDL, DCL, DML
- Diccionario de datos
- Objetos
- Optimizador de consultas
- Planificador
- Copias de seguridad
## Usuarios de sistemas gestores de base de datos
- Administradores
- Diseñadores de bases de datos
- Programadores
- Usuarios finales
## Tipos de SGBD
1. Modelo logico en el que se basan
2. Numero de usuarios: monousuario y multiusuario
3. Numero de sitios: centralizados o distribuidos
5. Ambito de aplicacion: proposito general o especifico
6. Tipos de datos: relaciones estandar o XML o objeto o objeto relacional
7. Lenguajes soportados: sql o no sql
## Bases de datos centralizadas y distribuidas
**Un sistema de base de datos centralizado** es que todos los componentes residen en un unico lugar fisico
**Un sistema de base de datos distribuida** coleccion de datos que pertenece al mismo sistema pero qeu se encuentra fisicamente almacenanda en distintas maquinas, generando mayor rendimiento, fiabilidad disponibilidad y demas
### Tecnicas de fragmentacion replicacion y distribucion
**Fragmentacion** Se guarda en un esquema de fragmentacion
**Replicacion** Muy util para mejorar la disponibilidad de los datos.