0% encontró este documento útil (0 votos)
22 vistas72 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.

Cargado por

Zabusamu
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
0% encontró este documento útil (0 votos)
22 vistas72 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.

Cargado por

Zabusamu
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
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 Legal 1.- 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. Solucion 41. Incorrecto 2. Opcién correcta 3. Incorrecto 2.- 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. Correcto 2.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 SUSPENSO 2.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 i 3.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 correcta 4.- 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