· 5 years ago · Feb 08, 2020, 12:02 AM
1https://dbdiagram.io/d/5e3d62c09e76504e0ef12b43
2package tietokanta;
3import java.sql.*;
4
5public class Update {
6 String paikanNimi;
7
8 public void addPaikka(String paikanNimi) {
9 this.paikanNimi = paikanNimi;
10 String lause = "INSERT INTO Paikka (nimi) VALUES (?)";
11
12 try (Connection conn = DriverManager.getConnection("jdbc:sqlite:C:/Users/allu/Desktop/Exercise/testi.db")) {
13 PreparedStatement ps = conn.prepareStatement(lause);
14 ps.setString(1, paikanNimi);
15 ps.executeUpdate();
16 }
17 catch (SQLException e) {
18 System.out.println("Paikka on jo lisätty");
19 }
20 }
21}
22
23
24package tietokanta;
25
26
27import java.sql.*;
28
29
30public class CreateTable {
31
32 public void createTable(String url) throws SQLException {
33 Connection connection = DriverManager.getConnection(url);
34 Statement s = connection.createStatement();
35
36 s.execute("CREATE TABLE Asiakas (id INTEGER PRIMARY KEY, nimi TEXT UNIQUE)");
37 s.execute("CREATE TABLE Paikka (id INTEGER PRIMARY KEY, nimi TEXT NOT NULL UNIQUE)");
38 s.execute("CREATE TABLE IF NOT EXISTS Paketti (seurantakoodi TEXT PRIMARY KEY, asiakas_id INTEGER)");
39 s.execute("CREATE TABLE IF NOT EXISTS Tapahtuma (paikka_id INTEGER, paketti_seurantakoodi INTEGER, kuvaus TEXT, lisayshetki TEXT)");
40
41
42
43
44 /* ResultSet kysely = s.executeQuery("SELECT * FROM Asiakas");
45 while (kysely.next()) {
46 System.out.println(kysely.getInt("id")+" "+kysely.getString("nimi"));
47 }
48 */
49 }
50}
51**
52 *
53 * @author allu
54 */
55class CreateDatabase {
56 // Creates an empty database
57 public void createDatabase(String name) {
58 CreateTable createTables = new CreateTable();
59 // Database location
60 String url = "jdbc:sqlite:C:/Users/allu/Desktop/Exercise/" + name + ".db";
61
62 try (Connection connection = DriverManager.getConnection(url)) {
63 if (connection != null) {
64 createTables.createTable(url);
65 System.out.println("Database " + name + " has been created!");
66 }
67 }
68
69 // If there is an error
70 catch (SQLException e) {
71 System.out.println("Jotain meni vikaan!");
72 }
73 }
74}
75package tietokanta;
76
77import java.sql.*;
78import java.util.Scanner;
79
80
81
82public class Tietokanta {
83
84 public static void main(String[] args) {
85 CreateDatabase create = new CreateDatabase();
86 Update u = new Update();
87 Scanner scanner = new Scanner(System.in);
88 System.out.println("Valitse toiminto (1-9): ");
89 String vastaus = scanner.nextLine();
90
91 switch(vastaus) {
92 case "1":
93 System.out.println("Anna tietokannalle nimi: ");
94 String nimi = scanner.nextLine();
95
96 create.createDatabase(nimi);
97 break;
98 case "2":
99 System.out.println("Anna paikan nimi: ");
100 String paikanNimi = scanner.nextLine();
101 u.addPaikka(paikanNimi);
102 // Lisää paikan tietokantaan TAI antaa virheen jos paikka on jo tietokannassa
103 System.out.println("Paikka lisätty");
104 break;
105 case "3":
106 System.out.println("Anna asiakkaan nimi: ");
107 String asiakkaanNimi = scanner.nextLine();
108 // tarkastaja.nimenTarkastaja(asiakkaanNimi);
109 // Lisää asiakkaan tietokantaan TAI antaa virheen jos asiakas on jo tietokannassa
110 System.out.println("Asiakas lisätty");
111 break;
112 case "4":
113 System.out.println("Anna paketin seurantakoodi: ");
114 String seurantakoodi = scanner.nextLine();
115 // tarkastaja.seurantakoodinTarkastaja(seurantakoodi);
116 System.out.println("Anna asiakkaan nimi: ");
117 asiakkaanNimi = scanner.nextLine();
118 // tarkastaja.nimenTarkastaja(asiakkaanNimi);
119 // Lisää paketin tietokantaan tiettyyn asiakkaaseen liitettynä
120 System.out.println("Paketti lisätty");
121 break;
122 case "5":
123 System.out.println("Anna paketin seurantakoodi: ");
124 seurantakoodi = scanner.nextLine();
125 // tarkastaja.seurantakoodinTarkastaja(seurantakoodi);
126 System.out.println("Anna tapahtuman paikka: ");
127 paikanNimi = scanner.nextLine();
128 // tarkastaja.paikanTarkastaja(paikanNimi);
129 System.out.println("Anna tapahtuman kuvaus: ");
130 String tapahtumanKuvaus = scanner.nextLine();
131 // tarkastaja.kuvauksenTarkastaja(tapahtumanKuvaus);
132 // Lisää tapahtuma tietokantaan TAI antaa virheen
133 System.out.println("Tapahtuma lisätty");
134 break;
135 case "6":
136 System.out.println("Anna paketin seurantakoodi: ");
137 // Listaa tapahtumat + ajat
138 break;
139 case "7":
140 // Hakee kaikki asiakkaan paketit ja niihin liittyvien tapahtumien määrä
141 break;
142 case "8":
143
144 break;
145 case "9":
146 // Tehokkuustesti
147 break;
148 }
149 }
150
151
152}