Tema III: El enfoque relacional
|
|
- Gloria Fuentes Valenzuela
- hace 7 años
- Vistas:
Transcripción
1 Tema III: El enfoque relacional S. Velilla 1
2 5 MODELO RELACIONAL 5.1 Conceptos básicos. Estática del modelo Relacional 5.2 Transformación del modelo E/R en el modelo Relacional 5.3 Dinámica del modelo Relacional: Álgebra relacional. 5.4 Interrogación de una B.D. Relacional utilizando álgebra relacional. S. Velilla 2
3 5.1 Conceptos básicos: estática del modelo Relacional M.R. propuesto por Codd (1970) Objetivo: independencia de la Estructura Física características (ventajas) Independencia física Independencia lógica Uniformidad (tablas) Sencillez accesibilidad y facilidad de uso Flexibilidad soporte formal integridad optimización (consultas y representación) de la ordenación de la indización de los caminos de accesos Tª Normalización redundancias ayuda diseño dinámica álgebra relacional cálculo relacional (de tuplas y de dominios) S. Velilla 3
4 evolución histórica del modelo Relacional. inconvenientes (pasado reciente) implementaciones poco eficientes (lentas y voluminosas) no soporta muchos de los conceptos muy superados evolución 1970 surge el modelo prototipos (Ingres, Sistema R,..) 1978 QBE 1979 ORACLE 1980 INGRES 1981 SQL 1982 DB SQL/ANSI SQL SQL3, MROO,.... prerrelacional relacional postrelacional S. Velilla 4
5 aproximación intuitiva al modelo relacional. diagrama E/R Cliente DNI (0,N) (0,N) CLIENTE titular CUENTA ciudad nombre numcc sucursal Esquema relacional (simplificado) de la Base de Datos bancaria DNI Nombre Ciudad Severino Martínez Huesca Salustiano Pérez Teruel Indalecio López Zaragoza Pedro García Calatayud Antonio Sánchez Zaragoza saldo Cuenta numcc Sucursal Saldo Titular DNI numcc S. Velilla 5
6 introducción al concepto de relación DOMINIOS tpdni tpnombre tpciudad XXXX XXX 40 Calatayud Huesca Teruel Zaragoza nombre cardinalidad = 5 Cliente DNI Nombre Ciudad Severino Martínez Huesca Salustiano Pérez Teruel Indalecio López Zaragoza Pedro García Calatayud Antonio Sánchez Zaragoza grado = 3 atributos tuplas S. Velilla 6
7 modelo relacional: Dominios y Atributos Dominio conjunto finito de valores homogéneos y atómicos, con un nombre asociado igual tipo (y representación) indivisibles (sin perder semántica) definición intensión { ej. edad = } extensión { ej. sexo = (hombre, mujer) } Dominio compuesto combinación de dominios simples (+ restricciones integridad) Atributo papel de un dominio en una relación posibilidad de valores nulos el Universo Dis de una base de datos relacional está formado por un conjunto finito y no vacío de atributos estructurados en relaciones S. Velilla 7
8 relaciones y esquemas de relación Relación subconjunto del producto cartesiano de los dominios sobre los que se define suele tener un nombre asociado cabecera de relación conjunto de n pares atributo - dominio subyacente {(A i : D i ), i 1.. n} grado cuerpo de relación conjunto de m tuplas {t 1, t 2,.., t m } conjunto pares atributo - valor {(A i : V ij ), i 1.. n} cardinalidad intensión o esquema de relación R R ( {A i : D i }, i 1.. n ) extensión o estado de relación r(r) <esquema, cuerpo> ocurrencia Base Datos Relacional conjunto de variables de relación +... S. Velilla 8
9 clasificación de las relaciones (ISO 92) clases de relación: con nombre Persistentes Temporales Base Vistas * Instantáneas * Autónomas Vistas temporales * Instantáneas temporales * nivel conceptual nivel externo nivel interno no almacenadas (virtuales) no cambian con los datos se refrescan por el sistema sin nombre Resultado final de una consulta * Resultados intermedios de una consulta * * significa derivada S. Velilla 9
10 concepto de clave en el modelo relacional. claves de una relación: superclave cualquier conjunto de atributos que identifica cada tupla de la relación clave candidata cualquier superclave mínima clave primaria clave candidata elegida por el diseñador. El resto alternativas clave ajena conjunto de atributos cuyos valores deben coincidir (o ser nulos) con los de la clave primaria de la relación especificada muy importantes para estudio de la integridad en SQL92 puede ser clave candidata S. Velilla 10
11 restricciones en el modelo relacional (1) Restricciones: inherentes no hay dos tuplas iguales el orden de las tuplas es irrelevante el orden de los atributos no es significativo cada atributo (en cada tupla) sólo puede tener un valor del dominio 1ª Forma Normal + integridad de entidad ningún atributo que forme parte de la clave primaria puede tomar el valor nulo de usuario (semánticas) básicas especificación de clave primaria, (PRIMARY KEY) unicidad (UNIQUE) obligatoriedad (NOT NULL) integridad referencial el modelo no lo exige para claves alternativas los valores de los atributos de una clave ajena (FOREIGN KEY), deben existir, o ser nulos pb. Valores NULOS S. Velilla 11
12 restricciones en el modelo relacional (2) especificación de clave ajena indicar acción en operaciones de borrado y modificación operación restringida (RESTRICT) operación transmisión en cascada (CASCADE) operación con puesta a nulos (SET NULL) operación con puesta a valor por defecto (SET DEFAULT) especificación de restricciones basadas en predicados Intrarrelación (sobre atributos y tuplas) Interrelación de Dominio CHECK y ASSERTION asociadas a la estática o a la dinámica (TRIGGERS) con posible activación de un procedimiento asociado indicación del momento en que se verifica dentro de la transacción están en el DICCIONARIO, como el resto de las relaciones S. Velilla 12
13 concepto de Base de Datos Relacional y notación esquema de relación R ( {A i :D i }, S) esquema de B.D. relacional < {R i }, {V i } > lista de restricciones (intrarrelación) lista de pares atributo-dominio lista de restricciones (interrelación) lista de esquemas de relación Base de Datos relacional esquema relacional + ocurrencia válida del esquema notación: gráfica diagrama relacional hay que completarlo con notación textual textual (en lenguaje natural, o utilizando un estándar como SQL92) S. Velilla 13
14 ejemplo de esquema relacional simple ejemplo de B.D. Bancaria: Dominios: diagrama relacional cliente DNI Nombre Ciudad titulares DNI numcc cuenta numcc Sucursal Saldo tpdni = ; tpnombre = cadena(50); esquemas de relación: cliente = (DNI : tpdni; Nombre : tpnombre, UNICO; Ciudad : cadena(20)); cuenta = (numcc : entero, clave primaria; Sucursal : cadena(20) NO NULO; saldo : real); verificar que saldo > 0; titulares = (DNI : tpdni; numcc : entero); clave primaria (DNI, numcc); clave ajena (DNI), referencia a cliente; borrado en cascada clave ajena (numcc), referencia a cuenta; borrado en cascada + restricciones S. Velilla 14
15 modelo relacional y arquitectura ANSI (1) el modelo relacional es un modelo lógico no contempla el nivel interno de la B.D. parcialmente en SQL (CREATE INDEX, ) y en implementaciones concretas Relaciones base nivel conceptual de la B.D. (esquema lógico global) Vistas ( tablas virtuales) nivel externo de la B.D. diferencias el usuario tiene acceso a más información (autorizaciones, tablas, etc.) no todas las vistas son actualizables Las tablas temporales no tienen correspondencia directa en la arquitectura ANSI S. Velilla 15
16 modelo relacional y arquitectura ANSI (2) SQL - Manipulación Independencia lógica VISTA 1 TABLA BASE TB 1 VISTA 2 TABLA BASE TB 2 RELACIONAL VISTA m TABLA BASE TB p N I V E L L O G IC O EXTERNO CREATE VIEW + sentencia de manipulación (SELECT) CONCEPTUAL (CREATE TABLE, CREATE DOMAIN, CREATE ASSERTION,... ) Independencia física DATOS ALMACENADOS (Registros de las tablas, índices, agrupamientos, etc.) N I V E L F IS I C O FISICO (CREATE INDEX, CREATE PARTITION, CREATE CLUSTER,... ) S. Velilla 16
17 5.2 Transformación del modelo E/R en modelo Relacional las reglas de transformación son bastante simples y fáciles de deducir dominios ER dominios relacionales atributos E/R atributos de relaciones tipos de entidad relaciones (tablas) AIP CLAVE PRIMARIA AIA UNICO (o clave alternativa) obligatoriedad NO NULO (por defecto opcionales) tipos de interrelación caso general (N : M) casos (1 : N) y (1 : 1) relación con clave primaria concatenación de las C.P. de los tipos de entidad que participan + especificación de claves ajenas propagación de clave + especificación de clave ajena o como el caso general al tipo correspondiente a la N, o a cualquiera de ellos si es 1:1 S. Velilla 17
18 transformación de tipo de correspondencia N:M las cardinalidades mínima y máxima casos particulares clva A (a,n) R (b,n) clvb B R( A(0,N), B(0,N) ) A(clvA,...); B(clvB, ); R(clvA, clvb) R( A(0,N), B(1,N) ) A(clvA,...); B(clvB, ); R(clvA, clvb) R( A(1,N), B(0,N) ) similar al anterior ò ò clave ajena de B clave ajena de A clave ajena de B clave ajena de A ocurrencia de clva en A, en R ( clva (A) - clva (R)), ò clva (R) = clva (A) clva referencia a R(clvA) R( A(1,N), B(1,N) ) A(clvA,...); B(clvB, ); R(clvA, clvb) clave ajena de B clave ajena de A clvb referencia a R(clvB) clva referencia a R(clvA) S. Velilla 18
19 transformación de tipo de correspondencia 1:N clva clvb 1 2 R( A(0,1), B(0,N) ) A(clvA,...); B(clvB, clva, ); R( A(1,1), B(0,N) ) A(clvA,...); B(clvB, clva, ); R( A(0,1), B(1,N) ) 3 A(clvA,...); B(clvB, clva, ); clva referencia a B(clvA) R( A(1,1), B(1,N) ) 4 A(clvA,...); B(clvB, clva, ); 1b clva referencia a B(clvA) con 3 tablas: R( A(0,1), B(0,N) ) A(clvA,...); B(clvB, ); R(clvA, clvb) el resto de casos, mezcla del caso general y el anterior A (a,1) clave ajena de A R (b,n) clave ajena de A, NO NULO clave ajena de A clave ajena de A, NO NULO clave ajena de B clave ajena de A, NO NULO B sólo clave primaria S. Velilla 19
20 transformación de tipo de correspondencia 1:1 si ambas cardinalidades máximas son = 1 se puede propagar la clave a cualquiera de las relaciones clva A (a,1) R (b,1) clvb B hacia la tabla más pequeña R( A(0,1), B(0,1) ) A(clvA,...); B(clvB, clva, ); R( A(1,1), B(0,1) ) A(clvA,...); B(clvB, clva, ); R( A(0,1), B(1,1) ) A(clvA,...); B(clvB, clva, ); R( A(1,1), B(1,1) ) mejor fusionar las tablas clva referencia a B(clvA) clave ajena de A, UNICO clave ajena de A, UNICO, NO NULO clave ajena de A, UNICO no interesa la propagación de clave si hay muy pocas ocurrencias de la interrelación en el futuro será una interrelación N:M hay atributos en la interrelación daría lugar a muchos nulos S. Velilla 20
21 otras transformaciones de atributos e interrelaciones los atributos de los tipos de interrelación se añaden a la traducción de la interrelación tipos de interrelación ternaria similar, pero puede haber casos particulares (p.e. 1:N:N) tipos de entidad débiles como los fuertes, pero añadiendo a su clave primaria la clave primaria de los tipos de entidad de los que depende + especificación de clave ajena tipos de interrelación en exclusión restricciones adicionales (predicados) + posibilidad de trucos de implementación atributos multivaluados nueva relación cuya clave primaria está formada por la clave primaria y el atributo multivaluado + especificación de clave ajena casos particulares S. Velilla 21
22 transformación de la generalización / especialización (1) la generalización/especialización plantea varias posibilidades AtribA A... clvs selec AtribS AtribB B clvs atribs S atriba selec atribb A B AtribA A... clvs selec AtribS AtribB B AtribA A clvs clvs selec AtribS AtribA A... clvs selec AtribS clvs AtribB B clvs selec AtribS AtribB B tabla con resto S. Velilla 22
23 transformación de la generalización / especialización (2) 1 una única tabla con toda la información (supertipo y subtipos) S(clvS, atribs, selec, atriba,, atribb,...); 2 una tabla para cada uno de los tipos de entidad (supertipo y subtipos) S(clvS, atribs, selec,...); A(clvS, atriba,...); B(clvS, atribb,...); 3 una tabla para cada uno de los subtipos (incluyen la del supertipo) A(clvS, atribs, selec,..., atriba,...); B(clvS, atribs, selec,..., atribb,...); S(clvS, atribs, selec,...); sólo para los que no están en ningún subtipo Acceso más eficiente Mejor la semántica Acceso eficiente peor la semántica habrá que añadir restricciones adicionales para implementar la semántica y los casos particulares S. Velilla 23
24 transformación de la agregación la agregación queda representada por la interrelación AGREGACIÓN A (0,N) r1 (0,N) B (0,N) r2 (0,1) C puede haber muchos casos particulares, pero en la práctica sólo algunos y simples Ejemplos:... S. Velilla 24
25 transformación de la B.D. de la Universidad (1) diagrama E/R: codprof codarea coddpto clvprof nombprof clvarea nombarea clvdpto nombdpto (0,N) (1,1) (1,N) (1,1) PROFESOR adscribir AREA_CONOC pertenecer DEPARTAMENTO (1,N) (1,1) impartir encargar codtitulo HT HP tt_ht (0,N) tt_hp clvtitulo nombtitulo (0,N) ASIGNATURA (0,N) formar (1,N) TITULACION clvasign nombasign codasign S. Velilla 25
26 transformación de la B.D. de la Universidad (2) Atributos de tipos de entidad: clvprof: tpclave; AIP codprof: tpcódigo; AIA nombprof: tpnombre; clvarea: tpclave; AIP codarea: tpcódigo; AIA nombarea: tpnombre; clvdpto: tpclave; AIP coddpto: tpcódigo; AIA nombdpto: tpnombre; clvasign: tpclave; AIP codasign: tpcódigo; AIA nombasign: tpnombre; tt_ht, tt_hp: tphoras; clvtitulo: tpclave; AIP codtitulo: tpcódigo; AIA nombtitulo: tpnombre; Atributos de interrelaciones: impartir.ht, impartir.hp: tphoras; Dominios: tpclave = entero; tpcódigo = ; tpnombre = cadena(40); tphoras = ; Restricciones: 1) Ningún profesor puede impartir docencia en una asignatura que no esté encargada a su área de conocimiento 2) El total de horas impartidas de una asignatura debe ser menor o igual que el correspondiente a la asignatura. S. Velilla 26
27 transformación de la B.D. de la Universidad (3) Dominios: tpclave = entero; tpcódigo = ; tpnombre = cadena(40); tphoras = ; Esquemas de relación: Departamento = (clvdpto: tpclave; coddpto: tpcódigo, UNICO, NO NULO; nombdpto: tpnombre, NO NULO); eliminar pertenecer y propagar clvdpto a relación AreaConoc AreaConoc = (clvarea: tpclave; codarea: tpcódigo, UNICO, NO NULO; nombarea: tpnombre, NO NULO clvdpto:tpclave, NO NULO, clave ajena de Departamento); eliminar adscribir y propagar clvarea a relación Profesor Profesor = (clvprof: tpclave; codprof: tpcódigo, UNICO, NO NULO; nombprof: tpnombre, NO NULO); clvarea:tpclave, NO NULO, clave ajena de AreaConoc); eliminar encargar y propagar clvarea a relación Asignatura Asignatura = (clvasign: tpclave; codasign: tpcódigo, UNICO, NO NULO; nombasign: tpnombre, NO NULO; clvarea: tpclave, NO NULO, clave ajena de AreaConoc; tt_ht, tt_hp: tphoras, NO NULOS); S. Velilla 27
28 transformación de la B.D. de la Universidad (4) Titulacion = (clvtitulo: tpclave; codtitulo: tpcódigo, UNICO, NO NULO; nombtitulo: tpnombre, NO NULO); ImparteAsign = (clvprof: tpclave; clvasign: tpclave; HT, HP: tphoras, NO NULOS); clave ajena (clvprof), referencia a Profesor; borrado en cascada clave ajena (clvasign), referencia a Asignatura; borrado en cascada AsignTitulo = (clvasign: tpclave; clvtitulo: tpclave); clave ajena (clvasign), referencia a Asignatura; borrado en cascada clave ajena (clvtitulo), referencia a Titulacion; borrado en cascada restricciones: verificar que ocurrencia de clvdpto en Departamento, en AreaConoc verificar que ocurrencia de clvasign en Asignatura, en AsignTitulo verificar que ocurrencia de clvasign en Asignatura, en ImparteAsign verificar que ocurrencia en ImparteAsign, la clvarea del Profesor coincide con la de la Asignatura verificar que la suma de HT, y la de HP en ImparteAsign, agrupando por asignatura es menor o igual que el valor de tt_ht y tt_hp correspondiente a la Asignatura S. Velilla 28
29 transformación de la B.D. del colegio (1) diagrama E/R: numcurso CURSO Notación: En interrelación ternaria, cardinalidad de participación (1,1) (0,N) (1,1) constar coordinar organizar numaula capacidad (1,N) DNI_Prof nombreprof (1,1) tfno (1,N) (0,N) asignar (1,1) AULA ApellProf PROFESOR (0,N) (1,1) conexpc proyector direcprof tutorar 1 (0,N) (1,1) asistir (1,N) nummatric nombrealum ASIGNATURA (1,N) N impartir N (1,N) GRUPO ALUMNO ApellAlum nombreasign letra (0,1) (1,1) delegar tfno direcalum S. Velilla 29
30 transformación de la B.D. del colegio (2) Dominios: tpnombre = cadena(40); tpdirección = cadena(40); tptfno = ; Atributos de tipos de entidad: DNI_Prof: cadena(9); AIP nombreprof: tpnombre; apellprof: tpnombre; direcprof: tpdireccion; profesor.tfno: tptfno; nummatric: ; AIP nombrealum: tpnombre; apellalum: tpnombre; direcalum: tpdireccion; alumno.tfno: tptfno; Atributos de tipos de entidad (cont.): numcurso: 0..8; AIP letra: A.. G ; AIP nombreasign: tpnombre; AIP numaula: 0..99; AIP capacidad: ; conex_pc: booleano; proyector: booleano; Restricciones: 1) Un alumno sólo puede ser delegado del grupo al que asiste. S. Velilla 30
31 transformación de la B.D. del colegio (3) Dominios: tpdni = cadena(9); tpnombre = cadena(40); tpnombasign = cadena(16); tpcurso = 1..8; tptfno = ; tpnummatric = ; tpidaula = 1..69; tpidgrupo = A.. G ; tpcapacaula = ; Esquemas de relación: Profesor Curso = (DNI_Prof: tpdni; tfno: tptfno; nombreprof: tpnombre, NO NULO); ApellProf: tpnombre, NO NULO; direcprof: tpnombre); eliminar coordinar y propagar DNI_Prof a relación Curso = (numcurso: tpcurso; ProfCoord: tpdni, NO NULO, clave ajena de Profesor); añadir a entidad débil asignatura la clave de entidad fuerte numcurso eliminar constar y propagar numcurso a relación Asignatura (ya hecho) Asignatura = (nombreasign: tpnombre; numcurso: tpcurso, clave ajena de Curso); verificar que numcurso en Asignatura ocurrencia de Curso Aula = (numaula: tpidaula; capacidad: tpcapacaula; conexpc, proyector: booleano); S. Velilla 31
32 transformación de la B.D. del colegio (4) eliminar asignar y propagar numaula a relación Grupo eliminar tutorar y propagar DNI_Prof a relación Grupo eliminar delegar y propagar nummatric a relación Grupo añadir a entidad débil Grupo la clave de entidad fuerte numcurso eliminar organizar y propagar numcurso a relación Grupo (ya hecho) Grupo = (letra: tpidgrupo; tfno: numcurso: tpcurso; numaula: tpidaula, NO NULO; proftutor: tpdni, NO NULO; delegrupo: tpnummatric, NO NULO, UNICO); clave ajena (numcurso), referencia a Curso; borrado en cascada clave ajena (numaula), referencia a Aula; borrado en cascada clave ajena (proftutor), referencia a Profesor; borrado en cascada clave ajena (delegrupo), referencia a Alumno; borrado en cascada verificar que numcurso en Grupo ocurrencia de verificar que (delegrupo, num, letra) en Alumno eliminar asistir y propagar (numcurso, letra) a relación Alumno Alumno = (nummatric: tpnummatric; nombrealum, ApellAlum: tpnombre, NO NULOS; direcalum: tpnombre; tfno: tptfno; numcurso: tpcurso, NO NULO; letra: tpidgrupo, NO NULO); clave ajena (numcurso, letra), referencia a Grupo; borrado en cascada verificar que (letra, numcurso) en Alumno ocurrencia de Grupo S. Velilla 32
33 transformación de la B.D. del colegio (5) impartir = (DNI_Prof: tpdni, NO NULO; numcurso: tpcurso; letra: tpidgrupo; nombreasign: tpnombre); clave ajena (numcurso, letra), referencia a Grupo; borrado en cascada clave ajena (DNI_Prof), referencia a Profesor; borrado en cascada clave ajena (nombreasign, numcurso), referencia a Asignatura; borrado en cascada verificar que (letra, numcurso) en impartir ocurrencia de Grupo verificar que (nombreasign, numcurso) en impartir ocurrencia de Asignatura Verificar el esquema relacional obtenido y añadir las restricciones que faltan Haga pequeñas modificaciones en el enunciado y estudie cómo afectan al esquema relacional, así como posibles mejoras a la solución propuesta Transforme el resto de los esquemas E/R diseñados S. Velilla 33
34 otros ejemplos de transformación direccion DNI PERSONA ApNombre sexo infohombre infomujer HOMBRE MUJER (0,1) (0,1) casar fecha y como multivaluado? S. Velilla 34
35 5.3 Dinámica del modelo Relacional: Álgebra relacional la componente dinámica de un modelo reglas de transformación de estado aplicables a las ocurrencias de la B.D. (operadores y restricciones) operadores básicos Selección <condición> Acción <objetivo> se expresan mediante LMD LMD relacionales operan sobre conjuntos de relaciones (tuplas) suelen ser lenguajes de especificación no-navegacionales y no-procedurales algebraicos ( álgebra relacional) predicativos ( cálculo relacional) expresiones basadas en operadores algebraicos los operandos y resultados son relaciones expresiones basadas en lógica de predicados que especifican el objetivo (conjunto de tuplas) cálculo relacional de tuplas cálculo relacional de dominios S. Velilla 35
36 ejemplos de consultas en álgebra y cálculo relacional (1) Ejemplos: cliente DNI Nombre Ciudad titulares DNI numcc cuenta numcc Sucursal Saldo 1) numcc, Sucursal y saldo de todas las cuentas con saldo > : Álgebra cálculo de tuplas cálculo de dominios saldo> (cuenta) { t t cuenta t [saldo] > } { < a, b, c > < a, b, c > cuenta c > } 2) nombre de todos los clientes del banco: Álgebra cálculo de tuplas cálculo de dominios nombre (cliente) { t s cliente ( t [nombre] = s [nombre]) } { < n > d, c ( < d, n, c > cliente) } S. Velilla 36
37 ejemplos de consultas en álgebra y cálculo relacional (2) 3) DNI de todos los clientes del banco que tienen cuenta: Álgebra cálculo de tuplas cálculo de dominios DNI (cliente titulares) { d t titulares ( d [DNI] = t [DNI]) } { < d > c ( < d, c > titulares } 4) nombre y numcc de todos los clientes : Álgebra cálculo de tuplas cálculo de dominios nombre, numcc (cliente titulares) { s c clientes (s [nombre] = c[nombre] t titulares ( c [DNI] = t [DNI] s [numcc] = t [numcc]) ) )} { < a, b > d, c ( < d, a, c > cliente < d, b > titulares)} S. Velilla 37
38 introducción al Álgebra Relacional operandos y resultados son relaciones R i y los operadores O j / O j (R i ) R k operadores básicos unión R1 R2 diferencia R1 R2 producto cartesiano R1 R2 selección condición (R) proyeccion atributos (R) operadores derivados intersección R1 R2 cociente R1 R2 join R1 R2 además de añaden otros operadores (asignación, tratamientos aritméticos, agrupación, etc.) para facilitar la descripción de consultas más complejas álgebra relacional extendida normalmente sólo se usan para obtener información (otros operadores para inserción, eliminación, etc.) S. Velilla 38
39 álgebra relacional: operador selección Sean: R(A) = (A 1 : D 1,, A n : D n ) la intensión (esquema de relación) de una relación R de grado n, y r(r) = { t i } con 1<=i<=m, y t i = <v i1, v i2,, v in > / v ij D j, la extensión de R. operadores unarios a Selección, o restricción sobre una relación R, según un predicado p R p (R) selección de las tuplas de la relación R que verifican el predicado p p (R) = R, con r (R ) = { t i r(r) p(t i )}, donde p es un predicado de selección formado por una expresión lógica de cláusulas de la forma Ai Aj, o Ai cte., siendo operador de comparación. Los operadores lógicos serán AND, OR y NOT el grado de R, n, es igual a n, y su cardinalidad, m <= m S. Velilla 39
40 álgebra relacional: operador proyección b Proyección R de una relación R sobre un conjunto de atributos X X (R) selección de los atributos X de la relación R X (R) = R (X), con r (R ) = { t i (X) X A}, es decir, las tuplas de la relación original definidas sobre los atributos X, eliminando las duplicadas. el grado de R es n < n, y su cardinalidad, m <= m operadores binarios tienen como operandos dos relaciones, y el resultado es otra relación en algunos operadores (,, ) los operandos deben ser compatibles; es decir, deben estar definidos sobre el mismo conjunto de dominios (semánticamente equivalentes) para cambiar los nombres de los atributos y su orden, se puede utilizar el operador unario: RENOMBRAR (R; A ), donde A describe la transformación de atributos de R S. Velilla 40
41 álgebra relacional: operadores unión y diferencia c Unión de dos relaciones compatibles R1 y R2 R1 R1 R2 relación formada por las tuplas de ambas relaciones R1 y R2 R1 R2 = R, con r (R ) = { t i t i r1(r1) or t i r2(r2) } R2 el grado de R es n = n1 = n2, y su cardinalidad es m >= m1, m >= m2, y m <= m1+m2 d Diferencia de dos relaciones compatibles R1 y R2 R1 R1 R2 relación formada por las tuplas de R1 que no aparecen en R2 R1 R2 = R, con r (R ) = { t i t i r1(r1) and t i r2(r2) } R2 el grado de R es, n = n1 = n2, y su cardinalidad, m <= m1 S. Velilla 41
42 álgebra relacional: operador producto cartesiano e Producto cartesiano generalizado de dos relaciones R1 y R2 R1 R2 relación formada por todas las tuplas obtenidas concatenando una tupla de R1 con otra de R2 (cross JOIN) R1 R2 = R, con r (R ) = { <v i1,, v in1, v j1,, v jn2 > < v i1,, v in1 > r1(r1), < v j1,, v jn2 > r2(r2) } el grado de R es n = n1 + n2, y su cardinalidad m = m1 * m2 Para distinguir los atributos que tienen el mismo nombre en las dos relaciones, se antepone el nombre de la relación: R1.X, R2.X S. Velilla 42
43 álgebra relacional: ejemplo de operaciones básicas Sean: R1(A1, A2); R2(A3, A4); R3 = RENOMBRAR (R2; A1=A3, A2=A4) A1 A2 a 1 r(r1) = b 2 r(r2) = x 1 A1=b (R1) = b 1 A1 (R1) = b 1 c 3 A3 A4 b 2 A1 A2 b 2 A1 a b c R1 R3 = A1 A2 a 1 b 2 b 1 c 3 x 1 R1 R3 = R1 R3 = A1 A2 a 1 b 1 c 3 A1 A2 b 2 R1 R2 = A1 A2 A3 A4 a 1 x 1 a 1 b 2 b 2 x 1 b 2 b 2 b 1 x 1 b 1 b 2 c 3 x 1 c 3 b 2 S. Velilla 43
44 álgebra relacional: operador intersección operadores derivados se introducen para simplificar las expresiones, ya que pueden ser descritos con los operadores básicos f Intersección de dos relaciones compatibles R1 y R2 R1 R2 R1 R2 relación formada por las tuplas que pertenecen a R1 y a R2 R1 R2 = R, con r (R ) = { t i t i r1(r1) and t i r2(r2) } el grado de R es n = n1 = n2, y su cardinalidad m <= m1, m <= m2 Obsérvese que: R = (R1 R2) ((R1 R2) (R2 R1)), ò bien R = R1 (R1 R2), o R = R2 (R2 R1) S. Velilla 44
45 álgebra relacional: operador división g División de dos relaciones R1 y R2 R1 R2 relación formada por todas las tuplas (cociente) tales que su producto cartesiano por R2 (divisor) está incluída en R1 (dividendo) supóngase, para simplificar, que los k últimos atributos de R1 coinciden con los de R2 R1 R2 = R, con R (A ) = (A 1 : D 1,, A n1-k : D n1-k ), y r (R ) = { <v i1,, v i(n1-k) > <v j(n1-k+1),, v jn1 > r2(r2), < vi1,, v i(n1-k), v j(n1-k+1),, v jn1 > r(r1)} el grado de R es n = n1 - n2, y su cardinalidad m <= m1/m2 Obsérvese que: R1 R2 = A (R1) A (( A (R1) R2 ) R1 ) las que hay tuplas que debería haber las que no pueden ser ej. de interpretación: Obtener los alumnos que están matriculados en todas las asignaturas S. Velilla 45
46 álgebra relacional: ejemplo de operación división A1 A2 A3 A4 a 1 x 1 a 1 b 2 b 2 x 1 b 2 b 2 b 1 x 1 c 3 b 2 r(r4) = r(r2) = A3 A4 x 1 b 2 R4 R2 = A1 A2 a 1 b 2 R4 R2 = A1,A2 (R4) A1,A2 (( A1,A2 (R4) R2 ) R4 ) A1,A2 (R4) = = R1 = R5 R4 = = R6 = A1 A2 a 1 b 2 b 1 c 3 A1 A2 A3 A4 b 1 b 2 c 3 x 1 R1 R2 = = R5 = A1 A2 A3 A4 a 1 x 1 a 1 b 2 b 2 x 1 b 2 b 2 b 1 x 1 b 1 b 2 c 3 x 1 c 3 b 2 R1 A1,A2 (R6) = = R7 = A1 A2 b 1 c 3 R1 R5 R7 R6 R1 R7 = A1 A2 a 1 b 2 S. Velilla 46
47 álgebra relacional: operadores JOIN (1) h -Combinación, o -JOIN de dos relaciones R1 y R2 donde es un predicado de selección que relaciona atributos de R1 y R2 R1 R2 relación formada por todas las tuplas obtenidas concatenando (combinando) a una tupla de R1 otra de R2, y que verifican el predicado si k y l representan dos atributos cualquiera de R1 y R2, respectivamente, sobre los que se define, R1 R2 = R, con r (R ) = { <v i1,, v in1, v j1,, v jn2 > i, j <v i1,, v in1 > r1(r1), <v j1,, v jn2 > r2(r2), y se verifica v ik v jl } el grado de R es n = n1 + n2, y su cardinalidad m <= m1 * m2 Obsérvese que: R1 R2 = (R1 R2) S. Velilla 47
48 álgebra relacional: operadores JOIN (1) Equi-JOIN de dos relaciones R1 y R2 = R1 R2 R1 R2, con el operador =, definido sobre los atributos comunes de R1 y R2 = JOIN Natural de dos relaciones R1 y R2 R1 R2 R1 R2, seguido de la eliminación de atributos repetidos = equi-join, seguido de proyección sobre la unión de los atributos de R1 y R2 Es uno de los operadores más usados, ya que permite completar la información de una tabla con la de otra, referenciada en la primera mediante una clave ajena S. Velilla 48
49 álgebra relacional: ejemplo de operaciones JOIN A1 A2 A3 a 1 x a 1 y b 2 x b 2 z b 1 s c 3 y r(r8) = r(r9) = A3 A4 x 7 y 9 R8 R9 = A1 A2 A3 A4 a 1 x 7 a 1 y 9 b 2 x 7 c 3 y 9 R8 R9 = A1,A2,A3,A4 ( R8.A3= R9.A3 (R8 R9)) A1 A2 A3 Á3 A4 b 2 x x 7 b 2 z x 7 4*A2 > A4 c 3 y x 7 c 3 y y 9 = R8 R9 = R8 R9 = A1 A2 A3 Á3 A4 a 1 x x 7 a 1 y y 9 b 2 x x 7 c 3 y y 9 R8 R9 = 4*A2 > A4 (R8 R9) 4*A2 > A4 R8 R9 = R8.A3= R9.A3 (R8 R9)) = S. Velilla 49
50 álgebra relacional: tratamiento de los valores nulos el valor nulo (o ausente) es consecuencia de valores desconocidos de atributos nuevos atributos añadidos a una relación atributos inaplicables a una tupla concreta Su tratamiento complica las operaciones y obliga a la redefinición de los operadores (aritméticos, comparación, lógicos, relacionales, estadísticos, etc.) No existe una total unidad de criterio en las implementaciones de SGBD hay que asegurarse al implementar sobre un SGBD concreto los valores nulos no son comparables (un valor nulo no es ni igual ni distinto de otro valor) el operador ES-NULO (v) devuelve verdad si v es el valor nulo, y falso en caso contrario V Q F V V Q F Q Q Q F F F F F lógica trivaluada AND OR NOT V Q F V V V V Q V Q Q F V Q F V Q F F Q V la lógica cuatrivaluada usa: verdad (V), falso(f), desconocido aplicable(a), desconocido no-aplicable(i) S. Velilla 50
51 5.4 Interrogación de B.D. con álgebra relacional extendida para diseñar consultas a una B.D. R. se añaden otros operadores (álgebra relacional extendida) simplificar expresiones complejas permitir tratamientos especiales (aritméticos, estadísticos, etc.) Asignación ò := R1 := R2 asocia a la relación R1 la ocurrencia correspondiente a la expresión relacional R2 se puede utilizar para el renombrado de atributos Agrupación AGRUPAR una relación R respecto a un subconjunto de atributos X AGRUPAR F (R, X) agrupa las tuplas de R según los valores de los atributos X, y aplica a cada uno de los grupos la lista de funciones de agregación F el resultado consta de los atributos X, más uno por cada una de las funciones F, y tantas tuplas como grupos se hayan obtenido (= cardinalidad de X (R)) funciones de agregación típicas: CONTAR, SUMA, MEDIA, MAX, MIN, etc. S. Velilla 51
52 ejemplo de operaciones de agrupamiento r(r) = A1 A2 A3 a 1 x a 1 y b 2 x b 2 z b 1 s c 3 y R (A2, N) := AGRUPAR contar (R, A2) R (A3, S) := AGRUPAR suma(a2) (R, A3) R = R = A2 N A3 S x 3 y 4 s 1 z 2 no se suelen eliminar los duplicados antes de aplicar la función de agregación Pb. tratamiento de nulos!! no se suelen contar S. Velilla 52
53 extensión de atributos y operadores de JOIN externo Extensión de atributos EXTENDER una relación R con un conjunto de atributos X EXTENDER (R, X) añade a R los atributos especificados por X (pares atributo-dominio) JOIN externo izquierdo, derecho, o completo R1 + R left, right, o full outer JOIN natural de R1 y R2 completado con las tuplas de R1 que no tienen correspondencia en R2 (dichos atributos de R2 tomarán el valor nulo) R1 R2 + R1 + R2+ JOIN natural de R1 y R2 completado con las tuplas de R2 que no tienen correspondencia en R1 (dichos atributos de R1 tomarán el valor nulo) JOIN natural de R1 y R2 completado con las tuplas de R1 que no tienen correspondencia en R2 (dichos atributos de R2 tomarán el valor nulo), y con las tuplas de R2 que no tienen correspondencia en R1 (serán nulos) S. Velilla 53
54 ejemplo de operaciones de JOIN externo r(r1) = A1 A2 A3 a 1 x a 1 y b 2 x b 2 z b 1 s c 3 y r(r2) = r(r3) = A3 A4 x 7 y 9 A3 A4 x 7 y 9 t 6 + R1 R2 = A1 A2 A3 A4 a 1 x 7 a 1 y 9 b 2 x 7 b 2 z b 1 s c 3 y 9 + R1 R3 = A1 A2 A3 A4 a 1 x 7 a 1 y 9 b 2 x 7 c 3 y 9 t R1 R3 = A1 A2 A3 A4 a 1 x 7 a 1 y 9 b 2 x 7 b 2 z b 1 s c 3 y 9 t 6 S. Velilla 54
55 otros operadores de álgebra relacional extendida. Ejemplos cierre transitivo CT de R sobre un subconjunto de atributos compatibles X CT (R, X) relación obtenida aplicando la transitividad sobre X hasta la saturación unión externa + devuelve relación con todos los atributos... para el diseño de consultas complejas descomponer en pasos intermedios ejemplo: Considérese el siguiente esquema (simplificado) de una B.D. relacional Pieza (clvpieza: entero; nombpieza, color: tpnombre); Proveedor (clvprov: entero; nombprov: tpnombre); suministrar (clvprov: entero; clvpieza: entero) clvprov clave ajena de Proveedor; clvpieza clave ajena de Pieza; S. Velilla 55
56 ejemplos de consulta a una B.D. con álgebra relacional (1) 1 Piezas de color verde R1 = color = verde (Pieza) 2 Nombre de los proveedores que suministran al menos una pieza de color verde R2 = nombprov (Proveedor Suministrar R1) 3 Nombre de los proveedores que no suministran tuercas R3 = nombpieza = tuerca (Pieza) piezas que son tuercas R4 = nombprov clvprov (Suministrar (Proveedor R3) Suministrar proveedores R3) de tuercas nombre de proveedores de tuercas R5 = nombprov clvprov (Proveedor) R4 R4 proveedores nombre de que proveedores no suministran que no tuercas suministran tuercas R6 = nombprov (Proveedor R5) nombre de proveedores que no suministran tuercas o también R5 = nombprov (Proveedor ( clvprov (Proveedor) clvprov (Suministrar R3) ) ) S. Velilla 56
57 ejemplos de consulta a una B.D. con álgebra relacional (2) 4 Clave, nombre, y suministradores de las piezas existentes a) si todas tienen algún suministrador (faltaría la restricción en el esquema relacional): R6 = clvpieza, nombpieza, clvprov (Pieza Suministrar) b) si puede haber piezas que no tienen suministrador: o también o también + R7 = clvpieza, nombpieza, clvprov (Pieza Suministrar) R8 = clvpieza, nombpieza (Pieza Suministrar) R9 = clvpieza, nombpieza (Pieza) clvpieza, nombpieza (R6) piezas que no son suministradas R7 = R6 EXTENDER (R9, clvprov: entero) piezas que tienen proveedor R9 = clvpieza, nombpieza (Pieza) R8 piezas que no son suministradas por nadie R7 = (R8 Suministrar) EXTENDER (R9, clvprov: entero) ò R6 S. Velilla 57
58 ejemplos de consulta a una B.D. con álgebra relacional (3) 5 Nombre de los proveedores que suministran al menos todas las piezas suministradas por el proveedor de clave 25 R1 = clvpieza ( clvprov = 25 (Suministrar)) piezas suministradas por el proveedor 25 R2 = clvprov (Proveedor) R1 suministros si todos los proveedores suministrasen R1 R3 = R2 Suministrar suministros de R1 que no se realizan R4 = clvprov (R3) proveedores que no suministran todas las piezas de R1 R5 = clvprov (Suministrar) R4 suministradores de todas las piezas de R1 R6 = nombprov (Proveedor R5) o también S. Velilla 58
59 ejemplos de consulta a una B.D. con álgebra relacional (4) 5 Nombre de los proveedores que suministran al menos todas las piezas suministradas por el proveedor de clave 25 R1 = clvpieza ( clvprov = 25 (Suministrar)) piezas suministradas por el proveedor 25 R5 = Suministrar R1 suministradores de todas las piezas de R1 R6 = nombprov (Proveedor R5) 6 Nombre de los proveedores que suministran tuercas y tornillos R1 = clvpieza ( nombpieza = tuerca (Pieza)) piezas que son tuercas R2 = clvpieza ( nombpieza = tornillo (Pieza)) piezas que son tornillos R3 = clvprov (Suministrar R1) proveedores de tuercas R4 = clvprov (Suministrar R2) proveedores de tornillos R5 = nomprov (Proveedor (R3 R4)) S. Velilla 59
60 ejemplos de consulta a una B.D. con álgebra relacional (5) 6 Nombre de los proveedores que suministran tuercas y tornillos R1 = R2 = Suministrar Pieza piezas y sus suministradores R3(clvProv) = R1.clvProv ( p ( R1 R2) proveedores que suministran tuercas y tornillos Siendo p = (R1.clvProv = R2.clvProv) AND (R1.nombPieza = tuerca ) AND (R2.nombPieza = tornillo ) R5 = nomprov (Proveedor R3) 7 Clave, nombre, y nº de piezas que suministra cada proveedor R1(clvProv, numpiezas) := AGRUPAR contar(clvpieza) (Suministrar, clvprov) de los proveedores que suministran piezas + R2 = clvprov, nombprov, numpiezas (Proveedor R1) S. Velilla 60
61 ejemplos de consulta a una B.D. con álgebra relacional (6) 8 Clave de las piezas que son suministradas por más de un proveedor 9 Clave de las piezas que a lo sumo tienen un proveedor 10 Clave de los proveedores que sólo suministran un tipo de piezas 11 Clave de los proveedores que suministran alguna pieza en exclusiva (sólo ellos) 12 Clave de los proveedores prescindibles, pues no suministran ninguna pieza en exclusiva 13 Parejas (sin repetir ninguna) de proveedores que comparten el suministro de alguna pieza 14 Proveedor(es) que más piezas suministra del mismo tipo (tuercas, tornillos, etc.) 15 Parejas (sin repetir ninguna) de proveedores suministran exactamente las mismas piezas 16 Clave de los proveedores que suministran piezas de todos los colores 17 Clave de los proveedores que suministran más de dos piezas 18 Pares de suministradores (S1, S2) tales que S1 suministra todas las piezas que suministra S2 19 S. Velilla 61
Ejemplo de Base de Datos de la Universidad
creabd_uz.sql /* @creabd_uz.sql /* Crear las tablas y añadir algunas restricciones, de varias maneras CREATE TABLE Departamento ( clvdpto number(3) CONSTRAINT clvdpto_pk PRIMARY KEY, coddpto char(10) CONSTRAINT
id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.
El modelo relacional Fundamentos de diseño de bases de datos El modelo relacional Bases de datos relacionales El concepto de relación Esquema de la base de datos Instancia de la base de datos Restricciones
Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos
UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INGENERIA INDUSTRIAL Base de Datos Resultados Internet Requerimientos BASE DATOS Docente: Ing. Francisco Rodríguez Base de Datos Tema 4: MODELO RELACIONAL Tema
ejemplos de SQL (Oracle 8)
ejemplos de SQL (Oracle 8) Indice de los ficheros de ejemplo incluídos: ejvarios ej_fechas...2 ejemplo de operaciones sencillas con fechas BD_Piezas creabd_piezas, infobd_piezas, elimbd_piezas, pondatbd_piezas,
BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL
BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL Lledó Museros / Ismael Sanz museros@icc.uji.es / isanz@icc.uji.es 1de 60 Índice 1. Introducción 2. Operadores del Álgebra
El Modelo Relacional de Bases de Datos
El Modelo Relacional de Bases de Datos Sistemas Gestores de Bases de Datos, ciclo de Administración de Sistemas Informáticos en Red [1] Introducción Unidad 3) Modelo Relacional Gestión de Bases de Datos,
Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)
Esquema Lógico F1 EQUIPO (NOMBRE:cadena) CP (NOMBRE) EXAMEN 1 de diciembre de 2006 DIRECTOR (NOMBRE:cadena) CP (NOMBRE) DIRIGE (EQUIPO:cadena, DIRECTOR:cadena) CP (EQUIPO) CAlt (DIRECTOR) CAj (EQUIPO)
TEMA 4. Diseño Lógico de bases de datos relacionales.
TEMA 4. Diseño Lógico de bases de datos relacionales. 1. El modelo relacional La teoría formal que constituye los cimientos de los sistemas relacionales se conoce como modelo de datos relacional. Cuando
Temario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Diseño Estructurado de Datos
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Diseño Estructurado de Datos Esperanza Marcos Contenido GUÍA DE ESTUDIO... 3 1. EL DISEÑO DE DATOS EN EL PROCESO DE DESARROLLO SOFTWARE... 4 2. CONCEPTOS
DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO. APELLIDOS: NOMBRE: TITULACIÓN (Sistemas/Gestión):
(;$0(1 DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO APELLIDOS: GRUPO (A/B): 7LHHPLXWRVSDUDUHDOL]DUODSDUWHWHyULFDGHOH[DPH Rodee con un círculo la respuesta correcta.
Temario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
MODELO RELACIONAL BASE DE DATOS RELACIONALES
MODELO RELACIONAL BASE DE DATOS RELACIONALES Base de Datos Relacional (BDR) Una BDR es una colección de relaciones de diversos grados (numero de atributos), que varían con el tiempo (numero de tuplas,
Modelo Relacional: Conceptos
Relacional: Conceptos M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl Relacional II Semestre - 2013 Relacional Relacional de la Unidad Introducir los conceptos básicos
Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada
Bases de Datos Laboratorio III, L106/L111 Profesor: Goyo Celada ERwin Data Modeler Herramienta CASE en el modelado de Bases de Datos Metodología de trabajo: Modelo Conceptual Paso al Modelo Relacional
TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa
TÍTULO: BASES DE DATOS Pág. Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa conceptual) 10 Datos de venta (tabla) 10 Caracteristicas
1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar
1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar 3.- 4.- Reglas concernientes a las extensiones del modelo E/R Transformación
Modelo relacional. El modelo relacional
Modelo relacional El modelo relacional Representa la BD como una colección de relaciones En términos informales, cada relación semeja una tabla Tupla Cada fila de la tabla Representa una colección de datos
Restricciones de Integridad
Restricciones de Integridad Bibliografía: Fundamentos de bases de datos - Korth, Silberschatz Introducción a los sistemas de bases de datos - C.J. Date Restricciones de Integridad Proporcionan un medio
BASES DE DATOS TEMA 3. MODELO RELACIONAL
Contenidos generales BASES DE DATOS TEMA 3. MODELO RELACIONAL * Conceptos del modelo relacional * Notación del modelo relacional * Lenguajes de consulta - Algebra relacional - Cálculo relacional Motivación
2.5.- El lenguaje estándar SQL
25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características
entre menú y plato con cardinalidades (0,N) y (3,3), respectivamente. Esta solución garantiza que no se puede "repetir" un plato en el (1,1)
1 Algunas consideraciones generales para el diseño: 1) Tanto la fuente de la que procede la receta, como la ubicación del libro, cinta de vídeo, etc., con la información original son simples atributos
Bases de datos 1. Teórico: Modelo Relacional
Bases de datos 1 Teórico: Modelo Relacional MODELO de DATOS RELACIONAL Conceptos del modelo relacional Restricciones del modelo relacional y esquemas de base de datos Operaciones de creación y modificación
BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad
BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad Lledó Museros / Ismael Sanz museros@icc.uji.es / isanz@icc.uji.es 1de 16 Índice 1. Introducción 2. Revisión Claves 3. Reglas
OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: 2009-2010 IES GONZALO NAZARENO
OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: 2009-2010 IES GONZALO NAZARENO UNIDAD DIDACTICA 2: BASES DE DATOS RELACIONALES Índice de contenido 1. El modelo Entidad-Relación (ER)...3
PARTE II. MODELO RELACIONAL. ESTÁTICA
Índice PARTE II. MODELO RELACIONAL. ESTÁTICA III.4 INTRODUCCIÓN AL MODELO RELACIONAL III.5 ESTRUCTURA DEL MODELO III.6 RESTRICCIONES III.7 EL MODELO RELACIONAL Y LA ARQUITECTURA ANSI III.8 LAS 12 REGLAS
Bases de Datos. Tema 3 Modelo Relacional. Francisco Ruiz oct-2000. UCLM-ESI (F.Ruiz)
Bases de Datos Tema 3 Modelo Relacional Francisco Ruiz oct-2000 documentación preparada con ayuda de Esperanza Marcos (Universidad Rey Juan Carlos) y Mario Piattini (Universidad de Castilla-La Mancha)
SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]
SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje
Tema II: El modelo relacional de datos. (2.4)
Tema II: El modelo relacional de datos. (2.4) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad
Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl
El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades
Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son
Modelado de datos Fundamentos de diseño de bases de datos Modelado de datos Representación de datos Modelos de datos Modelos semánticos Elementos del modelo E/R: Entidades, atributos, claves y relaciones
2 Diseño lógico: Modelo Relacional
2 Diseño lógico: Modelo Relacional 2.1 Introducción al modelo relacional... 2 2.1.1 Elementos Básicos... 3 2.1.2 Tipos de Claves... 4 2.1.3 Restricciones del modelo relacional... 4 2.1.4 Notación... 7
Ing. Yim Isaias Apestegui Florentino
Definicion de Modelo Relacional El Modelo Relacional Se basa en una representación del mundo real en que los datos se describen como entidades, relaciones y atributos. El principal concepto del modelo
Tema 3. El modelo Relacional
Tema 3. El modelo Relacional Juan Ignacio Rodríguez de León Resumen Presenta el modelo entidad-relación. Visión de alto nivel de las cuestiones referentes a diseño de bases de datos y los problemas encontrados
Introducción a las Bases de Datos y al Modelo Relacional
24/10/2014 Introducción a las Bases de Datos y al Modelo Relacional Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla octubre 2014
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 10. Álgebra Relacional 1.- Introducción. 2.- Una Sintaxis para el Álgebra Relacional. 3.- Asignación Relacional. 4.- Operaciones Tradicionales
7 Diseño de Bases de Datos Relacionales: Normalización
7 Diseño de Bases de Datos Relacionales: Normalización introducción al problema de diseño de una B.D. Relacional 7.1 Problemas derivados del diseño de una Base de Datos Relacional 7.2 Dependencias funcionales.
El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos
Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación
Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD
Ligaduras de Integridad y Restricciones sobre la BD Outline 1 Introducción 2 Ligaduras de Dominio 3 Llaves Primarias 4 Llaves de Unicidad 5 Integridad Referencial Introducción y Motivación Por qué se deben
Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. INTRODUCCION A LAS BASES DE DATOS
UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave:08USU4053W FACULTAD DE INGENIERÍA DES: Ingeniería Programa(s) Educativo(s): Ingeniería en Ciencias de la Computación Tipo de materia: Obligatoria
Temario Curso Bases de Datos
Temario Curso Bases de Datos TEMA 1. INTRODUCCION A LAS BASES DE DATOS 1. Cualidades De La Información 2. Sistemas de Información 2.1. Componentes de un Sistema de Información 3. Niveles de Gestión de
ÍNDICE INTRODUCCIÓN...17
ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización
Asignatura: Administración de Bases de Datos
Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 3: e en Bases de Datos Pedro P. Alarcón Cavero
Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos
Introducción El objetivo del diseño lógico es convertir los esquemas conceptuales locales en un esquema lógico global que se ajuste al modelo de SGBD sobre el que se vaya a implementar el sistema. Mientras
DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática
DED Diagramas de Estructura Lógica de Datos Universidad de Oviedo Departamento de Informática Contenidos Introducción Relaciones Construcción del modelo conceptual Normalización Primera Forma Normal Segunda
LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).
LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion
Tema 3 Modelo relacional
Contenido: Bases de Datos y Sistemas de Información Ing. Informática GRUPO A Tema 3 Modelo relacional 3.1 Terminología del modelo relacional 3.2 Paso del modelo ER al modelo relacional 3.3 Creación de
Consultas con combinaciones
UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden
Integridad Referencial. Restricciones (constraints)
Integridad Referencial Restricciones (constraints) Integridad de Referencial Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo). Existen cuatro
TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES
TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES 1. REGLAS DE TRANSFORMACIÓN DEL ESQUEMA CONCEPTUAL AL LÓGICO ESTÁNDAR Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional
Restricciones de Integridad
Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.
Estructura de Datos E/R. Recordando Introducción. Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico
Tema III: Transformación del esquema conceptual al relacional 3.1 Introducción. Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 3.2 Transformación elementos básicos 3.3 Reglas
TEMA II. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. Temario (cont.
El Modelo Relacional de Datos TEMA II El Modelo Relacional de Datos Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación, así como sus operadores asociados, conocer básicamente
Fundamentos de programación y Bases de Datos
Fundamentos de programación y Bases de Datos Duración: 25.00 horas Descripción En la actualidad la mayoría de nuestra vida esta basada en el uso de programas informáticos. Para desarrollar un programa
Lenguaje para descripción de datos
Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones
TEMA 4. EL MODELO RELACIONAL. 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas
TEMA 4. EL MODELO RELACIONAL 1. El modelo relacional 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas 1. El Modelo Relacional Se debe a E.F. Codd y data de
REGLAS DE CODD DEL MODELO RELACIONAL
REGLAS DE CODD - 1 - REGLAS DE CODD DEL MODELO RELACIONAL En la década de los 80 s comenzaron a aparecer numerosos Sistemas de Gestión de Bases de Datos que se anunciaban como relacionales. Sin embargo
TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.
TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL. Introducción. La Estructura de Datos: La Relación. Restricciones del Modelo. El Modelo Relacional y la Arquitectura ANSI/SPARC. 1. Introducción. - Fue introducido
Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:
Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con
Álgebra Relacional. Unidad 5
Álgebra Relacional Unidad 5 Definición Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden construir nuevos valores o variables Operadores. Símbolos
OPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Temario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Terminología Equivalente
Normalización La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidadrelación almodelo relacional.
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO
Álgebra Booleana y Simplificación Lógica
Álgebra Booleana y Simplificación Lógica M. en C. Erika Vilches Parte 2 Simplificación utilizando Álgebra Booleana Simplificar la expresión AB + A(B + C) + B(B + C) 1. Aplicar la ley distributiva al segundo
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
CONSULTA Y MANIPULACIÓN DE LOS DATOS
CONSULTA Y MANIPULACIÓN DE LOS DATOS 5.1.- Álgebra Relacional El modelo relacional es la forma de representar los datos y manipular dicha representación considerando la integridad de los datos. Estos,
Unidad. Lenguaje SQL. (Structured Query Language)
Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio
Álgebra Relacional. Carlos A. Olarte BDI
Carlos A. Olarte (carlosolarte@puj.edu.co) BDI Contenido 1 Operaciones Fundamentales 2 Operaciones Adicionales Operaciones Fundamentales Conjunto de operaciones que toman como argumentos relaciones y retornan
1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional
Tema 7: Modelo Relacional 1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional Dominios, Atributos, Relaciones Representación del esquema relacional Características de
Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.
Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA 1. DATOS GENERALES PLAN DE ESTUDIOS 2006-2 SEMESTRE ACADEMICO 2008-I Nombre del curso: INTRODUCCION
Formas Normales. Normalización. Introducción
Formas Normales Normalización - Introducción Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Forma Normal de Boyce-Codd Dependencias Multivaluadas Cuarta Forma Normal In.Co. - Facultad de
4.2.4 Características de un Esquema Conceptual de Base de Datos
4.2.4 Características de un Esquema Conceptual de Base de Datos En este apartado se da una respuesta a la pregunta: qué es un buen esquema conceptual? Entre las cualidades deseables de un esquema conceptual
NORMAS DE DISEÑO DE BASE DE DATOS
NORMAS DE DISEÑO DE BASE DE DATOS Julio 2014 NORMAS DE DISEÑO DE BASE DE DATOS Página: 2 de 9 ESTRUCTURA DEL DOCUMENTO. 1 CONSIDERACIONES GENERALES.... 3 2 MODELO CONCEPTUAL DE DATOS (MCD)... 3 2.1 PROPIEDADES...
Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Introducción a las bases de datos.
Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?
Transformación ER Relacional para el diseño de bases de datos relacionales
Transformación ER Relacional para el diseño de bases de datos relacionales Como habíamos avanzado en su momento, un esquema conceptual basado en el modelo Entidad-Relación puede ser transformado, de acuerdo
PRÁCTICA B2. Definición y modificación de datos en SQL
3º Ingeniero Técnico en Informática de Sistemas Facultad de Informática Asignatura: Fundamentos de Bases de Datos Curso: 2007/08 PRÁCTICA B2. Definición y modificación de datos en SQL Objetivos Construir
Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros
Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia
Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz
Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.
SISTEMA DE NUMEROS REALES
SISTEMA DE NUMEROS REALES 1.1 Conjuntos Es una agrupación de objetos distintos (pero con algunas características en común), los que reciben el nombre de elementos. Generalmente se nombra a un conjunto
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad
- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s
Diseño lógico Diseño de bases de datos relacionales Diseño lógico de bases de datos relacionales El modelo relacional: El concepto de relación: tuplas, atributos y dominios. Restricciones de integridad
Transformación de. Esquemas. Entidad-Interrelación a. Esquemas Relacionales
Transformación de Esquemas Entidad-Interrelación a Esquemas Relacionales Miguel Ángel Mazoteras Sáez Ing. Técnica en Informática de Sistemas 1996/1997 E.U. de Informática Ciudad Real Profesor: Francisco
Repaso de Conceptos Básicos de Bases de Datos
escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos
Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:
3. Circuitos aritméticos ticos Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Introducción La realización de operaciones aritméticas y lógicas
Computación II. Introducción a Visual Basic
Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida
8. EL MODELO RELACIONAL - Continuación (2):
APUNTES DEL MÓDULO PROFESIONAL: SISTEMAS GESTORES DE BASES DE DATOS (4) Página 1 de 12 8. EL MODELO RELACIONAL - Continuación (2): TRANSFORMACIÓN DE UN DIAGRAMA ENTIDAD-RELACIÓN A UN ESQUEMA RELACIONAL:
Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.
16/05/2012 1 Todo modelo de datos debe definir un lenguaje de definición de datos para crear las estructuras donde se almacenará la información y un lenguaje de manipulación de datos con el que acceder
Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las
Pequeños apuntes de SQL *
Escuela Universitaria de Ingeniería Técnica en Informática de Oviedo 1 SQL Pequeños apuntes de SQL * En estas hojas se exponen de manera concisa algunos aspectos adicionales del SQL, así como ejemplos
Modulo I: Introducción Gestores de Bases De Datos
Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje
El Sistema Gestor de Base de Datos (DBMS)
Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los
Bases de Datos Modelo Relacional
Bases de Datos Modelo Relacional Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos del método relacional
Expresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Carlos Castillo UPF 2008
Sistemas de Información II Tema 3. El modelo entidad-relación Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 3). Garcia-Molina, Ullman y Widom: Database
Base de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar