mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-15 01:54:43 +00:00
Removes the USP_* stored procedures for Auth, Location, and Brewery data access in favour of services built with Dapper. Adds a new Features.Locations slice and optimistic concurrency support for the Brewery slice.
1 line
63 KiB
XML
1 line
63 KiB
XML
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1204px" preserveAspectRatio="none" style="width:4078px;height:1204px;background:#FFFFFF;" version="1.1" viewBox="0 0 4078 1204" width="4078px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="Arial" font-size="22" font-weight="bold" lengthAdjust="spacing" textLength="185" x="1942" y="35.6357">Database Schema</text><!--cluster User & Auth--><g id="cluster_User & Auth"><rect fill="#FFFFFF" height="608.87" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="1452" x="2063" y="58.2979"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="83" x="2747.5" y="73.4297">User & Auth</text></g><!--cluster Location--><g id="cluster_Location"><rect fill="#FFFFFF" height="560.57" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="326" x="3746" y="98.5479"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="60" x="3879" y="113.6797">Location</text></g><!--cluster Brewery--><g id="cluster_Brewery"><rect fill="#FFFFFF" height="346.39" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="1071" x="960" y="569.6179"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="58" x="1466.5" y="584.7497">Brewery</text></g><!--cluster Beer (*)--><g id="cluster_Beer (*)"><rect fill="#FFFFFF" height="633.02" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="694" x="12" y="515.8279"/><text fill="#000000" font-family="Arial" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="53" x="332.5" y="530.9597">Beer (*)</text></g><!--class User--><g id="elem_User"><rect codeLine="11" fill="#FFFFFF" height="172.7891" id="User" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="287" x="2634.5" y="93.2979"/><ellipse cx="2734.25" cy="107.2979" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M2730.6094,113.7979 L2730.6094,101.6572 L2738.2656,101.6572 L2738.2656,103.7822 L2732.9844,103.7822 L2732.9844,106.4385 L2738,106.4385 L2738,108.5635 L2732.9844,108.5635 L2732.9844,111.6729 L2738.2656,111.6729 L2738.2656,113.7979 L2730.6094,113.7979 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="80" x="2751.75" y="112.3804">UserAccount</text><line style="stroke:#000000;stroke-width:1.0;" x1="2635.5" x2="2920.5" y1="121.2979" y2="121.2979"/><ellipse cx="2645.5" cy="134.8472" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="263" x="2652.5" y="138.4297">UserAccountID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="2635.5" x2="2920.5" y1="145.3965" y2="145.3965"/><ellipse cx="2645.5" cy="158.9458" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="234" x="2652.5" y="162.5283">Username: VARCHAR(64) «UNIQUE»</text><ellipse cx="2645.5" cy="175.0444" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="181" x="2652.5" y="178.627">FirstName: NVARCHAR(128)</text><ellipse cx="2645.5" cy="191.1431" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="180" x="2652.5" y="194.7256">LastName: NVARCHAR(128)</text><ellipse cx="2645.5" cy="207.2417" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="212" x="2652.5" y="210.8242">Email: VARCHAR(128) «UNIQUE»</text><ellipse cx="2645.5" cy="223.3403" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="2652.5" y="226.9229">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="143" x="2652.5" y="243.0215">UpdatedAt: DATETIME</text><ellipse cx="2645.5" cy="255.5376" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="119" x="2652.5" y="259.1201">DateOfBirth: DATE</text></g><!--class Cred--><g id="elem_Cred"><rect codeLine="23" fill="#FFFFFF" height="156.6904" id="Cred" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="301" x="2079.5" y="326.0879"/><ellipse cx="2179.25" cy="340.0879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M2175.6094,346.5879 L2175.6094,334.4472 L2183.2656,334.4472 L2183.2656,336.5722 L2177.9844,336.5722 L2177.9844,339.2285 L2183,339.2285 L2183,341.3535 L2177.9844,341.3535 L2177.9844,344.4629 L2183.2656,344.4629 L2183.2656,346.5879 L2175.6094,346.5879 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="94" x="2196.75" y="345.1704">UserCredential</text><line style="stroke:#000000;stroke-width:1.0;" x1="2080.5" x2="2379.5" y1="354.0879" y2="354.0879"/><ellipse cx="2090.5" cy="367.6372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="277" x="2097.5" y="371.2197">UserCredentialID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="2080.5" x2="2379.5" y1="378.1865" y2="378.1865"/><ellipse cx="2090.5" cy="391.7358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="263" x="2097.5" y="395.3183">UserAccountID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="2090.5" cy="407.8344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="2097.5" y="411.417">CreatedAt: DATETIME</text><ellipse cx="2090.5" cy="423.9331" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="115" x="2097.5" y="427.5156">Expiry: DATETIME</text><ellipse cx="2090.5" cy="440.0317" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="149" x="2097.5" y="443.6142">Hash: NVARCHAR(256)</text><ellipse cx="2090.5" cy="456.1303" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="95" x="2097.5" y="459.7129">IsRevoked: BIT</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="146" x="2097.5" y="475.8115">RevokedAt: DATETIME</text></g><!--class Verify--><g id="elem_Verify"><rect codeLine="34" fill="#FFFFFF" height="92.2959" id="Verify" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="345" x="2415.5" y="358.2879"/><ellipse cx="2534.75" cy="372.2879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M2531.1094,378.7879 L2531.1094,366.6472 L2538.7656,366.6472 L2538.7656,368.7722 L2533.4844,368.7722 L2533.4844,371.4285 L2538.5,371.4285 L2538.5,373.5535 L2533.4844,373.5535 L2533.4844,376.6629 L2538.7656,376.6629 L2538.7656,378.7879 L2531.1094,378.7879 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="99" x="2552.25" y="377.3704">UserVerification</text><line style="stroke:#000000;stroke-width:1.0;" x1="2416.5" x2="2759.5" y1="386.2879" y2="386.2879"/><ellipse cx="2426.5" cy="399.8372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="282" x="2433.5" y="403.4197">UserVerificationID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="2416.5" x2="2759.5" y1="410.3865" y2="410.3865"/><ellipse cx="2426.5" cy="423.9358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="321" x="2433.5" y="427.5183">UserAccountID: UNIQUEIDENTIFIER «FK, UNIQUE»</text><ellipse cx="2426.5" cy="440.0344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="208" x="2433.5" y="443.617">VerificationDateTime: DATETIME</text></g><!--class Avatar--><g id="elem_Avatar"><rect codeLine="41" fill="#FFFFFF" height="92.2959" id="Avatar" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="345" x="2795.5" y="358.2879"/><ellipse cx="2919.75" cy="372.2879" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M2916.1094,378.7879 L2916.1094,366.6472 L2923.7656,366.6472 L2923.7656,368.7722 L2918.4844,368.7722 L2918.4844,371.4285 L2923.5,371.4285 L2923.5,373.5535 L2918.4844,373.5535 L2918.4844,376.6629 L2923.7656,376.6629 L2923.7656,378.7879 L2916.1094,378.7879 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="89" x="2937.25" y="377.3704">UserAvatar (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="2796.5" x2="3139.5" y1="386.2879" y2="386.2879"/><ellipse cx="2806.5" cy="399.8372" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="253" x="2813.5" y="403.4197">UserAvatarID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="2796.5" x2="3139.5" y1="410.3865" y2="410.3865"/><ellipse cx="2806.5" cy="423.9358" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="321" x="2813.5" y="427.5183">UserAccountID: UNIQUEIDENTIFIER «FK, UNIQUE»</text><ellipse cx="2806.5" cy="440.0344" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="220" x="2813.5" y="443.617">PhotoID: UNIQUEIDENTIFIER «FK»</text></g><!--class Follow--><g id="elem_Follow"><rect codeLine="48" fill="#FFFFFF" height="108.3945" id="Follow" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="287" x="3175.5" y="350.2379"/><ellipse cx="3271.25" cy="364.2379" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M3267.6094,370.7379 L3267.6094,358.5972 L3275.2656,358.5972 L3275.2656,360.7222 L3269.9844,360.7222 L3269.9844,363.3785 L3275,363.3785 L3275,365.5035 L3269.9844,365.5035 L3269.9844,368.6129 L3275.2656,368.6129 L3275.2656,370.7379 L3267.6094,370.7379 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="88" x="3288.75" y="369.3204">UserFollow (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="3176.5" x2="3461.5" y1="378.2379" y2="378.2379"/><ellipse cx="3186.5" cy="391.7872" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="252" x="3193.5" y="395.3697">UserFollowID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="3176.5" x2="3461.5" y1="402.3365" y2="402.3365"/><ellipse cx="3186.5" cy="415.8858" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="263" x="3193.5" y="419.4683">UserAccountID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="3186.5" cy="431.9844" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="242" x="3193.5" y="435.567">FollowingID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="3186.5" cy="448.0831" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="3193.5" y="451.6656">CreatedAt: DATETIME</text></g><!--class Photo--><g id="elem_Photo"><rect codeLine="56" fill="#FFFFFF" height="108.3945" id="Photo" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="283" x="2452.5" y="542.7779"/><ellipse cx="2562.25" cy="556.7779" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M2558.6094,563.2779 L2558.6094,551.1372 L2566.2656,551.1372 L2566.2656,553.2622 L2560.9844,553.2622 L2560.9844,555.9185 L2566,555.9185 L2566,558.0435 L2560.9844,558.0435 L2560.9844,561.1529 L2566.2656,561.1529 L2566.2656,563.2779 L2558.6094,563.2779 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="56" x="2579.75" y="561.8604">Photo (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="2453.5" x2="2734.5" y1="570.7779" y2="570.7779"/><ellipse cx="2463.5" cy="584.3272" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="220" x="2470.5" y="587.9097">PhotoID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="2453.5" x2="2734.5" y1="594.8765" y2="594.8765"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="175" x="2470.5" y="612.0083">Hyperlink: NVARCHAR(256)</text><ellipse cx="2463.5" cy="624.5244" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="259" x="2470.5" y="628.107">UploadedByID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="2463.5" cy="640.6231" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="150" x="2470.5" y="644.2056">UploadedAt: DATETIME</text></g><!--class Country--><g id="elem_Country"><rect codeLine="66" fill="#FFFFFF" height="92.2959" id="Country" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="257" x="3780.5" y="133.5479"/><ellipse cx="3880.25" cy="147.5479" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M3876.6094,154.0479 L3876.6094,141.9072 L3884.2656,141.9072 L3884.2656,144.0322 L3878.9844,144.0322 L3878.9844,146.6885 L3884,146.6885 L3884,148.8135 L3878.9844,148.8135 L3878.9844,151.9229 L3884.2656,151.9229 L3884.2656,154.0479 L3876.6094,154.0479 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="50" x="3897.75" y="152.6304">Country</text><line style="stroke:#000000;stroke-width:1.0;" x1="3781.5" x2="4036.5" y1="161.5479" y2="161.5479"/><ellipse cx="3791.5" cy="175.0972" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="233" x="3798.5" y="178.6797">CountryID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="3781.5" x2="4036.5" y1="185.6465" y2="185.6465"/><ellipse cx="3791.5" cy="199.1958" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="203" x="3798.5" y="202.7783">CountryName: NVARCHAR(100)</text><ellipse cx="3791.5" cy="215.2944" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="205" x="3798.5" y="218.877">ISO3166_1: CHAR(2) «UNIQUE»</text></g><!--class StateProvince--><g id="elem_StateProvince"><rect codeLine="73" fill="#FFFFFF" height="108.3945" id="StateProvince" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="295" x="3761.5" y="350.2379"/><ellipse cx="3861.25" cy="364.2379" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M3857.6094,370.7379 L3857.6094,358.5972 L3865.2656,358.5972 L3865.2656,360.7222 L3859.9844,360.7222 L3859.9844,363.3785 L3865,363.3785 L3865,365.5035 L3859.9844,365.5035 L3859.9844,368.6129 L3865.2656,368.6129 L3865.2656,370.7379 L3857.6094,370.7379 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="88" x="3878.75" y="369.3204">StateProvince</text><line style="stroke:#000000;stroke-width:1.0;" x1="3762.5" x2="4055.5" y1="378.2379" y2="378.2379"/><ellipse cx="3772.5" cy="391.7872" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="271" x="3779.5" y="395.3697">StateProvinceID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="3762.5" x2="4055.5" y1="402.3365" y2="402.3365"/><ellipse cx="3772.5" cy="415.8858" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="241" x="3779.5" y="419.4683">StateProvinceName: NVARCHAR(100)</text><ellipse cx="3772.5" cy="431.9844" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="205" x="3779.5" y="435.567">ISO3166_2: CHAR(6) «UNIQUE»</text><ellipse cx="3772.5" cy="448.0831" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="233" x="3779.5" y="451.6656">CountryID: UNIQUEIDENTIFIER «FK»</text></g><!--class City--><g id="elem_City"><rect codeLine="81" fill="#FFFFFF" height="92.2959" id="City" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="295" x="3761.5" y="550.8279"/><ellipse cx="3893.25" cy="564.8279" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M3889.6094,571.3279 L3889.6094,559.1872 L3897.2656,559.1872 L3897.2656,561.3122 L3891.9844,561.3122 L3891.9844,563.9685 L3897,563.9685 L3897,566.0935 L3891.9844,566.0935 L3891.9844,569.2029 L3897.2656,569.2029 L3897.2656,571.3279 L3889.6094,571.3279 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="24" x="3910.75" y="569.9104">City</text><line style="stroke:#000000;stroke-width:1.0;" x1="3762.5" x2="4055.5" y1="578.8279" y2="578.8279"/><ellipse cx="3772.5" cy="592.3772" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="207" x="3779.5" y="595.9597">CityID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="3762.5" x2="4055.5" y1="602.9265" y2="602.9265"/><ellipse cx="3772.5" cy="616.4758" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="177" x="3779.5" y="620.0583">CityName: NVARCHAR(100)</text><ellipse cx="3772.5" cy="632.5744" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="271" x="3779.5" y="636.157">StateProvinceID: UNIQUEIDENTIFIER «FK»</text></g><!--class Brewery--><g id="elem_Brewery"><rect codeLine="90" fill="#FFFFFF" height="140.5918" id="Brewery" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="286" x="984" y="743.3679"/><ellipse cx="1083.75" cy="757.3679" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M1080.1094,763.8679 L1080.1094,751.7272 L1087.7656,751.7272 L1087.7656,753.8522 L1082.4844,753.8522 L1082.4844,756.5085 L1087.5,756.5085 L1087.5,758.6335 L1082.4844,758.6335 L1082.4844,761.7429 L1087.7656,761.7429 L1087.7656,763.8679 L1080.1094,763.8679 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="79" x="1101.25" y="762.4504">BreweryPost</text><line style="stroke:#000000;stroke-width:1.0;" x1="985" x2="1269" y1="771.3679" y2="771.3679"/><ellipse cx="995" cy="784.9172" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="262" x="1002" y="788.4997">BreweryPostID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="985" x2="1269" y1="795.4665" y2="795.4665"/><ellipse cx="995" cy="809.0158" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="204" x="1002" y="812.5983">BreweryName: NVARCHAR(256)</text><ellipse cx="995" cy="825.1144" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="243" x="1002" y="828.697">PostedByID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="995" cy="841.2131" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="188" x="1002" y="844.7956">Description: NVARCHAR(512)</text><ellipse cx="995" cy="857.3117" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="1002" y="860.8942">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="143" x="1002" y="876.9929">UpdatedAt: DATETIME</text></g><!--class BreweryLoc--><g id="elem_BreweryLoc"><rect codeLine="100" fill="#FFFFFF" height="156.6904" id="BreweryLoc" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="344" x="1663" y="735.3179"/><ellipse cx="1764.75" cy="749.3179" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M1761.1094,755.8179 L1761.1094,743.6772 L1768.7656,743.6772 L1768.7656,745.8022 L1763.4844,745.8022 L1763.4844,748.4585 L1768.5,748.4585 L1768.5,750.5835 L1763.4844,750.5835 L1763.4844,753.6929 L1768.7656,753.6929 L1768.7656,755.8179 L1761.1094,755.8179 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="133" x="1782.25" y="754.4004">BreweryPostLocation</text><line style="stroke:#000000;stroke-width:1.0;" x1="1664" x2="2006" y1="763.3179" y2="763.3179"/><ellipse cx="1674" cy="776.8672" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="316" x="1681" y="780.4497">BreweryPostLocationID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="1664" x2="2006" y1="787.4165" y2="787.4165"/><ellipse cx="1674" cy="800.9658" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="320" x="1681" y="804.5483">BreweryPostID: UNIQUEIDENTIFIER «FK, UNIQUE»</text><ellipse cx="1674" cy="817.0644" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="204" x="1681" y="820.647">AddressLine1: NVARCHAR(256)</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="204" x="1681" y="836.7456">AddressLine2: NVARCHAR(256)</text><ellipse cx="1674" cy="849.2617" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="182" x="1681" y="852.8442">PostalCode: NVARCHAR(20)</text><ellipse cx="1674" cy="865.3603" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="207" x="1681" y="868.9429">CityID: UNIQUEIDENTIFIER «FK»</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="173" x="1681" y="885.0415">Coordinates: GEOGRAPHY</text></g><!--class BreweryPhoto--><g id="elem_BreweryPhoto"><rect codeLine="111" fill="#FFFFFF" height="108.3945" id="BreweryPhoto" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="323" x="1304.5" y="759.4679"/><ellipse cx="1394.75" cy="773.4679" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M1391.1094,779.9679 L1391.1094,767.8272 L1398.7656,767.8272 L1398.7656,769.9522 L1393.4844,769.9522 L1393.4844,772.6085 L1398.5,772.6085 L1398.5,774.7335 L1393.4844,774.7335 L1393.4844,777.8429 L1398.7656,777.8429 L1398.7656,779.9679 L1391.1094,779.9679 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="135" x="1412.25" y="778.5504">BreweryPostPhoto (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="1305.5" x2="1626.5" y1="787.4679" y2="787.4679"/><ellipse cx="1315.5" cy="801.0172" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="299" x="1322.5" y="804.5997">BreweryPostPhotoID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="1305.5" x2="1626.5" y1="811.5665" y2="811.5665"/><ellipse cx="1315.5" cy="825.1158" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="262" x="1322.5" y="828.6983">BreweryPostID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="1315.5" cy="841.2144" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="220" x="1322.5" y="844.797">PhotoID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="1315.5" cy="857.3131" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="132" x="1322.5" y="860.8956">LinkedAt: DATETIME</text></g><!--class BeerStyle--><g id="elem_BeerStyle"><rect codeLine="121" fill="#FFFFFF" height="92.2959" id="BeerStyle" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="278" x="338" y="550.8279"/><ellipse cx="433.25" cy="564.8279" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M429.6094,571.3279 L429.6094,559.1872 L437.2656,559.1872 L437.2656,561.3122 L431.9844,561.3122 L431.9844,563.9685 L437,563.9685 L437,566.0935 L431.9844,566.0935 L431.9844,569.2029 L437.2656,569.2029 L437.2656,571.3279 L429.6094,571.3279 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="80" x="450.75" y="569.9104">BeerStyle (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="339" x2="615" y1="578.8279" y2="578.8279"/><ellipse cx="349" cy="592.3772" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="244" x="356" y="595.9597">BeerStyleID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="339" x2="615" y1="602.9265" y2="602.9265"/><ellipse cx="349" cy="616.4758" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="254" x="356" y="620.0583">StyleName: NVARCHAR(100) «UNIQUE»</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="192" x="356" y="636.157">Description: NVARCHAR(MAX)</text></g><!--class Beer--><g id="elem_Beer"><rect codeLine="128" fill="#FFFFFF" height="204.9863" id="Beer" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="270" x="342" y="711.1679"/><ellipse cx="434.75" cy="725.1679" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M431.1094,731.6679 L431.1094,719.5272 L438.7656,719.5272 L438.7656,721.6522 L433.4844,721.6522 L433.4844,724.3085 L438.5,724.3085 L438.5,726.4335 L433.4844,726.4335 L433.4844,729.5429 L438.7656,729.5429 L438.7656,731.6679 L431.1094,731.6679 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="77" x="452.25" y="730.2504">BeerPost (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="343" x2="611" y1="739.1679" y2="739.1679"/><ellipse cx="353" cy="752.7172" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="241" x="360" y="756.2997">BeerPostID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="343" x2="611" y1="763.2665" y2="763.2665"/><ellipse cx="353" cy="776.8158" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="153" x="360" y="780.3983">Name: NVARCHAR(100)</text><ellipse cx="353" cy="792.9144" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="192" x="360" y="796.497">Description: NVARCHAR(MAX)</text><ellipse cx="353" cy="809.0131" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="125" x="360" y="812.5956">ABV: DECIMAL(4,2)</text><ellipse cx="353" cy="825.1117" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="50" x="360" y="828.6942">IBU: INT</text><ellipse cx="353" cy="841.2103" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="243" x="360" y="844.7929">PostedByID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="353" cy="857.309" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="244" x="360" y="860.8915">BeerStyleID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="353" cy="873.4076" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="246" x="360" y="876.9901">BrewedByID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="353" cy="889.5062" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="360" y="893.0887">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="143" x="360" y="909.1874">UpdatedAt: DATETIME</text></g><!--class BeerPhoto--><g id="elem_BeerPhoto"><rect codeLine="142" fill="#FFFFFF" height="108.3945" id="BeerPhoto" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="302" x="388" y="1000.3079"/><ellipse cx="478.25" cy="1014.3079" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M474.6094,1020.8079 L474.6094,1008.6672 L482.2656,1008.6672 L482.2656,1010.7922 L476.9844,1010.7922 L476.9844,1013.4485 L482,1013.4485 L482,1015.5735 L476.9844,1015.5735 L476.9844,1018.6829 L482.2656,1018.6829 L482.2656,1020.8079 L474.6094,1020.8079 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="114" x="495.75" y="1019.3904">BeerPostPhoto (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="389" x2="689" y1="1028.3079" y2="1028.3079"/><ellipse cx="399" cy="1041.8572" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="278" x="406" y="1045.4397">BeerPostPhotoID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="389" x2="689" y1="1052.4065" y2="1052.4065"/><ellipse cx="399" cy="1065.9558" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="241" x="406" y="1069.5383">BeerPostID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="399" cy="1082.0544" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="220" x="406" y="1085.637">PhotoID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="399" cy="1098.1531" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="132" x="406" y="1101.7356">LinkedAt: DATETIME</text></g><!--class BeerComment--><g id="elem_BeerComment"><rect codeLine="150" fill="#FFFFFF" height="156.6904" id="BeerComment" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="325" x="28.5" y="976.1579"/><ellipse cx="118.75" cy="990.1579" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1.0;"/><path d="M115.1094,996.6579 L115.1094,984.5172 L122.7656,984.5172 L122.7656,986.6422 L117.4844,986.6422 L117.4844,989.2985 L122.5,989.2985 L122.5,991.4235 L117.4844,991.4235 L117.4844,994.5329 L122.7656,994.5329 L122.7656,996.6579 L115.1094,996.6579 Z " fill="#000000"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="137" x="136.25" y="995.2404">BeerPostComment (*)</text><line style="stroke:#000000;stroke-width:1.0;" x1="29.5" x2="352.5" y1="1004.1579" y2="1004.1579"/><ellipse cx="39.5" cy="1017.7072" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="301" x="46.5" y="1021.2897">BeerPostCommentID: UNIQUEIDENTIFIER «PK»</text><line style="stroke:#000000;stroke-width:1.0;" x1="29.5" x2="352.5" y1="1028.2565" y2="1028.2565"/><ellipse cx="39.5" cy="1041.8058" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="177" x="46.5" y="1045.3883">Comment: NVARCHAR(250)</text><ellipse cx="39.5" cy="1057.9044" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="241" x="46.5" y="1061.487">BeerPostID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="39.5" cy="1074.0031" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="275" x="46.5" y="1077.5856">CommentedByID: UNIQUEIDENTIFIER «FK»</text><ellipse cx="39.5" cy="1090.1017" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="70" x="46.5" y="1093.6842">Rating: INT</text><ellipse cx="39.5" cy="1106.2003" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="141" x="46.5" y="1109.7829">CreatedAt: DATETIME</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="143" x="46.5" y="1125.8815">UpdatedAt: DATETIME</text></g><g id="elem_GMN43"><path d="M3534,354.5879 L3534,454.2802 L3726,454.2802 L3726,364.5879 L3716,354.5879 L3534,354.5879 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M3716,354.5879 L3716,364.5879 L3726,364.5879 L3716,354.5879 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="139" x="3540" y="371.7817">Core stored procedures:</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="117" x="3540" y="386.7304">- USP_RegisterUser</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="152" x="3540" y="401.6792">- usp_UpdateUserAccount</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="148" x="3540" y="416.6279">- usp_DeleteUserAccount</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="165" x="3540" y="431.5766">- USP_RotateUserCredential</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="171" x="3540" y="446.5254">- USP_CreateUserVerification</text></g><g id="elem_GMN46"><path d="M721.5,771.2879 L721.5,856.0315 L936.5,856.0315 L936.5,781.2879 L926.5,771.2879 L721.5,771.2879 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M926.5,771.2879 L926.5,781.2879 L936.5,781.2879 L926.5,771.2879 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="139" x="727.5" y="788.4817">Core stored procedures:</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="127" x="727.5" y="803.4304">- USP_CreateBrewery</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="130" x="727.5" y="818.3792">- USP_UpdateBrewery</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="126" x="727.5" y="833.3279">- USP_DeleteBrewery</text><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="194" x="727.5" y="848.2766">(optimistic concurrency via Timer)</text></g><!--link User to Cred--><g id="link_User_Cred"><path codeLine="163" d="M2676.5,274.1779 C2676.5,311.0979 2676.5,337.8479 2676.5,337.8479 C2676.5,337.8479 2528.43,337.8479 2398.85,337.8479 " fill="none" id="User-Cred" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2672.5" x2="2680.5" y1="270.1779" y2="270.1779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2672.5" x2="2680.5" y1="273.1779" y2="273.1779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2676.5" x2="2676.5" y1="274.1779" y2="266.1779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2388.85" x2="2380.85" y1="337.8479" y2="343.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2388.85" x2="2380.85" y1="337.8479" y2="331.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2388.85" x2="2380.85" y1="337.8479" y2="337.8479"/><ellipse cx="2394.85" cy="337.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="2542.51" y="335.0417">has</text></g><!--link User to Verify--><g id="link_User_Verify"><path codeLine="164" d="M2718.5,274.5779 C2718.5,305.7079 2718.5,316.5879 2718.5,342.9679 " fill="none" id="User-Verify" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2714.5" x2="2722.5" y1="270.5779" y2="270.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2714.5" x2="2722.5" y1="273.5779" y2="273.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2718.5" x2="2718.5" y1="274.5779" y2="266.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2718.5" x2="2718.5" y1="346.9679" y2="357.9679"/><ellipse cx="2718.5" cy="346.9679" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2722.5" x2="2714.5" y1="353.9679" y2="353.9679"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="2696.5" y="309.4717">has</text></g><!--link User to Avatar--><g id="link_User_Avatar"><path codeLine="165" d="M2827,274.5779 C2827,305.7079 2827,316.5879 2827,342.9679 " fill="none" id="User-Avatar" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2823" x2="2831" y1="270.5779" y2="270.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2823" x2="2831" y1="273.5779" y2="273.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2827" x2="2827" y1="274.5779" y2="266.5779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2827" x2="2827" y1="346.9679" y2="357.9679"/><ellipse cx="2827" cy="346.9679" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2831" x2="2823" y1="353.9679" y2="353.9679"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="2805" y="309.4717">has</text></g><!--link Avatar to Photo--><g id="link_Avatar_Photo"><path codeLine="166" d="M2968,468.9979 C2968,510.8679 2968,547.8479 2968,547.8479 C2968,547.8479 2849.73,547.8479 2743.93,547.8479 " fill="none" id="Avatar-Photo" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2968" x2="2962" y1="458.9979" y2="450.9979"/><line style="stroke:#000000;stroke-width:1.0;" x1="2968" x2="2974" y1="458.9979" y2="450.9979"/><line style="stroke:#000000;stroke-width:1.0;" x1="2968" x2="2968" y1="458.9979" y2="450.9979"/><ellipse cx="2968" cy="464.9979" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2739.93" x2="2739.93" y1="551.8479" y2="543.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2742.93" x2="2742.93" y1="551.8479" y2="543.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2743.93" x2="2735.93" y1="547.8479" y2="547.8479"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="47" x="2852.39" y="545.0417">refers to</text></g><!--link User to Follow--><g id="link_User_Follow"><path codeLine="167" d="M2890,274.5279 C2890,317.7279 2890,352.8479 2890,352.8479 C2890,352.8479 3032.58,352.8479 3157.25,352.8479 " fill="none" id="User-Follow" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2886" x2="2894" y1="270.5279" y2="270.5279"/><line style="stroke:#000000;stroke-width:1.0;" x1="2886" x2="2894" y1="273.5279" y2="273.5279"/><line style="stroke:#000000;stroke-width:1.0;" x1="2890" x2="2890" y1="274.5279" y2="266.5279"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.25" x2="3175.25" y1="352.8479" y2="346.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.25" x2="3175.25" y1="352.8479" y2="358.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.25" x2="3175.25" y1="352.8479" y2="352.8479"/><ellipse cx="3161.25" cy="352.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="138" x="2850.46" y="350.0417">follows (UserAccountID)</text></g><!--link User to Follow--><g id="link_User_Follow"><path codeLine="168" d="M2858.5,274.4779 C2858.5,318.9479 2858.5,355.8479 2858.5,355.8479 C2858.5,355.8479 3022.07,355.8479 3157.19,355.8479 " fill="none" id="User-Follow-1" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2854.5" x2="2862.5" y1="270.4779" y2="270.4779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2854.5" x2="2862.5" y1="273.4779" y2="273.4779"/><line style="stroke:#000000;stroke-width:1.0;" x1="2858.5" x2="2858.5" y1="274.4779" y2="266.4779"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.19" x2="3175.19" y1="355.8479" y2="349.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.19" x2="3175.19" y1="355.8479" y2="361.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="3167.19" x2="3175.19" y1="355.8479" y2="355.8479"/><ellipse cx="3161.19" cy="355.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="142" x="2973.16" y="353.0417">followed by (FollowingID)</text></g><!--link User to Photo--><g id="link_User_Photo"><path codeLine="169" d="M2769.25,274.4679 C2769.25,382.7479 2769.25,545.8479 2769.25,545.8479 C2769.25,545.8479 2773.58,545.8479 2753.87,545.8479 " fill="none" id="User-Photo" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2765.25" x2="2773.25" y1="270.4679" y2="270.4679"/><line style="stroke:#000000;stroke-width:1.0;" x1="2765.25" x2="2773.25" y1="273.4679" y2="273.4679"/><line style="stroke:#000000;stroke-width:1.0;" x1="2769.25" x2="2769.25" y1="274.4679" y2="266.4679"/><line style="stroke:#000000;stroke-width:1.0;" x1="2743.87" x2="2735.87" y1="545.8479" y2="551.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2743.87" x2="2735.87" y1="545.8479" y2="539.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2743.87" x2="2735.87" y1="545.8479" y2="545.8479"/><ellipse cx="2749.87" cy="545.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="52" x="2770.25" y="420.0417">uploaded</text></g><!--link Country to StateProvince--><g id="link_Country_StateProvince"><path codeLine="172" d="M3909,234.2579 C3909,270.2579 3909,294.1679 3909,332.0079 " fill="none" id="Country-StateProvince" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="230.2579" y2="230.2579"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="233.2579" y2="233.2579"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3909" y1="234.2579" y2="226.2579"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3915" y1="342.0079" y2="350.0079"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3903" y1="342.0079" y2="350.0079"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3909" y1="342.0079" y2="350.0079"/><ellipse cx="3909" cy="336.0079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="3887" y="285.3317">has</text></g><!--link StateProvince to City--><g id="link_StateProvince_City"><path codeLine="173" d="M3909,467.0879 C3909,495.8879 3909,504.8279 3909,532.3379 " fill="none" id="StateProvince-City" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="463.0879" y2="463.0879"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="466.0879" y2="466.0879"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3909" y1="467.0879" y2="459.0879"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3915" y1="542.3379" y2="550.3379"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3903" y1="542.3379" y2="550.3379"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3909" y1="542.3379" y2="550.3379"/><ellipse cx="3909" cy="536.3379" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="3887" y="501.9117">has</text></g><!--link User to Brewery--><g id="link_User_Brewery"><path codeLine="176" d="M2626.19,179.8479 C2285.65,179.8479 1466.33,179.8479 1466.33,179.8479 C1466.33,179.8479 1466.33,279.2979 1466.33,381.0791 C1466.33,431.9697 1466.33,483.4432 1466.33,523.3596 C1466.33,533.3387 1466.33,542.5955 1466.33,550.9402 C1466.33,555.1126 1466.33,559.057 1466.33,562.7497 C1466.33,564.5961 1466.33,566.3795 1466.33,568.097 C1466.33,568.5264 1466.33,550.9516 1466.33,551.3727 " fill="none" id="User-Brewery" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2630.19" x2="2630.19" y1="175.8479" y2="183.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2627.19" x2="2627.19" y1="175.8479" y2="183.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2626.19" x2="2634.19" y1="179.8479" y2="179.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466.33" x2="1472.33" y1="561.3727" y2="569.3727"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466.33" x2="1460.33" y1="561.3727" y2="569.3727"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466.33" x2="1466.33" y1="561.3727" y2="569.3727"/><ellipse cx="1466.33" cy="555.3727" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="39" x="1802.04" y="177.0417">posted</text></g><!--link Brewery to BreweryLoc--><g id="link_Brewery_BreweryLoc"><path codeLine="177" d="M1474.6,596.8479 C1491.09,596.8479 1835,596.8479 1835,596.8479 C1835,596.8479 1835,658.0379 1835,720.0779 " fill="none" id="Brewery-BreweryLoc" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1470.6" x2="1470.6" y1="600.8479" y2="592.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="1473.6" x2="1473.6" y1="600.8479" y2="592.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="1474.6" x2="1466.6" y1="596.8479" y2="596.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="1835" x2="1835" y1="724.0779" y2="735.0779"/><ellipse cx="1835" cy="724.0779" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1839" x2="1831" y1="731.0779" y2="731.0779"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="1697.92" y="594.0417">has</text></g><!--link City to BreweryLoc--><g id="link_City_BreweryLoc"><path codeLine="178" d="M3909,651.4979 C3909,715.2279 3909,813.8479 3909,813.8479 C3909,813.8479 2523.06,813.8479 2025.37,813.8479 " fill="none" id="City-BreweryLoc" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="647.4979" y2="647.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="3905" x2="3913" y1="650.4979" y2="650.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="3909" x2="3909" y1="651.4979" y2="643.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="2015.37" x2="2007.37" y1="813.8479" y2="819.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2015.37" x2="2007.37" y1="813.8479" y2="807.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2015.37" x2="2007.37" y1="813.8479" y2="813.8479"/><ellipse cx="2021.37" cy="813.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="56" x="2986.36" y="811.0417">located in</text></g><!--link Brewery to BreweryPhoto--><g id="link_Brewery_BreweryPhoto"><path codeLine="179" d="M1466,605.5979 C1466,614.0079 1466,680.0079 1466,741.2079 " fill="none" id="Brewery-BreweryPhoto" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1462" x2="1470" y1="601.5979" y2="601.5979"/><line style="stroke:#000000;stroke-width:1.0;" x1="1462" x2="1470" y1="604.5979" y2="604.5979"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466" x2="1466" y1="605.5979" y2="597.5979"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466" x2="1472" y1="751.2079" y2="759.2079"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466" x2="1460" y1="751.2079" y2="759.2079"/><line style="stroke:#000000;stroke-width:1.0;" x1="1466" x2="1466" y1="751.2079" y2="759.2079"/><ellipse cx="1466" cy="745.2079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="1444" y="675.6017">has</text></g><!--link Photo to BreweryPhoto--><g id="link_Photo_BreweryPhoto"><path codeLine="180" d="M2444.01,648.8479 C2157.93,648.8479 1547.25,648.8479 1547.25,648.8479 C1547.25,648.8479 1547.25,693.2379 1547.25,741.2379 " fill="none" id="Photo-BreweryPhoto" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2448.01" x2="2448.01" y1="644.8479" y2="652.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2445.01" x2="2445.01" y1="644.8479" y2="652.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2444.01" x2="2452.01" y1="648.8479" y2="648.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="1547.25" x2="1553.25" y1="751.2379" y2="759.2379"/><line style="stroke:#000000;stroke-width:1.0;" x1="1547.25" x2="1541.25" y1="751.2379" y2="759.2379"/><line style="stroke:#000000;stroke-width:1.0;" x1="1547.25" x2="1547.25" y1="751.2379" y2="759.2379"/><ellipse cx="1547.25" cy="745.2379" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="49" x="1894.44" y="646.0417">linked to</text></g><!--link User to Beer--><g id="link_User_Beer"><path codeLine="183" d="M2778,274.3879 C2778,428.6779 2778,726.8479 2778,726.8479 C2778,726.8479 1123.58,726.8479 630.35,726.8479 " fill="none" id="User-Beer" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2774" x2="2782" y1="270.3879" y2="270.3879"/><line style="stroke:#000000;stroke-width:1.0;" x1="2774" x2="2782" y1="273.3879" y2="273.3879"/><line style="stroke:#000000;stroke-width:1.0;" x1="2778" x2="2778" y1="274.3879" y2="266.3879"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.35" x2="612.35" y1="726.8479" y2="732.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.35" x2="612.35" y1="726.8479" y2="720.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.35" x2="612.35" y1="726.8479" y2="726.8479"/><ellipse cx="626.35" cy="726.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="39" x="1885.4" y="724.0417">posted</text></g><!--link BeerStyle to Beer--><g id="link_BeerStyle_Beer"><path codeLine="184" d="M477,651.4579 C477,671.2279 477,669.1379 477,692.7079 " fill="none" id="BeerStyle-Beer" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="481" y1="647.4579" y2="647.4579"/><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="481" y1="650.4579" y2="650.4579"/><line style="stroke:#000000;stroke-width:1.0;" x1="477" x2="477" y1="651.4579" y2="643.4579"/><line style="stroke:#000000;stroke-width:1.0;" x1="477" x2="483" y1="702.7079" y2="710.7079"/><line style="stroke:#000000;stroke-width:1.0;" x1="477" x2="471" y1="702.7079" y2="710.7079"/><line style="stroke:#000000;stroke-width:1.0;" x1="477" x2="477" y1="702.7079" y2="710.7079"/><ellipse cx="477" cy="696.7079" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="67" x="409" y="674.2717">categorizes</text></g><!--link Brewery to Beer--><g id="link_Brewery_Beer"><path codeLine="185" d="M951.9602,718.8479 C949.2831,718.8479 954.6048,718.8479 951.9254,718.8479 C946.5667,718.8479 941.204,718.8479 935.8405,718.8479 C925.1133,718.8479 914.3825,718.8479 903.6719,718.8479 C882.2508,718.8479 860.9107,718.8479 839.8436,718.8479 C755.575,718.8479 693.6725,718.8479 630.41,718.8479 " fill="none" id="Brewery-Beer" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="955.9602" x2="955.9602" y1="714.8479" y2="722.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="952.9602" x2="952.9602" y1="714.8479" y2="722.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="951.9602" x2="959.9602" y1="718.8479" y2="718.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.41" x2="612.41" y1="718.8479" y2="724.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.41" x2="612.41" y1="718.8479" y2="712.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="620.41" x2="612.41" y1="718.8479" y2="718.8479"/><ellipse cx="626.41" cy="718.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="41" x="1080.81" y="716.0417">brewed</text></g><!--link Beer to BeerPhoto--><g id="link_Beer_BeerPhoto"><path codeLine="186" d="M500,924.4979 C500,953.1379 500,957.1279 500,981.8179 " fill="none" id="Beer-BeerPhoto" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="496" x2="504" y1="920.4979" y2="920.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="496" x2="504" y1="923.4979" y2="923.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="500" x2="500" y1="924.4979" y2="916.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="500" x2="506" y1="991.8179" y2="999.8179"/><line style="stroke:#000000;stroke-width:1.0;" x1="500" x2="494" y1="991.8179" y2="999.8179"/><line style="stroke:#000000;stroke-width:1.0;" x1="500" x2="500" y1="991.8179" y2="999.8179"/><ellipse cx="500" cy="985.8179" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="478" y="955.3517">has</text></g><!--link Photo to BeerPhoto--><g id="link_Photo_BeerPhoto"><path codeLine="187" d="M2444.06,645.8479 C1996.6,645.8479 653,645.8479 653,645.8479 C653,645.8479 653,870.4579 653,981.8179 " fill="none" id="Photo-BeerPhoto" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2448.06" x2="2448.06" y1="641.8479" y2="649.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2445.06" x2="2445.06" y1="641.8479" y2="649.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="2444.06" x2="2452.06" y1="645.8479" y2="645.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="653" x2="659" y1="991.8179" y2="999.8179"/><line style="stroke:#000000;stroke-width:1.0;" x1="653" x2="647" y1="991.8179" y2="999.8179"/><line style="stroke:#000000;stroke-width:1.0;" x1="653" x2="653" y1="991.8179" y2="999.8179"/><ellipse cx="653" cy="985.8179" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="49" x="1325.55" y="643.0417">linked to</text></g><!--link Beer to BeerComment--><g id="link_Beer_BeerComment"><path codeLine="188" d="M347.75,924.4979 C347.75,944.3179 347.75,938.7779 347.75,957.6879 " fill="none" id="Beer-BeerComment" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="343.75" x2="351.75" y1="920.4979" y2="920.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="343.75" x2="351.75" y1="923.4979" y2="923.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="347.75" x2="347.75" y1="924.4979" y2="916.4979"/><line style="stroke:#000000;stroke-width:1.0;" x1="347.75" x2="353.75" y1="967.6879" y2="975.6879"/><line style="stroke:#000000;stroke-width:1.0;" x1="347.75" x2="341.75" y1="967.6879" y2="975.6879"/><line style="stroke:#000000;stroke-width:1.0;" x1="347.75" x2="347.75" y1="967.6879" y2="975.6879"/><ellipse cx="347.75" cy="961.6879" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="21" x="325.75" y="943.2917">has</text></g><!--link User to BeerComment--><g id="link_User_BeerComment"><path codeLine="189" d="M2786.75,274.5579 C2786.75,483.2879 2786.75,987.8479 2786.75,987.8479 C2786.75,987.8479 940.72,987.8479 371.87,987.8479 " fill="none" id="User-BeerComment" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2782.75" x2="2790.75" y1="270.5579" y2="270.5579"/><line style="stroke:#000000;stroke-width:1.0;" x1="2782.75" x2="2790.75" y1="273.5579" y2="273.5579"/><line style="stroke:#000000;stroke-width:1.0;" x1="2786.75" x2="2786.75" y1="274.5579" y2="266.5579"/><line style="stroke:#000000;stroke-width:1.0;" x1="361.87" x2="353.87" y1="987.8479" y2="993.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="361.87" x2="353.87" y1="987.8479" y2="981.8479"/><line style="stroke:#000000;stroke-width:1.0;" x1="361.87" x2="353.87" y1="987.8479" y2="987.8479"/><ellipse cx="367.87" cy="987.8479" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="13" lengthAdjust="spacing" textLength="68" x="1861.95" y="985.0417">commented</text></g><!--link User to GMN43--><g id="link_User_GMN43"><path d="M2921.57,245.8479 C3164.38,245.8479 3630,245.8479 3630,245.8479 C3630,245.8479 3630,307.7979 3630,354.2579 " fill="none" id="User-GMN43" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--link Brewery to GMN46--><g id="link_Brewery_GMN46"><path d="M959.4917,596.8479 C955.4642,596.8479 951.4993,596.8479 947.6013,596.8479 C939.8055,596.8479 932.2778,596.8479 925.055,596.8479 C867.2725,596.8479 829,596.8479 829,596.8479 C829,596.8479 829,707.6379 829,770.8279 " fill="none" id="Brewery-GMN46" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="646" x="1711.5" y="1171.9797">Every table also has a Timer ROWVERSION column (optimistic concurrency), omitted below for brevity.</text><text fill="#000000" font-family="Arial" font-size="14" lengthAdjust="spacing" textLength="358" x="1855.5" y="1188.0783">Tables marked (*) have no CRUD stored procedures yet.</text><!--SRC=[jLXjRzis4FwkNt7pWCqEug99ss0mYW9-IsCqSJo_P1im860asYOYYmP5k_EI_FSTAKec9SKlNPiFWNbtF3ttyEvuqazoJXSKbY5XaHS_icX915d00_4VPuAleg3DGoxWvqlzPra4T4fMeRpaaUmJzD0KZ8IMFcGHbPib1Ixad5kA9RecCpgIcv22eBuaqIoadYUPH467IF90OWeZ7u4HpoTBoNW4tJKL6q0Tsf0mvZ0dCH0OimKLCBpzuwux7FLk- -3pSBM8eCfnsuB5alaeYloL43JoDxLJu0ic9GtWWORyAqmnjWT1rqnktlmTZPNx61P4FA95zQI6JrbJY3YqXvCEn98Bb2y5zscm4cYveVADvvc8e3A94Smlq5p9UGMUF00QOLIRHD7qVUHJLW21QqDb0702bhBNQS2at_jzqkrrklrnxxBN7SB7ZuCldpvfuthTsXCXxGsuQmxRLyrXzU9z3IsJpSRw12wPYFNnDA2V6fwT_rOpwckoIzjT41Pk7w0qnIUq1IL8PrCseDCSTyUzcwxMJ9P1gVn4dJ2zdROOfaMYG_cBboCBtGPgJKBDbrewV6trHr6sc-RBBtl3GbR-MJAnAOYlI3otQ3p_S97Is8k7TCqneHhGwesrq0XotWiat571fimdgW0q3LgmSOYmRRuh5QUGEsdxIUeCLUdjnjzSOp4BLKSQlLawQQz5FnRtOCubtttY1UINF5JT8KLkbZRoHFHZaY_npQBPj-Qf4u-EFmibMJqTm4q-Y2jivWAx-cDvca-M8IS13LgR_QXJsmBi5wkPNlCqy-rEsbOKYatI5PBVMJHcVV2X6Fjy1tpxDYlTqUsxiukB-xC69E7c6g33yqZYIGm4NxF8fngV8ybGEjA3iJgxzYC-DuWlobhsJfhAIgAD_nF6rJAZ6nU7Sut6hyC-X9CCc9qaBK6_KfKETeuOuO37oMrhrXbmItymVhCd5uAL_yhROTdVeR4lc1vhB5SVpivhttIdEYTbXRQjdoq5A2jZ8JKzbeqT39OqucOGuCmKN-DWU5R6eQK_VvrZ4hPvu9n1baKx4ZAZlysv25Y4FCOD-Doz_Jni3gx-sa6ZspvJXTD5yzRVbSPZxZ4zqs67tjDPMvIQMzcf6fGcGtaMR2R98aqbH_Gjj2uf_7nRAY-Ac-QVjSBP80R5c0FJGNXKOR_Ub7P2qWdTkaEMk-tUJVEw-luqgzzUQzA0NdzyT6VOHwzjgbBd8AV_fviOCdCreAHk0TXsXsV_xgFwRgbV4b2RBnOeSq9APVcWZFo8gKBREnqiowd3OpPk3ZlZ8RRlQ6OdtR6dZZJzYkybeRu7uZbROdkqNcSz_VlvkLxdJydRM0Cg-0fUiHJFwVj9cSeC_wdAB5zulVxyR8PIr0awfI86oIlE0ytyZGPJ_Ik6gZDGrtQRgxVz3LIjiJgt8Nl-oWocbH8sqalIIyTEizcTyj80NMbAd4h2rABu17CTED3IsGLtBNKVgNYfo31hNUsfQ_qSru5HXoe8v8D5EJzFxjMMUafMhrY4kjxqQPK4WvdkHgBQj1r6Thla31J26HViNneNGHgR1zt-4YUsRXTwMsr1pxj8-q0nYmjwFwrH923Yai83bv8lW4zrxNXgt12q-DseWPewJ4Q3-o6TCQH36FCwhEBbVLAZLePdcWuDQL6Z7N5fzcm_ZMJAf1daFnTuD0f0mIw0JnDnF_x4yzO-aIO1vAK9-AtqbMzqi6RckrvjY_0_]--></g></svg> |