<?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>Απ: SQL και INDEXES</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9397.aspx</link><pubDate>Wed, 08 Feb 2006 20:54:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9397</guid><dc:creator>alexnir</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9397.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=9397</wfw:commentRss><description>ναι, συγνωμη για την καθυστερηση&lt;br&gt;ευχαριστω και παλι!</description></item><item><title>Απ: SQL και INDEXES</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9352.aspx</link><pubDate>Tue, 07 Feb 2006 23:31:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9352</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9352.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=9352</wfw:commentRss><description>Να κλείσουμε το θέμα αυτό ως "εχει επιλυθεί";</description></item><item><title>Απ: SQL και INDEXES</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9350.aspx</link><pubDate>Tue, 07 Feb 2006 22:39:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9350</guid><dc:creator>alexnir</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9350.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=9350</wfw:commentRss><description>Σε ευχαριστω πάρα πολύ για την απαντηση σου.&lt;br&gt;Ειλικρινα με βοήθησε.</description></item><item><title>Απ: SQL και INDEXES</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9337.aspx</link><pubDate>Tue, 07 Feb 2006 19:22:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9337</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9337.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=9337</wfw:commentRss><description>&lt;P&gt;Θα απαντήσω πρώτα στην τελευταία ερώτηση. Μπορείς να πάρεις το σχήμα της βάσης σε script αλλά μην περιμένεις να τρέξει σε MySQL χωρίς τροποποιήσεις. Καμμία βάση δεν έχει την ίδια διάλεκτο της SQL με μια άλλη, ενώ η διάλεκτος που χρησιμοποιεί η MySQL έχει και αρκετές ιδιομορφίες, καθώς δεν υποστηρίζουν όλες οι εκδόσεις της Foreign Keys και Constraints. Σχεδόν σίγουρα θα διαφέρουν οι εντολές CREATE DATABASE, οι τύπου που χρησιμοποιούν οι δύο βάσεις και&amp;nbsp;οι εντολές που χρησιμοποιεί η T-SQL για να ελέγξει αν υπάρχει ήδη κάποιος πίνακας. Το καλύτερο θα ήταν να φτιάξεις τα scripts και μετά να σβήσεις τις εντολές εκτός από CREATE TABLE, ALTER TABLE (μέσω αυτής δημιουργούνται τα relations, constraints), CREATE INDEX. &lt;/P&gt;
&lt;P&gt;Για να δημιουργήσεις το script ενός αντικειμένου στον SQL Server κάνεις δεξί κλικ επάνω του από τον Enterprise Manager και επιλέγεις "Generate Script" (ή κάτι τέτοιο, έχω SQL Server 2005 και διαφέρει από τον 2000 σε αυτό).&lt;/P&gt;
&lt;P&gt;Τώρα για τις άλλες ερωτήσεις: Πρώτα η εύκολη. Προσθέτωντας relations δεν κερδίζεις σε ταχύτητα. Γλυτώνεις όμως μεγάλους μπελάδες καθώς τα relations δεν επιτρέπουν να μπουν τιμές σε ένα πεδίο που δεν υπάρχουν και στον parent πίνακα. Π.χ. αν έχεις ένα πίνακα με παραγγελίες Orders και ένα πίνακα με προμηθευτές Suppliers και ορίσεις ένα foreign key από το πεδίο SupplierID του Orders στο SupplierID του Suppliers, δεν μπορείς να βάλεις στον πίνακα Orders μια τιμή SupplierID η οποία δεν υπάρχει και στον πίνακα Suppliers. Διαφορετικά θα ήσουν υποχρεωμένος να κάνεις τον έλεγχο εσύ ο ίδιος. &lt;BR&gt;&amp;nbsp; &amp;nbsp; Άσε που αν πας να καταλάβεις το σχήμα μιας βάσης χωρίς relations έχεις χάσει από χέρι. &lt;/P&gt;
&lt;P&gt;Τέλος, indexes μπορείς να δημιουργήσεις με διάφορους τρόπους. Μπορείς να το κάνεις με γραφικό τρόπο από τα properties ενός πίνακα στον Enterprise Manager ή από το διάγραμμα της βάσης,&amp;nbsp;ή χρησιμοποιώντας την εντολή CREATE INDEX. Το πως να σχεδιάσεις τα σωστά indexes υπάρχει στο κεφάλαιο &lt;A href="http://msdn.microsoft.com/library/en-us/createdb/cm_8_des_05_30s5.asp"&gt;Indexes &lt;/A&gt;του Books Online ενώ στο &lt;A href="http://msdn.microsoft.com/library/en-us/createdb/cm_8_des_05_8185.asp"&gt;Creating&amp;nbsp;an&amp;nbsp;Index &lt;/A&gt;περιγράφει πως να τα δημιουργήσεις είτε μέσω Enterprise Manager είτε με SQL εντολές.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Πρόσεχε μόνο να ορίσεις τα indexes που χρειάζεσαι και όχι περισσότερα. Indexes χρειάζονται στα πεδία που χρησιμοποιείς για αναζητήσεις και στα πεδία που χρησιμοποιείς για να συνδέσεις δύο πίνακες σε ένα join. Ένας τρόπος να βρεις τα σωστά indexes είναι να γράψεις τα query που θέλεις να τρέξουν πιο γρήγορα στον Query Analyzer, να τα επιλέξεις και μετά να εκτελέσεις τον Index Tuning Advisor. Αυτό το εργαλειάκι εντοπίζει ποιά indexes θα βοηθούσαν την γρηγορότερη εκτέλεση των queries, σου τα προτείνει και αν θέλεις, τα δημιουργεί κιόλας.&lt;/P&gt;</description></item><item><title>SQL και INDEXES</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9336.aspx</link><pubDate>Tue, 07 Feb 2006 17:27:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9336</guid><dc:creator>alexnir</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9336.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=9336</wfw:commentRss><description>&lt;P&gt;Καλημέρα και από μένα&lt;/P&gt;
&lt;P&gt;Όπως λέει και ο τίτλος θα ήθελα να ρωτήσω το εξής:&lt;/P&gt;
&lt;P&gt;θέλω να φτιάξω μία βάση δεδομένων (σε SQL Server)&amp;nbsp;με αρκετούς πίνακες (πάνω από 20) και θέλω να ορίσω indexes σε κάθε πίνακα ώστε να γίνονται ποιό γρήγορα οι αναζητήσεις μου με βάση κάποιο συγκεκριμένο πεδίο.Πως μπορώ να το κάνω αυτό;&lt;/P&gt;
&lt;P&gt;Έχω να κερδίσω κάτι στην ταχύτητα αν φτιάξω relations στους πίνακες;&lt;/P&gt;
&lt;P&gt;Αν όλα τα παραπάνω απαντηθούν μετά θέλω να ρωτήσω, αν μπορώ να πάρω την δομή της βάσης και με τα κατάλληλα scripts την φτιάξω σε MySQL, θα έχω προβλήματα;&lt;/P&gt;
&lt;P&gt;Ευχαριστω εκ των προτέρων&lt;/P&gt;
&lt;P&gt;Αλέξανδρος&lt;/P&gt;</description></item></channel></rss>