Trabajo Franny

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

UNIVERSIDAD ABIERTA PARA ADULTOS

(UAPA)

Tema:
Trabajo Final

Nombre:
Franny Denis Perez Muñoz

Matricula:
100059123

Asignatura:
Sistemas base de datos

Facilitador/ar:
Roberto Burgos
Introducción:
Se ha propuesto un diseño para la base de datos de un sistema de punto de venta. El objetivo
principal de este diseño es garantizar la eficiencia, la coherencia y la integridad de los datos.
Durante la fase de diseño, se prestó especial atención a la normalización, una técnica que ayuda a
minimizar la redundancia y la duplicación.

Descripción General de las Entidades:

1. Proveedor: Representa a las entidades o individuos que suministran productos a la tienda.


2. Producto: Los artículos que se venden en la tienda.
3. Tipo_Producto: Categorías o clasificaciones de productos.
4. Cliente: Personas que compran productos de la tienda.
5. Cajero: Empleados responsables de procesar las transacciones de venta.
6. Caja: Representa la estación física donde un cajero procesa las transacciones.
7. Metodo_de_Pago: Los diferentes medios mediante los cuales un cliente puede pagar por una
compra.
8. Sucursal: Las diferentes ubicaciones físicas de la tienda.
9. Factura: Registro de una transacción de venta.
10. Factura_detalle: Detalles específicos de los productos vendidos en una factura en particular.

Normalización:

La normalización se llevó a cabo para minimizar la redundancia y garantizar la integridad


referencial. Se tomaron las siguientes medidas:

1. Primera Forma Normal (1NF):


- Todos los atributos tienen valores atómicos.
- No hay grupos repetidos de datos.

2. Segunda Forma Normal (2NF):


- Se eliminó la redundancia al asegurarse de que todos los atributos no clave dependen
completamente de la clave primaria. Por ejemplo, en la tabla "Producto", todos los atributos
dependen de "ID_producto".

3. Tercera Forma Normal (3NF):


- Se aseguró de que no hay dependencias transitivas. Por ejemplo, en la tabla original se
mencionaba una relación "Proveedor_producto", que se eliminó para evitar redundancias, ya que
ya teníamos una referencia a un proveedor directamente en la tabla "Producto".
Diagrama Final

Relaciones entre Tablas:

Las relaciones entre las tablas se establecen mediante claves foráneas (Foreign Keys):

- "Producto" tiene una relación con "Proveedor" mediante "RNC".


- "Factura" se relaciona con "Cliente" y "Cajero".
- "Factura_detalle" vincula las facturas con sus productos y métodos de pago detallados.
- "Caja" se relaciona con "Cajero" a través de "Cedula_Cajero".

Codigo SQL:

-- creando la base de datos


create database SISFAC;

-- Tablas Principales

CREATE TABLE Proveedor (


RNC INT PRIMARY KEY,
Direccion VARCHAR(255),
Nombre VARCHAR(100),
Telefono VARCHAR(20),
Correo VARCHAR(100)
);

CREATE TABLE Producto (


ID_producto INT PRIMARY KEY,
Nombre_Producto VARCHAR(100),
Cantidad_Producto INT,
Precio_Producto DECIMAL(10,2),
ITBIS DECIMAL(10,2),
Descuento DECIMAL(10,2),
ID_tipo_producto INT,
RNC INT FOREIGN KEY REFERENCES Proveedor(RNC)
);

CREATE TABLE Tipo_Producto (


ID_Tipo_Producto INT PRIMARY KEY,
Tipo_Producto VARCHAR(50)
);

CREATE TABLE Cliente (


Codigo_Tarjeta_Preferencial INT PRIMARY KEY,
Direccion_Cliente VARCHAR(255),
Nombre_Cliente VARCHAR(100),
Fecha_Nacimiento_Cliente DATE,
Correo_Cliente VARCHAR(100),
Telefono_Cliente VARCHAR(20)
);

CREATE TABLE Cajero (


Cedula_Cajero INT PRIMARY KEY,
Direccion_Cajero VARCHAR(255),
Nombre_Cajero VARCHAR(100),
Numero_Cajero INT,
Correo_Cajero VARCHAR(100),
Telefono_Cajero VARCHAR(20)
);

CREATE TABLE Caja (


Numero_Cajero INT PRIMARY KEY,
Cedula_Cajero INT FOREIGN KEY REFERENCES Cajero(Cedula_Cajero)
);

CREATE TABLE Metodo_de_Pago (


ID_Metodo_de_pago INT PRIMARY KEY,
Metodo_de_pago VARCHAR(50)
);

CREATE TABLE Sucursal (


ID_sucursal INT PRIMARY KEY,
Direccion_Sucursal VARCHAR(255)
);

-- Tablas Relacionales

CREATE TABLE Factura (


ID_Factura INT PRIMARY KEY,
Codigo_Tarjeta_Preferencial INT FOREIGN KEY REFERENCES
Cliente(Codigo_Tarjeta_Preferencial),
Cedula_Cajero INT FOREIGN KEY REFERENCES Cajero(Cedula_Cajero)
);

CREATE TABLE Factura_detalle (


ID_Factura INT FOREIGN KEY REFERENCES Factura(ID_Factura),
ID_producto INT FOREIGN KEY REFERENCES Producto(ID_producto),
ID_Metodo_de_pago INT FOREIGN KEY REFERENCES Metodo_de_Pago(ID_Metodo_de_pago),
RNC INT,
NCF VARCHAR(50),
Fecha_venta DATE,
Hora_venta TIME,
Total DECIMAL(10,2),
Total_itbis DECIMAL(10,2),
Total_descuento DECIMAL(10,2),
Total_general DECIMAL(10,2)
);

Conclusiones:

El diseño propuesto se ha normalizado hasta la Tercera Forma Normal (3NF), lo que garantiza
un nivel razonable de integridad y eficiencia. A medida que el sistema evolucione, es posible que
se requieran ajustes. Por ejemplo, si un producto puede tener múltiples proveedores, se deberá
reintroducir una tabla de relación.

También podría gustarte