SlideShare a Scribd company logo
Domain vs. (Data) Type, Class vs. Relation
"Our terminology is broken beyond repair. [Let me] point out some problems with
Date's use of terminology, specifically in two cases.
1. "type" = "domain": I fully understand why one might equate
"type" and "domain", but ... in today's programming practice,
"type" and "domain" are quite different. The word "type" is
largely tied to system-level (or "physical"-level) definitions of
data, while a "domain" is thought of as an abstract set of
acceptable values.
2. "class" ≠ "relvar": In simple terms, the word "class" applies to a
collection of values allowed by a predicate, regardless of whether
such a collection could actually exist. Every set has a
corresponding class, although a class may have no corresponding
set ... in mathematical logic, a "relation" is a "class" (and trivially
also a "set"), which contributes to confusion.
In modern programming parlance "class" is generally distinguished from
"type" only in that "type" refers to "primitive" (system-defined) data
definitions while "class" refers to higher-level (user-defined) data
definitions. This distinction is almost arbitrary, and in some contexts,
"type" and "class" are actually synonymous."
With respect to 1, well, yes, they are distinct, but not for the stated reason. With
respect to 2, well, no insofar as "programming parlance" goes. The terminology
introduced by Codd was explicitly intended to distinguish formal concepts from set
theory and first order predicate logic from the terminology used in programming
practice.
1. Domain vs. (Data) Type
"The theory behind data types in most programming languages is based
on abstract data types, but programmers hardly ever use the term in this
way and languages are rarely strong in this regard. The need for a formal
theory (of abstract data) and the semantics of types was not addressed by
either Codd or the current RDM interpretation. Codd's treatment of types
was greatly simplified and its understanding in the current interpretation
of the RDM is at best simplistic. An adequate treatment of the subject is
beyond the scope of this discussion and will be addressed in Part III of
LOGIC FOR SERIOUS DATABASE FOLKS". --David McGoveran
For our purposes here suffice it to say that type is used in two senses:
(a) Extensionally i.e., type denotes a specific set of typed object(s),
which define the type;
(b) Intensionally i.e., type defines what is and is not permissible for a
typed object.
Both relational domains and programming data types are types in the (a) sense:
sets of values within a specified range to which certain operations are applicable. In
his book THE RELATIONAL MODEL VERSION 2, Codd lists several distinctions of the
former (which he called "extended types") from the latter: domains
• are types with database designer-constrained value ranges;
• represent real world entity properties;
• are under DBMS control.
while programming types are under programmer and application control and do not
necessarily represent real world properties.
2. Relation vs. Class
"Whatever type and class are in "modern programming parlance", the
meanings of class in set theory (vs. any other usages) should not be
confused with how it is popularly used in programming or--for that
matter--in the database literature (class vs. type is another good example
of such confusion).
The distinctions between class and set vary with the specific version of
set theory. To avoid problems, we will use the most broadly applicable
definitions that will still apply to usages relevant to relational database
theory and will try to (1) be precise about how we use the terms and (2)
identify the subject areas to which the definitions do not apply." --David
McGoveran
In the real world
"...every property defines a class--namely, the set of [entities] possessing
that property--whereas every class is a class simply by virtue of the fact
that its members have common defining properties."--MEANING AND
ARGUMENT: ELEMENTS OF LOGIC
In other words, entities are members of a class by virtue of common properties and
when we say they are of the same type, we use type in the (b) sense.
"The definition of a class is intensional--it is a statement of the properties
that distinguish members of the class from non-members. When applied
to a particular universe of entities, a class definition selects out those that
are members of the class. If the universe is well defined--a collection of
entities in which each can, in principle though perhaps not in practical
terms, be examined--the result is a set. Mathematicians say that a class
over a universe "induces" a set. If one defines a class, one must then
"compute" the set that is induced when that class definition is applied to a
particular universe." --LOGIC FOR SERIOUS DATABASE FOLKS
At the class level by properties we mean:
• Individual properties shared by entities that are class members;
• Properties arising from relationships between individual properties;
• Properties arising from relationships among all class members collectively;
There are also multi-class properties arising from relationships among two or more
classes.
Note that while this seems to contradict "whether such a collection could actually
exist", it does not because of the caveat regarding "well defined universe". If the
collection could not actually exist, the universe is not well defined as required.
Conceptual modeling consists of specifying these relationships in natural language
as informal business rules. Those rules correspond to a formal predicate that
expresses the class i.e., they comprise the intensional definition of each class of
interest. When applied to a universe of entities, the class induces a set of class
members, facts about which are to be recorded in the database.
A relation is, thus, a set of tuples that represent in the database facts about the set
of entities induced by the class. Every relation is associated with a relation
predicate (RP)--the conjunction of integrity constraints that represent the business
rules in the database. The RP represents formally in the database the intensional
class definition (that was informally expressed by the business rules). When applied
to a universe of entities, that RP induces the relation and serves as its membership
function. The relation's tuples--its extension--satisfy that RP. This is another way
of saying the tuples in a relation represent facts about a set of entities of the same
type i.e., a RP is a relation type and a tuple type specification statement.
Note very carefully that:
"Translating business rules into a formal first order predicate (let alone
expressing it as integrity constraints in any DBMS-specific data
language) is a big step that casts the die. There is no way to know you've
done it incorrectly, except that you decide you are unhappy with the
results--that the formalism doesn't produce something you think it should
produce, or produces something you think it should not (usually detected
by translating the constraints backwards and comparing to reality). We
can minimize the likelihood of a bad modeling effort by following a
careful methodology, but we must not confuse the conceptual with its
formal representation, the former being the choice of subject matter and
latter being the result of a choice of formalism." --LOGIC FOR SERIOUS
DATABASE FOLKS
I shudder at comparing database practice to this recommendation.
Note also that, following Codd, we refer to relations rather than relvars.
"...set semantics do not have the concept of a computer variable to which
values can be destructively assigned (or "updated") ... [such] variables
can be expressed in certain systems of logic, but they cannot be expressed
in elementary set theory, or first order predicate logic. Other, more
expressively powerful systems are required. Unfortunately, such
powerful formal systems do violence to the relational data model and its
intended benefits." --LOGIC FOR SERIOUS DATABASE FOLKS
which is perhaps why Codd avoided relvars by using the term "time-varying
relations" instead. His choice seems to skirt the need for such powerful formal
systems, while relvars--which introduce the semantics of computationally complete
programming languages and the higher logic that they entail--embrace it.

More Related Content

What's hot

Database Q&A
Database  Q&ADatabase  Q&A
Database Q&Aeduafo
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
Filip Ilievski
 
Recent Advances in Computer Vision
Recent Advances in Computer VisionRecent Advances in Computer Vision
Recent Advances in Computer Visionantiw
 
Triggers and active database
Triggers and active databaseTriggers and active database
Triggers and active database
BalaMuruganSamuthira
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
Ramakant Soni
 
Normal forms
Normal formsNormal forms
Normal forms
Samuel Igbanogu
 
SQL : introduction
SQL : introductionSQL : introduction
SQL : introduction
Shakila Mahjabin
 
Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization emailharmeet
 
Object oriented database
Object oriented databaseObject oriented database
Object oriented database
Md. Hasan Imam Bijoy
 
Previous question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEBPrevious question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEB
Shabeeb Shabi
 
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
Krish_ver2
 
Adbms 17 object query language
Adbms 17 object query languageAdbms 17 object query language
Adbms 17 object query language
Vaibhav Khanna
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
Hitesh Mohapatra
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In SqlAnurag
 
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked DataIntroduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Sören Auer
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
Kabindra Koirala
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Oum Saokosal
 
MongoDB Administration 101
MongoDB Administration 101MongoDB Administration 101
MongoDB Administration 101
MongoDB
 

What's hot (20)

Database Q&A
Database  Q&ADatabase  Q&A
Database Q&A
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Recent Advances in Computer Vision
Recent Advances in Computer VisionRecent Advances in Computer Vision
Recent Advances in Computer Vision
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Triggers and active database
Triggers and active databaseTriggers and active database
Triggers and active database
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
Normal forms
Normal formsNormal forms
Normal forms
 
SQL : introduction
SQL : introductionSQL : introduction
SQL : introduction
 
Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization
 
Object oriented database
Object oriented databaseObject oriented database
Object oriented database
 
Previous question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEBPrevious question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEB
 
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
 
Adbms 17 object query language
Adbms 17 object query languageAdbms 17 object query language
Adbms 17 object query language
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
 
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked DataIntroduction to the Data Web, DBpedia and the Life-cycle of Linked Data
Introduction to the Data Web, DBpedia and the Life-cycle of Linked Data
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
 
MongoDB Administration 101
MongoDB Administration 101MongoDB Administration 101
MongoDB Administration 101
 
11 clusadvanced
11 clusadvanced11 clusadvanced
11 clusadvanced
 

Viewers also liked

Distribución y Comercialización
Distribución y ComercializaciónDistribución y Comercialización
Distribución y ComercializaciónDennysrbm
 
Korn copia (2
Korn   copia (2Korn   copia (2
Korn copia (2
Eduardo Nava
 
Ley lleras 6 c chifu -nicolas -mono
Ley lleras 6 c chifu -nicolas -monoLey lleras 6 c chifu -nicolas -mono
Ley lleras 6 c chifu -nicolas -mono
CNM2015malliqui
 
Thanksgiving pd 6
Thanksgiving pd 6Thanksgiving pd 6
Thanksgiving pd 6
Jose M. Truco
 
Mysteriousmilitary facts (part ii) (2)
Mysteriousmilitary facts (part ii) (2)Mysteriousmilitary facts (part ii) (2)
Mysteriousmilitary facts (part ii) (2)hindujudaic
 
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
gidedep42
 
Presentación1 clara e isabel
Presentación1 clara e isabelPresentación1 clara e isabel
Presentación1 clara e isabelpacitina
 
Gagan nav.
Gagan nav.Gagan nav.
Gagan nav.
Manish kajave
 
Corso tecniche di social media lead generation smmdayit 2015
Corso tecniche di social media lead generation smmdayit 2015Corso tecniche di social media lead generation smmdayit 2015
Corso tecniche di social media lead generation smmdayit 2015
Andrea Albanese
 
Ejemplo documento cientifico
Ejemplo documento cientificoEjemplo documento cientifico
Ejemplo documento cientifico
Diana Catherine Castro Jiménez
 

Viewers also liked (17)

Mireia (2n A)
Mireia (2n A)Mireia (2n A)
Mireia (2n A)
 
El término
El términoEl término
El término
 
Distribución y Comercialización
Distribución y ComercializaciónDistribución y Comercialización
Distribución y Comercialización
 
MS CV AGM
MS CV AGMMS CV AGM
MS CV AGM
 
Korn copia (2
Korn   copia (2Korn   copia (2
Korn copia (2
 
Comissióo executiva
Comissióo executivaComissióo executiva
Comissióo executiva
 
rating-vs-scoring
rating-vs-scoringrating-vs-scoring
rating-vs-scoring
 
Ley lleras 6 c chifu -nicolas -mono
Ley lleras 6 c chifu -nicolas -monoLey lleras 6 c chifu -nicolas -mono
Ley lleras 6 c chifu -nicolas -mono
 
Thanksgiving pd 6
Thanksgiving pd 6Thanksgiving pd 6
Thanksgiving pd 6
 
Mysteriousmilitary facts (part ii) (2)
Mysteriousmilitary facts (part ii) (2)Mysteriousmilitary facts (part ii) (2)
Mysteriousmilitary facts (part ii) (2)
 
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
Conseil simple sur les solutions efficaces en insertion Australie de cheminee...
 
Presentación1 clara e isabel
Presentación1 clara e isabelPresentación1 clara e isabel
Presentación1 clara e isabel
 
presentation
presentationpresentation
presentation
 
Gagan nav.
Gagan nav.Gagan nav.
Gagan nav.
 
Nag
NagNag
Nag
 
Corso tecniche di social media lead generation smmdayit 2015
Corso tecniche di social media lead generation smmdayit 2015Corso tecniche di social media lead generation smmdayit 2015
Corso tecniche di social media lead generation smmdayit 2015
 
Ejemplo documento cientifico
Ejemplo documento cientificoEjemplo documento cientifico
Ejemplo documento cientifico
 

Similar to Domain vs. (Data) Type, Class vs. Relation

1resume
1resume1resume
1resume
Robert AK
 
DBMS and Rdbms fundamental concepts
DBMS and Rdbms fundamental conceptsDBMS and Rdbms fundamental concepts
DBMS and Rdbms fundamental concepts
Kuntal Bhowmick
 
Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Conceptsadukkas
 
Technical Note on DBMS
Technical Note on DBMSTechnical Note on DBMS
Technical Note on DBMS
Kr Shrishant
 
DBMS interview questions
DBMS interview questionsDBMS interview questions
DBMS interview questions
Harish Gyanani
 
Dbms basic nots
Dbms basic notsDbms basic nots
Dbms basic nots
nitinnitinnitin
 
Rdbms concepts
Rdbms conceptsRdbms concepts
Rdbms concepts
Shehrevar Davierwala
 
Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented conceptschristradus
 
Dbms Interview Question And Answer
Dbms Interview Question And AnswerDbms Interview Question And Answer
Dbms Interview Question And Answer
Jagan Mohan Bishoyi
 
Contextual Ontology Alignment - ESWC 2011
Contextual Ontology Alignment - ESWC 2011Contextual Ontology Alignment - ESWC 2011
Contextual Ontology Alignment - ESWC 2011
Mariana Damova, Ph.D
 
Bca examination 2015 dbms
Bca examination 2015 dbmsBca examination 2015 dbms
Bca examination 2015 dbms
Anjaan Gajendra
 
Bt0066 dbms
Bt0066 dbmsBt0066 dbms
Bt0066 dbms
smumbahelp
 
01. design pattern
01. design pattern01. design pattern
01. design pattern
MD Sayem Ahmed
 
Ijarcet vol-2-issue-4-1363-1367
Ijarcet vol-2-issue-4-1363-1367Ijarcet vol-2-issue-4-1363-1367
Ijarcet vol-2-issue-4-1363-1367Editor IJARCET
 
Objects of Value
Objects of ValueObjects of Value
Objects of Value
Kevlin Henney
 
Substitutability
SubstitutabilitySubstitutability
Substitutability
Kevlin Henney
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
Taher Barodawala
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 

Similar to Domain vs. (Data) Type, Class vs. Relation (20)

1resume
1resume1resume
1resume
 
DBMS and Rdbms fundamental concepts
DBMS and Rdbms fundamental conceptsDBMS and Rdbms fundamental concepts
DBMS and Rdbms fundamental concepts
 
Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Concepts
 
Technical Note on DBMS
Technical Note on DBMSTechnical Note on DBMS
Technical Note on DBMS
 
DBMS interview questions
DBMS interview questionsDBMS interview questions
DBMS interview questions
 
Dbms basic nots
Dbms basic notsDbms basic nots
Dbms basic nots
 
Rdbms concepts
Rdbms conceptsRdbms concepts
Rdbms concepts
 
Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented concepts
 
Dbms Interview Question And Answer
Dbms Interview Question And AnswerDbms Interview Question And Answer
Dbms Interview Question And Answer
 
Contextual Ontology Alignment - ESWC 2011
Contextual Ontology Alignment - ESWC 2011Contextual Ontology Alignment - ESWC 2011
Contextual Ontology Alignment - ESWC 2011
 
Bca examination 2015 dbms
Bca examination 2015 dbmsBca examination 2015 dbms
Bca examination 2015 dbms
 
Comparision
ComparisionComparision
Comparision
 
Bt0066 dbms
Bt0066 dbmsBt0066 dbms
Bt0066 dbms
 
01. design pattern
01. design pattern01. design pattern
01. design pattern
 
Ijarcet vol-2-issue-4-1363-1367
Ijarcet vol-2-issue-4-1363-1367Ijarcet vol-2-issue-4-1363-1367
Ijarcet vol-2-issue-4-1363-1367
 
Objects of Value
Objects of ValueObjects of Value
Objects of Value
 
Substitutability
SubstitutabilitySubstitutability
Substitutability
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Domain vs. (Data) Type, Class vs. Relation

  • 1. Domain vs. (Data) Type, Class vs. Relation "Our terminology is broken beyond repair. [Let me] point out some problems with Date's use of terminology, specifically in two cases. 1. "type" = "domain": I fully understand why one might equate "type" and "domain", but ... in today's programming practice, "type" and "domain" are quite different. The word "type" is largely tied to system-level (or "physical"-level) definitions of data, while a "domain" is thought of as an abstract set of acceptable values. 2. "class" ≠ "relvar": In simple terms, the word "class" applies to a collection of values allowed by a predicate, regardless of whether such a collection could actually exist. Every set has a corresponding class, although a class may have no corresponding set ... in mathematical logic, a "relation" is a "class" (and trivially also a "set"), which contributes to confusion. In modern programming parlance "class" is generally distinguished from "type" only in that "type" refers to "primitive" (system-defined) data definitions while "class" refers to higher-level (user-defined) data definitions. This distinction is almost arbitrary, and in some contexts, "type" and "class" are actually synonymous." With respect to 1, well, yes, they are distinct, but not for the stated reason. With respect to 2, well, no insofar as "programming parlance" goes. The terminology introduced by Codd was explicitly intended to distinguish formal concepts from set theory and first order predicate logic from the terminology used in programming practice. 1. Domain vs. (Data) Type "The theory behind data types in most programming languages is based on abstract data types, but programmers hardly ever use the term in this way and languages are rarely strong in this regard. The need for a formal theory (of abstract data) and the semantics of types was not addressed by either Codd or the current RDM interpretation. Codd's treatment of types was greatly simplified and its understanding in the current interpretation of the RDM is at best simplistic. An adequate treatment of the subject is beyond the scope of this discussion and will be addressed in Part III of LOGIC FOR SERIOUS DATABASE FOLKS". --David McGoveran For our purposes here suffice it to say that type is used in two senses:
  • 2. (a) Extensionally i.e., type denotes a specific set of typed object(s), which define the type; (b) Intensionally i.e., type defines what is and is not permissible for a typed object. Both relational domains and programming data types are types in the (a) sense: sets of values within a specified range to which certain operations are applicable. In his book THE RELATIONAL MODEL VERSION 2, Codd lists several distinctions of the former (which he called "extended types") from the latter: domains • are types with database designer-constrained value ranges; • represent real world entity properties; • are under DBMS control. while programming types are under programmer and application control and do not necessarily represent real world properties. 2. Relation vs. Class "Whatever type and class are in "modern programming parlance", the meanings of class in set theory (vs. any other usages) should not be confused with how it is popularly used in programming or--for that matter--in the database literature (class vs. type is another good example of such confusion). The distinctions between class and set vary with the specific version of set theory. To avoid problems, we will use the most broadly applicable definitions that will still apply to usages relevant to relational database theory and will try to (1) be precise about how we use the terms and (2) identify the subject areas to which the definitions do not apply." --David McGoveran In the real world "...every property defines a class--namely, the set of [entities] possessing that property--whereas every class is a class simply by virtue of the fact that its members have common defining properties."--MEANING AND ARGUMENT: ELEMENTS OF LOGIC In other words, entities are members of a class by virtue of common properties and when we say they are of the same type, we use type in the (b) sense. "The definition of a class is intensional--it is a statement of the properties that distinguish members of the class from non-members. When applied to a particular universe of entities, a class definition selects out those that are members of the class. If the universe is well defined--a collection of entities in which each can, in principle though perhaps not in practical terms, be examined--the result is a set. Mathematicians say that a class
  • 3. over a universe "induces" a set. If one defines a class, one must then "compute" the set that is induced when that class definition is applied to a particular universe." --LOGIC FOR SERIOUS DATABASE FOLKS At the class level by properties we mean: • Individual properties shared by entities that are class members; • Properties arising from relationships between individual properties; • Properties arising from relationships among all class members collectively; There are also multi-class properties arising from relationships among two or more classes. Note that while this seems to contradict "whether such a collection could actually exist", it does not because of the caveat regarding "well defined universe". If the collection could not actually exist, the universe is not well defined as required. Conceptual modeling consists of specifying these relationships in natural language as informal business rules. Those rules correspond to a formal predicate that expresses the class i.e., they comprise the intensional definition of each class of interest. When applied to a universe of entities, the class induces a set of class members, facts about which are to be recorded in the database. A relation is, thus, a set of tuples that represent in the database facts about the set of entities induced by the class. Every relation is associated with a relation predicate (RP)--the conjunction of integrity constraints that represent the business rules in the database. The RP represents formally in the database the intensional class definition (that was informally expressed by the business rules). When applied to a universe of entities, that RP induces the relation and serves as its membership function. The relation's tuples--its extension--satisfy that RP. This is another way of saying the tuples in a relation represent facts about a set of entities of the same type i.e., a RP is a relation type and a tuple type specification statement. Note very carefully that: "Translating business rules into a formal first order predicate (let alone expressing it as integrity constraints in any DBMS-specific data language) is a big step that casts the die. There is no way to know you've done it incorrectly, except that you decide you are unhappy with the results--that the formalism doesn't produce something you think it should produce, or produces something you think it should not (usually detected by translating the constraints backwards and comparing to reality). We can minimize the likelihood of a bad modeling effort by following a careful methodology, but we must not confuse the conceptual with its formal representation, the former being the choice of subject matter and latter being the result of a choice of formalism." --LOGIC FOR SERIOUS DATABASE FOLKS I shudder at comparing database practice to this recommendation. Note also that, following Codd, we refer to relations rather than relvars.
  • 4. "...set semantics do not have the concept of a computer variable to which values can be destructively assigned (or "updated") ... [such] variables can be expressed in certain systems of logic, but they cannot be expressed in elementary set theory, or first order predicate logic. Other, more expressively powerful systems are required. Unfortunately, such powerful formal systems do violence to the relational data model and its intended benefits." --LOGIC FOR SERIOUS DATABASE FOLKS which is perhaps why Codd avoided relvars by using the term "time-varying relations" instead. His choice seems to skirt the need for such powerful formal systems, while relvars--which introduce the semantics of computationally complete programming languages and the higher logic that they entail--embrace it.