freeCodeCamp/guide/russian/sql/sql-create-view-statement/index.md

78 lines
7.2 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
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`;
```
![Изображение-1](https://github.com/SteveChevalier/guide-images/blob/master/create-view-statement01.JPG?raw=true)
### Пример использования представления для объединения данных из нескольких таблиц
Для демонстрации этого использования в базу данных была добавлена ​​таблица демографических данных учащихся. Это представление объединит эти таблицы.
Заметки:
* Для «объединения» таблиц таблицы должны иметь общие поля (обычно первичные ключи), которые однозначно идентифицируют каждую строку. В этом случае это идентификатор студента. (Подробнее об этом в руководстве по объединению [SQL](../sql-joins/index.md) .)
* Обратите внимание на «псевдоним», данный каждой таблице («s» для ученика и «sc» для контакта со студентом). Это инструмент для сокращения имен таблиц и упрощения определения используемой таблицы. Это проще, чем повторять длинные имена таблиц. В этом примере это было необходимо, поскольку studentID - это то же имя столбца в обеих таблицах, и система представила бы «неоднозначную ошибку имени столбца» без указания используемой таблицы.
![Изображение-1](https://github.com/SteveChevalier/guide-images/blob/master/create-view-statement02.JPG?raw=true)
_Как со всеми этими вещами, МНОГО БОЛЬШЕ к представлениям. Пожалуйста, ознакомьтесь с руководством для своего менеджера баз данных и получайте удовольствие от различных вариантов._