SlideShare una empresa de Scribd logo
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

Más contenido relacionado

PDF
5. Ejercicios normalización
PPTX
direcciones ip no validas
PPTX
Tipos de usuarios de base de datos diapositivas
DOCX
Ejercicios en clase Unidad II
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPT
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
PPTX
PDF
Base de Datos para la Farmacia Chimú
5. Ejercicios normalización
direcciones ip no validas
Tipos de usuarios de base de datos diapositivas
Ejercicios en clase Unidad II
Taller de Base de Datos - Unidad 7 Conectividad
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
Base de Datos para la Farmacia Chimú

La actualidad más candente (20)

PPTX
Lista de adyacencia
PPTX
Listas de adyacencia
PPTX
HISTORIA DE LAS BASES DE DATOS
PPTX
NORMALIZACIÓN
PDF
Flujo datos
PPTX
Fundamentos de redes: 6. Direccionamiento de la red ipv4
PPT
Arboles binarios - Aplicación al mundial de fútbol 2010
PPSX
Clases de direcciones IP
PPTX
Procesos Ligeros: Hilos o Hebras
 
PDF
Routers CIsco: configu
PPTX
Ejercicios del 1 al 9
PDF
Taller Practico 2 Base de Datos
PDF
Direccionamiento ip-y-subredes-ejercicios-resueltos-1194346207489436-2
PPTX
Normalizacion de bases de datos
DOC
Características, componentes y arquitectura de los dbms.
PPT
modelo entidad-relacion
PDF
ELEMENTOS DE UNA RED DE COMPUTADORAS
PPTX
Tipos de listas en estructura de datos
PDF
100 ejercicios-resueltos-de-sistemas-operativos
PDF
Diagrama entidad-relacion normalización
Lista de adyacencia
Listas de adyacencia
HISTORIA DE LAS BASES DE DATOS
NORMALIZACIÓN
Flujo datos
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Arboles binarios - Aplicación al mundial de fútbol 2010
Clases de direcciones IP
Procesos Ligeros: Hilos o Hebras
 
Routers CIsco: configu
Ejercicios del 1 al 9
Taller Practico 2 Base de Datos
Direccionamiento ip-y-subredes-ejercicios-resueltos-1194346207489436-2
Normalizacion de bases de datos
Características, componentes y arquitectura de los dbms.
modelo entidad-relacion
ELEMENTOS DE UNA RED DE COMPUTADORAS
Tipos de listas en estructura de datos
100 ejercicios-resueltos-de-sistemas-operativos
Diagrama entidad-relacion normalización
Publicidad

Destacado (20)

PDF
Improving editors' lives with Neos CMS
PPT
Logika3
PDF
Admón del riesgo en informática.
PDF
Sudoku
PDF
Pdf curso de direccion de marketing ximena carrillo
PPTX
Presentación para el IV WTHS: mSalud - Hay una app para eso, pero...
PPTX
PDF
Oriflame Cat 4 2016
PDF
R037 0511 hob zeeland definitief
PPTX
TELEFONOS
PDF
Numbers
PPS
Comarca A Fonsagrada
PDF
El placer corporal y el origen de la violencia por james w. prescott
PDF
H2 energy storage presentation to russian acad of sciences oct 99 a
PDF
PDF
Glass Pre-processing Before Tempering
PDF
Diario La República (San Luis)
PPT
Realismo[1]
Improving editors' lives with Neos CMS
Logika3
Admón del riesgo en informática.
Sudoku
Pdf curso de direccion de marketing ximena carrillo
Presentación para el IV WTHS: mSalud - Hay una app para eso, pero...
Oriflame Cat 4 2016
R037 0511 hob zeeland definitief
TELEFONOS
Numbers
Comarca A Fonsagrada
El placer corporal y el origen de la violencia por james w. prescott
H2 energy storage presentation to russian acad of sciences oct 99 a
Glass Pre-processing Before Tempering
Diario La República (San Luis)
Realismo[1]
Publicidad

Similar a base de datos (20)

PPTX
MODELO ENTIDAD RELACION
PPTX
Modelo entidad relación Rojas
PPTX
Modelo entidad relación, tipos de atributos y cardinalidad
PPT
378 (1)dsfasfadgasdfgasfaszfvsfasfasfasf.ppt
PPT
Diagramas de Entidad realción para bases de datos
PPT
presentacion modelo entidad relacion ppt
PPT
Modelo Entiendad Relación Base de Datoss
PPTX
Base de datos segunda parte
PDF
Introduccion a las bases de datos
DOCX
Bases de datos
PDF
Guia de bases de datos
DOCX
Niveles de un sgbd
PPTX
Presentación.pptx
PDF
3 diseño de-bd23
PDF
PDF
3 diseño de-bd (1)
PDF
3 diseño de-BD
PDF
3 diseño de-bd
PDF
3 diseño de-bd
MODELO ENTIDAD RELACION
Modelo entidad relación Rojas
Modelo entidad relación, tipos de atributos y cardinalidad
378 (1)dsfasfadgasdfgasfaszfvsfasfasfasf.ppt
Diagramas de Entidad realción para bases de datos
presentacion modelo entidad relacion ppt
Modelo Entiendad Relación Base de Datoss
Base de datos segunda parte
Introduccion a las bases de datos
Bases de datos
Guia de bases de datos
Niveles de un sgbd
Presentación.pptx
3 diseño de-bd23
3 diseño de-bd (1)
3 diseño de-BD
3 diseño de-bd
3 diseño de-bd

Último (20)

PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
biología es un libro sobre casi todo el tema de biología
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
Escuela Sabática 6. A través del Mar Rojo.pdf
Metodologías Activas con herramientas IAG
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Escuelas Desarmando una mirada subjetiva a la educación
caso clínico iam clinica y semiología l3.pptx
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
biología es un libro sobre casi todo el tema de biología
Tarea De El Colegio Coding For Kids 1 y 2
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf

base de datos

  • 1. 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
  • 2. 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
  • 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 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
  • 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 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