рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЯреНрд░реЗрдВрдб рдХреЙрд▓рдо рдХреЛ рдЬреЛрдбрд╝рдирд╛

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ , рдореИрдВрдиреЗ рд╢рд╣рд░реЛрдВ рдХреА рдЖрдмрд╛рджреА рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЬреЛрдбрд╝реА, рдЬрд┐рд╕реЗ рдореИрдВ рдпрд╣рд╛рдВ рд▓реЗ рдЧрдпрд╛ ред


рдЪрд┐рддреНрд░ 1

рдореИрдВрдиреЗ Excel рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ:


Fig.2

рдФрд░ рдЖрдпрд╛рдд-рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ SQL рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛:


3 рдЪрд┐рддреНрд░


рдЪрд┐рддреНрд░ 4


рдЪрд┐рддреНрд░рд╛ 5


рдЪрд┐рддреНрд░рд╛ 6


рдЪрд┐рддреНрд░ 7


рдЪрд┐рддреНрд░ 8


рдЪрд┐рддреНрд░ 9

SSMS (рдбрд┐рдЬрд╝рд╛рдЗрди) рдореЗрдВ рдЖрдпрд╛рддрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЦреЛрд▓реЗрдВ рдФрд░ [рд╕рдВрдЦреНрдпрд╛] рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ:


рдЪрд┐рддреНрд░ резреж

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, SSMS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (SSMS -> рдЯреВрд▓реНрд╕ -> рд╡рд┐рдХрд▓реНрдк) рдореЗрдВ, рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:


рдЪрд┐рддреНрд░рд╛ 11

рдЖрдпрд╛рдд-рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдбреАрдмреАрдУ рд╕реНрдХреАрдорд╛ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реНрдХреАрдо рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЯреЗрдмрд▓ рдбрд┐рдЬрд╛рдЗрдирд░ (F4 - Properties) рдореЗрдВ рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред T-SQL рдореЗрдВ, ALTER SCHEMA ... рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрдорд╛рдВрдб рдЗрд╕реА рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред


рдЪрд┐рддреНрд░ 12

рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, SQL Server 2000 рдореЗрдВ рд╡рд╛рдкрд╕ рджрд┐рдЦрд╛рдИ рджреА, рд▓реЗрдХрд┐рди рдПрдХ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдиреЛрдЯреЗрд╢рди рд╣реИ (рдЧреБрдг рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ -> рдЙрдиреНрдирдд рдЧреБрдг)ред рдЖрдк рдХреЛрдИ рднреА рдХрд╕реНрдЯрдо рдЧреБрдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓рд░ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ, рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпрд╛рдБ sp_addextendedproperty, sp_updateextendedproperty, sp_dropextendedproperty, рд╕рд╛рде рд╣реА fn_listextendedproperty рдлрд╝рдВрдХреНрд╢рди рдЗрд╕рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ ред рдореИрдВ рдЙрд╕ рд▓рд┐рдВрдХ рдХреЛ рд╕реЗрд╡ рдХрд░реВрдБрдЧрд╛ рдЬрд╣рд╛рдБ рд╕реЗ рдореИрдВрдиреЗ рдЯреЗрдмрд▓ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдерд╛:


рдЪрд┐рддреНрд░рд╛ 13

рдЕрдм рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬреЛ рдЗрд╕ рд╢рд╣рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реЗрд▓ рдореЗрдВ рдПрдХ рдЯреНрд░реЗрдВрдб рдЧреНрд░рд╛рдл рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрд╖ рддрдХ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИред рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реНрдкрд╛рд░реНрдХрд▓рд╛рдЗрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрдПред CityPopulation рддрд╛рд▓рд┐рдХрд╛ рдкрд╣рд▓реЗ


рдЪрд┐рддреНрд░ 14

рд╡рд░реНрд╖ 1897, 1926, ..., 2010 рдХреЛ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдорд╛рдк рдХреЙрд▓рдо рдореЗрдВ рдмрджрд▓рдХрд░ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдорд╛рдк рд╢рд╣рд░ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп:

select , ,  from CityPopulation unpivot ( for  in ([1897], [1926], [1939], [1959], [1970], [1979], [1989], [2002], [2010])) t 



рдЪрд┐рддреНрд░ 15

рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде, рдореИрдВ 2010 рдХреА рдЕрдВрддрд┐рдо рдЬрдирдЧрдгрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЪрд┐рддреНрд░ 15 рд╕реЗ рд╣рдореЗрдВ 2010 рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд╣рд░ рд╕реНрддрдВрдн рдореЗрдВ рдЪрд┐рддреНрд░ 15 рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 with cte as (select , ,  from CityPopulation unpivot ( for  in ([1897], [1926], [1939], [1959], [1970], [1979], [1989], [2002], [2010])) t) select t1., t1., t1., t2. from cte t1 join (select ,  as  from cte where  = 2010) t2 on t1. = t2. 



рдЪрд┐рддреНрд░рд╛ 16

рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП рд╣рдо SSDT рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:


рдЪрд┐рддреНрд░ 17

рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХреНрд╡реЗрд░реА Fig.16 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЬрд┐рд╕ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдпрд╣ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рдо рдЙрд╕реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд 1 рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдирдХреНрд╢рд╛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЪрд┐рддреНрд░ 18


рдЪрд┐рддреНрд░ 19

рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛рд░реНрдп рд╕рддрд╣ рдкрд░ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝реЗрдВред рдпрджрд┐ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдлрд╝реАрд▓реНрдб рд╡рд╛рд▓рд╛ рдкреИрдирд▓ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╢реАрд░реНрд╖ рдореЗрдиреВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ -> рд░рд┐рдкреЛрд░реНрдЯ рдбреЗрдЯрд╛ (рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛)ред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреА рдкрд╣рд▓реА рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЯреА рдлрд╝реАрд▓реНрдб рдХреЛ рдЦреАрдВрдЪреЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╣рдо ZakryniyGod рд╡рд░реНрд╖ рдлрд╝реАрд▓реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ 2010 рдХреА рдЬрдирдЧрдгрдирд╛ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рдо рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди рд╕реБрдо рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдлрдВрдХреНрд╢рди (рд╕реЗрд▓ рдЧреБрдгреЛрдВ рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐)ред рдпрд╛ рдЕрдВрддрд┐рдо, рдпрд╛ рдиреНрдпреВрдирддрдо, рдпрд╛ рдЕрдзрд┐рдХрддрдо - рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рддред рд╕рдорд╛рдкреНрддрд┐ рд╡рд░реНрд╖ рдХрд╛ рдорд╛рдк рд╕рдордп рдЖрдпрд╛рдо рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕рд┐рдЯреА рдЖрдпрд╛рдо рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ - рдЪрд┐рддреНрд░ 16ред


рдЪрд┐рддреНрд░ 20

рдЫрд╡рд┐ 16 рдореЗрдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЕрдм рд╕рд┐рдЯреА рдЖрдпрд╛рдо рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рд╣реИред рдЕрдиреНрдп рд╕рднреА рдорд╛рдк (рд╕рдордп) рдврд╣ рдЧрдП рд╣реИрдВред рд╣рдо рджрд╛рд╣рд┐рдиреЗ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рд╕реЗрд▓ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ рдХреЙрд▓рдо -> рдЗрдирд╕рд╛рдЗрдб рдЧреНрд░реБрдк - рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рд░рд╛рдЗрдЯред


рдЪрд┐рддреНрд░рд╛ 21

рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдмреНрд╕рд┐рд╕реНрд╕рд╛ рдЕрдХреНрд╖ (рд╢реНрд░реЗрдгреА рд╕рдореВрд╣) рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕рдЬрд╛рдпрд╛ рдЖрдпрд╛рдо рдЖрдпрд╛рдо рд╕рдордп (рд╡рд░реНрд╖) рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдордиреНрд╡рдп рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╣рдо рдЫрд┐рдкреЗ рд╣реБрдП рдорд╛рдк рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рджреЛрдиреЛрдВ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред Sum рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕рд┐рдЯреАрдкреЙрдкреБрд▓реЗрд╢рди рдЯреЗрдмрд▓ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдЕрдиреНрдп рдЖрдпрд╛рдо рдврд╣ рдЧрдП рдереЗ, рддреЛ рдпрд╣ рд╕рдордЧреНрд░ рдлрд╝рдВрдХреНрд╢рди рдЙрди рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рдорд╛рдк рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХреБрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рдЪреБрдирдирд╛ рд╣реИ - рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВред


рдЪрд┐рддреНрд░ 22

рд╣реЗрдбрд░ рд╕реЗрд▓ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓рдо рд╣реЗрдбрд░ рдбрд╛рд▓реЗрдВред


рдЪрд┐рддреНрд░ 23

рдлрд╝реЙрдиреНрдЯ, рд░рдВрдЧ, рд╕рдВрд░реЗрдЦрдг рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реМрдВрджрд░реНрдп рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╕реЙрдлреНрдЯ рдкреЗрдЬрд┐рдиреЗрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ HTML рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╕рдордп рдкреВрд░реЗ рд╢рд╣рд░ рдХрд╛ рдЯреЗрдмрд▓ рдЕрдкрдиреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреБрдг рдкреИрдирд▓ рдореЗрдВ, рдЙрдкрд▓рдмреНрдз рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдореЗрдВ рдЪрдпрди рдХрд░реЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ, рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡рд╛рдЗрдЬрд╝ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдКрдБрдЪрд╛рдИ = 0 рд╕реЗрдЯ рдХрд░реЗрдВред


Fig.24

рддрд╛рдХрд┐ рдордзреНрдп рд╕реНрддрдВрдн рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдЪрд╛рд░реНрдЯ рд╕реЗ рд╕рдЯреЗ рди рд╣реЛрдВ, рд╕реЗрд▓ рдЧреБрдгреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдкреИрдбрд┐рдВрдЧ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ -> рд╕рд╣реАред рд▓реЗрдХрд┐рди рд╡рд╣ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдЕрдм рд╢рд╣рд░реЛрдВ рдХреЛ рдПрдХ рдлреНрд▓реИрдЯ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдзред рдпрд╣ рд╢рд╛рдпрдж рдкреНрд░рд╛рджреЗрд╢рд┐рдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреИрд░реЗрдВрдЯ-рдЪрд╛рдЗрд▓реНрдб рдкрджрд╛рдиреБрдХреНрд░рдо CityPopulation рдЯреЗрдмрд▓ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЪрд┐рддреНрд░ 1 рдХреА рдореВрд▓ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╣рд╛рде рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреЗрд░реЗрдВрдЯрди рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдХреЙрд▓рдо рдмрдирд╛рдПрдБ рдФрд░ рдЗрд╕реЗ "рдкреИрд░реЗрдВрдЯ" рд╢рд╣рд░ рдХреЗ рд▓рд┐рдП рдорд╛рди [рд╕рдВред] рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдорд╛рд╕реНрдХреЛ рдХреЗ рдкрд╛рд╕ рдХреЗ рд╢рд╣рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред

 with cte as (select [тДЦ], , 0 as level, cast(str([тДЦ], 4) as varchar(max)) as ord from CityPopulation where ParentN is null union all select t.[тДЦ], t., level + 1, ord + str(t.[тДЦ], 4) from CityPopulation t join cte on t.ParentN = cte.[тДЦ]) select replicate(' ', level * 2) +  from cte order by ord 



Fig.25

рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдХрд┐ LAG () / LEAD () рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА STE рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрднрд┐рднрд╛рд╡рдХ-рдмрдЪреНрдЪреЗ рдХреЛ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

рд╕реАрдЯреАрдИ рдХреЗ рд░реВрдк рдореЗрдВ (рдЪрдпрди рдХрд░реЗрдВ [рд╕рдВред], рд╢рд╣рд░, рдкрджрд╛рдиреБрдХреНрд░рдо :: GetRoot ()ред GetDescenders (рдЕрд╢рдХреНрдд, рдЕрд╢рдХреНрдд) CityPopulation рд╕реЗ рдЫрд┐рдкрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╣рд╛рдВ ParentN рдЕрд╢рдХреНрдд рд╣реИ
рд╕рдВрдШ рд╕рднреА рдЪреБрдирд┐рдВрджрд╛ рдЯреАред [рд╕рдВ], рдЯреАред рд╕рд┐рдЯреА, cte.hid.GetDescenders (lag (t.hid, 1) рдУрд╡рд░ (t.ParentN рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди tред [рдирд╣реАрдВ]], null) CityPopulation t рд╕реЗ cte рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред t.ParentN = cte рдкрд░ред [рд╕рдВред])
hte рджреНрд╡рд╛рд░рд╛ cte рдСрд░реНрдбрд░ рд╕реЗ * рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ

рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕ - t.hid рдорд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪрд┐рддреНрд░ 25 рдкреБрд░рд╛рдиреЗ рдврдВрдЧ рдХрд╛ рд╣реИред рд╣рдо рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред DataSet2 рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдмрджрд▓реЗрдВ

 WITH cte AS (SELECT , ,  FROM CityPopulation UNPIVOT ( FOR  IN ([1897], [1926], [1939], [1959], [1970], [1979], [1989], [2002], [2010])) t) SELECT cp.[тДЦ] N, t1., t1., t1., t2., cp.ParentN FROM cte t1 JOIN (SELECT ,  AS  FROM cte WHERE  = 2010) t2 ON t1. = t2. join CityPopulation cp on t1. = cp. 


рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ ParentN рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП


рдЪрд┐рддреНрд░ 26

рд░рд┐рдкреЛрд░реНрдЯ рдбреЗрдЯрд╛ рдореЗрдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рдлрд╝реАрд▓реНрдб рдХреА рд╕реВрдЪреА рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдЬрд╝рд╛ рдлрд╝реАрд▓реНрдб рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд░рд┐рдкреЛрд░реНрдЯ рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдкрд╛рджрди рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рддрд╛рдЬрд╝рд╛ рдлрд╝реАрд▓реНрдб рдмрдЯрди рднреА рд╣реИ ...


рдЪрд┐рддреНрд░ 27

рд╢рд╣рд░ рдкрдВрдХреНрддрд┐ рд╕рдореВрд╣ рдХреЗ рдЧреБрдг рдЦреЛрд▓реЗрдВ:


рдЪрд┐рддреНрд░ 28

рд╕рд┐рдЯреА рдлрд╝реАрд▓реНрдб рд╕реЗ N рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдореВрд╣реАрдХрд░рдг рдорд╛рдирджрдВрдб рдмрджрд▓реЗрдВ:


рдЪрд┐рддреНрд░ 29

рдмрд╛рдИрдВ рдУрд░ рдЙрдиреНрдирдд рдкрд░ рдЦрдбрд╝реЗ рд╣реЛ рдЬрд╛рдУред рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЬрдирдХ рдХреЗ рд░реВрдк рдореЗрдВ ParentN рдлрд╝реАрд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ CityPopulation рддрд╛рд▓рд┐рдХрд╛ рдлрд╝реАрд▓реНрдб рдирдВрдмрд░> - ParentN рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рдПрди рд╣рдордиреЗ рдХреЗрд╡рд▓ рдЕрдВрдЬреАрд░ рдореЗрдВ 29 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛, рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдЖрд░рдХреЗ рд╕рдореВрд╣ред рдпрд╣ рд╡рд┐рджреЗрд╢реА рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреБрдВрдЬреА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдЕрд░реНрдерд╛рддред рдореВрд▓ рдХреНрд╖реЗрддреНрд░:


рдЪрд┐рддреНрд░ рейрежред

рджреГрд╢реНрдпрддрд╛ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдХ рдврд╣рдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐ (рдЫрд┐рдкрд╛рдирд╛) рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ "рд╕рд┐рдЯреА" (рдЪрд┐рддреНрд░ 20, рдЧреБрдг рджреЗрдЦреЗрдВ) рдирд╛рдордХ рдПрдХ рд╕реЗрд▓ рдореЗрдВ рдПрдХ рдкреНрд▓рд╕ рдЪрд┐рдиреНрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдбрд┐рд╕рд┐рдкреНрд▓рд┐рди рдХреЛ рдЯреЙрдЧрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдЖрдЗрдЯрдо = рд╢рд╣рд░):


рдЪрд┐рддреНрд░ 31

рдпрд╣ рдХреЗрд╡рд▓ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рддреАрди рдмрд╛рддреЗрдВ рдпрд╛рдж рд░рдЦрдиреЗ рдХреАред рдкрд╣рд▓рд╛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдкреЗрдбрд┐рдВрдЧ (рд▓реЗрдлреНрдЯ) рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ - рдкреНрд░реЙрдкрд░реНрдЯреА рд╡реИрд▓реНрдпреВ рдореЗрдВ рдлреЙрд░реНрдореВрд▓реЗ (рдПрдХреНрд╕рдкреНрд░реЗрд╢рди) рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдлреНрд▓рд╛рдИ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддреАрд╕рд░рд╛ - рдЖрд░рдПрд╕ рдореЗрдВ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рд╕реНрддрд░ рдХреЛ рд▓реЗрд╡рд▓ рдлрдВрдХреНрд╢рди (<рд╕реНрдХреЗрд▓>) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдХреЗрд▓ рдЧреНрд░реБрдкрд┐рдВрдЧ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╕реНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдЯреА рдЧреНрд░реБрдк рдЦреБрдж рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд╣рдо рд╕реЗрд▓ (рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕) рд╕рд┐рдЯреА рдкрд░ рдЙрдарддреЗ рд╣реИрдВ, рдкреНрд░реЙрдкрд░реНрдЯреА рдкреИрдирд▓ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдкреЗрдбрд┐рдВрдЧ -> рд▓реЗрдлреНрдЯ рдкрд╛рддреЗ рд╣реИрдВ


рдЪрд┐рддреНрд░ 32

рдФрд░ рдмрд╛рдПрдВ рдорд╛рд░реНрдЬрд┐рди = рд╕реНрддрд░ ("рд╢рд╣рд░") * 15 рдФрд░ "pt" рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗрдЯ рдХрд░реЗрдВ:


рдЪрд┐рддреНрд░ 33

рд░рд┐рдкреЛрд░реНрдЯ рдЪрд▓рд╛рдПрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдм рдореЙрд╕реНрдХреЛ рдХреЗ рдкрд╛рд╕ рдХреЗ рд╢рд╣рд░реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЙрд╕реНрдХреЛ рд╢рд╣рд░ рдХреЗ рдкрд╛рд╕ + рдЖрдЗрдХрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдпрд╣ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИред рдХреБрдЫ рд╢рд╣рд░реЛрдВ рдореЗрдВ рдЦрд╛рд▓реА рд░реБрдЭрд╛рдиреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдЬрдирдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЙрдирдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ 1 рдХреЗ рд╢реБрд░реБрдЖрддреА рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдереЗред


рдЪрд┐рддреНрд░ 34

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, SQL рд╕рд░реНрд╡рд░ 2012 рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣реБрдЖ рдерд╛ред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛рдПрдБ SQL рд╕рд░реНрд╡рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЕрд░реНрдерд╛рддред рдореБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдпрд╣ рд╕рдм рднреА рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╕рдордЭрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In146172/


All Articles