¡Descarga tema 2 - modelo relacional y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!
EL MODELO RELACIONAL
JESÚS JORGE SANTISO
CURSO 2022/
INTRODUCCIÓN
- FUE PROPUESTO POR EDGAR FRANK CODD (1923-2003) EN 1970
- SU TRABAJO RECIBIÓ EL PRESTIGIOSO PREMIO TURING DE LA ACM (ASSOCIATION OF COMPUTING MACHINERY)
- A LO LARGO DE LA DÉCADA DE 1970 SE FUERON DESARROLLANDO SISTEMAS GESTORES DE BASES DE DATOS BASADOS EN EL MODELO RELACIONAL - EL PRIMER PROTOTIPO FUE EL SISTEMA R DESARROLLADO POR EL IBM SAN JOSE RESEARCH LABORATORY
- DESDE SU ESCALADA EN EL DOMINIO EN LA DÉCADA DE 1980, EL MODELO RELACIONAL HA MANTENIDO SU SUPREMACÍA SOBRE LOS DEMÁS MODELOS DE DATOS - ES UN HECHO INSÓLITO EN EL MUNDO DE LA INFORMÁTICA
CONCEPTOS BÁSICOS DEL MODELO RELACIONAL
- FORMALMENTE UNA RELACIÓN SE DEFINE COMO UN SUBCONJUNTO FINITO DEL PRODUCTO CARTESIANO DE LOS DOMINIOS DE SUS ATRIBUTOS (D 1 × D 2 × … × DN)
- UN RELACIÓN SE COMPONE DE SU ESQUEMA (INTENSIÓN) Y DE SU CONTENIDO (EXTENSIÓN)
- EL ESQUEMA SE SUPONE INVARIANTE EN EL TIEMPO
- LA EXTENSIÓN VARÍA CONSTANTEMENTE
- EL ESQUEMA DE UNA RELACIÓN CONSISTE EN EL NOMBRE DE LA RELACIÓN Y UNA LISTA DE LAS DEFINICIONES DE SUS ATRIBUTOS
- SE REPRESENTA PONIENDO EL NOMBRE DE LA RELACIÓN Y ENTRE PARÉNTESIS, SEPARADOS POR COMAS, SUS ATRIBUTOS, CON SUS CORRESPONDIENTES DOMINIOS SEPARADOS DEL NOMBRE DEL ATRIBUTO POR AL MENOS UN ESPACIO EN BLANCO. - EJ: EMPLEADO(DNI NUMBER, NOMBRE CHAR(10), FECHA_ALTA DATE)
- LA DEFINICIÓN EXACTA DEL DOMINIO DE CADA ATRIBUTO NO ES RELEVANTE HASTA QUE NO SE IMPLEMENTE CON UN DDL, POR LO CUAL LA OMITIREMOS DE MOMENTO - EJ: EMPLEADO(DNI, NOMBRE, FECHA_ALTA)
CONCEPTOS BÁSICOS DEL MODELO RELACIONAL
- LOS DOMINIOS DE UN ATRIBUTO PUEDEN SER:
- CUALITATIVOS
- SIN CARÁCTER NUMÉRICO INTRÍNSECO
- EJ: NOMBRE, SEXO {HOMBRE, MUJER}, ESTADO CIVIL {SOLTERO, CASADO, DIVORCIADO, VIUDO}, …
- CUANTITATIVOS
- ATRIBUTOS DE TIPO NUMÉRICO
- EJ: ESTATURA, EDAD, SALARIO, …
CONCEPTOS BÁSICOS DEL MODELO RELACIONAL
- EL GRADO DE UNA T-UPLA ES EL NÚMERO DE COMPONENTES O VALORES QUE TIENE
- EL GRADO DE UNA RELACIÓN ES EL NÚMERO DE ATRIBUTOS QUE PERTENECEN A SU ESQUEMA Y COINCIDE CON EL
GRADO DE SUS T-UPLAS
- DOS T-UPLAS SON IGUALES CUANDO LOS VALORES DE TODAS SUS COMPONENTES COINCIDEN
- UNA VARIABLE DE TIPO T-UPLA ES UNA VARIABLE QUE REPRESENTA UNA T-UPLA
- LAS VARIABLES DE TIPO T-UPLA TIENEN COMO DOMINIO UNA TABLA
- SE UTILIZA LA NOTACIÓN t[NS] PARA DENOTAR EL VALOR DE t EN EL ATRIBUTO NS
- DE MANERA ALTERNATIVA t[1] O t 1 DENOTA EL VALOR DE T EN EL PRIMER ATRIBUTO DE LA RELACIÓN A LA QUE PERTENECE t
- UNA VARIABLE DE TIPO DOMINIO ES UNA VARIABLE QUE REPRESENTA UN VALOR DEL DOMINIO DE UN ATRIBUTO
^ t R (^) t R
CONCEPTOS BÁSICOS DEL MODELO RELACIONAL
- TAMBIÉN PODEMOS REPRESENTAR UNA T-UPLA MEDIANTE LA NOTACIÓN: <t 1 , ..., tN>
- LAS VARIABLES t 1 , ..., tN SON VARIABLES DE TIPO DOMINIO
- LAS VARIABLES SE PUEDEN CUANTIFICAR EXISTENCIAL ( ) Y UNIVERSALMENTE ( ) Y EXPRESAR PREDICADOS LÓGICOS CON ELLAS - DOM(t) = CUENTA; (∃ t) (T[SLD] > 100000) - DOM(t) = CUENTA; (∀ t) (T[SLD] > 100)
CLAVE
- UN CONJUNTO DE ATRIBUTOS K ES UNA CLAVE DE UNA RELACIÓN R SI:
- K ES SUPERCLAVE DE R
- K ES MINIMAL EN EL SENTIDO DE LA INCLUSIÓN DE CONJUNTOS
- TODAS LAS TABLAS TIENEN AL MENOS UNA CLAVE (PUESTO QUE TIENEN AL MENOS UNA SUPERCLAVE)
- NO TODAS LAS CLAVES TIENEN EL MISMO CARDINAL (MISMO NÚMERO DE ATRIBUTOS)
- A LOS ATRIBUTOS DE CUALQUIER CLAVE SE LES LLAMA ATRIBUTOS PRINCIPALES
CLAVE PRIMARIA (PRIMARY KEY)
- A LA CLAVE QUE SE USARÁ HABITUALMENTE PARA IDENTIFICAR LAS T-UPLAS DE LA RELACIÓN SE LE LLAMA CLAVE PRIMARIA (PRINCIPAL)
- A LAS DEMÁS CLAVES DE LA TABLA SE LES CONOCE COMO CLAVES ALTERNATIVAS (SECUNDARIAS)
CLAVE AJENA (FOREIGN KEY)
- UN CONJUNTO DE ATRIBUTOS SE DICE QUE FORMAN UNA CLAVE EXTERNA (AJENA) EN UNA TABLA R SI HACEN REFERENCIA (RELACIÓN DE EXISTENCIA) A UNA CLAVE DE UNA TABLA S (NO NECESARIAMENTE DISTINTA DE R)
- LOS DOMINIOS DE LOS ATRIBUTOS DE LA CLAVE DE S Y DE LA CLAVE AJENA EN R DEBEN COINCIDIR
- LA TABLA QUE CONTIENE LA CLAVE AJENA SE DENOMINA TABLA HIJA (REFERENCIANTE) Y LA QUE CONTIENE LA CLAVE DE LA QUE DEPENDE LA CLAVE AJENA SE DENOMINA TABLA PADRE (REFERENCIADA) - ESTO DA LUGAR A UNA JERARQUÍA DE DEPENDENCIAS ENTRE LAS TABLAS O JERARQUÍA REFERENCIAL, CON POSIBLEMENTE VARIOS NIVELES
- UNA TABLA PUEDE TENER VARIOS PADRES DISTINTOS, NO NECESARIAMENTE EN EL MISMO NIVEL, PORQUE SE HAN DEFINIDO SENDAS CLAVES AJENAS QUE REFERENCIAN CLAVES DE TABLAS DISTINTAS
- UNA TABLA PUEDE AUTOREFERENCIARSE, ES DECIR, LA CLAVE AJENA APUNTA A UNA CLAVE DENTRO DE LA PROPIA RELACIÓN
- LA TABLA ES A LA VEZ PADRE E HIJA.
CLAVE AJENA (FOREIGN KEY)
- ESTAS DEPENDENCIAS PUEDEN SER REPRESENTADAS GRÁFICAMENTE MEDIANTE UN GRAFO, DENOMINÁNDOSE AL MISMO DIAGRAMA O GRAFO DE JERARQUÍA REFERENCIAL DE LA BASE DE DATOS
- LAS TABLAS DEL PRIMER NIVEL DE ESTE DIAGRAMA SE CONSIDERAN INDEPENDIENTES, MIENTRAS QUE LAS DE LOS NIVELES MÁS ANIDADOS O PROFUNDOS SON DEPENDIENTES
- LA JERARQUÍA REFERENCIAL ESTABLECE UN ORDEN DE CREACIÓN Y ELIMINACIÓN DE OBJETOS EN LA BASE DE DATOS - SE CREAN DESDE EL NIVEL MÁS EXTERNO AL MÁS INTERNO Y SE ELIMINAN EN SENTIDO CONTRARIO
VALORES NULOS
- LOS VALORES NULOS AÑADEN FLEXIBILIDAD A LA BASE DE DATOS, PORQUE A VECES DETERMINADOS VALORES NO SON CONOCIDOS EN EL MOMENTO DE INTRODUCIR LA INFORMACIÓN EN EL SISTEMA O PUEDE QUE TODAVÍA NO HAYAN SIDO GENERADOS - PUEDE SER QUE UN CLIENTE NO TENGA NÚMERO DE TELÉFONO - O QUE TODAVÍA NO SE TENGA LA NOTA DE UNA ASIGNATURA (POR NO HABERSE CELEBRADO EL EXAMEN) - O QUE NO SE TENGA FECHA DE LAS ÚLTIMAS VACACIONES PORQUE EL EMPLEADO ACABA DE INCORPORARSE A LA EMPRESA
VALORES NULOS
- PARA LOS PROPÓSITOS DE ESTA ASIGNATURA, CONSIDERAREMOS QUE TODOS LOS VALORES NULOS TIENEN EL MISMO GRADO DE DESCONOCIMIENTO
- UNA T-UPLA ES DUPLICADA DE OTRA CUANDO TODAS SUS COMPONENTES COINCIDEN, CONSIDERANDO QUE UN VALOR NULO SÓLO ES IGUAL A NULO
- DIREMOS QUE UN CONJUNTO DE ATRIBUTOS TOMA EL VALOR NULO CUANDO ALGUNO DE ESOS ATRIBUTOS TIENE VALOR NULO
- PERMITIR VALORES NULOS EN EL DOMINIO DE UN ATRIBUTO HACE QUE HAYA QUE REVISAR ALGUNOS CONCEPTOS DEL MODELO RELACIONAL Y LOS RESULTADOS DE LAS OPERACIONES ARITMÉTICAS, COMPARACIONALES Y LÓGICAS.
TABLAS DE VERDAD OPERADORES LÓGICOS CON VALORES NULOS V F? V V F? F F F F ?? F? V F? V V V V F V F? ? V?? V F F V ??
VALORES NULOS
- SE DEBE AÑADIR UN OPERADOR LÓGICO PARA COMPROBAR SI EL VALOR DE UN ATRIBUTO ES NULO O NO - EL OPERADOR LO DENOMINAREMOS ISNULL Y DEVUELVE VERDADERO SI EL ATRIBUTO TOMA EL VALOR NULO Y FALSO EN CASO CONTRARIO - SU PROTOTIPO SERÍA: BOOLEAN ISNULL(TIPO ATRIBUTO)