CURSO de DISEÑO de BASE DE DATOS #15 📚 MODELO de DISEÑO I
Summary
TLDREn este episodio del curso de diseño de bases de datos, Jack Layton guía a los estudiantes a través del proceso de modelado de una base de datos de fábricas de chocolates y tiendas. Se discuten atributos como el nombre, dirección, nit y código, y se enfatiza la importancia de identificar correctamente las llaves primarias para evitar repeticiones. Se explora la relación de 'provee' entre fábricas y tiendas, y cómo gestionar la cardinalidad en un modelo de base de datos. Además, se sugiere la creación de tablas de relación para abordar la multiplicidad de muchos a muchos, y se ofrecen consejos para mantener la consistencia y evitar inconsistencias en los datos.
Takeaways
- 😀 El video es una lección de diseño de base de datos presentada por Jack Layton.
- 🏭 Se propone crear una base de datos de fábricas de chocolates, registrando detalles como nombre, dirección, NIT y otros atributos.
- 🔑 El NIT, que identifica legalmente a cada empresa, es considerado como una llave primaria única.
- 🍫 Se sugiere crear una entidad separada para el chocolate, incluyendo atributos como sabor y tamaño, que no corresponden directamente a la fábrica.
- 🛒 Las fábricas distribuyen chocolates a tiendas, que también se modelan con detalles como dirección, teléfono y horario de atención.
- 📊 Para las pequeñas tiendas que no tienen NIT, se utiliza un código como llave primaria para su registro.
- 🔗 La relación entre fábricas y tiendas es de muchos a muchos, ya que una fábrica puede proveer a múltiples tiendas y viceversa.
- 📋 Se debe asignar atributos que implican acciones (como precio y cantidad de chocolates) a la relación entre entidades, no a las entidades en sí.
- 🗂️ Al modelar la base de datos, se crean tablas para fábricas de chocolates y tiendas, y se establece una tabla de relación para la cardinalidad muchos a muchos.
- ❌ Se identifican problemas de consistencia cuando se repiten valores en la tabla de relación, lo que se resuelve creando una llave primaria compuesta.
Q & A
¿Qué es lo que se va a modelar en el ejercicio de diseño de base de datos mencionado en el guion?
-Se va a modelar una base de datos para una fábrica de chocolates, registrando todas las fábricas que existen en la ciudad.
¿Cuáles son algunos de los atributos que se consideran para la entidad 'fábrica de chocolates'?
-Los atributos considerados incluyen el nombre, la dirección, el NIT, el logotipo de la empresa, el representante legal y el teléfono.
¿Por qué se considera al NIT como una llave primaria para la entidad 'fábrica de chocolates'?
-El NIT es único y no se repite, cumpliendo con los requisitos de una llave primaria, que es no repetirse y no cambiar en el tiempo.
¿Qué entidades se relacionan con la 'fábrica de chocolates' y cómo se relaciona con ellas?
-La 'fábrica de chocolates' se relaciona con 'tiendas' a través de la acción de 'proveer' chocolates.
¿Qué atributos se consideran para la entidad 'tienda' y cuál es su llave primaria?
-Los atributos de la entidad 'tienda' incluyen el código, el NIT, el encargado, la dirección, el teléfono y el horario. La llave primaria es el código.
¿Qué se debe hacer cuando no se encuentra ningún atributo que cumpla con los requisitos de una llave primaria?
-Si no se encuentra un atributo que cumpla con los requisitos de una llave primaria, se debe crear uno que tenga las propiedades necesarias para evitar registros repetidos.
¿Cómo se aborda la relación de 'provee' entre 'fábrica de chocolates' y 'tienda' en términos de cardinalidad?
-La relación de 'provee' es de muchos a muchos, lo que significa que muchas fábricas pueden proveer a muchas tiendas.
¿Dónde se deben asignar los atributos relacionados con la transacción de proveer chocolates, como el precio y la cantidad?
-Estos atributos, que implican una acción, deben asignarse en la relación entre las entidades, no en las entidades 'fábrica de chocolates' o 'tienda' por sí solas.
¿Cómo se resuelve el problema de inconsistencia en la base de datos cuando se repiten valores que no deben repetirse?
-Para resolver la inconsistencia, se deben considerar atributos adicionales como elementos de llave primaria o se deben agregar más identidades para evitar la repetición de registros.
¿Qué se debe tener en cuenta al diseñar la tabla de relación en una base de datos con una relación de muchos a muchos?
-Al diseñar la tabla de relación, se debe asegurar que no haya repetición de valores de llave primaria de las entidades relacionadas y, si es necesario, se deben agregar más identidades para mantener la integridad de los datos.
Outlines
🍫 Diseño de Base de Datos para Fábricas de Chocolates
En este episodio, Jack Layton nos guía a través del proceso de diseño de una base de datos para una fábrica de chocolates. Se enfatiza la importancia de la complejidad real y la necesidad de adaptarse a diferentes situaciones legales y empresariales. Se discuten atributos como el nombre, dirección, NIT y características especiales, destacando la necesidad de un atributo único como llave primaria. Además, se introducen las entidades de 'tienda' y 'fábrica de chocolates', y se explica cómo las pequeñas tiendas pueden no cumplir con ciertos requisitos legales, lo que lleva a la creación de un atributo 'código' para su identificación. Finalmente, se establece la relación de 'provee' entre fábricas y tiendas, destacando la naturaleza de muchos a muchos y la importancia de los atributos de relación como precio, fecha y cantidad.
🗂 Conversión de Modelo a Tablas de Base de Datos
En el segundo párrafo, se aborda la conversión del modelo de identidad relación a un modelo de orden nacional, es decir, la creación de tablas en una base de datos. Se detallan las tablas 'fábrica de chocolates' y 'tienda', con sus respectivos atributos y llaves primarias. Se destaca la relación de provee y cómo se gestiona la cardinalidad de muchos a muchos entre fábricas y tiendas. Se plantea el problema de la incoherencia en la base de datos debido a la repetición de valores que no deberían repetirse y se sugiere la implementación de una llave primaria compuesta para solucionar este problema. Además, se ofrece un consejo sobre la importancia de rellenar adecuadamente las tablas de relación para evitar inconsistencias y se menciona brevemente otro caso que se abordará en futuras sesiones.
Mindmap
Keywords
💡Entidad
💡Atributos
💡Llave primaria
💡Relación
💡Cardinalidad
💡Llave foránea
💡Tabla de relación
💡Inconsistencia
💡Acción
💡Normalización
Highlights
Introducción a un nuevo episodio de diseño de base de datos
Modelado de una base de datos para una fábrica de chocolates
Identificación de atributos de la fábrica como nombre, dirección, nit y logotipo
Consideración del nit como llave primaria debido a su unicidad
Discriminación entre atributos de fábrica y atributos de chocolate
Creación de una entidad para el chocolate con atributos como sabor y tamaño
Modelado de una entidad para tiendas con atributos como dirección, teléfono y encargado
Inclusión de nit para tiendas grandes y código para tiendas pequeñas
Elección del código como llave primaria para la entidad tienda
Relación de provee entre fábricas y tiendas establecidas como de muchos a muchos
Asignación de atributos de la relación provee en una tabla independiente
Identificación de la necesidad de atributos adicionales para evitar inconsistencias
Solución de inconsistencias mediante la creación de una llave primaria compuesta
Importancia de rellenar tablas de relación para detectar repeticiones
Conclusión del diseño de la base de datos para la fábrica de chocolates
Anuncio de un nuevo caso de diseño de base de datos en el próximo episodio
Transcripts
[Música]
y
qué tal soy jack layton y bienvenidos a
un nuevo episodio de tu curso de diseño
de base de datos hoy vamos a practicar
con lo aprendido modelando una base de
datos
vamos a crear una base de datos pero a
diferencia de los ejercicios anteriores
donde considerábamos varios puntos como
dados por hechos acá vamos a subir de
nivel en este caso con la complejidad
que vamos a aplicar en este ejercicio
más que todo con un tinte real ok
bien vamos a crear una entidad el cual
vamos a llamarle fábrica de chocolates
en este caso vamos a registrar todas las
fábricas que existen en tu ciudad
ok dentro de sus atributos encontramos
el nombre la dirección el nit este
número es el que identifica a cada
empresa legalmente en un país ok
ese nombre puede cambiar dependiendo de
donde seas en mi país se le conoce con
ese nombre y una característica especial
es que precisamente este dato es único y
no se repite por lo tanto vamos a
considerarlo como una llave primaria
continuamos vamos a encontrar el logo de
la empresa el representante legal de esa
empresa y al terminar el teléfono que
otros atributos podemos considerar
podemos considerar a el chocolate el
sabor el tamaño del chocolate como
atributos pues no no porque esos
atributos no corresponden a la fábrica
ok en este caso si ese fuese el tipo de
información que se necesita entonces
vamos a crear una entidad de nombre de
chocolate y vamos a asignar precisamente
esos valores o que en este caso nos
estamos fijando simplemente en la
fábrica ok ahora bien esta fábrica
distribuye chocolates a tiendas ok esta
tienda tiene una dirección un teléfono
seguramente un horario de atención a la
vez tiene un encargado o un supervisor
de la tienda a eso vamos a añadirle que
también tiene un nit en este caso un
registro en el cual verificamos que
están legalmente ok ahora bien qué pasa
pero con las pequeñas empresas a ellas
no voy a poder distribuir los chocolates
yo creo que vamos a poder distribuir a
todo ok en este caso las tiendas
pequeñas al ser pequeñas no cumplen con
algunos requisitos vamos a decirlo de
esa manera por lo tanto es muy probable
que no tengan un nit entonces para este
ejercicio vamos a tomarlos en cuenta a
todos ok en este tipo de situación lo
que vamos a hacer es crear un atributo
de nombre código ok
de esta manera registramos a todas las
tiendas que existen en nuestra ciudad
analizando el ejercicio a quien
otorgamos la llave primaria al nyt o al
código así es al código porque gracias a
este atributo vamos a poder registrar
todas las tiendas
ok entonces si no se encuentra ningún
atributo que pueda ser candidato de
llave primaria debes adicionar otro en
el cual te permita que ese registro que
vas a introducir no se repita espero que
esta parte esté claro que cuando no
vemos un atributo que cumple con los
requisitos de una llave primaria ok que
no se repita que no cambie en el tiempo
que son requisitos de la llave primaria
entonces vamos a crear uno en el cual
vamos a darle todas esas propiedades
bien ahora vamos a continuar con este
ejercicio vamos a relacionar lo íbamos a
decir lo siguiente una fábrica de
chocolates provee chocolates a una
tienda recordemos que la relación
siempre implica una acción ok por eso
usamos provee ahora vamos a relacionarlo
ya llegando a este punto vamos a
relacionarlo con la cardinal y that en
este caso muchas fábricas de chocolates
proveen a muchas tiendas ok eso quiere
decir que la relación en cardinal y that
será de muchos a muchos bien parece que
hemos concluido pero aún podemos hacer
lo siguiente ese chocolate que vamos a
distribuir ok debe tener un precio un
número de transacción en qué fecha
provee ese ese chocolate la cantidad
etcétera etcétera donde asignamos esos
atributos en la fábrica de chocolates o
en la tienda
la respuesta es en ninguno porque estos
atributos si nos damos cuenta implican
una acción ok entonces eso quiere decir
que pertenecen a la relación provee
ahora sí bien hemos concluido con este
diagrama de identidad relación ahora
vamos a convertirlo a modo del orden
nacional vamos a crear la tabla fábrica
de chocolates donde sus atributos serán
el nyt el nombre del teléfono la
dirección representante legal y el
logotipo ok de la misma manera vamos a
considerar a cnet como llave primaria
vamos a pasar a la siguiente entidad
tienda que ahora es una tabla con los
atributos código nit encargado dirección
teléfono horario y llave primaria en
este caso va a ser código ahora vamos a
comenzar a relacionarlos para eso
creamos la tabla fábrica de chocolates
provee tienda ok como relación bien
verificamos el tipo de relación por la
cardinal y that en este caso es de
muchos a muchos entonces tomaremos en
cuenta la llave primaria de la fábrica
de chocolates y la llave primaria de la
tierra y posteriormente eso asignamos
los atributos de provee
pero aún si revisamos esta tabla puede
que tanto el nyt como el código de la
tienda puedan repetirse por ejemplo acá
notamos que cuando una fábrica provee
chocolates a una tienda otra vez vemos
que se repite el leit como el código de
esta tienda por lo tanto nuestra base de
datos es inconsistente porque se repiten
estos valores que no deben repetirse
como podemos arreglar esta situación en
este caso vamos a considerar a un
atributo como elemento de llave primaria
ok
acabamos el nombre a la fecha con esa
referencia de esta manera no vamos a
tener ya este tipo de problema si aún
así no es suficiente tomemos más
identidades para corregir ese detalle
ok los que sean necesarios un tipo
particular que te puedo dar es que
siempre pongas datos o registros en las
tablas más que todo en la tabla de
relación de esta manera te vas a dar
cuenta si un elemento se repite
ok bien en la segunda parte de este tema
vamos a tocar otro caso que puede darse
al momento de diseñar una base de datos
pero por el momento vamos a dejarlo acá
soy jack lion
no te olvides suscribirte y nos vemos en
el siguiente episodio
تصفح المزيد من مقاطع الفيديو ذات الصلة
CURSO de DISEÑO de BASE DE DATOS #8 📚 EJERCICIOS DE BD
CURSO de DISEÑO de BASE DE DATOS #9 📚 diseño de base de datos
CURSO de DISEÑO de BASE DE DATOS #4 📚 DIAGRAMAS ENTIDAD RELACION
Clase de Bases de Datos, Diseño Lógico - Transformación Modelo Entidad Relación a Modelo Relacional
💥 RELACIONES 1aN, 1a1 y NaN | Diagrama Entidad Relación (DER) | BASES DE DATOS ✅ Explicación FÁCIL
CURSO de DISEÑO de BASE DE DATOS #15 📚 MODELO de DISEÑO Il
5.0 / 5 (0 votes)