<?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>Απ: to "int" or not to "int"?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41261.aspx</link><pubDate>Wed, 02 Apr 2008 19:20:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41261</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41261.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41261</wfw:commentRss><description>&lt;P&gt;Νομίζω ότι έχεις παρεξηγήσει την έννοια του primary key. Το primary key χρησιμοποιεται ως η "ταυτότητα" μίας οντότητας στα διάφορα queries, είτε για να διαβάσεις/τροποποιήσεις τα πεδία της π.χ. με ένα SELECT xyz from MyTable Where MyID=123, είτε σε joins, ειδικά όταν έχεις σχέσεις many to many π.χ. SELECT xyz from OrderItems, Orders Where Orders.ID=OrderItems.OrderID. Μοιάζει, χωρίς να είναι, με ένα pointer. &lt;/P&gt;
&lt;P&gt;Ένα primary key χρησιμοποείται το 99,9999999999999999999% σε συγκρίσεις όπως η Orders.ID=OrderItems.OrderID. Οι υπόλοιπες περιπτώσεις είναι του τύπου Orders.ID&amp;gt;234. Σχεδόν ποτέ δεν συμμετέχει σε Like. Γι αυτό θέλεις να είναι όσο το δυνατόν μικρότερο, για να μην ξοδεύει χώρο στο σκληρό και τη μνήμη. &lt;BR&gt;Σκέψου το εξής. Στα 4 bytes ενός int μπορείς να αποθηκεύσεις 4294967296 τιμές, ενώ οι συγκρίσεις μεταξύ ints γίνονται&amp;nbsp;σε ένα μόλις&amp;nbsp;operation από τον επεξεργαστή. &amp;nbsp;Σε 4 chars μπορείς να αποθηκεύσεις μόλις 10000, ενώ οι συγκρίσεις είναι αργές και κατά κανόνα απαιτούν σύγκριση όλων των χαρακτήρων του string.&lt;/P&gt;
&lt;P&gt;Γι αυτό το λόγο δεν χρησιμοποιείται σχεδόν ποτέ πεδίο varchar για Primary Key ή σε queries με Like.&lt;/P&gt;</description></item><item><title>to "int" or not to "int"?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41258.aspx</link><pubDate>Wed, 02 Apr 2008 17:22:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41258</guid><dc:creator>Smert</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41258.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41258</wfw:commentRss><description>&lt;P&gt;Καλημέρα!&lt;/P&gt;
&lt;P&gt;1. Στη σχολή μας μάθανε (τι γραφικό) ότι τα πρωτεύοντα κλειδιά βολεύει να είναι int. Μάλλον για να αυξάνεται από μόνο του ίσως.&lt;/P&gt;
&lt;P&gt;Από την άλλη, μια παλιά βάση που θα διαβάσω και θα βάλω φόρμες από πάνω έχει το κλειδί και όλα τα πεδία (ακόμα και τις ημερομηνίες) char.&lt;/P&gt;
&lt;P&gt;Γιατί όχι? αφού έτσι μπορώ να φτιάχνω και queries με το κλειδί παράμετρο , και τον μπαλαντέρ "%". Ποιά είναι αλλιώς η χρησιμότητα του int?&lt;/P&gt;
&lt;P&gt;2. στην ίδια βάση θέλω ένα query με όλα τα πεδία παραμέτρους για να βάζει ο χρήστης όσα κριτήρια θέλει. Βάζω για αντίστοιχες παραμέτρους ό,τι γράφει σε όλα τα textboxes + "%"&lt;/P&gt;
&lt;P&gt;και δουλεύει μια χαρά εκτός φυσικά από το κλειδί γιατί είναι int. Πώς προτείνετε να κάνω μια τέτοια διαδικασία ? Να κάνω το κλειδί char και να χω αυτό το συνολικό query?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>