рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдореИрд╕реЗрдВрдЬрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдХреИрд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рднрд╛рдЧ 1: рдЖрдзрд╛рд░ рдлрд╝реНрд░реЗрдо рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛
рднрд╛рдЧ 2: "рд▓рд╛рдн рдХреЗ рд▓рд┐рдП" рдЕрдиреБрднрд╛рдЧреАрдХрд░рдг
рд╣рдорд╛рд░рд╛ рдЖрдзрд╛рд░ рдЙрддрдирд╛ рдмрдбрд╝рд╛ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛,
рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╢рд╛рд░реНрдбрд┐рдВрдЧ, рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рднреВ-рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рд╕рд░реНрдХрд┐рдЯ рд╕рдорд╛рдзрд╛рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдЪрд░рдг 1: рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдБ
рд╣рдо рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдХреЛ рдЕрдореВрд░реНрдд рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдВрдЧреЗ
рдФрд░ рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВ?.. рдЖрдЗрдП рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ рд╡рд╕реАрд▓реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
- "рдирд┐рдХреЛрд▓рд╛рдИ, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрдЬ рдПрдХ рдкреИрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!"
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝. - "рдХреЛрд▓реНрдпрд╛, рдХреНрдпрд╛ рддреБрдо рдЖрдЬ рд╢рд╛рдо рдбреЛрдЯрд╛ рдЬрд╛ рд░рд╣реА рд╣реЛ?"
рдЕрд░реНрдерд╛рддреН, рд╡рд╛рд░реНрддрд╛рдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдЬреЛрдбрд╝рд╛ рднреА рдПрдХ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдкрд░. - "рдкреАрдЯрд░, рдирд┐рдХреЛрд▓реЗ, рдирдП рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рд╕реВрдЪреА рдХреЗ рдЕрдиреБрд▓рдЧреНрдирдХ рдореЗрдВ рджреЗрдЦреЗрдВред"
рддреЛ, рдПрдХ рд╕рдВрджреЗрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдиреЗрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛. рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рдВрджреЗрд╢ рдореЗрдВ рдпрд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╕рдВрд▓рдЧреНрди рдлрд╛рдЗрд▓. - "рд╢рд┐рдореЛрди, рддреБрдо рднреА рджреЗрдЦ рд▓реЛред"
рдФрд░ рдореМрдЬреВрджрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдирдпреЗ рд╕рджрд╕реНрдп рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдВ.
рдЖрдЗрдП рдлрд┐рд▓рд╣рд╛рд▓ "рд╕реНрдкрд╖реНрдЯ" рдЬрд░реВрд░рддреЛрдВ рдХреА рдЗрд╕ рд╕реВрдЪреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
рд╕рдорд╕реНрдпрд╛ рдХреА рд▓рд╛рдЧреВ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдФрд░ рдЙрд╕реЗ рджреА рдЧрдИ рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдордЭреЗ рдмрд┐рдирд╛, рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рднрд╛рд╡реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред
рдЪрд░рдг 2: рдиреНрдпреВрдирддрдо рддрд░реНрдХ рд╕рд░реНрдХрд┐рдЯ
рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рдИрдореЗрд▓ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдХрд░рдгред рд╣рд╛рдВ, "рдПрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рд░реВрдк рд╕реЗ" рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЙрдкрдХрд░рдг рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред
рдЖрдЗрдП рдЗрдХрд╛рдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рддрд╛рд░реНрдХрд┐рдХ рдЖрд░реЗрдЦ рдХреЛ рдареАрдХ рдХрд░реЗрдВред рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдмрд╕реЗ рдЖрджрд┐рдо рдбрд┐рд╕реНрдкреНрд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡реНрдпрдХреНрддрд┐, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдмрд╛рдЗрдирд░реА "рдмреЙрдбреА" "рдмрд╛рд╣рд░реА" рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдпреВрдпреВрдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ "рдХрд╣реАрдВ" рдХреБрдЫ рд▓рд┐рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдЦреАрдВрдЪрдирд╛ рдЖрд░реЗрдЦ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ - рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдк рдЗрдиреНрд╣реЗрдВ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреВрдПрдордПрд▓/рдЖрдИрдбреАрдИрдПрдл рдкрдврд╝рдиреЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
рдЪрд░рдг 3: рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛
рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВрдлрд╝реАрд▓реНрдб рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ "рд░реВрд╕реА" рдирд╛рдореЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐
рдЪреВрдВрдХрд┐ рдХрдИ рд▓реЛрдЧ рд╣рдореЗрдВ рдПрдХ рд╕рд╛рде рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд▓реЛрдЧ рдРрд╕рд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдСрдлрд▓рд╛рдЗрди, рддреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпреВрдпреВрдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рди рдХреЗрд╡рд▓ рдмрд╛рд╣рд░реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рднреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рднреА рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рддрдм рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреА рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдФрд░ рдЯрдХрд░рд╛рд╡ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмреЗрд╣рдж рдХрдо рд╣реЛред
рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреНрд░рд╛рдлреНрдЯ рдЯреЗрдмрд▓ рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧреА:
рдЯреЗрдмрд▓реНрд╕: рдЖрд░рдпреВ
CREATE TABLE "╨в╨╡╨╝╨░"(
"╨в╨╡╨╝╨░"
uuid
PRIMARY KEY
, "╨Ф╨╛╨║╤Г╨╝╨╡╨╜╤В"
uuid
, "╨Э╨░╨╖╨▓╨░╨╜╨╕╨╡"
text
);
CREATE TABLE "╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡"(
"╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡"
uuid
PRIMARY KEY
, "╨в╨╡╨╝╨░"
uuid
, "╨Р╨▓╤В╨╛╤А"
uuid
, "╨Ф╨░╤В╨░╨Т╤А╨╡╨╝╤П"
timestamp
, "╨в╨╡╨║╤Б╤В"
text
);
CREATE TABLE "╨Р╨┤╤А╨╡╤Б╨░╤В"(
"╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡"
uuid
, "╨Я╨╡╤А╤Б╨╛╨╜╨░"
uuid
, PRIMARY KEY("╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡", "╨Я╨╡╤А╤Б╨╛╨╜╨░")
);
CREATE TABLE "╨д╨░╨╣╨╗"(
"╨д╨░╨╣╨╗"
uuid
PRIMARY KEY
, "╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡"
uuid
, "BLOB"
uuid
, "╨Ш╨╝╤П"
text
);
рдЯреЗрдмрд▓реНрд╕: рдПрди
CREATE TABLE theme(
theme
uuid
PRIMARY KEY
, document
uuid
, title
text
);
CREATE TABLE message(
message
uuid
PRIMARY KEY
, theme
uuid
, author
uuid
, dt
timestamp
, body
text
);
CREATE TABLE message_addressee(
message
uuid
, person
uuid
, PRIMARY KEY(message, person)
);
CREATE TABLE message_file(
file
uuid
PRIMARY KEY
, message
uuid
, content
uuid
, filename
text
);
рдХрд┐рд╕реА рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмрд╛рдд рдХрдиреЗрдХреНрд╢рди рдЧреНрд░рд╛рдлрд╝ рдХреЛ "рдЕрдирд╡рд╛рдЗрдВрдбрд┐рдВрдЧ" рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ рдЙрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдЬрд┐рдирдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╕реНрд╡рдпрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдЪрд░рдг 4: рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
рдмрд╕, рд╣рдордиреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдмреЗрд╣рддрд░реАрди рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЖрдЗрдП рд╕реНрд╡рдпрдВ рдХреЛ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦреЗрдВ - рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
- рд╣рд╛рд▓ рдХреЗ рдкреЛрд╕реНрдЯ
рдпрд╣ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреНрд░рдордмрджреНрдз рд╡рд┐рднрд┐рдиреНрди рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдореЗрд░реЗ" рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд░рдЬрд┐рд╕реНрдЯреНрд░реАред рдЬрд╣рд╛рдВ рдореИрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдореИрдВ рд▓реЗрдЦрдХ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рд▓рд┐рдЦрд╛ рдФрд░ рдореИрдВрдиреЗ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛, рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛, ... - рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧреА
рдЗрд╕ рд▓рдВрдмреА-рд▓рдВрдмреА рдмрд╛рддрдЪреАрдд рдореЗрдВ рднрд╛рдЧ рднреА рдХреМрди рд▓реЗ рд░рд╣рд╛ рд╣реИ?
рд╣рдорд╛рд░реА рд╕рдВрд░рдЪрдирд╛ рд╣рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ "рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░" рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд▓реНрджреА рд╕реЗ рдирд╣реАрдВред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдп рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд (рдФрд░ рдЖрдкрдХреЛ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдирд┐рдХрд╛рд▓рдиреЗ рд╣реЛрдВрдЧреЗ), рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рд╕рднреА рд╕рдВрджреЗрд╢ рдирд┐рдХрд╛рд▓реЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ред
рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмреЛрд▓реНрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдХреНрд░реЙрд╕.
рдЪрд░рдг 5: рд╕реНрдорд╛рд░реНрдЯ рдбреАрдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реЗрд╢рди
рд╣рдорд╛рд░реА рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХреА рдЬрд╛рдПрдВрдЧреА рдЬрд┐рдирдореЗрдВ рд╣рдо рдХрд░реЗрдВрдЧреЗ рдбреЗрдЯрд╛ рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рднрд╛рдЧ, рдЙрди рдкрд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЯреЗрдмрд▓реНрд╕: рдЖрд░рдпреВ
CREATE TABLE "╨а╨╡╨╡╤Б╤В╤А╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣"(
"╨Т╨╗╨░╨┤╨╡╨╗╨╡╤Ж"
uuid
, "╨в╨╕╨┐╨а╨╡╨╡╤Б╤В╤А╨░"
smallint
, "╨Ф╨░╤В╨░╨Т╤А╨╡╨╝╤П"
timestamp
, "╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡"
uuid
, PRIMARY KEY("╨Т╨╗╨░╨┤╨╡╨╗╨╡╤Ж", "╨в╨╕╨┐╨а╨╡╨╡╤Б╤В╤А╨░", "╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡")
);
CREATE INDEX ON "╨а╨╡╨╡╤Б╤В╤А╨б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣"("╨Т╨╗╨░╨┤╨╡╨╗╨╡╤Ж", "╨в╨╕╨┐╨а╨╡╨╡╤Б╤В╤А╨░", "╨Ф╨░╤В╨░╨Т╤А╨╡╨╝╤П" DESC);
CREATE TABLE "╨г╤З╨░╤Б╤В╨╜╨╕╨║╨в╨╡╨╝╤Л"(
"╨в╨╡╨╝╨░"
uuid
, "╨Я╨╡╤А╤Б╨╛╨╜╨░"
uuid
, PRIMARY KEY("╨в╨╡╨╝╨░", "╨Я╨╡╤А╤Б╨╛╨╜╨░")
);
рдЯреЗрдмрд▓реНрд╕: рдПрди
CREATE TABLE message_registry(
owner
uuid
, registry
smallint
, dt
timestamp
, message
uuid
, PRIMARY KEY(owner, registry, message)
);
CREATE INDEX ON message_registry(owner, registry, dt DESC);
CREATE TABLE theme_participant(
theme
uuid
, person
uuid
, PRIMARY KEY(theme, person)
);
рдпрд╣рд╛рдВ рд╣рдордиреЗ рд╕рд╣рд╛рдпрдХ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд┐рдП рд╣реИрдВ:
- рд░рд┐рдХреЙрд░реНрдб рдЧреБрдгрд╛ рдХрд░рдирд╛
рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрджреЗрд╢ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдХрдИ рдЕрдиреБрд╡рд░реНрддреА рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ - рдкреНрд░реЗрд╖рдХ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдЕрдм рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИ - рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдкреГрд╖реНрда рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред - рдЕрдиреЛрдЦреЗ рд░рд┐рдХреЙрд░реНрдб
рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ "рд╢рдмреНрджрдХреЛрд╢" рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рд▓реЗрдЦ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ
рд╕реНрд░реЛрдд: www.habr.com