Definicin de las estructuras de datos Definicin de las relaciones entre ellas Definicin de las reglas que hay que cumplir
Funcin de manipulacin (DML) Aadir datos Eliminar datos Modificar datos Buscar datos
Funcin de control (DCL) Permite el acceso a los usuarios Procedimientos para el administrador Control de acceso a una base de datos a usuarios autorizados Integridad de la informacin Recuperacin ante fallos Control de la concurrencia
Lenguajes de los SGBD Lenguaje de definicin de datos (DDL): Especificar el esquema de la DB, las vistas de los usuarios y las estructuras de almacenamiento. Lo usan los diseadores y los administradores de las DB
Lenguajes de los SGBD Lenguaje de manipulacin de datos (DML): Se utilizan para leer y actualizar los datos de la BD. Usado por los usuarios para realizar consultas, inserciones, eliminaciones Lenguajes de los SGBD Lenguaje de control de datos (DDL): Especificar el esquema de la DB, las vistas de los usuarios y las estructuras de almacenamiento. Lo usan los diseadores y los administradores de las DB
Lenguajes de los SGBD Lenguaje de control de datos (DCL): Incluye una serie de comandos que permiten al administrador controlar el acceso, concediendo o denegando permisos, a los datos y objetos contenidos en la BD.
Lenguajes de los SGBD Lenguaje de cuarta generacin (4GL): Permiten desarrollar aplicaciones de forma fcil y rpida
El diccionario de datos Proporciona informacin acerca de: Estructura lgica y fsica Definiciones de todos los objetos Espacio asignado Valores por defecto Restricciones de integridad Privilegios y roles Auditora de informacin El diccionario de datos Debe cumplir las caractersticas: Soportar los modelos conceptuales, lgico, interno y externo de la DB Integrado dentro de la BD Transferencia eficiente de informacin Medio con almacenamiento con acceso directo para la fcil recuperacin de informacin Seguridad e integridad de datos Garantiza la proteccin de los datos Implanta restricciones de seguridad Copias de seguridad y restauracin Recuperacin de la BD Acceso concurrente Consistencia de los datos El administrador de la BD Categora DBA (Database Administrator) Categora RESOURCE: Pueden crear objetos Tipo CONNECT: Slo tienen acceso a los objetos a los que se les ha concedido permiso El administrador de la BD Objetivos DBA: Instalar SGBD Crear las BBDD Crear y mantener el esquema Crear y mantener las cuentas de usuario Arrancar y parar el SGBD Colaborar con el administrador del SO Formacin de usuarios Crear estndares de uso El administrador de la BD Objetivos DBA: Vigilar el trabajo diario Controlar en tiempo real los accesos Reorganizar la BD Copias de seguridad Restaurar la BD Estudiar las auditorias Ajustar y optimizar la BD Tablas Filas y columnas que almacenan datos Restricciones Reglas que tienen que cumplir los datos para considerarse vlidos ndices Lista ordenada de claves que permite acceder a los valores de forma ms veloz Vistas Visualizacin personalizadas de una o varias tablas Procedimientos y funciones Cdigo utilizado para ejecutar acciones sobre las tablas Nivel externo Nivel en que los usuarios utilizan la BD Nivel conceptual Hace referencia a la forma en que se relaciona la informacin Nivel interno o fsico Forma en que realmente se almacena la informacin. Imagen pg.8 Primera clasificacin Propietario: No se permite examinar el cdigo fuente, ni modificarlo, ni adaptarlo a nuevas versiones. Libre: Si permite este proceso Otra clasificacin: Cdigo cerrado: Lgico protegerlo para evitar copiar la tecnologa e incluso por razones de seguridad Cdigo abierto: A favor de la versatilidad que permite que miles de programadores mejoren el cdigo y lo compartan
Usan licencias de tipo CLUF o EULA (contrato de licencia de usuario final) Oracle DB2 SQL Server (Microsoft) Usan licencias de tipo GNU GPL (permiten modificar el cdigo, redistribuirlo, pero hay que mantener la licencia) MySQL PostgreSQL Firebird Apache Derby Bases de datos que se saltan el modelo relacional, modelo ms popular usado desde finales de los aos 70. Estos modelos empiezan a verse desbordados porque tienen que dar un servicio veloz y concurrente a miles de usuarios Este nuevo modelo se basa en el teorema de CAP, que indica que en un sistema distribuido no se pueden asegurar simultneamente: Consistencia Disponibilidad (No lo asegura el sistema relacional) Tolerancia TransaccionesACID: Atomicidad Consistencia Aislamiento Durabilidad Operaciones revocables para poder arreglar problemas de consistencia No usar operaciones de tipo JOIN: Los datos se almacenan sin validar su relacin con otras tablas para ganar velocidad No usan SQL como lenguaje de consulta: Usan otros lenguajes de programacin: JAVA, C++, XML o JSON Datos no relacionales: Almacenan bases de datos simples, con escasa relacin y reglas Clave / valor: usan estructuras de lenguajes de programacin conocidos como tablas de smbolos o mapas. Amazon Dynamo DB (Amazon) Google BigTable (Google) Apache Cassandra (Facebook Twitter, Netfix) Azure Tables (windows) Berkeley DB Tabulares: Usan tuplas para almacenar la informacin rpidamente BigTable HBase/Hadoop (Apache) Almacenes documentales: La informacin importante se almacena en un formato que encapsule la informacin y su formato. Ej: XML, JSON, PDF o los formatos de Microsoft Office MongoDB (Foursquare, New York times, The Guardian) Apache CouchDB (Ubuntu, BBC, Meebo) Amazon SimpleDB (Amazon Web Services) Bases de datos nativas XML: Se usa en todo momento XML para almcenar y gestionar la informacin Mark Logic Server BaseX (GitHub) eXist Basados en grafos: Permite relacionar los datos a travs de enlaces que facilitan el recorrido de los mismos Neo4j Infinite Graph AllegroGraph Orientadas a objetos: Basadas en la programacin orientada a objetos Sistemas monocapa: Sistemas gestores instalados en una sola mquina desde la que se conectan los propios usuarios y administradores. Sistemas de dos capas: Es el modelo cliente/servidor. La base de datos y el sistema gestor de bases de datos se alojan en un servidor al cual se conectan los usuarios desde mquinas clientes. Arquitectura cliente/servidor: Un solo servidor gestiona la BBDD Arquitectura cliente/multiservidor: La BBDD se distribuye entre varios servidores. El cliente no sabe a qu servidor se conecta. Sistemas de tres o ms capas: Entre el cliente y el servidor hay al menos una capa intermedia Figura pg. 14