Está en la página 1de 11

Introducción a las Bases

de Datos Relacionales

Bases de Datos
Práctica 1
DSIC - UPV

Facultad de Informática
Escuela Técnica Superior de Informática Aplicada

Objetivos
„ Presentar de forma intuitiva:
„ El concepto de Relación.
„ El concepto de Base de Datos Relacional.
„ Función de los atributos identificadores y los
atributos de referencia en una relación.
„ Diseñar consultas sencillas:
„ Sobre una relación.
„ En las que intervienen varias relaciones.

„ Diseñar consultas complejas sobre dos o más


relaciones.
„ Para todo lo anterior se utilizará es SGBD
ACCESS.

Bases de Datos DSIC-UPV 2

1
Ejemplo
Profesores:
Profesores:
•código.
•código.
•nombre.
•nombre.
Departamento:
Departamento: •Extensión
•código. •Extensión de
de teléfono.
teléfono.
•código. •departamento
•departamento alal cual
cual pertenecen.
pertenecen.
•nombre.
•nombre.
•teléfono
•teléfono de
de la
la secretaría.
secretaría.
•director
•director del
del departamento.
departamento.

Asignatura:
Asignatura:
•código
•código de
de la
la asignatura.
asignatura.
•nombre
•nombre de la asignatura.
de la asignatura.
•semestre
•semestre en
en el
el que
que se
se imparte.
imparte.
•créditos
•créditos teóricos.
teóricos.
•créditos
•créditos prácticos.
prácticos.
•departamento
•departamento responsable
responsable dede su
su docencia.
docencia.

Bases de Datos DSIC-UPV 3

Ejemplo
Departamento
Departamento
cod_dep nom_dep director teléfono
DSIC Sistemas Informáticos y Computación V. Botti 3500
DISCA Ingeniería de Sistemas, Computadores y Automática A. Crespo 5700
MAT Matemática Aplicada P. Pérez 6600
FIS Física Aplicada J. Linares 5200
IDM Idiomas B. Montero 5300
EIO Estadística e Investigación Operativa L. Barceló 4900
OEM Org. de Empresas, Economía Financ. Y Contabilidad M. Pérez 6800

Filas
Filas (Tuplas)
(Tuplas) == Instancias
Instancias de
de departamento
departamento
Columnas (Atributos) = Propiedades
Columnas (Atributos) = Propiedades Î Î Tipo
Tipo de
de Dato
Dato
DEPARTAMENTO(cod_dep:
cod_dep: tira(5)
DEPARTAMENTO(cod_dep: tira(5),
tira(5), nom_dep:
nom_dep: tira(40),
tira(40),
director:
director: tira(30), teléfono:
tira(30), teléfono: entero)
entero)

Bases de Datos DSIC-UPV 4

2
Ejemplo
Asignatura
Asignatura
cod_asg nom_asg semestre teoría prácticas
BDA Bases de Datos 2B 3 3
AD1 Algoritmos y Estructuras de Datos 1 1A 4 2
FCO Fundamentos de Computadores 1A 4,5 4,5
MAD Matemática Discreta 1A 3 3
INT Inglés Técnico 1B 3 3
FFI Fundamentos Físicos de la Informática 1A 3 3
EC2 Estructuras de Computadores 2 2A 3 3

¿Cuál es el departamento responsable de la docencia


de cada asignatura?

„ Añadir un atributo a las tuplas de la relación Asignatura


que represente esta información.

Bases de Datos DSIC-UPV 5

Ejemplo
Asignatura
Asignatura
cod_asg nom_asg semestre teoría prácticas dep_asg
BDA Bases de Datos 2B 3 3 DSIC
AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC
FCO Fundamentos de Computadores 1A 4,5 4,5 DISCA
MAD Matemática Discreta 1A 3 3 MAT
INT Inglés Técnico 1B 3 3 IDM
FFI Fundamentos Físicos de la Informática 1A 3 3 FIS
EC2 Estructuras de Computadores 2 2A 3 3 DISCA

cod_asg:tira(3)
ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),semestre:
ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),semestre:
tira(2),teoría:real,prácticas:real, dep_asg:tira(5))
tira(2),teoría:real,prácticas:real, dep_asg:tira(5)
dep_asg:tira(5))

cod_asg
cod_asg identifica
identifica cada
cada asignatura
asignatura yy dep_asg
dep_asg indica
indica
el departamento al que pertenece.
el departamento al que pertenece.
Bases de Datos DSIC-UPV 6

3
Ejemplo
ASIGNATURA
BDA Bases de Datos 2B 3 3 DSIC
AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC
FCO Fundamentos de computadores 1A 4,5 4,5 DISCA
MAD Matemática Discreta 1A 3 3 MAT
INT Inglés Técnico 1B 3 3 IDM
FFI Fundamentos Físicos de la 1A 3 3 FIS
Informática
EC2 Estructuras de Computadores 2 2A 3 3 DISCA

DEPARTAMENTO
DSIC Sistemas Informáticos y Computación V. Botti 3500
DISCA Ingeniería de Sistemas, Computadores A. Crespo 5700
y Automática
MAT Matemática Aplicada P. Pérez 6600
FIS Física Aplicada J. Linares 5200
IDM Idiomas B. Montero 5300
EIO Estadística e Investigación Operativa L. Barceló 4900
OEM Org. de empresas, Economía Financ. y M. Pérez 6800
Contabilidad

Bases de Datos DSIC-UPV 7

Ejemplo
Profesor
Profesor
cod_pro nom_pro extensión dep_pro
JCC Juan C. Casamayor Rodenas 7796 DSIC
RFC Robert Fuster i Capilla 6789 MAT
JBD José V. Benlloch Duarte 5760 DISCA
MAF María Alberola Fernández 3560 DSIC
CPG Cristina Pérez Guillot 7439 IDM
JTM José M. Torralba Martínez 4590 OEM
IGP Ignacio Gil Pechuán 3423 OEM
DGT Daniel Gil Tomás 5679 DISCA
MCG Matilde Celma Giménez 7756 DSIC

PROFESOR(cod_pro:tira(3),
cod_pro:tira(3) nom_pro:tira(40),
PROFESOR(cod_pro:tira(3), nom_pro:tira(40),
extensión:entero, dep_pro:tira(5)
extensión:entero, dep_pro:tira(5))
dep_pro:tira(5))

Bases de Datos DSIC-UPV 8

4
Ejemplo
Base
Base de
de Datos
Datos Actual
Actual

DEPARTAMENTO(cod_dep:
cod_dep: tira(5)
DEPARTAMENTO(cod_dep: tira(5),
tira(5), nom_dep:
nom_dep: tira(40),
tira(40),
director:
director: tira(30),
tira(30), teléfono:
teléfono: entero)
entero)

ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),
cod_asg:tira(3)
ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),
semestre:tira(2),teoría:real,
semestre:tira(2),teoría:real,
prácticas:real, dep_asg:tira(5)
prácticas:real, dep_asg:tira(5))
dep_asg:tira(5))

PROFESOR(cod_pro:tira(3),
cod_pro:tira(3) nom_pro:tira(40),
PROFESOR(cod_pro:tira(3), nom_pro:tira(40),
extensión:entero, dep_pro:tira(5)
extensión:entero, dep_pro:tira(5))
dep_pro:tira(5))

Bases de Datos DSIC-UPV 9

Ejemplo
Base
Base de
de Datos
Datos Nueva
Nueva
„ De los profesores que imparten clases en la E.U.I.
se desea conocer, además de lo que se conocía en
la base de datos anterior, las asignaturas que
imparte cada profesor y el número de grupos de
teoría y prácticas en los que da clases.

„ Evidentemente, de igual forma que se desea


conocer, para cada profesor, las asignaturas que
imparte, también se desea conocer, para cada
asignatura, los profesores que imparten clases de
ella.

Bases de Datos DSIC-UPV 10

5
Ejemplo ¿Cómo indicamos qué asignaturas imparte un
profesor?
Profesor
Profesor
cod_pro nom_pro extensión dep_pro
JCC Juan C. Casamayor Rodenas 7796 DSIC
RFC Robert Fuster i Capilla 6789 MAT
JBD José V. Benlloch Duarte 5760 DISCA
MAF María Alberola Fernández 3560 DSIC
CPG Cristina Pérez Guillot 7439 IDM
JTM José M. Torralba Martínez 4590 OEM
IGP Ignacio Gil Pechuán 3423 OEM
DGT Daniel Gil Tomás 5679 DISCA
MCG Matilde Celma Giménez 7756 DSIC

PROFESOR(cod_pro:tira(3),
cod_pro:tira(3) nom_pro:tira(40),
PROFESOR(cod_pro:tira(3), nom_pro:tira(40),
extensión:entero, dep_pro:tira(5)
extensión:entero, dep_pro:tira(5))
dep_pro:tira(5))

Bases de Datos DSIC-UPV 11

Ejemplo
„ 1ª Opción, añadir campo cod_asignatura a
Profesor:

JCC Juan C. Casamayor Ródenas 7796 DSIC


RFC Robert Fuster i Capilla 6789 MAT
JBD José V. Benlloch Dualde 5760 DISCA
MAF María Alpuente Frasnedo 3560 DSIC
CPG Cristina Pérez Guillot 7439 IDM
JTM José M. Torralba Martínez 4590 OEM
IGP Ignacio Gil Pechuán 3423 OEM
DGT Daniel Gil Tomás 5679 DISCA
MCG Matilde Celma Giménez 7756 DSIC

Cod_asignatura

Bases de Datos DSIC-UPV 12

6
Ejemplo
„ 1ª Opción, añadir campo cod_asignatura a
Profesor:

JCC Juan C. Casamayor Ródenas 7796 DSIC


RFC Robert Fuster i Capilla 6789 MAT
JBD José V. Benlloch Dualde 5760 DISCA
MAF María Alpuente Frasnedo 3560 DSIC
CPG Cristina Pérez Guillot 7439 IDM
JTM José M. Torralba Martínez 4590 OEM
IGP Ignacio Gil Pechuán 3423 OEM
DGT Daniel Gil Tomás 5679 DISCA
MCG Matilde Celma Giménez 7756 DSIC

Cod_asignatura

Bases de Datos DSIC-UPV 13

Ejemplo
„ 1ª Opción, añadir campo cod_asignatura a
Profesor:

JCC Juan C. Casamayor Ródenas 7796 DSIC


RFC Robert Fuster i Capilla 6789 MAT
JBD José V. Benlloch Dualde 5760 DISCA
MAF María Alpuente Frasnedo 3560 DSIC
CPG Cristina Pérez Guillot 7439 IDM
JTM José M. Torralba Martínez 4590 OEM
IGP Ignacio Gil Pechuán 3423 OEM
DGT Daniel Gil Tomás 5679 DISCA
MCG Matilde Celma Giménez 7756 DSIC

Cod_asignatura

Bases de Datos DSIC-UPV 14

7
Ejemplo
„ 2ª Opción, añadir campo cod_profesor a
Asignatura:

BDA Bases de Datos 2B 3 3 DSIC


AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC
FCO Fundamentos de computadores 1A 4,5 4,5 DISCA
MAD Matemática Discreta 1A 3 3 MAT
INT Inglés Técnico 1B 3 3 IDM
FFI Fundamentos Físicos de la 1A 3 3 FIS
Informática
EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Cod_profesor

Bases de Datos DSIC-UPV 15

Ejemplo
„ 2ª Opción, añadir campo cod_profesor a
Asignatura:

BDA Bases de Datos 2B 3 3 DSIC


AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC
FCO Fundamentos de computadores 1A 4,5 4,5 DISCA
MAD Matemática Discreta 1A 3 3 MAT
INT Inglés Técnico 1B 3 3 IDM
FFI Fundamentos Físicos de la 1A 3 3 FIS
Informática
EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Cod_profesor

Bases de Datos DSIC-UPV 16

8
Ejemplo
„ 2ª Opción, añadir campo cod_profesor a
Asignatura:

BDA Bases de Datos 2B 3 3 DSIC


AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC
FCO Fundamentos de computadores 1A 4,5 4,5 DISCA
MAD Matemática Discreta 1A 3 3 MAT
INT Inglés Técnico 1B 3 3 IDM
FFI Fundamentos Físicos de la 1A 3 3 FIS
Informática
EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Cod_profesor

Bases de Datos DSIC-UPV 17

Ejemplo
„ SOLUCIÓN: crear una tabla intermedia que
relacione a un profesor con una asignatura.
DOCENCIA
BDA JCC 0 4
MAD RFC 1 2
FCO DGT 2 2
AD1 MAF 1 1
INT CPG 1 0
EC2 JBD 2 0
BDA MCG 1 3
AD1 JCC 0 1
FCO JBD 2 2
AD1 MCG 1 1

DOCENCIA(asg:tira(3),
DOCENCIA(asg:tira(3), pro:tira(3),
pro:tira(3),
gteo:entero,
gteo:entero, gpra:entero)
gpra:entero)

Bases de Datos DSIC-UPV 18

9
Ejemplo
Base
Base de
de Datos
Datos Final
Final

DEPARTAMENTO(cod_dep:
cod_dep: tira(5)
DEPARTAMENTO(cod_dep: tira(5),
tira(5), nom_dep:
nom_dep: tira(40),
tira(40),
director:
director: tira(30), teléfono:
tira(30), teléfono: entero)
entero)

ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),
cod_asg:tira(3)
ASIGNATURA(cod_asg:tira(3),nom_asg:tira(40),
semestre:tira(2),teoría:real,
semestre:tira(2),teoría:real,
prácticas:real, dep_asg:tira(5)
prácticas:real, dep_asg:tira(5))
dep_asg:tira(5))

PROFESOR(cod_pro:tira(3),
cod_pro:tira(3) nom_pro:tira(40),
PROFESOR(cod_pro:tira(3), nom_pro:tira(40),
extensión:entero, dep_pro:tira(5))
extensión:entero, dep_pro:tira(5)
dep_pro:tira(5))

DOCENCIA(asg:tira(3), pro:tira(3),
asg:tira(3) pro:tira(3)
DOCENCIA(asg:tira(3), pro:tira(3),
gteo:entero, gpra:entero)
gteo:entero, gpra:entero)

Bases de Datos DSIC-UPV 19

Conclusiones
• Relaciones son estructuras que se representan como tablas.
• Tuplas se corresponden con las filas de la tablas.
• Una tupla de una relación contiene un conjunto de valores a
los que se puede hacer referencia por los nombres de atributo.
Estos atributos se corresponden con las columnas de las
tablas.
• Existen dos tipos de atributos especiales:
◊ atributos que identifican las tuplas de una relación: cod_dep de
DEPARTAMENTO, cod_pro de PROFESOR, cod_asg de
ASIGNATURA y asg + pro en DOCENCIA.
◊ atributos que asocian dos relaciones: dep_asg en ASIGNATURA
que asocia con DEPARTAMENTO, dep_pro en PROFESOR que
asocia con DEPARTAMENTO o asg y pro en DOCENCIA que
asocia con ASIGNATURA y PROFESOR respectivamente.

Bases de Datos DSIC-UPV 21

10
Trabajo a realizar
• En F:\FI\BDA o en F:\EUI\BDA están las bases de
datos “pract1.mdb” y “pract12.mdb”.
• Tenéis que copiarla a vuestro ordenador (por
ejemplo, en c:\temp).
• Leed todos los puntos del boletín.
• Utilizad la base de datos “pract1.mdb” para realizar
los ejercicios del apartado 4.1 y los ejercicios 1, 2 y
3 del apartado 4.2.
• Utilizad la base de datos “pract12.mdb” para
realizar los ejercicios 4, 5, 6 y 7 del apartado 4.2 y
los ejercicios del apartado 4.3.
Bases de Datos DSIC-UPV 22

11

También podría gustarte