Ερώτηση για mysql - php

rouvas at di.uoa.gr rouvas at di.uoa.gr
Thu Dec 17 16:26:12 EET 2009


Apostolos Mpessas wrote:
> On Thu 17 of Dec 2009 13:43:56 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;
>>
>
> Δε γνωρίζω τι επιτρέφει η Oracle (αλλά το
> primary key είναι not null εξ
> ορισμού), αλλά, αν είναι επιτρεπτή τιμή,
> ok. Αλλά πάλι πού κολλάει στο
> συγκεκριμένο παράδειγμα (είπαμε, ο
> κανόνας είναι ακέραιοι για primary keys);
> Οι τιμές είναι συγκεκριμένες.

Opos katalaba tin arxiki sou enstasi ston kanona, sizitame gia tis
eksereseis ston kanona, pou nai men iparxoun, alla na kseroume kai pou
"dagkonoun".
To primary key *einai* not null (einai empty string) aplos i Oracle sto
girna os null, oraio;

>
>> 2) Stis simerines web-based efarmoges, na se do na kaneis
>> urlencode/urldecode string IDs pou periexoun tous xaraktires +?%& klp.
>>
>
> Δεν υπάρχουν μόνο web-based εφαρμογές.
> Επίσης, όπως ένα primary key μπορεί να
> βρεθεί σε url, δεν καταλαβαίνω πώς κάποιο
> άλλο πεδίο δεν μπορεί να βρεθεί σε
> url. Άρα, τι γλυτώνεις;
> Εξάλλου, γιατί πρέπει η σύνταξη των urls να
> καθορίζει το σχήμα της βάσης;

Fisika kai mporei opoiodipote pedio na brethei sto URL, alla an exei
numeric IDs, pas gireyontas an anti gia GET foo?user=14 baleis to GET
foo?user=Kyriakos%20Papadopoulos%20tou&apm;Agathona%20kai+tis+Mixalous.
Etsi den einai;

Pragmati den iparxoun mono web-based efarmoges. Eksairoumenon efarmogon
pou zoun apokleistika sto xoro tou leitoyrgikou, poso th'argiseis mexri na
xreiastei kaneis expose tin efarmogi sou meso enos web-interface;
Profanos, auto isxyei gia orismena application domains.

>
>> 3) Eidika stin periptosi ton domain names, ti tha kaneis me ta
>> international domain names se UTF8;
>>
>
> Ενδεχομένως να αγνοώ κάτι, αλλά δεν σε
> πιάνω. Τα TLD είναι συγκεκριμένα (com,
> net, gr, uk, ...).

Eks'oson gnorizo, oxi pleon. Den exo proxeiro kapoio reference, alla exo
tin isxiri entiposi oti exoun egkrithei kai domain names me xaraktires
stin ekastote glossa.

>
>> > Σε ένα πίνακα με τους νομούς της χώρας
>> (όπου σε μια συσχέτιση με πόλεις
>> > έχεις
>> > σχέση MxN);
>>
>> Prosopikos kai se auti tin periptosi tha xrisimopoiousa numeric IDs, an
>> mporousa.
>>
>
> Υπάρχει διαφορά μεταξύ "θα
> χρησιμοποιούσα" και "ποτέ, ποτέ, μα ποτέ".
> Το πρώτο
> το δέχομαι (και σε πολλές περιπτώσεις
> είναι το σωστό). Αλλά, υπάρχουν και
> περιπτώσεις που δε συμφέρει, όπως για
> λόγους απόδοσης (hint: γλυτώνεις ένα
> join).

Kathe kanonas exei tis eksereseis tou.
To join den to simperilambano se autes. An einai gia na glitoso ena join
na pao sto psixiatrio, xestika gia to join. Na paroun megalitero
mixanima:-)

-Stathis

>
> Αποστόλης
>




More information about the Linux-greek-users mailing list