0 calificaciones 0% encontró este documento útil (0 votos) 22 vistas 72 páginas BD02 - Base de Datos Relacionales
El documento describe un caso práctico en el que Juan y Ana trabajan en un proyecto de desarrollo de un sitio web de juegos online, utilizando bases de datos relacionales con Oracle. Se detalla el proceso de modelado de datos, incluyendo la creación de un modelo de datos conceptual, lógico y físico, así como la terminología relacionada con el modelo relacional. Además, se explican conceptos clave como relaciones, tuplas, atributos, grado y cardinalidad en el contexto de bases de datos.
Título y descripción mejorados con IA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí .
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Ir a elementos anteriores Ir a siguientes elementos
Guardar BD02_Base de Datos Relacionales para más tarde
Base de datos relacionales.
Caso practico
‘Ada ha asignado
un proyecto a
Juan que contara
con Ana para
trabajar en él. De
este modo Ana
ird aprendiendo a
la vez que ayuda
a Juan en tan
importante tarea.
otra de eae Uso eduetyo) Miri de Educa (Us eduat)
Se trata de un proyecto importante y puede suponer muchas ventas, por tanto,
una gran expansién para la empresa. Asi que Ada supervisard todo el trabajo de
Juan para que no haya ningtin problema.
El director de una importante empresa se dirigié a BK programacién para pedirles
que desarrollen un sitio web de juegos online, al que se podran conectar usuarios
para jugar partidas. Se tiene que realizar un disefio de la base de datos que
soporte la operativa de este sitio web.
Una cuestién vital en la aplicacién es el almacenamiento de los datos. Los datos
de los usuarios, el acceso de éstos, registro de las distintas partidas y juegos que
se crean y el control de las compras de crédito por parte de los jugadores. Todo
deberé guardarse en bases de datos, para su tratamiento y recuperacién las
veces que haga falta.
Como en BK programacién trabajan sobre todo con Oracle, desde el primer
momento Juan, con el visto bueno de Ada, tiene claro que van a tener que utilizar
bases de datos relacionales y Oracle.
triad Educacn y Fomakin Pasional (Domino pico)
Materiales formativos de FP Online propiedad del Ministerio de
Educacién y Formacién Profesional.
Aviso Legal1.- Modelo de datos.
Caso practico
Juan y Ana se
han puesto en
marcha con este
nuevo proyecto.
‘Ambos saben que
lo primero que
tienen que hacer
es trabajar con la
informacién que
les han dado, Ya
saben las ideas que el cliente tiene, ahora es
necesario pasarlo a un formato con el que poder trabajar. Una de las primeras
cosas que deben hacer es trazar un borrador donde plasmar lo que ahora mismo
estd en sus cabezas y en las anotaciones recogidas mientras hablaban con el
cliente.
eso (Uo eet 2)
Minster e Eovcaden (Uso aca ne)
Segiin el ___DRAE, un modelo es, entre otras definiciones, el esquema
teorico, genéralmente en forma matematica, de un sistema o de una
realidad compleja. Podemos decir que es la representacién de cualquier
aspecto o tema extraido del mundo real.
EQué serla entonces un modelo de datos? Aquél que nos permite
describir los elementos que intervienen en una realidad 0 en un problema
dado y la forma en que se relacionan dichos elementos entre si.
Contextualizando, un modelo de datos es por tanto un conjunto de
““Goninopnics" ~——-«métodos y reglas que indican cémo se ha de almacenar la informacion y
cémo se han de manipular los datos.
En informatica, el modelo de datos se implementa con un
lenguaje utilizado para la descripcién de una base de datos.
Con este lenguaje vamos a poder describir las estructuras de
los datos (tipos de datos y relaciones entre ellos), las
restricciones de integridad (condiciones que deben cumplir los
datos, segin las necesidades de nuestro modelo basado en la
realidad) y las operaciones de manipulacién de los datos
{insertado, borrado, modificacién de datos)
etn de un (Uo educate ne)
Ese lenguaje, por lo general, presenta dos sublenguajes:
¥ Lenguaje de Definicién de Datos o DDL (Data Definition Language ) , cuya funcién es
describir, de una forma abstracta, las estructuras de datos y las restricciones de integridad.¥ Lenguaje de Manipulacién de Datos o DML (Data Manipul
para describir las operaciones de manipulacién de los datos.
ion Language), que sirve
Existen tres fases de modelado en el disefio de una base de datos basadas en el nivel de
abstraccién, es decir, en lo alejado que esté del mundo real y que deben ser realizadas en
orden:
1, Modelo de datos conceptual: Se utiliza en el disefio conceptual. Es una representacion
{normalmente gréfica) de la realidad no comprometida con ningtin entorno informatico.
Describen las estructuras de datos y restricciones de integridad. Se utilizan durante la
etapa de andlisis de un problema dado, y estan orientados a representar los elementos
que intervienen y sus relaciones. Es una fase muy importante ya que cualquier error en
esta fase es arrastrado a las siguientes.
Ejemplo, Modelo Entidad-Relacién
2, Modelo Légico: Se utiliza en el disefio légico, Determinan unos criterios de
almacenamiento (formas de almacenar la informacién) y de operaciones de manipulacién
de datos dentro de un tipo de entorno informatico. Los S.G.B.D. comerciales se basan en
un modelo légico concreto, Ejemplo, Modelo Relacional.
3, Modelo Fisico: Se utiiza en el disefio fisico. Es la implementacién fisica del modelo
anterior. Son estructuras de datos a bajo nivel, implementadas dentro de un sistema
gestor de base de datos comercial, por ej. Oracle, mysql, etc,
Los SGBD comerciales se basan en un modelo légico concreto. Por ej. Oracle en el modelo
relacional
Autoevaluacion
zCudles son los modelos que se centran en las operaciones y se
implementan en algin sistema gestor de base de datos?
© Modelo de datos conceptuales.
O Modelo de datos Iégico.
O Modelo de datos fisicos.
No es correcto, estos describen las estructuras de datos y restricciones de
integridad
Efectivamente, un ejemplo seria el modelo relacional
Incorrecto, estos son estructuras de datos a bajo nivel e implementadas
dentro del propio SGBD.
Solucion41. Incorrecto
2. Opcién correcta
3. Incorrecto2.- Terminologia del modelo relacional.
Caso practico
Ana se pregunta cual sera el modelo con el que se
suele trabajar. Actualmente, para la mayoria de las
aplicaciones de gestién que utilizan bases de
datos, el modelo mas empleado es el modelo
relacional, por su gran versatilidad, potencia y su
base matematica
gSabes que el modelo relacional te va a permitir representar la
informacién del mundo real de una manera intuitiva? Asi es, pudiendo
introducir conceptos cotidianos y faciles de entender por cualquiera,
aunque no sea experto en informatica.
El modelo relacional fue propuesto por Edgar Frank Codd en los
laboratorios de __IBM en California. Comio hemos visto, se trata de un
modelo légico” que establece una estructura sobre los datos,
independientemente del modo en que luego los almacenemos. Es como si
guardamos nuestra coleccién de libros, dependiendo del nimero de
habitaciones que tenga en casa, del tamafio y forma de nuestras
luisa mseaqes @Stanterfas, podremos disponer nuestros libros de un modo u otro para
conatror3) facilitarnos el acceso y consulta. Los libros seran los mismos pero puedo
disponerlos de distinta forma.
Es importante recordar que el disefio de las tablas del modelo relacional es la segunda fase del
disefio de la base de datos y previamente se ha realizado el disefio conceptual identificando,
tras el andlisis, las tablas 0 relaciones resultantes, sus atributos, restricciones y relaciones.
El nombre de modelo relacional viene de la estrecha relacién entre el elemento basico de este
modelo y el concepto matematico de relacién. Si tenemos dos conjuntos A y B, una relacién
entre esios dos conjuntos seria un subconjunto del producto cartesiano AxB.
El producto cartesiano nos dard la relacién de todos los elementos de un conjunto con todos los
elementos de los otros conjuntos de ese producto. Al estar trabajando con conjuntos, no puede
haber elementos repetidos.
Por ejemplo para los dos conjuntos que se presentan en la imagen, uno denominado Marcas
que contiene marcas de coches y otro denominado Modelos que contiene diferentes modelos el
resultado de la operacién de producto cartesiano sera la combinacién de todos los elementos de
tun conjunto con los del otro.Producto Cartesiano
Marcas X Modelos
Modelos
—_——
| Qashgai_
corse
“Auris
ore Castetanas (reabve Commons CO}2.1.- Relacion o tabla. Tuplas. Dominios.
Pero... gqué es eso de “relacién’? Hemos dicho que el modelo relacional se basa en el
concepto matematico de relacién, ya que Codd, que era un experto matematico, utilizé una
terminologia perteneciente a las matematicas, en concreto a la teoria de conjuntos y a la légica
de predicados.
Para saber mas
Aqui tienes unos enlaces sobre teora de conjuntos y légica de predicados:
Teoria de conjuntos.
Le
ica de predicados.
A partir de ahora, nosotros veremos una relacién
como una tabla con filas y columnas. Podemos Taba: Alnaoe
asociar atributos a columnas y tuplas a filas. Atos:
¥ Atributos: es el nombre de cada dato que ee ee
se almacena en la relacién (tabla). En la 1 PEDRO [FERNANDEZ
tabla Alumnos, que se muestra a la OME
derecha, los atributos 0 —columnas a
serian DNI, nombre y apellidos. oe — ae
El nombre del atributo debe describir el
significado de la informacién que
representa. En la tabla Empleados, el
atributo Sueldo almacenara el valor en
euros del sueldo que recibe cada empleado. A veces es necesario afiadir una pequefia
descripcién para aclarar un poco mas el contenido. Por ejemplo, si el sueldo es neto o
bruto.
Jorge Casttans (Crestne Canmars C00}
¥ Tuplas: Se refiere a cada elemento de la relacién o tabla. En la tabla alumnos hay 5 tuplas
con los atributos DNI, nombre y apellidos de cada uno de los alumnos.
Cada una de las filas de la tabla se corresponde con la idea de registro y tiene que cumplir
que:
® Cada tupla se debe corresponder con un elemento de! mundo real.
» No puede haber dos tuplas iguales (con todos los valores iguales)
Esta claro que un atributo en una tupla no puede tomar cualquier valor, No seria légico que en
un atributo Poblacién se guarde "250€". Estariamos cometiendo un error, para evitar este tipo
de situaciones obligaremos a que cada atributo sélo pueda tomar los valores pertenecientes a
un conjunto de valores previamente establecidos, es decir, un atributo tiene asociado un
dominio de valores.
‘A menudo un dominio se define a través de la declaracién de un tipo para el atributo (por
ejemplo, diciendo que es un nuimero entero entre 1 y 16), pero también se pueden definir
dominios mas complejos y precisos. Por ejemplo, para el atributo Sexo de los usuarios,
podemos definir un dominio en el que los valores posibles sean "M" o "F" (masculino o
femenino).Una caracteristica fundamental de los dominios es que sean atémicos, es decir, que los valores
contenidos en los atributos no se pueden separar en valores de dominios mas simples.
Un dominio debe tener: Nombre, Definicién légica, Tipo de datos y Formato.
Por ejemplo, si consideramos el Sueldo de un empleado, tendremos:
Nombre: Sueldo.
Definicién Iégica: Sueldo neto de! empleado
Tipo de datos: niimero entero,
Formato: 9.9996.
A446
Autoevaluacion
zCudles de las siguientes afirmaciones son ciertas sobre las tuplas y los
atributos?
© Las tuplas deben corresponderse con un elemento del mundo real.
( Podriamos tener dos o mas tuplas iguales.
OC _ Unatributo se define en un dominio de valores.
(© El nombre de cada dato que se almacena en la relacién se denomina
Atributo,
Solucién
4. Correcto
2. Incorrecto
3. Correcto
4. Correcto2.2.- Grado. Cardinalidad.
Ya hemos visto que una relacién es una tabla con filas y columnas. Pero chasta cudntas
columnas puede contener? ; Cuantos atributos podemos guardar en una tabla?
Llamaremos grado al tamafio de una tabla en base a su niimero de atributos (columnas).
Mientras mayor sea el grado, mayor sera la complejidad para trabajar con ella.
LY cuéntas tuplas (filas 0 registros) puede tener?
Llamaremos cardinalidad al ntimero de tuplas o filas de una relacién o tabla.
Vamos a verlo con un ejemplo. Dadas las relaciones
‘A=(Carlos, Maria), B={Matematicas, Lengua}, C={Aprobado, Suspenso}.
Las posibles relaciones que obtenemos al realizar el producto cartesiano AxBxC da como
resultado una relacién de grado 3, ya que tiene 3 columnas
Producto Cartesiano AxBxC.
A={Carlos, Maria} B={Matematicas, Lengua} C={Aprobado, Suspenso}
CARLOS MATEMATICAS APROBADO
CARLOS MATEMATICAS SUSPENSO
CARLOS LENGUA APROBADO
CARLOS LENGUA SUSPENSO
CARLOS INGLES APROBADO
CARLOS INGLES SUSPENSO
MARIA MATEMATICAS APROBADO.
MaRIA MATEMATICAS SUSPENSO
MARIA LENGUA APROBADO
MaRIA LENGUA SUSPENSO
MARIA INGLES APROBADO
MARIA INGLES SUSPENSO
Si cogemos un subconjunto de ésta con 5 filas, tendriamos una relacién de cardinalidad 5. Por
ej.
Subconjunto del Producto Cartesiano AxBxC con
cardinalidad 5.
A=(Carlos, Maria} B={Matematicas, Lengua} C={Aprobado, Suspenso}A=(Carlos, Maria} B={Matematicas, Lengua} C={Aprobado, Suspenso}
CARLOS MATEMATICAS. APROBADO
CARLOS LENGUA. APROBADO.
CARLOS INGLES APROBADO.
MARIA MATEMATICAS. APROBADO
MARIA INGLES SUSPENSO2.3.- Sindnimos.
Caso practico
‘Ana esta un poco liada con tantos términos
huevos. 4Si Juan habla de tuplas se esta
refiriendo a registros? Los registros eran las filas
de las las tablas, no? Sera mejor que hagamos
un resumen.
Los términos vistos hasta ahora tienen distintos sinénimos seguin la
nomenclatura utilizada. Trabajaremos con tres:
vy
ty
a @
En el modelo relacional: RELACION - TUPLA - ATRIBUTO - .
GRADO - CARDINALIDAD.
= En tablas: TABLA - FILA - COLUMNAS - NUMERO COLUMNAS -
NUMERO FILAS.
= En términos de registros: FICHEROS - REGISTROS - CAMPOS
- NUMERO CAMPOS - NUMERO REGISTROS.
IeNE=20712 10 m tiga Uso
Sautve ra)
Misti de Eduacén v EP (Ut eveatvo ne)
Autoevaluacion
Relaciona cada término del modelo relacional con la terminologia de Tablas.
Sinénimos.
Terminologia del modelo
Teleclonall, Relacién. —_Terminologia en Tablas.Terminologia del modelo
relacional.
RELACION
TUPLA
ATRIBUTO
GRADO
CARDINALIDAD
Relacién.
0
o0aoo0o 0
Terminologia en Tablas.
1, COLUMNAS
2 NUMERO DE
COLUMNAS
3. NUMERO DE FILAS
4. FILA
5. TABLA
Debes tener en cuenta que a partir de ahora emplearemos frecuentemente '
estos términos,3.- Relaciones. Caracteristicas de una
relacion (tabla).
Caso practico
Juan, tras su andlisis y varios dias de trabajo, ha
‘obtenido las relaciones con las que trabajara y los
atributos que desea guardar en la base de datos.
Junto con Ana va a repasar que se cumplan todas
las propiedades y asi asegurarse que el modelo
es el adecuado. También necesitaré saber qué
informacién podré consultar el usuario para asi
crear algunas tablas de modo temporal
Westra de edueantn (Ut edeatio ne)
En un modelo relacional se puede utilizar cualquier relacién? 4Es valida cualquier tabla o se
deben cumplir algunas propiedades?
Debes saber que:
~ Cada tabla tiene un nombre distinto.
nro de Eves (Uso edueabvone)
¥ Como hemos visto antes, cada atributo (columna) de la tabla toma un solo valor en cada
tupla (fila).
¥ Cada atributo (columna) tiene un nombre distinto en cada tabla (pero puede ser el mismo
en tablas distintas).
= No puede haber dos tuplas (filas) completamente iguales.
Carlos | Matematicas | Aprobado
Carlos | Matematicas | Suspenso
Carlos | Lengua Aprobado
(Gas range —aprobaao
Par amie. (Uso educative ns)
¥ El orden de las tuplas (filas) no importa.Pir Ramive. (Uso eaves no)
¥ El orden de los atributos (columnas) no importa.
Par Remive. (Uso educative =)
¥ Todos los datos de un atributo (columna) deben ser del mismo dominio.Si hemos definido
que el dominio de! atributo Nota sélo admite los valores Aprobado o Suspenso entonces el
dato NOTABLE seria incorrecto ya que no pertenece al dominio
Matematica | Aprobado:
Lengua Suspenso
ves | STABLES
Matematicas | Suspenso
‘Lengua | Suspenso
JBEEE
Ptr Romie. (U0 eae ne)
Autoevaluacion
£Cual de las siguientes afirmaciones no es cierta en una relacion?
© Todds los atributos deben estar en el mismo dominio.
No puede haber dos tuplas completamente iguales.
Cada atributo de la tabla toma un Unico valor en cada tupla.
Podemos tener tablas con el mismo nombre en la misma base de datos.
ooo
No es correcto. Los valores de los atributos deben pertenecer al dominio que |
tienen definido. i
No es la respuesta correcta, si hubiese dos tuplas iguales estariamos |
infringiendo el modelo relacional. i
Incorrecto, debe ser asi para todas las tuplas. i
Correcto, si es posible en bases de datos distintas.Solucion
1. Incorrecto i
2. Incorrecto ;
3. Incorrecto |
4, Opcién correcta i3.1.- Tipos de relaciones (tablas).
Caso practico
Juan le esté contando a Ana que hay que
distinguir las relaciones en funcién del uso que se
le vaya a dar. Tal y como han hablado con el
cliente, sabe que unos jugadores accederan a un
tipo de tablas como usuarios, y las personas que
administran la base de datos lo haran a otras. Es
obvio que tenemos que distinguir entre unas y
otras.
Existen varios tipos de relaciones o tablas y las vamos a clasificar en:
© Persistentes: Sélo pueden ser borradas por los usuarios,
» Base: Independientes, se crean indicando su estructura y sus ejemplares (conjunto
de tuplas o filas).
» Vistas: son tablas que sélo almacenan una definicién de consulta, resultado de la
cual se obtiene datos que proceden de otras tablas base o de otras vistas e
instantaneas. Si los datos de las tablas base cambian, los de la vista que utilizan
esos datos también cambiarén ya que se obtienen a partir de ellas.
» Instantaneas: son vistas (se crean de la misma forma) pero si almacenan los datos
que muestran, ademas de la consulta que la cred. Solo modifican su resultado
cuando el sistema se refresca cada cierto tiempo. Es como una fotografia de la
relacién, que sélo es valida durante un periodo de tiempo concreto.
/ Temporales: Son tablas que son eliminadas automaticamente por el sistema
Autoevaluacion
Las relaciones que se crean indicando su estructura y sus ejemplares se
denominan:
© _ Instantaneas.
© Vistas.
O. Base.
No es correcto, las instantaneas son un tipo de vistas.Incorrecto, las vistas solo almacenan la definicién de la consulta. :
Correcto, sigue asi :
Solucion
1. Incorrecto
2. Incorrecto
3. Opcién correcta4.- Tipos de datos.
Caso practico
Juan le ha pedido a Ana que repase cada una de
las relaciones y en funcién de los datos que
contenga cada atributo, elija el tipo de datos mas
adecuado. Mas adelante habrd que restringir
esos valores para que al introducir datos no se
produzcan errores. Los tipos de datos ocupan
espacio en el disco duro del __servidor donde
se guarde y pueden hacer qlie el acceso sea
mas lento, asi que hay que optimizar.
2ucain (Ube easton)
‘Ademas, Ana todavia recuerda aquella vez que tuvo que entregar una practica en
la facultad sobre base de datos. Guard6 el teléfono con un formato de numero y
cuando fue a imprimir un informe... ino quiere ni acordarse! Le salieron unos
numeros de teléfonos que nada tenian que ver con los datos introducidos.
zQué es un DNI? {Con qué datos lo representamos? El DNI es una informacién que es
susceptible de ser guardada. Normalmente el DNI esta formado por digitos y una letra al final. Si
tuviéramos que clasificarlo diriamos que es un conjunto de caracteres alfanuméricos. zY si
pensamos en Sueldo? Aqui lo tenemos un poco mds claro, evidentemente es un niimero entero
© con decimals.
Hasta ahora hemos visto que vamos a guardar informacién relacionada en forma de filas y
columnas, Las columnas son los atributos 0 informacién que nos interesa incluir del mundo real
que estamos modelando.
Hemos visto que esos atributos se mueven dentro de un dominio, que formalmente es un
conjunto de valores. Pues bien, en términos de sistemas de base de datos, se especifica
indicando el tipo de dato (de forma general) y el conjunto de valores que puede tomar (de forma
restringida). E| conjunto de valores restringidos se le indicara en la definicién de la tabla si el
SGBD lo permite.
Por ejemplo para un atributo que va a guardar el género (M masculino o F femenino), el tipo de
datos serd caracter o texto de longitud 1. Los valores posibles M o F se indicaran en la
definicién de la tabla.
Al crear la relacién (tabla) decidimos qué conjunto de datos deberd ser almacenado en los
atributos de las filas. Tenemos que asignar un tipo de dato a cada atributo.
Con la asignacién de tipos de datos, también habremos seleccionado un dominio para cada
atributo.
Cada campo:
¥ debe poser un Nombre (relacionado con los datos que va a contener) y
¥ debe tener asociado un Tipo de dato que determinaré qué valores puede tomar y qué
operaciones se pueden realizar con ellos.
También podría gustarte BD Unidad03 PDF
Aún no hay calificaciones
BD Unidad03
54 páginas