Ξ�Ο�Ο�Ο�Ξ·Οʏ =?iso-8859-7?Q?Ξ�Ο�Ο�Ο�Ξ·Ο�=CE=B7_?= Ξ³ΞΉΞ± mysql - php
Christos Ricudis
ricudis at komodino.itc.auth.gr
Thu Dec 17 14:40:20 EET 2009
, rouvas at di.uoa.gr wrote:
> Apostolos Mpessas wrote:
>> On Thu 17 of Dec 2009 01:22:12 Christos Ricudis wrote:
>>> , Apostolos Mpessas wrote:
>>>> On Wed 16 of Dec 2009 19:26:22 rouvas at di.uoa.gr wrote:
>>>>> Συμβουλή:
>>>>> Ποτέ μα *ποτέ* μα εντελώς ΠΟΤΕ μην βασίζεσαι στα strings για
>>> συσχετίσεις
>>>>> μεταξύ οποιονδήποτε σχέσεων.
>>>>>
>>>>> Επέκταση της Συμβουλής:
>>>>> Εξαιρούνται οι περιπτώσεις που δεν μπορείς να κάνεις αλλιώς, γιατί
>>>>> παρέλαβες ηλίθιο σχεδιασμό.
>>>>
>>>> Κάπως απόλυτο δεν είναι αυτό;
>>>
>>> Akougetai ontws apolyto, alla einai apo tis periptwseis pou otan 8a thn
>>> pathseis, 8a thn pathseis TOSO asxhma pou 8a eyxosoun na mhn htan apla
>>> apolyto, alla xaragmeno se petrines plakes.
>>>
>>> Dyo.
>>>
>>> Pou katebhkan apo bouno.
>>>
>>> Sth xersonhso tou Sina.
>>>
>>> Twra, h 8ewria leei oti opoiesdhpote sysxetiseis mporoun na ginoun
>>> xrhsimopoiwntas to elaxisto yposynolo datums pou eksartoun leitourgika
>>> ("prosdiorizoun monoshmanta") oloklhro to tuple.
>>>
>>> Sthn praksh, stis MxN sxeseis xrhsimopoiountai panta artificial primary
>>> keys, (kai) gia to logo oti h 8ewria agnoei kati leptomereioules tou
>>> styl "ti shmainei isothta se dh8en profaneis typous dedomenwn opws ta
>>> strings".
>>>
>>
>>
>> Υπάρχουν κανόνες. Και υπάρχουν και εξαιρέσεις (τις οποίες φυσικά πρέπει να
>> είσαι σε θέση να αναγνωρίζεις, αλλιώς ακολούθα τους κανόνες).
>> Για παράδειγμα, σε πίνακα με τα top-level domains και σε τι αντιστοιχούν,
>> δε
>> νομίζεις ότι είναι (τουλάχιστον) overkill να προσθέσεις integer για
>> primary
>> key;
>
> An ta strings exoun xaraktires apokleistika entos tou ASCII diastimatos 33
> eos 126, i katastasi einai kapos kalliteri. Ostoso, arketa problimata
> patramenoun, opos:
>
> 1) Ti ginetai me to empty string; H Oracle sto girna os null, i MySQL os
> string me length miden, i Postgres den ksero. Tha mou peis empty string se
> primary key; Giati oxi; Valid timi einai gia string! Ki an sou katsei;
>
> 2) Stis simerines web-based efarmoges, na se do na kaneis
> urlencode/urldecode string IDs pou periexoun tous xaraktires +?%& klp.
>
> 3) Eidika stin periptosi ton domain names, ti tha kaneis me ta
> international domain names se UTF8;
Akribws ayto ennow oti h 8ewria den asxoleitai me to context twn
dedomenwn, ela omws pou synh8ws paizei rolo.
(btw, ta UTF8 domains exoun mia unique UTF8-to-ASCII anaparastash -
psakse gia punycode. To problhma einai oti to idio to UTF8 mporei na
anaparasthsei ena "xarakthra" me diaforetika code points, pragma to
opoio einai api8ana ikano na se mperdepsei otan pas na kaneis mia
sygkrish. Den kserw ti kanei to IDN s'ayth thn periptwsh. Kai oxi, V13,
de 8elw na mou ekshghseis. De m'endiaferei)
>
>> Σε ένα πίνακα με τους νομούς της χώρας (όπου σε μια συσχέτιση με πόλεις
>> έχεις
>> σχέση MxN);
>
> Prosopikos kai se auti tin periptosi tha xrisimopoiousa numeric IDs, an
> mporousa.
Se pinakes pou periexoun MONO sysxetiseis kai ka8olou prwtogenh
dedomena, profanws den exei nohma na xrhsimopoieis artificial primary
keys. Krataw mia epifylaksh gia anwmales sysxetiseis pou mporei na
emfanizontai panw apo mia fora, an kai ayto synh8ws einai degenerate case.
More information about the Linux-greek-users
mailing list