DocumentDB SQL - Bí danh

Trong cơ sở dữ liệu quan hệ, bí danh SQL được sử dụng để tạm thời đổi tên bảng hoặc đầu đề cột. Tương tự, trong DocumentDB, bí danh được sử dụng để tạm thời đổi tên tài liệu JSON, tài liệu con, đối tượng hoặc bất kỳ trường nào.

Việc đổi tên là một thay đổi tạm thời và tài liệu thực tế không thay đổi. Về cơ bản, bí danh được tạo để làm cho tên trường / tài liệu dễ đọc hơn. Đối với bí danh, từ khóa AS được sử dụng là tùy chọn.

Hãy xem xét ba tài liệu tương tự từ những tài liệu được sử dụng trong các ví dụ trước.

Sau đây là AndersenFamily tài liệu.

{ 
   "id": "AndersenFamily", 
   "lastName": "Andersen", 
	
   "parents": [ 
      { "firstName": "Thomas", "relationship":  "father" }, 
      { "firstName": "Mary Kay", "relationship":  "mother" } 
   ],
   
   "children": [ 
      { 
         "firstName": "Henriette Thaulow", 
         "gender": "female", 
         "grade": 5, 
         "pets": [ { "givenName": "Fluffy", "type":  "Rabbit" } ] 
      } 
   ],
   
   "location": { "state": "WA", "county": "King", "city": "Seattle" }, 
   "isRegistered": true 
}

Sau đây là SmithFamily tài liệu.

{ 
   "id": "SmithFamily",
	
   "parents": [ 
      { "familyName": "Smith", "givenName": "James" }, 
      { "familyName": "Curtis", "givenName": "Helen" }
   ],
   
   "children": [ 
      { 
         "givenName": "Michelle", 
         "gender": "female", 
         "grade": 1 
      },
		
      { 
         "givenName": "John", 
         "gender": "male", 
         "grade": 7,
			
         "pets": [ 
            { "givenName": "Tweetie", "type": "Bird" } 
         ] 
      } 
   ],
   
   "location": { 
      "state": "NY", 
      "county": "Queens", 
      "city": "Forest Hills" 
   },
   
   "isRegistered": true 
}

Sau đây là WakefieldFamily tài liệu.

{ 
   "id": "WakefieldFamily", 
	
   "parents": [ 
      { "familyName": "Wakefield", "givenName": "Robin" }, 
      { "familyName": "Miller", "givenName": "Ben" } 
   ],
   
   "children": [ 
      { 
         "familyName": "Merriam", 
         "givenName": "Jesse", 
         "gender": "female", 
         "grade": 6,
			
         "pets": [ 
            { "givenName": "Charlie Brown", "type": "Dog" }, 
            { "givenName": "Tiger", "type": "Cat" }, 
            { "givenName": "Princess", "type": "Cat" } 
         ] 
      },
		
      { 
         "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 3, 
			
         "pets": [ 
            { "givenName": "Jake", "type": "Snake" } 
         ] 
      } 
   ],
   
   "location": { "state": "NY", "county": "Manhattan", "city": "NY" }, 
   "isRegistered": false 
}

Hãy xem một ví dụ để thảo luận về các bí danh.

Sau đây là truy vấn sẽ kết hợp tài liệu gốc với con. Chúng tôi có các bí danh như f.id AS familyName, c.givenName AS childGivenName và c.firstName AS childFirstName.

SELECT  
   f.id AS familyName, 
   c.givenName AS childGivenName, 
   c.firstName AS childFirstName 
FROM Families f  
JOIN c IN f.children

Khi truy vấn trên được thực thi, nó tạo ra kết quả sau.

[ 
   { 
      "familyName": "WakefieldFamily", 
      "childGivenName": "Jesse" 
   },
	
   { 
      "familyName": "WakefieldFamily",
	  "childGivenName": "Lisa" 
   },
	
   { 
      "familyName": "SmithFamily", 
      "childGivenName": "Michelle" 
   },
	
   { 
      "familyName": "SmithFamily", 
      "childGivenName": "John" 
   },
	
   { 
      "familyName": "AndersenFamily", 
      "childFirstName": "Henriette Thaulow" 
   } 
]

Kết quả trên cho thấy các tên đã nộp được thay đổi, nhưng đó là thay đổi tạm thời và các tài liệu gốc không được sửa đổi.