Logo Studenta

30092-S04-PRESENTACION - July Luo

¡Este material tiene más páginas!

Vista previa del material en texto

SESIÓN /4
EL MODELO LÓGICO RELACIONAL
PRINCIPALES CARACTERÍSTICAS DE LA PK Y LA FK
/ EL DISEÑO LÓGICO
/ MODELO RELACIONAL
/ CONCEPTOS BÁSICOS
/ CLAVE PRIMARIA
/ CLAVE FORÁNEA
/ EJEMPLO DE CLAVE PRIMARIA Y FORÁNEA
NOMBRE DEL CURSO  SESIÓN XX
© ISIL. Todos los derechos reservados
1
/ INTRODUCCIÓN
En esta sesión desarrollaremos los siguientes conceptos:
 
El Diseño Lógico
El Modelo Lógico Relacional
Conceptos:
Tabla, Fila, campo o atributo
Dominio
Clave Primaria y Clave Foránea
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
EL DISEÑO LÓGICO
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
3
/ DISEÑO LÓGICO
El diseño lógico parte del esquema conceptual y se obtiene como resultado de la aplicación de una Tecnología. 
Los modelos lógicos más utilizados son: 
Redes 
Jerárquico 
Relacional 
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Un esquema lógico es una descripción de la estructura de la base de datos que puede procesar el software de DBMS. Un modelo lógico es un lenguaje usado para especificar esquemas lógicos. El Modelo Lógico es el siguiente paso en el proceso de diseño de la Base de Datos. Es la consecuencia de haber transformado el Modelo Conceptual, utilizando reglas de transformación.
En el Modelo Lógico se ven más detalles que en el Modelo Conceptual, aunque todavía no se ha elegido el DBMS con que se va a implementar la Base de Datos.
4
MODELO RELACIONAL
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
5
/ EL MODELO RELACIONAL
Esta basado en una lógica matemática y en la teoría conjuntos. 
Postulado en1970 por Edgar Codd, de los laboratorios IBM en San José (California).
Su idea fundamental es el uso de relaciones entre entidades, las cuales se basan en el concepto de la Clave Primaria (Primary Key o PK) y la Clave Foránea (Foreign Key o FK).
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
En la década de los 60 la Tecnología que predominaba en el Modelo Lógico de las Bases de Datos era el Jerárquico, que para entonces lo usaba la compañía IBM, que era la que dominaba el mercado prácticamente. A las finales de dicha década, se presenta Edgard Codd planteando una nueva forma de diseñar bases de datos. Codd se basó en una teoría matemática para demostrar un nuevo modelo llamado relaciónal; este modelo a diferencia del Jerárquico, era más flexible y además elegante en su demostración; a los directivos de la IBM les pareció interesante, pero sin embargo no lo tomaron en cuenta porque ya tenían un modelo que funcionaba bien y no tenían por qué cambiarlo, ya que ello implicaba invertir dinero y tiempo, así es que Codd tuvo que esperar un tiempo más. Cuando comienzan a aparecer las computadoras pequeñas, la IBM no le hizo mayor caso, pero sin embargo, el tiempo que estas pequeñas computadoras comenzaron a ser muy populares, entre los usuarios que no podían adquirir un computador grande; estos pequeños usuarios sólo podían acceder a los servicios de las computadoras grandes para que les procesaran dar sus datos, ya que no podían adquirir un computador de esa naturaleza. Pero cuando aparecen estas pequeñas computadoras estos usuarios volcaron su interés en ellas, y poco a poco fue creciendo la cantidad de usuarios que se inclinaban a estas pequeñas computadoras, que también iban creciendo en capacidad y potencia. Es así que la IBM se dio cuenta de que ese era el futuro; luego, decidieron embarcarse en la aventura de las PC’s. Es así como nace la primera PC de la IBM y también empieza su primer problema; no podían implementar una base de datos jerárquica en una PC, ya que el modelo no se acomodaba, estaba pensado para grandes computadoras y no para pequeñas. Es allí donde surge la necesidad de recurrir a Codd, que hace algún tiempo había planteado una alternativa diferente. A consecuencia de ello nace la pc junior de la IBM y también el primer modelo relacional en una base de datos. A partir de ese entonces la historia cambió y poco a poco el modelo relacional se fue haciendo importante en el mundo de las bases de datos.
6
/ EL MODELO RELACIONAL
En el modelo relacional los datos tienen una estructura de registros de longitud fija con un número fijo de campos o atributos. Los datos se representan en formato de filas y columnas. 
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
La base del modelo relacional es la tabla o relación, un ordenamiento rectangular de filas y columnas de los valores de los datos.
7
CONCEPTOS BÁSICOS
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
8
/ CONCEPTOS BÁSICOS/ TABLA
La estructura fundamental del modelo relacional es la tabla bidimensional constituida por: 
Filas (registros o tuplas) 
Columnas (campos o atributos)
Representación gráfica de una tabla en el modelo lógico:
Nombre de la tabla
Campos
Llave Primaria
Línea que divide la llave primaria del resto de campos
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Las relaciones representan las entidades que se consideran interesantes en la base de datos. 
Cada instancia de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la relación representan las propiedades de la entidad. 
Las relaciones representan las entidades que se consideran interesantes en la base de datos. Por ejemplo, si en la base de datos se tienen que representar personas, podrá definirse una relación llamada "Personas", cuyos atributos describen las características de las personas. Cada tupla de la relación "Personas" representará una persona concreta. 
Por ejemplo, la relación: Personas (DNI, nombre, apellido, sexo, estado Civil, fecha Nacimiento) es apenas una definición de la estructura de la tabla, es decir su nombre y la lista de atributos que la componen. Si esta estructura se puebla con datos, entonces tendremos una lista de valores individuales para cada tupla, atributo por atributo.
9
/ CONCEPTOS BÁSICOS/ TABLA/ FILA
Las filas, registros o tuplas en una tabla son un conjunto en el sentido matemático del término.
Es una colección no ordenada de elementos diferentes que tienen atributos.
Tupla
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Para distinguir una tupla de otra, se recurre al concepto de "llave primaria", un atributo o conjunto de atributos que permiten identificar unívocamente una tupla en una relación (en el ejemplo, el atributo DNI cumple con esta función). 
10
/ CONCEPTOS BÁSICOS/ TABLA/ COLUMNA
Una tabla contienen un conjunto de atributos que también se conocen como columna o campo. 
Cada atributo debe estar definido sobre un dominio 
Campo
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Los datos de cada columna proceden de su Dominio.
El dominio en el Modelo Lógico, es un conjunto muy genérico, no es muy específico, por ejemplo el campo Nombre tiene un dominio Texto, mas no se especifica si el texto es fijo o variable, o cual es su máxima capacidad.
Si fuera, por ejemplo el Precio de un producto, su dominio seria Número, pero no se especifica si es número entero, real, o que aproximación de cifras decimales tiene , etc. solo se sabe que los datos de dicho campo son numéricos.
11
/ CONCEPTOS BÁSICOS/TABLAS/DOMINIO
Cada campo o atributo de una tabla se caracteriza por un nombre y por un dominio. 
El dominio indica qué valores pueden ser asumidos por la columna de la tabla.
Son todos los valores posibles de un campo:
Para el campo Departamento del Perú, el dominio son todos los departamentos del Perú. Es un dominio finito ya que el Perú tiene 4 departamentos y una provincia constitucional.
Para el campo Nombre del Alumno, el dominio son todos los nombres posibles para un alumno. Es un dominio infinito ya que los nombres propios pueden tomar cualquier forma y cualquier combinación de letras.
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservadosA menudo un dominio se define a través de la declaración de un tipo para el atributo (por ejemplo: diciendo que es una cadena de diez caracteres), pero también es posible definir dominios más complejos y precisos. 
Por ejemplo, para el atributo "sexo" de nuestra relación "Personas" podemos definir un dominio por el cual los únicos valores válidos son 'M' y 'F'; o bien para el atributo "fechaNacimiento" podremos definir un dominio por el que se consideren válidas sólo las fechas de nacimiento después del uno de enero de 1960, si en nuestra base de datos no está previsto que haya personas con fecha de nacimiento anterior a esa. 
12
/ CONCEPTOS BÁSICOS/TABLAS/DOMINIO
Los dominios tienen un tipo en función al dato que se quiere registrar en el campo de la tabla.
En forma general podemos definir cuatro tipos de dominio para el modelo lógico: 
Texto (Ejemplo: Nombre, dirección, descripción)
Número (Ejemplo: Cantidad, Nota, Venta, edad)
Fecha (Ejemplo: Nacimiento, emisión, vencimiento)
Otros (Estados, imágenes)
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Como podemos observar estos dominios en el Modelo Lógico, son muy genéricos, es decir no se entra en muchos detalles todavía, un dominio tipo número puede ser un entero grande o pequeño real o dinero, este detalle no interesa todavía en el modelo Lógico. Posteriormente se entrará en un detalle mas específico del tipo de dato en el Modelo Físico. 
13
CLAVE PRIMARIA
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
14
/ CLAVE PRIMARIA
Una clave primaria es un campo, o una combinación de campos, que identifican de manera única un registro de una tabla. 
Éstas no pueden contener valores nulos, y su valor debe ser único (no se repite).
En el modelo conceptual se identifica el atributo identificador, el cual es un candidato a convertirse en llave primaria.
Una clave primaria se elige entre las claves candidatas que han sido diseñadas para identificar de manera única a los registros (tuplas) de una tabla.
En el diseño de base de datos contemporáneo, las claves primarias son datos numéricos definidos en el modelo lógico.
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Es un hecho que las claves juegan un papel muy importante en cualquier base de datos relacional. 
De manera simple, las claves proporcionan una manera rápida y eficiente de buscar datos en una tabla, además de que permiten preservar la integridad de los datos.
El objetivo de ello es tener una identificación única por cada registro, mediante un campo en el que no se puedan repetir los valores, claro que indirectamente las consultas son más rápidas.
Es como tu número de DNI, es único y no hay otra persona con ese mismo número. En el Sistema de la RENIEC no te conocen por tu nombre sino por tu número de DNI, y cuando hacen una búsqueda te buscan por número de DNI.
La Clave Primaria (Primary Key) es entonces un campo de una tabla, que tiene la particularidad que no se puede repetir, tu te preguntarás por qué, bueno hay datos que no se repiten o no deberían repetirse como tu DNI, tu código de Alumno ISIL o RUC, ya que ese dato te hace único en el país, y cosas como tu fecha de nacimiento, tu nombre, tu teléfono y todas esas cosas están ligadas a ella.
Luego, una Clave Primaria es un identificador. Es única e irrepetible, en estos de los asuntos de los datos es muy importante que los datos sean los más únicos, ya que te imaginas que existan dos personas con el mismo DNI y una de ellas comete un crimen, cuando hagan la demanda de arresto, se la harán a la persona con el DNI 09123456, pero como se repite las dos personas serian arrestadas, por eso se debe tener una Clave Primaria, para no tener duplicidad de datos.
Pero el concepto total y completo de una Clave Primaria no solo es este criterio de Unicidad. 
En realidad el conocimiento completo de una Clave Primaria se ira asentando a medida que nos adentremos en el Diseño y en la implementación misma de la Base datos.
15
/ CLAVE PRIMARIA/CRITERIOS DE SELECCIÓN
Criterio de UNICIDAD.- el dato es único. No se debe repetir en toda la tabla. (ejemplo: DNI, Código de cliente)
Criterio de MINIMIDAD. De las claves candidatas se elige a aquella cuyos campo ocuparán el menor espacio en bytes*. (Ejemplo: un número comparado con un nombre)
Adicionalmente, la llave primaria no debe ser nula, es decir, siempre debe tener un valor asignado (Ejemplo: no puede existir un DNI sin número de DNI).
*Cuando se estudien los tipos de datos se profundizará sobre los bytes de un campo
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
La selección de una clave primaria es muy importante en el diseño de una base de datos, ya que es un elemento clave de los datos que facilita la unión de tablas y el concepto total de una base de datos relacional.
Las claves primarias deben ser únicas y no nulas, de manera que garanticen que una fila de una tabla pueda ser siempre referenciada a través de su clave primaria.
Supongamos que tenemos una Entidad CLIENTE, Un atributo que podría ser un buen candidato a ser clave primaria, seria el RUC del cliente, ya que no se puede repetir, pero sin embargo el número del RUC es demasiado grande para el manejo de una empresa; serviría en el caso de que todas las empresas personas naturales sean nuestros clientes, pero como eso no es así, este número resulta demasiado grande para la realidad que se maneja, en todo caso el número de RUC, si les sirve como identificador a la SUNAT, ya que esta organización si maneja todos los números de RUC que existen en el país; luego para esta empresa este dato es demasiado grande; por eso crean un código de cliente a la medida de esas necesidades y este número seguro tendrá pocos dígitos, a comparación del número de ruc que sería muy grande en este caso. Entonces lo que prima en esta situación es el criterio de Minimidad.
16
CLAVE FORÁNEA
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
17
/ CLAVE FORÁNEA
También denominada FK (Foreign Key) 
Es el atributo de una entidad que la relaciona con otra entidad a través de la clave primaria de ésta. 
La clave foránea de una tabla es un atributo que es clave primaria en la entidad relacionada. 
PK (de la tabla CLIENTE)
FK (de la tabla PEDIDO)
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Como se observa en el diagrama, el atributo IdCliente es la clave primaria de la entidad CLIENTE, y se ha definido como la clave foránea de la entidad PEDIDO. 
Para que dos entidades se “relacionen” deben tener datos en común; esto es, atributos en común. Los atributos relacionados no necesitan tener el mismo nombre. Es suficiente que sus valores posibles correspondan al mismo dominio. 
18
/ CLAVE FORÁNEA/ INTEGRIDAD REFERENCIAL
El campo idCliente de la tabla PEDIDO es llave foránea (FK) y se vincula con el campo idCLiente de la tabla CLIENTE el cual es Llave primaria
Los valores a utilizar en el campo idCliente de la tabla PEDIDO deben existir en el campo idCLiente de la tabla CLIENTE
Podemos decir de manera simple que integridad referencial significa que cuando un registro en una tabla haga referencia a un registro en otra tabla a través de las claves, el valor del registro relacionado debe existir.
Por ejemplo, consideremos la relación estudiada en la diapositiva anterior, tenemos las siguientes representación de las tablas:
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Las reglas de negocio establecen que un Cliente (Instancia de la Entidad CLIENTE) , podría establecer una venta, o más. Pero una venta (Instancia de la Entidad VENTA) solo puede ser establecida por un solo cliente. Luego la cardinalidad entre CLIENTE y VENTA es de uno a Muchos.
19
/ CLAVE FORÁNEA/INTEGRIDAD REFERENCIAL
Mostrando las tablas CLIENTE y PEDIDO con sus registros y columnas
Se observa que los valores del campo idCliente (FK) de la tabla pedido corresponden a los valoresdel campo idCLiente (PK) de la tabla Cliente
PK
FK
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Para este ejemplo, el campo idCliente existe tanto en la tabla cliente como en la tabla venta. La mayoría de las veces, este campo en común debe ser una clave primaria en alguna de las tablas. Vamos a insertar algunos datos en estas tablas.
20
/ CLAVE FORÁNEA/ INTEGRIDAD REFERENCIAL
La tabla PEDIDO es hijo de CLIENTE, ya que no puede haber un pedido sin que antes se registre al cliente. 
Además, la tabla PEDIDO depende de la tabla cliente, ya que no se pueden registrar valores en el campo idCLiente de la tabla PEDIDO si antes no están registrados en el campo idCLiente de la tabla CLIENTE
Las relaciones de claves foráneas se describen como relaciones padre/hijo o de tabla independiente/dependiente
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
En nuestro ejemplo, cliente es el padre y venta es el hijo, y se dice que un registro es huérfano cuando su padre ya no existe.
Generalmente esto va ligado a un mal diseño, y puede generar otro tipo de problemas en la base de datos, por lo tanto debemos evitar esta situación siempre que sea posible.
21
/ CLAVE FORÁNEA/ INTEGRIDAD REFERENCIAL
Una clave foránea es simplemente un campo en una tabla que se corresponde con la clave primaria de otra tabla. 
Para este ejemplo, el campo id_cliente en la tabla PEDIDO es la clave foránea. 
Nótese que este campo se corresponde con el campo id_cliente en la tabla CLIENTE, en dónde este campo es la clave primaria.
Las claves foráneas tienen que ver precisamente con la integridad referencial, lo que significa que si una clave foránea contiene un valor, ese valor se refiere a un registro existente en la tabla relacionada.
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
Una clave foránea en una base de datos relacional es una clave que se usa en una tabla secundaria y que coincide con la clave primaria en una tabla primaria relacionada. Las claves foráneas pueden tener valores duplicados (multiplicidad) en la tabla secundaria, mientras que para las claves primarias eso no es posible. El uso apropiado de claves foráneas permite exigir la integridad referencial.
La integridad referencial es una limitación que se aplica a una base de datos relacional, en la que los datos y las relaciones entre ellos están organizados en tablas de filas y columnas, para que no se introduzcan datos inconsistentes. La mayoría de los sistemas gestores de bases de datos relacionales definen reglas de integridad referencial que los programadores aplican cuando crean las relaciones entre dos tablas.
Básicamente, la integridad referencial dice que una base de datos no puede tener valores de claves foráneas sin pareja. Una clave foránea es una columna en una tabla de base de datos que tiene valores que están en la columna de clave primaria, un identificador único que identifica una fila en una tabla, en otra tabla. Por ejemplo, considera una tabla de base de datos llamada "departamento", en la que hay una columna llamada "número de departamento" como clave primaria. Se relaciona con otra tabla llamada "empleado", donde "número de departamento" es una clave foránea. Un empleado no puede pertenecer a un determinado departamento si el "número de departamento" correspondiente no existe ya en la tabla "departamento". Si el programa que añade los empleados fuerza la integridad referencial, cualquier intento por insertar un empleado en un departamento desconocido no podrá realizarse.
22
EJEMPLO DE CLAVE PRIMARIA Y FORÁNEA
NOMBRE DEL CURSO  SESIÓN XX
© 2018 ISIL. Todos los derechos reservados
23
Cada entidad tiene una clave primaria o campo llave que identifica unívocamente al conjunto de datos. 
Cuando en una entidad figura la clave primaria de otra entidad, ésta se denomina clave foránea. 
Las entidades se relacionan entre sí a través de las claves foráneas. 
Ejemplo de Clave Primaria y 
Clave Foránea
Haga clic para modificar el estilo de título del patrón
Si se quisiera conocer los datos de un Cliente al cual le corresponde una Factura, al conocer los datos de una Factura, podemos conocer al Código del Cliente que le corresponde dicha Factura, y con ese código de cliente, nos podemos referir con dicho código del cliente en la Tabla Clientes y allí encontraremos los datos completos del cliente al que le corresponde dicha factura.
24
 
Retomando la Definición de Base de Datos, la cual señala que ésta “...es un conjunto de datos relacionados entre sí y que tienen un significado implícito”
Se observa en la imagen que los datos de las tablas se relacionan a través de las claves y que estos tienen el significado implícito que se les atribuye en dicho contexto. 
Haga clic para modificar el estilo de título del patrón
Además de asegurar que estas referencias entre los datos están intactas y son válidas, definir la integridad referencial de una base de datos tiene muchas ventajas. La integridad referencial usa el código existente en un motor de base de datos en lugar de pedir a los programadores que escriban código de programa personalizado desde cero. Como resultado, el desarrollo de programas es más rápido, menos propenso a errores y consistente entre varios programas de aplicación que acceden a la base de datos.
25
El objetivo de esta sesión fue conocer como funciona el Modelo Lógico relacional.
Queda claro que la Clave primaria es el elemento principal de este modelo, ya que junto a la Clave foránea se logra construir un Modelo con relaciones de integridad referencial.
Ahora podrás aplicar estos conocimientos y convenciones de los gráficos usados para representar un modelo Lógico, en diferentes realidades.
Conclusión
Haga clic para modificar el estilo de título del patrón
26
CLIENTE
idCliente (PK)
nomCliente
Direccion
Ciudad
email
CLIENTEPEDIDO
idCliente (PK)numPedido
nomClientefechaPedido
DireccionidCliente (FK)
Ciudad
email
CLIENTEFACTURAPRODUCTO
CodigoClienteNumeroFacturaCodigoProducto
NombreClienteFechaEmisionDescripcionProducto
ApellidoClienteCodigoClientePrecioLista
DireccioClienteCodigoProductoStock
TelefonoClienteCantidad
PrecioVenta
Impuesto
Total

Continuar navegando