Bases de datos
Pasos para la creación de una BD
FICHA 01
¿Qué es una base de datos?
Una base de datos o banco
de datos (BD) es un conjunto
de datos pertenecientes a un
mismo sistema de información
y almacenados de forma
organizada para su posterior
uso.
Una biblioteca puede considerarse una base de datos
compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnológico en
áreas como la informática y la electrónica, la mayoría
de las bases de datos están en formato digital
(electrónico), que ofrece diversas soluciones al
problema de almacenar datos.
Los Sistemas Gestores
de Bases de Datos (SGBD)
Existen programas denominados
sistemas gestores de bases de
datos (SGBD) que permiten
almacenar y posteriormente
acceder a los datos de forma rápida y estructurada.
Algunos de los SGDB más conocidos y utilizados son:
MySQL, HSQLDB, MS Access, MS SQL Server, Oracle,
etc.
LibreOffice Base
Base es una aplicación que forma
parte de la suite ofimática
LibreOffice.org1
.
Es comparable a MS Access pero a
diferencia de éste es software libre.
LibreOffice Base permite la creación
y manejo de bases de datos,
elaboración de formularios e informes que
proporcionan a los usuarios finales un acceso fácil a
los datos.
1 LibreOffice.org: http://es.libreoffice.org
Fases para la creación
de una Base de Datos
1. Análisis. En esta fase tiene lugar la comunicación
con el cliente para conocer el sistema de información
e identificar las necesidades (requerimientos) de
diseño de la BD.
2. Esquema. En esta fase se realiza el diseño
conceptual o esquema de la base de datos. Para ello
se utiliza el modelo ER con el que se identifican y
detallan las entidades del sistema y las relaciones
entre ellas.
3. Tablas. Conocida como diseño lógico, en esta fase
se definen con un SGBD las tablas y campos de la BD.
4. Datos. En esta fase se introducen los datos en los
registros de las tablas de la BD.
5. Consultas. En esta etapa, se diseñan los
formularios de acceso a los datos y los informes, para
realizar consultas concretas a la BD.
Enrique Benimeli – www.ebenimeli.org pág. 1 de 2 Creative Commons BY-NC-SA 3.0
Bases de datos
Proyectos de BD
FICHA 02
Se proponen 4 proyectos de base de datos, de
los que hay que elegir uno. Se adjunta un breve
análisis de requerimientos que se podrá ampliar
y/o modificar si se considera necesario.
Proyecto 1: Cine
Se desea almacenar información
sobre películas, al estilo de
bases de datos en Internet como
IMDB2
(The Internet Movie
Database).
El sistema deberá organizar al
menos la información básica sobre las películas:
año, duración, género (comedia, drama, etc.),
director/es y actores principales.
De los actores y directores interesa conocer el
nombre, apellidos, año de nacimiento y
nacionalidad. Tanto de las películas como de las
personas, hay que almacenar una fotografía (o una
dirección en Internet donde este disponible la
imagen).
Interesa poder conocer qué actores han trabajado
en una película, qué directores las han dirigido,
además de tener la posibilidad de buscar películas
por género.
Proyecto 2: Música
Se desea mantener información
sobre música, al estilo de
programas como Spotify3
.
De cada álbum interesa conocer
el título, el artista, el género y
los temas que componen el
álbum. De cada tema, hay que guardar el título y
la duración.
De cada artista es necesario almacenar su nombre,
nacionalidad y una fotografía (o una dirección en
Internet donde esté disponible la imagen).
Interesa poder conocer a qué álbum pertenece un
determinado tema y tener la posibilidad de buscar
canciones por género.
2 IMDB: www.imdb.com
3 Spotify: ww.spotify.com
Proyecto 3: Fútbol/Baloncesto
Se desea almacenar información
sobre equipos y partidos de
baloncesto (o fútbol).
El sistema deberá organizar al
menos la información de los
equipos y sus jugadores, y de
los encuentros entre equipos. De
cada club interesa conocer el nombre, equipación,
año de fundación, ubicación, estadio, presidente y
entrenador. De cada jugador es necesario
almacenar el nombre, apodo, fecha de nacimiento,
nacionalidad, club en el que juega actualmente,
posición y estatura.
De los encuentros, basta con almacenar
información sobre qué dos equipos se enfrentan y
el resultado.
Proyecto 4: Biblioteca
Se desea almacenar información
sobre libros, al estilo de la
Biblioteca Virtual Miguel de
Cervantes4
.
De cada libro será necesario
almacenar al menos el título,
género, autor, número de
páginas, edición, ISBN,
ubicación, etc.). De cada autor interesa guardar
información de su nombre, apellidos, nacionalidad
y fecha de nacimiento.
Proyecto 5: Libre
El quinto de los proyectos es libre.
Podemos diseñar una base de datos
prácticamente de cualquier aspecto
de la sociedad que podamos
imaginar: datos de obras en una
galería de arte, relaciones entre
contactos de una red social, fichas
de recetas de cocina, información
de los vuelos en un aeropuerto, el inventario en un
almacén, etc.
4 Cervantes Virtual: www.cervantesvirtual.com
Enrique Benimeli – www.ebenimeli.org pág. 2 de 2 Creative Commons BY-NC-SA 3.0
Bases de datos
Esquema. Modelo Entidad-Relación
FICHA 03
El modelo E-R
Un diagrama o modelo entidad-relación es una
herramienta que permite representar las entidades
importantes de un sistema de información así
como sus interrelaciones y propiedades.
El modelo de datos entidad-relación es una
representación del mundo real que consta de una
colección de objetos básicos, llamados entidades,
y de relaciones entre esos objetos.
Entidad
Representa una “cosa” u “objeto” del mundo real
con existencia independiente, es decir, se
diferencia de otro objeto o cosa, incluso siendo del
mismo tipo.
Ejemplos:
• ALUMNO: se diferencia de cualquier otro
alumno, incluso aunque sean gemelos
(tienen DNI distintos).
• LIBRO: puede tener el mismo título que
otro libro, pero ambos tendrán códigos
ISBN diferentes.
Las entidades se representan con un rectángulo.
Atributos de una entidad
Los atributos son las características que definen o
identifican a una entidad.
Por ejemplo, para la entidad ALUMNO podríamos
definir los siguiente atributos:
• nexp: número de expediente
• nombre: nombre del alumno
• apellido_1: primer apellido
• apellido_2: segundo apellido
• fecha_nac: fecha de nacimiento
• n_herm: número de hermanos
• es_delegado: si es delegado o no
• tfno: teléfono de contacto
• ...
Enrique Benimeli – www.esferatic.com pág. 3 Creative Commons BY-NC-SA 3.0
Los atributos se representan con un círculo o elipse
etiquetado con un nombre en su interior.
El atributo identificador (ID)
De toda la lista de atributos
de una entidad, uno de ellos
(aunque podrían ser varios)
será el atributo ideniticador,
es decir, la característica
que identifica de forma
única la entidad.
En el caso de la entidad ALUMNO, el atributo que
lo identifica es “nexp”, el número de expediente,
que podemos asegurar que será único para cada
alumno (porque no se puede repetir).
El atributo identificador se representa con un
círculo o elipse etiquetado con un nombre
subrayado.
Relaciones entre entidades
Las entidades del diagrama ER se puede relacionar.
La relaciones se representan mediante un rombo
etiquetado en su interior con un verbo. Este rombo
se debe unir mediante líneas con las entidades
(rectángulos) que relaciona.
Tipos de relaciones
Existen varios tipos de relaciones entre entidades.
1:1 (uno-a-uno)
Existe una relación es_tutor de tipo 1:1 entre las
entidades GRUPO y PROFESOR, de forma que un
PROFESOR es tutor de un solo GRUPO, y en un
GRUPO puede haber solo un tutor PROFESOR.
1:N (uno-a-muchos)
Existe una relación pertenece de tipo 1:N entre
las entidades ALUMNO y GRUPO, de forma que un
ALUMNO puede pertenecer solo a un GRUPO, y en
un GRUPO puede haber más de un ALUMNO.
N:N (muchos-a-muchos)
Existe una relación cursa de tipo N:N entre las
entidades ALUMNO y ASIGNATURA, de forma que
un ALUMNO puede cursar más de una
ASIGNATURA, y una ASIGNATURA la puede cursar
más de un ALUMNO.
Enrique Benimeli – www.esferatic.com pág. 4 Creative Commons BY-NC-SA 3.0
Bases de datos
Tablas. Diseño lógico.
FICHA 04
El diseño lógico
Una vez terminado el diseño conceptual, es decir,
definido el esquema entidad-relación, el siguiente
paso es realizar el diseño lógico de la BD.
Esta fase consiste en transformar el esquema a un
lenguaje de tablas. En este proceso de
transformación, cada entidad será una tabla y
cada atributo, un campo de la tabla. Y el
atributo identificador será la clave primaria de la
tabla. Además pueden aparecer tablas extras, que
son necesarias para representar algunos tipos de
relaciones.
Una transformación de la entidad ALUMNO a un
lenguaje de tablas sería la siguiente:
Tabla ALUMNO
nexp Nombre apellido1 apellido2 fecha_nac
E0001 Pablo García Pérez 01/05/97
E0002 Emma Sánchez Guerra 03/07/97
E0003 Ana Moreno Álvarez 15/12/97
...
La entidad ALUMNO se convierte en una tabla
ALUMNO. Cada atributo de la entidad ALUMNO se
convierte en un campo en la tabla ALUMNO.
Representando relaciones
¿Y cómo se representan cada uno de los tipos de
relaciones entre entidades? En este punto aparece
el concepto de clave ajena.
Esta clave ajena será un nuevo campo que
permitirá enlazar una tabla con otra.
1:1 (uno-a-uno)
¿Cómo representar que un profesor puede ser
tutor de 1 grupo como máximo, y que un grupo
puede tener también como máximo 1 tutor?
Con dos tablas es suficiente para reflejar esta
relación.
Tabla PROFESOR
dni nombre apellido1 apellido2 fnac
11111111A Enrique Benimeli Bofarull 24/03/80
222222222B Jesús Pérez Sánchez 28/11/76
333333333C Ana Moreno Álvarez 15/12/78
...
Para el tipo de relación 1:1 podemos definir la
clave ajena en cualquiera de las dos tablas,
aunque para este ejemplo concreto es más lógico
definirla en la tabla GRUPO.
Tabla GRUPO
cod nombre ref_prof
3AESO 3º A de ESO 22222222B
3BESO 3º B de ESO 11111111A
4AESO 4º A de ESO 33333333C
...
De esta forma se relaciona la entidad PROFESOR
con la entidad GRUPO, indicando qué PROFESOR
es tutor de cada GRUPO.
Enrique Benimeli – www.esferatic.com pág. 5 Creative Commons BY-NC-SA 3.0
1:N (uno-a-muchos)
¿Cómo representar que un ALUMNO pertence
como máximo a 1 GRUPO y que a un GRUPO
pertenece más de 1 ALUMNO (muchos)?
De forma similar a las relaciones 1:1, con dos
tablas es suficiente para reflejar esta relación 1:N.
Tabla GRUPO
cod nombre ref_prof*
3AESO 3º A de ESO 22222222B
3BESO 3º B de ESO 11111111A
4AESO 4º A de ESO 33333333C
...
*Observa que el campo “ref_prof” es la clave ajena para
relacionar GRUPO y PROFESOR (del ejemplo de relación 1:1
anterior).
Tabla ALUMNO
nexp Nombre apellido1 fecha_nac ref_grupo
E0001 Pablo García 01/05/97 3AESO
E0002 Emma Sánchez 03/07/97 3BESO
E0003 Ana Moreno 15/12/97 3AESO
...
Para el tipo de relación 1:N definimos la clave
ajena en la tabla ALUMNO. Es la forma óptima de
reflejar que un ALUMNO pertenece como máximo
1 GRUPO. Sin embargo, permite también reflejar
que en 1 GRUPO hay más de 1 ALUMNO (muchos).
Definición de la relación “es_tutor” de tipo 1:N
entre las tablas GRUPO y PROFESOR
N:N (muchos-a-muchos)
¿Cómo representar que un ALUMNO puede cursar
más de 1 ASIGNATURA (muchas) y que una
ASIGNATURA la puede cursar más de 1 ALUMNO
(muchos)?
La transformación de esta relación del esquema a
un lenguaje de tablas es un poco especial. Aunque
no hay que modificar las tablas ALUMNO o
ASIGNATURA para añadir un nuevo campo, sí es
necesario crear una nueva tabla que las
relacione.
Tabla ALUMNO
nexp Nombre apellido1 fecha_nac ref_grupo
E0001 Pablo García 01/05/97 3AESO
E0002 Emma Sánchez 03/07/97 3BESO
E0003 Ana Moreno 15/12/97 3AESO
...
Tabla ASIGNATURA
cod_asig Nombre
INF3ESO Informática 3º ESO
AMAT3ESO Amplión de Matemáticas 3º ESO
TEC3ESO Tecnología 3º ESO
...
Para las relaciones N:N es necesaria una nueva
tabla que relacione las dos tablas:
Tabla ALUMNO-ASIGNATURA
nexp cod_asig
E001 INF3ESO
E001 AMAT3ESO
E001 TEC3ESO
E002 INF3ESO
E002 AMAT3ESO
... ...
Los campos nexp y cod_asig de la tabla ALUMNO-
ASIGNATURA son claves ajenas (a otras tablas).
La clave primaria sería conjuntamente los
campos (nexp, cod_asig), para asegurar que no se
puede repetir, por ejemplo, la pareja de valores
(E001, INF3ESO).
Enrique Benimeli – www.esferatic.com pág. 6 Creative Commons BY-NC-SA 3.0

base de datos

  • 1.
    Bases de datos Pasospara la creación de una BD FICHA 01 ¿Qué es una base de datos? Una base de datos o banco de datos (BD) es un conjunto de datos pertenecientes a un mismo sistema de información y almacenados de forma organizada para su posterior uso. Una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico en áreas como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece diversas soluciones al problema de almacenar datos. Los Sistemas Gestores de Bases de Datos (SGBD) Existen programas denominados sistemas gestores de bases de datos (SGBD) que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Algunos de los SGDB más conocidos y utilizados son: MySQL, HSQLDB, MS Access, MS SQL Server, Oracle, etc. LibreOffice Base Base es una aplicación que forma parte de la suite ofimática LibreOffice.org1 . Es comparable a MS Access pero a diferencia de éste es software libre. LibreOffice Base permite la creación y manejo de bases de datos, elaboración de formularios e informes que proporcionan a los usuarios finales un acceso fácil a los datos. 1 LibreOffice.org: http://es.libreoffice.org Fases para la creación de una Base de Datos 1. Análisis. En esta fase tiene lugar la comunicación con el cliente para conocer el sistema de información e identificar las necesidades (requerimientos) de diseño de la BD. 2. Esquema. En esta fase se realiza el diseño conceptual o esquema de la base de datos. Para ello se utiliza el modelo ER con el que se identifican y detallan las entidades del sistema y las relaciones entre ellas. 3. Tablas. Conocida como diseño lógico, en esta fase se definen con un SGBD las tablas y campos de la BD. 4. Datos. En esta fase se introducen los datos en los registros de las tablas de la BD. 5. Consultas. En esta etapa, se diseñan los formularios de acceso a los datos y los informes, para realizar consultas concretas a la BD. Enrique Benimeli – www.ebenimeli.org pág. 1 de 2 Creative Commons BY-NC-SA 3.0
  • 2.
    Bases de datos Proyectosde BD FICHA 02 Se proponen 4 proyectos de base de datos, de los que hay que elegir uno. Se adjunta un breve análisis de requerimientos que se podrá ampliar y/o modificar si se considera necesario. Proyecto 1: Cine Se desea almacenar información sobre películas, al estilo de bases de datos en Internet como IMDB2 (The Internet Movie Database). El sistema deberá organizar al menos la información básica sobre las películas: año, duración, género (comedia, drama, etc.), director/es y actores principales. De los actores y directores interesa conocer el nombre, apellidos, año de nacimiento y nacionalidad. Tanto de las películas como de las personas, hay que almacenar una fotografía (o una dirección en Internet donde este disponible la imagen). Interesa poder conocer qué actores han trabajado en una película, qué directores las han dirigido, además de tener la posibilidad de buscar películas por género. Proyecto 2: Música Se desea mantener información sobre música, al estilo de programas como Spotify3 . De cada álbum interesa conocer el título, el artista, el género y los temas que componen el álbum. De cada tema, hay que guardar el título y la duración. De cada artista es necesario almacenar su nombre, nacionalidad y una fotografía (o una dirección en Internet donde esté disponible la imagen). Interesa poder conocer a qué álbum pertenece un determinado tema y tener la posibilidad de buscar canciones por género. 2 IMDB: www.imdb.com 3 Spotify: ww.spotify.com Proyecto 3: Fútbol/Baloncesto Se desea almacenar información sobre equipos y partidos de baloncesto (o fútbol). El sistema deberá organizar al menos la información de los equipos y sus jugadores, y de los encuentros entre equipos. De cada club interesa conocer el nombre, equipación, año de fundación, ubicación, estadio, presidente y entrenador. De cada jugador es necesario almacenar el nombre, apodo, fecha de nacimiento, nacionalidad, club en el que juega actualmente, posición y estatura. De los encuentros, basta con almacenar información sobre qué dos equipos se enfrentan y el resultado. Proyecto 4: Biblioteca Se desea almacenar información sobre libros, al estilo de la Biblioteca Virtual Miguel de Cervantes4 . De cada libro será necesario almacenar al menos el título, género, autor, número de páginas, edición, ISBN, ubicación, etc.). De cada autor interesa guardar información de su nombre, apellidos, nacionalidad y fecha de nacimiento. Proyecto 5: Libre El quinto de los proyectos es libre. Podemos diseñar una base de datos prácticamente de cualquier aspecto de la sociedad que podamos imaginar: datos de obras en una galería de arte, relaciones entre contactos de una red social, fichas de recetas de cocina, información de los vuelos en un aeropuerto, el inventario en un almacén, etc. 4 Cervantes Virtual: www.cervantesvirtual.com Enrique Benimeli – www.ebenimeli.org pág. 2 de 2 Creative Commons BY-NC-SA 3.0
  • 3.
    Bases de datos Esquema.Modelo Entidad-Relación FICHA 03 El modelo E-R Un diagrama o modelo entidad-relación es una herramienta que permite representar las entidades importantes de un sistema de información así como sus interrelaciones y propiedades. El modelo de datos entidad-relación es una representación del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos. Entidad Representa una “cosa” u “objeto” del mundo real con existencia independiente, es decir, se diferencia de otro objeto o cosa, incluso siendo del mismo tipo. Ejemplos: • ALUMNO: se diferencia de cualquier otro alumno, incluso aunque sean gemelos (tienen DNI distintos). • LIBRO: puede tener el mismo título que otro libro, pero ambos tendrán códigos ISBN diferentes. Las entidades se representan con un rectángulo. Atributos de una entidad Los atributos son las características que definen o identifican a una entidad. Por ejemplo, para la entidad ALUMNO podríamos definir los siguiente atributos: • nexp: número de expediente • nombre: nombre del alumno • apellido_1: primer apellido • apellido_2: segundo apellido • fecha_nac: fecha de nacimiento • n_herm: número de hermanos • es_delegado: si es delegado o no • tfno: teléfono de contacto • ... Enrique Benimeli – www.esferatic.com pág. 3 Creative Commons BY-NC-SA 3.0
  • 4.
    Los atributos serepresentan con un círculo o elipse etiquetado con un nombre en su interior. El atributo identificador (ID) De toda la lista de atributos de una entidad, uno de ellos (aunque podrían ser varios) será el atributo ideniticador, es decir, la característica que identifica de forma única la entidad. En el caso de la entidad ALUMNO, el atributo que lo identifica es “nexp”, el número de expediente, que podemos asegurar que será único para cada alumno (porque no se puede repetir). El atributo identificador se representa con un círculo o elipse etiquetado con un nombre subrayado. Relaciones entre entidades Las entidades del diagrama ER se puede relacionar. La relaciones se representan mediante un rombo etiquetado en su interior con un verbo. Este rombo se debe unir mediante líneas con las entidades (rectángulos) que relaciona. Tipos de relaciones Existen varios tipos de relaciones entre entidades. 1:1 (uno-a-uno) Existe una relación es_tutor de tipo 1:1 entre las entidades GRUPO y PROFESOR, de forma que un PROFESOR es tutor de un solo GRUPO, y en un GRUPO puede haber solo un tutor PROFESOR. 1:N (uno-a-muchos) Existe una relación pertenece de tipo 1:N entre las entidades ALUMNO y GRUPO, de forma que un ALUMNO puede pertenecer solo a un GRUPO, y en un GRUPO puede haber más de un ALUMNO. N:N (muchos-a-muchos) Existe una relación cursa de tipo N:N entre las entidades ALUMNO y ASIGNATURA, de forma que un ALUMNO puede cursar más de una ASIGNATURA, y una ASIGNATURA la puede cursar más de un ALUMNO. Enrique Benimeli – www.esferatic.com pág. 4 Creative Commons BY-NC-SA 3.0
  • 5.
    Bases de datos Tablas.Diseño lógico. FICHA 04 El diseño lógico Una vez terminado el diseño conceptual, es decir, definido el esquema entidad-relación, el siguiente paso es realizar el diseño lógico de la BD. Esta fase consiste en transformar el esquema a un lenguaje de tablas. En este proceso de transformación, cada entidad será una tabla y cada atributo, un campo de la tabla. Y el atributo identificador será la clave primaria de la tabla. Además pueden aparecer tablas extras, que son necesarias para representar algunos tipos de relaciones. Una transformación de la entidad ALUMNO a un lenguaje de tablas sería la siguiente: Tabla ALUMNO nexp Nombre apellido1 apellido2 fecha_nac E0001 Pablo García Pérez 01/05/97 E0002 Emma Sánchez Guerra 03/07/97 E0003 Ana Moreno Álvarez 15/12/97 ... La entidad ALUMNO se convierte en una tabla ALUMNO. Cada atributo de la entidad ALUMNO se convierte en un campo en la tabla ALUMNO. Representando relaciones ¿Y cómo se representan cada uno de los tipos de relaciones entre entidades? En este punto aparece el concepto de clave ajena. Esta clave ajena será un nuevo campo que permitirá enlazar una tabla con otra. 1:1 (uno-a-uno) ¿Cómo representar que un profesor puede ser tutor de 1 grupo como máximo, y que un grupo puede tener también como máximo 1 tutor? Con dos tablas es suficiente para reflejar esta relación. Tabla PROFESOR dni nombre apellido1 apellido2 fnac 11111111A Enrique Benimeli Bofarull 24/03/80 222222222B Jesús Pérez Sánchez 28/11/76 333333333C Ana Moreno Álvarez 15/12/78 ... Para el tipo de relación 1:1 podemos definir la clave ajena en cualquiera de las dos tablas, aunque para este ejemplo concreto es más lógico definirla en la tabla GRUPO. Tabla GRUPO cod nombre ref_prof 3AESO 3º A de ESO 22222222B 3BESO 3º B de ESO 11111111A 4AESO 4º A de ESO 33333333C ... De esta forma se relaciona la entidad PROFESOR con la entidad GRUPO, indicando qué PROFESOR es tutor de cada GRUPO. Enrique Benimeli – www.esferatic.com pág. 5 Creative Commons BY-NC-SA 3.0
  • 6.
    1:N (uno-a-muchos) ¿Cómo representarque un ALUMNO pertence como máximo a 1 GRUPO y que a un GRUPO pertenece más de 1 ALUMNO (muchos)? De forma similar a las relaciones 1:1, con dos tablas es suficiente para reflejar esta relación 1:N. Tabla GRUPO cod nombre ref_prof* 3AESO 3º A de ESO 22222222B 3BESO 3º B de ESO 11111111A 4AESO 4º A de ESO 33333333C ... *Observa que el campo “ref_prof” es la clave ajena para relacionar GRUPO y PROFESOR (del ejemplo de relación 1:1 anterior). Tabla ALUMNO nexp Nombre apellido1 fecha_nac ref_grupo E0001 Pablo García 01/05/97 3AESO E0002 Emma Sánchez 03/07/97 3BESO E0003 Ana Moreno 15/12/97 3AESO ... Para el tipo de relación 1:N definimos la clave ajena en la tabla ALUMNO. Es la forma óptima de reflejar que un ALUMNO pertenece como máximo 1 GRUPO. Sin embargo, permite también reflejar que en 1 GRUPO hay más de 1 ALUMNO (muchos). Definición de la relación “es_tutor” de tipo 1:N entre las tablas GRUPO y PROFESOR N:N (muchos-a-muchos) ¿Cómo representar que un ALUMNO puede cursar más de 1 ASIGNATURA (muchas) y que una ASIGNATURA la puede cursar más de 1 ALUMNO (muchos)? La transformación de esta relación del esquema a un lenguaje de tablas es un poco especial. Aunque no hay que modificar las tablas ALUMNO o ASIGNATURA para añadir un nuevo campo, sí es necesario crear una nueva tabla que las relacione. Tabla ALUMNO nexp Nombre apellido1 fecha_nac ref_grupo E0001 Pablo García 01/05/97 3AESO E0002 Emma Sánchez 03/07/97 3BESO E0003 Ana Moreno 15/12/97 3AESO ... Tabla ASIGNATURA cod_asig Nombre INF3ESO Informática 3º ESO AMAT3ESO Amplión de Matemáticas 3º ESO TEC3ESO Tecnología 3º ESO ... Para las relaciones N:N es necesaria una nueva tabla que relacione las dos tablas: Tabla ALUMNO-ASIGNATURA nexp cod_asig E001 INF3ESO E001 AMAT3ESO E001 TEC3ESO E002 INF3ESO E002 AMAT3ESO ... ... Los campos nexp y cod_asig de la tabla ALUMNO- ASIGNATURA son claves ajenas (a otras tablas). La clave primaria sería conjuntamente los campos (nexp, cod_asig), para asegurar que no se puede repetir, por ejemplo, la pareja de valores (E001, INF3ESO). Enrique Benimeli – www.esferatic.com pág. 6 Creative Commons BY-NC-SA 3.0