Dodane faktyczne ksiazki,

Dodane zmienne w template z numerami pol rekordow bazy poprawiajace czytelnosc kodu
Dodane pola do tabeli w template
i chyba jeszcze cos
master
Cranix 2013-03-27 15:57:13 -04:00
parent a6efcc3ef8
commit 5144d26f36
8 changed files with 131 additions and 0 deletions

34
bin/converter.pl Executable file
View File

@ -0,0 +1,34 @@
#!/usr/bin/perl
use warnings;
use strict;
use strict 'vars';
use DBI;
my $dbfile = 'ksiazki.db';
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile", "", "");
my($id,$isbn,$title,$author,$owner,$state,$who,$can_borrow,$reserved,$comment);
open (INPUT,"ksiazki");
my $_ = <INPUT>;
while ($_)
{
($id,$isbn,$title,$author,$owner,$can_borrow) = split(/,/,$_);
chomp $can_borrow;
if($can_borrow eq 'Tak')
{
$can_borrow = 1;
}
else
{
$can_borrow = 0;
}
$dbh->do("insert into ksiazki values ($id,$isbn,'$title','$author','$owner',1,'nikt',$can_borrow,0,'')");
$_ = <INPUT>;
}

14
bin/ksiazki Normal file
View File

@ -0,0 +1,14 @@
0000000000017,9788324607686,Ruby Receptury,Lucas Carlson; Leonard Richardson,HS,Tak
0000000000024,9788324619535,Programowanie w Ruby od podstaw,Peter Cooper,Att,Tak
0000000000031,9788324605224,Programowanie w jezyku Ruby wydanie II,Dave Thomas;Chad Fowler;Andy Hunt,HS,Tak
0000000000048,9788371979859,Core Java 2 Techniki zaawansowane,Cay S. Hortsmann;Gray Cornell,HS,Tak
0000000000086,9788371973574,Linux Internet Server czarna ksiega,H. Tsuji; T. Watanabe; acrobyte,Rmk,Tak
0000000000079,9788373610132,Delphi praktyczny kurs,Tomasz M. Sadowski,Rmk,Tak
0000000000376,9788371975271,Java Servlet Programowanie,Jason Hunter;Wiliam Crawford,HS,Tak
0000000000383,9788387216481,Zarzadzanie sieciami IP za pomoca ruterow Cisco,Scott M. Ballew,Antoszka,Tak
0000000000369,9788386718559,TCP/IP,Timothy Parker,HS,Tak
0000000000352,9788373617094,CSS,Eric A. Meyer,Rmk,Tak
0000000000338,0000000000000,Intel 64 and IA-32 Architectures Sofware Developers Manual,Czesiek,Tak
0000000000345,9780470516621,The 3G IP Multimedia, Subsystem,Gonzalo Camarillo; Miguel A. Garcia-Martin,Rysiek,Tak
0000000000055,9788387216047,Unix Administracj systemu,Aeleen Frisch,Rmk,Tak
0000000000062,9788324616046,SQL praktyczny kurs,Danua Mendrala; Marcin Szeliga,Rmk,Tak

Binary file not shown.

15
bin/ksiazki.header Normal file
View File

@ -0,0 +1,15 @@
id,isbn,tytul,autor,wlasciciel,mozna brac?
0000000000017,9788324607686,Ruby Receptury,Lucas Carlson; Leonard Richardson,HS,Tak
0000000000024,9788324619535,Programowanie w Ruby od podstaw,Peter Cooper,Att,Tak
0000000000031,9788324605224,Programowanie w jezyku Ruby wydanie II,Dave Thomas;Chad Fowler;Andy Hunt,HS,Tak
0000000000048,9788371979859,Core Java 2 Techniki zaawansowane,Cay S. Hortsmann;Gray Cornell,HS,Tak
0000000000086,9788371973574,Linux Internet Server czarna ksiega,H. Tsuji; T. Watanabe; acrobyte,Rmk,Tak
0000000000079,9788373610132,Delphi praktyczny kurs,Tomasz M. Sadowski,Rmk,Tak
0000000000376,9788371975271,Java Servlet Programowanie,Jason Hunter;Wiliam Crawford,HS,Tak
0000000000383,9788387216481,Zarzadzanie sieciami IP za pomoca ruterow Cisco,Scott M. Ballew,Antoszka,Tak
0000000000369,9788386718559,TCP/IP,Timothy Parker,HS,Tak
0000000000352,9788373617094,CSS,Eric A. Meyer,Rmk,Tak
0000000000338,0000000000000,Intel 64 and IA-32 Architectures Sofware Developer's Manual,Czesiek,Tak
0000000000345,9780470516621,The 3G IP Multimedia, Subsystem,Gonzalo Camarillo; Miguel A. Garcia-Martin,Rysiek,Tak
0000000000055,9788387216047,Unix Administracj systemu,Aeleen Frisch,Rmk,Tak
0000000000062,9788324616046,SQL praktyczny kurs,Danua Mendrala, Marcin Szeliga,Rmk,Tak

38
bin/propozycja_bazy Normal file
View File

@ -0,0 +1,38 @@
jakoś trzeba mieć userów (hasła możesz sprawdzać w ldap - jeśli chcesz
w ldap trzymać więcej to poprawimy tę tablicę lub jej nie będzie. Ale
teraz jest).
CREATE TABLE "user" ("user_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT
NULL , "user_fname" varchar, "user_lname" varchar, "user_login"
varchar NOT NULL UNIQUE , "user_enabled" integer NOT NULL DEFAULT 1)
Prosta tablica do opisu autorów
CREATE TABLE "author" ("author_id" integer PRIMARY KEY AUTOINCREMENT
NOT NULL UNIQUE , "author_fname" VARCHAR, "author_lname" varchar NOT
NULL );
Tablica opisująca książki
CREATE TABLE "book" ("book_id" integer PRIMARY KEY AUTOINCREMENT NOT
NULL UNIQUE ,"book_isbn" integer NOT NULL ,"book_title" varchar NOT
NULL, "owner_user_id" integer NOT NULL )
owner_user_id - właściciel - ale jeśli moze być wielu współwłaścicieli
to można zrobić jak z autorami. Napisz czy może być wielu właścicieli
- a możę trzeba się zastanowić czy trzymać historię - jeden właściciel
może sprzedać książkę innemu...
Tablica opisująca powiązanie (relację) książki i autorów.
CREATE TABLE "main"."book_author" ("author_id" integer NOT NULL ,
"book_id" integer NOT NULL , PRIMARY KEY ("author_id", "book_id"))
Tablica opisująca komentarze
CREATE TABLE "book_comment" ("book_comment_id" INTEGER PRIMARY KEY
AUTOINCREMENT NOT NULL , "book_comment_body" VARCHAR, "user_id"
INTEGER NOT NULL , "book_comment_date" DATETIME DEFAULT
CURRENT_TIMESTAMP, "book_comment_canceled" INTEGER NOT NULL DEFAULT 0)
możebyć wiele opisów mogą przyrastać itp itd - zastanawiam się nad
book_comment_type (np. co jest recenzją itp - ale na razie zostawmy).
Trzeba jeszcze opisać początkowy status książki oraz historię
wypożyczania itp.
podeślę

21
bin/schemat_bazy Normal file
View File

@ -0,0 +1,21 @@
Co musi być:
1)id ksiazki
2)tytul ksiazki
3)autor ksiazki
4)wlasciciel ksiazki
5)czy ksiazka jest?
6)kto wzial ksiazke?
7)czy mozna ksiazke brac?
8)czy ksiazka jest zarezerwowana?
9)komentarz
create table ksiazki (id integer primary key autoincrement not null unique,isbn int, title string,
author string,owner string,state bool,who string,can_borrow bool,reserved bool,comment string);
create table ksiazki (id int,isbn int, title string,
author string,owner string,state bool,who string,can_borrow bool,reserved bool,comment string);
insert into ksiazki values (null,1,'tytul1','autor1','wlasciciel1',1,'nikt',1,0,'');
insert into ksiazki values (null,2,'tytul2','autor2','wlasciciel2',1,'nikt',1,0,'');
insert into ksiazki values (null,3,'tytul3','autor3','wlasciciel3',1,'nikt',1,0,'');

9
bin/test_sql.pl Normal file
View File

@ -0,0 +1,9 @@
use DBI;
my $dbfile = 'ksiazki.db';
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile", "", "");
my $sth = $dbh->prepare("select * from ksiazki") or die "Nie mozna spreparowac zapytania";
$sth->execute() or die "Nie mozna wykonac zapytania";
print ${$sth->fetchall_arrayref}[1][2];

0
views/ksiazki.db Normal file
View File