<?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>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74804.aspx</link><pubDate>Fri, 20 Dec 2013 20:05:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74804</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74804.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74804</wfw:commentRss><description>&lt;P&gt;Όταν το μέγεθος τις εικόνας σου για &lt;STRONG&gt;αποθήκευση&lt;/STRONG&gt; είναι &amp;lt;=1ΜΒ, τότε η αποθήκευση της εικόνας στην βάση δεν είναι λάθος. Μάλιστα είναι πιο γρήγορη στην ανάγνωση από FILESTREAM και από Win32 API.&lt;/P&gt;
&lt;P&gt;Επίσης αν το μέγεθος είναι μέσα στο όριο που ανέφερα η αποθήκευση στην βάση είναι επίσης πιο γρήγορη από FILESTREAM και Win32 API. Αν οι φωτογραφίες διαγράφονται, αλλάζουν με ένα πιο συχνό ρυθμό τότε εδώ τα πράγματα δεν είναι τόσο απλά. Για εικόνες κάτω από 1ΜΒ νομίζω το FILESTREAM εξακολουθεί να υστερεί, δεν το έχω δει και δεν έχω ψάξει να βρω κάποιο benchmark στο internet. &lt;/P&gt;
&lt;P&gt;Δεν είναι λάθος το FILESTREAM, αλλά αν οι εικόνες είναι μικρές δεν έχεις να κερδίσεις κάτι από την χρήση του. Αν όμως είναι πάνω από 1MB τότε ακολούθα ότι σωστά σου έχει προταθεί.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74798.aspx</link><pubDate>Wed, 18 Dec 2013 21:33:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74798</guid><dc:creator>kostasvit</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74798.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74798</wfw:commentRss><description>&lt;p&gt;ευχαριστώ για την απάντηση&lt;/p&gt;&lt;p&gt;αν σε βοηθάει, αυτό που θέλω να κάνω είναι, να φτιάξω μια σελίδα διαχειριστή όπου θα μπαίνει μέσα και θα ανεβάζει ένα image, ένα μικρό κείμενο και μετά θα αποθηκεύει στην βάση , ανάλογα ποια κατηγορία θα έχει επιλέξει. Και μετά αυτές οι εικόνες και το κείμενο θα ανεβαίνουν σε μία άλλη σελίδα όπου θα υπάρχουν οι κατηγορίες και θα μπορεί να επιλέξει ο χρήστης ποια κατηγορία θέλει και να του εμφανίζει της αντίστοιχες εικόνες.&lt;/p&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74796.aspx</link><pubDate>Wed, 18 Dec 2013 20:28:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74796</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74796.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74796</wfw:commentRss><description>&lt;p&gt;Και επειδή με το filestream έχω φάει τα μουστάκια μου και έχω ήδη βάση που είναι 60ΤΒ κυρίως με τέτοια δεδομένα.&lt;/p&gt;&lt;p&gt;Υπάρχει ένα&amp;nbsp;συμβουλευτικό ποστ &lt;a href="http://www.sqlschool.gr/blog/filestream-best-practices-from-usage-and-experience-942.aspx"&gt;http://www.sqlschool.gr/blog/filestream-best-practices-from-usage-and-experience-942.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74795.aspx</link><pubDate>Wed, 18 Dec 2013 20:12:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74795</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74795.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74795</wfw:commentRss><description>&lt;p&gt;Εχεις δίκιο Παναγιώτη. Βιαστικός όπως πάντα, δεν το πρόσεξα, διάβασα διαγώνια. :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74794.aspx</link><pubDate>Wed, 18 Dec 2013 19:57:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74794</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74794.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74794</wfw:commentRss><description>&lt;p&gt;Γι αυτό κι εγώ έγραψα *FILESTREAM*. Αυτό ακριβώς κάνει, *δεν* αποθηκεύει μέσα στη βάση αλλά σε εξωτερικό folder&lt;/p&gt;&lt;p&gt;&amp;nbsp;BTW, πότε να ξεφορτωθούμε αυτό τον editor που δεν παίζει σε Chrome και να βάλουμε κάτι σε markdown, όπως στο StackOverflow? Σπάζομαι πλέον κάθε φορά να ανοίγω το HTML&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74793.aspx</link><pubDate>Wed, 18 Dec 2013 19:12:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74793</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74793.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74793</wfw:commentRss><description>&lt;p&gt;Παναγιώτη, η αποθήκευση εικόνων σε βάση, ειδικά σε σενάρια web sites είναι μια πρακτική η οποία δεν θα ενθάρρυνα. Πρώτον, γιατί βάσει των πλάνων φιλοξενίας πολλές φορές χρησιμοποιούνται express εκδόσεις των SQL Servers με περιορισμούς ως προς το μέγεθος της βάσης, η οποία μπορεί να μεγαλώσει πάρα πολύ αν αποθηκεύονται binary data σε αυτην. Δεύτερον, γιατί με file-based αποθήκευση διευκολύνεται πολύ η χρήση on-the-fly resizers (imageresizing.net, imagegen κλπ).&amp;nbsp;&lt;/p&gt;&lt;p&gt;Σχετικά με το ερώτημα του συναδέλφου: Θα πρέπει να κρατάς το schema της database όσο γίνεται σταθερότερο. Το να φτιάχνεις ένα καινούριο πίνακα, πανομοιότυπο με τους προηγούμενους, για κάθε κατηγορία, δεν είναι αποτελεσματικό. Τι θα γίνει αν θέλεις να εμφανίσεις όλες τις εικόνες που ανήκουν σε κατηγορίες που θα έχει επιλέξει κάθε φορά ο χρήστης; Τι θα γίνει αν μια εικόνα ανήκει σε παραπάνω από μία κατηγορίες;&lt;/p&gt;&lt;p&gt;Η καλύτερη προσέγγιση που μπορείς να κάνεις είναι να φτιάξεις ένα πίνακα εικόνων και ένα πίνακα κατηγοριών. Και οι δύο πρέπει να έχουν ένα primary key (id) που θα χαρακτηρίζει μοναδικά κάθε εγγραφή. Επειτα, θα πρέπει να δημιουργήσεις έναν ενδιάμεσο πίνακα συσχέτισης (junction table) όπου κάθε εγγραφή του θα περιέχει το id της εικόνας και το id της κατηγορίας που ανήκει αυτή. Με αυτό τον τρόπο, καλύπτεις όλα τα σενάρια: Μπορείς να ορίσεις όσες κατηγορίες θέλεις, μπορείς να αντιστοιχείς μια εικόνα σε μια ή περισσότερες κατηγορίες (κάθε αντιστοίχιση θα είναι μια εγγραφή στον ενδιάμεσο πίνακα), μπορείς ακόμα και να έχεις εικόνες που δεν ανήκουν σε κατηγορία. &lt;/p&gt;&lt;p&gt;Μια πιό απλή προσέγγιση, η οποία όμως σε περιορίζει στο ότι θα πρέπει να έχεις μόνο μία κατηγορία στην οποία να ανήκει η εικόνα, είναι να πας με δύο πίνακες: Ενα πίνακα κατηγοριών και ένα πίνακα εικόνων όπου σε καθε εγγραφή ένα πεδίο θα περιέχει το id της κατηγορίας στην οποία ανήκει η εικόνα. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74792.aspx</link><pubDate>Wed, 18 Dec 2013 18:47:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74792</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74792.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74792</wfw:commentRss><description>&lt;p&gt;Το ότι περιέχουν εικόνες δεν παίζει ρόλο στο αν θα έχεις ένα ή πολλούς πίνακες. Με δεδομένο μάλιστα ότι οι κατηγορίες αλλάζουν, θα ήταν πολύ δύσκολο να φτιάχνεις ένα νέο πίνακα κάθε φορά που θέλεις να προσθέσεις κατηγορία - και να ανανεώσεις όλα τα queries, views που φορτώνουν εικόνες.&lt;/p&gt;
&lt;p&gt;Το ουσιαστικό είναι το που και πως θα αποθηκεύσεις τις εικόνες. Αν θέλεις να τις αποθηκεύσεις στη βάση, θα πρέπει να ενεργοποιήσεις το &lt;a href="http://technet.microsoft.com/en-us/library/gg471497.aspx"&gt;FILESTREAM storage&lt;/a&gt;&amp;nbsp;για να αποθηκευτούν οι εικόνες στο σκληρό έξω από τη βάση. Έτσι πετυχαίνεις πολύ γρηγορότερο read και ευκολότερη διαχείριση. Χωρίς το FILESTREAM ο SQL Server πρέπει πρώτα να διαβάσει όλη την εικόνα από το σκληρό και μετά να σου τη στείλει. Με το FILESTREAM, στην ουσία σου επιστρέφει ένα stream στο αρχείο και σε αφήνει να διαβάσεις τα δεδομένα απευθείας.&lt;/p&gt;&lt;p&gt;Διαφορετικά, θα ήταν καλύτερο να αποθηκεύσεις μόνο τα path των εικόνων στη βάση και τις ίδιες τις εικόνες να τις αποθηκεύσεις σε κάποιο folder. Βέβαια, το FILESTREAM αυτό ακριβώς κάνει (συν την ευκολία στο backup, &amp;nbsp;transaction management κλπ)&lt;/p&gt;</description></item><item><title>database for images</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/74790.aspx</link><pubDate>Tue, 17 Dec 2013 19:39:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:74790</guid><dc:creator>kostasvit</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/74790.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=74790</wfw:commentRss><description>&lt;p&gt;καλημέρα,&lt;/p&gt;&lt;p&gt;ήθελα να ρωτήσω, έχω μια σελίδα όπου κάποιος χρήστης(administrator) θα μπορεί να κάνει upload φωτογραφίες σε μια ιστοσελίδα όπου αυτές θα αποθηκεύονται σε μια βάση.&lt;/p&gt;&lt;p&gt;απλά επειδή θα υπάρχουν κατηγορίες για της φωτογραφίες, πως θα ήταν καλύτερο, να έκανα από ένα table για κάθε κατηγορία ή να κάνω ένα για όλες της κατηγορίες;&lt;/p&gt;</description></item></channel></rss>