Κοινοποίηση μέσω


Χρήση στηλών IDENTITY για τη δημιουργία υποκατάστατων κλειδιών στην Αποθήκη δεδομένων Fabric

Ισχύει για:✅ Warehouse στο Microsoft Fabric

Αυτό το εκπαιδευτικό βοήθημα εξηγεί πώς μπορείτε να χρησιμοποιήσετε IDENTITY στήλες στο Fabric Data Warehouse για να δημιουργήσετε και να διαχειριστείτε αποτελεσματικά τα υποκατάστατα κλειδιά.

Προαπαιτούμενα στοιχεία

  • Έχετε πρόσβαση σε ένα στοιχείο Αποθήκης σε έναν χώρο εργασίας, με δικαιώματα Συμβάλλοντα ή υψηλότερα.
  • Επιλέξτε το εργαλείο ερωτήματός σας. Αυτή η εκμάθηση διαθέτει το πρόγραμμα επεξεργασίας ερωτημάτων SQL στην πύλη Microsoft Fabric, αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο υποβολής ερωτημάτων T-SQL.
  • Βασική κατανόηση της T-SQL.

Τι είναι η στήλη ΤΑΥΤΟΤΗΤΑ;

Μια IDENTITY στήλη είναι μια αριθμητική στήλη που δημιουργεί αυτόματα μοναδικές τιμές για νέες γραμμές. Αυτό το καθιστά ιδανικό για την εφαρμογή υποκατάστατων κλειδιών, καθώς διασφαλίζει ότι κάθε σειρά λαμβάνει ένα μοναδικό αναγνωριστικό χωρίς μη αυτόματη εισαγωγή.

Δημιουργία στήλης IDENTITY

Για να ορίσετε μια IDENTITY στήλη, καθορίστε τη λέξη-κλειδί IDENTITY στον ορισμό στήλης της σύνταξης CREATE TABLE T-SQL:

CREATE TABLE { warehouse_name.schema_name.table_name | schema_name.table_name | table_name } (
    [column_name] BIGINT IDENTITY,
    [ ,... n ],
    -- Other columns here
);

Note

Στο Fabric Data Warehouse, το bigint είναι ο μόνος υποστηριζόμενος τύπος δεδομένων για IDENTITY στήλες. Επιπλέον, οι seed ιδιότητες και increment της T-SQL IDENTITY δεν υποστηρίζονται. Για περισσότερες πληροφορίες, ανατρέξτε στις ενότητες Στήλες ΤΑΥΤΟΤΗΤΑ και ΤΑΥΤΟΤΗΤΑ (Transact-SQL). Για περισσότερες πληροφορίες σχετικά με τη δημιουργία πινάκων, ανατρέξτε στο θέμα Δημιουργία πινάκων στην Αποθήκη στο Microsoft Fabric.

Δημιουργία πίνακα με στήλη IDENTITY

Σε αυτό το εκπαιδευτικό βοήθημα, θα δημιουργήσουμε μια απλούστερη έκδοση του Trip πίνακα από το ανοιχτό σύνολο δεδομένων NY Taxi και θα προσθέσουμε μια νέα TripIDIDENTITY στήλη σε αυτό. Κάθε φορά που εισάγεται μια νέα γραμμή, TripID εκχωρείται μια νέα τιμή που είναι μοναδική στον πίνακα.

  1. Ορισμός πίνακα με στήλη IDENTITY :

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Στη συνέχεια, χρησιμοποιούμε COPY INTO για να απορροφήσουμε ορισμένα δεδομένα σε αυτόν τον πίνακα. Όταν χρησιμοποιείτε COPY INTO με στήλες IDENTITY , πρέπει να παρέχετε τη λίστα στηλών, αντιστοιχίζοντας σε στήλες στα δεδομένα προέλευσης.

    COPY INTO Trip (DateID 1, MedallionID 2, HackneyLicenseID 3, PickupTimeID 4, DropoffTimeID 5)
    FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013'
    WITH
    (
        FILE_TYPE = 'CSV',
        FIELDTERMINATOR = '|',
        COMPRESSION = 'GZIP'
    );
    
  3. Μπορούμε να κάνουμε προεπισκόπηση των δεδομένων και των τιμών που έχουν εκχωρηθεί στη IDENTITY στήλη με ένα απλό ερώτημα:

    SELECT TOP 10 * 
    FROM Trip;
    

    Η έξοδος περιλαμβάνει την τιμή που δημιουργείται αυτόματα για τη TripID στήλη για κάθε γραμμή.

    Στιγμιότυπο οθόνης των αποτελεσμάτων του ερωτήματος που εμφανίζει έναν πίνακα με τις πρώτες 10 γραμμές ενός συνόλου δεδομένων διαδρομής ταξί.

    Σημαντικό

    Οι τιμές σας μπορεί να διαφέρουν από αυτές που παρατηρούνται σε αυτό το άρθρο. IDENTITY Οι στήλες παράγουν τυχαίες τιμές που είναι εγγυημένα μοναδικές, αλλά μπορεί να υπάρχουν κενά στις ακολουθίες και οι τιμές μπορεί να μην είναι σε σειρά.

  4. Μπορείτε επίσης να χρησιμοποιήσετε INSERT INTO το για να απορροφήσετε νέες γραμμές στον πίνακά σας.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. Η λίστα στηλών μπορεί να παρέχεται με INSERT INTO, αλλά δεν απαιτείται. Κατά την παροχή μιας λίστας στηλών, καθορίστε το όνομα όλων των στηλών για τις οποίες παρέχετε δεδομένα εισόδου, εκτός από τη IDENTITY στήλη:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Μπορούμε να ελέγξουμε τις σειρές που έχουν εισαχθεί με ένα απλό ερώτημα:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Παρατηρήστε τις τιμές που έχουν εκχωρηθεί στις νέες γραμμές:

Ένας πίνακας με δύο γραμμές και έξι στήλες που εμφανίζουν δεδομένα ταξιδιού με ταξί.