<?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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Δομή SQL Database (SQL Server 2005)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44217.aspx</link><pubDate>Fri, 22 Aug 2008 19:41:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44217</guid><dc:creator>Dataman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44217.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=44217</wfw:commentRss><description>Είναι κι αυτός ένας τρόπος&lt;br&gt;ΟΚ&lt;br&gt;&lt;br&gt;Ευχαριστώ&lt;br&gt;</description></item><item><title>Απ: Δομή SQL Database (SQL Server 2005)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44216.aspx</link><pubDate>Fri, 22 Aug 2008 18:57:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44216</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44216.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=44216</wfw:commentRss><description>&lt;P&gt;Υπάρχουν διάφορα εργαλεία, πχ το Visio μπορεί να διαβάσει το schema της&amp;nbsp; βάσης και να σου φτιάξει ένα διάγραμμα. Το θέμα είναι ότι όποιο εργαλείο και να έχεις, αν οι πίνακες είναι πολλοί, τότε θα πρέπει να κάνεις zoom out το διάγραμμα, οπότε δεν θα φαίνεται σε μία οθόνη ή σε ένα χαρτί A4. Αυτό που κάνω εγώ είναι να οργανώνω τους πίνακες σε σχετικές ομάδες και να προσέχω ώστε να μην πέφτουν πάνω στα όρια της σελίδας. Κατόπιν εκτυπώνω το διάγραμμα και το έχω σε σελίδες που μπορώ να βάλω τη μία δίπλα στην άλλη. &lt;/P&gt;</description></item><item><title>Απ: Δομή SQL Database (SQL Server 2005)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44215.aspx</link><pubDate>Fri, 22 Aug 2008 18:44:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44215</guid><dc:creator>Dataman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44215.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=44215</wfw:commentRss><description>Πρώτα απ'ολα ευχαριστώ για την ταχύτατη απάντηση&lt;br&gt;&lt;br&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;KelMan:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;4. Υπάρχει τρόπος ή άλλο εργαλείο που να μπορώ να βλέπω &lt;b&gt;ΟΛΗ την δομή της Database&lt;/b&gt; και τις σχέσεις πινάκων με γραφικό περιβάλλον (κάτι σαν το Database Diagrams). Ο λόγος που δεν με βολεύει το Database Diagrams είναι ότι στη βάση υπάρχουν παρα πολλοί πινακες που έχω δημιουργήσει τις σχέσεις τους ξεχωριστά για κάθε κομάτι με το Database Diagrams (Diagram1, 2, 3, ...).&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Δεν σε κατάλαβα... Σε ένα diagram μπορείς να βάλεις όσους πίνακες θες, ακόμη και όλους.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Βασικά δουλεύω με το Database Diagrams, αλλά εάν βάλω όλους τους πίνακες (64) θα πρεπει να κάνω τέτοιο Zoom που δεν θα φαίνονται τα ονόματα των πεδίων (όσο κι εάν έπαιξα με την ανάλυση της οθόνης) .&lt;br&gt;Αυτό που θέλω να κάνω είναι να "βγάλω" το σχεδιάγραμμα της δομής της Database σε image file προκειμένου να το έχω σε άλλο υπολογιστή για παρουσίαση προς του συνεργάτες μου προς συζήτηση.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Δομή SQL Database (SQL Server 2005)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44213.aspx</link><pubDate>Fri, 22 Aug 2008 18:09:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44213</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44213.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=44213</wfw:commentRss><description>&lt;P&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;1. Σε μία βάση είναι απαραίτητη η δημιουργία Indexes (έχει δηλαδή τις ιδιότητες των βάσεων που είχαμε με την access, πχ ταχύτητα στο view, καθυστέρηση στο Update);&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt; Απαραιτότατο!&lt;/P&gt;
&lt;P&gt;Βασικά με τα indexes έχεις ταχύτητα στο διάβασμα ωστόσο αν υπερφορτώσεις τους πίνακες με indexes,&amp;nbsp;μειώνεται η ταχύτητα&amp;nbsp;των updates/deletes&lt;/P&gt;
&lt;P&gt;&lt;BR&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;2. Για να ορίσουμε ένα πεδίο να μην επιτρέπονται διπλότυπες εγγραφές είναι με την γνωστή μέθοδο των Indexes ή...&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Δύο τρόποι:&amp;nbsp;To ορίζεις ως Primary Key ή του βάζεις ένα unique constraint&lt;BR&gt;&lt;BR&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;3. Όταν έχουμε δύο πίνακες: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Table1(&lt;B&gt;ID&lt;/B&gt;, &lt;B&gt;Name&lt;/B&gt;, &lt;B&gt;ID_Address&lt;/B&gt;, ...) το &lt;B&gt;ID&lt;/B&gt; είναι &lt;I&gt;bigint (Is Identity)&lt;/I&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Table2(&lt;B&gt;ID_Address&lt;/B&gt;, &lt;B&gt;NameAddress&lt;/B&gt;, ...) το &lt;B&gt;ID_Address&lt;/B&gt; είναι &lt;I&gt;bigint (Is Identity)&lt;/I&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; το &lt;B&gt;ID_Adress&lt;/B&gt; είναι &lt;U&gt;κοινό και στους δύο πίνακες&lt;/U&gt;&lt;BR&gt;Λογικά θα κάνω καταχώρηση με μία SQL Command του πεδίου &lt;B&gt;NameAddress&lt;/B&gt; του Table2, κατόπιν θα πάρω το &lt;B&gt;ID_Address&lt;/B&gt; που έχει δημιουργηθεί και θα κάνω καταχώρηση στοιχείων στο Table1 με άλλη SQL Command.&lt;BR&gt;Είναι εφικτό όταν με ένα SQL Command να καταχωρίσω δεδομένα στο Table1 δίνοντας όμως και στοιχεία στο Table2. Δηλαδή να καταχωρήσω &lt;B&gt;Name&lt;/B&gt; και &lt;B&gt;NameAddress &lt;/B&gt;με μία SQL Command?...&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Όχι δεν γίνεται, είτε το κάνεις με T-SQL command, είτε το κάνεις με ADO.NET Command, θα πρέπει να το κάνεις σε δύο βήματα. Ωστόσο αν παίζεις με DataSets τα πράγματα απλοποιούνται. Επίσης, αν χρησιμοποιείς κάποιο ORM, πάλι είναι εύκολο και δεν χρειάζεται να κάνεις κάτι.&lt;BR&gt;&lt;BR&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;4. Υπάρχει τρόπος ή άλλο εργαλείο που να μπορώ να βλέπω &lt;B&gt;ΟΛΗ την δομή της Database&lt;/B&gt; και τις σχέσεις πινάκων με γραφικό περιβάλλον (κάτι σαν το Database Diagrams). Ο λόγος που δεν με βολεύει το Database Diagrams είναι ότι στη βάση υπάρχουν παρα πολλοί πινακες που έχω δημιουργήσει τις σχέσεις τους ξεχωριστά για κάθε κομάτι με το Database Diagrams (Diagram1, 2, 3, ...).&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Δεν σε κατάλαβα... Σε ένα diagram μπορείς να βάλεις όσους πίνακες θες, ακόμη και όλους.&lt;BR&gt;&lt;BR&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;5. Ποιες οι διαφορές των τύπων nvarchar, varchar και nchar και τι προτείνετε να χρησιμοποιούμε;&lt;BR&gt;Νομίζω η nvarchar(10) μπορεί να δεχτεί παραπάνω από 10 χαρακτήρες, ή κάνω λάθος;...&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Char(X): Παίρνει μέχρι Χ χαρακτήρες, αν βάλεις λιγότερους, συμπληρώνει με κενά&lt;/LI&gt;
&lt;LI&gt;VarChar(X): Παίρνει μέχρι Χ χαρακτήρες, αν βάλεις λιγότερους, δεν κρατάς τον χώρο τσάμπα&lt;/LI&gt;
&lt;LI&gt;ΝChar, ΝVarChar: Όπως παραπάνω αλλά για κάθε χαρακτήρα κρατούνται 2 bytes γιατί αποθηκεύεται με την Unicode μορφή του. Αν χρησιμοποιείς αυτούς του τύπους γλυτώνεις από πολλούς πονοκέφαλους με τα Ελληνικά.&lt;/LI&gt;&lt;/UL&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;Dataman:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Και κάτι τελευταίο που αφορά την επικοινωνία των clients με τον Server&lt;BR&gt;Μετά από ψάξιμο κατάφερα και βρήκα ότι οι πόρτες που πρέπει να ανοίξω στο Windows Firewall προκειμένου να υπάρχει επικοινωνία των Clients είναι η 1433 TCP και 1434 UDP με κάποιες ρυθμίσεις στον SQL Server. Το ερώτημά μου είναι εάν ο SQL Server είναι σε άλλο κτήριο με Static IP και θέλω να συνδεθώ, ενώ έχω ρυθμίσει κανονικα το router και όλα τα σχετικά για πρόσβαση στο pc με τις port που αναφερω πιο πάνω, τελικά δεν συνδέεται.&lt;BR&gt;Υπάρχουν και άλλες πόρτες που πρέπει να ανοίξω;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Κάπου αλλού θα είναι το πρόβλημα... Καλύτερα να ανοίξεις νέο thread με όλα τα απαραίτητα στοιχεία (μηνύματα λάθους, περιγραφή συμπεριφοράς, κλπ) για να το δούμε καλύτερα.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Δομή SQL Database (SQL Server 2005)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/44212.aspx</link><pubDate>Fri, 22 Aug 2008 17:14:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:44212</guid><dc:creator>Dataman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/44212.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=44212</wfw:commentRss><description>Καλημέρα,&lt;br&gt;Μερικά ερωτήματα από ένα νεο χρήστη του SQL Server&lt;br&gt;&lt;br&gt;1. Σε μία βάση είναι απαραίτητη η δημιουργία Indexes (έχει δηλαδή τις ιδιότητες των βάσεων που είχαμε με την access, πχ ταχύτητα στο view, καθυστέρηση στο Update);&lt;br&gt;&lt;br&gt;2. Για να ορίσουμε ένα πεδίο να μην επιτρέπονται διπλότυπες εγγραφές είναι με την γνωστή μέθοδο των Indexes ή...&lt;br&gt;&lt;br&gt;3. Όταν έχουμε δύο πίνακες: &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Table1(&lt;b&gt;ID&lt;/b&gt;, &lt;b&gt;Name&lt;/b&gt;, &lt;b&gt;ID_Address&lt;/b&gt;, ...) το &lt;b&gt;ID&lt;/b&gt; είναι &lt;i&gt;bigint (Is Identity)&lt;/i&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Table2(&lt;b&gt;ID_Address&lt;/b&gt;, &lt;b&gt;NameAddress&lt;/b&gt;, ...) το &lt;b&gt;ID_Address&lt;/b&gt; είναι &lt;i&gt;bigint (Is Identity)&lt;/i&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; το &lt;b&gt;ID_Adress&lt;/b&gt; είναι &lt;u&gt;κοινό και στους δύο πίνακες&lt;/u&gt;&lt;br&gt;Λογικά θα κάνω καταχώρηση με μία SQL Command του πεδίου &lt;b&gt;NameAddress&lt;/b&gt; του Table2, κατόπιν θα πάρω το &lt;b&gt;ID_Address&lt;/b&gt; που έχει δημιουργηθεί και θα κάνω καταχώρηση στοιχείων στο Table1 με άλλη SQL Command.&lt;br&gt;Είναι εφικτό όταν με ένα SQL Command να καταχωρίσω δεδομένα στο Table1 δίνοντας όμως και στοιχεία στο Table2. Δηλαδή να καταχωρήσω &lt;b&gt;Name&lt;/b&gt; και &lt;b&gt;NameAddress &lt;/b&gt;με μία SQL Command?&lt;br&gt;&lt;br&gt;4. Υπάρχει τρόπος ή άλλο εργαλείο που να μπορώ να βλέπω &lt;b&gt;ΟΛΗ την δομή της Database&lt;/b&gt; και τις σχέσεις πινάκων με γραφικό περιβάλλον (κάτι σαν το Database Diagrams). Ο λόγος που δεν με βολεύει το Database Diagrams είναι ότι στη βάση υπάρχουν παρα πολλοί πινακες που έχω δημιουργήσει τις σχέσεις τους ξεχωριστά για κάθε κομάτι με το Database Diagrams (Diagram1, 2, 3, ...).&lt;br&gt;&lt;br&gt;5. Ποιες οι διαφορές των τύπων nvarchar, varchar και nchar και τι προτείνετε να χρησιμοποιούμε;&lt;br&gt;Νομίζω η nvarchar(10) μπορεί να δεχτεί παραπάνω από 10 χαρακτήρες, ή κάνω λάθος;&lt;br&gt;&lt;br&gt;Και κάτι τελευταίο που αφορά την επικοινωνία των clients με τον Server&lt;br&gt;Μετά από ψάξιμο κατάφερα και βρήκα ότι οι πόρτες που πρέπει να ανοίξω στο Windows Firewall προκειμένου να υπάρχει επικοινωνία των Clients είναι η 1433 TCP και 1434 UDP με κάποιες ρυθμίσεις στον SQL Server. Το ερώτημά μου είναι εάν ο SQL Server είναι σε άλλο κτήριο με Static IP και θέλω να συνδεθώ, ενώ έχω ρυθμίσει κανονικα το router και όλα τα σχετικά για πρόσβαση στο pc με τις port που αναφερω πιο πάνω, τελικά δεν συνδέεται.&lt;br&gt;Υπάρχουν και άλλες πόρτες που πρέπει να ανοίξω;&lt;br&gt;&lt;br&gt;Ευχαριστώ πολύ και συγνώμη για το μακροσκελές ερώτημά μου.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>