이름이 지정된 스키마 만들기 및 관리

이 페이지에서는 이름이 지정된 스키마를 생성, 사용, 삭제하는 방법과 이름이 지정된 스키마의 객체에 세분화된 액세스 제어를 적용하는 방법을 설명합니다. 이름이 지정된 스키마에 대한 개요 정보는 이름이 지정된 스키마를 참조하세요.

시작하기 전에

이 페이지의 절차를 수행하려면 다음이 필요합니다.

이름이 지정된 스키마 만들기

CREATE SCHEMA 명령어(GoogleSQLPostgreSQL)은 명명된 스키마를 만드는 데 사용됩니다.

  1. Google Cloud 콘솔에서 Spanner 페이지를 엽니다.

    Spanner로 이동

  2. 목록에서 인스턴스를 선택합니다.

  3. 데이터베이스를 선택합니다.

  4. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.

  5. 새 SQL 편집기 탭 또는 새 탭을 클릭하여 새 탭을 엽니다.

  6. 편집기 탭에 DDL을 입력합니다.

    GoogleSQL

    CREATE SCHEMA 문을 실행하여 이름이 지정된 스키마를 만듭니다. 예를 들면 다음과 같습니다.

    CREATE SCHEMA sch1;
    

    데이터베이스 객체를 이름이 지정된 스키마에 추가합니다. 예를 들면 다음과 같습니다.

    CREATE SEQUENCE sch1.sequence OPTIONS (
      sequence_kind = 'bit_reversed_positive'
    );
    
    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      FirstName STRING(1024),
      LastName STRING(1024),
      SingerInfo BYTES(MAX),
    ) PRIMARY KEY(SingerId);
    
    CREATE INDEX indexOnSingers ON Singers(FirstName);
    
    CREATE TABLE Albums (
      SingerId INT64 NOT NULL,
      AlbumId INT64 NOT NULL,
      AlbumTitle STRING(MAX),
    ) PRIMARY KEY(SingerId, AlbumId),
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE;
    
    CREATE TABLE Songs (
      SingerId INT64 NOT NULL,
      AlbumId INT64 NOT NULL,
      TrackId INT64 NOT NULL,
      SongName STRING(MAX),
    ) PRIMARY KEY(SingerId, AlbumId, TrackId),
      INTERLEAVE IN PARENT Albums ON DELETE CASCADE;
    
    CREATE TABLE sch1.Singers (
      SingerId INT64 NOT NULL,
      FirstName STRING(1024),
      LastName STRING(1024),
      SingerInfo BYTES(MAX),
    ) PRIMARY KEY(SingerId);
    
    CREATE INDEX sch1.indexOnSingers ON sch1.Singers(FirstName);
    
    CREATE TABLE sch1.Albums (
      SingerId INT64 NOT NULL,
      AlbumId INT64 NOT NULL,
      AlbumTitle STRING(MAX),
    ) PRIMARY KEY(SingerId, AlbumId),
      INTERLEAVE IN PARENT sch1.Singers ON DELETE CASCADE;
    
    CREATE TABLE sch1.Songs (
      SingerId INT64 NOT NULL,
      AlbumId INT64 NOT NULL,
      TrackId INT64 NOT NULL,
      SongName STRING(MAX),
    ) PRIMARY KEY(SingerId, AlbumId, TrackId),
      INTERLEAVE IN PARENT sch1.Albums ON DELETE CASCADE;
    
    CREATE VIEW sch1.SingerView SQL SECURITY INVOKER
      AS Select s.FirstName, s.LastName, s.SingerInfo
      FROM sch1.Singers AS s WHERE s.SingerId = 123456;
    
    CREATE