Question:
what is the difference between relational database & non-relational database?
anonymous
2009-08-13 21:50:00 UTC
this question is related to sql server 2005
Seven answers:
?
2009-08-13 21:57:52 UTC
The main difference is that the relational database uses one instance only for every given entry. A 'flat file' system keeps repeating relational data all the time.

Example: if you have a customers database, each customer has a zip code. Right? Why not store those zip codes, unique values, in a separate table toghether with zip code area names, like 'Washington DC'. Now for each customer you only store the zip code, not the location. That way several customers that has the same zip-code will have a lookup on that number to put in the adress field. That is a relational database.

A non relational dtatabase, on the other hand, does not do this. Here the zip code and the name of where that zip code goes are stored in each and every entry.

The latter, can therfore, have same zip-codes and different adresses. Not so good in this case.



Are all databases relational? The answer is NO, and not all relational databases are built on the client/server paradigm. But most of the time you'll want a relational database server, so it's important to clarify the distinction.



A relational database manipulates only tables and the result of all operations are also tables. The tables are sets, which are themselves sets of rows and columns. You can view the database itself as a set of tables. A DBF file is not a relational database. You do not manipulate a DBF table as a set (you are always following an index) and you do not perform operation on tables that yield other tables as the result (you are just looping through records from one or more tables, even when you use the "SET RELATION" dBase statement).



Whereas MDB file is a relational database. though you can open and manipulate a MDB file just like a DBF file, navigating through records and index, you can also perform all operations through a relational view of the database and using SQL statements.



As per stats, most non-relational databases are based on some "navigational" model: an hierarchy, a linked list, a B-Tree, etc. It's common to refer to these as ISAM (Indexed Sequential Access Method) Databases. What is a database server? It is a specialized process that manages the database itself. The applications are clients to the database server and they never manipulates the database directly, but only make requests for the server to perform these operations.



So you can allow the server to add many sophisticated features, such as transaction processing, recovery, backup, access control and etc without increasing the complexity of every application. The server also reduces the risk of data file corruption, if only because only the server writes to the database (a crash on any client machine will not leave unflushed buffers).



A nice database server also takes advantage of the client/server architecture to lower network usage. If you open a DBF or MDB file stored on a file server you need to retrieve every record just to filter out which ones you really need. But if you connect to a database server, it filters out the unneeded records and send to the client only the data that really matters.



Access is a relational database but it is not a database server. mSQL, SQL Anywhere, DB2, Oracle are both relational databases and database servers. The Btrieve NLM is a database server but it is not a relational database.
?
2016-10-01 02:48:26 UTC
Relational Vs Non Relational Database
anonymous
2009-08-14 00:16:22 UTC
Are all databases relational? The answer is NO, and not all relational databases are built on the client/server paradigm. But most of the time you'll want a relational database server, so it's important to clarify the distinction.



A relational database manipulates only tables and the result of all operations are also tables. The tables are sets, which are themselves sets of rows and columns. You can view the database itself as a set of tables. A DBF file is not a relational database. You do not manipulate a DBF table as a set (you are always following an index) and you do not perform operation on tables that yield other tables as the result (you are just looping through records from one or more tables, even when you use the "SET RELATION" dBase statement).



Whereas MDB file is a relational database. though you can open and manipulate a MDB file just like a DBF file, navigating through records and index, you can also perform all operations through a relational view of the database and using SQL statements.



As per stats, most non-relational databases are based on some "navigational" model: an hierarchy, a linked list, a B-Tree, etc. It's common to refer to these as ISAM (Indexed Sequential Access Method) Databases. What is a database server? It is a specialized process that manages the database itself. The applications are clients to the database server and they never manipulates the database directly, but only make requests for the server to perform these operations.



So you can allow the server to add many sophisticated features, such as transaction processing, recovery, backup, access control and etc without increasing the complexity of every application. The server also reduces the risk of data file corruption, if only because only the server writes to the database (a crash on any client machine will not leave unflushed buffers).



A nice database server also takes advantage of the client/server architecture to lower network usage. If you open a DBF or MDB file stored on a file server you need to retrieve every record just to filter out which ones you really need. But if you connect to a database server, it filters out the unneeded records and send to the client only the data that really matters.



Access is a relational database but it is not a database server. mSQL, SQL Anywhere, DB2, Oracle are both relational databases and database servers. The Btrieve NLM is a database server but it is not a relational database.
anonymous
2016-02-29 03:17:08 UTC
It all depends on the application you need the database for, whether you are willing to spend a bit of time creating your database (rational one) or want something quick, whether you want something efficient (relational) or you are willing to settle (flat file). A flat file is basically as the term suggests a file containing only one table. All pieces of information are stored in one table, rendering information retrieval complicated and chaotic. Also unlike in relational databases, doubles are automatically added as any other entry would, making it impossible to know which one's the correct entry. E.g. Let's say there was an entry about John Smith (Social Security Number XXXXXXXX, such a piece of information is called a primary key) which stated he is 40. Next someone else or you yourself try to add a new entry, same details except for the age, let's make it 50 this time. Flat file will store the information in a snap without thinking twice, a rational database will ask you what to do with the info since 2 entries cannot have the same primary key, so you are gonna have to drop one of the two.
TheMadProfessor
2009-08-14 06:46:15 UTC
A relational database is one that complies with the relational rules of tables as described by Codd. The various tables that make them up are related to each other (if at all) through a primary key/foreign key structure. For example, a customer table may have customer ID as its primary key, while an order table contains customer ID as a foreign key which defines the relation between the two.



A non-relational database is one that uses another method to define how the tables correspond to each other. A typical way this is done is a hierarchical structure, where tables have a parent-child structure.



Since SQL Server uses SQL, its databases are relational by default (as are all other SQL-based DBMSs). While it is possible to design tables in a non-relational manner if you try hard enough, you'd have to work at it...
tekz
2009-08-13 21:56:20 UTC
Non-relational databases

Non-relational databases place information in field categories that we create so that information is available for sorting and disseminating the way we need it. The data in a non-relational database, however, is limited to that program and cannot be extracted and applied to a number of other software programs, or other database files within a school or administrative system. The data can only be "copied and pasted.“ Example: a spread sheet





Relational databases

In relational databases, fields can be used in a number of ways (and can be of variable length), provided that they are linked in tables. It is developed based on a database model that provides for logical connections among files (known as tables) by including identifying data from one table in another table
?
2016-09-12 06:32:05 UTC
that's a good question I hope you find some valuable answers


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...