<?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>Απ: Double, Decimal &amp; Currency</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/25870.aspx</link><pubDate>Mon, 05 Mar 2007 04:33:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:25870</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/25870.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=25870</wfw:commentRss><description>Τόσο ο double όσο και ο decimal είναι αριθμοί κινητής υποδιαστολής, δηλαδή της μορφής m(antissa) x b(ase)^e(xponent), όπου το b εννοείται και αποθηκεύουμε το m και το e.&lt;br&gt;&lt;br&gt;Η βασική (και πολύ σημαντική) διαφορά μεταξύ decimal και double είναι η βάση τους b, γιατί στον decimal είναι το 10 ενώ στον double το 2.&lt;br&gt;&lt;br&gt;Ο decimal παριστάνει δεκαδικούς αριθμούς με ορισμένη ακρίβεια, δηλαδή είναι στη μορφή (+/-) a x 10^-b, όπου το a έχει 96 bits παράστασης και το b είναι εκθέτης με τιμές από 0 ως 28.&lt;br&gt;&lt;br&gt;Ο double από την άλλη είναι floating point αριθμός κατά το πρότυπο ΙΕΕΕ 754, και η δεκαδική του ακρίβεια εξαρτάται από (και είναι έχει αντίστροφη σχέση με) το απόλυτο μέγεθός του. Επίσης σε double μπορεί να παρασταθεί το +/-∞ και άκυροι αριθμοί (NaN, not a number) που δεν ορίζονται σε decimal.&lt;br&gt;&lt;br&gt;Στις βάσεις δεδομένων η παράσταση των αριθμών έχει συνήθως σταθερή δεκαδική ακρίβεια, η οποία είναι και απαραίτητη σε οποιοδήποτε οικονομικό υπολογισμό, γι' αυτό και υπάρχει άμεση αντιστοίχιση με τον decimal. Τον double θα τον δεις συνήθως σε επιστημονικούς υπολογισμούς (π.χ. προσομοιώσεις).&lt;br&gt;</description></item><item><title>Απ: Double, Decimal &amp; Currency</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/25810.aspx</link><pubDate>Sat, 03 Mar 2007 22:50:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:25810</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/25810.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=25810</wfw:commentRss><description>CLR είναι τα αρχικά απο το Common Language Runtime το οποίο είναι η κοινή γλώσσα την οποία καταλαβαίνουν όλες η .Net based γλώσσες. Όταν εσύ γράφεις κώδικα σε VB.Net ή C# αυτή κατά το compile μετατρέπεται σε IL (MSIL) και εκτελείται πάνω στο CLR. Στον SQL Server 2005 προστέθηκε η δυνατότητα να υπάρχει native support όταν φτιάχνεις ένα .net assembly (.dll ή exe) να το "βλέπει" ο SQL Server. Αυτό σημαίνει ότι μπορείς να φτιάξεις ένα δικό σου τύπο δεδομένων (CLR Data Type)&amp;nbsp;τον οποίο o SQL Server δεν το ήξερε πριν όπως κάποιοuς άλλους (varchar, int κλπ).</description></item><item><title>Απ: Double, Decimal &amp; Currency</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/25802.aspx</link><pubDate>Sat, 03 Mar 2007 19:09:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:25802</guid><dc:creator>mdtgr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/25802.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=25802</wfw:commentRss><description>&lt;P&gt;Ευχαριστώ για τη&amp;nbsp; βοήθεια.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;Βλέποντας το link που παρείχες στην απάντησή σου μού δημιουργήθηκε μία άλλη απορία&lt;/P&gt;
&lt;P&gt;Τι σημαίνουν "CLR Data Type (SQL Server)" &amp;amp; "CLR Data Type (.Net Framework)"΄;;;&lt;/P&gt;</description></item><item><title>Απ: Double, Decimal &amp; Currency</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/25787.aspx</link><pubDate>Sat, 03 Mar 2007 08:32:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:25787</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/25787.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=25787</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;mdtgr:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Σε μια φόρμα (vb2005) έχω το textbox μου που χρησιμεύει για την εισαγωγή τιμής σε ευρώ με τρία δεκαδικά.&lt;/p&gt;
&lt;p&gt;Η απορία μου είναι ότι την τιμή την περνάω σε μια μεταβλητή την οποία μπορώ να την ορίσω ως Double ή Decimal (ανάλογα με την ακρίβεια των υπολογισμών αν έχω καταλάβει καλά) όταν όμως πάω να φτιάξω τον πίνακα σε SQL βάση βλάπω ότι το αντίστοιχο πεδίο μπορώ να το ορίσω μόνο ως Decimal.&lt;/p&gt;
&lt;p&gt;Χρειάζομαι τη βοήθειά σας (πάλι) για να καταλάβω την σχέση μεταξύ τιμών που αφορούν currency και πως αυτές ορίζονται και διαχειρίζονται τόσο σε VB όσο και σε SQL(Express).&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Τα Double και Decimal στο .NET ορίζουν αριθμούς κινητής υποδιαστολής. π.χ. το double που καταλαμβάνει έως 8 ψηφία, τα οποία μπορεί να είναι όλα πριν την υποδιαστολή ή όλα μετά ή 4 πριν και 4 μετά. Το Decimal είναι διπλάσιο του double. Στον sql server το decimal δεν έχει κινητή υποδιαστολή, μια που δηλώνεις ακριβώς τον αριθμό δεδαδικών που υποστηρίζει, με την βοήθεια της ιδιότητας precision της αντίστοιχης στήλης. Υπάρχουν επίσης οι τύποι float και real στον sql server, που είναι κινητής υποδιαστολής. Το float μπορεί να είναι από 1 έως 53 bit (δηλαδή χωράει έως και double αριθμούς του .net), ενώ το real είναι 4 bytes.&lt;/p&gt;&lt;p&gt;Υπάρχουν και άλλες επιλογές, ανάλογα με την ακρίβεια και το μέγεθος των δεδομένων που έχεις. &lt;a href="http://msdn2.microsoft.com/en-us/library/ms131092.aspx" target="_blank"&gt;Διάβασε αυτό&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;mdtgr:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;Θα ήθελα αν γίνετε να συμπεριλάβετε και τι ακριβώς γίνεται με τα trailing zeroes επειδή θέλω να τα εμφανίζω όπου αυτό χρειάζεται.&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Αυτό το θέμα δεν πρέπει να σε απασχολήσει σε επίπεδο βάσης δεδομένων. Εκεί θα αποθηκεύεις την τιμή σου σε αριθμητικό πεδίο και αν θέλεις σε κάποια φόρμα να εμφανίζεται με μηδενικά, θα το κάνεις εκεί. π.χ. αν γράψεις debug.writeline(string.format("{0:000000.00}", 43.3)) θα πάρεις σαν αποτέλεσμα το 000043,30&lt;br&gt;&lt;/p&gt;</description></item><item><title>Double, Decimal &amp; Currency</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/25758.aspx</link><pubDate>Fri, 02 Mar 2007 19:48:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:25758</guid><dc:creator>mdtgr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/25758.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=25758</wfw:commentRss><description>&lt;P&gt;Σε μια φόρμα (vb2005) έχω το textbox μου που χρησιμεύει για την εισαγωγή τιμής σε ευρώ με τρία δεκαδικά.&lt;/P&gt;
&lt;P&gt;Η απορία μου είναι ότι την τιμή την περνάω σε μια μεταβλητή την οποία μπορώ να την ορίσω ως Double ή Decimal (ανάλογα με την ακρίβεια των υπολογισμών αν έχω καταλάβει καλά) όταν όμως πάω να φτιάξω τον πίνακα σε SQL βάση βλάπω ότι το αντίστοιχο πεδίο μπορώ να το ορίσω μόνο ως Decimal.&lt;/P&gt;
&lt;P&gt;Χρειάζομαι τη βοήθειά σας (πάλι) για να καταλάβω την σχέση μεταξύ τιμών που αφορούν currency και πως αυτές ορίζονται και διαχειρίζονται τόσο σε VB όσο και σε SQL(Express).&lt;/P&gt;
&lt;P&gt;Θα ήθελα αν γίνετε να συμπεριλάβετε και τι ακριβώς γίνεται με τα trailing zeroes επειδή θέλω να τα εμφανίζω όπου αυτό χρειάζεται.&lt;/P&gt;
&lt;P&gt;Ευχαριστώ.&lt;/P&gt;</description></item></channel></rss>