<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44140.aspx</link><pubDate>Sun, 17 Aug 2008 02:01:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44140</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44140.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44140</wfw:commentRss><description>Όπως το φαντάζομαι εγώ δεν πρέπει να είναι πολύ δύσκολο.&lt;br&gt;&lt;br&gt;Θα πρέπει να βάλεις ένα trigger στην βάση, όπου θα τρέχει κάθε φορά που προσθέτεις ένα row στους πίνακες hotel, article, photos κτλ...&lt;br&gt;Αυτό που θα γίνεται είναι να προσθέτει ένα νέο ID στον πίνακα Entities και στην συνέχεια θα βάζει αυτό το ID σε εκείνο το row που πρόσθεσες, με αποτέλεσμα να υπάρχει ένα column με μοναδικό ID στους πίνακες hotel, article, photos κτλ...&lt;br&gt;&lt;br&gt;Τώρα που το διαβάζω, μου φαίνεται ότι η βάση θα κάνει πολύ δουλειά για το (σχεδόν) τίποτα...&lt;br&gt;Έτσι γίνεται ή υπάρχει πιο εύκολος τρόπος?&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44131.aspx</link><pubDate>Fri, 15 Aug 2008 21:10:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44131</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44131.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44131</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;MakisCE:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;P&gt;Η απορία μου παραμένει, αν αυτό που πρότεινα (βλ. διάγραμμα) έχει δυσκολία στο Insert&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;"πιθανόν να είναι μπελάς στο insert ενός Article/Hotel/etc, &lt;BR&gt;μιας και πρώτα πρέπει να μπει εγγραφή στο CommentableEntities και το ID Που θα πάρει εκεί, θα είναι το uniqueID (foreign key) στον Articles πχ."&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Εννοείς ότι υπάρχει πρόβλημα να ξέρεις ποιο είναι το νέο ID που έχει το record που μόλις πρόσθεσες; Υπάρχουν λύσεις για αυτό...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Δεν το&amp;nbsp;προσδιορίζει η βάση, το&amp;nbsp;υπολογίζεις και εισάγεις εσύ στην βάση, άρα το ξέρεις εκ των προτέρων&lt;/LI&gt;
&lt;LI&gt;Μπορείς να χρησιμοποιήσεις ένα store procedure να σου κάνει την εγγραφή στον πίνακα που θες, και αυτό είναι σε θέση να σου γυρίσει το ID&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44130.aspx</link><pubDate>Fri, 15 Aug 2008 19:48:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44130</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44130.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44130</wfw:commentRss><description>&lt;P&gt;Συμφωνώ και επαυξάνω&lt;/P&gt;
&lt;P&gt;αν και η τάση είναι για [user|search]-friendly-urls που ενδείκνυνται για web εφαρμογές.. αλλά αυτό προχωράει ακόμα περισσότερο&lt;BR&gt;π.χ. &lt;BR&gt;/hotels.aspx?id=141&amp;nbsp;&amp;nbsp;&amp;nbsp;(int, OK)&lt;BR&gt;/hotels.aspx?id=7BE3D24CE5-F2A0-4B16-A39C-7AB17525F07C&amp;nbsp; (guid, ugly)&lt;BR&gt;/hotels.aspx?hid=dotnetseaview&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(human readable unique key, made automatically or by human entry, better)&lt;BR&gt;/hotels/dotnetseaview&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(url rewriting, mvc frameworks &amp;amp; routing, nice &amp;amp; friendly)&lt;/P&gt;
&lt;P&gt;οπότε μια καλή λύση είναι τα GUIDs, χωρίς έξτρα πίνακες, (μόνο Comments και Hotels/Articles/...) αρκεί να μπορείς να έχεις και custom κλειδιά&lt;/P&gt;
&lt;P&gt;Η απορία μου παραμένει, αν αυτό που πρότεινα (βλ. διάγραμμα) έχει δυσκολία στο Insert&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;"πιθανόν να είναι μπελάς στο insert ενός Article/Hotel/etc, &lt;BR&gt;μιας και πρώτα πρέπει να μπει εγγραφή στο CommentableEntities και το ID Που θα πάρει εκεί, θα είναι το uniqueID (foreign key) στον Articles πχ."&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44128.aspx</link><pubDate>Fri, 15 Aug 2008 18:34:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44128</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44128.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44128</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;MakisCE:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;P&gt;με χρήση GUID είναι ένας τρόπος&lt;BR&gt;έχει το κόστος του όμως, και είναι άσχημος αν πρέπει να εμφανίσεις το GUID, πχ.&amp;nbsp;articles.aspx?id=7BE3D24CE5-F2A0-4B16-A39C-7AB17525F07C&amp;nbsp; &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-3.gif" alt="Surprise" /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Μπορείς να κάνεις και άλλα πράγματα:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Για να φτάσεις σε μια εγγραφή πρέπει να έχεις ένα μοναδικό κλειδί. Σε αυτή την περίπτωση, αυτό που έχεις "&lt;EM&gt;έτοιμο και σερβιρισμένο&lt;/EM&gt;" είναι το primary key του table σου. Αυτό δεν σε εμποδίζει να φτιάξεις ένα δεύτερο, ή ένα τρίτο μοναδικό κλειδί. Θα μπορούσες να χρησιμοποιήσεις ένα τίτλο, περιγραφή, για να φτιάξεις κάτι που είναι καλύτερα human readable unique key, και από το unique intendifier και από αριθμό. Είναι μια στάνταρντ τεχνική που όλο και περισσότερα weblog engines υιοθετούν τον τελευταίο καιρό...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44122.aspx</link><pubDate>Fri, 15 Aug 2008 01:37:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44122</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44122.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44122</wfw:commentRss><description>&lt;P&gt;αλήθεια, υπάρχει άλλος τρόπος να έχεις "unique keys across (some) tables"?&lt;BR&gt;(χωρίς χρήση stored proc, triggers, κλπ)&lt;/P&gt;
&lt;P&gt;-- edit--&lt;/P&gt;
&lt;P&gt;απαντάω μόνος μου για να μη κάνω κι άλλο post&lt;/P&gt;
&lt;P&gt;με χρήση GUID είναι ένας τρόπος&lt;BR&gt;έχει το κόστος του όμως, και είναι άσχημος αν πρέπει να εμφανίσεις το GUID, πχ.&amp;nbsp;articles.aspx?id=7BE3D24CE5-F2A0-4B16-A39C-7AB17525F07C&amp;nbsp; &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-3.gif" alt="Surprise" /&gt;&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44121.aspx</link><pubDate>Fri, 15 Aug 2008 01:35:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44121</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44121.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44121</wfw:commentRss><description>&lt;P&gt;&lt;IMG src="http://www.dotnetzone.gr/cs/photos/general/images/44120/500x187.aspx"&gt;&lt;/P&gt;
&lt;P&gt;σχεδιάγραμμα αυτού που πρότεινα&lt;/P&gt;
&lt;P&gt;το 4) του cap το έχω χρησιμοποιήσει και μου έχει σπάσει τα νεύρα με τα where typeID=X Που πρέπει να βάζεις συνέχεια.&lt;/P&gt;
&lt;P&gt;αυτό που προτείνω δεν το έχω χρησιμοποιήσει (!) πιθανόν να είναι μπελάς στο insert ενός Article/Hotel/etc, &lt;BR&gt;μιας και πρώτα πρέπει να μπει εγγραφή στο CommentableEntities και το ID Που θα πάρει εκεί, θα είναι το uniqueID (foreign key) στον Articles πχ.&lt;/P&gt;
&lt;P&gt;Το δικό σου&amp;nbsp;(1) πάντως (ξεχωριστοί Comments πίνακες για κάθε οντότητα), είναι κατά τη γνώμη μου το χειρότερο..&lt;BR&gt;-- εντελώς αντίθετο από DRY (Dont repeat yourself) principles, και το βρίσκεις συνέχεια μπροστά σου να σου θυμίζει τη μ...ία επιλογή που έκανες! LOL&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44119.aspx</link><pubDate>Fri, 15 Aug 2008 01:23:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44119</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44119.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44119</wfw:commentRss><description>Αχαα, κατάλαβα!&lt;br&gt;Απλά θα πρέπει το ID αυτού του πίνακα να αυξάνεται κάθε φορά που προσθέτουμε οτιδήποτε.&lt;br&gt;Είναι πιο εύχρηστη αυτή η μέθοδος από την 4 του cap?&lt;br&gt;Χρησιμοποιείται σε μεγάλες εφαρμογές?&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44118.aspx</link><pubDate>Fri, 15 Aug 2008 01:19:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44118</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44118.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44118</wfw:commentRss><description>&lt;P&gt;spiro, αυτό που πρότεινα, υλοποιεί στην ουσία αυτό που περιέγραψε και ο cap sto 1)&lt;/P&gt;
&lt;P&gt;"Αν έχεις ένα πραγματικα μοναδικό, database-wide primary key το οποίο δεν υπάρχει περίπτωση να επαναληφθεί πουθενά, τότε μπορείς να χρησιμοποιήσεις αυτό το key ως foreign key στον πίνακα των σχολίων σου και να υλοποιήσεις τα σχόλια με τη χρήση ενός και μόνο πίνακα."&lt;/P&gt;
&lt;P&gt;O CommentableEntities πίνακας&amp;nbsp;, με πεδίο μόνο ένα ID, δίνει ένα database-wide primary key σε όσες οντότητες θέλουμε να παίρνουν comments.&lt;/P&gt;
&lt;P&gt;αργότερα θα ανεβάσω κάπου κι ενα database diagram που είχα φτιάξει εχθές&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44112.aspx</link><pubDate>Thu, 14 Aug 2008 22:38:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44112</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44112.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44112</wfw:commentRss><description>Σας ευχαριστώ όλους!&lt;br&gt;&lt;br&gt;Αυτό όμως που δεν έχω καταλάβει είναι ο τρόπος που πρότεινε ο MakisCE...&lt;br&gt;Αν μπορείς εξήγησέ τον!&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44110.aspx</link><pubDate>Thu, 14 Aug 2008 21:54:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44110</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44110.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44110</wfw:commentRss><description>&lt;br&gt;Δεν υπάρχει, κατά την άποψή μου, καλύτερος και χειρότερος τρόπος, όλα εξαρτώνται από τις δυνητικές απαιτήσεις του περιβάλλοντος το οποίο θέλεις να υλοποιήσεις.&lt;br&gt;&lt;br&gt;Ας δούμε λίγο τα δεδομένα μας:&lt;br&gt;&lt;br&gt;Το πρόβλημά σου είναι οτι έχεις ένα μάτσο πίνακες με διάφορες οντότητες (ξενοδοχεία, φωτογραφίες κλπ) οπου, φυσικά, ο καθένας έχει primary key αλλά αυτό το primary key δεν είναι μοναδικό στο σύνολο των πινάκων, με αποτέλεσμα δυο διαφορετικές οντότητες (που εκφράζονται από δύο διαφορετικούς πίνακες) να ενδέχεται να έχουν το ίδιο primary key. Γι'αυτό και η λύση του να χρησιμοποιήσεις το id της οντότητας σε ένα και μοναδικό πίνακα που κρατάει τα σχόλια δεν είναι εφικτή.&lt;br&gt;&lt;br&gt;Οι πιθανές λύσεις είναι:&lt;br&gt;1. Αλλαγή του data type των primary keys των οντοτήτων που σε ενδιαφέρουν σε κάτι πραγματικά unique (uniqueidentifier ή ένα calculated field που θα προκύπτει από το identity αλλά θα παίρνει και κάποιο πρόθεμα ανάλογα με τον πίνακα - τζιζ). Αν έχεις ένα πραγματικα μοναδικό, database-wide primary key το οποίο δεν υπάρχει περίπτωση να επαναληφθεί πουθενά, τότε μπορείς να χρησιμοποιήσεις αυτό το key ως foreign key στον πίνακα των σχολίων σου και να υλοποιήσεις τα σχόλια με τη χρήση ενός και μόνο πίνακα.&lt;br&gt;2. Χρήση ενός πίνακα σχολίων για κάθε οντότητα που σχολιάζεται, στην ουσία δηλαδή "ζευγάρια" πινάκων - ενας για την οντότητα, ένας για τα σχόλια. Πρακτικό μεν, πολύ δουλειά όμως για τα διαφορετικά queries στα οποία τελικά αλλάζουν μόνο δύο ονόματα πινάκων, συν καθόλου ελαστικότητα στην περίπτωση προσθήκης νέων οντοτήτων στο σύστημα.&lt;br&gt;3. Χρήση ενός πίνακα σχολίων για όλες τις οντότητες, αλλά με αρκετές κολώνες που λειτουργούν σαν foreign keys, μια για κάθε οντότητα που έχεις στο σύστημά σου και μπορεί να σχολιαστεί. Πρακτικά επαρκές, ανελαστικό όμως όπως και το (2) συν το οτι έχεις λιγοστούς τρόπους να εξασφαλίσεις integrity αν τυχόν γραφτεί τιμή σε παραπάνω από ένα πεδίο σε ένα record. &lt;br&gt;4. Χρήση ενός πίνακα σχολίων για όλες τις οντότητες, με ένα επιπρόσθετο πεδίο το οποίο υποδεικνύει την οντότητα που αφορά η συγκεκριμένη γραμμή (και απαραίτητα ένα index εκεί επάνω). Π.χ. "H" για ξενοδοχεία, "P" για φωτογραφίες. Ετσι, ανάλογα με ποιά οντότητα ασχολείσαι, μπορείς να έχεις ένα WHERE στα queries σου του στυλ WHERE id=xxx AND type=y οπου θα είσαι σίγουρος οτι θα επιστρέφεται μόνο μια εγγραφή τη φορά. Ευέλικτο, ανοικτό στην προσθήκη νέων οντοτήτων, αλλά απαιτεί την αυθαίρετη παραδοχή οτι θα συμβολίζεις κάθε οντότητα με ένα "καρφωτό" σύμβολο (γραμμα, αριθμό κλπ).&lt;br&gt;&lt;br&gt;&lt;br&gt;Προσωπικά, αν είχα τη δυνατότητα, θα προτιμούσα τη λύση (1), ενώ αν δεν την είχα λόγω συνθηκών θα προτιμούσα αμέσως μετά τη λύση (4).&lt;br&gt;&amp;nbsp;&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44108.aspx</link><pubDate>Thu, 14 Aug 2008 21:34:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44108</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44108.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44108</wfw:commentRss><description>Λοιπόν, σε κάποια σελίδα πχ Photos.aspx υπάρχουν φωτογραφίες όπου κάποιος μπορεί να βάλει comments, σε κάποια άλλη σελίδα πχ Hotels.aspx (τα hotels είναι άσχετα με τις photos), κάποιος μπορεί να βάλει comments σε ξενοδοχεία, σε κάποια άλλη σελίδα υπάρχουν άρθρ, όπου κάποιος μπορεί να βάλει comments (τα άρθρα είναι άσχετα με τα ξενοδοχεία και τις φωτογραφίες...) κτλ....&lt;br&gt;Προφανώς όταν κάποιος ανοίγει κάποια σελίδα, εκτός από τις φωτογραφίες ή τα ξενοδοχεία κτλ, θα εμφανίζονται και τα comments που έχουν σχέση με το αντικείμενο που βλέπει (photo ή hotel ή article κτλ).&lt;br&gt;&lt;br&gt;Αν τελικά χρησιμοποιήσουμε την δεύτερη μέθοδο, θα πρέπει να υπάρχει κάποιο ID, όπου να μας λέει ότι θέλουμε τα comments για photos (πχ ID=2) και επίσης ότι θέλουμε τα comments για την συγκεκριμένη photo (πχ photoID=3).&lt;br&gt;Δεν μπορούμε να βάλουμε απλά ID=5, διότι μπορεί να υπάρχει photoID=5, αλλά και HotelID=5.&lt;br&gt;Κάτι σαν 2 Keys σε ένα πίνακα (τον Comment).&lt;br&gt;Ελπίζω να σε διαφώτησα...&lt;br&gt;&lt;br&gt;Η βασική μου ερώτηση είναι πως μπορεί να υλοποιηθεί κάτι παρόμοιο.&lt;br&gt;Ποιά είναι η καλύτερη μέθοδος?&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44106.aspx</link><pubDate>Thu, 14 Aug 2008 21:13:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44106</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44106.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44106</wfw:commentRss><description>&lt;P&gt;Η δεν κατάλαβα καλά, ή δεν έχει ξεκαθαριστεί το ζητούμενο:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ωραία και έχω ένα σχόλιο. Τι είναι αυτό που με ενδιαφέρει σχετικά με το σχόλιο;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Να μπορώ να βρω για ένα item σε σχέση με το mainID του τι σχόλια έχει;&lt;/LI&gt;
&lt;LI&gt;Να μπορώ να ξέρω πόσα σχόλια υπάρχουν σε κάθε κατηγορία;&lt;/LI&gt;
&lt;LI&gt;Να μπορώ να δω ξεκάρφωτα σχόλια;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Υπάρχει κάτι άλλο που με ενδιαφέρει;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Δεν μπορώ να δω το λόγο που σώνει και καλά πρέπει να υπάρχει το typeID, με την προυπόθεση ότι κάθε τύπος έχει δικό table και όλα τα σχόλια ένα table...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44104.aspx</link><pubDate>Thu, 14 Aug 2008 19:16:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44104</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44104.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44104</wfw:commentRss><description>Καλημέρα!&lt;br&gt;Ο λόγος που έβαλα το typeID είναι ακριβώς αυτός που είπε ο MakisCE!&lt;br&gt;&lt;br&gt;Βασικά θα ήθελα να ξέρω αν υπάρχουν και άλλα μειωνεκτήματα με αυτούς τους τρόπους.&lt;br&gt;MakisCE, αν μπορείς εξήγησε λίγο περισσότερο το τελευταίο σου post, διότι με μπέρδεψες...&lt;br&gt;&lt;br&gt;Εγώ σκοφτόμουν ότι ο 1ος τρόπος που ανέφερα είναι πιο γρήγορος και σίγουρα με αυτόν είναι πιο οργανωμένα τα δεδομένα, διότι έχουμε τα comments σε διαφορετικούσ πίνακες.&lt;br&gt;Θα μπορούσα να γράψω μια συνάρτηση (ή stored procedure) όπου να παίρνει σαν όρισμα ένα string (όπως hotels, articles κτλ) κάπως έτσι:&lt;br&gt;function mpla(string x)&lt;br&gt;"INSERT INTO "+x+"VALUES ........"&lt;br&gt;είναι όμως σωστός προγραμματισμός αυτός?&lt;br&gt;&lt;br&gt;Με τον δεύτερο τρόπο, όλα είναι πιο αυτοματοποιημένα, αλλά και πάλι θα πρέπει να παιρνιέται μια παράμετρος string (όπως παραπάνω), αναλόγως αν κάνω add comment σε photo ή σε article. Έχει κανείς καμιά ιδέα?&lt;br&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44101.aspx</link><pubDate>Thu, 14 Aug 2008 13:01:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44101</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44101.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44101</wfw:commentRss><description>&lt;P&gt;μια λύση (δεν ξέρω πόσο valid είναι) θα μπορούσε να είναι η εξής:&lt;/P&gt;
&lt;P&gt;CommentableEntities -- id&lt;/P&gt;
&lt;P&gt;Hotels -- CommentableEntityID, name, rooms, location, ...&lt;/P&gt;
&lt;P&gt;Articles -- CommentableEntityID, title, content, publishDate, ...&lt;/P&gt;
&lt;P&gt;Comments -- id, CommentableEntityID, userID, content, ...&lt;/P&gt;
&lt;P&gt;Τοποθετούμε μια έξτρα ιεραρχία δηλαδή, όπου όλα τα entities που παίρνουν comments είναι CommentableEntities,&lt;BR&gt;και έτσι πάιρνουν ένα &lt;EM&gt;εννιαίο &lt;/EM&gt;id (unique, auto), κι έτσι το schema είναι κάπως έτσι:&lt;/P&gt;
&lt;P&gt;Comments &amp;lt;-- CommentableEntities &amp;lt;--&amp;gt; Hotels, Articles, etc&lt;/P&gt;
&lt;P&gt;δεν έχω ιδέα πόσο&amp;nbsp;στέκει το design αυτό, και&amp;nbsp;λαμβάνοντας υπόψιν&amp;nbsp;οτι ξημερώνει, δεν έχει και πολλές πιθανότητες &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;από τα enities (Hotels, κλπ) παίρνουμε κατευθείαν τα Comments (join στο CommentableEntityID),&lt;BR&gt;δεν ξέρω κατά πόσο θα είναι πονοκέφαλος στα insert ενός "CommentableEntity"&lt;/P&gt;</description></item><item><title>Απ: Πολλοί πίνακες ή ένας?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44100.aspx</link><pubDate>Thu, 14 Aug 2008 12:12:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44100</guid><dc:creator>MakisCE</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44100.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=44100</wfw:commentRss><description>&lt;P&gt;Γιώργο, ή δεν κατάλαβα καλά την απάντησή σου, ή υπάρχει το εξής πρόβλημα.&lt;/P&gt;
&lt;P&gt;αν δεν έχουμε typeID, παρά μόνο mainID, τότε το mainID με value=1 ας πούμε, δεν θα ξέρουμε αν είναι το PhotoID=1, ή το hotelID=1, κλπ&lt;/P&gt;
&lt;P&gt;σε παρόμοιο πρόβλημα, έχω 'κληρονομήσει' μια βάση που το λύνει με τον 2ο τρόπο του gspirou, αλλά πρέπει συνέχεια να βάζεις "WHERE typeID=3" (για Hotels ας πούμε) κλπ&lt;BR&gt;-- Ο πίνακας Types με κολώνες: typeID, typeName είναι σχεδόν προεραιτκός, απλά πληροφοριακός&lt;BR&gt;δεν μου είχε αρέσει αυτή η λύση...&lt;/P&gt;
&lt;P&gt;ίσως επανέλθω με κάτι ποιο επικοδομητικό!&lt;/P&gt;</description></item></channel></rss>