On 2013.09.02 6:06 AM, Simon Slavin wrote:
The 'R' stands for 'relational' -- the sort of things SQLite implements with 
FOREIGN KEYS.  A user model was assumed as part of Ted Codd's description of a 
'proper' DBMS but he didn't require it, he only said that if you had a user 
model, the DBMS should let you manipulate it using data-base commands (i.e. 
users are entries in a table) rather than using a different system.

In a general sense, the definition of a relational database is very simple, which is that the database presents all of its contents in terms of relation-typed variables, which SQL calls tables, and provides operators for working with them.

People often think that the ability to do joins or having foreign keys is what makes a database relational, but that isn't true. Fundamentally "relationships" exist between all the individual attributes within a relation or columns within a table, where they are 1:1, eg that a business name is related to a business id, and such, and having multiple relations or tables lets you also have N:M relationships.

Most of the stuff people associate with relational databases are strictly optional, though some of that is best to have in practice.

-- Darren Duncan

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to