Загрузка данных


<mxfile host="app.diagrams.net" modified="2026-06-16T10:00:00.000Z" agent="Mozilla/5.0" etag="airlines_er" version="21.0.0" type="device">
  <diagram name="ER-диаграмма Авиалинии" id="airlines_er">
    <mxGraphModel dx="1434" dy="844" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <!-- Таблица passengers -->
        <mxCell id="passengers" value="passengers" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="40" y="40" width="220" height="210" as="geometry" />
        </mxCell>
        <mxCell id="passengers_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="30" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_0">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="60" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_1_0" value="passport_number" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_1">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="90" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_2_0" value="full_name" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_2">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="120" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_3_0" value="address" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_3">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_4" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="150" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_4_0" value="phone" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_4">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_5" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers">
          <mxGeometry y="180" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="passengers_5_0" value="birth_date" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="passengers_5">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>

        <!-- Таблица tickets -->
        <mxCell id="tickets" value="tickets" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="340" y="40" width="220" height="180" as="geometry" />
        </mxCell>
        <mxCell id="tickets_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets">
          <mxGeometry y="30" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets_0">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets">
          <mxGeometry y="60" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_1_0" value="FK passenger_id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets_1">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets">
          <mxGeometry y="90" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_2_0" value="FK flight_id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets_2">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets">
          <mxGeometry y="120" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_3_0" value="seat_number" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets_3">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_4" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets">
          <mxGeometry y="150" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tickets_4_0" value="purchase_date" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="tickets_4">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>

        <!-- Таблица flights -->
        <mxCell id="flights" value="flights" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="640" y="40" width="240" height="240" as="geometry" />
        </mxCell>
        <mxCell id="flights_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="30" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_0">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="60" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_1_0" value="flight_number" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_1">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="90" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_2_0" value="FK route_id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_2">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="120" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_3_0" value="FK aircraft_id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_3">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_4" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="150" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_4_0" value="departure_datetime" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_4">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_5" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="180" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_5_0" value="arrival_datetime" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_5">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_6" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights">
          <mxGeometry y="210" width="240" height="30" as="geometry" />
        </mxCell>
        <mxCell id="flights_6_0" value="price" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="flights_6">
          <mxGeometry x="30" width="210" height="30" as="geometry" />
        </mxCell>

        <!-- Таблица routes -->
        <mxCell id="routes" value="routes" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="940" y="100" width="220" height="150" as="geometry" />
        </mxCell>
        <mxCell id="routes_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes">
          <mxGeometry y="30" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes_0">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes">
          <mxGeometry y="60" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_1_0" value="route_code" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes_1">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes">
          <mxGeometry y="90" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_2_0" value="departure_airport" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes_2">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes">
          <mxGeometry y="120" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="routes_3_0" value="arrival_airport" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="routes_3">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>

        <!-- Таблица aircraft -->
        <mxCell id="aircraft" value="aircraft" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="940" y="340" width="220" height="180" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft">
          <mxGeometry y="30" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft_0">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft">
          <mxGeometry y="60" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_1_0" value="registration_number" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft_1">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft">
          <mxGeometry y="90" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_2_0" value="model" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft_2">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft">
          <mxGeometry y="120" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_3_0" value="service_life_years" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft_3">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_4" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft">
          <mxGeometry y="150" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="aircraft_4_0" value="is_airworthy" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="aircraft_4">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>

        <!-- Таблица captains -->
        <mxCell id="captains" value="captains" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
          <mxGeometry x="940" y="560" width="220" height="180" as="geometry" />
        </mxCell>
        <mxCell id="captains_0" value="PK" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains">
          <mxGeometry y="30" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_0_0" value="id" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains_0">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_1" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains">
          <mxGeometry y="60" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_1_0" value="personal_number" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains_1">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_2" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains">
          <mxGeometry y="90" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_2_0" value="full_name" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains_2">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_3" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains">
          <mxGeometry y="120" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_3_0" value="address" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains_3">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_4" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains">
          <mxGeometry y="150" width="220" height="30" as="geometry" />
        </mxCell>
        <mxCell id="captains_4_0" value="phone" style="shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="captains_4">
          <mxGeometry x="30" width="190" height="30" as="geometry" />
        </mxCell>

        <!-- Связи (стрелки) -->
        <!-- passengers -> tickets (1 to many) -->
        <mxCell id="edge1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endArrow=ERmany;endFill=0;" edge="1" parent="1" source="passengers" target="tickets">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <!-- tickets -> flights (many to 1) -->
        <mxCell id="edge2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERmany;startFill=0;endArrow=ERone;endFill=0;" edge="1" parent="1" source="tickets" target="flights">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <!-- flights -> routes (many to 1) -->
        <mxCell id="edge3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=ERmany;startFill=0;endArrow=ERone;endFill=0;" edge="1" parent="1" source="flights" target="routes">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <!-- flights -> aircraft (many to 1) -->
        <mxCell id="edge4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=ERmany;startFill=0;endArrow=ERone;endFill=0;" edge="1" parent="1" source="flights" target="aircraft">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="760" y="330" />
              <mxPoint x="1050" y="330" />
            </Array>
          </mxGeometry>
        </mxCell>

        <!-- aircraft -> captains (1 to 1) -->
        <mxCell id="edge5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=ERone;startFill=0;endArrow=ERone;endFill=0;" edge="1" parent="1" source="aircraft" target="captains">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

      </root>
    </mxGraphModel>
  </diagram>
</mxfile>