CN111190971B - ER diagram drawing method and device based on neighbor table node state and priority - Google Patents

ER diagram drawing method and device based on neighbor table node state and priority Download PDF

Info

Publication number
CN111190971B
CN111190971B CN201911406960.7A CN201911406960A CN111190971B CN 111190971 B CN111190971 B CN 111190971B CN 201911406960 A CN201911406960 A CN 201911406960A CN 111190971 B CN111190971 B CN 111190971B
Authority
CN
China
Prior art keywords
turning
nodes
node
edge set
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911406960.7A
Other languages
Chinese (zh)
Other versions
CN111190971A (en
Inventor
王功明
王建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201911406960.7A priority Critical patent/CN111190971B/en
Publication of CN111190971A publication Critical patent/CN111190971A/en
Application granted granted Critical
Publication of CN111190971B publication Critical patent/CN111190971B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides an ER diagram drawing method and device based on the node state and priority of an adjacency list, belonging to the fields of database, adjacency list, ER diagram drawing, balanced display, visual perception and the like, comprising the following steps: s1: reading a database table structure; s2: generating an entity relation model based on the adjacency list; s3: and drawing an ER diagram by combining the node degree and the visual position priority. According to the invention, the nodes are drawn according to the descending order of the node degree, the space region of the drawing interface is scientifically utilized, and the complex association information of the nodes with larger degree can be fully displayed; according to the invention, the drawing sequence of the node associated entities is arranged based on visual perception smooth feeling, and meanwhile, the distribution situation of the drawn associated entities at the adjacent positions of the nodes is considered, so that the fluency and pleasure of the user reading the ER diagram can be improved; and the display effect and the user experience of ER drawing are improved on the whole.

Description

ER diagram drawing method and device based on neighbor table node state and priority
Technical Field
The invention relates to a database, an adjacency list and ER diagram drawing, balanced display and visual perception technologies, in particular to an ER diagram drawing method based on adjacency list node states and priorities.
Background
ER diagram (Entity Relationship Diagram), also called "entity-relationship diagram", is a graphical description of entity relationship models in database design, can intuitively demonstrate the entities involved and the relationship between them, and is an effective method for describing information world conceptual models.
ER diagrams are the best tools for relevant personnel to understand database systems, and play an important role in the stages of database design, development, maintenance, reconstruction and the like. In the process of designing a database, modeling staff needs to understand an object to be processed according to an ER diagram, and the modeling staff is continuously perfected through prototype deduction, scene analysis and iterative optimization to finally form a conceptual model meeting the requirements. In the database development process, a programmer needs to adapt a database system according to the ER diagram, generate various corresponding data tables, and database operation codes. In the process of maintaining the database, operation and maintenance personnel need to maintain the integrity of the database according to the ER diagram, so that the stable operation of the database is ensured. In the process of reconstructing the database, a developer uses the ER diagram to adapt to a new service system, an application scene and performance requirements, and the effects of application migration and industry upgrading are improved.
Therefore, the ER diagram is completely, comprehensively and scientifically drawn and visually presented to a user, and the ER diagram has important significance and value in the construction of an informatization system.
The ER diagram is composed of nodes and edges, and the drawing process mainly comprises the drawing of the nodes and the edges. Currently, there are two problems in ER graph node plotting:
on the one hand, the sequence of node drawing has a problem. The degree of the node can be regarded as the richness of the information related to the entity, the more the entity related to the node with larger degree, the rich 'entity-relation' information is provided; if the nodes with larger degrees are arranged at the back for drawing, the available space for the nodes on the drawing interface is little, and the related information of the nodes cannot be fully displayed.
On the other hand, there is a problem in the spatial position of node drawing. When the plurality of entities associated with the node are drawn, the drawn spatial positions are not uniformly regulated according to ergonomics, so that aesthetic laws of users are not necessarily met, and visual perception is poor.
The above problems in node drawing may cause problems of crossing, overlapping, surrounding, etc. in edge drawing. The drawing problems of the nodes and the edges are overlapped together, the visual effect is poor, and the user experience is affected to a certain extent.
In view of the above, there is a need to design a new ER diagram drawing method.
Disclosure of Invention
The invention provides an ER diagram drawing method based on the node state and priority of an adjacency list, which aims to solve the problems of node drawing sequence and node drawing space position in the current ER diagram drawing and improve the display effect and user experience of ER diagram drawing.
The technical scheme of the invention is as follows:
an ER diagram drawing method based on the state and priority of adjacent table nodes,
the method comprises the following steps:
s1: reading a database table structure;
s2: generating an entity relation model based on the adjacency list;
s3: and drawing an ER diagram by combining the node degree and the visual position priority.
Further, the entity relationship model generated in the step S2 has the following features:
s21: the entity represents a data table existing in the database, and the relation is the relation type between any two data tables;
s22, the relationship types comprise 4 types: 1: 1. 1: n, M: 1. m: n, the corresponding type values are 1, 2, 3 and 4 respectively;
s23: each entity corresponds to a node, and an array formed by all the nodes is called a node table of an adjacency list;
s24, performing S24; each node corresponds to an edge set, and stores the storage positions of other nodes which have a relation with the node and the relation between the nodes;
s25: the collection of all node edge sets is referred to as the edge table of the adjacency table.
Further, the step S3 specifically includes:
s31: generating an ordered node table and an ordered edge set; the step S31 specifically includes:
s311: all nodes of the node table are arranged in descending order according to the degree to form an ordered node table;
s312: all elements in the corresponding edge set of each node are arranged in a descending order according to the degree of the corresponding node to form an ordered edge set;
s313: returning the generated ordered node list and ordered edge set;
s32: initializing a node state array VertStatusARRAy, wherein all element values are 1;
s33: drawing an ER diagram; the step S33 specifically includes:
s331: selecting a first node VA in the ordered list of nodes;
s332: judging whether the VertStatusARRAy [ VA ] is satisfied or not! =3, if yes, go to S333, otherwise go to S339;
s333: drawing nodes and connection relations of VA and an edge set thereof; the step S333 specifically includes:
s3331: judging whether the VertStatusARRAy [ VA ] is satisfied or not! =2, if satisfied, go to S3332, otherwise go to S3333;
s3332: drawing a VA in the center above the screen free position;
s3333: drawing nodes of the VA edge set; the step S3333 specifically includes:
s33331: calculating the node number DA of which the node number DA is drawn right below the node VA and on the two horizontal sides, and the node number RA of which the VA side centralized state value is 1;
s33332: judging whether DA= 0 is satisfied, if so, turning to S33333, otherwise turning to S33334;
s33333: completely drawing nodes with VA edge centralized state value of 1 under the nodes VA and on two horizontal sides, and turning to 33337; the step S33333 specifically includes:
s333331: judging whether ra= 1 is satisfied, if so, turning to S333332, otherwise turning to S333333;
s333332: drawing nodes with RA state values of 1 in the VA edge set under the VA, and turning to S333339;
s333333: judging whether ra= 2 is satisfied, if so, turning to S333334, otherwise turning to S333335;
s333334: drawing nodes with RA state values of 1 in the VA edge set on two sides of the VA level, and turning to S333339;
s333335: judging whether ra= 3 is satisfied, if so, turning to S333336, otherwise turning to S333337;
s333336: drawing nodes with RA state values of 1 in the VA edge set at the right lower part and the horizontal sides of VA, and turning to S333339;
s333337: judging whether RA >3 is satisfied, if so, turning to S333338, otherwise turning to S333339;
s333338: drawing the first 3 nodes of the VA edge set under the VA and on the two horizontal sides, and uniformly drawing the rest RA-3 nodes in a right-angle area formed by the right under the VA and the two horizontal sides;
s333339: returning to the nodes which are completely drawn;
s33334: judging whether 0< DA <3 is satisfied, if so, turning to S33335, otherwise turning to S33336;
s33335: drawing nodes with VA edge centralized state value of 1 at the parts right below the nodes VA and at the two horizontal sides, and turning to S33337; the step S33335 specifically includes:
s333351: judging whether 0< ra < = 3-DA is satisfied, if so, turning to S333352, otherwise turning to S333353;
s333352: drawing nodes with RA state values of 1 in the VA edge set at the vacant positions right below VA and at the two horizontal sides, and turning to S333356;
s333353: judging whether RA >3-DA is satisfied, if so, turning to S333354, otherwise turning to S333356;
s333354: drawing nodes with the state value of 1 of front 3-DA in the VA edge set at the vacant positions right below VA and on the two horizontal sides;
s333355: uniformly drawing the nodes with the state values of 1 of the rest RA-3+DA in the VA edge set in a right-angle area formed by the right lower part and the horizontal two sides of the VA;
s333356: returning the nodes drawn by the part;
s33336: uniformly drawing nodes with VA edge centralized state value of 1 in a right angle area around the node VA; the step S33336 specifically includes:
s333361: judging whether RA >0 is satisfied, if so, turning to S333362, otherwise turning to S333363;
s333362: uniformly drawing nodes with RA state values of 1 in the VA edge set in a right-angle area formed by the right lower side and the horizontal sides of the VA;
s333363: returning to the uniformly drawn nodes;
s33337: returning to the drawn VA edge aggregation point;
s3334: drawing the connection relation between the VA and the edge aggregation point; the step S3334 specifically includes:
s33341: acquiring the position loc_va of the VA in the ER diagram;
s33342: reading an edge set EdgeSetRTA corresponding to VA;
s33343: reading a first element PTRT_VB of the EdgeSetRT A;
s33344: acquiring a corresponding node pointer PT_VB and a relationship type RT_VB from PTRT_VB;
s33345: acquiring a corresponding node VB according to the PT_VB;
s33346: acquiring a position loc_VB of VB in an ER diagram;
s33347: drawing a Line segment line_AB from Loc_VA to Loc_VB;
s33348: marking the relationship types at two ends of the line_AB according to the RT_VB;
s33349: returning the drawn connection relation;
s3335: modifying the state value of the node with the state value of 1 in the VA edge set to 2;
s3336: modifying node VA state veritstatassarray [ VA ] =3;
s3337: returning the drawn VA edge aggregation points and the connection relation;
s334: selecting a first node VB in the VA edge set;
s335: judging whether the VertStatusARRAy [ VB ] is satisfied or not! =3, if satisfied, go to S336, otherwise go to S337;
s336: drawing nodes and connection relations of VB and an edge set thereof; the step S336 specifically includes:
s3361: judging whether the VertStatusARRAy [ VB ] is satisfied or not! =2, if satisfied, go to S3362, otherwise go to S3363;
s3362: drawing VB at the center above the screen spare position;
s3363: drawing nodes of the VB edge set; the step S3363 specifically includes:
s33631: calculating the number RB of nodes with the concentrated state value of VB edges being 1, wherein the number DB of nodes is already drawn under the nodes VB and on the two horizontal sides;
s33632: judging whether DB= 0 is satisfied, if so, turning to S33633, otherwise turning to S33634;
s33633: completely drawing nodes with the VB edge centralized state value of 1 under the nodes VB and on the two horizontal sides, and turning to S33637; the step S33633 specifically includes:
s336331: judging whether rb= =1 is satisfied, if so, turning to S336332, otherwise turning to S336333;
s336332: drawing nodes with RB state values of 1 in the VB edge set under VB, and turning to S336339;
s336333: judging whether rb= =2 is satisfied, if so, turning to S336334, otherwise turning to S336335;
s336334: drawing nodes with RB state values of 1 in the VB edge set on two sides of the VB level, and turning to S336339;
s336335: judging whether rb= =3 is satisfied, if so, turning to S336336, otherwise turning to S336337;
s336336: drawing nodes with RB state values of 1 in the VB edge set under VB and on the two horizontal sides, and turning to S336339;
s336337: judging whether RB >3 is satisfied, if so, turning to S336338, otherwise turning to S336339;
s336338: drawing the first 3 nodes of the VB edge set under VB and on the two horizontal sides, and uniformly drawing the rest RB-3 nodes in a right-angle area formed by the right under VB and the two horizontal sides;
s336339: returning to the nodes which are completely drawn;
s33634: judging whether 0< DB <3 is satisfied, if so, turning to S33635, otherwise turning to S33636;
s33635: drawing nodes with VB edge concentration state value of 1 at the parts right below the nodes VB and at the two horizontal sides, and turning to S33637; the step S33635 specifically includes:
s336351: judging whether 0< RB < = 3-DB is satisfied, if so, turning to S336352, otherwise turning to S336353;
s336352: drawing nodes with RB state values of 1 in the VB edge set at the free positions right below VB and at the two horizontal sides, and turning to S336356;
s336353: judging whether RB >3-DB is satisfied, if so, turning to S336354, otherwise turning to S336356;
s336354: drawing nodes with the state values of 1 in front 3-DB in VB edge set at spare positions right below VB and on two horizontal sides;
s336355: uniformly drawing the rest RB-3+DB nodes with state values of 1 in the VB edge set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336356: returning the nodes drawn by the part;
s33636: uniformly drawing nodes with VB edge centralized state values of 1 in a right angle area around the node VB; the step S33636 specifically includes:
s336361: judging whether RB >0 is satisfied, if so, turning to S336362, otherwise turning to S336363;
s336362: uniformly drawing nodes with RB state values of 1 in the VB side set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336363: returning to the uniformly drawn nodes;
s33637: returning to the drawn VB edge aggregation point;
s3364: drawing the connection relation between VB and the edge aggregation point; the step S3364 specifically includes:
s33641: acquiring a position loc_VB of VB in an ER diagram;
s33642: reading an edge set EdgeSetRTB corresponding to VB;
s33643: reading a first element PTRT_VC of the EdgeSetRTB;
s33644: acquiring a corresponding node pointer PT_VC and a relation type RT_VC from PTRT_VC;
s33645: obtaining a corresponding node VC according to the PT_VC;
s33646: acquiring the position Loc_VC of the VC in the ER diagram;
s33647: drawing a Line segment line_bc from loc_vb to loc_vc;
s33648: marking the relation types at two ends of the line_BC according to the RT_VC;
s33649: returning the drawn connection relation;
s3365: modifying the state value of the node with the state value of 1 in the VB edge set to 2;
s3366: modifying node VB state VertStatusARRAy [ VB ] =3;
s3367: returning the drawn VB edge aggregation points and the connection relation;
s337: judging whether the nodes of the VA edge set are read completely, if not, turning to S338, otherwise turning to S339;
s338: reading the next node VB of the VA edge set, and turning to S335;
s339: judging whether the ordered node list is read completely, if not, turning to S33A, otherwise turning to S33B;
S33A: reading the next node VA of the ordered node table, and turning to S32;
S33B: returning to the drawn ER diagram.
In addition, the invention also provides an ER diagram drawing device based on the node state and the priority of the adjacency list, which comprises the following steps:
a table structure reading section M1 for reading a table structure of the database;
an entity relationship model generating part M2 for storing the entities and relationship types existing in the database in the adjacency list;
ER diagram drawing means M3 for drawing an entity relationship model stored using an adjacency list.
Wherein, the ER diagram drawing part M3 specifically includes:
an adjacency list ordering means M31 for generating an ordered list of nodes and an ordered set of edges;
and an adjacency list drawing part M32 for drawing nodes of the adjacency list and connection relations thereof.
The adjacency list drawing section M32 specifically includes:
a class 1 node and relationship drawing unit M321 for drawing nodes of the node table and nodes of the edge set thereof, and connection relationships between the nodes;
and the class 2 node and relationship drawing component M322 is used for drawing the nodes of the edge set and the nodes of the edge set corresponding to the node table and the connection relationship between the nodes.
The invention has the beneficial effects that
The nodes are arranged in descending order according to the illuminance, and the nodes are drawn one by one according to the arrangement order, so that the nodes with a large enough space drawing degree can be possessed, and the rich entity-relation information of the nodes can be fully displayed; the drawing sequence of the node-associated entities is arranged according to the visual perception smooth feeling principle and the distribution condition of the drawn associated entities at the adjacent positions of the nodes, so that the basic habit of reading by a user is met, and the fluency and pleasure of reading the ER diagram by the user can be improved.
Drawings
FIG. 1 is a flow chart of the steps of the method of the present invention;
FIG. 2 is an example of storing an entity relationship model using an adjacency table;
FIG. 3 is a specific step flow chart of step S3;
fig. 4 is a specific step flowchart of step S31;
FIG. 5 is an example of a model of entity relationships after ordering a junction table and edge set;
fig. 6 is a specific step flowchart of step S33;
fig. 7 is a specific step flowchart of step S333;
fig. 8 is a specific step flowchart of step S3333;
fig. 9 is a specific step flowchart of step S33333;
fig. 10 is a specific step flowchart of step S33335;
fig. 11 is a specific step flowchart of step S33336;
fig. 12 is a specific step flowchart of step S3334;
FIG. 13 is an example of nodes and connections that plot VA and its edge set;
fig. 14 is a specific step flowchart of step S336;
fig. 15 is a specific step flowchart of step S3363;
fig. 16 is a specific step flowchart of step S33633;
fig. 17 is a specific step flowchart of step S33635;
fig. 18 is a specific step flowchart of step S33636;
fig. 19 is a specific step flowchart of step S3364;
FIG. 20 is an example of nodes and connections that plot VB and its edge set;
FIG. 21 is an ER diagram plotting result example;
FIG. 22 is a block diagram of the apparatus of the present invention;
fig. 23 is a block diagram of the ER diagram drawing section M3;
fig. 24 is a block diagram of the structure of the adjacency list drawing section M32.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments, and all other embodiments obtained by those skilled in the art without making any inventive effort based on the embodiments of the present invention are within the scope of protection of the present invention.
The invention is realized by the following scheme: an ER diagram drawing method based on the node state and priority of an adjacency list, as shown in FIG. 1, comprises the following steps:
s1: reading a database table structure;
s2: generating an entity relation model based on the adjacency list;
FIG. 2 is a model of entity relationships stored using adjacency lists, recording entities and relationship types present in a database of { student lists, curriculum schedules, student performance lists, teacher teaching lists }. The model is composed of two parts:
a. node table
The data table is regarded as a node, and a one-dimensional array formed by the nodes is called a node table, as shown in a sequence formed by 5 nodes from top to bottom at the leftmost side of fig. 2. Each node record of the node table corresponds to table structure information, and comprises a table name, an attribute name array, a main key and an external key; the attribute name array element stores the name of each attribute, the main key and the external key are arrays, and the attribute names corresponding to the main key and the external key are respectively stored.
In fig. 2, the sequence of 5 nodes from top to bottom at the leftmost side [ student list, curriculum schedule, student score list, teacher teaching list ] is the node list of the model. Table structure information recorded by the node "curriculum" is shown in table 1.
Table 1 table structure information of curriculum schedule records
Attribute name Main key External key
Course numbering Y N
Course name N N
School time of course N N
b. Side meter
For each node in the node list, storing the storage position of another node in the edge containing the node and the relation type between the storage position and the relation type, and forming an edge set of the node; the set of edge sets for all nodes is referred to as the edge table of the adjacency table. The relationship type between two nodes is the relationship type between corresponding data tables, and for convenience in representation, we define the relationship type to have the value ranges of 1, 2, 3 and 4, and respectively represent 1: 1. 1: n, M: 1. m: n.
In fig. 2, the linked list pointed by the arrow on the right side of the node "curriculum schedule" forms an edge set { [ student score list, 2], [ teacher teaching list, 2] }, where the edge set indicates that the "curriculum schedule" and the "student score list", "curriculum schedule" and the "teacher teaching list" have an association relationship, and the types are 1: n (the corresponding values are all 2).
S3: and drawing an ER diagram by combining the node degree and the visual position priority.
Further, as shown in fig. 3, the step S3 specifically includes:
s31: generating an ordered node table and an ordered edge set;
further, as shown in fig. 4, the step S31 specifically includes:
s311: all nodes of the node table are arranged in descending order according to the degree to form an ordered node table;
s312: all elements in the corresponding edge set of each node are arranged in a descending order according to the degree of the corresponding node to form an ordered edge set;
s313: and returning the generated ordered node table and ordered edge set.
The above operation is performed on the adjacency list shown in fig. 2, and the result is shown in fig. 5.
S32: initializing a node state array VertStatusARRAy, wherein all element values are 1;
s33: and drawing an ER diagram.
Further, as shown in fig. 6, the step S33 specifically includes:
s331: selecting a first node VA in the ordered list of nodes;
s332: judging whether the VertStatusARRAy [ VA ] is satisfied or not! =3, if yes, go to S333, otherwise go to S339;
s333: drawing nodes and connection relations of VA and an edge set thereof;
further, as shown in fig. 7, the step S333 specifically includes:
s3331: judging whether the VertStatusARRAy [ VA ] is satisfied or not! =2, if satisfied, go to S3332, otherwise go to S3333;
s3332: drawing a VA in the center above the screen free position;
s3333: drawing nodes of the VA edge set;
further, as shown in fig. 8, the step S3333 specifically includes:
s33331: calculating the node number DA of which the node number DA is drawn right below the node VA and on the two horizontal sides, and the node number RA of which the VA side centralized state value is 1;
s33332: judging whether DA= 0 is satisfied, if so, turning to S33333, otherwise turning to S33334;
s33333: completely drawing nodes with VA edge centralized state value of 1 under the nodes VA and on two horizontal sides, and turning to 33337;
further, as shown in fig. 9, the step S33333 specifically includes:
s333331: judging whether ra= 1 is satisfied, if so, turning to S333332, otherwise turning to S333333;
s333332: drawing nodes with RA state values of 1 in the VA edge set under the VA, and turning to S333339;
s333333: judging whether ra= 2 is satisfied, if so, turning to S333334, otherwise turning to S333335;
s333334: drawing nodes with RA state values of 1 in the VA edge set on two sides of the VA level, and turning to S333339;
s333335: judging whether ra= 3 is satisfied, if so, turning to S333336, otherwise turning to S333337;
s333336: drawing nodes with RA state values of 1 in the VA edge set at the right lower part and the horizontal sides of VA, and turning to S333339;
s333337: judging whether RA >3 is satisfied, if so, turning to S333338, otherwise turning to S333339;
s333338: drawing the first 3 nodes of the VA edge set under the VA and on the two horizontal sides, and uniformly drawing the rest RA-3 nodes in a right-angle area formed by the right under the VA and the two horizontal sides;
s333339: returning to the fully drawn nodes.
S33334: judging whether 0< DA <3 is satisfied, if so, turning to S33335, otherwise turning to S33336;
s33335: drawing nodes with VA edge centralized state value of 1 at the parts right below the nodes VA and at the two horizontal sides, and turning to S33337;
further, as shown in fig. 10, the step S33335 specifically includes:
s333351: judging whether 0< ra < = 3-DA is satisfied, if so, turning to S333352, otherwise turning to S333353;
s333352: drawing nodes with RA state values of 1 in the VA edge set at the vacant positions right below VA and at the two horizontal sides, and turning to S333356;
s333353: judging whether RA >3-DA is satisfied, if so, turning to S333354, otherwise turning to S333356;
s333354: drawing nodes with the state value of 1 of front 3-DA in the VA edge set at the vacant positions right below VA and on the two horizontal sides;
s333355: uniformly drawing the nodes with the state values of 1 of the rest RA-3+DA in the VA edge set in a right-angle area formed by the right lower part and the horizontal two sides of the VA;
s333356: and returning the partially drawn nodes.
S33336: uniformly drawing nodes with VA edge centralized state value of 1 in a right angle area around the node VA;
further, as shown in fig. 11, the step S33336 specifically includes:
s333361: judging whether RA >0 is satisfied, if so, turning to S333362, otherwise turning to S333363;
s333362: uniformly drawing nodes with RA state values of 1 in the VA edge set in a right-angle area formed by the right lower side and the horizontal sides of the VA;
s333363: and returning to the uniformly drawn nodes.
S33337: and returning to the drawn VA edge aggregation point.
S3334: drawing the connection relation between the VA and the edge aggregation point;
further, as shown in fig. 12, the step S3334 specifically includes:
s33341: acquiring the position loc_va of the VA in the ER diagram;
s33342: reading an edge set EdgeSetRTA corresponding to VA;
s33343: reading a first element PTRT_VB of the EdgeSetRT A;
s33344: acquiring a corresponding node pointer PT_VB and a relationship type RT_VB from PTRT_VB;
s33345: acquiring a corresponding node VB according to the PT_VB;
s33346: acquiring a position loc_VB of VB in an ER diagram;
s33347: drawing a Line segment line_AB from Loc_VA to Loc_VB;
s33348: marking the relationship types at two ends of the line_AB according to the RT_VB;
s33349: and returning the drawn connection relation.
S3335: modifying the state value of the node with the state value of 1 in the VA edge set to 2;
s3336: modifying node VA state veritstatassarray [ VA ] =3;
s3337: and returning the drawn VA edge aggregation point and the connection relation.
In fig. 5, the first node VA in the ordered node list is "curriculum schedule", the nodes of the edge set include "student score list" and "teacher teaching list", the above operations are performed on the nodes shown in fig. 5, and the drawing result is shown in fig. 13.
S334: selecting a first node VB in the VA edge set;
s335: judging whether the VertStatusARRAy [ VB ] is satisfied or not! =3, if satisfied, go to S336, otherwise go to S337;
s336: drawing nodes and connection relations of VB and an edge set thereof;
further, as shown in fig. 14, the step S336 specifically includes:
s3361: judging whether the VertStatusARRAy [ VB ] is satisfied or not! =2, if satisfied, go to S3362, otherwise go to S3363;
s3362: drawing VB at the center above the screen spare position;
s3363: drawing nodes of the VB edge set;
further, as shown in fig. 15, the step S3363 specifically includes:
s33631: calculating the number DB of drawn nodes under the node VB and on the two horizontal sides, wherein the number RB of the nodes with the VB edge concentrated state value of 1;
s33632: judging whether DB= 0 is satisfied, if so, turning to S33633, otherwise turning to S33634;
s33633: completely drawing nodes with the VB edge centralized state value of 1 under the nodes VB and on the two horizontal sides, and turning to S33637;
further, as shown in fig. 16, the step S33633 specifically includes:
s336331: judging whether rb= =1 is satisfied, if so, turning to S336332, otherwise turning to S336333;
s336332: drawing nodes with RB state values of 1 in the VB edge set under VB, and turning to S336339;
s336333: judging whether rb= =2 is satisfied, if so, turning to S336334, otherwise turning to S336335;
s336334: drawing nodes with RB state values of 1 in the VB edge set on two sides of the VB level, and turning to S336339;
s336335: judging whether rb= =3 is satisfied, if so, turning to S336336, otherwise turning to S336337;
s336336: drawing nodes with RB state values of 1 in the VB edge set under VB and on the two horizontal sides, and turning to S336339;
s336337: judging whether RB >3 is satisfied, if so, turning to S336338, otherwise turning to S336339;
s336338: drawing the first 3 nodes of the VB edge set under VB and on the two horizontal sides, and uniformly drawing the rest RB-3 nodes in a right-angle area formed by the right under VB and the two horizontal sides;
s336339: returning to the fully drawn nodes.
S33634: judging whether 0< DB <3 is satisfied, if so, turning to S33635, otherwise turning to S33636;
s33635: drawing nodes with VB edge concentration state value of 1 at the parts right below the nodes VB and at the two horizontal sides, and turning to S33637;
further, as shown in fig. 17, the step S33635 specifically includes:
s336351: judging whether 0< RB < = 3-DB is satisfied, if so, turning to S336352, otherwise turning to S336353;
s336352: drawing nodes with RB state values of 1 in the VB edge set at the free positions right below VB and at the two horizontal sides, and turning to S336356;
s336353: judging whether RB >3-DB is satisfied, if so, turning to S336354, otherwise turning to S336356;
s336354: drawing nodes with the state values of 1 in front 3-DB in VB edge set at spare positions right below VB and on two horizontal sides;
s336355: uniformly drawing the rest RB-3+DB nodes with state values of 1 in the VB edge set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336356: and returning the partially drawn nodes.
S33636: uniformly drawing nodes with VB edge centralized state values of 1 in a right angle area around the node VB;
further, as shown in fig. 18, the step S33636 specifically includes:
s336361: judging whether RB >0 is satisfied, if so, turning to S336362, otherwise turning to S336363;
s336362: uniformly drawing nodes with RB state values of 1 in the VB side set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336363: and returning to the uniformly drawn nodes.
S33637: and returning to the VB edge set point drawn.
S3364: and drawing the connection relation between VB and the edge set point.
Further, as shown in fig. 19, the step S3364 specifically includes:
s33641: acquiring a position loc_VB of VB in an ER diagram;
s33642: reading an edge set EdgeSetRTB corresponding to VB;
s33643: reading a first element PTRT_VC of the EdgeSetRTB;
s33644: acquiring a corresponding node pointer PT_VC and a relation type RT_VC from PTRT_VC;
s33645: obtaining a corresponding node VC according to the PT_VC;
s33646: acquiring the position Loc_VC of the VC in the ER diagram;
s33647: drawing a Line segment line_bc from loc_vb to loc_vc;
s33648: marking the relation types at two ends of the line_BC according to the RT_VC;
s33649: and returning the drawn connection relation.
S3365: modifying the state value of the node with the state value of 1 in the VB edge set to 2;
s3366: modifying node VB state VertStatusARRAy [ VB ] =3;
s3367: and returning the drawn VB edge set points and connection relations.
In fig. 5, in the side set of the node VA "curriculum schedule", the first node VB is a "student score table", and the side set point includes "curriculum schedule" and "student table", and the above operations are performed on the basis of fig. 13, and the drawing result is shown in fig. 20.
S337: judging whether the nodes of the VA edge set are read completely, if not, turning to S338, otherwise turning to S339;
s338: reading the next node VB of the VA edge set, and turning to S335;
s339: judging whether the ordered node list is read completely, if not, turning to S33A, otherwise turning to S33B;
S33A: reading the next node VA of the ordered node table, and turning to S32;
S33B: returning to the drawn ER diagram.
The above operations are performed on the basis of fig. 20, the nodes "teacher teaching table", "student table" and "teacher table" are sequentially selected, and the nodes and connection relations of the nodes and their edge sets are respectively drawn, and the drawing results are shown in fig. 21.
An ER diagram drawing apparatus according to the present invention based on the state and priority of an adjacency list node, as shown in FIG. 22, comprises:
a table structure reading section M1 for reading a table structure of the database;
an entity relationship model generating part M2 for storing the entities and relationship types existing in the database in the adjacency list;
an ER diagram drawing section M3 for drawing an entity relationship model stored using an adjacency list, as shown in fig. 23, the ER diagram drawing section M3 comprising:
an adjacency list ordering means M31 for generating an ordered list of nodes and an ordered set of edges;
an adjacency list drawing means M32 for drawing nodes of an adjacency list and connection relations thereof, as shown in fig. 24, the adjacency list drawing means M32 comprising:
a class 1 node and relationship drawing unit M321 for drawing nodes of the node table and nodes of the edge set thereof, and connection relationships between the nodes;
and the class 2 node and relationship drawing component M322 is used for drawing the nodes of the edge set and the nodes of the edge set corresponding to the node table and the connection relationship between the nodes.
The foregoing description is only illustrative of the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims (2)

1. An ER diagram drawing method based on the node state and priority of an adjacency list is characterized in that,
the method comprises the following steps:
s1: reading a database table structure;
s2: generating an adjacency list-based entity-relationship model, comprising:
the entity represents a data table existing in the database, and the relation is the relation type between any two data tables;
the relationship types include 4 types: 1: 1. 1: n, M: 1. m: n, the corresponding type values are 1, 2, 3 and 4 respectively;
each entity corresponds to a node, and an array formed by all the nodes is called a node table of an adjacency list;
each node corresponds to an edge set, and stores the storage positions of other nodes which have a relation with the node and the relation between the nodes;
a set of all node edge sets, called an edge table of the adjacency table;
s3: drawing an ER diagram by combining node degree and visual position priority; comprising the following steps:
s31: generating an ordered node table and an ordered edge set; the step S31 specifically includes:
s311: all nodes of the node table are arranged in descending order according to the degree to form an ordered node table;
s312: all elements in the corresponding edge set of each node are arranged in a descending order according to the degree of the corresponding node to form an ordered edge set;
s313: returning the generated ordered node list and ordered edge set;
s32: initializing a node state array VertStatusARRAy, wherein all element values are 1;
s33: drawing an ER diagram; the step S33 specifically includes:
s331: selecting a first node VA in the ordered list of nodes;
s332: judging whether the VertStatusARRAy [ VA ] |=3 is satisfied, if so, turning to S333, otherwise turning to S339;
s333: drawing nodes and connection relations of VA and an edge set thereof; the step S333 specifically includes:
s3331: judging whether the VertStatusARRAy [ VA ] |=2 is satisfied, if so, turning to S3332, otherwise turning to S3333;
s3332: drawing a VA in the center above the screen free position;
s3333: drawing nodes of the VA edge set; the step S3333 specifically includes:
s33331: calculating the node number DA of which the node number DA is drawn right below the node VA and on the two horizontal sides, and the node number RA of which the VA side centralized state value is 1;
s33332: judging whether DA= 0 is satisfied, if so, turning to S33333, otherwise turning to S33334;
s33333: completely drawing nodes with VA edge centralized state value of 1 under the nodes VA and on two horizontal sides, and turning to 33337; the step S33333 specifically includes:
s333331: judging whether ra= 1 is satisfied, if so, turning to S333332, otherwise turning to S333333;
s333332: drawing nodes with RA state values of 1 in the VA edge set under the VA, and turning to S333339;
s333333: judging whether ra= 2 is satisfied, if so, turning to S333334, otherwise turning to S333335;
s333334: drawing nodes with RA state values of 1 in the VA edge set on two sides of the VA level, and turning to S333339;
s333335: judging whether ra= 3 is satisfied, if so, turning to S333336, otherwise turning to S333337;
s333336: drawing nodes with RA state values of 1 in the VA edge set at the right lower part and the horizontal sides of VA, and turning to S333339;
s333337: judging whether RA >3 is satisfied, if so, turning to S333338, otherwise turning to S333339;
s333338: drawing the first 3 nodes of the VA edge set under the VA and on the two horizontal sides, and uniformly drawing the rest RA-3 nodes in a right-angle area formed by the right under the VA and the two horizontal sides;
s333339: returning to the nodes which are completely drawn;
s33334: judging whether 0< DA <3 is satisfied, if so, turning to S33335, otherwise turning to S33336;
s33335: drawing nodes with VA edge centralized state value of 1 at the parts right below the nodes VA and at the two horizontal sides, and turning to S33337; the step S33335 specifically includes:
s333351: judging whether 0< ra < = 3-DA is satisfied, if so, turning to S333352, otherwise turning to S333353;
s333352: drawing nodes with RA state values of 1 in the VA edge set at the vacant positions right below VA and at the two horizontal sides, and turning to S333356;
s333353: judging whether RA >3-DA is satisfied, if so, turning to S333354, otherwise turning to S333356;
s333354: drawing nodes with the state value of 1 of front 3-DA in the VA edge set at the vacant positions right below VA and on the two horizontal sides;
s333355: uniformly drawing the nodes with the state values of 1 of the rest RA-3+DA in the VA edge set in a right-angle area formed by the right lower part and the horizontal two sides of the VA;
s333356: returning the nodes drawn by the part;
s33336: uniformly drawing nodes with VA edge centralized state value of 1 in a right angle area around the node VA; the step S33336 specifically includes:
s333361: judging whether RA >0 is satisfied, if so, turning to S333362, otherwise turning to S333363;
s333362: uniformly drawing nodes with RA state values of 1 in the VA edge set in a right-angle area formed by the right lower side and the horizontal sides of the VA;
s333363: returning to the uniformly drawn nodes;
s33337: returning to the drawn VA edge aggregation point;
s3334: drawing the connection relation between the VA and the edge aggregation point; the step S3334 specifically includes:
s33341: acquiring the position loc_va of the VA in the ER diagram;
s33342: reading an edge set EdgeSetRTA corresponding to VA;
s33343: reading a first element PTRT_VB of the EdgeSetRT A;
s33344: acquiring a corresponding node pointer PT_VB and a relationship type RT_VB from PTRT_VB;
s33345: acquiring a corresponding node VB according to the PT_VB;
s33346: acquiring a position loc_VB of VB in an ER diagram;
s33347: drawing a Line segment line_AB from Loc_VA to Loc_VB;
s33348: marking the relationship types at two ends of the line_AB according to the RT_VB;
s33349: returning the drawn connection relation;
s3335: modifying the state value of the node with the state value of 1 in the VA edge set to 2;
s3336: modifying node VA state veritstatassarray [ VA ] =3;
s3337: returning the drawn VA edge aggregation points and the connection relation;
s334: selecting a first node VB in the VA edge set;
s335: judging whether the VertStatusARRAy [ VB ] |=3 is satisfied, if so, turning to S336, otherwise turning to S337;
s336: drawing nodes and connection relations of VB and an edge set thereof; the step S336 specifically includes:
s3361: judging whether the VertStatusARRAy [ VB ] |=2 is satisfied, if so, turning to S3362, otherwise turning to S3363;
s3362: drawing VB at the center above the screen spare position;
s3363: drawing nodes of the VB edge set; the step S3363 specifically includes:
s33631: calculating the number RB of nodes with the concentrated state value of VB edges being 1, wherein the number DB of nodes is already drawn under the nodes VB and on the two horizontal sides;
s33632: judging whether DB= 0 is satisfied, if so, turning to S33633, otherwise turning to S33634;
s33633: completely drawing nodes with the VB edge centralized state value of 1 under the nodes VB and on the two horizontal sides, and turning to S33637; the step S33633 specifically includes:
s336331: judging whether rb= =1 is satisfied, if so, turning to S336332, otherwise turning to S336333;
s336332: drawing nodes with RB state values of 1 in the VB edge set under VB, and turning to S336339;
s336333: judging whether rb= =2 is satisfied, if so, turning to S336334, otherwise turning to S336335;
s336334: drawing nodes with RB state values of 1 in the VB edge set on two sides of the VB level, and turning to S336339;
s336335: judging whether rb= =3 is satisfied, if so, turning to S336336, otherwise turning to S336337;
s336336: drawing nodes with RB state values of 1 in the VB edge set under VB and on the two horizontal sides, and turning to S336339;
s336337: judging whether RB >3 is satisfied, if so, turning to S336338, otherwise turning to S336339;
s336338: drawing the first 3 nodes of the VB edge set under VB and on the two horizontal sides, and uniformly drawing the rest RB-3 nodes in a right-angle area formed by the right under VB and the two horizontal sides;
s336339: returning to the nodes which are completely drawn;
s33634: judging whether 0< DB <3 is satisfied, if so, turning to S33635, otherwise turning to S33636;
s33635: drawing nodes with VB edge concentration state value of 1 at the parts right below the nodes VB and at the two horizontal sides, and turning to S33637; the step S33635 specifically includes:
s336351: judging whether 0< RB < = 3-DB is satisfied, if so, turning to S336352, otherwise turning to S336353;
s336352: drawing nodes with RB state values of 1 in the VB edge set at the free positions right below VB and at the two horizontal sides, and turning to S336356;
s336353: judging whether RB >3-DB is satisfied, if so, turning to S336354, otherwise turning to S336356;
s336354: drawing nodes with the state values of 1 in front 3-DB in VB edge set at spare positions right below VB and on two horizontal sides;
s336355: uniformly drawing the rest RB-3+DB nodes with state values of 1 in the VB edge set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336356: returning the nodes drawn by the part;
s33636: uniformly drawing nodes with VB edge centralized state values of 1 in a right angle area around the node VB; the step S33636 specifically includes:
s336361: judging whether RB >0 is satisfied, if so, turning to S336362, otherwise turning to S336363;
s336362: uniformly drawing nodes with RB state values of 1 in the VB side set in a right-angle area formed by the right lower part of VB and the horizontal two sides;
s336363: returning to the uniformly drawn nodes;
s33637: returning to the drawn VB edge aggregation point;
s3364: drawing the connection relation between VB and the edge aggregation point; the step S3364 specifically includes:
s33641: acquiring a position loc_VB of VB in an ER diagram;
s33642: reading an edge set EdgeSetRTB corresponding to VB;
s33643: reading a first element PTRT_VC of the EdgeSetRTB;
s33644: acquiring a corresponding node pointer PT_VC and a relation type RT_VC from PTRT_VC;
s33645: obtaining a corresponding node VC according to the PT_VC;
s33646: acquiring the position Loc_VC of the VC in the ER diagram;
s33647: drawing a Line segment line_bc from loc_vb to loc_vc;
s33648: marking the relation types at two ends of the line_BC according to the RT_VC;
s33649: returning the drawn connection relation;
s3365: modifying the state value of the node with the state value of 1 in the VB edge set to 2;
s3366: modifying node VB state VertStatusARRAy [ VB ] =3;
s3367: returning the drawn VB edge aggregation points and the connection relation;
s337: judging whether the nodes of the VA edge set are read completely, if not, turning to S338, otherwise turning to S339;
s338: reading the next node VB of the VA edge set, and turning to S335;
s339: judging whether the ordered node list is read completely, if not, turning to S33A, otherwise turning to S33B;
S33A: reading the next node VA of the ordered node table, and turning to S32;
S33B: returning to the drawn ER diagram.
2. An ER graph plotting apparatus based on adjacency list node status and priority for executing the ER graph plotting method based on adjacency list node status and priority according to claim 1, characterized by comprising:
a table structure reading section M1 for reading a table structure of the database;
an entity relationship model generating part M2 for storing the entities and relationship types existing in the database in the adjacency list;
ER diagram drawing means M3 for drawing an entity relationship model stored using an adjacency list;
the ER diagram drawing part M3 specifically includes:
an adjacency list ordering means M31 for generating an ordered list of nodes and an ordered set of edges;
an adjacency list drawing means M32 for drawing nodes of the adjacency list and connection relations thereof;
the adjacency list drawing section M32 specifically includes:
a class 1 node and relationship drawing unit M321 for drawing nodes of the node table and nodes of the edge set thereof, and connection relationships between the nodes;
and the class 2 node and relationship drawing component M322 is used for drawing the nodes of the edge set and the nodes of the edge set corresponding to the node table and the connection relationship between the nodes.
CN201911406960.7A 2019-12-31 2019-12-31 ER diagram drawing method and device based on neighbor table node state and priority Active CN111190971B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911406960.7A CN111190971B (en) 2019-12-31 2019-12-31 ER diagram drawing method and device based on neighbor table node state and priority

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911406960.7A CN111190971B (en) 2019-12-31 2019-12-31 ER diagram drawing method and device based on neighbor table node state and priority

Publications (2)

Publication Number Publication Date
CN111190971A CN111190971A (en) 2020-05-22
CN111190971B true CN111190971B (en) 2023-08-01

Family

ID=70707969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911406960.7A Active CN111190971B (en) 2019-12-31 2019-12-31 ER diagram drawing method and device based on neighbor table node state and priority

Country Status (1)

Country Link
CN (1) CN111190971B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114355968B (en) * 2021-11-26 2023-12-12 中国航空无线电电子研究所 Airborne equipment autonomous control method and device based on multidimensional matching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958165B1 (en) * 2003-11-18 2011-06-07 Unisys Corporation Converting logical aspects of common warehouse model to design elements for relational database
CN110516010A (en) * 2019-08-28 2019-11-29 浪潮软件集团有限公司 A kind of database entity relational model extracting method and device based on adjacency list

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958165B1 (en) * 2003-11-18 2011-06-07 Unisys Corporation Converting logical aspects of common warehouse model to design elements for relational database
CN110516010A (en) * 2019-08-28 2019-11-29 浪潮软件集团有限公司 A kind of database entity relational model extracting method and device based on adjacency list

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
汪永红 ; 罗军宏 ; 张有为 ; .车辆导航系统的设计与实现.计算机系统应用.2006,(03),全文. *
邢伟,孙延奎,唐泽圣.与视点相关的多分辨率地表模型简化算法.清华大学学报(自然科学版).2004,(01),全文. *

Also Published As

Publication number Publication date
CN111190971A (en) 2020-05-22

Similar Documents

Publication Publication Date Title
Camarillo-Naranjo et al. The global climate monitor system: from climate data-handling to knowledge dissemination
Kaufmann et al. Drawing graphs: methods and models
Bender-deMoll et al. The art and science of dynamic network visualization
CN109784721B (en) Employment data analysis and data mining analysis platform system
WO2008100365A1 (en) Systems and methods for survey scheduling and implementation
Stainforth et al. Distributed computing for public-interest climate modeling research
Najafi et al. A user-centred virtual city information model for inclusive community design: State-of-art
Yue et al. Participatory intercomparison strategy for terrestrial carbon cycle models based on a service-oriented architecture
CN111190971B (en) ER diagram drawing method and device based on neighbor table node state and priority
Chang Hakka genealogical migration analysis enhancement using big data on library services
Rost et al. Exploration and Analysis of Temporal Property Graphs.
Rees et al. AgentVis: visual analysis of agent behavior with hierarchical glyphs
Nur et al. GIS and geodatabase disaster risk for spatial planning
Zhou et al. A map-based visual analysis method for patterns discovery of mobile learning in education with big data
Martinec et al. Visualization of information traceability in product development
Sijabat et al. The Development of Web Based Information System at Universitas Klabat Career Center
Boukerch et al. The Setting up of a GIS for the General Population and Housing Census
Del Fatto Visual summaries of geographic databases by chorems
Cho et al. Integrating GIS and FEATHERS: A conceptual design
Amar Sacred Centers in India: Archiving Temples and Images of a Hindu City
Noik Dynamic Fisheye Views: Combining Dynamic Queries and Mapping with Database View Definition
Rollande et al. The use of structural modelling methods for analysis of personalized study planning
Sedek et al. Design and implementation of big data visualization for student housing analysis
Vasileva Opportunities of the GPSS Studio for training of students in hotel management
Sukhinin et al. Innovative digital services for working with big data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant before: INSPUR SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant