Modelo físico
Etapas mínimas del diseño de un BDR:
Modelo conceptual (diagrama principal, entidades principales vínculos).
Modelado lógico (diagrama relaciones y asociaciones (relación))
Modelado físico (diagrama tablas/relaciones y asociaciones)
+Tipo de dato (estándar/rdbms).
+Llaves foráneas (integridad referencial)
+Tablas derivadas (transitivas, históricos, catálogos, auditoria, (vistas)).
Tipo Dato: SQL 92.
Datos primitivos:
• Numéricos
o NUMERIC
• Caracteres
o CHAR
o VARCHAR
o TEXT
• Tiempos
o DATE
o TIME
• Especiales
o BIT (DOS OPCIONES)
o BLOB (IMÁGENES, MULTIMEDIA)
o ….
Númericos
NUMERIC(3,2) -9.99 al 9.99 (En otros manejadores son float, double, decimal…) *3 longitud, los cuales 2 van a ser decimales.
NUMERIC(3,0) -999 al 999 (En otros manejadores son: int, integer, smallint, bigint, tinyint…) *3 enteros
NUMERIC(3) (NO USAR YA QUE ES MUY ABIERTA Y VALIDARLO ES SER DIFICIL).
.333, 333, 3.33, 33.3 *Puedes ser cualquier numero de longitud 3.
Caracteres (A-Z, 0-9, CARACT. ESPECIALES)
CHAR & VARCHAR
CHAR(10) ‘Ana ‘ (ocupa toda la longitud) (ocupa 1 byte = 10 byte)
VARCHAR(10) ‘Ana’ (ocupa solo la longitud que se ingresa)(ocupa 1byte + 2 byte, en este caso 3+2 = 5 byte)
Código CHAR(5)
‘02520’
Byte=5
Código VARCHAR(5)
‘02520’
Byte=7
*varchar no importa si le ponemos 250 o menos ya que se adapta. Siempre y cuando la longitud que ingreso sea menor a lo establecido.
CHAR se usa cuando siempre sé la long que va a tomar, siempre sea la misma para todos los registros.
Código postal
RFC
CURP
Número de cuenta
Numero de bolera.
Carácter vs Número: se decide si voy a realizar operaciones con él.
Teléfono: 55514214 carácter.
Número cel. CDMX CHAR.
Teléfono contacto: VARCHAR (ya que no se sabe la longitud fija, debido a la lada y si es celular o local, etc.).
“La long máx CHAR/VARCHAR 255”
Ahora TEXT:
longitud>255 (estándar TEXT= similar VARCHAR)
No funcionan con funciones de agregado 92 (DATA-LENGHT, SUBSTRING, TRIM).
*Se utiliza cunado no se va a realizar búsquedas.
Tiempos
DATE para Fechas completas. 2000/12/12 (año/mes/día)
TIME para hora
11:47:25:000 (hora: minuto: segundo: micro segundo)
11:47:25:00 (en ocasiones los microsegundos son 2 o 3 dígitos).
DATETIME (fecha con su tiempo) * no utilizar aún.
2000/12/12 11:45:00:00
Llave primaria (longitud corta y que sea un numero por lo que debe ser NUMERIC).
Una llave foránea de una tabla transitiva debe tener la misma longitud que las llaves primarias.
IMPLEMENTACIÓN DE FK
EN RELACIÓN 1:1
*Ira en la tabla que describe la llave principal de la otra tabla.
EN LA RELACIÓN 1:M
*La llave principal de la tabla 1 va pasar como FK a la tabla de M.
EN LA RELACIÓN M:M
*SE ROMPE LA RELACIÓN Y SE CREA UNA TABLA TRANSITIVA como ambas id,
tarjetaxusuario
Modelo conceptual (diagrama principal, entidades principales vínculos).
Modelado lógico (diagrama relaciones y asociaciones (relación))
Modelado físico (diagrama tablas/relaciones y asociaciones)
+Tipo de dato (estándar/rdbms).
+Llaves foráneas (integridad referencial)
+Tablas derivadas (transitivas, históricos, catálogos, auditoria, (vistas)).
Tipo Dato: SQL 92.
Datos primitivos:
• Numéricos
o NUMERIC
• Caracteres
o CHAR
o VARCHAR
o TEXT
• Tiempos
o DATE
o TIME
• Especiales
o BIT (DOS OPCIONES)
o BLOB (IMÁGENES, MULTIMEDIA)
o ….
Númericos
NUMERIC(3,2) -9.99 al 9.99 (En otros manejadores son float, double, decimal…) *3 longitud, los cuales 2 van a ser decimales.
NUMERIC(3,0) -999 al 999 (En otros manejadores son: int, integer, smallint, bigint, tinyint…) *3 enteros
NUMERIC(3) (NO USAR YA QUE ES MUY ABIERTA Y VALIDARLO ES SER DIFICIL).
.333, 333, 3.33, 33.3 *Puedes ser cualquier numero de longitud 3.
Caracteres (A-Z, 0-9, CARACT. ESPECIALES)
CHAR & VARCHAR
CHAR(10) ‘Ana ‘ (ocupa toda la longitud) (ocupa 1 byte = 10 byte)
VARCHAR(10) ‘Ana’ (ocupa solo la longitud que se ingresa)(ocupa 1byte + 2 byte, en este caso 3+2 = 5 byte)
Código CHAR(5)
‘02520’
Byte=5
Código VARCHAR(5)
‘02520’
Byte=7
*varchar no importa si le ponemos 250 o menos ya que se adapta. Siempre y cuando la longitud que ingreso sea menor a lo establecido.
CHAR se usa cuando siempre sé la long que va a tomar, siempre sea la misma para todos los registros.
Código postal
RFC
CURP
Número de cuenta
Numero de bolera.
Carácter vs Número: se decide si voy a realizar operaciones con él.
Teléfono: 55514214 carácter.
Número cel. CDMX CHAR.
Teléfono contacto: VARCHAR (ya que no se sabe la longitud fija, debido a la lada y si es celular o local, etc.).
“La long máx CHAR/VARCHAR 255”
Ahora TEXT:
longitud>255 (estándar TEXT= similar VARCHAR)
No funcionan con funciones de agregado 92 (DATA-LENGHT, SUBSTRING, TRIM).
*Se utiliza cunado no se va a realizar búsquedas.
Tiempos
DATE para Fechas completas. 2000/12/12 (año/mes/día)
TIME para hora
11:47:25:000 (hora: minuto: segundo: micro segundo)
11:47:25:00 (en ocasiones los microsegundos son 2 o 3 dígitos).
DATETIME (fecha con su tiempo) * no utilizar aún.
2000/12/12 11:45:00:00
Llave primaria (longitud corta y que sea un numero por lo que debe ser NUMERIC).
Una llave foránea de una tabla transitiva debe tener la misma longitud que las llaves primarias.
IMPLEMENTACIÓN DE FK
EN RELACIÓN 1:1
*Ira en la tabla que describe la llave principal de la otra tabla.
EN LA RELACIÓN 1:M
*La llave principal de la tabla 1 va pasar como FK a la tabla de M.
EN LA RELACIÓN M:M
*SE ROMPE LA RELACIÓN Y SE CREA UNA TABLA TRANSITIVA como ambas id,
tarjetaxusuario
idTarjeta
FK, PK = PF
idUsuario
FK,PK = PF
Integridad referencial Este tipo de integridad es el que nos permite lograr que los datos al estar relacionados, guarden ciertas restricciones, las cuales son
Integridad referencial Este tipo de integridad es el que nos permite lograr que los datos al estar relacionados, guarden ciertas restricciones, las cuales son
ON DELETE CASCADE: Si se elimina la tabla con PK se elimina
todo con FK.
*Este tipo de restricción nos dice que si al padre se le borra, los datos hijos relacionados también se borrarán
*Este tipo de restricción nos dice que si al padre se le borra, los datos hijos relacionados también se borrarán
ON DELETE RESTRICT: Si se elimina la tabla con PK no se
elimina todo con FK.
*Si existe un padre, este no se podrá borrar hasta no borrar los datos hijos relacionados
*Si existe un padre, este no se podrá borrar hasta no borrar los datos hijos relacionados
ON UPDATE CASCADE: Si se actualiza la tabla con PK se
actualiza todo con FK.
*Muchas veces se querrá modificar información en un tabla, es decir actualizar; en este caso si el padre tiene datos hijos relacionados, se podrá hacer la actualización sin ningún problema.
*Muchas veces se querrá modificar información en un tabla, es decir actualizar; en este caso si el padre tiene datos hijos relacionados, se podrá hacer la actualización sin ningún problema.
ON UPDATE RESTRICT: Si se actualiza la tabla con PK no se
actualiza todo con FK
*Si el padre tiene datos hijos relacionados, no se podrán hacer las actualizaciones hasta liberar a sus datos hijos relacionados.
Comentarios
Publicar un comentario