Schema Sql Là Gì

     

Trong khuyên bảo này, bạn sẽ học bí quyết tạo, sửa đổi và xóa lược đồ gia dụng (schema) trong cơ sở tài liệu SQL Server.

Bạn đang xem: Schema sql là gì

Schema vào SQL server là gì

Lược đồ vật (schema) là tập thích hợp các đối tượng cơ sở dữ liệu bao gồm table, view, trigger, stored procedure, index, v.v. Một lược vật được liên kết với username được hotline là chủ cài đặt lược đồ, chủ download của các đối tượng cơ sở dữ liệu tương quan về mặt logic.

Một lược đồ luôn luôn thuộc về một cửa hàng dữ liệu. Khía cạnh khác, một đại lý dữ liệu rất có thể có một hoặc nhiều lược đồ. Ví dụ, vào cơ sở tài liệu mẫu BikeStores, cửa hàng chúng tôi có hai lược đồ: sales cùng production.

Một đối tượng người sử dụng đủ điều kiện trong lược đồ bằng phương pháp sử dụng format schema_name.object_name, ví dụ: sales.orders. Hai bảng trong nhị lược đồ có thể dùng thông thường tên nên chúng ta có thể có hr.employees và sales.employees.

Lược thứ tích đúng theo trong SQL Server

SQL Server cung cấp cho họ một số lược vật được quan niệm trước, ví dụ: dbo, guest, sys, với INFORMATION_SCHEMA.

Lưu ý rằng SQL vps sử dụng các lược thiết bị sys với INFORMATION_SCHEMA đến các đối tượng người tiêu dùng hệ thống, vì đó, bạn không thể chế tạo hoặc xóa ngẫu nhiên đối tượng nào trong các lược đồ gia dụng này.

Lược vật mặc định mang đến cơ sở tài liệu mới được tạo thành là dbo, thuộc sở hữu của tài khoản người dùng dbo. Theo mặc định, khi chúng ta tạo người tiêu dùng mới bởi lệnh CREATE USER, người dùng sẽ lấy dbo làm cho lược trang bị mặc định của nó.

Tạo lược đồ bằng câu lệnh CREATE SCHEMA vào SQL Server

Tổng quan liêu về câu lệnh CREATE SCHEMA trong SQL Server

Câu lệnh CREATE SCHEMA có thể chấp nhận được bạn sản xuất một lược đồ mới trong cơ sở tài liệu hiện tại.

Phần sau minh họa phiên bản đơn giản hóa của câu lệnh CREATE SCHEMA:

CREATE SCHEMA schema_name Trong cú pháp này,

Đầu tiên, hướng đẫn tên của lược đồ mà bạn muốn tạo vào mệnh đề CREATE SCHEMA.Tiếp theo, chỉ định chủ download của lược thứ sau từ bỏ khóa AUTHORIZATION.

Ví dụ về câu lệnh CREATE SCHEMA trong SQL Server

Ví dụ sau cho thấy cách thực hiện câu lệnh CREATE SCHEMA để sinh sản lược vật dụng customer_services:

CREATE SCHEMA customer_services;GOLưu ý rằng lệnh GO khuyên bảo SQL server Management Studio gửi các câu lệnh SQL ở bên trên lệnh GO tới máy chủ để thực thi.Sau khi thực hiện câu lệnh, bạn cũng có thể tìm thấy lược đồ new được chế tác trong Security > Schemas như hình bên dưới đây.

Xem thêm: Nghĩa Của Từ Adultery Là Gì, Nghĩa Của Từ Adultery, Từ Điển Anh Việt Adultery

*

Nếu bạn muốn liệt kê tất cả các lược vật dụng trong cơ sở tài liệu hiện tại, bạn có thể truy vấn các lược vật dụng từ sys.schemas như được minh họa trong truy vấn sau:

SELECT s.name AS schema_name, u.name AS schema_ownerFROM sys.schemas sINNER JOIN sys.sysusers u ON u.uid = s.principal_idORDER BY s.name;Đây là kết quả:

*

Sau khi bao gồm lược thiết bị customer_services, bạn có thể tạo các đối tượng cho lược đồ. Ví dụ: câu lệnh sau sản xuất một bảng mới có tên jobs vào lược đồ dùng customer_services:

CREATE TABLE customer_services.jobs( job_id INT PRIMARY KEY IDENTITY, customer_id INT NOT NULL, mô tả tìm kiếm VARCHAR(200), created_at DATETIME2 NOT NULL);

Chỉnh sửa lược đồ bằng câu lệnh ALTER SCHEMA vào SQL Server

Tổng quan tiền về câu lệnh ALTER SCHEMA vào SQL Server

Câu lệnh ALTER SCHEMA có thể chấp nhận được bạn chuyển những securable từ 1 lược thiết bị sang một lược đồ khác trong thuộc một cơ sở dữ liệu.

Lưu ý rằng: securable là tài nguyên mà khối hệ thống ủy quyền của Database Engine điều hành và kiểm soát quyền tróc nã cập. Ví dụ, một bảng là một trong securable.

Sau đây là cú pháp của câu lệnh ALTER SCHEMA:

ALTER SCHEMA target_schema_name TRANSFER < entity_type :: > securable_name;Trong cú pháp này:

target_schema_name là tên của một lược đồ gia dụng trong đại lý dữ liệu lúc này mà bạn muốn di chuyển đối tượng người tiêu dùng vào đó. Lưu ý rằng nó cấp thiết là SYS hoặc INFORMATION_SCHEMA.entity_type hoàn toàn có thể là Đối tượng, nhiều loại hoặc Tập vừa lòng lược đồ XML. Nó khoác định là Đối tượng. Entity_type đại diện thay mặt cho lớp của thực thể mà công ty sở hữu đang rất được thay đổi.securable_name là tên của securable mà bạn có nhu cầu chuyển vào target_schema_name.

Nếu bạn di chuyển một stored procedure, function, view hoặc trigger, SQL Server đã không biến hóa tên lược đồ của những securable này. Vày đó, bạn nên xóa và sinh sản lại các đối tượng người sử dụng này trong lược đồ mới thay vì sử dụng câu lệnh ALTER SCHEMA nhằm di chuyển.

Nếu bạn di chuyển một đối tượng, ví dụ: table hoặc synonym, SQL Server đã không auto cập nhật những tham chiếu cho các đối tượng người sử dụng này. Các bạn phải sửa đổi bằng tay thủ công các tham chiếu để đề đạt tên lược đồ vật mới. Ví dụ: nếu như bạn di chuyển một table được tham chiếu vào một stored procedure, các bạn phải sửa thay đổi stored procedure để phản ánh tên lược đồ gia dụng mới.

Ví dụ về câu lệnh ALTER SCHEMA vào SQL Server

Đầu tiên, hãy sản xuất một bảng mới có tên offices vào lược đồ gia dụng dbo:

CREATE TABLE dbo.offices( office_id INT PRIMARY KEY IDENTITY, office_name NVARCHAR(40) NOT NULL, office_address NVARCHAR(255) NOT NULL, phone VARCHAR(20),);Tiếp theo, insert một trong những hàng vào bảng dbo.offices:

INSERT INTO dbo.offices(office_name, office_address)VALUES ("Silicon Valley","400 North 1st Street, San Jose, CA 95130"), ("Sacramento","1070 River Dr., Sacramento, CA 95820");Sau đó, chế tạo một stored procedure để tìm văn phòng và công sở theo id văn phòng:

CREATE PROC usp_get_office_by_id(
id;END;Cuối cùng, đưa bảng dbo.offices này quý phái lược thiết bị sales:

ALTER SCHEMA sales TRANSFER OBJECT::dbo.offices; nếu bạn thực thi stored procedure usp_get_office_by_id, SQL vps sẽ lộ diện lỗi:

Msg 208, màn chơi 16, State 1, Procedure usp_get_office_by_id, Line 5 Invalid object name "dbo.offices".Để hạn chế và khắc phục lỗi này, hãy sửa đổi stored procedure thực hiện lược đồ mới:

ALTER PROC usp_get_office_by_id(
id;END;

Xóa schema bằng câu lệnh DROP SCHEMA trong SQL Server

Tổng quan tiền về câu lệnh DROP SCHEMA vào SQL Server

Câu lệnh DROP SCHEMA được cho phép bạn xóa một lược đồ khỏi đại lý dữ liệu. Sau đó là cú pháp của câu lệnh DROP SCHEMA:

DROP SCHEMA schema_name;Trong cú pháp này:

Đầu tiên, hướng đẫn tên của lược thiết bị mà bạn có nhu cầu xóa. Giả dụ lược đồ chứa ngẫu nhiên đối tượng nào, câu lệnh sẽ không còn thành công. Vì chưng đó, chúng ta phải xóa toàn bộ các đối tượng trong lược đồ trước lúc xóa lược đồ.Tiếp theo, sử dụng tùy lựa chọn IF EXISTS nhằm xóa lược vật chỉ lúc lược đồ vật tồn tại. Nỗ lực xóa một lược thiết bị không trường tồn mà không có tùy lựa chọn IF EXISTS đang dẫn mang lại lỗi.

Ví dụ về câu lệnh DROP SCHEMA trong SQL Server

Đầu tiên, hãy tạo thành một lược vật mới có tên là logistics:

CREATE SCHEMA logistics;GOTiếp theo, tạo một bảng mới có tên deliveries bên phía trong lược vật dụng logistics:

CREATE TABLE logistics.deliveries( order_id INT PRIMARY KEY, delivery_date DATE NOT NULL, delivery_status TINYINT NOT NULL);Sau đó, xóa lược thiết bị logistics:

DROP SCHEMA logistics;SQL vps sẽ thông tin lỗi sau vày lược đồ vật không trống.

Msg 3729, level 16, State 1, Line 1Cannot drop schema "logistics" because it is being referenced by object "deliveries".Để xóa lược trang bị này, trước tiên các bạn phải xóa bảng logistics.deliveries bởi lệnh sau:

DROP TABLE logistics.deliveries;Cuối cùng, áp dụng lệnh DROP SCHEMA một lần tiếp nữa để xóa lược vật logistics:

DROP SCHEMA IF EXISTS logistics;Bây giờ, các bạn sẽ thấy rằng lược thứ logistics đã trở nên xóa khỏi cửa hàng dữ liệu.

Trong lý giải này, các bạn đã học biện pháp tạo, chỉnh sửa và xóa lược vật (schema) vào cơ sở tài liệu SQL Server.

Xem thêm: Âm Thanh Kỳ Lạ Khi Quan Hệ Phát Ra Tiếng Kêu, Tại Sao Khi Quan Hệ Con Gái Lại Phát Ra Tiếng


nếu như giaynamdavinci.com hữu dụng và giúp bạn tiết kiệm thời gian

Bạn hoàn toàn có thể vui lòng tắt trình ngăn quảng cáo ❤️ để cung cấp chúng tôi duy trì hoạt cồn của trang web.