рдХреЗ рддрдкрд╛рдЗрдБ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ рдмрд╛рд░рдореНрдмрд╛рд░ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ? рддреНрдпрд╕реИрд▓реЗ рдо рдЧрд░реНрджрд┐рдиред рддрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ SQL рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ Rostelecom рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрджрд╛, рдореИрд▓реЗ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЯреЗрдмрд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдмреИ рдЬрдбрд╛рдирд╣рд░реВ рджрд░реНрддрд╛ рдЧрд░реНрдиреБрдкрд░реНрдереНрдпреЛред рд░ рдпреЛ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж 90% рдХреЗрд╕рд╣рд░реВрдорд╛ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдорд╛ рд╕рд╛рдореЗрд▓ рд╣реБрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд░ рд╕рд░реНрддрд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рдЕрдиреБрд░реЛрдзрдмрд╛рдЯ рдорд┐рд▓реНрдЫрдиреН! рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рдХреБрдиреИ рдкрдирд┐ SQL рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ рд╕реНрд╡рддрдГ-рд╕рдорд╛рдкрди рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН, рддрд░ рднрдгреНрдбрд╛рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рд▓реЗ рд╕рдзреИрдВ рдХрд╛рдо рдЧрд░реНрджреИрди: рддрд┐рдиреАрд╣рд░реВ рд╡рд┐рд░рд▓реИ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрджреНрд╡рд┐рддреАрдп рдЕрд╡рд░реЛрдз рд░ рд╡рд┐рджреЗрд╢реА рдХреБрдЮреНрдЬреА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рд░ рдпреЛ рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдерд╛рд╕рдБрдЧ рдХрд╕рд░реА рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рднрдиреЗрд░ рдерд╛рд╣рд╛ рд╣реБрдБрджреИрдиред рдЕрдиреНрдп рд░ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрди рдХреЗ рдЧрд░реНрди рд╕рдХреНрдЫред
рдЗрдиреНрдХрд╛рд░, рдХреНрд░реЛрдз, рдмрд╛рд░реНрдЧреЗрдирд┐рдЩ, рдбрд┐рдкреНрд░реЗрд╕рди рд░ рд╕реНрд╡реАрдХреГрддрд┐рдХреЛ рдирдЬрд┐рдХ рдкреБрдЧреЗрд░, рдореИрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ - рдХрд┐рди рдмреНрд▓реНрдпрд╛рдХрдЬреНрдпрд╛рдХрдХреЛ рд╕рд╛рде рдЕрдЯреЛрдлрд┐рд▓ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдирдЧрд░реНрдиреЗ рд░ рдпрд╕рд▓рд╛рдИ рд╕рд╣реА рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрдиреЗ? рдо dbeaver рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ, рдЬрд╛рднрд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рдпрд╕рдХреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдп рд╕рдВрд╕реНрдХрд░рдг рдЫред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпреЛрдЬрдирд╛ рдкрд░рд┐рдкрдХреНрд╡ рднрдПрдХреЛ рдЫ:
- рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рдХрдХреНрд╖рд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫрдиреН
- рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдмрд╛рд╣реНрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рдЬреЛрдбрд┐рдиреЗ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рддрд╛рдиреНрдиреБрд╣реЛрд╕реН
- ??????
- PROFIT
рдореИрд▓реЗ рдкрд╣рд┐рд▓реЛ рдмрд┐рдиреНрджреБ рдПрдХрджрдореИ рдЪрд╛рдБрдбреИ рдмреБрдЭреЗрдВ - рдореИрд▓реЗ рдмрдЧ рдЯреНрд░реНрдпрд╛рдХрд░рдорд╛ рдЕрдЯреЛрдлрд┐рд▓ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реНрди рд░ рд╕рдореНрдмрдиреНрдзрд┐рддрдорд╛ рдЕрдиреБрд░реЛрдз рдлреЗрд▓рд╛ рдкрд╛рд░реЗред
json рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдореИрд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ
рдЕрдиреНрддрдорд╛, рдореИрд▓реЗ рдирд┐рд░реНрдорд╛рдг рддреНрд░реБрдЯрд┐рд╣рд░реВ рдареАрдХ рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрдВ: рдореИрд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓рд╛рдИ pom.xml рдорд╛ рд╣реЛрдЗрди, рддрд░ OSGI рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдкрдорд╛ manifest.mf manifest рдорд╛ рджрд░реНрддрд╛ рдЧрд░реЗрдВ, рдпрд╕рд▓рд╛рдИ рдЖрдпрд╛рдд-рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджреИред рд╕рдмреИрднрдиреНрджрд╛ рд╕реБрдиреНрджрд░ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЗрди, рддрд░ рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрджрдЫред рддреНрдпрд╕рдкрдЫрд┐ рдЕрд░реНрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛред рдпрджрд┐ рддрдкрд╛рдЗрдБ Intellij Idea рдорд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рднрд░реНрдЦрд░реИ рдЧрдПрд░ рдЧреНрд░рд╣рдг рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ рдЖрдзрд╛рд░рд┐рдд рддрдкрд╛рдЗрдБрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбрд┐рдмрдЧ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди: рдПрдХ рдЕрдиреБрднрд╡рд╣реАрди рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдХреНрд╡реЗрд░реА рдкреВрд░рд╛ рдирдЧрд░реА рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рднрдиреНрджрд╛ рдХрдо рдХрд╖реНрдЯ рднреЛрдЧреНрдиреБ рдкрд░реНрджреИрдиред рдмреАрднрд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЖрдлреИрдВ рдЙрджреНрдзрд╛рд░рдорд╛ рдЖрдП, рд╡рд┐рдХреАрдорд╛ рд╕рдмреИ рдирд╛рдЪрд╣рд░реВ рдЯреНрдпрд╛рдореНрдмреЛрд░рд┐рдирдХрд╛ рд╕рд╛рде рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд░рд╣реЗрдХреЛ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИред рд╕рдмреИрднрдиреНрджрд╛ рдХрд╖реНрдЯрдХрд░ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпреА рд╕рдмреИ рд╕реНрдХреНрд╡рд╛рдЯреНрд╕ рдкрдЫрд┐ рдкрдирд┐, рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдЖрдпрд╛рдд-рдкреНрдпрд╛рдХреЗрдЬ рдорд╛рд░реНрдлрдд рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХреЛ json рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд╕рд╛рде рдбрд┐рдмрдЧрдорд╛ рд╕реБрд░реВ рдЧрд░реНрди рдЪрд╛рд╣рдБрджреИрди рдерд┐рдпреЛ (рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж рдпреЛ рдЕрдЭреИ рдкрдирд┐ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рдЙрддреНрдкрд╛рджрдирдорд╛ рднреЗрд▓рд╛ рднрдПрдХреЛ рдерд┐рдпреЛ)ред
рддреНрдпреЛ рд╕рдордп рд╕рдореНрдо, рдореИрд▓реЗ рдореЗрд░реЛ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ json рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЕрд╕реБрд╡рд┐рдзрд╛ рдорд╣рд╕реБрд╕ рдЧрд░рд┐рд╕рдХреЗрдХреЛ рдерд┐рдПрдБ - рдЖрдЦрд┐рд░, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕рдореНрдкрд╛рджрди рдЧрд░рд┐рдиреБ рдкрд░реНрдиреЗ рдерд┐рдпреЛ, рд░ xml рдврд╛рдБрдЪрд╛ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рдЙрдкрдпреБрдХреНрдд рдЫред xml рдХреЛ рдкрдХреНрд╖рдорд╛ рджреЛрд╕реНрд░реЛ рддрд░реНрдХ JDK рдорд╛ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдХрдХреНрд╖рд╛рд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдерд┐рдпреЛ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдмрд╛рд╣реНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╕рдБрдЧ рд▓рдбреНрди рд░реЛрдХреНрди рд╕рдореНрднрд╡ рдмрдирд╛рдпреЛред рдзреЗрд░реИ рдЦреБрд╢реАрдХреЛ рд╕рд╛рде, рдореИрд▓реЗ рд╕рдмреИ рдореЗрдЯрд╛рдбреЗрдЯрд╛ json рдмрд╛рдЯ xml рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реЗрдВ рд░ рд╕реНрд╡рдд: рдкреВрд░реНрдг рддрд░реНрдХ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рдерд╛рд▓реЗрдВред
рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЙрджрд╛рд╣рд░рдг
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tableRelations>
<tableRelation>
<leftTable>dim_account</leftTable>
<rightTable>dim_partner</rightTable>
<joinColumnPair leftColumn="partner_key" rightColumn="partner_key"/>
<joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
</tableRelation>
<tableRelation>
<leftTable>dim_account</leftTable>
<rightTable>dim_branch</rightTable>
<joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
<joinColumnPair leftColumn="branch_key" rightColumn="branch_key"/>
</tableRelation>
</tableRelations>
рдлрд▓рд╕реНрд╡рд░реВрдк рдо
рдЬрдм рдХреЛрдбрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░рд┐рдпреЛ, рдкреНрд░рд╢реНрди рдЙрдареНрдпреЛ - рдореЗрдЯрд╛рдбреЗрдЯрд╛рд▓реЗ рдлрд╛рдЗрд▓ рдХрд╕рд▓реЗ рднрд░реНрдиреЗрдЫ? рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрдорд╛ рдзреЗрд░реИ рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдЫрдиреН, рд╕рдмреИ рдЬрдбрд╛рдирд╣рд░реВ рдЖрдлреИрдВ рджрд░реНрддрд╛ рдЧрд░реНрди рдорд╣рдБрдЧреЛ рдЫред рдлрд▓рд╕реНрд╡рд░реВрдк, рдореИрд▓реЗ рдпреЛ рдХрд╛рдо рдореЗрд░рд╛ рд╕рд╛рдереА рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВрд▓рд╛рдИ рдЬрд┐рдореНрдорд╛ рджрд┐рдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рдореИрд▓реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓ svn рдорд╛ рдкреЛрд╕реНрдЯ рдЧрд░реЗрдВ, рдЬрд╣рд╛рдБрдмрд╛рдЯ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЪреЗрдХрдЖрдЙрдЯ рдЧрд░рд┐рдиреНрдЫред рд╕рд┐рджреНрдзрд╛рдиреНрдд рдпреЛ рд╣реЛ: рднрдгреНрдбрд╛рд░рдорд╛ рдирдпрд╛рдБ рдЗрдХрд╛рдИ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ? рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд▓реЗ рдлрд╛рдЗрд▓рдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рд╛рдореЗрд▓ рд╣реБрди рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдЫ, рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрджрдЫ, рдмрд╛рдБрдХреА рдЖрдлреИрдВрдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛рдХреЛ рдЖрдирдиреНрдж рд▓рд┐рдиреБрд╣реЛрд╕реН: рд╕рдореБрджрд╛рдп, рдЬреНрдЮрд╛рдирдХреЛ рд╕рдВрдЪрдп рд░ рддреА рд╕рдмреИред рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реЗ, рдХрдиреНрдлреНрд▓реБрдПрдиреНрд╕рдорд╛ рд▓реЗрдЦ рд▓реЗрдЦреЗ - рдЕрдм рдХрдореНрдкрдиреАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдердк рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдЫред
рдпрд╕ рд╕реБрд╡рд┐рдзрд╛рдорд╛ рдХрд╛рдо рдЧрд░реНрджрд╛ рдорд▓рд╛рдИ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрд╕рдБрдЧ рдЯрд┐рдВрдХрд░ рдЧрд░реНрди рдбрд░рд╛рдЙрдиреБ рдкрд░реНрджреИрди рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмреБрдЭрд┐рдпреЛ - рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рд╕реНрдкрд╖реНрдЯ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЫ, рд░ рднрд╛рд╖рд╛рдХреЛ рдЖрдзрд╛рд░рднреВрдд рдЬреНрдЮрд╛рди рдкрдирд┐ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреЗрдЫред рд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛рдорд╛ рджреГрдврддрд╛рдХреЛ рд╕рд╛рде, рддрдкрд╛рдИрд▓реЗ рдШреГрдгрд┐рдд рджрд┐рдирдЪрд░реНрдпрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреЗрдЫ, рдирдпрд╛рдБ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдордп рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рд╕реНрд░реЛрдд: www.habr.com