TEMA 1. INTRODUCCIÓN A LAS BASES DE DATOS Un fichero es un conjunto de datos relacionados lógicamente y organizados según ciertos criterios, que se almacenan en memoria secundaria, generalmente en un disco o cinta magnética. No tendría sentido por ejemplo almacenar información de los pedidos hechos a una empresa de piezas mecánicas en el mismo fichero donde se guardan los diseños de las piezas. Los contenidos de los ficheros dependen de estos criterios. Los ficheros se organizan de muy diversas formas. Una estructura típica es dividir un fichero en registros. Un registro lógico es un conjunto de datos relacionados (nombre, apellidos, dirección, teléfono, etc.), estructurados de una forma lógica, a los que acceden y se tratan de manera unitaria. Ejemplo: Deseamos guardar información sobre nuestros clientes para felicitarles en sus cumpleaños. Datos: Su nombre (para saber a quién llamamos). Su fecha de nacimiento (para saber cuándo llamamos). Su teléfono (para saber dónde llamar). Campo: unidad elemental de información que representa un atributo de una entidad. Se define con un nombre, un tamaño (20 bytes, 45 bytes…) y un tipo de datos (numérico, alfanumérico, etc.) Por tanto un campo de un registro es cada dato individual que lo compone. Subcampo. En muchas ocasiones uno de los campos que forman un registro contiene un valor que nunca se repite. Si en el ejemplo anterior guardásemos también el DNI de nuestros clientes, tendríamos un campo cuyo valor no repite nunca, puesto que cada persona tiene un número de DNI único, al menos, en teoría. Este tipo de campos se denominan claves. Con los campos claves podemos identificar un registro de manera unívoca. Esto permite acelerar muchas operaciones con el fichero: búsquedas, ordenaciones, etc. Puede suceder que un archivo no tenga ningún campo clave, pero sin embargo, que una combinación de ellos sirva con el mismo propósito. El caso opuesto también puede ocurrir: un registro que contenga más de un campo clave. En este caso se denomina clave primaria a aquella elegida para optimizar las operaciones de ordenación, búsqueda, etc. Al resto de los campos claves se les llama claves secundarias. Por otra parte, cada vez que se realiza una operación sobre un fichero, se trasvasa cierta cantidad de información del ordenador a la memoria secundaria, ya sea ésta un disco, una cinta o cualquier otro dispositivo. A esta cantidad de información se la denomina bloque o registro físico. Registro físico o bloque: cantidad de datos que se transfieren en una operación de E/S entre el dispositivo externo y la memoria. Otra diferencia esencial es que el registro lógico lo define el programador. El registro físico viene predeterminado por el ordenador, por el periférico de almacenamiento o incluso por el sistema operativo. Factor de bloqueo (examen): número de registros lógicos que pueden entrar en un registro físico. 210/97 = 2 Resto = 16 210 = tamaño del registro físico 97 = tamaño del registro lógico 2 = factor de bloqueo 16 = número de bytes que sobran Cuanto mayor sea el factor de bloqueo más registros se transferirán en una operación de entrada/salida de datos, ahorrando tiempo. Una base de datos (examen) es un conjunto de datos almacenado de forma integrada y compartida. Integrada: la base está formada por un conjunto de archivos independientes, de los cuales se elimina o reduce al mínimo cualquier redundancia entre los mismos. Compartida: varios usuarios pueden acceder a los mismos datos, incluso al mismo tiempo. La gran ventaja de las bases de datos con respecto a los sistemas de ficheros es que consiguen una gran independencia entre los datos y los programas que los utilizan. Ora gran ventaja es la interrelación entre los datos que permite obtener de ellos una información más completa. 1. Sistemas Gestores de Bases de Datos (SGBD) 1.1 Modelos de Bases de Datos 1.1.1 Modelo Relacional Estructura del modelo de datos relacional: Una representación de una relación en forma de tabla podría ser: Relación ALUMNOS Nº Matrícula 1023 1089 2112 Nombre Felipe Ana Alfonso Apellidos Ruiz Sánchez Fernández Soto Sanz Soles Curso 1ª-ASI 2A-ASI 1C-ESO (Examen) Fichero Registro Campo Nº de registros Nº de campos Tabla Fila Columna Nº de filas Nº de columnas Relación Tupla Atributo Cardinalidad Grado 1. Tipos de relaciones: 1.1 Vistas (o relaciones virtuales): son relaciones con nombre que se definen a partir de una consulta, no tienen datos almacenados, lo único que almacena es la definición de la consulta a realizar. FIN. Dominio: es el conjunto finito de valores homogéneos (del mismo tipo) y atómicos (indivisibles) que puede tomar cada campo. Por ejemplo: el campo MES es Enero, Febrero…Diciembre. Un valor de la relación “alumnos” puede ser 1089. Valor null (o valor nulo): representa la ausencia de información. Una clave permite identificar a una fila de una tabla. A veces la clave está formada por un único atributo, pero otras veces debe formarse por más de un atributo. Una clave candidata (examen) de una relación (tabla) es el conjunto de atributos que identifican unívoca y mínimamente cada tupla de de la relación. Una clave primaria o clave principal es aquella clave candidata que se escoge para identificar las tuplas de la realción. No puede tener valores nulos. Una clave alternativa: es cualquier clave candidata no escogida como clave principal. Una clave ajena (examen) de una tabla es el conjunto de atributos cuyos valores han de coincidir con los valores de la clave primaria de otra tabla. A través de las claves ajenas se construyen asociaciones entre tablas. 1. Reglas de integridad (examen): conjunto de reglas que garantizan la consistencia de la información. Actúan sobre los dominios, las claves primarias y las claves ajenas (integridad referencial). 1.1 Regla de integridad de la entidad (examen): “Ninguno de los atributos que componen la clave primaria puede ser nulo”. 1.2 Regla de integridad referencial (examen): “Si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser todos nulos”.