Visa Källkod

The following files exist in this folder. Click to view.

NamnTypStorlek
account.phpPHP Fil11.6 KB
admin.phpPHP Fil23.6 KB
authors.phpPHP Fil4.1 KB
book.phpPHP Fil5.9 KB
db_cnnt.phpPHP Fil407 B
header.phpPHP Fil1.7 KB
home.phpPHP Fil8.4 KB
index.phpPHP Fil5.3 KB
loan_handler.phpPHP Fil1.9 KB
manage_authors.phpPHP Fil4.7 KB
my_loans.phpPHP Fil6.9 KB
S.sqlSQL Fil3.3 KB
search.phpPHP Fil11 KB

S.sql

93 lines UTF-8 Unix (LF) - Type: SQL Fil
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
-- Roles Table
CREATE TABLE roll (
  roll_id INT AUTO_INCREMENT PRIMARY KEY,
  roll_namn VARCHAR(50) NOT NULL,
  INDEX idx_roll_namn (roll_namn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Users Table
CREATE TABLE användare (
  användare_id INT AUTO_INCREMENT PRIMARY KEY,
  användare_namn VARCHAR(50) NOT NULL UNIQUE,
  lösenord VARCHAR(255) NOT NULL,
  sha1_hash VARCHAR(255),
  email VARCHAR(100) NOT NULL UNIQUE,
  roll_id INT NOT NULL,
  skapad DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (roll_id) REFERENCES roll(roll_id) ON DELETE RESTRICT,
  INDEX idx_email (email),
  INDEX idx_roll_id (roll_id),
  INDEX idx_användare_namn (användare_namn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Authors Table
CREATE TABLE författare (
  författare_id INT AUTO_INCREMENT PRIMARY KEY,
  namn VARCHAR(100) NOT NULL,
  bio TEXT,
  INDEX idx_författare_namn (namn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Genres Table
CREATE TABLE genre (
  genre_id INT AUTO_INCREMENT PRIMARY KEY,
  namn VARCHAR(50) NOT NULL UNIQUE,
  INDEX idx_genre_namn (namn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Languages Table
CREATE TABLE språk (
  språk_id INT AUTO_INCREMENT PRIMARY KEY,
  namn VARCHAR(50) NOT NULL UNIQUE,
  INDEX idx_språk_namn (namn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Books Table
CREATE TABLE bok (
  bok_id INT AUTO_INCREMENT PRIMARY KEY,
  titel VARCHAR(150) NOT NULL,
  författare_id INT NOT NULL,
  genre_id INT NOT NULL,
  språk_id INT NOT NULL,
  isbn VARCHAR(20) NOT NULL,
  beskrivning TEXT,
  cover_url VARCHAR(255),
  FOREIGN KEY (författare_id) REFERENCES författare(författare_id) ON DELETE RESTRICT,
  FOREIGN KEY (genre_id) REFERENCES genre(genre_id) ON DELETE RESTRICT,
  FOREIGN KEY (språk_id) REFERENCES språk(språk_id) ON DELETE RESTRICT,
  INDEX idx_titel (titel),
  INDEX idx_isbn (isbn),
  INDEX idx_författare_id (författare_id),
  INDEX idx_genre_id (genre_id),
  INDEX idx_språk_id (språk_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Book exemplar Table
CREATE TABLE exemplar (
  exemplar_id INT AUTO_INCREMENT PRIMARY KEY,
  bok_id INT NOT NULL,
  status ENUM('available', 'loaned', 'maintenance', 'lost') NOT NULL DEFAULT 'available',
  FOREIGN KEY (bok_id) REFERENCES bok(bok_id) ON DELETE CASCADE,
  INDEX idx_bok_id (bok_id),
  INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Loans Table
CREATE TABLE lån (
  lån_id INT AUTO_INCREMENT PRIMARY KEY,
  exemplar_id INT NOT NULL,
  användare_id INT NOT NULL,
  lånedatum DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  förfallodatum DATETIME NOT NULL,
  återlämnad_datum DATETIME NULL,
  förseningsavgift DECIMAL(10,2) DEFAULT 0.00,
  förlängningar INT DEFAULT 0,
  FOREIGN KEY (exemplar_id) REFERENCES exemplar(exemplar_id) ON DELETE RESTRICT,
  FOREIGN KEY (användare_id) REFERENCES användare(användare_id) ON DELETE RESTRICT,
  INDEX idx_exemplar_id (exemplar_id),
  INDEX idx_användare_id (användare_id),
  INDEX idx_lånedatum (lånedatum),
  INDEX idx_förfallodatum (förfallodatum),
  INDEX idx_återlämnad_datum (återlämnad_datum)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;