Since english is not my first language i find hard to understand this paragraph that i'm reading from "Database Fundamentals" book.
I'm trying to figure out, in practice, real world, what this really means.
Best Answer
English is not the easiest language in the world to describe mathematical concepts and their relationship to the real world. For a few years, I taught short courses in database design and programming in Spanish, even though Spanish is not my first language. But there were a few concepts that came across more clearly in Spanish than they did in English.
The first thing you need to understand is that the relational data model was pretty much invented by one person, Ed Codd in 1970, and he based the data model on the mathematics of relations. A great deal of the terminology is derived from terminology of mathematical relations, although there are subtle differences between mathematical relations and relations in the relational data model.
The second thing you need to understand is that "relation" and "relationship" are two different words with two different underlying concepts, even though there is a huge overlap between the two. The word "relationship" tends to be used in ER modeling, and refers to an association between two or more entities in the real world. These entities may be of different types or of the same type.
The third thing you need to understand is that you understand the subject matter through analysis but you come up with a relational model by design. The difference between analysing the data and designing the database is often not clear even for many English speakers.
When you convert an E-R model into a relational model, both the Entities and the Relationships get expressed as relations. so the difference between the Es and the Rs becomes almost moot as you make progress towards the eventual construction.
I apologize if this is too vague, but you'll have to clarify your question if you want more specific answers.
you'll be aware that I often appeal in my writings to the notion of
logical difference. That notion is one I find extraordinarily useful
in my own work; it's a great aid to clear and precise thinking… The
intent of what follows [in chapter 4 of this book], then, is to offer
a brief introduction to the concept of logical difference.
…bearing in mind this is Chris Date, for whom "brief introduction" actually amounts to 15 pages of closely-typed prose including footnotes and endnotes!
Follow the above link to the Google Books copy of the book, which should open in your browser, where the chapter seem to be available in full. After you've read the chapter, I'm sure you shall have a good understanding of the concept of logical difference.
I'll start by saying don't consider schemas as namespaces or object domains in the OO sense. Schemas are essentially permission containers with some added value (see below)
Also, "separate schemas" or "separate databases" are 2 different concepts. Data that needs to be transactionally and referentially consistent needs to be in the same database. See One Database or Ten? blog article for more.
In that database, you may or may not use schemas for organising your objects.
Personally, I'm a fan of schemas and always use them but for things like permissions and logical grouping. For that, I'll refer you to previous questions where you can see the general opinion is in favour of them:
Best Answer
English is not the easiest language in the world to describe mathematical concepts and their relationship to the real world. For a few years, I taught short courses in database design and programming in Spanish, even though Spanish is not my first language. But there were a few concepts that came across more clearly in Spanish than they did in English.
The first thing you need to understand is that the relational data model was pretty much invented by one person, Ed Codd in 1970, and he based the data model on the mathematics of relations. A great deal of the terminology is derived from terminology of mathematical relations, although there are subtle differences between mathematical relations and relations in the relational data model.
The second thing you need to understand is that "relation" and "relationship" are two different words with two different underlying concepts, even though there is a huge overlap between the two. The word "relationship" tends to be used in ER modeling, and refers to an association between two or more entities in the real world. These entities may be of different types or of the same type.
The third thing you need to understand is that you understand the subject matter through analysis but you come up with a relational model by design. The difference between analysing the data and designing the database is often not clear even for many English speakers.
When you convert an E-R model into a relational model, both the Entities and the Relationships get expressed as relations. so the difference between the Es and the Rs becomes almost moot as you make progress towards the eventual construction.
I apologize if this is too vague, but you'll have to clarify your question if you want more specific answers.