이 페이지에서는 이름이 지정된 스키마를 생성, 사용, 삭제하는 방법과 이름이 지정된 스키마의 객체에 세분화된 액세스 제어를 적용하는 방법을 설명합니다. 이름이 지정된 스키마에 대한 개요 정보는 이름이 지정된 스키마를 참조하세요.
시작하기 전에
이 페이지의 절차를 수행하려면 다음이 필요합니다.
- 사용자 계정의 Database Adminroles/spanner.databaseAdmin 역할
- 세분화된 액세스 제어의 작동 방식 알아보기
이름이 지정된 스키마 만들기
CREATE SCHEMA 명령어(GoogleSQL 및 PostgreSQL)은 명명된 스키마를 만드는 데 사용됩니다.
Google Cloud 콘솔에서 Spanner 페이지를 엽니다.
목록에서 인스턴스를 선택합니다.
데이터베이스를 선택합니다.
탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
새 SQL 편집기 탭 또는 새 탭을 클릭하여 새 탭을 엽니다.
편집기 탭에 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