# Tema 3: Base de Datos Una base de datos se compone de lo siguiente: - Tablas: información de un objeto o suceso - Filas (entrada) - Columnas (atributos) - Relaciones: vínculos entre las tablas Entre los atributos, tiene que haber uno o varios que forman una clave, que es un campo (o varios) que identifica a una entrada de forma única. Se recomienda usar una columna `ID`. Una consulta, o __query__, es cualquier tipo de petición, sea crear, leer, modificar, o borrar. Una **vista** es una transformación sobre una o varias tablas para obtener una nueva __tabla virtual__. En este caso **se almacena su definición**. Un **informe** es una lista ordenada con todos los campos y registros seleccionados de forma amigable. Un **procedimiento** es un tipo especial de script que se encuentra almacenado en la base de datos y que forma parte de su esquema. I.e. una __función__. Estructura = Metadatos = Esquema = Schema ## Uso de las Bases de Datos - Administrador: se encarga de la implementación física. Desarrolla la política de seguridad y acceso a la base de datos. - Diseñador: Identifican los datos, las relaciones entre ellos, las restricciones, etc. Deben conocer los procesos y los datos. - Programador de Aplicaciones: Desarrollan la aplicación que realiza CRUD sobre la base de datos para que la utilicen los usuarios finales. - Usuarios Finales: Emplean las aplicaciones que explotan la base de datos. Ellos fijan con el administrador, diseñador, y programador los requisitos para la gestión de la información. ## Almacenamiento de Información - Discos SATA - Discos SCSI: Interfaces para discos duros de gran capacidad. - RAID: Conjunto de varios discos formando un bloque - NAS: Sistema de almacenamiento masivo en red. - SAN: Red de área de almacenamiento. Conecta servidores, matrices de discos, y librerías de soporte. ## Reglas de Codd (BB.DD. Relacionales) 0. Regla de Fundación: Todo es relacional 1. Regla de Información: no hay información que no esté en tablas 2. Regla de Acceso Garantizado: todos los datos deben ser accesibles sin ambigüedad 3. Regla de Tratamiento de Valores Nulos: debe permitir valores nulos 4. Catálogo Basado en el Modelo Relacional: los usuarios con permiso deben poder acceder a un base de datos. ... ## SQL Se divide en cuatro sublenguajes: - Data Manipulation Language - Data Definition Language - DCL - TCL ## Proceso de Diseño de una Base de Datos 1. Se realiza el modelo conceptual (Diagramas E/R) 2. Se transforma el modelo conceptual en lógico (Modelo Relacional) 3. Se pasa del modelo lógico al físico (DDL SQL)