Spaces:
Paused
Paused
| import sqlite3 | |
| # Conectar a la base de datos (se creará si no existe) | |
| conn = sqlite3.connect("optica.db") | |
| cursor = conn.cursor() | |
| # Definir la tabla Roles | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Roles ( | |
| id_rol INTEGER PRIMARY KEY AUTOINCREMENT, | |
| rol VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla boleta | |
| cursor.execute( | |
| """ | |
| CREATE TABLE boleta ( | |
| id_boleta INTEGER PRIMARY KEY AUTOINCREMENT, | |
| precio_total FLOAT, | |
| estado_recojo VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Gama | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Gama ( | |
| id_gama INTEGER PRIMARY KEY AUTOINCREMENT, | |
| gama VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Cliente | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Cliente ( | |
| id_cliente INTEGER PRIMARY KEY AUTOINCREMENT, | |
| nombres_y_apellidos VARCHAR, | |
| edad INTEGER, | |
| telefono INTEGER, | |
| direccion VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Usuario | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Usuario ( | |
| id_usuario INTEGER PRIMARY KEY AUTOINCREMENT, | |
| nombre_usuario VARCHAR, | |
| dni VARCHAR, | |
| clave VARCHAR, | |
| id_rol INTEGER REFERENCES Roles(id_rol), | |
| estado VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Medidas | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Medidas ( | |
| id_medidas INTEGER PRIMARY KEY AUTOINCREMENT, | |
| Esfera_OD_lejos FLOAT, | |
| Cilindro_OD_lejos FLOAT, | |
| Eje_OD_lejos FLOAT, | |
| Agudeza_visual_OD_lejos FLOAT, | |
| Esfera_OI_lejos FLOAT, | |
| Cilindro_OI_lejos FLOAT, | |
| Eje_OI_lejos FLOAT, | |
| Agudeza_visual_OI_lejos FLOAT, | |
| Esfera_OD_cerca FLOAT, | |
| Cilindro_OD_cerca FLOAT, | |
| Eje_OD_cerca FLOAT, | |
| Agudeza_visual_OD_cerca FLOAT, | |
| Esfera_OI_cerca FLOAT, | |
| Cilindro_OI_cerca FLOAT, | |
| Eje_OI_cerca FLOAT, | |
| Agudeza_visual_OI_cerca FLOAT, | |
| id_cliente INTEGER REFERENCES Cliente(id_cliente) | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Prescripcion | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Prescripcion ( | |
| id_prescripcion INTEGER PRIMARY KEY AUTOINCREMENT, | |
| id_medidas INTEGER REFERENCES Medidas(id_medidas), | |
| lunas VARCHAR, | |
| monturas VARCHAR, | |
| fecha VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla lunas_pedido | |
| cursor.execute( | |
| """ | |
| CREATE TABLE lunas_pedido ( | |
| id_lunas_pedido INTEGER PRIMARY KEY AUTOINCREMENT, | |
| id_prescripcion INTEGER REFERENCES Prescripcion(id_prescripcion), | |
| precio FLOAT, | |
| id_boleta INTEGER REFERENCES boleta(id_boleta), | |
| descripcion VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Montura | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Montura ( | |
| id_montura INTEGER PRIMARY KEY AUTOINCREMENT, | |
| nombre_montura VARCHAR, | |
| id_gama INTEGER REFERENCES Gama(id_gama), | |
| imagen VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla Montura_inventario | |
| cursor.execute( | |
| """ | |
| CREATE TABLE Montura_inventario ( | |
| id_montura_inventario INTEGER PRIMARY KEY AUTOINCREMENT, | |
| id_montura INTEGER REFERENCES Montura(id_montura), | |
| precio_unit FLOAT, | |
| stock INTEGER, | |
| codigo VARCHAR | |
| ); | |
| """ | |
| ) | |
| # Definir la tabla montura_pedido | |
| cursor.execute( | |
| """ | |
| CREATE TABLE montura_pedido ( | |
| id_montura_pedido INTEGER PRIMARY KEY AUTOINCREMENT, | |
| id_montura_inventario INTEGER REFERENCES Montura_inventario(id_montura_inventario), | |
| cantidad INTEGER, | |
| precio FLOAT, | |
| id_boleta INTEGER REFERENCES boleta(id_boleta) | |
| ); | |
| """ | |
| ) | |
| # Guardar (commit) los cambios y cerrar la conexión | |
| conn.commit() | |
| conn.close() | |