47 lines
2.2 KiB
Python
47 lines
2.2 KiB
Python
import os
|
|
import sqlite3
|
|
|
|
class Datenbank_anlegen:
|
|
def __init__(self, pfad_datenbank):
|
|
self.pfad_datenbank = pfad_datenbank
|
|
self.db_anlegen()
|
|
# <test
|
|
|
|
|
|
def db_anlegen(self):
|
|
#pfad = r"C:\Users\fabia\OneDrive\Jade HS\Master\MGW2\Masterprojekt_allgemein\Masterprojekt\Programmierung\Campusnetz\Campusnetz.db"
|
|
if not os.path.exists(self.pfad_datenbank):
|
|
con = sqlite3.connect(self.pfad_datenbank)
|
|
cursor = con.cursor()
|
|
cursor.executescript("""CREATE TABLE Netzpunkte (
|
|
punktnummer TEXT(10),
|
|
naeherungx NUMERIC(9,3),
|
|
naeherungy NUMERIC(7,3),
|
|
naeherungz NUMERIC(8,3),
|
|
CONSTRAINT pk_Netzpunkte PRIMARY KEY (punktnummer)
|
|
);
|
|
|
|
CREATE TABLE Standpunkte_Tachymeter (
|
|
spID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
punktnummer TEXT(10),
|
|
orientierunghz NUMERIC(2,5),
|
|
CONSTRAINT fk_Standpunkte_Tachymeter_Netzpunkte FOREIGN KEY (punktnummer)
|
|
REFERENCES Netzpunkte(punktnummer)
|
|
);
|
|
|
|
CREATE TABLE Beobachtungen_Tachymeter (
|
|
btID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
spID INTEGER,
|
|
punktnummer TEXT(10),
|
|
hz NUMERIC(3,5),
|
|
v NUMERIC(3,5),
|
|
distanz NUMERIC(4,4),
|
|
CONSTRAINT fk_Beobachtungen_Tachymeter_Standpunkte_Tachymeter FOREIGN KEY (spID)
|
|
REFERENCES Standpunkte_Tachymeter(spID),
|
|
CONSTRAINT fk_Beobachtungen_Tachymeter_Netzpunkte FOREIGN KEY (punktnummer)
|
|
REFERENCES Netzpunkte(punktnummer)
|
|
);
|
|
|
|
""");
|
|
con.commit()
|
|
con.close() |