nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 11:25



Reply to topic  [ 27 posts ]  Go to page Previous  1, 2
Онлайн-библиотекарь на Java-движке 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
За несколько вечеров с помощью своего сервлета произвольных запросов к БД создал несколько таблиц, необходимых для функционирования онлайнового каталога книг. Для хранения инофрмации о пользователях системы используется таблица webi_users с полями статического размера - для быстрого поиска и сортировки. Пользователи регистрируются не только для библиотеки, но и в другие проекты.

Code:
   show fields in webi_users (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +------------------------------------------------------------------------------------------+
   | FIELD     | TYPE                                 | KEY | NULL | DEFAULT | EXTRA          |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_id    | int(8) unsigned                      | PRI |      | null    | auto_increment |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_name  | char(16)                             | MUL | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_pass  | char(32)                             |     | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_email | char(50)                             |     | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_state | set('guest','user','editor','admin') | MUL | YES  | guest   |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_rtime | datetime                             |     | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_ltime | datetime                             | MUL | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_attr  | int(3)                               |     | YES  | null    |                |
   |-----------+--------------------------------------+-----+------+---------+----------------|
   | usr_from  | char(16)                             | MUL | YES  | null    |                |
   +------------------------------------------------------------------------------------------+


Доступ к проектам осуществляется за счёт групп (таблица webi_groups):

Code:
   show fields in webi_groups (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +---------------------------------------------------------------------+
   | FIELD     | TYPE            | KEY | NULL | DEFAULT | EXTRA          |
   |-----------+-----------------+-----+------+---------+----------------|
   | grp_id    | int(4) unsigned | PRI |      | null    | auto_increment |
   |-----------+-----------------+-----+------+---------+----------------|
   | grp_num   | int(7)          | MUL | YES  | 0       |                |
   |-----------+-----------------+-----+------+---------+----------------|
   | grp_name  | char(8)         | MUL | YES  | null    |                |
   |-----------+-----------------+-----+------+---------+----------------|
   | grp_table | char(16)        |     | YES  | null    |                |
   |-----------+-----------------+-----+------+---------+----------------|
   | grp_url   | char(20)        |     | YES  | null    |                |
   +---------------------------------------------------------------------+


Связь между юзерами и группами задаётся таблицей webi_user_group:

Code:
   show fields in webi_user_group (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +---------------------------------------------------------------------+
   | FIELD     | TYPE            | KEY | NULL | DEFAULT | EXTRA          |
   |-----------+-----------------+-----+------+---------+----------------|
   | ug_usr_id | int(8) unsigned | MUL |      | 0       |                |
   |-----------+-----------------+-----+------+---------+----------------|
   | ug_grp_id | int(4) unsigned | MUL |      | 0       |                |
   |-----------+-----------------+-----+------+---------+----------------|
   | ug_id     | int(9) unsigned | PRI |      | null    | auto_increment |
   +---------------------------------------------------------------------+


А вот таблица книг (первый вариант - позже всегда можно сделать ALTER TABLE):

Code:
   show fields in webi_books (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +------------------------------------------------------------------------+
   | FIELD       | TYPE             | KEY | NULL | DEFAULT | EXTRA          |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_id      | int(10) unsigned | PRI |      | null    | auto_increment |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_title   | varchar(255)     | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_nauth   | int(2) unsigned  |     | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_code    | varchar(32)      | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_year    | int(4) unsigned  | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_oyear   | int(4) unsigned  |     | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_pages   | int(4) unsigned  | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_edition | int(3) unsigned  |     | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_lang    | char(3)          | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_olang   | char(3)          | MUL | YES  | null    |                |
   |-------------+------------------+-----+------+---------+----------------|
   | boo_desc    | text             |     | YES  | null    |                |
   +------------------------------------------------------------------------+


Авторы заносятся в таблицу webi_persons (сюда же могут быть занесены к примеру актёры или режиссёры для базы данных фильмов):

Code:
   show fields in webi_persons (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +-----------------------------------------------------------------------+
   | FIELD      | TYPE             | KEY | NULL | DEFAULT | EXTRA          |
   |------------+------------------+-----+------+---------+----------------|
   | prs_id     | int(10) unsigned | PRI |      | null    | auto_increment |
   |------------+------------------+-----+------+---------+----------------|
   | prs_first  | varchar(100)     | MUL | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_middle | varchar(100)     |     | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_last   | varchar(100)     |     | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_same   | int(10) unsigned | MUL | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_born   | date             | MUL | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_dead   | date             | MUL | YES  | null    |                |
   |------------+------------------+-----+------+---------+----------------|
   | prs_about  | varchar(255)     |     | YES  | null    |                |
   +-----------------------------------------------------------------------+


Связь между книгами и авторами задаётся таблицей webi_book_authors:

Code:
   show fields in webi_book_authors (FIELD TYPE KEY NULL DEFAULT EXTRA) :

   +----------------------------------------------------------------------------+
   | FIELD     | TYPE                   | KEY | NULL | DEFAULT | EXTRA          |
   |-----------+------------------------+-----+------+---------+----------------|
   | ba_id     | int(10) unsigned       | PRI |      | null    | auto_increment |
   |-----------+------------------------+-----+------+---------+----------------|
   | ba_prs_id | int(10) unsigned       | MUL | YES  | null    |                |
   |-----------+------------------------+-----+------+---------+----------------|
   | ba_boo_id | int(10) unsigned       |     | YES  | null    |                |
   |-----------+------------------------+-----+------+---------+----------------|
   | ba_who    | set('author','editor') | MUL | YES  | null    |                |
   +----------------------------------------------------------------------------+


Как видно каждая связь автор-книга имеет флаг 'author' или 'editor'.

_________________
:dj: https://mastodon.social/@Shaos


21 Jun 2006 19:34
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Текущее состояние таблиц можно посмотреть вот по этому линку:

http://java.shabarshin.com/servlet/open ... dbase=java

_________________
:dj: https://mastodon.social/@Shaos


25 Jun 2006 21:34
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Под boo_code я буду понимать ISBN, который есть у всех книг, но я натыкался на разное его написание - например:
ISBN 0-7357-1054-6
ISBN 0-596-00543-1
ISBN 1-59200-369-9
ISBN 0-321-33573-2
ISBN 0-07-146893-5
ISBN 0 14 00.9259 1
Вопрос - минусики важны или можно просто как число его сохранять? А в последнем случае вообще используются пробелы и точка...

_________________
:dj: https://mastodon.social/@Shaos


01 Jul 2006 08:55
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Shaos wrote:
Вопрос - минусики важны или можно просто как число его сохранять?

Да, они имеют важное значение.

_________________
Extreme Entertainment


01 Jul 2006 13:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Mac Buster wrote:
Shaos wrote:
Вопрос - минусики важны или можно просто как число его сохранять?

Да, они имеют важное значение.


А что скажешь про вариант записи с пробелами и точкой?

_________________
:dj: https://mastodon.social/@Shaos


01 Jul 2006 17:25
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Shaos wrote:
А что скажешь про вариант записи с пробелами и точкой?

Есть два варианта:

- ошибка;
- есть измемения к стандарту, о которых я не знаю.

:D

_________________
Extreme Entertainment


02 Jul 2006 13:00
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Mac Buster wrote:
Shaos wrote:
А что скажешь про вариант записи с пробелами и точкой?

Есть два варианта:

- ошибка;
- есть измемения к стандарту, о которых я не знаю.

:D


На ошибку не похоже - оно на новой книжке

P.S. Кстати сегодня наткнулся на ISBN на DVD-дисках - оно значит не только книг касается?

_________________
:dj: https://mastodon.social/@Shaos


02 Jul 2006 17:56
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Shaos wrote:
На ошибку не похоже - оно на новой книжке


Не думаю что это показатель, ошибки могут быть везде.

Quote:
P.S. Кстати сегодня наткнулся на ISBN на DVD-дисках - оно значит не только книг касается?


Впервые слышу о таком. ISBN = International Standart Book Number.

_________________
Extreme Entertainment


03 Jul 2006 13:00
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Mac Buster wrote:
Shaos wrote:
На ошибку не похоже - оно на новой книжке


Не думаю что это показатель, ошибки могут быть везде.


Наткнулся ещё раз на такое же написание - причём в книге указано 2 ISBN - варианта в мягкой обложке и варианта в твёрдой обожке:
ISBN 0-670-88217-8 (hc.)
ISBN 0 14 02.8202 5 (pbk.)
Как видим второй с пробелами и точками...

Ещё одна странность с ISBN - в одной новой книжке натолкнулся на два разных ISBN:
ISBN-13: 978-0-8050-7853-4
ISBN-10: 0-8050-7853-3
Это что за 10 и 13 такие?

Mac Buster wrote:
Quote:
P.S. Кстати сегодня наткнулся на ISBN на DVD-дисках - оно значит не только книг касается?


Впервые слышу о таком. ISBN = International Standart Book Number.


Ну тем не менее - видел на нескольких

_________________
:dj: https://mastodon.social/@Shaos


18 Jul 2006 18:40
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Shaos wrote:
Это что за 10 и 13 такие?

10 - старый, 13 - новый, который будет действовать с самого начала 2007-го года. Старый легко превращается вновый добавлением трех определенных цифр в начале номера.

_________________
Extreme Entertainment


19 Jul 2006 10:53
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Mac Buster wrote:
Shaos wrote:
Это что за 10 и 13 такие?

10 - старый, 13 - новый, который будет действовать с самого начала 2007-го года. Старый легко превращается вновый добавлением трех определенных цифр в начале номера.


И кто будет определять эти три цифры?

Мне то какой забивать? Новый - если есть?

_________________
:dj: https://mastodon.social/@Shaos


19 Jul 2006 18:00
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Shaos wrote:
И кто будет определять эти три цифры?

Они давно определены комиссией по стандарту, эти цифры - 987. После того как диапазон будет исчерпан, введут 979.

Quote:
Мне то какой забивать? Новый - если есть?

Да.

_________________
Extreme Entertainment


19 Jul 2006 20:22
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 27 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.