Writing natural language rule statements — a systematic approach part 21_ the syntax of data cardinality rule statements

While my first series of articles on writing natural language rule statements [1] explored a wide variety of issues in a rather organic and hence random manner, this series takes a more holistic and systematic approach and draws on insights gained while writing my recently-published book on the same topic. Database 360 [2] Rule statements recommended in these articles are intended to comply with the Object Management Group’s Semantics of Business Vocabulary and Business Rules (SBVR) version 1.0. Database architect salary [3]

In earlier articles in this series (see the “Language Archives” sidebar) we have looked at standardised rule statements for various types of operative rules [4] ( data rules , [5] activity rules, [6] and party rules, [7]) and definitional rules. Database administrator job description [8] Each specific type of rule statement has a common formulation which we have discussed in both a relatively informal way and by way of rule statement patterns.


You may recall from Part 7 of this series [17] that data cardinality rule statements are operative rule statements, which are of three classes:

The subject of any data cardinality rule statement (except a dependent cardinality rule statement such as RS55) must be the term signifying the transaction in which a data item is required or prohibited. Data recovery app If necessary, this term should be qualified by a qualifying clause, as described below under the heading Qualifying the subject of a data cardinality rule statement.

Each type of form (paper or on-screen) should be assigned an agreed term that signifies the transaction documented by the form (e.g., Leave Application, Order, or Flight Booking Request), and that term should be used as the subject in any data cardinality rule statement governing data in that form.

Similarly, each type of incoming message (which should either be a request for a service or a response from a service) should also be assigned an agreed term. R database connection A good standard for terms signifying messages is to base them on the name of the service:

The only exception (as indicated above) is the dependent cardinality rule statement (of which rule statement RS55 is an example); its subject is number of passenger names specified in each Flight Booking Confirmation. Database weak entity Another example is RS56, in which the subject is number of advance seat requests specified for each flight in each Flight Booking Confirmation: RS56.

• optionally a prepositional phrase identifying a complex data item (an object in a transaction for which more than one individual data item is specified), e.g., for each flight in RS56

• the term signifying the transaction or persistent data record in which the data item is required, e.g., Flight Booking Confirmation in RS56.

A data cardinality rule may not apply to all instances of a transaction, in which case a qualifying clause is required, to restrict the application of the rule. Data recovery vancouver For example in RS53 the qualifying clause that is for international travel is used to restrict the application of that rule statement to those types of Travel Insurance Application that are for international travel (rather than those for domestic travel).

The predicate of a mandatory data item rule statement or multiple data rule statement consists of the following syntactic components in sequence:

• if the data item is part of a complex data item (an object in a transaction for which more than one individual data item is specified, such as a passenger in a Travel Insurance Application), a prepositional phrase such as

• The determiner each is used if there can be more than one of the complex data item in the transaction, while the is used if there can only be one of the complex data item in the transaction.

• The term signifying the complex data item (if any) can be followed by a qualifying clause if necessary to restrict the application of the rule, as in:

Similarly, the predicate of a prohibited data rule statement or maximum cardinality rule statement consists of the following syntactic components in sequence:

• Where the complex data item is optional as well as multiple (there can be more than one in the transaction), (if any) is not needed after any.

The predicate of a mandatory option selection rule statement (such as RS287 and RS288) consists of the following syntactic components in sequence:

• if the data item is part of a complex data item, a prepositional phrase as in a mandatory data item rule statement or multiple data rule statement

• For easier comprehension, the prepositional phrase (if any) immediately follows specify rather than being at the end of the predicate as the conditional clause may be quite long.

The predicate of a mandatory group rule statement (such as RS45, RS46, RS289, and RS290) consists of the following syntactic components in sequence:

• if the data item is part of a complex data item (as in RS290), a prepositional phrase as in a mandatory data item rule statement or multiple data rule statement

• at least one of the following:, followed by a list of terms, each preceded by an indefinite article ( a or an), the last pair separated by or (optionally preceded by a comma), and each other pair sped by a comma (as in RS45)

Again, for easier comprehension, the prepositional phrase (if any) immediately follows specify rather than being after the list of alternatives. Level 3 data recovery RS45.

The predicate of a dependent cardinality rule statement is the same as that of a range rule statement, equality rule statement, or inequality rule statement. Database blob These will be discussed in a subsequent article.

[1] The first of which is: Graham Witt, “A Practical Method of Developing Natural Language Rule Statements (Part 1),” Business Rules Journal, Vol. 10, No. 2 (Feb. 2009), URL: http://www.BRCommunity.com/a2009/b461.html

[3] Semantics of Business Vocabulary and Business Rules (SBVR), v1.0. Database examples Object Management Group (Jan. 2008). Database knowledge Available at http://www.omg.org/spec/SBVR/1.0/

The font and colour conventions used in these rule statements reflect those in the SBVR, namely underlined teal for terms, italic blue for verb phrases, orange for keywords, and double-underlined green for names and other literals. H2 database Note that, for clarity, these conventions are not used for rule statements that exhibit one or more non-recommended characteristics.

[4] A rule that states what must or must not happen in particular circumstances, and which can therefore be contravened, by contrast with a definitional rule.

[8] A rule that defines a construct created or used by an organisation (or the industry within which it operates), or defines a property of such a construct, and which cannot therefore be contravened, by contrast with an operative rule.

[9] Statements of rules that require the presence or absence of a data item and/or place restrictions on the maximum or minimum number of occurrences of a data item.

[14] Statements of rules that place an upper limit (usually but not necessarily one) on how many instances of a particular data item there may be.

[17] Graham Witt, “Writing Natural Language Rule Statements — a Systematic Approach: Part 7 — Equality Rules, Rule Statement Patterns,” Business Rules Journal, Vol. Nexus 5 data recovery 14, No. Data recovery uk 1 (Jan. Database collation 2013), URL: http://www.BRCommunity.com/a2013/b686.html

[18] ‘ A’, ‘ An’, or ‘ The’ is used rather than ‘ Each’ in this type of rule statement since the use of ‘ Each’ with ‘ must not’ leads to awkward-sounding statements such as ‘†Each passenger must not smoke.’ (the dagger symbol is used to indicate that a rule statement is, for one or more reasons, not recommended).

Graham Witt, “Writing Natural Language Rule Statements — a Systematic Approach — Part 21: The Syntax of Data Cardinality Rule Statements,” Business Rules Journal, Vol. 15, No. 4 (Apr. 2014), URL: http://www.BRCommunity.com/a2014/b757.html

banner