78 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: SQL Create View Statement | |||
|  | localeTitle: SQL Создать представление | |||
|  | --- | |||
|  | ## SQL Создать представление
 | |||
|  | 
 | |||
|  | ### Что такое просмотр?
 | |||
|  | 
 | |||
|  | Просмотр представляет собой объект базы данных, который представляет данные, существующие в одной или нескольких таблицах. Представления используются аналогично таблицам, но они не содержат никаких данных. Они просто «указывают» на данные, которые существуют в другом месте (например, таблицы или представления). | |||
|  | 
 | |||
|  | ### Почему они нам нравятся?
 | |||
|  | 
 | |||
|  | *   Представления - это способ ограничить представленные данные. Например, данные отдела кадров были отфильтрованы только для предоставления информации, не содержащей информации. Чувствительной информацией в этом случае могут быть номера социального страхования, пол сотрудника, размер оплаты, домашний адрес и т. Д. | |||
|  | *   Сложные данные в более чем одной таблице могут быть объединены в один «вид». Это может сделать жизнь проще для ваших бизнес-аналитиков и программистов. | |||
|  | 
 | |||
|  | ### Важные советы по безопасности
 | |||
|  | 
 | |||
|  | *   Управление видами осуществляется системой. Когда данные в связанных таблицах изменяются, добавляются или обновляются, представление обновляется системой. Мы хотим использовать их только тогда, когда это необходимо для управления использованием системных ресурсов. | |||
|  | *   В MySQL изменения в дизайне таблицы (то есть новые или удаленные столбцы), созданные ПОСЛЕ создания представления, не обновляются в самом представлении. Представление должно быть обновлено или воссоздано. | |||
|  | *   Представления являются одним из четырех стандартных типов объектов базы данных. Остальные - это таблицы, хранимые процедуры и функции. | |||
|  | *   Обычно представления можно рассматривать как таблицу, но обновления ограничены или недоступны, если представление содержит более одной таблицы. | |||
|  | *   Есть много других подробностей о взглядах, выходящих за рамки этого вводного руководства. Проведите время с руководством по управлению базами данных и получайте удовольствие от этого мощного объекта SQL. | |||
|  | 
 | |||
|  | ### Синтаксис инструкции Create View (MySQL)
 | |||
|  | 
 | |||
|  | ```sql | |||
|  | CREATE  | |||
|  |     [OR REPLACE]  | |||
|  |     [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]  | |||
|  |     [DEFINER = { user | CURRENT_USER }]  | |||
|  |     [SQL SECURITY { DEFINER | INVOKER }]  | |||
|  |     VIEW view_name [(column_list)]  | |||
|  |     AS select_statement  | |||
|  |     [WITH [CASCADED | LOCAL] CHECK OPTION]  | |||
|  | ``` | |||
|  | 
 | |||
|  | _Это руководство будет охватывать эту часть заявления ...._ | |||
|  | 
 | |||
|  | ```sql | |||
|  | CREATE  | |||
|  |     VIEW view_name [(column_list)]  | |||
|  |     AS select_statement  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Образец создания вида из таблиц учеников
 | |||
|  | 
 | |||
|  | Заметки: | |||
|  | 
 | |||
|  | *   Название представления имеет «v» в конце. Рекомендуется, чтобы имя вида указывало, что это как-то способ облегчить жизнь программистам и администраторам баз данных. Ваш ИТ-магазин должен иметь свои собственные правила для именования объектов. | |||
|  |      | |||
|  | *   Столбцы в представлении ограничены SELECT и строками данных по предложению WHERE. | |||
|  |      | |||
|  | *   символ «\` »вокруг имен вида требуется из-за« - »в именах. MySQL сообщает об ошибке без них. | |||
|  |      | |||
|  | 
 | |||
|  | ```sql | |||
|  | create view `programming-students-v` as  | |||
|  |  select FullName, programOfStudy  | |||
|  |  from student  | |||
|  |  where programOfStudy = 'Programming';  | |||
|  |   | |||
|  |  select * from `programming-students-v`;  | |||
|  | ``` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | ### Пример использования представления для объединения данных из нескольких таблиц
 | |||
|  | 
 | |||
|  | Для демонстрации этого использования в базу данных была добавлена таблица демографических данных учащихся. Это представление объединит эти таблицы. | |||
|  | 
 | |||
|  | Заметки: | |||
|  | 
 | |||
|  | *   Для «объединения» таблиц таблицы должны иметь общие поля (обычно первичные ключи), которые однозначно идентифицируют каждую строку. В этом случае это идентификатор студента. (Подробнее об этом в руководстве по объединению [SQL](../sql-joins/index.md) .) | |||
|  | *   Обратите внимание на «псевдоним», данный каждой таблице («s» для ученика и «sc» для контакта со студентом). Это инструмент для сокращения имен таблиц и упрощения определения используемой таблицы. Это проще, чем повторять длинные имена таблиц. В этом примере это было необходимо, поскольку studentID - это то же имя столбца в обеих таблицах, и система представила бы «неоднозначную ошибку имени столбца» без указания используемой таблицы. | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | _Как со всеми этими вещами, МНОГО БОЛЬШЕ к представлениям. Пожалуйста, ознакомьтесь с руководством для своего менеджера баз данных и получайте удовольствие от различных вариантов._ |