Advertisement
Guest User

Untitled

a guest
Mar 13th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.50 KB | None | 0 0
  1. <%@ page contentType="text/html" pageEncoding="UTF-8" %>
  2. <%@ page import="java.io.*" %>
  3. <%@ page import="java.sql.*" %>
  4. <%@ page import="org.sqlite.*" %>
  5. <%!
  6. public class Database
  7. {
  8. private Connection _Conn;
  9. private Statement stat;
  10. private String path_abs;
  11. public Database( String path )
  12. throws ClassNotFoundException, SQLException
  13. {
  14. this._Conn = null;
  15.  
  16. File dbfile = new File( path );
  17.  
  18. if( !dbfile.exists() || dbfile.isDirectory() )
  19. this.createDatabase();
  20. else
  21. {
  22. Class.forName( "org.sqlite.JDBC" );
  23. this._Conn = DriverManager.getConnection( "jdbc:sqlite:" + path );
  24. }
  25. }
  26.  
  27. public void createDatabase()
  28. {
  29. this.path_abs = getServletContext().getRealPath("/");
  30. Class.forName("org.sqlite.JDBC");
  31. this._Conn = DriverManager.getConnection( "jdbc:sqlite:" + path_abs + "database.db" );
  32. stat = _Conn.createStatement();
  33.  
  34. stat.executeUpdate(
  35.  
  36. "CREATE TABLE `aktualnosci` (" +
  37. " `id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  38. "`data` DATE NOT NULL," +
  39. "`tresc` TEXT NOT NULL," +
  40. "`id_klasa` INTEGER NOT NULL" +
  41. ");"
  42. );
  43.  
  44. stat.executeUpdate(
  45. "CREATE TABLE `przedmiot` (" +
  46. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  47. "`nazwa` VARCHAR(50) NOT NULL UNIQUE," +
  48. "`opis` TEXT DEFAULT NULL" +
  49. ");"
  50. );
  51.  
  52. stat.executeUpdate(
  53. "CREATE TABLE `sala` (" +
  54. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  55. "`numer` VARCHAR(8) NOT NULL," +
  56. "`budynek` VARCHAR(45) DEFAULT NULL," +
  57. "`opis` TEXT DEFAULT NULL" +
  58. ");"
  59. );
  60.  
  61. stat.executeUpdate(
  62. "CREATE TABLE `miejscowosc` (" +
  63. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  64. "`nazwa` VARCHAR(60) NOT NULL," +
  65. "`kod_pocztowy` CHAR(6) NOT NULL DEFAULT '00-000'," +
  66. "`oddzial` VARCHAR(100) NOT NULL" +
  67. ");"
  68. );
  69.  
  70. stat.executeUpdate(
  71. "CREATE TABLE `profil` (" +
  72. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  73. "`nazwa` VARCHAR(70) NOT NULL UNIQUE," +
  74. "`opis` TEXT DEFAULT NULL" +
  75. ");"
  76. );
  77.  
  78. stat.executeUpdate(
  79. "CREATE TABLE `uzytkownik` (" +
  80. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  81. "`imie` VARCHAR(50) NOT NULL," +
  82. "`nazwisko` VARCHAR(60) NOT NULL," +
  83. "`pesel` CHAR(11) NOT NULL," +
  84. "`data_urodzenia` DATE NOT NULL," +
  85. "`telefon` VARCHAR(20) DEFAULT NULL," +
  86. "`email` VARCHAR(60) DEFAULT NULL," +
  87. "`ulica` VARCHAR(60) DEFAULT NULL," +
  88. "`numer` VARCHAR(10) NOT NULL," +
  89. "`id_miejscowosc` INTEGER NOT NULL REFERENCES miejscowosc(id)," +
  90. "`typ` SMALLINT NOT NULL," +
  91. "`login` VARCHAR(255) NOT NULL," +
  92. "`haslo` VARCHAR(255) NOT NULL" +
  93. ");"
  94. );
  95. stat.executeUpdate(
  96. "CREATE TABLE `klasa` (" +
  97. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  98. "`nr_klasy` VARCHAR(15) NOT NULL," +
  99. "`rok_szkolny` INTEGER NOT NULL," +
  100. "`id_sala` INTEGER NOT NULL REFERENCES sala(id)," +
  101. "`id_wychowawca` INTEGER NOT NULL REFERENCES pracownik(id)," +
  102. "`id_profil` INTEGER DEFAULT NULL REFERENCES profil(id)" +
  103. ");"
  104.  
  105. );
  106.  
  107. stat.executeUpdate(
  108. "CREATE TABLE `zajecia` (" +
  109. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  110. "`id_przedmiot` INTEGER NOT NULL REFERENCES przedmiot(id)," +
  111. "`id_sala` INTEGER NOT NULL REFERENCES sala(id)," +
  112. "`id_klasa` INTEGER NOT NULL REFERENCES klasa(id)," +
  113. "`id_nauczyciel` INTEGER NOT NULL REFERENCES pracownik(id)," +
  114. "`ilosc` SMALLINT NOT NULL DEFAULT 1" +
  115. ");"
  116. );
  117.  
  118. stat.executeUpdate(
  119. "CREATE TABLE `terminarz` (" +
  120. "`id_zajecia` INTEGER NOT NULL REFERENCES zajecia(id)," +
  121. "`data` DATE NOT NULL," +
  122. "`typ` SMALLINT NOT NULL" +
  123. ");"
  124. );
  125.  
  126. stat.executeUpdate(
  127. "CREATE TABLE `ocena` (" +
  128. "`id_zajecia` INTEGER REFERENCES zajecia(id)," +
  129. "`id_uczen` INTEGER REFERENCES uzytkownik(id)," +
  130. "`ocena` NUMERIC(2,1) NOT NULL," +
  131. "`data` DATE NOT NULL" +
  132. ");"
  133. );
  134.  
  135. stat.executeUpdate(
  136. "CREATE TABLE `uwaga`(" +
  137. "`id_zajecia` INTEGER PRIMARY KEY AUTOINCREMENT REFERENCES zajecia(id)," +
  138. "`id_uczen` VARCHAR(50) NOT NULL REFERENCES uzytkownik(id)," +
  139. "`tresc` TEXT" +
  140. ");"
  141. );
  142.  
  143. stat.executeUpdate(
  144. "CREATE TABLE `obecnosci`(" +
  145. "`id_zajecia` INTEGER NOT NULL REFERENCES zajecia(id)," +
  146. "`id_uczen` INTEGER NOT NULL REFERENCES uzytkownik(id)," +
  147. "`typ` SMALLINT NOT NULL," +
  148. "`data` DATE NOT NULL" +
  149. ");"
  150. );
  151. stat.executeUpdate(
  152. "CREATE TABLE `logi`(" +
  153. "`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
  154. "`id_user` INTEGER REFERENCES uzytkownik(id)," +
  155. "`typ` TINYINT" +
  156. ");"
  157. );
  158.  
  159. stat.close();
  160. _Conn.close();
  161.  
  162. }
  163.  
  164. public void close()
  165. throws SQLException
  166. {
  167. if( this._Conn != null )
  168. this._Conn.close();
  169. }
  170.  
  171.  
  172.  
  173.  
  174. }
  175. %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement