Professional Documents
Culture Documents
Tipos de atributos
El conjunto de valores permitidos para cada
atributo se llama dominio del atributo.
Exigencia:
Los valores de los atributos se requiere que sean
atmicos; esto es, indivisibles.
Ejemplo:
o Instructor = (ID, name, dept_name, salary)
Diseo de BD relacional
Mal diseo:
univ (instructor -ID, name, dept_name, salary, student_Id, ..)
Claves
Sea K R , R esquema de relacin; K es una superclave de R
Claves
Una superclave K es una clave candidata, si K es minimal.
o Para todo atributo de K si se lo quito a K dejo de tener una superclave.
o Ejemplo: {ID} clave candidata de instructor.
o Atencin! No confundir clave candidata
con superclave de
cardinalidad mnima.
primaria.
Claves Ejemplo:
o Ejemplo:
instructor(ID, name, dept name, salary)
department(dept name, building, budget)
El valor de dept name en instructor (relacin referenciante) debe aparecer en
department (relacin referenciada).
Esquema de BD universitaria
classroom(building, room number, capacity)
department(dept name, building, budget)
course(course id, title, dept name, credits)
instructor(ID, name, dept name, salary)
section(course id, sec id, semester, year, building, room
number, time slot id)
teaches(ID, course id, sec id, semester, year)
student(ID, name, dept name, tot cred)
takes(ID, course id, sec id, semester, year, grade)
advisor(s ID, i ID)
time slot(time slot id, day, start time, end time)
prereq(course id, prereq id)
Diagrama de esquema
para BD universitartia
Lenguajes de Consulta
Un lenguaje de consultas es un lenguaje en el que un
usuario solicita informacin de la base de datos.
Estos lenguajes suelen ser de un nivel superior que el de los
lenguajes de programacin habituales.
Algebra relacional
Los lenguajes relacionales puros forman la base de
los lenguajes de consulta que son usados en la
prctica.
El lgebra relacional (AR) es un lenguaje relacional puro.
Seleccin
El operador seleccin sirve para definir por comprensin
subconjuntos de una relacin.
Se usa la sintaxis p(r) , donde
p(r) =def {t | t r and p(t)} ,
Donde p es predicado de seleccin.
o p consistente de trminos conectados por conectivos proposicionales:
, , .
Seleccin
Relacin r
A=B y D > 5
Seleccin
Relacin r
A=B y D > 5
Proyeccin
Notacin: A1, A2, , An(r)
Semntica:
1. relacin de k columnas obtenida de borrar columnas que
no son listadas;
2. se borran filas duplicadas del resultado
Proyeccin
Relacin r
Selecciona A and C
proyeccin
A, C (r)
Proyeccin
Relacin r
Selecciona A and C
proyeccin
A, C (r)
Proyeccin Generalizada
Notacin: F1, F2, , Fn(E)
o Donde los F1,,Fn son expresiones aritmticas involucrando
constantes y atributos de E.
o Puedo permutar orden de atributos de r.
o Ejemplo: obtener el salario mensual de un instructor
instructor(ID, name, dept name, salary)
salary: es salario anual
Proyeccin Generalizada
Notacin: F1, F2, , Fn(E)
o Donde los F1,,Fn son expresiones aritmticas involucrando
constantes y atributos de E.
o Puedo permutar orden de atributos de r.
o Ejemplo: obtener el salario mensual de un instructor
instructor(ID, name, dept name, salary)
salary: es salario anual
ID,name,dept_name,salary12 (instructor)
Enunciados de consultas en
lenguaje natural
Problema: A partir de un enunciado de una consulta en
lenguaje natural producir una expresin en AR para la
misma.
El lenguaje natural suele tener algunos problemas a
resolver como:
Ambigedades: ms de una interpretacin posible.
Inconsistencias: partes que se contradicen entre s.
Ejemplos
persona(DNI, nombre,apellido)
biblioteca(nombreBib,calle,nmero)
libro(ttulo,ISBN,editorial,edicin)
socio(posicin,DNI)
bibliotecario(antigedad,DNI)
inscriptoEn(DNI,nombreBib)
trabajaEn(DNI,nombreBib)
Producto Cartesiano
r x s =def {t q | t r and q s}
Producto Cartesiano
Consecuencias de la convencin anterior.
No se puede expresar r x r
Tampoco se puede expresar r x E con E expresin de
consulta arbitraria.
P. ej. E es unin de dos tablas con esquemas distintos.
r x s:
r x s:
Renombramiento
Motivacin: permite darle el nombre al resultado
de una expresin del lgebra relacional.
Permite referirse a una relacin por ms de un
nombre.
Permite asociar un esquema relacional a una
expresin del AR.
Renombramiento
Si una expresin de AR E tiene aridad n, entonces
x (A1, A2, , An) (E)
retorna el resultado de la expresin E con el nombre X y
con los atributos renombrados a A1,, An.
P. ej. si E no tiene esquema puedo darle uno.
P. ej. x.A1 = r.A1 ( x (A1, A2, , An) (E) x r ), donde A1 atributo de
esquema de r.
Conclusin: si E no tiene esquema, puedo necesitar darle un
nombre a la tabla de E ,
de ah la conveniencia de tener x (A1, A2, , An)
Ejemplos
persona(DNI, nombre,apellido)
biblioteca(nombreBib,calle,nmero)
libro(ttulo,ISBN,editorial,edicin)
socio(posicin,DNI)
bibliotecario(antigedad,DNI)
inscriptoEn(DNI,nombreBib)
trabajaEn(DNI,nombreBib)
Definicin del AR
Una expresin bsica del AR consiste de una de las
siguientes:
o Una relacin de la BD
o Una relacin constante
Son equivalentes a:
A ,, An (p (r1 x x rn))
1