diff options
author | Cranix <you@example.com> | 2013-03-27 15:57:13 -0400 |
---|---|---|
committer | Cranix <you@example.com> | 2013-03-27 15:57:13 -0400 |
commit | 5144d26f36320f97f8dc2411bddf382984c5f427 (patch) | |
tree | 57357b2b1cd379ebf2b87eb0df793bcee7f5f155 /bin | |
parent | a6efcc3ef84dab60410d975fe2f964b6ba9ff5ee (diff) | |
download | Biblioteka-5144d26f36320f97f8dc2411bddf382984c5f427.tar.gz Biblioteka-5144d26f36320f97f8dc2411bddf382984c5f427.tar.bz2 Biblioteka-5144d26f36320f97f8dc2411bddf382984c5f427.tar.xz Biblioteka-5144d26f36320f97f8dc2411bddf382984c5f427.zip |
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
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/converter.pl | 34 | ||||
-rw-r--r-- | bin/ksiazki | 14 | ||||
-rw-r--r-- | bin/ksiazki.db | bin | 3072 -> 7168 bytes | |||
-rw-r--r-- | bin/ksiazki.header | 15 | ||||
-rw-r--r-- | bin/propozycja_bazy | 38 | ||||
-rw-r--r-- | bin/schemat_bazy | 21 | ||||
-rw-r--r-- | bin/test_sql.pl | 9 |
7 files changed, 131 insertions, 0 deletions
diff --git a/bin/converter.pl b/bin/converter.pl new file mode 100755 index 0000000..e1a2aa9 --- /dev/null +++ b/bin/converter.pl @@ -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>; +} + diff --git a/bin/ksiazki b/bin/ksiazki new file mode 100644 index 0000000..496e424 --- /dev/null +++ b/bin/ksiazki @@ -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 diff --git a/bin/ksiazki.db b/bin/ksiazki.db Binary files differindex ff6d6ee..a370402 100644 --- a/bin/ksiazki.db +++ b/bin/ksiazki.db diff --git a/bin/ksiazki.header b/bin/ksiazki.header new file mode 100644 index 0000000..159e1df --- /dev/null +++ b/bin/ksiazki.header @@ -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 diff --git a/bin/propozycja_bazy b/bin/propozycja_bazy new file mode 100644 index 0000000..833b348 --- /dev/null +++ b/bin/propozycja_bazy @@ -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ę + diff --git a/bin/schemat_bazy b/bin/schemat_bazy new file mode 100644 index 0000000..d2a9d48 --- /dev/null +++ b/bin/schemat_bazy @@ -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,''); diff --git a/bin/test_sql.pl b/bin/test_sql.pl new file mode 100644 index 0000000..b4cf6e1 --- /dev/null +++ b/bin/test_sql.pl @@ -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]; |