Está en la página 1de 6

UNIVERSIDAD ALEJANDRO DE HUMBOLDT

FACULTAD DE INGENIERÍA
INGENIERÍA EN INFORMÁTICA
CÁTEDRA: DISEÑO DE SISTEMAS
SECCIÓN: DCN0501IIV1

AUDITORÍA A UNA BASE DE DATOS

Autor: Gabriel Estacio


CI: 25.221.952
Tutor: Miguel Palacios

CARACAS, JUNIO, 2021


AUDITORÍA A UNA BASE DE DATOS

Para la base de datos que se presenta a continuación se pide su optimización y


normalización de las tablas de una base de datos de un establecimiento comercial. Tome en
cuenta que no se puede eliminar tablas de la base de datos ya que esto repercute en el
funcionamiento del sistema a manejar en el establecimiento comercial. Analice lo que hace
cada tabla para poder realizar el ejercicio.

Recuerde que usted va a realizar una crítica a las diferentes tablas y mejoras que se
deben de hacer.

ARTÍCULO
1 referencia varchar(15) No 0
2 codbarra varchar(25) No 0
3 marca varchar(25) Si 0
4 departamento varchar(25) Si 0
5 nombre varchar(250) No 0
6 descrip1 text No Ninguno
7 descrip2 text Si NULL
8 created_at timestand Si NULL
9 updated_at timestand si NULL

CARRITO
1 id_user int(11) No 0
2 id_artículo int(11) No 0
3 id_precio int(11) No 0
4 id_imagen int(11) No 0
5 unidades int(11) No 0
6 created_at timestamp Si NULL
7 updated_at timestamp si NULL
DIRECCIÓN DE FACTURACIÓN
1 id_user int(11) No 0
2 nombre varchar(250) No 0
3 codpostal varchar(250) No 0
4 nident varchar(250) No 0
5 dirección varchar(250) No 0
6 created_at timestamp Si NULL
7 updated_at timestamp si NULL

STOCK
1 id_articulo int(11) No Ningun
2 id_combinacion int(11) Si NULL
3 stock int(11) No 0
4 created_at timestamp Si NULL
5 updated_at timestamp si NULL

FACTURA
1 id_user int(11) Si NULL
2 id_divisa int(11) Si NULL
3 id_dic_fact int(11) Si NULL
4 id_dic_any int(11) Si NULL
5 id_impuesto int(11) Si NULL
6 id_pago int(11) Si NULL
7 total double No NULL
8 codigo varchar(15) Si NULL
9 n_trans varchar(250) Si NULL
10 Status int(11) Si NULL
11 created_at timestand Si NULL
12 updated_at timestand si NULL

IMAGENES
1 id_articulo int(11) Si ninguna
2 Image double No ninguna
3 etiqueta varchar(15) Si NULL
4 principal varchar(250) Si 0
5 created_at timestand Si NULL
6 updated_at timestand si NULL
PAGO
1 id_divisa int(11) Si NULL
2 img varchar(500) Si NULL
3 nombre varchar(250) Si NULL
4 n_identidad varchar(250) Si NULL
5 razon varchar(250) si NULL
6 n_cuenta varchar(250) Si NULL
7 tipo varchar(250) Si NULL
8 correo varchar(250) Si NULL
9 created_at timestand Si NULL
10 updated_at timestand si NULL

PASSWORD
1 email varchar(250) No ninguna
2 token int(11) Si ninguna
3 created_at timestand Si NULL

PRECIO
1 id_articulo varchar(15) Si NULL
2 id_divisa varchar(250) Si NULL
3 precio int(11) Si NULL
4 created_at timestand Si NULL
5 updated_at timestand si NULL

Análisis de la base de datos presentada anteriormente

- Se recomienda para la tabla “Artículos” crear una columna llamada “id_articulo”, y


hacer de esta una clave primaria, y que este se le reemplace por “referencia”, y con
esto, poder enlazar los artículos con las otras tablas que contienen un “id_artículo”.
- Se recomienda en la misma tabla “Artículos”, distinguir si es realmente necesario la
columna “departamento”, ya que no hay una utilidad directa en asociar un artículo
de venta a un departamento de la empresa.
- Se recomienda para la columna “nombre” de la tabla “Artículos”, utilizar solamente
50 caracteres en el caso de que sea nombre completo, o 25 para nombre y apellido.
- En la tabla “Dirección de facturación” el “nombre” debe encontrarse entre 50 y 25,
para nombre completo o solo nombre y apellido respectivamente, del mismo modo,
“cod_postal” debe ser solamente numérico y con solo 4 dígitos para el caso de
Venezuela. El “nident” debe tener una extensión de solamente 12 caracteres, de los
cuales pertenecerán a la primera letra para venezolanos, extranjeros o jurídicos, y
sus respectivos números separados por puntos, es recomentable que “nident”
cambie su nombre a “n_ident”.

- En la tabla factura, “n_trans” debería ser solamente de 25 caracteres, los suficientes


para introducir letras o números respectivos, además factura debería incluir “razon”,
asociado al pago y para que se muestre la razón social en la factura.

- En la tabla “Imágenes”, el tipo de dato para “image” se recomienda que sea del tipo
“varbinary”, el cual es más recomendado para almacenar datos binarios como una
imagen, además de esto, se recomienda de este cambie su nombre a “img” para que
pueda ser enlazada más adelante en la tabla “pago”

- En la tabla “Pago”, se recomienda que “img” siga las mismas instrucciones de


“img” en la tabla “imágenes”, y que sea del tipo “varbinary”, el nombre, como se ha
mencionado anteriormente, debe ser de 50 caracteres en el caso de querer utilizar
nombre completo, y 25 para solo nombre y apellido, “n_identidad”, debe tener el
mismo nombre que en dirección de factura, el cual es “n_ident”, y este además con
los mismos valores de varchar con 12 caracteres, “razon”, por su parte, debe
considerarse ser varchar de 50 caracteres, “n_cuenta”, como es el caso de
Venezuela, debe ser un campo entero de 20 dígitos, en “tipo”, se recomienda
cambiar el valor a “tipo_cuenta”, y este debe ser de tipo varchar de 20 caracteres
solamente, ya que no es necesario utilizar más.

- En la misma tabla “pago”, en el campo “correo”, debe considerarse utilizar varchar


de 321 caracteres, ya que el límite universal para la longitud de los correos es de 64
caracteres en la parte local, antes del “@”, y de 255 caracteres para la parte de los
dominios después del “@”, haciendo un total de 320 caracteres, y si se cuenta el
“@”, son 321.

- En la tabla “password”, se recomienda agregar un “id_user”, este con el fin de


asociarlo con los demás “id_user” y que el usuario pueda acceder al sistema a través
de su id y su token, del mismo modo que en la tabla pago, el campo “email”,
debería cambiar su nombre a “correo”, y ser de tipo varchar de 321 caracteres.

- Se recomienda que en la tabla “precio” se le coloque un “id_precio”, el cual será de


utilidad para asociarlo con la tabla “carrito” en el que existe un “id_precio”, además
de esto, “precio” debería ser de tipo “double”.

Todas estas recomendaciones son para el fin de mejorar la base de datos, realizando una
normalización y que la base de datos funcione de una manera más optima para así poder
disfrutar de los beneficios que esta trae, sin ningún tipo de contratiempo indeseado o que
este por fuera de lo estimado. Por ende, es necesario tomar en cuenta estas
recomendaciones si se desea mejorar el funcionamiento de esta base de datos.

También podría gustarte