adsoptica / crear_tablas.py
JairoDanielMT's picture
ok
ac6e7e0
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()