El hecho de que no ha cumplido con los requisitos descritos en el párrafo 2 aquí: la respuesta de Sergey Sychyov a ¿Qué se supone que debo hacer para resolver este ejercicio de programación (ver los detalles)?
El problema aquí no está en la cantidad de tablas en su base de datos, sino en el enfoque en sí. Estás escribiendo un programa único.
¿Qué hará cuando haya nuevos requisitos (siempre aparecen en el desarrollo de software), por ejemplo, agregar el descuento que se aplica con la compra de libros del autor determinado.
- Cómo pasar del desarrollo de software al aprendizaje automático / análisis de datos
- ¿Debo elegir Python o Go para mi primer proyecto de back-end hobby?
- ¿Cómo se podrían rediseñar NNTP y Usenet para que sean más relevantes hoy?
- ¿Qué debe hacer un desarrollador que comienza en un nuevo equipo en los primeros 90 días?
- ¿Por qué la mayoría de los desarrolladores de software junior están presionados por más trabajo por una pequeña cantidad de dinero en comparación con otros puestos en la misma industria?
¿Y qué pasa si necesita introducir la noción de “género” para que el comprador pueda elegir libros sobre ciencia ficción (historia, biología, etc.) escritos en un año determinado y con un precio que no supere los $ 9.
Como hay libros digitales y en papel, su Cliente, por supuesto, querrá especificarlo. Y debido a que hay diferentes formatos de libros electrónicos (epub, pdf, etc.), estas propiedades también deben especificarse. Los libros de papel tienen diferentes portadas (duras, blandas).
Por eso, cada vez que su Cliente potencial quiere mejorar el producto, su estructura se vuelve confusa para él. Cada modificación requerirá mucho esfuerzo y aún más, su código de Java tendrá que ser reescrito después de cada modificación. Terminarás escribiendo un nuevo programa cada vez.
Debe almacenar sus propiedades de manera que cada vez que agregue una nueva entidad, su código permanezca igual. Esta será la mejor práctica.