Udostępnij za pośrednictwem


Tworzenie schematu bazy danych

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Magazyn w Microsoft Fabric

W tym artykule opisano sposób tworzenia schematu w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

Uprawnienia

  • Aby utworzyć schemat, musisz mieć uprawnienie CREATE SCHEMA w bazie danych.

  • Aby określić innego użytkownika jako właściciela tworzonego schematu, obiekt wywołujący musi mieć uprawnienie IMPERSONATE dla tego użytkownika. Jeśli rola bazy danych jest określona jako właściciel, wywołujący musi spełniać jedno z następujących kryteriów: członkostwo w roli lub uprawnienie ALTER na roli.

Tworzenie schematu przy użyciu programu SQL Server Management Studio

  1. W Eksploratorze obiektów rozwiń folder Databases.

  2. Rozwiń bazę danych, w której ma zostać utworzony nowy schemat bazy danych.

  3. Kliknij prawym przyciskiem myszy na folderze Security, przejdź do New, a następnie wybierz pozycję Schema.

  4. W oknie dialogowym Schema — Nowy, na stronie Ogólne, wprowadź nazwę nowego schematu w polu Nazwa schematu .

  5. W polu Właściciel schematu wprowadź nazwę użytkownika lub roli bazy danych, który ma być właścicielem schematu. Alternatywnie wybierz Wyszukaj, aby otworzyć okno dialogowe Wyszukaj Role i Użytkowników.

  6. Wybierz pozycję OK.

Notatka

W przypadku tworzenia schematu przy użyciu programu SSMS dla Azure SQL Database lub Azure Synapse Analyticsnie zostanie wyświetlone okno dialogowe. Należy uruchomić generowany skrypt T-SQL Create Schema Template.

Okno dialogowe Schemat –Nowe oferuje również opcje na dwóch dodatkowych stronach: Uprawnienia i Właściwości rozszerzone .

  • Na stronie Permissions wymieniono wszystkie możliwe zabezpieczalne obiekty oraz uprawnienia dotyczące tych zabezpieczalnych obiektów, które można nadać użytkownikowi logującemu się.

  • Strona właściwości rozszerzonych umożliwia dodawanie właściwości niestandardowych do użytkowników bazy danych.

Tworzenie schematu przy użyciu Transact-SQL

  1. W Eksploratorze Obiektów , nawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku Standardowa wybierz pozycję Nowe zapytanie.

  3. Poniższy przykład tworzy schemat o nazwie Chains, a następnie tworzy tabelę o nazwie Sizes.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Więcej opcji można wykonać w jednej instrukcji. Poniższy przykład tworzy schemat Sprockets, który należy do Joe i zawiera tabelę NineProngs. Instrukcja przyznaje SELECT do Bob i odmawia SELECT do John.

    CREATE SCHEMA Sprockets
        AUTHORIZATION Joe;
    GO
    
    CREATE TABLE NineProngs
    (
       source INT,
       cost INT,
       partnumber INT
    );
    GO
    
    GRANT SELECT
       ON SCHEMA::Sprockets TO Bob;
    GO
    
    DENY SELECT
       ON SCHEMA::Sprockets TO John;
    GO
    
  5. Wykonaj następującą instrukcję, aby wyświetlić schematy w bieżącej bazie danych:

    SELECT *
    FROM sys.schemas;
    

Ograniczenia i ograniczenia

  • Nowy schemat jest własnością jednego z następujących zasad kontroli dostępu na poziomie bazy danych: użytkownika bazy danych, roli bazy danych lub roli aplikacji. Obiekty utworzone w schemacie są własnością właściciela schematu i mają NULLprincipal_id w sys.objects. Własność obiektów zawartych w schemacie można przenieść do dowolnego podmiotu zabezpieczeń na poziomie bazy danych, ale właściciel schematu zawsze zachowuje uprawnienia CONTROL dla obiektów w schemacie.

  • Podmiot domeny jest dodawany do bazy danych jako schemat podczas tworzenia obiektu bazy danych, jeśli określisz prawidłowy podmiot domeny (użytkownika lub grupę) jako właściciela obiektu. Nowy schemat jest własnością tego podmiotu domeny.