Re: Tables and foreign keys

Karl DeSaulniers <[email protected]>
Newsgroups gmane.comp.php.database
Message-ID <[email protected]>
On Dec 26, 2011, at 3:05 AM, Amit Tandon wrote:

> ============
> regds
> amit
>
> "The difference between fiction and reality? Fiction has to make  
> sense."
>
>
> On Mon, Dec 26, 2011 at 1:55 PM, Karl DeSaulniers <[email protected] 
> >wrote:
>
>> On Dec 26, 2011, at 1:57 AM, Amit Tandon wrote:
>>
>> Dear Karl
>>>
>>> Foreign key is a good option (provided you use InnoDB database) to
>>> automate
>>> the deletion/updation of cart details when you remove cart.
>>>
>>> Besides 1:1 cardinality is good or bad can only be decided on the
>>> semantics
>>> of your tables.
>>>
>>> As a an aside, if it is 1:1 cardinality, then you can probably  
>>> merge the
>>> two tables
>>> ============
>>> regds
>>> amit
>>>
>>> "The difference between fiction and reality? Fiction has to make  
>>> sense."
>>>
>>>
>>> On Mon, Dec 26, 2011 at 12:38 PM, Karl DeSaulniers <[email protected]
>>>> wrote:
>>>
>>> Hello all,
>>>> I have two database tables. Cart and a cartdetails.
>>>> I want the information for the cartdetails to be based on/ 
>>>> autofilled info
>>>> from cart.
>>>> I want the ability to delete from cart and cartdetails to  
>>>> automatically
>>>> clear as well.
>>>> Would a foreign key be best suited for this? What kind of  
>>>> cardnaility
>>>> would I use 1:1 ?
>>>> Hope I make sense.
>>>>
>>>> Hope everyone had a great holidays!
>>>>
>>>> Best,
>>>>
>>>> Karl DeSaulniers
>>>> Design Drumm
>>>> http://designdrumm.com
>>>>
>>>>
>>>>
>>
>> Thanks Amit for the reply.
>> Ok, so if you can not merge the two tables, then it is not a 1:1
>> relationship?
>>
>> EG:
>>
>> (table)CART:
>>       cartID - PRIMARY
>>       username
>>       firstname
>>       lastname
>>       product
>>       long description
>>       quantity
>>       options
>>       price
>>
>> (table)CARTDETAILS:
>>       cartdetailsID
>>       cartID - Foreign Key (Unique)
>>       product
>>       short description (taken from long des. in CART)
>>       quantity
>>       options
>>       price
>>
>> Is this a 1:1 if the key is between the two cartID's?
>>
> No! it is 1:N becuase of Multiple rows in Cartid = 1 row in Cart
>
>
>> What is actually happening when I make a foreign key?
>>
> You link the two tables and try to find matching rows of cart in  
> cart id
>
>> What does the foreign key cover? Just the row its linked to or the  
>> whole
>> table?
>>
> The foreing key helps you uniquely identift set of rows. Foerign key
> actully help you identify the row(s). And then column of thos rows  
> give you
> your value
>
>> For this structure I would like, in order for their to be  
>> cartdetails,
>> there should be a cart.
>> If there is a cart then a cartdetails needs to automatically/ 
>> progmatically
>> generate.
>> (I think I read somewhere that MySQL is capable of doing this before
>> sending back responses. Please correct me if I am wrong or if its
>> unrelated.)
>>
>> What kind of relation is that?
>> Also, if you or someone could explain what these cardinality rules  
>> mean.
>> What..
>>
>> 0 or 1  does?
>>
> 1:1
>
>> 1+       does?
>>
> 1:M
>
>> 0,1+    does?
>>
> M:N - you figure correctly. But this is for both the tables i.e 1+
> psosibility in both the tables. And this is generally table which is  
> linked
> to two tables

So the 0=first table and ,1+ = subsezuent tables?
Is there such thing as 1+,0? Or is that what 1+ is?
Sry, the coma throws me off a bit.

>
>> Many (kind-of figured this one out, perhaps not.)
>> etc..
>>
>> I think that would help me greatly. I hope I am not sounding like a  
>> help
>> vamp.
>> I only ask because my google foo has failed me on where to search for
>> these specific answers.
>> Links are appreciated. I like to do stuff on my own but sometimes the
>> brain cramps. :)
>> TIA
>>
>>
>> Best,
>>
>> Karl DeSaulniers
>> Design Drumm
>> http://designdrumm.com
>>
>>


Thanks..
I think that got the knot out a little.. :)

Best,

Karl DeSaulniers
Design Drumm
http://designdrumm.com


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.