Microsoft SQL Server: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Pstavroulis (συζήτηση | συνεισφορές)
Χωρίς σύνοψη επεξεργασίας
Konsnos (συζήτηση | συνεισφορές)
διόρθωση ορθογραφικών
Γραμμή 1:
[[Αρχείο:Sql_server_general.jpg‎|thumb|right|250px]]
 
O '''SQL Server''' είναι ένα [[Σχεσιακό Μοντέλο Διαχείρισης Δεδομένων]] [[RDBMS]] το οποίο ανaπτύσσεταιαναπτύσσεται από την [[Microsoft]]. Οι κύριες γλώσσες που χρησιμοποιoύνταιχρησιμοποιούνται είναι η T-[[SQL]] και η ANSI SQL.
 
Η κύρια μονάδα αποθήκευσης στοιχείων είναι μια βάση δεδομένων, η οποία αποτελείται από μια συλλογή πινάκων και κώδικα.
Γραμμή 38:
== Ανάκτηση δεδομένων ==
 
Η ερώτηση (query) είναι ο κύριος τρόπος για την ανάκτηση στοιχείων από μια βάση δεδομένων. Η ερώτηση εκφράζεται χρησιμοποιώντας μια παραλλαγή της αποκαλούμενου SQL Τ-SQL, είναι μια διαλέκτοςδιάλεκτος SQL που αναπτύχθηκε απο την [[Microsoft]] και [[Sybase]]. H T-SQL είναι πολύ κοντά στα [[ANSI]] standards που έχουν καθιερωθεί διεθνώς, σε αντιδιαστολή με άλλες διαλέκτους όπως η PL-SQL της [[Oracle]] που διαφέρουν περισσότερο αποαπό το ANSI standards.
 
Η ερώτηση διευκρινίζει επεξηγηματικά αυτό που είναι να ανακτηθεί απο την βάση δεδομένων. Η ερώτηση υποβάλλεται σε επεξεργασία από τον '''επεξεργαστή ερώτησης''', ο οποίος υπολογίζει τη σειρά των βημάτων που θα είναι απαραίτητα για να ανακτηθούν τα ζητούμενα στοιχεία. Η ακολουθία ενεργειών απαραίτητων να εκτελέσουν μια ερώτηση καλείται σχέδιο ερώτησης.
 
Υπάρχουν πολλοί τρόποι για να υποβληθεί σε επεξεργασία η ίδια ερώτηση. Π.χ, μια ερώτηση που ενώνει 2 πίνακες Α & Β μαζί θα μπορούσε να γίνει ή πηγαίνωντας πρώτα στο Α βρισκοντας τα στοιχεία και μετά ενώνοντας με τα στοιχεία του πίνακα Β, ή πρώτα από το Β και μετά πίνακα Α. Ο SQL Server και όχι ο [[Προγραμματιστής]] παίρνει την απόφαση μέσω στατιστικών στοιχείων και άλλων στοιχείων που διαθετειδιαθέτει για τους 2 πίνακες να ακολουθήσει την διαδρομή Α-Β γιατί αυτός είναι ο γρηγορότερος τρόπος. Στις procedural γλώσσες προγραμματισμού πχ C, Pascal, .NET, ο προγραμματιστής θα πρέπει να κάνει την απόφαση το οποίο πολλές φορές σημαίνει λάθος απόφαση. Αυτό καλείται '''βελτιστοποίηση ερώτησης''' και εκτελείται από τον επεξεργαστή ερώτησης. Ο SQL παίρνει πολύ περίπλοκες αποφάσεις βασισμένος σε αλγόριθμους που έχουν αναπτυχθειαναπτυχθεί τα τελευταία 20-30 χρόνια πάνω στο αντικείμενο. Μια παρόμοια ερώτηση σε μια προηγούμενη έκδοση του SQL Server θα μπορούσε να πάρει 10-20 φορές περισσότερο χρόνο λόγω του διαφορετικού αλγόριθμου. Γενικά κάθε καινούργια έκδοση βελτιώνει την αποτελεσματικότητα, και άρα τον χρόνο εκτελεσηςεκτέλεσης. Εδώ ακριβώς είναι ένα από το πλεονεκτήματα προγραμματισμουπρογραμματισμού ενός προβλήματος σε μια βαση δεδομένων σε σύγκριση με C, Pascal, C++ κτλ. Βέβαια όλα τα προβλήματα δεν είναι κατάλληλα για εφαρμογή σε βασηβάση δεδομένων.
 
Ο SQL Server επιτρέπει επίσης αποθηκευμένες ερωτήσεις (stored procedures). Οι αποθηκευμένες ερωτήσεις είναι ερωτήσεις με παράμετρουςπαραμέτρους T-SQL, οι οποίες αποθηκεύονται στον SQL Server. Μια stored procedure τυπικά είναι αποαπό 100-1000 γραμμές κώδικα SQL. Οι αποθηκευμένες ερωτήσεις μπορούν να δεχτούν τιμές που στέλνονται από τον πελάτη ως παράμετροι εισαγωγής, και να στείλουν τα αποτελέσματα ως παραμέτρους παραγωγής. Μπορούν να καλέσουν functions, και άλλες stored procedures. Οι stored procedures είναι γρηγορότερες από κατασκευή σε σχέση με απλές ακολουθίες SQL.