Articles of diseño de base de datos

¿Por qué el oracle es sensible a mayúsculas y minúsculas?

¿Hay alguna razón por la cual Oracle distingue entre mayúsculas y minúsculas y otras como SQL Server, y MySQL no son por defecto? Sé que hay formas de habilitar / deshabilitar la distinción entre mayúsculas y minúsculas, pero parece extraño que Oracle difiera de otras bases de datos. También estoy tratando de entender las razones […]

Diseño de base de datos para registro de auditoría

Cada vez que necesito diseñar una nueva base de datos, dedico bastante tiempo a pensar en cómo debo configurar el esquema de la base de datos para mantener un registro de auditoría de los cambios. Aquí ya se han formulado algunas preguntas al respecto, pero no estoy de acuerdo en que haya un mejor enfoque […]

¿Cómo deberían almacenarse las direcciones geográficas internacionales en una base de datos relacional?

Dada la tarea de almacenar direcciones geográficas internacionales en una tabla relacional, ¿cuál es el esquema más flexible? ¿Debería dividirse cada parte de la dirección en sus propios campos, o debería ser más como texto libre? ¿Tiene algún sentido separar la dirección con diferentes formatos en diferentes tablas? Por ejemplo, ¿tiene una tabla para USAAddress, […]

SQL Server: el número máximo de filas en la tabla

Desarrollo software que almacena una gran cantidad de datos en una de sus tablas de bases de datos (SQL Server versión 8, 9 o 10). Digamos que aproximadamente 100,000 registros se insertan en esa tabla por día. Esto es alrededor de 36 millones de registros por año. Por temor a perder en el rendimiento, decidí […]

MySQL – Supertipo / Subtipo de diseño

Necesito crear la siguiente base de datos: Para las semirremolques no necesito subtipos adicionales, mientras que para el auto necesito tener solo esos 3 subtipos y también para Sedán necesito los cuatro subtipos. Para SELECT usaré JOIN (base de datos normalizada) pero necesito encontrar una manera fácil de hacer INSERT. La mesa del vehículo almacena […]

¿Cómo diseño una base de datos para almacenar propiedades, seleccionando atributos por sinónimos?

Estoy diseñando una base de datos para una aplicación de bienes raíces. Está demostrando ser más complicado de lo que había anticipado (tal vez estoy complicando las cosas). Los problemas se deben esencialmente a la presencia de: sinónimos Por ejemplo, los términos: piso, apartamento y penthouse pueden referirse esencialmente al mismo tipo de propiedad atributos […]

¿Cómo manejas el polymorphism en una base de datos?

Ejemplo Tengo Person , SpecialPerson y User . Person y SpecialPerson son solo personas: no tienen un nombre de usuario o una contraseña en un sitio, pero se almacenan en una base de datos para el mantenimiento de registros. El usuario tiene todos los mismos datos que Person y potencialmente SpecialPerson , junto con un […]

Hash Collision: ¿cuáles son las posibilidades?

Tengo un código en mi sitio con PHP que crea un hash aleatorio (usando sha1() ) y lo uso para unir registros en la base de datos. ¿Cuáles son las posibilidades de una colisión? Si genero el hash, primero verifique si está en la base de datos (prefiero evitar una consulta adicional) o insértelo automáticamente, […]

¿Están bien los nulos en una base de datos relacional?

Existe la creencia de que los valores nulos no deben permitirse en una base de datos relacional. Es decir, el atributo (columna) de una tabla no debe permitir valores nulos. Viniendo de un fondo de desarrollo de software, realmente no entiendo esto. Parece que si null es válido dentro del contexto del atributo, entonces debería […]

Diseño de base de datos relacional múltiples tipos de usuario

Tengo 4 tipos de usuarios y cada uno tiene datos específicos, pero también comparten datos comunes, como username , password . Mi primer pensamiento es crear una tabla de users principales con la columna user_type . Luego, al consultar los datos del usuario, primero puedo seleccionar su user_type y luego, dependiendo de la output ejecutar […]