Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

5 views
Skip to first unread message

panagiotis takis_rs

unread,
Dec 16, 2009, 9:59:02 AM12/16/09
to linux-gr...@lists.hellug.gr
Καλησπέρα!
Έστω ότι θέλουμε να δημιουργήσουμε μια σελίδα όπως π.χ η imdb.com
Έχουμε τους παρακάτω πίνακες...

movies

fields: id | title | actors

Παράδειγμα εγγραφής id=1, title=The movie, actors=takis texas,maria mariou,petros petrou


Actors

fields: id | name | DateOfBirth | Biography

Παράδειγμα εγγραφής id=5, name=takis texas, DateOfBirth=13/6/1977, Biography=mplamplampla
Εστω τώρα ότι κάνουμε ένα select στα περιεχόμενα που πίνακα movies για να εμφανίσουμε τα περιεχόμενα μιας ταινίας. Επίσης επιθυμούμε οι ηθοποιοί που υπάρχουν στον πίνακα actors να εμφανίζονται με συνδεσμό. Ο συνδεσμός αυτός θα παραπέμπει σε μια αλλη σελίδα όπου θα περιλαμβάνονται στοιχεία για τον ηθοποιό( το select εδώ θα γίνεται συμφωνα με το id του ηθοποιού).
Η ερώτηση μου τώρα είναι πώς μπορούμε να δημιουργήσουμε τον σύνδεσμο για κάθε ηθοποιό που υπάρχει ως εγγραφή στον πίνακα actors; Δηλαδή πως μπορούμε κατά το select from movies να σπάσουμε το πεδίο actors και για κάθε actor που υπάρχει στον πίνακα actors να τραβήξουμε το id;
Μια προφανή λύση είναι να κάνουμε τόσα select στον πινακα actors όσα και οι ηθοποιοί της ταινίας. Θα είναι πολύ επώδυνο ωστόσο για τον server.
Επίσης δεν μπορουμε να κρατάμε id ηθοποιών στον πίνακα movies καθώς δεν θα υπάρχουν όλοι οι ηθοποιοί στον πίνακα actors αλλά και θα γινεται προσθήκη ηθοποιών κάθε τόσο.

Μια διαφορετική υλοποίηση θα ήταν να κρατήσουμε τους ηθοποιούς της κάθε ταινίας σε διαφορετικό πίνακα π.χ
actors_of_movie
fields: id | actor

***movies.id=actors_of_movie.id

Παράδειγμα
1 - takis texas
1 - maria mariou
1 - petros petrou
Όποτε με ενα join με τον πίνακα actors θα είναι πιο απλά τα πράγματα.
Σε αυτή την περιπτωση όμως, δεδομένου ότι κάθε ταινία έχει 20 ηθοποιούς, και έστω οτι η βάση μας θα κρατήσει 4000 ταινίες δεν μακραίνει πολύ ο πίνακας actors_of_movie;

Αυτά...

Όποιος ξέρει κατι και έχει χρόνο, θα ήθελα πολύ να τον ακούσω.
Mιλάμε για mysql και διαχείριση από php.

Ευχαριστώ,
Πάνος



Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you.

George Zarogiannis

unread,
Dec 16, 2009, 10:22:29 AM12/16/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr
Σύμφωνα με τον κανόνα, κάθε M x N σχέση υλοποιείται με έναν πίνακα σαν τον actors_of_movie

Ό,τι άλλο είναι προβληματικό....




2009/12/16 panagiotis takis_rs <takis...@hotmail.com>
--
linux-greek-users mailing list -- http://lists.hellug.gr

rou...@di.uoa.gr

unread,
Dec 16, 2009, 12:26:22 PM12/16/09
to Giorgos Keramidas, linux-gr...@lists.hellug.gr
Giorgos Keramidas wrote:
> On Wed, 16 Dec 2009 16:59:02 +0200, panagiotis takis_rs
> <takis...@hotmail.com> wrote:
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½!
>> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½.οΏ½ οΏ½ imdb.com
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½...

>>
>> movies
>> fields: id | title | actors
>>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ id=1, title=The movie, actors=takis texas,maria
>> mariou,petros petrou
>
> οΏ½οΏ½ οΏ½οΏ½ 'actors' field οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ table οΏ½οΏ½οΏ½οΏ½οΏ½ string, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½ lookup οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ string οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ indexing οΏ½οΏ½οΏ½ database engine.

>
>
>> Actors
>> fields: id | name | DateOfBirth | Biography
>>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ id=5, name=takis texas, DateOfBirth=13/6/1977,
>> Biography=mplamplampla
>>
>> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ select οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ movies οΏ½οΏ½οΏ½
>> οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½( οΏ½οΏ½ select οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ id οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½).
>>
>> οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors; οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ select from movies οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ actor οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ id;
>>
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ select οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
>> server.
>>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ id οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ movies οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½.
>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ _οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½_ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½
> movie, οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½" οΏ½οΏ½ db schema οΏ½οΏ½οΏ½.
>
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½.οΏ½ actors_of_movie
>> fields: id | actor
>>
>> ***movies.id=actors_of_movie.id
>
> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½οΏ½" (relation). οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½: οΏ½οΏ½ οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ "relational", οΏ½οΏ½οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ hint.
>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ optimize οΏ½οΏ½ database engines.
>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½

>> 1 - takis texas
>> 1 - maria mariou
>> 1 - petros petrou
>>
>> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ join οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>>
>> οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ 20
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 4000 οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ actors_of_movie;

οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ 4000*20=80000 οΏ½οΏ½οΏ½
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 8000000000
οΏ½οΏ½ indexing οΏ½οΏ½οΏ½ id οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.

οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ *οΏ½οΏ½οΏ½οΏ½* οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ strings οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.

οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.

>
> οΏ½οΏ½ οΏ½οΏ½ 'οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ (*οΏ½οΏ½οΏ½οΏ½* οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½) οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ data set οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 2-level indexing οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ movie:
>
> .--------------------. .----------------.
> | movie_actor_bucket | | movie_actor_1 |
> +--------------------+ +----------------+
> |movie | actor_table | | movie | actor |
> | 1 | 1 | -------> | 1 | 12 |
> | 2 | 1 | -------> | 2 | 27 |
> | 3 | 2 | -----. `-------+--------'
> | | | |
> / ... / ... / | .----------------.
> | | | | | movie_actor_2 |
> | 7891 | 10 | --. `-> +----------------+
> `------+-------------' | | movie | actor |
> | | 3 | 9 |
> | | 3 | 12 |
> | `-------+--------'
> |
> | ...
> /
> : .-----------------.
> / | movie_actor_10 |
> | +-----------------+
> `----> | movie | actor |
> | 7891 | 9 |
> `-------+---------'
>

οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ ASCII (ch)arts.
οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½;
οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ vi οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ export οΏ½οΏ½
ASCII art;

-οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½

> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½" οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½ 'movies', οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ 'actors', οΏ½οΏ½ οΏ½οΏ½οΏ½ MxN relation οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.

Giorgos Keramidas

unread,
Dec 16, 2009, 11:50:16 AM12/16/09
to rou...@di.uoa.gr, linux-gr...@lists.hellug.gr
On Wed, 16 Dec 2009 19:26:22 +0200 (EET), rou...@di.uoa.gr wrote:
> Giorgos Keramidas wrote:
>> Δε θά 'πρεπε να σε ανησυχεί τόσο πολύ το μέγεθος του πίνακα. Αν τελικά
>> ανακαλύψεις (*αφού* κάνεις μετρήσεις κι όχι μαντεύοντας) ότι όντως το
>> μέγεθος του πίνακα παίζει ρόλο και σε καθυστερεί για το data set που
>> έχεις, σκέψου ότι μπορείς να υλοποιήσεις 2-level indexing για τα
>> δεδομένα ενός movie:
>>
>> .--------------------. .----------------.
>> | movie_actor_bucket | | movie_actor_1 |
>> +--------------------+ +----------------+
>> |movie | actor_table | | movie | actor |
>> | 1 | 1 | -------> | 1 | 12 |
>> | 2 | 1 | -------> | 2 | 27 |
>> | 3 | 2 | -----. `-------+--------'
>> / ... / ... / | .----------------.
>
> Ρε συ Κεραμίδα, κι άλλες φορές έχει απαντήσει με ASCII (ch)arts. Πως
> διάλο τα κάνεις; Έχεις εργαλείο διάφορο του vi που τα σχεδιάζεις και
> τα κάνει export σε ASCII art;

Με το `M-x picture-mode' στο Emacs τα φτιάχνω. Και στο vim γίνεται,
ειδικά με το ^V που επιτρέπει την επιλογή από ορθογώνιες περιοχές.

rou...@di.uoa.gr

unread,
Dec 16, 2009, 12:48:25 PM12/16/09
to Giorgos Keramidas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr

Με κάτι τέτοια φαίνεται ποιος έχει
κατακτήσει το Tao!

-Stathis

Christos Nouskas

unread,
Dec 16, 2009, 1:14:05 PM12/16/09
to rou...@di.uoa.gr, linux-gr...@lists.hellug.gr
rou...@di.uoa.gr wrote:
> > ειδικά με το ^V που επιτρέπει την επιλογή
> > από ορθογώνιες περιοχές.
>
> Με κάτι τέτοια φαίνεται ποιος έχει
> κατακτήσει το Tao!
>
> -Stathis
>

To encoding pou (den) stelnei o client sou einai problhmatiko, ta
parapanw sto auto-encoding den diabazontai.


--
X.

Apostolos Mpessas

unread,
Dec 16, 2009, 1:25:52 PM12/16/09
to linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
On Wed 16 of Dec 2009 19:26:22 rou...@di.uoa.gr wrote:
> Συμβουλή:
> Ποτέ μα *ποτέ* μα εντελώς ΠΟΤΕ μην βασίζεσαι στα strings για συσχετίσεις
> μεταξύ οποιονδήποτε σχέσεων.
>
> Επέκταση της Συμβουλής:
> Εξαιρούνται οι περιπτώσεις που δεν μπορείς να κάνεις αλλιώς, γιατί
> παρέλαβες ηλίθιο σχεδιασμό.
>

Κάπως απόλυτο δεν είναι αυτό;

Αποστόλης

Apollon Koutlidis

unread,
Dec 16, 2009, 1:36:27 PM12/16/09
to Apostolos Mpessas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
Apostolos Mpessas wrote:
> On Wed 16 of Dec 2009 19:26:22 rou...@di.uoa.gr wrote:
>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
>> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ *οΏ½οΏ½οΏ½οΏ½* οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ strings οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>>
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>>
>>
>
> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½;
οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ - οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½.οΏ½. string IDs.

οΏ½οΏ½οΏ½ οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
sizeof() οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ pointer math" οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½.

οΏ½.

Aggelos Karalias

unread,
Dec 16, 2009, 4:46:29 PM12/16/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr
This is from "Relational Databases - 101" and it is called:

Database Normalization - http://en.wikipedia.org/wiki/Database_normalization


2009/12/16 panagiotis takis_rs <takis...@hotmail.com>
...

Μια διαφορετική υλοποίηση θα ήταν να κρατήσουμε τους ηθοποιούς της κάθε ταινίας σε διαφορετικό πίνακα π.χ
actors_of_movie
fields: id | actor

***movies.id=actors_of_movie.id

...

panagiotis takis_rs

unread,
Dec 16, 2009, 4:56:09 PM12/16/09
to kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr


> From: kera...@ceid.upatras.gr
> To: takis...@hotmail.com
> CC: linux-gr...@lists.hellug.gr
> Subject: Re: Ερώτηση για mysql - php
> Date: Wed, 16 Dec 2009 18:06:53 +0200
>
> On Wed, 16 Dec 2009 16:59:02 +0200, panagiotis takis_rs <takis...@hotmail.com> wrote:
> > Καλησπέρα!
> > Έστω ότι θέλουμε να δημιουργήσουμε μια σελίδα όπως π.χ η imdb.com
> > Έχουμε τους παρακάτω πίνακες...
> >
> > movies
> > fields: id | title | actors
> >
> > Παράδειγμα εγγραφής id=1, title=The movie, actors=takis texas,maria
> > mariou,petros petrou
>
> Αν το 'actors' field σε αυτό το table είναι string, χάσατε, το lookup σε
> αυτό το string δεν εκμεταλλεύεται το indexing της database engine.

>
>
> > Actors
> > fields: id | name | DateOfBirth | Biography
> >
> > Παράδειγμα εγγραφής id=5, name=takis texas, DateOfBirth=13/6/1977,
> > Biography=mplamplampla
> >

> > Εστω τώρα ότι κάνουμε ένα select στα περιεχόμενα που πίνακα movies για
> > να εμφανίσουμε τα περιεχόμενα μιας ταινίας. Επίσης επιθυμούμε οι
> > ηθοποιοί που υπάρχουν στον πίνακα actors να εμφανίζονται με
> > συνδεσμό. Ο συνδεσμός αυτός θα παραπέμπει σε μια αλλη σελίδα όπου θα
> > περιλαμβάνονται στοιχεία για τον ηθοποιό( το select εδώ θα γίνεται
> > συμφωνα με το id του ηθοποιού).
> >
> > Η ερώτηση μου τώρα είναι πώς μπορούμε να δημιουργήσουμε τον σύνδεσμο
> > για κάθε ηθοποιό που υπάρχει ως εγγραφή στον πίνακα actors; Δηλαδή πως
> > μπορούμε κατά το select from movies να σπάσουμε το πεδίο actors και
> > για κάθε actor που υπάρχει στον πίνακα actors να τραβήξουμε το id;
> >
> > Μια προφανή λύση είναι να κάνουμε τόσα select στον πινακα actors όσα
> > και οι ηθοποιοί της ταινίας. Θα είναι πολύ επώδυνο ωστόσο για τον
> > server.
> >
> > Επίσης δεν μπορουμε να κρατάμε id ηθοποιών στον πίνακα movies καθώς
> > δεν θα υπάρχουν όλοι οι ηθοποιοί στον πίνακα actors αλλά και θα
> > γινεται προσθήκη ηθοποιών κάθε τόσο.
>
> Προφανώς και _μπορείς_ να προσθέσεις εκ των υστέρων ηθοποιούς σε ένα
> movie, αρκεί να έχεις σχεδιάσει "καλά" το db schema σου.

>
> > Μια διαφορετική υλοποίηση θα ήταν να κρατήσουμε τους ηθοποιούς της
> > κάθε ταινίας σε διαφορετικό πίνακα π.χ actors_of_movie
> > fields: id | actor
> >
> > ***movies.id=actors_of_movie.id
>
> Αυτός ο πίνακας υλοποιεί μια "σχέση" (relation). Πρόσεξε τώρα: οι πιο
> γνωστές βάσεις που χρησιμοποιούνται σήμερα λέγονται "relational", είναι
> πολύ σημαντικό hint.
>
> ΑΚΡΙΒΩΣ για τέτοιου είδους συσχετίσεις μεταξύ αντικειμένων είναι που
> έχουν φτιαχτεί και γίνει optimize τα database engines.
>
> > Παράδειγμα

> > 1 - takis texas
> > 1 - maria mariou
> > 1 - petros petrou
> >
> > Όποτε με ενα join με τον πίνακα actors θα είναι πιο απλά τα πράγματα.
> >
> > Σε αυτή την περιπτωση όμως, δεδομένου ότι κάθε ταινία έχει 20
> > ηθοποιούς, και έστω οτι η βάση μας θα κρατήσει 4000 ταινίες δεν
> > μακραίνει πολύ ο πίνακας actors_of_movie;
>
> Δε θά 'πρεπε να σε ανησυχεί τόσο πολύ το μέγεθος του πίνακα. Αν τελικά
> ανακαλύψεις (*αφού* κάνεις μετρήσεις κι όχι μαντεύοντας) ότι όντως το
> μέγεθος του πίνακα παίζει ρόλο και σε καθυστερεί για το data set που
> έχεις, σκέψου ότι μπορείς να υλοποιήσεις 2-level indexing για τα
> δεδομένα ενός movie:
>
> .--------------------. .----------------.
> | movie_actor_bucket | | movie_actor_1 |
> +--------------------+ +----------------+
> |movie | actor_table | | movie | actor |
> | 1 | 1 | -------> | 1 | 12 |
> | 2 | 1 | -------> | 2 | 27 |
> | 3 | 2 | -----. `-------+--------'
> | | | |
> / ... / ... / | .----------------.
> | | | | | movie_actor_2 |
> | 7891 | 10 | --. `-> +----------------+
> `------+-------------' | | movie | actor |
> | | 3 | 9 |
> | | 3 | 12 |
> | `-------+--------'
> |
> | ...
> /
> : .-----------------.
> / | movie_actor_10 |
> | +-----------------+
> `----> | movie | actor |
> | 7891 | 9 |
> `-------+---------'
>
> Πριν αρχίσεις τέτοιες "πονηριές" όμως, κάνε την ΑΠΛΗ λύση με ένα πίνακα
> για 'movies', ένα για 'actors', κι ένα MxN relation πίνακα που εύκολα
> και γρήγορα αντιστοιχεί ηθοποιούς σε ταινίες.
>

Ευχαριστώ πολύ για τις απαντήσεις σου. Οσο για το τελευταίο που είπες '2-level indexing', δεν το ξέρω, έχω μείνει στα βασικά, θα το κοιτάξω πάντως.
Θα προτιμήσω λοιπόν την λύση με τον επιπλεόν πίνακα συσχέτισης που είναι και πιο απλή.
Ο μονος λόγος που το άρχισα αυτό είναι γιατί έψαχνα μια πιο απλή λύση, δεδομένου ότι κάθε ταινία έχει πολλαπλούς ηθοποιούς, σκηνοθέτες, σεναριογράφους, παραγωγούς, genres και μακραίνει αρκετά το πράγμα από πλευράς πινάκων.

Πανος

panagiotis takis_rs

unread,
Dec 16, 2009, 5:14:31 PM12/16/09
to kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr

> Πριν αρχίσεις τέτοιες "πονηριές" όμως, κάνε την ΑΠΛΗ λύση με ένα πίνακα
> για 'movies', ένα για 'actors', κι ένα MxN relation πίνακα που εύκολα
> και γρήγορα αντιστοιχεί ηθοποιούς σε ταινίες.
>

Και κάτι τελευταίο.
Εισάγω τα δεδομένα σε μια φόρμα και τα αποστέλλω για εισαγωγή.
Προφανώς και θα πρέπει να γίνει insert στον πίνακα movies και έπειτα να καταχωρηθούν και οι ηθοποιοί στον πίνακα συσχέτισης για την συγκεκριμένη ταινία.
Το id στον πίνακα movies είναι auto increment, επομένως θα πρέπει να ανακτήσουμε το id της ταινίας αυτής για τον insert στον πίνακα συσχέτισης.
Απ' ότι είδα μια συνάρτηση που το κάνει αυτό είναι η mysql_insert_id().
Τι συμβαίνει αν ταυτόχρονα εκτελείται ένα άλλο insert;
Υπάρχει ποτέ περίπτωση να φέρει λάθος id;



Windows Live: Keep your friends up to date with what you do online.

rou...@di.uoa.gr

unread,
Dec 16, 2009, 6:14:16 PM12/16/09
to Christos Nouskas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr

A, ti kala! Tha kanarxisoume to ISO-8859-7 vs UTF-8 flame war!
Loipon, ego exo ISO-8859-7 os eks'orismou encoding.
To girisa se UTF-8 gia n'apantiso sto proigoumeno e-mail (kai s'auto).
Ellinikos blepo kanonika tora pou grafo kathos kai meta pou to koitao apo
to "Sent" folder (girnontas to encoding se UTF-8).

Mipos, to encoding pou (den) allakses den itan to katallilo;

-Stathis

>
>
> --
> X.
>


rou...@di.uoa.gr

unread,
Dec 16, 2009, 6:15:33 PM12/16/09
to Apostolos Mpessas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
Apostolos Mpessas wrote:
> On Wed 16 of Dec 2009 19:26:22 rou...@di.uoa.gr wrote:
>> Συμβουλή:
>> Ποτέ μα *ποτέ* μα εντελώς ΠΟΤΕ μην
>> βασίζεσαι στα strings για συσχετίσεις
>> μεταξύ οποιονδήποτε σχέσεων.
>>
>> Επέκταση της Συμβουλής:
>> Εξαιρούνται οι περιπτώσεις που δεν
>> μπορείς να κάνεις αλλιώς, γιατί
>> παρέλαβες ηλίθιο σχεδιασμό.
>>
>
> Κάπως απόλυτο δεν είναι αυτό;

i Simbouli 'h i epektasi;

-Stathis

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


rou...@di.uoa.gr

unread,
Dec 16, 2009, 6:24:22 PM12/16/09
to panagiotis takis_rs, kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr
panagiotis takis_rs wrote:
>
>
>> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½" οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ 'movies', οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ 'actors', οΏ½οΏ½ οΏ½οΏ½οΏ½ MxN relation οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>>
>
> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ insert οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ movies οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½

> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>
> οΏ½οΏ½ id οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ movies οΏ½οΏ½οΏ½οΏ½οΏ½ auto increment, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ id οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ insert οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½

> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>
> οΏ½οΏ½' οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½ mysql_insert_id().
> οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ insert;

Einai douleia tis basis na ta xeiristei (sosta).

>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ id;

Ston mataio touto kosmo, mono i eforia kai o thanatos einai sigoura kai
gia to deutero i texnologia to psaxnei.
An simbainei auto, einai bug.
Min agxonesai, omos, den simbainei.
An i MySQL ('h opoiadipote alli multi-user basi) eixe tetoia problimata,
den tha eixe kai megali anagnorisi, de nomizeis;

-Stathis

>
>
> _________________________________________________________________


> Windows Live: Keep your friends up to date with what you do online.

> http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010

Giorgos Keramidas

unread,
Dec 16, 2009, 5:42:46 PM12/16/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr
On Thu, 17 Dec 2009 00:14:31 +0200, panagiotis takis_rs <takis...@hotmail.com> wrote:
>> Πριν αρχίσεις τέτοιες "πονηριές" όμως, κάνε την ΑΠΛΗ λύση με ένα πίνακα
>> για 'movies', ένα για 'actors', κι ένα MxN relation πίνακα που εύκολα
>> και γρήγορα αντιστοιχεί ηθοποιούς σε ταινίες.
>
> Και κάτι τελευταίο.
>
> Εισάγω τα δεδομένα σε μια φόρμα και τα αποστέλλω για εισαγωγή.
>
> Προφανώς και θα πρέπει να γίνει insert στον πίνακα movies και έπειτα να
> καταχωρηθούν και οι ηθοποιοί στον πίνακα συσχέτισης για την
> συγκεκριμένη ταινία.
>
> Το id στον πίνακα movies είναι auto increment, επομένως θα πρέπει να
> ανακτήσουμε το id της ταινίας αυτής για τον insert στον πίνακα
> συσχέτισης.
>
> Απ' ότι είδα μια συνάρτηση που το κάνει αυτό είναι η mysql_insert_id().
> Τι συμβαίνει αν ταυτόχρονα εκτελείται ένα άλλο insert;
>
> Υπάρχει ποτέ περίπτωση να φέρει λάθος id;

Ανάλογα. Πως ορίζεις το «λάθος id», ας πούμε;

Η συνάρτηση πάντα θα σου επιστρέψει ένα id. Δεν κάνει, από όσο ξέρω,
κάποια προσπάθεια για «συγχρονισμό» μεταξύ διαφορετικών query source,
οπότε αν ταυτόχρονα εκτελεστεί άλλο insert την πάτησες.

Οπότε πρέπει να βρεις κάποιο άλλο τρόπο να πάρεις το id από το record
που μόλις έβαλες, π.χ. select με το όνομα που είχες κάνει insert ή να
βάζεις μαζί με το όνομα της ταινίας και ένα sha256 hash για το οποίο
μπορείς να κάνεις με σχετικά μικρή πιθανότητα conflict search αμέσως
μετά το insert.

Giorgos Keramidas

unread,
Dec 16, 2009, 5:56:18 PM12/16/09
to rou...@di.uoa.gr, linux-gr...@lists.hellug.gr, Christos Nouskas
On Thu, 17 Dec 2009 01:14:16 +0200 (EET), rou...@di.uoa.gr wrote:
>Christos Nouskas wrote:
>> To encoding pou (den) stelnei o client sou einai problhmatiko, ta
>> parapanw sto auto-encoding den diabazontai.
>
> A, ti kala! Tha kanarxisoume to ISO-8859-7 vs UTF-8 flame war!
> Loipon, ego exo ISO-8859-7 os eks'orismou encoding. To girisa se
> UTF-8 gia n'apantiso sto proigoumeno e-mail (kai s'auto). Ellinikos
> blepo kanonika tora pou grafo kathos kai meta pou to koitao apo to
> "Sent" folder (girnontas to encoding se UTF-8).
>
> Mipos, to encoding pou (den) allakses den itan to katallilo;

Οχι δίκιο έχει ο Νούσκας. Το client σου στέλνει MIME encoded το
κείμενο, με charset="iso-8859-7" αλλά περιεχόμενα utf-8:

Το κείμενο με octal-escaped τους χαρακτήρες που δεν είναι iso-8859-7
φαίνεται παρακάτω:

--===============1036232028==
Content-Type: text/plain;charset=iso-8859-7
Content-Transfer-Encoding: 8bit

Christos Nouskas wrote:
> rou...@di.uoa.gr wrote:
>> > \316\265\316\271\316\264\316\271\316\272\316\254\040\316\274\316\265\040\317\204\316\277\040\136\126\040\317\200\316\277\317\205\040\316\265\317\200\316\271\317\204\317\201\316\255\317\200\316\265\316\271\040\317\204\316\267\316\275
>> \316\265\317\200\316\271\316\273\316\277\316\263\316\256

Απλά εγώ βαρέθηκα να γκρινιάξω πριν και έκανα recode μέσα στο reply
buffer από utf-8-display-as-iso-attempt σε utf-8.

Christos Nouskas

unread,
Dec 16, 2009, 6:12:35 PM12/16/09
to linux-gr...@lists.hellug.gr
rou...@di.uoa.gr wrote:
> Christos Nouskas wrote:
> > rou...@di.uoa.gr wrote:
> >> > Ριδικά ΞΌΞ΅ το ^V που Ξ΅Ο€ΞΉΟ„Ο Ξ­Ο€Ξ΅ΞΉ την
> >>
> >> Ρπιλογ�
> >>
> >> > Ξ±Ο€ΟŒ ΞΏΟ ΞΈΞΏΞ³ΟŽΞ½ΞΉΞ΅Ο‚ Ο€Ξ΅Ο ΞΉΞΏΟ‡Ξ­Ο‚.
> >>
> >> ΞœΞ΅ κάτι τέτοια φαίνΡται ποιος έχΡι
> >> κατακτ�σΡι το Tao!
> >>
> >> -Stathis

> >
> > To encoding pou (den) stelnei o client sou einai problhmatiko, ta
> > parapanw sto auto-encoding den diabazontai.
>
> A, ti kala! Tha kanarxisoume to ISO-8859-7 vs UTF-8 flame war!
> Loipon, ego exo ISO-8859-7 os eks'orismou encoding.
> To girisa se UTF-8 gia n'apantiso sto proigoumeno e-mail (kai s'auto).
> Ellinikos blepo kanonika tora pou grafo kathos kai meta pou to koitao
> apo to "Sent" folder (girnontas to encoding se UTF-8).
>
> Mipos, to encoding pou (den) allakses den itan to katallilo;

Αφού (δεν) δεις αυτό
http://lists.hellug.gr/pipermail/linux-greek-users/2009-December/date.html

να (μην) δεις (ούτε) αυτό
http://lists.hellug.gr/pipermail/linux-greek-users/2009-
December/075898.html

Και μετά να (μην) μας πεις πού (δεν) χάλασε η συνταγή.

--
X.

Christos Ricudis

unread,
Dec 16, 2009, 6:42:33 PM12/16/09
to panagiotis takis_rs, kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr

> οΏ½οΏ½ id οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ movies οΏ½οΏ½οΏ½οΏ½οΏ½ auto increment, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ id οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ insert οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
> οΏ½οΏ½' οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½| mysql_insert_id().
> οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ insert;
> |οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ id;


Transaction : Ena synolo energeiwn se mia omada pinakwn pou 8ewroumenh
synolika, exei thn idiothta na mhn metaballei thn sxesiakh kai anaforikh
akeraiothta twn pinakwn. Agnoh8hke pantelws apo th mysql epi xronia,
epeidh "poios to gamei to integrity, edw milame gia SPEEEEEEED!",
afhnontas ton programmatisth na katasfaksei to SPEEEEEEEED pou tou edine
h bash dedomenwn ylopoiwntas telika (synh8ws me la8os tropo) akribws to
idio pragma sto middleware layer.

Genika exeis arketes elleipseis oson afora th 8ewria. Kykloforoun arketa
biblia gia LAMPes sthn agora, pou exoun 2-3 kefalaia pou 8a sou
ekshghsoun akribws th 8ewria pou xreiazesai. Diabase ta, 8a glytwseis
POLY xrono apo to na ka8esai kai na ksanaanakalypteis ton troxo - kai na
sou bgainei trigwnos.

Christos Ricudis

unread,
Dec 16, 2009, 6:43:45 PM12/16/09
to rou...@di.uoa.gr, kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr

> An i MySQL ('h opoiadipote alli multi-user basi) eixe tetoia problimata,
> den tha eixe kai megali anagnorisi, de nomizeis;
>
>


Koimasai poly syxna m'ayto to pleyro?

rou...@di.uoa.gr

unread,
Dec 16, 2009, 7:37:54 PM12/16/09
to Christos Ricudis, kera...@ceid.upatras.gr, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr

Eidika gia tin MySQL oxi, alla genikos nai:-)

Sto sigkekrimeno zitima, pantos, (last insert id) de nomizo oti i MySQL
exei lathos, dedomenou oti to epistrefomeno ID eksartatai apo to
connection... nomizo.

Ta ipoloipa "zitimata" tis MySQL einai pou me kanoun na allazo pleyro.

-Stathis

Aggelos Karalias

unread,
Dec 16, 2009, 7:12:24 PM12/16/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr
Το last inserted id είναι connection safe. Όσο κάθε request παίζει με δικό του connection στην ΒΔ τότε δεν έχεις προβλήματα από race conditions. Αυτό όμως δεν είναι πάντα το καλύτερο, οπότε προσοχή όταν χρησιμοποιείς persistent connections ή pooling ή αν εσύ χειρίζεσαι/μοιράζεις υπάρχοντα connections. Εκεί μπορείς να παίξεις με table locks αλλά κάποιοι θα περιμένουν (και θα εκνευριστούν) ή με την μέθοδο του Κεραμίδα (με το SHA ή κάτι αντίστοιχο) η οποία γενικά δουλεύει καλά (την έχω δει σε αρκετά συστήματα) και ας φαίνεται μπακαλοπατέντα.

Transactions +1, ειδικά όταν θες ατομικότητα, χωρίς αμφιβολίες. Δες αυτό http://en.wikipedia.org/wiki/ACID και ακολούθησε και τις συμβουλές του Ricudi για ένα καλό lampobook.

Επίσης προσοχή σε queries τύπου "insert ignore ..." μπορεί το insert να αποτύχει αλλά να πάρεις πίσω Id.


2009/12/17 Christos Ricudis <ric...@itc.auth.gr>

Το id στον πίνακα movies είναι auto increment, επομένως θα πρέπει να
ανακτήσουμε το id της ταινίας αυτής για τον insert στον πίνακα συσχέτισης.
Απ' ότι είδα μια συνάρτηση που το κάνει αυτό είναι η| mysql_insert_id().
Τι συμβαίνει αν ταυτόχρονα εκτελείται ένα άλλο insert;
|Υπάρχει ποτέ περίπτωση να φέρει λάθος id;


Transaction : Ena synolo energeiwn se mia omada pinakwn pou 8ewroumenh synolika, exei thn idiothta na mhn metaballei thn sxesiakh kai anaforikh akeraiothta twn pinakwn. Agnoh8hke pantelws apo th mysql epi xronia, epeidh "poios to gamei to integrity, edw milame gia SPEEEEEEED!", afhnontas ton programmatisth na katasfaksei to SPEEEEEEEED pou tou edine h bash dedomenwn ylopoiwntas telika (synh8ws me la8os tropo) akribws to idio pragma sto middleware layer.

Genika exeis arketes elleipseis oson afora th 8ewria. Kykloforoun arketa biblia gia LAMPes sthn agora, pou exoun 2-3 kefalaia pou 8a sou ekshghsoun akribws th 8ewria pou xreiazesai. Diabase ta, 8a glytwseis POLY xrono apo to na ka8esai kai na ksanaanakalypteis ton troxo - kai na sou bgainei trigwnos.

Christos Nouskas

unread,
Dec 16, 2009, 7:26:08 PM12/16/09
to rou...@di.uoa.gr, linux-gr...@lists.hellug.gr
On Thursday 17 of December 2009, you wrote:
> >> Mipos, to encoding pou (den) allakses den itan to katallilo;
> >
> > Ξ‘Ο†ΞΏΟ (δΡν) δΡις Ξ±Ο…Ο„ΟŒ
> > http://lists.hellug.gr/pipermail/linux-greek-users/2009-December/date
> >.html
> >
> > Ξ½Ξ± (ΞΌΞ·Ξ½) δΡις (ΞΏΟ Ο„Ξ΅) Ξ±Ο…Ο„ΟŒ
> > http://lists.hellug.gr/pipermail/linux-greek-users/2009-
> > December/075898.html
> >
> > ΞšΞ±ΞΉ μΡτά Ξ½Ξ± (ΞΌΞ·Ξ½) ΞΌΞ±Ο‚ πΡις Ο€ΞΏΟ (δΡν)
> > χάλασΡ η συνταγ�.
>
> Simpathame afentiko, alla an giriseis to view encoding tou client sou
> se UTF-8 'h ISO-8859-7, ta minimata den fainontai kanonika;
>
> Oso gia tin eksigisi pou (den) tha sou po, exei os eksis:
> Kathos xrisimopoio web-mail client (SquirelMail) gia ta mails, iparxei
> diafora ston oro "client" anaforika me ton texnikos ortho orismo tou
> kai ton eklifthen apo tin xristi (diladi emena).
> O texnikos ortha orismos tou, stin periptosi mou, einai o SquirelMail
> ston opoio exei oristhei os encoding to ISO-8859-7.
> Profanos, o "eklifthen apo ton xristi client" einai o browser, ston
> opoio girno se UTF-8 gia na apantiso osa apo ta mails exoun auto to
> encoding kai perilambanoun Ellinikous karaktires.
> Opote, to apramillis sobarotitas ponima pou grafetai ston browser se
> UTF-8 apostelletai apo ton SquirelMail dilonontas encoding ISO-8859-7
> kai oloi (ektos apo sena) einai xaroumenoi.
>
> Tora esena den se ksero prosopika, alla etsi gkriniaris pou eisai tha
> eisai panta anikanopoiitos!
>
> -Stathis
>
> YG: Astievomai, etsi;
>

Άλλαξε client.


Υ.Γ.: (Δεν) αστειεύομαι, έτσι;

--
X.

Christos Ricudis

unread,
Dec 16, 2009, 6:07:23 PM12/16/09
to Giorgos Keramidas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
, Giorgos Keramidas wrote:

> On Wed, 16 Dec 2009 19:26:22 +0200 (EET), rou...@di.uoa.gr wrote:
>> Giorgos Keramidas wrote:

>>> οΏ½οΏ½ οΏ½οΏ½ 'οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½

>>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ (*οΏ½οΏ½οΏ½οΏ½* οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½) οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
>>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ data set οΏ½οΏ½οΏ½
>>> οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 2-level indexing οΏ½οΏ½οΏ½ οΏ½οΏ½
>>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ movie:


>>>
>>> .--------------------. .----------------.
>>> | movie_actor_bucket | | movie_actor_1 |
>>> +--------------------+ +----------------+
>>> |movie | actor_table | | movie | actor |
>>> | 1 | 1 | -------> | 1 | 12 |
>>> | 2 | 1 | -------> | 2 | 27 |
>>> | 3 | 2 | -----. `-------+--------'
>>> / ... / ... / | .----------------.
>>

>> οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ ASCII (ch)arts. οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½; οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ vi οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½


>> οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ export οΏ½οΏ½ ASCII art;
>

> οΏ½οΏ½ οΏ½οΏ½ `M-x picture-mode' οΏ½οΏ½οΏ½ Emacs οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ vim οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½,
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ ^V οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
>
>


Nai, alla den einai DITAA compliant :(

http://ditaa.org/ditaa/


Christos Ricudis

unread,
Dec 16, 2009, 6:22:12 PM12/16/09
to Apostolos Mpessas, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
, Apostolos Mpessas wrote:

> On Wed 16 of Dec 2009 19:26:22 rou...@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".

Christos Ricudis

unread,
Dec 16, 2009, 6:35:01 PM12/16/09
to linux-gr...@lists.hellug.gr

> οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½,
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½,
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, genres οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.


Ayto pou xreiazesai legetai kanonikopoihsh, kai sthn 8ewria sxesiakwn
basewn dedomenwn einai kati san to 8eo.

Prokeitai gia mia diadikasia, h opoia telika katalhgei se ena synolo
pinakwn katetmhmenwn kata tetoio tropo wste na elaxistopoieitai
(=mhdenizetai) to duplication ka8e pediou, enw taytoxrona dhmiourgeitai
to mikrotero dynato synolo diaforetikwn pinakwn pou anaparistoun akribws
tis leitourgikes eksarthseis poy yparxoun metaksy twn pediwn sta arxika
dedomena.

Sthn praksh epeidh kaneis den ka8etai na to kanei kai 8eos den yparxei,
synh8ws katalhgeis na exeis ena synolo N pinakwn me 2 pedia to ka8ena :
Ena artificial key kai ENA pedio dedomenwn. Afhnetai sthn fantasia tou
anagnwsth to ti queries katalhgeis na grapseis gia na pareis o,tidhpote
xrhsimo apo ena tetoio xaos.

Alexandros Kosiaris

unread,
Dec 17, 2009, 3:50:36 AM12/17/09
to linux-gr...@lists.hellug.gr
rou...@di.uoa.gr wrote:
> Christos Ricudis wrote:
>>> An i MySQL ('h opoiadipote alli multi-user basi) eixe tetoia problimata,
>>> den tha eixe kai megali anagnorisi, de nomizeis;
>>>
>>>
>>
>> Koimasai poly syxna m'ayto to pleyro?
>
> Eidika gia tin MySQL oxi, alla genikos nai:-)
>
> Sto sigkekrimeno zitima, pantos, (last insert id) de nomizo oti i MySQL
> exei lathos, dedomenou oti to epistrefomeno ID eksartatai apo to
> connection... nomizo.
Καλημέρες,

Να μην νομίζεις. Είναι σίγουρο. :-)

Από το
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

The ID that was generated is maintained in the server on a
per-connection basis. This means that the value returned by the function
to a given client is the first AUTO_INCREMENT value generated for most
recent statement affecting an AUTO_INCREMENT column by that client. This
value cannot be affected by other clients, even if they generate
AUTO_INCREMENT values of their own. This behavior ensures that each
client can retrieve its own ID without concern for the activity of other
clients, and without the need for locks or transactions.

Κατά τα άλλα επειδή όπως ήδη ειπώθηκε κάλλιστα μπορείς να καταλήξεις σε
κάποιο connection pooling σενάριο κάποια στιγμή, και επειδή όταν θα
συμβεί αυτό θα ξεχάσεις ότι το LAST_INSERT_ID() είναι
connection-dependent και τότε θα σε δαγκώσει καλύτερα να χρησιμοποιείς
transactions(και προφανώς τα αντίστοιχα table types)


--
Alexandros Kosiaris Network Operation Center , GRNET S.A.
e-mail : al...@noc.grnet.gr
Public Key Fingerprint :
D6B1 0634 BE65 719C 6C95 7492 8201 4B46 C478 F074

panagiotis takis_rs

unread,
Dec 17, 2009, 4:35:03 AM12/17/09
to al...@noc.grnet.gr, linux-gr...@lists.hellug.gr


> Date: Thu, 17 Dec 2009 10:50:36 +0200
> From: al...@noc.grnet.gr
> CC: linux-gr...@lists.hellug.gr
> Subject: Re: οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ mysql - php

>
> rou...@di.uoa.gr wrote:
> > Christos Ricudis wrote:
> >>> An i MySQL ('h opoiadipote alli multi-user basi) eixe tetoia problimata,
> >>> den tha eixe kai megali anagnorisi, de nomizeis;
> >>>
> >>>
> >>
> >> Koimasai poly syxna m'ayto to pleyro?
> >
> > Eidika gia tin MySQL oxi, alla genikos nai:-)
> >
> > Sto sigkekrimeno zitima, pantos, (last insert id) de nomizo oti i MySQL
> > exei lathos, dedomenou oti to epistrefomeno ID eksartatai apo to
> > connection... nomizo.
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½,
>
> οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. :-)

>
> οΏ½οΏ½οΏ½ οΏ½οΏ½
> http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
>
> The ID that was generated is maintained in the server on a
> per-connection basis. This means that the value returned by the function
> to a given client is the first AUTO_INCREMENT value generated for most
> recent statement affecting an AUTO_INCREMENT column by that client. This
> value cannot be affected by other clients, even if they generate
> AUTO_INCREMENT values of their own. This behavior ensures that each
> client can retrieve its own ID without concern for the activity of other
> clients, and without the need for locks or transactions.
>
> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ connection pooling οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ LAST_INSERT_ID() οΏ½οΏ½οΏ½οΏ½οΏ½
> connection-dependent οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
> transactions(οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ table types)

>
>
> --
> Alexandros Kosiaris Network Operation Center , GRNET S.A.
> e-mail : al...@noc.grnet.gr
> Public Key Fingerprint :
> D6B1 0634 BE65 719C 6C95 7492 8201 4B46 C478 F074
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr

οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ transactions οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ 'οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½' οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½.
http://pastebin.com/mf0e8482



Windows Live Hotmail: Your friends can get your Facebook updates, right from HotmailR.

panagiotis takis_rs

unread,
Dec 17, 2009, 4:48:20 AM12/17/09
to al...@noc.grnet.gr, linux-gr...@lists.hellug.gr



From: takis...@hotmail.com
To: al...@noc.grnet.gr
Subject: RE: Ερώτηση για mysql - php
Date: Thu, 17 Dec 2009 11:35:03 +0200
CC: linux-gr...@lists.hellug.gr




> Date: Thu, 17 Dec 2009 10:50:36 +0200
> From: al...@noc.grnet.gr
> CC: linux-gr...@lists.hellug.gr
> Subject: Re: Ερώτηση για mysql - php

>
> rou...@di.uoa.gr wrote:
> > Christos Ricudis wrote:
> >>> An i MySQL ('h opoiadipote alli multi-user basi) eixe tetoia problimata,
> >>> den tha eixe kai megali anagnorisi, de nomizeis;
> >>>
> >>>
> >>
> >> Koimasai poly syxna m'ayto to pleyro?
> >
> > Eidika gia tin MySQL oxi, alla genikos nai:-)
> >
> > Sto sigkekrimeno zitima, pantos, (last insert id) de nomizo oti i MySQL
> > exei lathos, dedomenou oti to epistrefomeno ID eksartatai apo to
> > connection... nomizo.
> Καλημέρες,
>
> Να μην νομίζεις. Είναι σίγουρο. :-)
>
> Από το

>
> The ID that was generated is maintained in the server on a
> per-connection basis. This means that the value returned by the function
> to a given client is the first AUTO_INCREMENT value generated for most
> recent statement affecting an AUTO_INCREMENT column by that client. This
> value cannot be affected by other clients, even if they generate
> AUTO_INCREMENT values of their own. This behavior ensures that each
> client can retrieve its own ID without concern for the activity of other
> clients, and without the need for locks or transactions.
>
> Κατά τα άλλα επειδή όπως ήδη ειπώθηκε κάλλιστα μπορείς να καταλήξεις σε
> κάποιο connection pooling σενάριο κάποια στιγμή, και επειδή όταν θα
> συμβεί αυτό θα ξεχάσεις ότι το LAST_INSERT_ID() είναι
> connection-dependent και τότε θα σε δαγκώσει καλύτερα να χρησιμοποιείς
> transactions(και προφανώς τα αντίστοιχα ta! ble types)

>
>
> --
> Alexandros Kosiaris Network Operation Center , GRNET S.A.
> e-mail : al...@noc.grnet.gr
> Public Key Fingerprint :
> D6B1 0634 BE65 719C 6C95 7492 8201 4B46 C478 F074
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr

Το δούλεψα λίγο και το προχώρησα. Φρέσκαρα και τα transactions αφού στην σχολή είχαν περάσει απαρατήρητα.
Μοιράζομαι μαζί σας τον 'πρόχειρο' κώδικα να μου πείτε σχόλια και παρατηρήσεις αν έχετε χρόνο.
http://pastebin.com/mf0e8482

--------------------------------------------------------------------------------------

Συγνώμη αρκέτα απρόσεκτος ο προηγούμενος κώδικας προσθέτω τον σωστό
http://pastebin.com/m52dd5481

Giorgos Keramidas

unread,
Dec 17, 2009, 4:57:18 AM12/17/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr, al...@noc.grnet.gr
On Thu, 17 Dec 2009 11:48:20 +0200, panagiotis takis_rs <takis...@hotmail.com> wrote:
> Το δούλεψα λίγο και το προχώρησα. Φρέσκαρα και τα transactions αφού
> στην σχολή είχαν περάσει απαρατήρητα. Μοιράζομαι μαζί σας τον
> 'πρόχειρο' κώδικα να μου πείτε σχόλια και παρατηρήσεις αν έχετε χρόνο.
> http://pastebin.com/mf0e8482
>
> Συγνώμη αρκέτα απρόσεκτος ο προηγούμενος κώδικας προσθέτω τον σωστό
> http://pastebin.com/m52dd5481

Οι περισσότεροι email clients υποστηρίζουν και attachments. Γιατί το
κουράζεις με web-based paste λαλάκια;

Apostolos Mpessas

unread,
Dec 17, 2009, 5:18:31 AM12/17/09
to linux-gr...@lists.hellug.gr
On Wed 16 of Dec 2009 20:36:27 Apollon Koutlidis wrote:
> Apostolos Mpessas wrote:
> > On Wed 16 of Dec 2009 19:26:22 rou...@di.uoa.gr wrote:
> >
> >
> >> Συμβουλή:
> >> Ποτέ μα *ποτέ* μα εντελώς ΠΟΤΕ μην βασίζεσαι στα strings για συσχετίσεις
> >> μεταξύ οποιονδήποτε σχέσεων.
> >>
> >> Επέκταση της Συμβουλής:
> >> Εξαιρούνται οι περιπτώσεις που δεν μπορείς να κάνεις αλλιώς, γιατί
> >> παρέλαβες ηλίθιο σχεδιασμό.
> >>
> >>
> >
> > Κάπως απόλυτο δεν είναι αυτό;
>
> Και σωστό - πλην κάποιων ιδιόμορφων περιπτώσεων, π.χ. string IDs.
>

Άρα, συμφωνείς ότι υπάρχουν και εξαιρέσεις, και αρκετές ενδεχομένως.

Αποστόλης

Apostolos Mpessas

unread,
Dec 17, 2009, 5:19:21 AM12/17/09
to linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
On Thu 17 of Dec 2009 01:15:33 rou...@di.uoa.gr wrote:
> Apostolos Mpessas wrote:
> > On Wed 16 of Dec 2009 19:26:22 rou...@di.uoa.gr wrote:
> >> Συμβουλ�:
> >> Ποτέ ΞΌΞ± *ποτέ* ΞΌΞ± Ξ΅Ξ½Ο„Ξ΅Ξ»ΟŽΟ‚ Ξ ΞŸΞ�Ξ• ΞΌΞ·Ξ½
> >> βασί΢Ρσαι στα strings για συσχΡτίσΡις
> >> ΞΌΞ΅Ο„Ξ±ΞΎΟ ΞΏΟ€ΞΏΞΉΞΏΞ½Ξ΄Ξ�ποτΡ σχέσΡων.
> >>
> >> Επέκταση της Συμβουλ�ς:
> >> Ξ•ΞΎΞ±ΞΉΟ ΞΏΟ Ξ½Ο„Ξ±ΞΉ ΞΏΞΉ Ο€Ξ΅Ο ΞΉΟ€Ο„ΟŽΟƒΞ΅ΞΉΟ‚ που δΡν
> >> ΞΌΟ€ΞΏΟ Ξ΅Ξ―Ο‚ Ξ½Ξ± κάνΡις Ξ±Ξ»Ξ»ΞΉΟŽΟ‚, γιατί
> >> Ο€Ξ±Ο Ξ­Ξ»Ξ±Ξ²Ξ΅Ο‚ ηλίθιο ΟƒΟ‡Ξ΅Ξ΄ΞΉΞ±ΟƒΞΌΟŒ.
> >
> > ΞšΞ¬Ο€Ο‰Ο‚ Ξ±Ο€ΟŒΞ»Ο…Ο„ΞΏ δΡν Ρίναι Ξ±Ο…Ο„ΟŒ;

>
> i Simbouli 'h i epektasi;
>
> -Stathis
>

Η συμβουλή.

Αποστόλης

Apostolos Mpessas

unread,
Dec 17, 2009, 5:27:00 AM12/17/09
to Christos Ricudis, linux-gr...@lists.hellug.gr
On Thu 17 of Dec 2009 01:22:12 Christos Ricudis wrote:

> , Apostolos Mpessas wrote:
> > On Wed 16 of Dec 2009 19:26:22 rou...@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;
Σε ένα πίνακα με τους νομούς της χώρας (όπου σε μια συσχέτιση με πόλεις έχεις
σχέση MxN);

Αποστόλης

Harris Kosmidhs

unread,
Dec 17, 2009, 5:34:01 AM12/17/09
to linux-gr...@lists.hellug.gr
On 17/12/2009 1:35 πμ, Christos Ricudis wrote:
>
>> Ο μονος λόγος που το άρχισα αυτό είναι γιατί έψαχνα μια πιο απλή λύση,
>> δεδομένου ότι κάθε ταινία έχει πολλαπλούς ηθοποιούς, σκηνοθέτες,
>> σεναριογράφους, παραγωγούς, genres και μακραίνει αρκετά το πράγμα από
>> πλευράς πινάκων.
>
>
> Ayto pou xreiazesai legetai kanonikopoihsh, kai sthn 8ewria sxesiakwn
> basewn dedomenwn einai kati san to 8eo.
>

Μέχρι να δεις ένα ERP γκουχ γκουχ ονόματι SAP ή DCW :)
Απ' οσο έχω δει και μιλήσει με κόσμο την κανονικόποίηση την έχουν σε
πολλές περιπτώσεις γραμμένη. Έχω δει πίνακες τρελούς.

>
> Sthn praksh epeidh kaneis den ka8etai na to kanei kai 8eos den
> yparxei, synh8ws katalhgeis na exeis ena synolo N pinakwn me 2 pedia
> to ka8ena : Ena artificial key kai ENA pedio dedomenwn. Afhnetai sthn
> fantasia tou anagnwsth to ti queries katalhgeis na grapseis gia na
> pareis o,tidhpote xrhsimo apo ena tetoio xaos.

Με τα framework που κυκλοφορούν είναι παιχνιδάκι! Αρκεί να κάνεις ένα
καλό σχεδιασμό με indexes στη βάση γιατί συνήθως βγάζουν κάτι τερατώδη sql.

Χάρης


rou...@di.uoa.gr

unread,
Dec 17, 2009, 6:43:56 AM12/17/09
to Apostolos Mpessas, Christos Ricudis, linux-gr...@lists.hellug.gr
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 rou...@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;

> οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ (οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½


> οΏ½οΏ½οΏ½οΏ½οΏ½

> οΏ½οΏ½οΏ½οΏ½οΏ½ MxN);

Prosopikos kai se auti tin periptosi tha xrisimopoiousa numeric IDs, an
mporousa.

-Stathis

>
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>

Theodore Lytras

unread,
Dec 17, 2009, 6:11:29 AM12/17/09
to linux-gr...@lists.hellug.gr
Plz, έλεος, enough με το UTF-8 που φαίνεται σαν ISO-8859-7, και με το
ISO-8859-7 που φαίνεται σαν UTF-8.
Δε μπορώ άλλο να βλέπω αλαμπουρνέζικα, ιδεογράμματα και
σκουπιδογράμματα στα email που έρχονται από τη λίστα, και ιδιαίτερα
στα subjects των μηνυμάτων.
Αγανάκτησα!
Σημειώστε οτι κάποιοι από μας βλέπουμε (τουλάχιστον στη δουλειά) τα
email από web, αν αυτό συγκινεί κανέναν.
Δηλαδή επιτέλους, για να καταλάβω μιας και δεν είμαι τεχνικός, υπάρχει
κάποιος σοβαρός λόγος να μη χρησιμοποιούμε όλοι utf8 στα email μας για
να τελειώνουμε μ'αυτό το αυτομαστίγωμα?

Θοδωρής

Aggelos Karalias

unread,
Dec 17, 2009, 6:12:23 AM12/17/09
to panagiotis takis_rs, linux-gr...@lists.hellug.gr
Αν και έχουμε διαφορετική προσέγγιση αυτό δεν είναι πρόβλημα.

Αρχικά δεν μας δείχνεις πως παίρνεις το connection (υποθέτω είναι στο connect_base.php) αλλά whatever...

Αυτό που μπορείς να βελτιώσεις είναι ότι αφού έτσι κι αλλιώς όποιο query αποτύχει θα κάνεις rollback στο τέλος, με τον έλεγχο του num==flag, γιατί τα τρέχεις όλα? 

Αν σκάσεις στους actors για παράδειγμα μπορείς να πετάξεις ενα πολύ ωραίο exception (ενδεχομένως και ένα δικό σου συγκεκριμένο) ή αν δεν σου αρέσει το try-catch approach μπορείς να πετάξεις και error από όσο θυμάμαι στην php και στο handling του να κάνεις rollback και να επιστρέψεις χωρίς να έχεις κάνει όλα τις υπόλοιπα loops και queries. 

<offtopic>
Επίσης προσοχή στην extract και στα unstrusted data, δεν έχεις πουθενά validation, θα πάει το injection και το xss σύννεφο. Δες το warning στο http://gr.php.net/extract.
</offtopic>

Και κάτι τελευταίο. Προσπάθησε να μην έχεις τόσο flat αρχιτεκτονική, χώρισε την εφαρμογή σου σε κομμάτια. Δεν ξέρω πως να το πω πιο απλά (και θεωρώ ότι είναι κομμάτι άλλης κουβέντας) αλλά δεν φαντάζεσαι πόσο θα σε βοηθήσει ένα καλύτερο design. 

Μπορείς να δεις αυτά για αρχή:
1) http://en.wikipedia.org/wiki/Model–view–controller [Ειδικά στην περίπτωσή σου]

Αν και είναι αρκετή πληροφορία, ειδικά για το MVC, θα βρεις πολλά frameworks που έχουν υλοποιημένο το μοντέλο και απλά πατάς πάνω υλοποιώντας μόνο τα κομμάτια της εφαρμογής σου.

Αυτά...

2009/12/17 panagiotis takis_rs <takis...@hotmail.com>

...
Συγνώμη αρκέτα απρόσεκτος ο προηγούμενος κώδικας προσθέτω τον σωστό
http://pastebin.com/m52dd5481
...


Apostolos Mpessas

unread,
Dec 17, 2009, 5:54:36 AM12/17/09
to linux-gr...@lists.hellug.gr, Christos Ricudis
On Thu 17 of Dec 2009 12:27:00 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 rou...@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;

Sorry, προφανώς το

> Σε ένα πίνακα με τους νομούς της χώρας (όπου σε μια συσχέτιση με πόλεις
> έχεις σχέση MxN);
>

δεν είναι MxN. Αλλά tags με photos? θα έβαζες id στον πίνακα tags?

Αποστόλης

Emmanouil Batsis (Manos)

unread,
Dec 17, 2009, 6:43:09 AM12/17/09
to linux-gr...@lists.hellug.gr
Theodore Lytras wrote:

> Δηλαδή επιτέλους, για να καταλάβω μιας και δεν είμαι τεχνικός, υπάρχει
> κάποιος σοβαρός λόγος να μη χρησιμοποιούμε όλοι utf8 στα email μας για
> να τελειώνουμε μ'αυτό το αυτομαστίγωμα?

+1. Μου έχει μείνει όμως η συνήθεια να χρησιμοποιώ το ISO γιατί το UTF8
δεν αναγνωριζόταν αυτόματα από κάτι παραλήπτες outlook...


--
Manos Batsis, Chief Technologist
__ _
____ _/ /_ (_)_________ ____ ______
/ __ `/ __ \/ / ___/ ___// __ `/ ___/
/ /_/ / /_/ / (__ |__ )/ /_/ / /
\__,_/_.___/_/____/____(_)__, /_/
/____/
http://www.Abiss.gr
19, Kalvou Street,
14231, Nea Ionia,
Athens, Greece

Tel: +30 211-1027-900
Fax: +30 211-1027-999

http://gr.linkedin.com/in/manosbatsis

Christos Ricudis

unread,
Dec 17, 2009, 7:40:20 AM12/17/09
to rou...@di.uoa.gr, linux-gr...@lists.hellug.gr, Apostolos Mpessas
, rou...@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 rou...@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.

Christos Ricudis

unread,
Dec 17, 2009, 7:48:25 AM12/17/09
to Apostolos Mpessas, linux-gr...@lists.hellug.gr

>> οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ (οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ MxN);
>>
>
> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ MxN. οΏ½οΏ½οΏ½οΏ½ tags οΏ½οΏ½ photos? οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ id οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ tags?


Otan oi sxeseis den einai monoshmantes h einai MxN kai den ksereis to N,
mporei na xreiazetai na to kaneis :

photoID, photoName
1, patates.jpg
2, patates-kai-maroulia.jpg
3, maroulia-monaxoulia-tous.jpg

tagID, tagNAME
1, patates
2, maroulia

photoID, tagID
1, 1
2, 1
2, 2
3, 2

Profanws o teleytaios pinakas den xreiazetai artificial keys

Apostolos Mpessas

unread,
Dec 17, 2009, 7:56:18 AM12/17/09
to linux-gr...@lists.hellug.gr, rou...@di.uoa.gr, Christos Ricudis
On Thu 17 of Dec 2009 13:43:56 rou...@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 rou...@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);
Οι τιμές είναι συγκεκριμένες.

> 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 να καθορίζει το σχήμα της βάσης;

> 3) Eidika stin periptosi ton domain names, ti tha kaneis me ta
> international domain names se UTF8;
>

Ενδεχομένως να αγνοώ κάτι, αλλά δεν σε πιάνω. Τα TLD είναι συγκεκριμένα (com,
net, gr, uk, ...).

> > Σε ένα πίνακα με τους νομούς της χώρας (όπου σε μια συσχέτιση με πόλεις
> > έχεις

> > σχέση MxN);


>
> Prosopikos kai se auti tin periptosi tha xrisimopoiousa numeric IDs, an
> mporousa.
>

Υπάρχει διαφορά μεταξύ "θα χρησιμοποιούσα" και "ποτέ, ποτέ, μα ποτέ". Το πρώτο
το δέχομαι (και σε πολλές περιπτώσεις είναι το σωστό). Αλλά, υπάρχουν και
περιπτώσεις που δε συμφέρει, όπως για λόγους απόδοσης (hint: γλυτώνεις ένα
join).

Αποστόλης

Apostolos Mpessas

unread,
Dec 17, 2009, 8:00:08 AM12/17/09
to Christos Ricudis, linux-gr...@lists.hellug.gr, rou...@di.uoa.gr
On Thu 17 of Dec 2009 14:40:20 Christos Ricudis wrote:
> 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.
>

Συμφωνούμε απόλυτα.

Αποστόλης

rou...@di.uoa.gr

unread,
Dec 17, 2009, 9:26:12 AM12/17/09
to Apostolos Mpessas, linux-gr...@lists.hellug.gr, Christos Ricudis, rou...@di.uoa.gr

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

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


George Zarogiannis

unread,
Dec 17, 2009, 9:31:01 AM12/17/09
to Emmanouil Batsis (Manos), linux-gr...@lists.hellug.gr
Εδώ δεν μπορούμε να ξεκολλήσουμε από τα greeklish... Εσάς σας προβληματίζει το character set;

:-)


2009/12/17 Emmanouil Batsis (Manos) <ma...@abiss.gr>

Christos Ricudis

unread,
Dec 17, 2009, 11:11:52 AM12/17/09
to George Zarogiannis, linux-gr...@lists.hellug.gr, Emmanouil Batsis (Manos)
, George Zarogiannis wrote:

> Εδώ δεν μπορούμε να ξεκολλήσουμε από τα greeklish... Εσάς σας
> προβληματίζει το character set;


...8elete n'arxisw na grafw UTF-8 greeklish? :>

rou...@di.uoa.gr

unread,
Dec 17, 2009, 12:50:01 PM12/17/09
to Christos Ricudis, linux-gr...@lists.hellug.gr, George Zarogiannis, Emmanouil Batsis
Christos Ricudis wrote:
> , George Zarogiannis wrote:
>
>> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ greeklish... οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
>> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ character set;

>
>
> ...8elete n'arxisw na grafw UTF-8 greeklish? :>

Mporeis na to kaneis kai me ASCII art;

-Stathis

Giorgos Keramidas

unread,
Dec 17, 2009, 12:38:53 PM12/17/09
to rou...@di.uoa.gr, Christos Ricudis, linux-gr...@lists.hellug.gr, George Zarogiannis, ma...@abiss.gr
On Thu, 17 Dec 2009 19:50:01 +0200 (EET), rou...@di.uoa.gr wrote:
>Christos Ricudis wrote:
>> ...8elete n'arxisw na grafw UTF-8 greeklish? :>
>
> Mporeis na to kaneis kai me ASCII art;

Είμαι σίγουρος ότι ο Χρήστος μπορεί άνετα να στο κάνει και με APL
σύμβολα σε EBCDIC κωδικοποίηση ή, ας πούμε, σε 36-bit based σετ
χαρακτήρων από Honeywell 6000. *Δε* θέλεις να τον προκαλέσεις ;-)

Vangelis Katsikaros

unread,
Dec 17, 2009, 12:48:42 PM12/17/09
to linux-gr...@lists.hellug.gr
George Zarogiannis wrote:
> Εδώ δεν μπορούμε να ξεκολλήσουμε από τα greeklish... Εσάς σας προβληματίζει
> το character set;
>
> :-)
>
>
> 2009/12/17 Emmanouil Batsis (Manos) <ma...@abiss.gr>
>
>> Theodore Lytras wrote:
>>
>> Δηλαδή επιτέλους, για να καταλάβω μιας και δεν είμαι τεχνικός, υπάρχει
>>> κάποιος σοβαρός λόγος να μη χρησιμοποιούμε όλοι utf8 στα email μας για
>>> να τελειώνουμε μ'αυτό το αυτομαστίγωμα?
>>>
>> +1. Μου έχει μείνει όμως η συνήθεια να χρησιμοποιώ το ISO γιατί το UTF8 δεν
>> αναγνωριζόταν αυτόματα από κάτι παραλήπτες outlook...

Ki emena akrivos to idio. Alla den exo idea apo poia ekdosh kai meta to
eftiaksan (dld pisteuo pos prepei na to eftiaksan).

Exei kaneis idea gia to thema?

PS sorry Mano, prin esteila tin apantisi mono se sena :P

Nick Demou

unread,
Dec 17, 2009, 5:32:58 PM12/17/09
to Vangelis Katsikaros, linux-gr...@lists.hellug.gr
>>>>  Δηλαδή επιτέλους, για να καταλάβω μιας και δεν είμαι τεχνικός, υπάρχει
>>>> κάποιος σοβαρός λόγος να μη χρησιμοποιούμε όλοι utf8 στα email μας για
>>>> να τελειώνουμε μ'αυτό το αυτομαστίγωμα?
>>>>
>>> +1. Μου έχει μείνει όμως η συνήθεια να χρησιμοποιώ το ISO γιατί το UTF8
>>> δεν αναγνωριζόταν αυτόματα από κάτι παραλήπτες outlook...
>
> Ki emena akrivos to idio. Alla den exo idea apo poia ekdosh kai meta to
> eftiaksan (dld pisteuo pos prepei na to eftiaksan).
>
> Exei kaneis idea gia to thema?

Έδω και χρόνια (>=3) έχω utf-8 encoding μόνιμα, επικοινωνώ με πάρα
πολύ κόσμο (95% windows users) και δεν έχω πρόβλημα με κανέναν
Επίσης λαμβάνω τα πάντα χωρίς πρόβλημα με μόνο encoding να με
δυσκολεύει το ISO-1821-greeklish αλλά από σεβασμό στους ιδιοκτήτες
comodore δεν το κάνω θέμα.

V13

unread,
Dec 18, 2009, 6:45:38 AM12/18/09
to linux-gr...@lists.hellug.gr, Christos Ricudis, Apostolos Mpessas, rou...@di.uoa.gr
On Thursday 17 of December 2009, Christos Ricudis wrote:
> (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)

OK :-)

Epitrepetai omos mia mikri prostihki/dieykrinisi pros osoys den proseksan ta
aytakia sto "xaraktiras":

To "xaraktiras" einai mia leksi poy legetai eykola alla perigrafetai dyskola.
Yparxoyn p.x. arketes diaforetikes payles kai arketa "omikron"-o-eides: ⲟⲞОO.
Eksetias aytoy, einai problima to na eksasfaliseis oti mporeis na peis oti
"ayto" to URL einai to idio me "ayto" to URL me to mati.

Sto parakato exei orismena oraia paradeigmata:

* http://unicode.org/reports/tr36/#visual_spoofing
* http://www.unicode.org/reports/tr39/

Kai ta master-index:

* http://www.unicode.org/reports/tr39/data/intentional.txt
* http://www.unicode.org/reports/tr39/data/confusables.txt

Eidika gia ta ellhnika, mporoyme na poyme oti exoyn despozoysa thesi :-)

<<V13>>

V13

unread,
Dec 18, 2009, 6:50:54 AM12/18/09
to linux-gr...@lists.hellug.gr, rou...@di.uoa.gr, Giorgos Keramidas
On Wednesday 16 of December 2009, rou...@di.uoa.gr wrote:
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
> οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ *οΏ½οΏ½οΏ½οΏ½* οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ strings οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.

Giati?

Apo dikia moy empeiria, pera ton baseon, mporo na po oti ta strings mporeis na
ta kaneis para poly oraio indexing, toso sketa oso kai me hashing.

Oson afora tis baseis: An skopeveis na kaneis syxnh taksinomisi me basi kapoio
string pedio mallon tha exeis idi ena index gia ayto to pedio, opote kai den
allazei kati me to na to exeis os kleidi/unique h os meros kleidioy/unique
(edo mplekei ligo).

<<V13>>

V13

unread,
Dec 18, 2009, 6:53:47 AM12/18/09
to linux-gr...@lists.hellug.gr, rou...@di.uoa.gr, Christos Ricudis, ma...@abiss.gr, George Zarogiannis
On Thursday 17 of December 2009, rou...@di.uoa.gr wrote:
> Christos Ricudis wrote:
> > , George Zarogiannis wrote:
> >> οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ greeklish... οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½
> >> οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ character set;

> >
> > ...8elete n'arxisw na grafw UTF-8 greeklish? :>
>
> Mporeis na to kaneis kai me ASCII art;

$ banner mporei

# # ##### #### ##### ###### #
## ## # # # # # # # #
# ## # # # # # # # ##### #
# # ##### # # ##### # #
# # # # # # # # #
# # # #### # # ###### #

0 new messages