academia/docs/architecture/diagrams/05-entity-relationship.svg

1 line
24 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="782px" preserveAspectRatio="none" style="width:939px;height:782px;background:#FFFFFF;" version="1.1" viewBox="0 0 939 782" width="939px" zoomAndPan="magnify"><title>Sistema de Registro de Estudiantes - Diagrama Entidad-Relaci&#243;n</title><defs/><g><g class="title" data-source-line="6"><text fill="#000000" font-family="Verdana" font-size="22" font-weight="bold" lengthAdjust="spacing" textLength="804.8154" x="62.8838" y="35.4209">Sistema de Registro de Estudiantes - Diagrama Entidad-Relaci&#243;n</text></g><!--class users--><g class="entity" data-entity="users" data-source-line="8" data-uid="ent0002" id="entity_users"><rect fill="#F8F9FA" height="174.375" rx="2.5" ry="2.5" style="stroke:#495057;stroke-width:1;" width="274.3184" x="12" y="58.6094"/><ellipse cx="125.8071" cy="72.6094" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M129.9165,78.6094 L122.1978,78.6094 L122.1978,66.2188 L129.9165,66.2188 L129.9165,68.375 L124.6509,68.375 L124.6509,71.0469 L129.4165,71.0469 L129.4165,73.2031 L124.6509,73.2031 L124.6509,76.4531 L129.9165,76.4531 L129.9165,78.6094 Z " fill="#000000"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="39.2041" x="143.3071" y="77.4561">Users</text><line style="stroke:#495057;stroke-width:1;" x1="13" x2="285.3184" y1="86.6094" y2="86.6094"/><ellipse cx="23" cy="100.2578" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="15.2305" x="30" y="103.6045">Id</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.623" x="49.6807" y="103.6045">: int &#171;PK&#187;</text><line style="stroke:#495057;stroke-width:1;" x1="13" x2="285.3184" y1="110.9063" y2="110.9063"/><ellipse cx="23" cy="124.5547" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="245.957" x="30" y="127.9014">Username : nvarchar(50) &#171;unique&#187;</text><ellipse cx="23" cy="140.8516" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="215.2021" x="30" y="144.1982">PasswordHash : nvarchar(255)</text><ellipse cx="23" cy="157.1484" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="250.3184" x="30" y="160.4951">RecoveryCodeHash : nvarchar(255)</text><ellipse cx="23" cy="173.4453" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="135.5498" x="30" y="176.792">Role : nvarchar(20)</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="203.2051" x="30" y="193.0889">StudentId : int &#171;FK, nullable&#187;</text><ellipse cx="23" cy="206.0391" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="156.502" x="30" y="209.3857">CreatedAt : datetime2</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="167.9658" x="30" y="225.6826">LastLoginAt : datetime2</text></g><!--class students--><g class="entity" data-entity="students" data-source-line="20" data-uid="ent0003" id="entity_students"><rect fill="#F8F9FA" height="158.0781" rx="2.5" ry="2.5" style="stroke:#495057;stroke-width:1;" width="279.1104" x="22.6" y="292.9894"/><ellipse cx="127.2025" cy="306.9894" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M131.3119,312.9894 L123.5932,312.9894 L123.5932,300.5988 L131.3119,300.5988 L131.3119,302.755 L126.0463,302.755 L126.0463,305.4269 L130.8119,305.4269 L130.8119,307.5831 L126.0463,307.5831 L126.0463,310.8331 L131.3119,310.8331 L131.3119,312.9894 Z " fill="#000000"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="62.4053" x="144.7025" y="311.8361">Students</text><line style="stroke:#495057;stroke-width:1;" x1="23.6" x2="300.7104" y1="320.9894" y2="320.9894"/><ellipse cx="33.6" cy="334.6378" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="15.2305" x="40.6" y="337.9845">Id</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.623" x="60.2807" y="337.9845">: int &#171;PK&#187;</text><line style="stroke:#495057;stroke-width:1;" x1="23.6" x2="300.7104" y1="345.2863" y2="345.2863"/><ellipse cx="33.6" cy="358.9347" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="154.9639" x="40.6" y="362.2814">Name : nvarchar(100)</text><ellipse cx="33.6" cy="375.2316" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="222.0928" x="40.6" y="378.5782">Email : nvarchar(255) &#171;unique&#187;</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="255.1104" x="40.6" y="394.8751">ActivationCodeHash : nvarchar(255)</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="222.6943" x="40.6" y="411.172">ActivationExpiresAt : datetime2</text><ellipse cx="33.6" cy="424.1222" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="156.502" x="40.6" y="427.4689">CreatedAt : datetime2</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="160.3779" x="40.6" y="443.7657">UpdatedAt : datetime2</text></g><!--class professors--><g class="entity" data-entity="professors" data-source-line="31" data-uid="ent0004" id="entity_professors"><rect fill="#F8F9FA" height="76.5938" rx="2.5" ry="2.5" style="stroke:#495057;stroke-width:1;" width="178.9639" x="563.68" y="107.4994"/><ellipse cx="613.1575" cy="121.4994" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M617.2669,127.4994 L609.5482,127.4994 L609.5482,115.1087 L617.2669,115.1087 L617.2669,117.265 L612.0013,117.265 L612.0013,119.9369 L616.7669,119.9369 L616.7669,122.0931 L612.0013,122.0931 L612.0013,125.3431 L617.2669,125.3431 L617.2669,127.4994 Z " fill="#000000"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="72.5088" x="630.6575" y="126.3461">Professors</text><line style="stroke:#495057;stroke-width:1;" x1="564.68" x2="741.6439" y1="135.4994" y2="135.4994"/><ellipse cx="574.68" cy="149.1478" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="15.2305" x="581.68" y="152.4945">Id</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.623" x="601.3607" y="152.4945">: int &#171;PK&#187;</text><line style="stroke:#495057;stroke-width:1;" x1="564.68" x2="741.6439" y1="159.7963" y2="159.7963"/><ellipse cx="574.68" cy="173.4447" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="154.9639" x="581.68" y="176.7914">Name : nvarchar(100)</text></g><!--class subjects--><g class="entity" data-entity="subjects" data-source-line="37" data-uid="ent0005" id="entity_subjects"><rect fill="#F8F9FA" height="109.1875" rx="2.5" ry="2.5" style="stroke:#495057;stroke-width:1;" width="185.4717" x="553.42" y="317.4294"/><ellipse cx="612.5909" cy="331.4294" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M616.7003,337.4294 L608.9815,337.4294 L608.9815,325.0388 L616.7003,325.0388 L616.7003,327.195 L611.4346,327.195 L611.4346,329.8669 L616.2003,329.8669 L616.2003,332.0231 L611.4346,332.0231 L611.4346,335.2731 L616.7003,335.2731 L616.7003,337.4294 Z " fill="#000000"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="59.6299" x="630.0909" y="336.2761">Subjects</text><line style="stroke:#495057;stroke-width:1;" x1="554.42" x2="737.8917" y1="345.4294" y2="345.4294"/><ellipse cx="564.42" cy="359.0778" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="15.2305" x="571.42" y="362.4245">Id</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.623" x="591.1007" y="362.4245">: int &#171;PK&#187;</text><line style="stroke:#495057;stroke-width:1;" x1="554.42" x2="737.8917" y1="369.7263" y2="369.7263"/><ellipse cx="564.42" cy="383.3747" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="154.9639" x="571.42" y="386.7214">Name : nvarchar(100)</text><ellipse cx="564.42" cy="399.6716" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="128.9258" x="571.42" y="403.0182">Credits : int {= 3}</text><ellipse cx="564.42" cy="415.9684" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="90.7881" x="571.42" y="419.3151">ProfessorId</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.2334" x="666.6583" y="419.3151">: int &#171;FK&#187;</text></g><!--class enrollments--><g class="entity" data-entity="enrollments" data-source-line="45" data-uid="ent0006" id="entity_enrollments"><rect fill="#F8F9FA" height="133.4844" rx="2.5" ry="2.5" style="stroke:#495057;stroke-width:1;" width="234.8926" x="282.71" y="511.0594"/><ellipse cx="354.543" cy="525.0594" fill="#FFFFFF" rx="9" ry="9" style="stroke:#000000;stroke-width:1;"/><path d="M358.6524,531.0594 L350.9336,531.0594 L350.9336,518.6688 L358.6524,518.6688 L358.6524,520.825 L353.3868,520.825 L353.3868,523.4969 L358.1524,523.4969 L358.1524,525.6531 L353.3868,525.6531 L353.3868,528.9031 L358.6524,528.9031 L358.6524,531.0594 Z " fill="#000000"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="83.7266" x="372.043" y="529.9061">Enrollments</text><line style="stroke:#495057;stroke-width:1;" x1="283.71" x2="516.6026" y1="539.0594" y2="539.0594"/><ellipse cx="293.71" cy="552.7078" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="15.2305" x="300.71" y="556.0545">Id</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.623" x="320.3907" y="556.0545">: int &#171;PK&#187;</text><line style="stroke:#495057;stroke-width:1;" x1="283.71" x2="516.6026" y1="563.3563" y2="563.3563"/><ellipse cx="293.71" cy="577.0047" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="78.1484" x="300.71" y="580.3514">StudentId</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.2334" x="383.3086" y="580.3514">: int &#171;FK&#187;</text><ellipse cx="293.71" cy="593.3016" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="74.5869" x="300.71" y="596.6482">SubjectId</text><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="66.2334" x="379.7471" y="596.6482">: int &#171;FK&#187;</text><ellipse cx="293.71" cy="609.5984" fill="#FFFFFF" rx="3" ry="3" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="158.1084" x="300.71" y="612.9451">EnrolledAt : datetime2</text><line style="stroke:#495057;stroke-width:1;" x1="283.71" x2="516.6026" y1="620.2469" y2="620.2469"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="222.8926" x="288.71" y="637.242">&#171;unique&#187; (StudentId, SubjectId)</text></g><g class="entity" data-entity="GMN11" data-source-line="62" data-uid="ent0012" id="entity_GMN11"><path d="M321.49,110.5294 L321.49,142.0794 L286.75,146.0794 L321.49,150.0794 L321.49,181.0606 A0,0 0 0 0 321.49,181.0606 L528.8254,181.0606 A0,0 0 0 0 528.8254,181.0606 L528.8254,120.5294 L518.8254,110.5294 L321.49,110.5294 A0,0 0 0 0 321.49,110.5294" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M518.8254,110.5294 L518.8254,120.5294 L528.8254,120.5294 L518.8254,110.5294" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="106.2979" x="327.49" y="127.5963">Autenticaci&#243;n:</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="186.3354" x="327.49" y="142.7291">- Password: PBKDF2-SHA256</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="153.8037" x="327.49" y="157.8619">- Roles: Admin, Student</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="176.1729" x="327.49" y="172.9947">- Recovery code para reset</text></g><g class="entity" data-entity="GMN14" data-source-line="69" data-uid="ent0015" id="entity_GMN14"><path d="M336.66,336.7594 L336.66,368.0794 L301.98,372.0794 L336.66,376.0794 L336.66,407.2906 A0,0 0 0 0 336.66,407.2906 L511.6541,407.2906 A0,0 0 0 0 511.6541,407.2906 L511.6541,346.7594 L501.6541,336.7594 L336.66,336.7594 A0,0 0 0 0 336.66,336.7594" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M501.6541,336.7594 L501.6541,346.7594 L511.6541,346.7594 L501.6541,336.7594" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="103.4541" x="342.66" y="353.8263">Restricciones:</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="84.2144" x="342.66" y="368.9591">- Email &#250;nico</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="153.9941" x="342.66" y="384.0919">- M&#225;ximo 3 enrollments</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="143.3237" x="342.66" y="399.2247">- Activaci&#243;n requerida</text></g><g class="entity" data-entity="GMN17" data-source-line="76" data-uid="ent0018" id="entity_GMN17"><path d="M774.35,344.3294 L774.35,368.0794 L739.34,372.0794 L774.35,376.0794 L774.35,399.7278 A0,0 0 0 0 774.35,399.7278 L923.9726,399.7278 A0,0 0 0 0 923.9726,399.7278 L923.9726,354.3294 L913.9726,344.3294 L774.35,344.3294 A0,0 0 0 0 774.35,344.3294" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M913.9726,344.3294 L913.9726,354.3294 L923.9726,354.3294 L913.9726,344.3294" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="112.2837" x="780.35" y="361.3963">Datos iniciales:</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="78.0952" x="780.35" y="376.5291">10 materias</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="128.6226" x="780.35" y="391.6619">3 cr&#233;ditos cada una</text></g><g class="entity" data-entity="GMN20" data-source-line="82" data-uid="ent0021" id="entity_GMN20"><path d="M777.73,118.0994 L777.73,142.0794 L742.94,146.0794 L777.73,150.0794 L777.73,173.4978 A0,0 0 0 0 777.73,173.4978 L932.583,173.4978 A0,0 0 0 0 932.583,173.4978 L932.583,128.0994 L922.583,118.0994 L777.73,118.0994 A0,0 0 0 0 777.73,118.0994" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M922.583,118.0994 L922.583,128.0994 L932.583,128.0994 L922.583,118.0994" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="112.2837" x="783.73" y="135.1663">Datos iniciales:</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="81.3706" x="783.73" y="150.2991">5 profesores</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="133.853" x="783.73" y="165.4319">2 materias cada uno</text></g><g class="entity" data-entity="GMN23" data-source-line="88" data-uid="ent0024" id="entity_GMN23"><path d="M285.55,704.5494 L285.55,775.0806 A0,0 0 0 0 285.55,775.0806 L514.7595,775.0806 A0,0 0 0 0 514.7595,775.0806 L514.7595,714.5494 L504.7595,704.5494 L404.16,704.5494 L400.16,644.6394 L396.16,704.5494 L285.55,704.5494 A0,0 0 0 0 285.55,704.5494" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><path d="M504.7595,704.5494 L504.7595,714.5494 L514.7595,714.5494 L504.7595,704.5494" fill="#FFFFFF" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="138.874" x="291.55" y="721.6163">Reglas de negocio:</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="190.4995" x="291.55" y="736.7491">- (StudentId, SubjectId) &#250;nico</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="182.3174" x="291.55" y="751.8819">- Estudiante no puede tener</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="199.9448" x="299.8146" y="767.0147">2 materias del mismo profesor</text></g><!--link users to students--><g class="link" data-entity-1="users" data-entity-2="students" data-source-line="56" data-uid="lnk7" id="link_users_students"><path codeLine="56" d="M154.46,241.2594 C154.46,260.7794 154.46,258.3794 154.46,277.5594" fill="none" id="users-students" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="150.46" x2="158.46" y1="237.2594" y2="237.2594"/><line style="stroke:#000000;stroke-width:1;" x1="150.46" x2="158.46" y1="240.2594" y2="240.2594"/><line style="stroke:#000000;stroke-width:1;" x1="154.46" x2="154.46" y1="241.2594" y2="233.2594"/><line style="stroke:#000000;stroke-width:1;" x1="154.46" x2="154.46" y1="281.5594" y2="292.5594"/><ellipse cx="154.46" cy="281.5594" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="158.46" x2="150.46" y1="288.5594" y2="288.5594"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="74.8135" x="79.46" y="258.9763">vinculado a</text></g><!--link students to enrollments--><g class="link" data-entity-1="students" data-entity-2="enrollments" data-source-line="57" data-uid="lnk8" id="link_students_enrollments"><path codeLine="57" d="M292.21,459.2894 C292.21,478.8794 292.21,473.6694 292.21,492.6194" fill="none" id="students-enrollments" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="288.21" x2="296.21" y1="455.2894" y2="455.2894"/><line style="stroke:#000000;stroke-width:1;" x1="288.21" x2="296.21" y1="458.2894" y2="458.2894"/><line style="stroke:#000000;stroke-width:1;" x1="292.21" x2="292.21" y1="459.2894" y2="451.2894"/><line style="stroke:#000000;stroke-width:1;" x1="292.21" x2="298.21" y1="502.6194" y2="510.6194"/><line style="stroke:#000000;stroke-width:1;" x1="292.21" x2="286.21" y1="502.6194" y2="510.6194"/><line style="stroke:#000000;stroke-width:1;" x1="292.21" x2="292.21" y1="502.6194" y2="510.6194"/><ellipse cx="292.21" cy="496.6194" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="32.9443" x="259.21" y="477.0263">tiene</text></g><!--link subjects to enrollments--><g class="link" data-entity-1="subjects" data-entity-2="enrollments" data-source-line="58" data-uid="lnk9" id="link_subjects_enrollments"><path codeLine="58" d="M544.98,417.0794 C484.22,417.0794 424.16,417.0794 424.16,417.0794 C424.16,417.0794 424.16,448.5294 424.16,492.5794" fill="none" id="subjects-enrollments" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="548.98" x2="548.98" y1="413.0794" y2="421.0794"/><line style="stroke:#000000;stroke-width:1;" x1="545.98" x2="545.98" y1="413.0794" y2="421.0794"/><line style="stroke:#000000;stroke-width:1;" x1="544.98" x2="552.98" y1="417.0794" y2="417.0794"/><line style="stroke:#000000;stroke-width:1;" x1="424.16" x2="430.16" y1="502.5794" y2="510.5794"/><line style="stroke:#000000;stroke-width:1;" x1="424.16" x2="418.16" y1="502.5794" y2="510.5794"/><line style="stroke:#000000;stroke-width:1;" x1="424.16" x2="424.16" y1="502.5794" y2="510.5794"/><ellipse cx="424.16" cy="496.5794" fill="none" rx="4" ry="4" style="stroke:#000000;stroke-width:1;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="84.7031" x="356.82" y="430.1463">inscripciones</text></g><!--link professors to subjects--><g class="link" data-entity-1="professors" data-entity-2="subjects" data-source-line="59" data-uid="lnk10" id="link_professors_subjects"><path codeLine="59" d="M651.29,192.4294 C651.29,228.8994 651.29,267.9694 651.29,309.0194" fill="none" id="professors-subjects" style="stroke:#000000;stroke-width:1;"/><line style="stroke:#000000;stroke-width:1;" x1="647.29" x2="655.29" y1="188.4294" y2="188.4294"/><line style="stroke:#000000;stroke-width:1;" x1="647.29" x2="655.29" y1="191.4294" y2="191.4294"/><line style="stroke:#000000;stroke-width:1;" x1="651.29" x2="651.29" y1="192.4294" y2="184.4294"/><line style="stroke:#000000;stroke-width:1;" x1="655.29" x2="647.29" y1="313.0194" y2="313.0194"/><line style="stroke:#000000;stroke-width:1;" x1="655.29" x2="647.29" y1="310.0194" y2="310.0194"/><line style="stroke:#000000;stroke-width:1;" x1="651.29" x2="651.29" y1="309.0194" y2="317.0194"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="63.3369" x="587.29" y="246.7963">imparte 2</text></g><!--SRC=[hLN1Kjim4BtxAxRfeU31qn2QjcGeCm6IWO5sCc7u0CLQ4XLPIYKvXI5yJ8yzzzPhVgnhox6TD6IOQNsIlC_xzZsjrg_S11E4gMH21VPEg2apB04f5Bg7AO8sRg9hWLWoQqzOV3SsEbNyL4jju7N_O_-mt_qBfWr7Kq3U7RQRxGz1u8IJ2DV2EamOS8GXZcbZTBRkMPTomPH32n6S2JQcP0nwoWdEU3H4oMAn-AM20EcLUu36ZKLZ6y0ifDaA7WEW9uGmlE1X21qGoi7HqU3o-3YFH541o3vKZAHtGCsOYIVCxBIRkuHDbVYMOe4FOK1AlfEISsOdTN2htTuj84ECzGpDmwdck0scvGfTg-aZ0DSacnHTyBBW_kKUg5HADf9LAQS6cKFUTGJZj78YmLQHuefPTwN7Ggr5dogl2XPlboqsBtViovfR-ytcKbalOKAkgrwt4g0REp5ZJcYrrQawi7S_5GRj1idRxRYPyWsncXa3es_HMbrqpxJS_gCXTR_JqLUCbtuNc__YDoddWdBvZny_mS5JcRKKjfA-dwMlrTPJHakPbEs0rVxb5OPXsRZhL2N0otuEuClOU8O5IzL4i5EoxK6PDtVy3VZHe1NQm0-2-JoAzBngymuqPaB5gMHS0si4PI07FguOG5WdK26XbgUs6IMKZOsOUk96K6kY33-VLwUUWHEQZGwXrGW2fMbXn7ZYGD_wqKLgZqR7tTHbHnJxETSvUZlAh8hAATI1mSdbMRyLNPztM-ttUIoRAxO3NPu8jRUS9JvI32Q8wRv1Dfg1BXCwQWCEMGthbInTySKCaGQpYBsygXP_snU_bOXr_kBpuiUzI3GSrFt98_uYvrg8cOxHq21_dhrmoxEVCQSjjOo81PCL_tuJ4ceK8rY6Eu3OB7xIPI1ep3Y3L3sVlpgVhGpj0gZ9AzgsIhubWrvd66ddT99Hh1gGUpYcVs7sSrCurcHbvUFcVguRM_qFYGscAL8QwWyq-TMe5SPHGY8idS6ozAh4Fm00]--></g></svg>