рд╣реЗ рд╣рд╛рдмрд░!
рд╣рд╛рдореА рд╡рд┐рд╖рдпрдХреЛ рдЕрдиреБрд╕рдиреНрдзрд╛рди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫреМрдВ
рдпреЛ рдмрд░реБ рдврд┐рд▓реЛ рд▓реЗрдЦрдорд╛, рдо рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрдиреЗрдЫреБ рдХрд┐рди рдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдЫреБ рдХрд┐ рд▓рдЧрднрдЧ рд╕рдмреИ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдбрд╛рдЯрд╛ рдореЛрдбреЗрд▓ "рдЬрд╛рднрд╛ рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реБ рдмрд╛рдЯ" рдХреЛ рд╕рдЯреНрдЯрд╛ "рдбреЗрдЯрд╛рдмреЗрд╕ рдмрд╛рдЯ" рдбрд┐рдЬрд╛рдЗрди рдЧрд░реНрдиреБрдкрд░реНрдЫ (рд╡рд╛ рдЬреБрдирд╕реБрдХреИ рдЧреНрд░рд╛рд╣рдХ рднрд╛рд╖рд╛ рддрдкрд╛рдИрдВ рд╣реБрдиреБрд╣реБрдиреНрдЫред рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрджреИ)ред рджреЛрд╕реНрд░реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдПрд░, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдвреНрди рдерд╛рд▓реЗрдкрдЫрд┐ рджреБрдЦрд╛рдЗ рд░ рдкреАрдбрд╛рдХреЛ рд▓рд╛рдореЛ рдорд╛рд░реНрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреИрд▓рд╛рдИ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫред
рдЖрдзрд╛рд░рдорд╛ рд▓реЗрдЦ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ
рдЦрдгреНрдбрд╣рд░реВрдорд╛ reddit рдорд╛ рд░реЛрдЪрдХ рдЫрд▓рдлрд▓
рдХреЛрдб рдЙрддреНрдкрд╛рджрди
рдо рдХрддрд┐ рдЫрдХреНрдХ рдкрд░реЗрдВ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдпрд╕реНрддреЛ рд╕рд╛рдиреЛ рдЦрдгреНрдб рдЫ, рдЬреЛ jOOQ рд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рднрдЗрд╕рдХреЗрдкрдЫрд┐, jOOQ рд▓реЗ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрд╛рджрдирдорд╛ рдЧрдореНрднреАрд░ рд░реВрдкрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ рднрдиреНрдиреЗ рддрдереНрдпрдмрд╛рдЯ рдЖрдХреНрд░реЛрд╢рд┐рдд рдЫрдиреНред рддрдкрд╛рдИрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рджреЗрдЦрд┐рдП рдЕрдиреБрд╕рд╛рд░ jOOQ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдмрд╛рдЯ рдХрд╕реИрд▓реЗ рд░реЛрдХреНрджреИрди, рд╡рд╛ рдХреЛрдб рдЙрддреНрдкрд╛рджрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдмрд╛рдзреНрдп рдкрд╛рд░реНрджреИрдиред рддрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд (рдореНрдпрд╛рдиреБрдЕрд▓рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░) jOOQ рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдпреЛ рд╣реЛ рдХрд┐ рддрдкрд╛рдЗрдБ (рд▓реЗрдЧреЗрд╕реА) рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, JOOQ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпрд╕рд▓рд╛рдИ рд░рд┐рднрд░реНрд╕ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рддрд╛рдХрд┐ рддрдкрд╛рдЗрдБрдХреЛ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрдиреЗ рдХрдХреНрд╖рд╛рд╣рд░реВрдХреЛ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реНред - рдпреА рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рд╢реНрдирд╣рд░реВ:
for (Record2<String, String> record : DSL.using(configuration)
// ^^^^^^^^^^^^^^^^^^^^^^^ ╨Ш╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤П ╨╛ ╤В╨╕╨┐╨░╤Е ╨▓╤Л╨▓╨╡╨┤╨╡╨╜╨░ ╨╜╨░
// ╨╛╤Б╨╜╨╛╨▓╨░╨╜╨╕╨╕ ╤Б╨│╨╡╨╜╨╡╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╨╛╨│╨╛ ╨║╨╛╨┤╨░, ╨╜╨░ ╨║╨╛╤В╨╛╤А╤Л╨╣ ╤Б╤Б╤Л╨╗╨░╨╡╤В╤Б╤П ╨┐╤А╨╕╨▓╨╡╨┤╨╡╨╜╨╜╨╛╨╡
// ╨╜╨╕╨╢╨╡ ╤Г╤Б╨╗╨╛╨▓╨╕╨╡ SELECT
.select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME)
// vvvvv ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ╤Б╨│╨╡╨╜╨╡╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╤Л╨╡ ╨╕╨╝╨╡╨╜╨░
.from(ACTOR)
.orderBy(1, 2)) {
// ...
}
рдХреЛрдб рдпрд╛ рдд рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдмрд╛рд╣рд┐рд░, рд╡рд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рднрд╛рдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдпрд╕реНрддреЛ рдкреБрдирд░реБрддреНрдерд╛рди рддреБрд░реБрдиреНрддреИ рдкрдЫрд┐ рд▓рд╛рдЧреНрди рд╕рдХреНрдЫ
рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрд╛рджрди
рддреНрдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рджрд░реНрд╢рдирд╣рд░реВ, рдлрд╛рдЗрджрд╛рд╣рд░реВ рд░ рдХреЛрдб рдЙрддреНрдкрд╛рджрдирдХрд╛ рдпреА рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВ рдЫрдиреН - рдореНрдпрд╛рдиреБрдЕрд▓ рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд - рдЬреБрди рдо рдпрд╕ рд▓реЗрдЦрдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░реНрди рдЬрд╛рдБрджреИрдЫреБред рддрд░, рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЙрддреНрдкрдиреНрди рдХреЛрдбрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдмрд┐рдиреНрджреБ рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЬрд╛рднрд╛рдорд╛ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬреБрди "рд╕рддреНрдп" рд▓рд╛рдИ рд╣рд╛рдореАрд▓реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЫреМрдБ, рдпрд╛ рдд рд╣рд╛рдореНрд░реЛ рдкреНрд░рдгрд╛рд▓реА рднрд┐рддреНрд░ рд╡рд╛ рдмрд╛рд╣рд┐рд░ред рдПрдХ рдЕрд░реНрдердорд╛, рдХрдореНрдкрд╛рдЗрд▓рд░рд╣рд░реВрд▓реЗ рдмрд╛рдЗрдЯрдХреЛрдб, рдореЗрд╢рд┐рди рдХреЛрдб, рд╡рд╛ рд╕реНрд░реЛрдд рдХреЛрдбрдХреЛ рдХреБрдиреИ рдЕрдиреНрдп рд░реВрдк рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрд╛ рдпреЛ рдХреЗ рдЧрд░реНрдЫ - рд╣рд╛рдореАрд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рдкрд░реНрд╡рд╛рд╣ рдирдЧрд░реА рдЕрд░реНрдХреЛ рднрд╛рд╖рд╛рдорд╛ рд╣рд╛рдореНрд░реЛ "рд╕рддреНрдп" рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд╛рдЙрдБрдЫреМрдВред
рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдХреЛрдб рдЬрдирд░реЗрдЯрд░рд╣рд░реВ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐,
- рддреНрдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рд╕рддреНрдп рдЫ (рдЖрдиреНрддрд░рд┐рдХ рд╡рд╛ рдмрд╛рд╣реНрдп) - рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛, рдПрдХ рдбрд╛рдЯрд╛ рдореЛрдбреЗрд▓, рдЖрджрд┐ред
- рд╣рд╛рдореАрд▓рд╛рдИ рд╣рд╛рдореНрд░реЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рдпреЛ рд╕рддреНрдпрдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЪрд╛рд╣рд┐рдиреНрдЫред
рдпрд╕рдмрд╛рд╣реЗрдХ, рдЕрдирд╛рд╡рд╢реНрдпрдХрддрд╛рдмрд╛рдЯ рдмрдЪреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕реНрддреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд▓рдЧрднрдЧ рд╕рдзреИрдВ рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рдЗрдиреНрдЫред
рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ рд░ рдПрдиреЛрдЯреЗрд╕рди рдкреНрд░рд╢реЛрдзрди
рдиреЛрдЯ: jOOQ рдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдЕрд░реНрдХреЛ, рдердк рдЖрдзреБрдирд┐рдХ рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдЫ,
рдПрдХ рдЕрд░реНрдердорд╛, рдпрд╣рд╛рдБ рддреНрдпрд╣рд┐ рдЪреАрдЬрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН рдЬреБрди рдкрд╣рд┐рд▓реЛ рдорд╛рдорд▓рд╛рдорд╛ рд╣реБрдиреНрдЫ, рдЕрдкрд╡рд╛рджрдХреЛ рд╕рд╛рде:
- рддрдкрд╛рдИрдВрд▓реЗ рдЙрддреНрдкрдиреНрди рдХреЛрдб рджреЗрдЦреНрдиреБрднрдПрди (рд╕рд╛рдпрдж рдпреЛ рдЕрд╡рд╕реНрдерд╛ рдХрд╕реИрд▓рд╛рдИ рдХрдо рдШрд┐рдирд▓рд╛рдЧреНрджреЛ рджреЗрдЦрд┐рдиреНрдЫ?)
- рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрдкрд░реНрдЫ рдХрд┐ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддреНрдпреЛ рд╣реЛ, "рд╕рддреНрдп" рд╕рдзреИрдВ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреБрдкрд░реНрдЫред рд▓реЛрдореНрдмреЛрдХрдХреЛ рдорд╛рдорд▓рд╛рдорд╛ рдпреЛ рд╕рдЬрд┐рд▓реЛ рдЫ, рдЬрд╕рд▓реЗ "рд╕рддреНрдп" рдХреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрдЫред рдпреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рд╣рд░реВрд╕рдБрдЧ рдЕрд▓рд┐ рдмрдвреА рдЬрдЯрд┐рд▓ рдЫ рдЬреБрди рдирд┐рд░рдиреНрддрд░ рдЙрдкрд▓рдмреНрдз рд▓рд╛рдЗрдн рдЬрдбрд╛рдирдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫред
рдХреЛрдб рдЙрддреНрдкрд╛рджрдирдорд╛ рдХреЗ рд╕рдорд╕реНрдпрд╛ рдЫ?
рдореНрдпрд╛рдиреБрдЕрд▓реА рд╡рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдХреЛрдб рдЬреЗрдиреЗрд░реЗрд╕рди рдХрд╕рд░реА рдЪрд▓рд╛рдЙрдиреЗ рднрдиреНрдиреЗ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдирдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рд╛рдореАрд▓реЗ рдпреЛ рдкрдирд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдорд╛рдирд┐рд╕рд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рдХреЛрдб рдЙрддреНрдкрд╛рджрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди рднрдиреНрдиреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдЫрдиреНред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рдФрдЪрд┐рддреНрдп, рдЬреБрди рдореИрд▓реЗ рдкреНрд░рд╛рдпрдГ рднреЗрдЯреЗрдХреЛ рдЫреБ, рдпреЛ рд╣реЛ рдХрд┐ рддреНрдпрд╕рдкрдЫрд┐ рдирд┐рд░реНрдорд╛рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗрдЯ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫред рд╣реЛ, рдпреЛ рд╕рд╛рдБрдЪреНрдЪреИ рдЧрд╛рд╣реНрд░реЛ рдЫред рдЕрддрд┐рд░рд┐рдХреНрдд рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд▓рд╛рдЧрдд рдЙрдареНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рднрд░реНрдЦрд░реИ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрддреНрдкрд╛рджрдирдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ (рдЪрд╛рд╣реЗ рдпреЛ jOOQ рд╣реЛ, рд╡рд╛ JAXB, рд╡рд╛ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ, рдЖрджрд┐), рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рд╕рдордп рд▓рд╛рдЧреНрдЫ рдХрд┐ рддрдкрд╛рдЗрдБ рдмрд░реБ API рдЖрдлреИ рд╕рд┐рдХреНрди рдЦрд░реНрдЪ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рддрд╛рдХрд┐ рддрдкрд╛рдЗрдБ рддреНрдпрд╕рдмрд╛рдЯ рдореВрд▓реНрдп рдирд┐рдХрд╛рд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред ред
рдпрджрд┐ рдЬреЗрдиреЗрд░реЗрдЯрд░рдХреЛ рд╕рдВрд░рдЪрдирд╛ рдмреБрдЭреНрди рд╕рдореНрдмрдиреНрдзрд┐рдд рд▓рд╛рдЧрддрд╣рд░реВ рдзреЗрд░реИ рдЙрдЪреНрдЪ рдЫрдиреН рднрдиреЗ, рддреНрдпрд╕реЛрднрдП, рд╡рд╛рд╕реНрддрд╡рдорд╛, рдПрдкреАрдЖрдИрд▓реЗ рдХреЛрдб рдЬрдирд░реЗрдЯрд░рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛ рдЦрд░рд╛рдм рдХрд╛рдо рдЧрд░реНрдпреЛ (рд░ рдкрдЫрд┐ рдпреЛ рдерд╛рд╣рд╛ рд╣реБрдиреНрдЫ рдХрд┐ рдпрд╕рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдХреВрд▓рди рдкрдирд┐ рдЬрдЯрд┐рд▓ рдЫ)ред рдХреБрдиреИ рдкрдирд┐ рдпрд╕реНрддреЛ API рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЙрдЪреНрдЪрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реБрдиреБрдкрд░реНрдЫред рддрд░ рдпреЛ рдХреЛрдб рдЬреЗрдирд░реЗрд╢рди рд╡рд┐рд░реБрджреНрдзрдХреЛ рдПрдЙрдЯрд╛ рддрд░реНрдХ рдорд╛рддреНрд░ рд╣реЛред рдЕрдиреНрдпрдерд╛, рдЖрдиреНрддрд░рд┐рдХ рд╡рд╛ рдмрд╛рд╣реНрдп рд╕рддреНрдпрдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд▓реЗрдЦреНрди рдпреЛ рдкреВрд░реНрдгрддрдпрд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд╣реЛред
рдзреЗрд░реИрд▓реЗ рднрдиреНрдиреЗрдЫрдиреН рдХрд┐ рдЙрдиреАрд╣рд░реВрд╕рдБрдЧ рдпреЛ рд╕рдмреИ рдЧрд░реНрди рд╕рдордп рдЫреИрдиред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реБрдкрд░ рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдордп рд╕реАрдорд╛ рд╕рдХрд┐рдПрдХреЛ рдЫред рдХреБрдиреИ рджрд┐рди рд╣рд╛рдореА рд╕рднрд╛ рдХрдиреНрд╡реЗрдпрд░рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗрдЫреМрдВ, рд╣рд╛рдореАрд╕рдБрдЧ рд╕рдордп рд╣реБрдиреЗрдЫред рдо рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЬрд╡рд╛рдл рджрд┐рдиреЗрдЫреБ:
рддрд░ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ/рдЬреЗрдкреАрдПрдорд╛ рдЬрд╛рднрд╛ рдХреЛрдб рд▓реЗрдЦреНрди рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫред
рд╕рд╛рдБрдЪреНрдЪреИред рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд░ рдпрд╕рдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдЖрд╢рд┐рд╖реН рд░ рд╢реНрд░рд╛рдк рджреБрд╡реИ рд╣реЛред рд╣рд╛рдЗрдмрд░рдиреЗрдЯрдорд╛ рддрдкрд╛рдИрд▓реЗ рдХреЗрд╣рд┐ рдЗрдХрд╛рдИрд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕реНрддреИ:
@Entity
class Book {
@Id
int id;
String title;
}
рд░ рд▓рдЧрднрдЧ рд╕рдмреИ рддрдпрд╛рд░ рдЫред рдЕрдм рддрдкрд╛рдИрдХреЛ SQL "рдмреЛрд▓реА" рдХреЛ DDL рдорд╛ рдпреЛ рдПрдХрд╛рдЗрд▓рд╛рдИ рдХрд╕рд░реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдиреЗрдЫ рднрдиреНрдиреЗ рдЬрдЯрд┐рд▓ "рд╡рд┐рд╡рд░рдгрд╣рд░реВ" рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╣рд╛рдЗрдмрд░рдиреЗрдЯрдорд╛ рдирд┐рд░реНрднрд░ рдЫ:
CREATE TABLE book (
id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
title VARCHAR(50),
CONSTRAINT pk_book PRIMARY KEY (id)
);
CREATE INDEX i_book_title ON book (title);
... рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд▓рд╛рдЙрди рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЪрд╛рдБрдбреИ рд╕реБрд░реБ рдЧрд░реНрди рд░ рд╡рд┐рднрд┐рдиреНрди рдЪреАрдЬрд╣рд░реВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗ рдПрдХ рд╕рд╛рдБрдЪреНрдЪреИ рд░рд╛рдореНрд░реЛ рдЕрд╡рд╕рд░ред
рдпрджреНрдпрдкрд┐, рдХреГрдкрдпрд╛ рдорд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреБрд╣реЛрд╕реНред рдо рдЭреБрдЯ рдмреЛрд▓рд┐рд░рд╣реЗрдХреЛ рдерд┐рдПрдБред
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдпреЛ рдирд╛рдордХреЛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдЮреНрдЬреАрдХреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗрдЫ?
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯрд▓реЗ TITLE рдорд╛ рдПрдЙрдЯрд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫ? - рдорд▓рд╛рдИ рдкрдХреНрдХрд╛ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реБрдиреЗрдЫред
- рдХреЗ рд╣рд╛рдЗрдмрд░рдиреЗрдЯрд▓реЗ рдпреЛ рдХреБрдЮреНрдЬреАрд▓рд╛рдИ рдЖрдЗрдбреЗрдиреНрдЯрд┐рдЯреА рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреЗ рд╣реЛ?
рд╕рд╛рдпрдж рдЫреИрдиред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рддрдкрд╛рдЗрдБрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдердкреНрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ рдкреБрд░рд╛рдиреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рд▓рд╛рдИ рдЦрд╛рд░реЗрдЬ рдЧрд░реНрди рд░ рдирдпрд╛рдБ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдзреИрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрдиреНрдЫред рдпрд╕рд░реА, рдкреБрд╕реНрддрдХ рд╕рдВрд╕реНрдерд╛рд▓реЗ рдЕрдиреНрддрддрдГ рдлрд╛рд░рдо рд▓рд┐рдиреЗрдЫ:
@Entity
@Table(name = "book", indexes = {
@Index(name = "i_book_title", columnList = "title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
String title;
}
рдХреВрд▓ред рдкреБрди: рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдлреЗрд░рд┐, рдпрд╕ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рд╕реБрд░реБ рдорд╛ рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреЗрдЫред
рддрд░ рддрдкрд╛рдИрд▓реЗ рдкрдЫрд┐ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрд┐рд░реНрдиреБрдкрд░реНрдиреЗрдЫ
рдврд┐рд▓реЛ рд╡рд╛ рдврд┐рд▓реЛ рддрдкрд╛рдИрд▓реЗ рдЙрддреНрдкрд╛рджрдирдорд╛ рдЬрд╛рдиреБ рдкрд░реНрдЫред рддреНрдпреЛ рдмреЗрд▓рд╛ рдпреЛ рдореЛрдбреЗрд▓рд▓реЗ рдХрд╛рдо рдЧрд░реНрди рдЫреЛрдбреНрдЫред рдХрд┐рдирднрдиреЗ:
рдЙрддреНрдкрд╛рджрдирдорд╛, рдкреБрд░рд╛рдиреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЦрд╛рд░реЗрдЬ рдЧрд░реНрди рд░ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛, рдпреЛ рдЕрдм рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫреИрдиред рддрдкрд╛рдИрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд▓рд┐рдЧреЗрд╕реА рдмрдиреНрдиреЗрдЫред
рдЕрдмрджреЗрдЦрд┐ рд░ рд╕рджрд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓реЗ рд▓реЗрдЦреНрдиреБрдкрд░реНрдиреЗрдЫ
рддреНрдпрд╕реЛрднрдП рдПрдХрдЪреЛрдЯрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЙрддреНрдкрд╛рджрдирдорд╛ рдкреБрдЧреНрдиреБрднрдпреЛ рднрдиреЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рддрд╛рддреЛ рдкреНрдпрд╛рдЪрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫред рд░ рддрд┐рдиреАрд╣рд░реВ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдЙрддреНрдкрд╛рджрдирдорд╛ рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрдкрд╛рдИрдВрд▓реЗ рддрдпрд╛рд░реА рдЧрд░реНрдиреБрднрдПрди рд░ рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрдХреЛ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рд╕рд╣рдЬ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирдЧрд░реЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдЕрдм рд╕рдмреИ рдХреБрд░рд╛ рд╕рд╣реА рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрди рд╕рдордп рдЫреИрдиред рд░ рддрдкрд╛рдИрдВ рд╣рд╛рдЗрдмрд░рдиреЗрдЯрдХреЛ рдЖрд▓реЛрдЪрдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдХрд┐рдирдХрд┐ рдпреЛ рд╕рдзреИрдВ рдЕрд░реВ рдХрд╕реИрдХреЛ рдЧрд▓реНрддреА рд╣реЛ, рдХреЗрд╡рд▓ рддрдкрд╛рдИрдВ рд╣реЛрдЗрди ...
рдмрд░реБ, рдЪреАрдЬрд╣рд░реВ рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдлрд░рдХ рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдереНрдпреЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╛рдЗрдХрд▓рдорд╛ рдЧреЛрд▓ рдкрд╛рдЩреНрдЧреНрд░рд╛рд╣рд░реВ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред
рдбрд╛рдЯрд╛рдмреЗрд╕ рдкрд╣рд┐рд▓реЗ
рддрдкрд╛рдИрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛рдорд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рд╕рддреНрдп" рд░ рдпрд╕рдорд╛ "рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛" рдбрд╛рдЯрд╛рдмреЗрд╕ рднрд┐рддреНрд░ рдЫред рд╕реНрдХреАрдорд╛ рдХреЗрд╡рд▓ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдиреИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдЕрд░реВ рдХрддреИ рдЫреИрди, рд░ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХрд╕рдБрдЧ рдпреЛ рд╕реНрдХреАрдорд╛рдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рд╕реНрдХреАрдорд╛ рд░ рдпрд╕рдХреЛ рдЕрдЦрдгреНрдбрддрд╛рд╕рдБрдЧ рдЕрдиреБрдкрд╛рд▓рди рд▓рд╛рдЧреВ рдЧрд░реНрди, рдпрд╕рд▓рд╛рдИ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рд╕рд╣реА рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╣реА рдЕрд░реНрде рджрд┐рдиреНрдЫ - рдЬрд╣рд╛рдБ рдЬрд╛рдирдХрд╛рд░реА рдЫред рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛред
рдпреЛ рдкреБрд░рд╛рдиреЛ рд╣реЛ, рдЕрдЪрдореНрдордХреЛ рдмреБрджреНрдзрд┐ рдкрдирд┐ рд╣реЛред рдкреНрд░рд╛рдердорд┐рдХ рд░ рдЕрджреНрд╡рд┐рддреАрдп рдХреБрдЮреНрдЬреАрд╣рд░реВ рд░рд╛рдореНрд░реЛ рдЫрдиреНред рд╡рд┐рджреЗрд╢реА рдХреБрдЮреНрдЬреАрд╣рд░реВ рд░рд╛рдореНрд░реЛ рдЫрдиреНред рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБ рд░рд╛рдореНрд░реЛ рдЫред
рдпрд╕рдмрд╛рд╣реЗрдХ, рддреНрдпреЛ рд╕рдмреИ рд╣реЛрдЗрдиред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, Oracle рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдЗрдБ рд╕рдореНрднрд╡рддрдГ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫ:
- рддрдкрд╛рдИрдХреЛ рдЯреЗрдмрд▓ рдХреБрди рдЯреЗрдмрд▓рд╕реНрдкреЗрд╕рдорд╛ рдЫ?
- рдпрд╕рдХреЛ PCTFREE рдореВрд▓реНрдп рдХреЗ рд╣реЛ?
- рддрдкрд╛рдИрдХреЛ рдЕрдиреБрдХреНрд░рдордорд╛ рдХреНрдпрд╛рд╕ рд╕рд╛рдЗрдЬ рдХреЗ рд╣реЛ (рдЖрдИрдбреА рдкрдЫрд╛рдбрд┐)
рдпреЛ рд╕рд╛рдирд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдирд╣реБрди рд╕рдХреНрдЫ, рддрд░ рддрдкрд╛рдИрдВрд▓реЗ рдареВрд▓рд╛ рдбрд╛рдЯрд╛ рдХреНрд╖реЗрддреНрд░рдорд╛ рдирдЬрд╛рдЙрдиреНрдЬреЗрд▓ рдкрд░реНрдЦрдиреБ рдкрд░реНрджреИрди тАФ рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рдХреНрд░реЗрддрд╛-рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рднрдгреНрдбрд╛рд░рдг рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВрдмрд╛рдЯ рд▓рд╛рдн рдЙрдард╛рдЙрди рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕реНрддреИ рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХрд╛рд╣рд░реВред рдореИрд▓реЗ рджреЗрдЦреЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ ORMs (jOOQ рд╕рд╣рд┐рдд) рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрднрдПрдХреЛ DDL рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рд╕реЗрдЯрдорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрджреИрдиред ORM рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ DDL рд▓реЗрдЦреНрди рдорджреНрджрдд рдЧрд░реНрдиреЗ рдХреЗрд╣реА рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫред
рддрд░ рджрд┐рдирдХреЛ рдЕрдиреНрддреНрдпрдорд╛, DDL рдорд╛ рдПрдХ рд░рд╛рдореНрд░реЛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╕рд░реНрдХрд┐рдЯ рд╣рд╛рддрд▓реЗ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рдХреБрдиреИ рдкрдирд┐ рдЙрддреНрдкрдиреНрди DDL рдпрд╕рдХреЛ рдПрдХ рдЕрдиреБрдорд╛рди рдорд╛рддреНрд░ рд╣реЛред
рдЧреНрд░рд╛рд╣рдХ рдореЛрдбреЗрд▓рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ?
рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдлреНрдиреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕реНрдХрд┐рдорд╛, рдХреНрд▓рд╛рдЗрдиреНрдЯ рджреГрд╢реНрдпрдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЪрд╛рд╣рд┐рдиреНрдЫред рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рдпреЛ рдЧреНрд░рд╛рд╣рдХ рджреГрд╢реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЛрдбреЗрд▓ рд╕рдВрдЧ рд╕рд┐рдВрдХ рд╣реБрдиреБрдкрд░реНрдЫред рдпреЛ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди рд╕рдмреИ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛ рдХреЗ рд╣реЛ? рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
рд╕рдмреИ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрд▓реЗ SQL рдорд╛рд░реНрдлрдд рдЖрдлреНрдиреЛ рдореЗрдЯрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдпрд╣рд╛рдБ рддрдкрд╛рдИрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдмрд╛рдЯ рд╡рд┐рднрд┐рдиреНрди SQL рдмреЛрд▓реАрд╣рд░реВрдорд╛ рд╕рдмреИ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдЫ:
-- H2, HSQLDB, MySQL, PostgreSQL, SQL Server
SELECT table_schema, table_name
FROM information_schema.tables
-- DB2
SELECT tabschema, tabname
FROM syscat.tables
-- Oracle
SELECT owner, table_name
FROM all_tables
-- SQLite
SELECT name
FROM sqlite_master
-- Teradata
SELECT databasename, tablename
FROM dbc.tables
рдпреА рдкреНрд░рд╢реНрдирд╣рд░реВ (рд╡рд╛ рд╕рдорд╛рдирд╣рд░реВ, рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ, рднреМрддрд┐рдХ рджреГрд╢реНрдпрд╣рд░реВ, рддрд╛рд▓рд┐рдХрд╛-рдореВрд▓реНрдп рдХрд╛рд░реНрдпрд╣рд░реВ рдкрдирд┐ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ рдХрд┐ рднрдиреНрдиреЗ рдЖрдзрд╛рд░рдорд╛) рдХрд▓ рдЧрд░реЗрд░ рдкрдирд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫред DatabaseMetaData.getTables()
рддреНрдпрд╕реНрддрд╛ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛рдмрд╛рдЯ, рддрдкрд╛рдЗрдБрд▓реЗ рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ рдХреБрди рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗ рдкрдирд┐, рддрдкрд╛рдЗрдБрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдХреНрд▓рд╛рдЗрдиреНрдЯ-рд╕рд╛рдЗрдб рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдЬрд┐рд▓реЛ рдЫред
- рдпрджрд┐ рддрдкрд╛рдЗрдБ JDBC рд╡рд╛ Spring рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ string constants рдХреЛ рд╕реЗрдЯ рдмрдирд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
- рдпрджрд┐ рддрдкрд╛рдЗрдБ JPA рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рд╕реНрд╡рдпрдВ рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
- рдпрджрд┐ рддрдкрд╛рдЗрдБ jOOQ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ jOOQ рдореЗрдЯрд╛-рдореЛрдбреЗрд▓ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
рддрдкрд╛рдИрдВрдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯ API (рдЬрд╕реНрддреИ jOOQ рд╡рд╛ JPA) рджреНрд╡рд╛рд░рд╛ рдХрддрд┐ рдкреНрд░рдХрд╛рд░реНрдпрддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреНрдиреЗ рдЖрдзрд╛рд░рдорд╛, рдЙрддреНрдкрдиреНрди рдореЗрдЯрд╛ рдореЛрдбреЗрд▓ рд╡рд╛рд╕реНрддрд╡рдореИ рдзрдиреА рд░ рдкреВрд░реНрдг рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдирд┐рд╣рд┐рдд рдЬреЛрдбреНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛рд▓рд╛рдИ рд▓рд┐рдиреБрд╣реЛрд╕реН,
рдЕрдм рдХреБрдиреИ рдкрдирд┐ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡реГрджреНрдзрд┐ рд╕реНрд╡рддрдГ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╣реБрдиреЗрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:
ALTER TABLE book RENAME COLUMN title TO book_title;
рдХреЗ рддрдкрд╛рдИ рд╕рд╛рдБрдЪреНрдЪреИ рдпреЛ рдХрд╛рдо рджреБрдИ рдкрдЯрдХ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ? рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛ред рдХреЗрд╡рд▓ DDL рдкреНрд░рддрд┐рдмрджреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрд╕рд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рдирд┐рд░реНрдорд╛рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдорд╛рд░реНрдлрдд рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН, рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЗрдХрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН:
@Entity
@Table(name = "book", indexes = {
// ╨Т╤Л ╨╛╨▒ ╤Н╤В╨╛╨╝ ╨╖╨░╨┤╤Г╨╝╤Л╨▓╨░╨╗╨╕╤Б╤М?
@Index(name = "i_book_title", columnList = "book_title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
@Column("book_title")
String bookTitle;
}
рд╡рд╛ рдЕрдкрдбреЗрдЯ рдЧрд░рд┐рдПрдХреЛ jOOQ рдХрдХреНрд╖рд╛ред рдзреЗрд░реИ рдЬрд╕реЛ DDL рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓реЗ рд╕рд┐рдореЗрдиреНрдЯрд┐рдХреНрд╕рд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрдЫ, рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рддрд╕рд░реНрде, рдпреЛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдХреЛрдб рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ (рд╡рд╛ рд╣реБрди рд╕рдХреНрдЫ) рддрдкрд╛рдЗрдБрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡реГрджреНрдзрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдиреЗрдЫред
рдПрдЙрдЯреИ рд╕рддреНрдп
рддрдкрд╛рдИрд▓реЗ рдЬреБрдирд╕реБрдХреИ рдкреНрд░рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рд╕рдзреИрдВ рдПрдЙрдЯрд╛ рдореЛрдбреЗрд▓ рдЫ рдЬреБрди рдХреЗрд╣рд┐ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рд╕рддреНрдпрдХреЛ рдПрдХрдорд╛рддреНрд░ рд╕реНрд░реЛрдд рд╣реЛ - рд╡рд╛, рдХрдореНрддрд┐рдорд╛, рд╣рд╛рдореАрд▓реЗ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫ рд░ рдпрд╕реНрддреЛ рдЙрджреНрдпрдо рднреНрд░рдордмрд╛рдЯ рдЬреЛрдЧрд┐рдиреИ рдкрд░реНрдЫ, рдЬрд╣рд╛рдБ "рд╕рддреНрдп" рдЬрддрд╛рддрддреИ рдЫ рд░ рдПрдХреИ рдкрдЯрдХ рдХрддреИ рдЫреИрдиред ред рд╕рдмреИ рдХреБрд░рд╛ рдзреЗрд░реИ рд╕рд░рд▓ рд╣реБрди рд╕рдХреНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреЗрд╡рд▓ рдХреЗрд╣рд┐ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реАрд╕рдБрдЧ XML рдлрд╛рдЗрд▓рд╣рд░реВ рдЖрджрд╛рдирдкреНрд░рджрд╛рди рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, XSD рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред XML рдлрд╛рд░рдордорд╛ jOOQ рдмрд╛рдЯ INFORMATION_SCHEMA рдореЗрдЯрд╛-рдореЛрдбреЗрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН:
- XSD рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭрд┐рдПрдХреЛ рдЫ
- XSD рд▓реЗ XML рд╕рд╛рдордЧреНрд░реАрд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдЯреЛрдХрдирд╛рдЗрдЬ рдЧрд░реНрджрдЫ рд░ рд╕рдмреИ рдЧреНрд░рд╛рд╣рдХ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ
- XSD рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╕рдВрд╕реНрдХрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдЙрдиреНрдирдд рдмреНрдпрд╛рдХрд╡рд░реНрдб рдЕрдиреБрдХреВрд▓рддрд╛ рдЫ
- XSD XJC рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЬрд╛рднрд╛ рдХреЛрдбрдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ
рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред XML рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрджрд╛, рд╣рд╛рдореА рд╣рд╛рдореНрд░рд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдорд╛рдиреНрдп рдЫрдиреН рднрдиреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рдпреЛ JAXB, XJC рд░ XSD рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫред рдпреЛ рд╕реЛрдЪреНрдиреБ рд╕рд░рд╛рд╕рд░ рдкрд╛рдЧрд▓рдкрди рд╣реБрдиреЗрдЫ, "рдЬрд╛рднрд╛ рдлрд░реНрд╕реНрдЯ" рдбрд┐рдЬрд╛рдЗрди рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде рдЬрд╣рд╛рдБ рд╣рд╛рдореА рд╣рд╛рдореНрд░рд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВрд▓рд╛рдИ рдЬрд╛рднрд╛ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдмрдирд╛рдЙрдБрдЫреМрдВ, рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ XML рдорд╛ рдореНрдпрд╛рдк рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдЙрдкрднреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкрдард╛рдЙрди рд╕рдХрд┐рдиреНрдЫред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рдЙрддреНрдкрдиреНрди рднрдПрдХреЛ XML рдзреЗрд░реИ рдЦрд░рд╛рдм рдЧреБрдгрд╕реНрддрд░рдХреЛ, рдХрд╛рдЧрдЬрд╛рдд рдирднрдПрдХреЛ, рд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреЗрдЫред рдпрджрд┐ рдпрд╕реНрддреЛ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрд╡рд╛ рд╕реНрддрд░ рд╕рдореНрдЭреМрддрд╛ (SLA) рдерд┐рдпреЛ рднрдиреЗ, рд╣рд╛рдореА рддреБрд░реБрдиреНрддреИ рдпрд╕рд▓рд╛рдИ рдмрд┐рдЧрд╛рд░реНрдиреЗрдЫреМрдВред
рдЗрдорд╛рдирджрд╛рд░реАрдкреВрд░реНрд╡рдХ, рдпреЛ рдЬреЗрдПрд╕рдУрдПрди рдПрдкреАрдЖрдИрд╣рд░реВрд╕рдБрдЧ рд╕рдмреИ рд╕рдордп рд╣реБрдиреНрдЫ, рддрд░ рддреНрдпреЛ рдЕрд░реНрдХреЛ рдХрдерд╛ рд╣реЛ, рдо рдЕрд░реНрдХреЛ рдкрдЯрдХ рдЭрдЧрдбрд╛ рдЧрд░реНрдиреЗрдЫреБ ...
рдбрд╛рдЯрд╛рдмреЗрд╕: рддрд┐рдиреАрд╣рд░реВ рдПрдЙрдЯреИ рдХреБрд░рд╛ рд╣реБрдиреН
рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рдореВрд▓ рд░реВрдкрдорд╛ рд╕рдорд╛рди рдЫрдиреНред рдЖрдзрд╛рд░рд╕рдБрдЧ рдпрд╕рдХреЛ рдбрд╛рдЯрд╛рдХреЛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдЫ рд░ рдпреЛрдЬрдирд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрдкрд░реНрдЫред рд╕реНрдХреАрдорд╛рдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ DDL рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреБрдкрд░реНрдЫ рддрд╛рдХрд┐ рд╕рддреНрдпрдХреЛ рдПрдХрд▓ рд╕реНрд░реЛрдд рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╣реБрдиреНрдЫред
рдЬрдм рд╕реНрд░реЛрдд рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рднрдпреЛ, рд╕рдмреИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ рдореЛрдбреЗрд▓рдХреЛ рдЖрдлреНрдиреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВ рдкрдирд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдХреЗрд╣реА рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВ рдЬрд╛рднрд╛рдорд╛ jOOQ рд░ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╡рд╛ JDBC (рд╡рд╛ рджреБрдмреИ) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫред рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВ рдкрд░реНрд▓рдорд╛ рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫ (рд╣рд╛рдореА рдХреЗрд╡рд▓ рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рд╢реБрднрдХрд╛рдордирд╛ рдЪрд╛рд╣рдиреНрдЫреМрдВ), рдЬрдмрдХрд┐ рдЕрдиреНрдпрд╣рд░реВ C# рдорд╛ рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫред рдХреЗрд╣реА рдлрд░рдХ рдкрд░реНрджреИрдиред рдореБрдЦреНрдп рдореЛрдбреЗрд▓ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдЫред ORMs рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЙрддреНрдкрд╛рджрди рдЧрд░рд┐рдПрдХрд╛ рдореЛрдбреЗрд▓рд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЦрд░рд╛рдм рдЧреБрдгрд╕реНрддрд░рдХрд╛ рд╣реБрдиреНрдЫрдиреН, рдХрдордЬреЛрд░ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН, рд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫред
рддреНрдпрд╕реИрд▓реЗ рдЧрд▓реНрддреА рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ рдЧрд▓реНрддреА рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рдбрд╛рдЯрд╛рдмреЗрд╕рдмрд╛рдЯ рдХрд╛рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдПрдХ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН рдЬреБрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реБрди рд╕рдХреНрдЫред рддрдкрд╛рдИрдВрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд░ рдпрд╕рд▓рд╛рдИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдорд╛ рдбрдореНрдк рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрди рдХреЛрдб рдЬрдирд░реЗрдЯрд░рд╣рд░реВ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд░ рдХреЛрдб рдЬреЗрдирд░реЗрдЯрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЪрд┐рдиреНрддрд╛ рд░реЛрдХреНрдиреБрд╣реЛрд╕реНред рддрд┐рдиреАрд╣рд░реВ рд░рд╛рдореНрд░рд╛ рдЫрдиреНред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рд╛рде рддрдкрд╛рдИрдВ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдиреНрдиреБрд╣реБрдиреЗрдЫред рддрдкрд╛рдИрдВрд▓реЗ рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдереЛрд░реИ рд╕рдордп рдЦрд░реНрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ - рд░ рддреНрдпрд╕рдкрдЫрд┐ рдмрдвреЗрдХреЛ рдЙрддреНрдкрд╛рджрдХрддрд╛рдХрд╛ рд╡рд░реНрд╖рд╣рд░реВ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд░реНрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЗрддрд┐рд╣рд╛рд╕ рдмрдирд╛рдЙрдБрджрдЫред
рдорд▓рд╛рдИ рдЕрдЭреИ рдзрдиреНрдпрд╡рд╛рдж рдирджрд┐рдиреБрд╣реЛрд╕реН, рдкрдЫрд┐ред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рд╕реНрдкрд╖реНрдЯ рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐: рдпреЛ рд▓реЗрдЦрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╣рд┐рд╕рд╛рдмрд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рдорд╛ рдлрд┐рдЯ рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╕реНрддреИ, рдбреЛрдореЗрди, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ, рдЖрджрд┐, рдЖрджрд┐) рдЭреБрдХрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗрд░ рд╡рдХрд╛рд▓рдд рдЧрд░реНрджреИрдиред рдореИрд▓реЗ рдпрд╕ рд▓реЗрдЦрдорд╛ рдХреЗ рднрдиреЗрдХреЛ рдЫреБ рдХрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕рд╕рдБрдЧ рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреЗ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдХреЛрдбрд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрдиреБрдкрд░реНрджрдЫ, рддрд╛рдХрд┐ рдпрд╕рд▓реЗ рдЖрдлреИрдВрд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рд▓рд╛рдИ "рдкреНрд░рдердо-рдХрдХреНрд╖рд╛" рд╕реНрдерд┐рддрд┐рдорд╛ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрджреИрдиред рдпреЛ рддрд░реНрдХ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрдкрд╛рдИрдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдбреЗрдЯрд╛ рдкрд╣реБрдБрдЪ рддрд╣рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫред
рджреБрдИ-рд╕реНрддрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рд╣рд░реВрдорд╛, рдЬреБрди рдЕрдЭреИ рдкрдирд┐ рдХреЗрд╣реА рдард╛рдЙрдБрд╣рд░реВрдорд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдЫрдиреН, рдпрд╕реНрддреЛ рдкреНрд░рдгрд╛рд▓реА рдореЛрдбреЗрд▓ рдорд╛рддреНрд░ рд╕рдореНрднрд╡ рд╣реБрди рд╕рдХреНрдЫред рдпрджреНрдпрдкрд┐, рдзреЗрд░реИрдЬрд╕реЛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рдкрд╣реБрдБрдЪ рддрд╣ рдорд▓рд╛рдИ "рд╕рдмрд╕рд┐рд╕реНрдЯрдо" рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдЬрд╕рд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рдореЛрдбреЗрд▓рд▓рд╛рдИ рд╕рдореЗрдЯреНрдЫред
рдЕрдкрд╡рд╛рджрд╣рд░реВ
рддреНрдпрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдордорд╛ рдЕрдкрд╡рд╛рджрд╣рд░реВ рдЫрдиреН, рд░ рдореИрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдиреЗрдХреЛ рдЫреБ рдХрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕-рдкрд╣рд┐рд▓реЛ рд░ рд╕реНрд░реЛрдд-рдХреЛрдб рдЙрддреНрдкрд╛рджрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реБрди рд╕рдХреНрдЫред рдпрд╣рд╛рдБ рддреНрдпрд╕реНрддрд╛ рдХреЗрд╣реА рдЕрдкрд╡рд╛рджрд╣рд░реВ рдЫрдиреН (рддреНрдпрд╣рд╛рдБ рд╕рд╛рдпрдж рдЕрд░реВ рдкрдирд┐ рдЫрдиреН):
- рдЬрдм рд╕реНрдХреАрдорд╛ рдЕрдЬреНрдЮрд╛рдд рдЫ рд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдПрдХ рдЙрдкрдХрд░рдгрдХреЛ рдкреНрд░рджрд╛рдпрдХ рд╣реБрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдиреЗрднрд┐рдЧреЗрдЯ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫред рдЙрд╣ред рдпрд╣рд╛рдБ рдХреБрдиреИ рдХреЛрдб рдЙрддреНрдкрд╛рджрди рдЫреИрдиред рддрд░ рдЕрдЭреИ, рдбрд╛рдЯрд╛рдмреЗрд╕ рдкрд╣рд┐рд▓реЛ рдЖрдЙрдБрдЫред
- рдЬрдм рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЙрдбрд╛рдирдорд╛ рд╕рд░реНрдХрд┐рдЯ рдЙрддреНрдкрдиреНрди рд╣реБрдиреБрдкрд░реНрдЫред рдпреЛ рдЙрджрд╛рд╣рд░рдг рдврд╛рдБрдЪрд╛рдХреЛ рдЕрд▓рд┐ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ
рдЗрдХрд╛рдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореВрд▓реНрдп , рдЕрд░реНрдерд╛рддреН, рддрдкрд╛рдИрдВрд╕рдБрдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдпреЛрдЬрдирд╛ рдЫреИрдиред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдЗрдБ рдкреНрд░рд╛рдп: рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрди рд╕рдХреНрдиреБрд╣реБрдиреНрди рдХрд┐ RDBMS рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреЗрдЫред
рдЕрдкрд╡рд╛рдж рдкреНрд░рдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╕рд╛рдзрд╛рд░рдг рдЫрдиреНред RDBMS рдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рд╕рдВрд▓рдЧреНрди рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╕реНрдХреАрдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд╛рд╣рд╛ рд╣реБрдиреНрдЫ, рдпреЛ RDBMS рднрд┐рддреНрд░ рд░рд╣рдиреНрдЫ рд░ "рд╕рддреНрдп" рдХреЛ рдПрдХ рдорд╛рддреНрд░ рд╕реНрд░реЛрдд рд╣реЛ, рд░ рд╕рдмреИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ рдпрд╕рдмрд╛рдЯ рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫред рдЖрджрд░реНрд╢ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
рд╕реНрд░реЛрдд: www.habr.com