File size: 2,906 Bytes
bccba0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
import sqlite3

# Conectar a la base de datos (o crearla si no existe)
conn = sqlite3.connect("optica.db")
cursor = conn.cursor()

# Crear la tabla Roles
cursor.execute(
    """
CREATE TABLE Roles (
  id_rol INTEGER PRIMARY KEY AUTOINCREMENT,
  rol VARCHAR
)
"""
)

# Crear la tabla Boleta
cursor.execute(
    """
CREATE TABLE boleta (
  id_boleta INTEGER PRIMARY KEY AUTOINCREMENT,
  precio_total REAL,
  estado_recojo VARCHAR
)
"""
)

# Crear la tabla Cliente
cursor.execute(
    """
CREATE TABLE Cliente (
  id_cliente INTEGER PRIMARY KEY AUTOINCREMENT,
  nombres_y_apellidos VARCHAR,
  edad INTEGER,
  telefono INTEGER,
  direccion VARCHAR
)
"""
)

# Crear 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
)
"""
)

# Crear la tabla Medidas
cursor.execute(
    """
CREATE TABLE Medidas (
  id_medidas INTEGER PRIMARY KEY AUTOINCREMENT,
  Esfera_OD_lejos REAL,
  Cilindro_OD_lejos REAL,
  Eje_OD_lejos REAL,
  Agudeza_visual_OD_lejos REAL,
  Esfera_OI_lejos REAL,
  Cilindro_OI_lejos REAL,
  Eje_OI_lejos REAL,
  Agudeza_visual_OI_lejos REAL,
  Esfera_OD_cerca REAL,
  Cilindro_OD_cerca REAL,
  Eje_OD_cerca REAL,
  Agudeza_visual_OD_cerca REAL,
  Esfera_OI_cerca REAL,
  Cilindro_OI_cerca REAL,
  Eje_OI_cerca REAL,
  Agudeza_visual_OI_cerca REAL,
  id_cliente INTEGER REFERENCES Cliente(id_cliente)
)
"""
)

# Crear la tabla Prescripcion
cursor.execute(
    """
CREATE TABLE Prescripcion (
  id_prescripcion INTEGER PRIMARY KEY AUTOINCREMENT,
  id_medidas INTEGER REFERENCES Medidas(id_medidas),
  detalle_lunas VARCHAR,
  fecha VARCHAR
)
"""
)

# Crear 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 REAL,
  id_boleta INTEGER REFERENCES boleta(id_boleta),
  descripcion VARCHAR
)
"""
)

# Crear la tabla Montura
cursor.execute(
    """
CREATE TABLE Montura (
  id_montura INTEGER PRIMARY KEY AUTOINCREMENT,
  nombre_montura VARCHAR,
  imagen VARCHAR,
  marca VARCHAR,
  color VARCHAR,
  material VARCHAR
)
"""
)

# Crear 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 REAL,
  stock INTEGER,
  codigo VARCHAR
)
"""
)

# Crear 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 REAL,
  id_boleta INTEGER REFERENCES boleta(id_boleta)
)
"""
)

# Confirmar y cerrar la conexión
conn.commit()
conn.close()