I am a new comer to databases, and it is exploring SQL versus noSQL.
What type of information is highly relational and advantages of SQL and what type of data doesn't?
Please provide some good examples.
Your question appears to become mired having a couple of myths. Relational as with Relational Database describes a kind of data model - the machine of representation employed for data. Any information that includes details (propositions) could be symbolized relationally in case your DBMS supports that kind of information. There's no intrinsic quality associated with a information that causes it to be pretty much appropriate to have an RDBMS.
SQL is really a (strictly non-relational) database language.
NOSQL is really a loose term that may be put on any database system that does not use SQL or that stretches the abilities of SQL. NOSQL and relational are not mutually exclusive concepts. NOSQL doesn't have to mean "non-relational", it simply means "not SQL".
Relational data suits the phrase a relation:
- A header defines a finite group of posts.
- Each column includes a title along with a data type.
- Data types really are a named, finite group of distinct values.
- Each column inside a given row from the relation consists of one worth of the right data type for that particular column.
- Rows don't have any implicit order.
- Posts don't have any implicit order.
- Duplicate rows aren't permitted.
These the weather is requirements for the Normal Forms of relations. That's, a table does not qualify for First Normal Form unless of course it is a relation. Many procedures in SQL aren't effective right when the table is not relational.
To become more practical, a relational table must have a similar qualities on every row, through the same names, and should possess a primary key defined over a number of posts so that you can reference each row individually.
NoSQL is really an advertising and marketing expression used to logo and promote some data management items. It isn't a pc science term.
But when you mean non-relational, you'll be able to observe that a non-relational data store is permitted to interrupt a few of the rules above:
- Two records (rows) inside a given collection could be replicates.
- The fields can differ per entry. Different number, different names, different data types.
- Confirmed area can retain the same return in 2 records, the value is recognized as different for whatever reason (for instance, with respect to the value in another area).
- Order of records is important (for instance, the records are assumed to stay in chronological order).
- Order of fields is important (for instance, the very first area is assumed to become a key of some type).
But by breaking these rules, you lose the building blocks which relational procedures work.