el [DATE], [NAME] en [ADDRESS] escribió:

Thank you for your help and for the lesson.

Eli


> I would just add a few words to Nils' excellent reply:
> 
> In the most general sense, a foreign key is just a primary
> key value that occurs outside of its native table (i.e. in
> a "foreign" table, get it?) in order to point to the record
> in its native table with that value as its primary key.
> 
> You can use foreign keys in your database design and
> programming without actually formally declaring them as
> such in the database system. Indeed, as you point out, you
> *have* to use them to establish relationships among your
> tables.
> 
> If the database system doesn't recognize the foreign key
> columns as foreign keys, then you must programatically
> ensure that referential integrity is maintained:
> --when you insert a new record, make sure that any foreign
> key points to an existing record (a record with that key
> value as its primary key)
> --don't ever change the value of a record's primary key
> (that is, unless you are prepared to change the value of
> all the foreign keys in all the records pointing to that
> record)
> --don't ever delete a record that has other records
> pointing to it via foreign keys (unless you delete all
> those records too).
> 
> Many people assume that a relational database system *must*
> recognize such foreign keys (and relationships among the
> tables) in order to be truly relational. But the term
> "relational" refers, not to the relationships among the
> tables, but to the basic relation that is defined by each
> table (and Codd's theory that even the most complex data
> structure can be broken down into such simple relations).
> 
> --John
> 
> On Thursday 24 July 2003 08:00 pm, Nils Valentin wrote:
>> Hi Eli,
>> 
>> The short answer is .. you create relationships between
>> tables by creating foreign keys and primary keys.
>> However, you might not even need them ;-) - I explain
>> below.
>> 
>> Foreign keys and primary keys are used to create
>> relations between tables.
>> 
>> Using them will bind you to some rules which you can use
>> to your advantage (or not), thats entirely up to you.
>> 
>> If you define a primary key than any foreign key can link
>> to the primary key. However , a foreign ke can only
>> contain a value which is already defined in a primary
>> key.
>> 
>> This can be used to restrict that only valid values are
>> insert for foreign keys or f.e no primary key is deleted
>> where still existing foreign keys are pointing to the
>> primary key record. Currently only the InnoDB table
>> format supports Foreign keys.
>> 
>> 
>> In order to use a join you dont need to create any keys.
>> You can free define the columns to be used for the join
>> condition.
>> 
>> Please see the JOIN Syntax for more information.
>> 
>> http://www.mysql.com/doc/en/JOIN.html
>> 
>> Best regards
>> 
>> Nils Valentin
>> Tokyo/Japan
>> 
>> 2003? 7? 25? ??? 03:36?eli ????????:
>>> Hi,
>>> 
>>> Can anyone explain me how to create relationships
>>> between tables in Mysql?
>>> 
>>> For making some kind of functions like joins, it is
>>> indispensable to have relationships defined?
>>> 
>>> 
>>> Thanks in advanced.
>>> 
>>> 
>>> eli

________________________________________________________________________
SetFile                                                 DATABASE FACTORY
 
- Aplicaciones a Medida en FileMaker Pro ( Windows y Macintosh )

    <[EMAIL PROTECTED]>    <www.setfile.com/es>    TEL 93 238 56 00

             FileMaker Inc es miembro del BSA ( 900 211 048)
                        SetFile - FSA Partners
________________________________________________________________________



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to