none
Diferença entre uma Visão SQL e uma FUNÇÂO SQL RRS feed

Respostas

  • Deleted
    • Marcado como Resposta WICTOR MENKALHA terça-feira, 3 de março de 2020 12:51
    terça-feira, 3 de março de 2020 12:48
  • Wictor,

    Sinceramente falando comparar sem ter muito ideia de qual o cenário ou até mesmo e que você deseja é algo bastante abstrato, mas vou tentar passar um pouco do que conheço.

    Visão

    Uma view é uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas), que compõem uma base de dados.​ ​Pode ser considerada como uma tabela virtual ou uma consulta armazenada. 

    Para muitos conhecida, como uma consulta armazenada que encapsula a complexidade de uma consulta e apresenta os dados desejados para usuários ou aplicativos. ​ ​Ao criar uma visão, o SQL Server só armazena a definição da visão, os dados não são armazenados, a não ser que esta view seja indexada.

    Uma visão é basicamente uma instrução armazenada SELECT em um banco de dados para posterior utilização. ​Ao ser criada, você pode obter resultados da instrução SELECT consultando a visão em vez de executar a instrução SELECT complexa em tabelas de existentes no banco de dados. 

    Geralmente uma view é implementada encapsulando uma instrução SELECT (busca de dados para exposição), guarda os dados em uma tabela virtual, armazenando também em cache, pois todas as consultas ao banco, encapsuladas ou não, ao serem executadas, são armazenadas em cache. ​Por este motivo, pode ser mais rápido ter uma consulta armazenada em forma de view, em vez de ter que retrabalhar uma instrução. ​As views nos possibilitam mais que simplesmente visualizar dados. 

    Function

    Também conhecidas como User-Defined Functions, são funções definidas pelo próprio usuário, que não fazem parte do conjunto de funções do SQL Server, essas funções podem retornar valores comuns ou mesmo um valor no formato de uma tabela, com múltiplas ocorrências, existentes no mesmo banco de dados.​

    Há função pode ser definida com a utilização de múltiplos comandos em Transact-SQL, retornando valores de acordo com o princípio para o qual foi desenvolvida. Dependendo da maneira como as instruções são colocadas no corpo de uma função, a função poderá ser classificada como sendo ESCALAR, INLINE ou MULTI-STATEMENT.

    Caso o retorno da função for uma tabela que não corresponde à lista de colunas especificada, a função é considerada INLINE. ​ A função INLINE é uma função que retorna uma tabela, contendo em seu corpo de definição apenas uma instrução SELECT. As colunas, incluindo os tipos de dados, da tabela a ser retornada pela função, são derivadas da lista de campos da cláusula SELECT definida no corpo da função.​

    ​Se existe uma definição sobre a estrutura da tabela, bem como os seus campos com os respectivos tipos de dados, a função será considerada como MULTI-STATEMENT. 

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta WICTOR MENKALHA terça-feira, 3 de março de 2020 13:18
    terça-feira, 3 de março de 2020 12:56

Todas as Respostas

  • Deleted
    • Marcado como Resposta WICTOR MENKALHA terça-feira, 3 de março de 2020 12:51
    terça-feira, 3 de março de 2020 12:48
  • Brilhou mto amigo .. era isso que precisava saber 
    terça-feira, 3 de março de 2020 12:52
  • Wictor,

    Sinceramente falando comparar sem ter muito ideia de qual o cenário ou até mesmo e que você deseja é algo bastante abstrato, mas vou tentar passar um pouco do que conheço.

    Visão

    Uma view é uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas), que compõem uma base de dados.​ ​Pode ser considerada como uma tabela virtual ou uma consulta armazenada. 

    Para muitos conhecida, como uma consulta armazenada que encapsula a complexidade de uma consulta e apresenta os dados desejados para usuários ou aplicativos. ​ ​Ao criar uma visão, o SQL Server só armazena a definição da visão, os dados não são armazenados, a não ser que esta view seja indexada.

    Uma visão é basicamente uma instrução armazenada SELECT em um banco de dados para posterior utilização. ​Ao ser criada, você pode obter resultados da instrução SELECT consultando a visão em vez de executar a instrução SELECT complexa em tabelas de existentes no banco de dados. 

    Geralmente uma view é implementada encapsulando uma instrução SELECT (busca de dados para exposição), guarda os dados em uma tabela virtual, armazenando também em cache, pois todas as consultas ao banco, encapsuladas ou não, ao serem executadas, são armazenadas em cache. ​Por este motivo, pode ser mais rápido ter uma consulta armazenada em forma de view, em vez de ter que retrabalhar uma instrução. ​As views nos possibilitam mais que simplesmente visualizar dados. 

    Function

    Também conhecidas como User-Defined Functions, são funções definidas pelo próprio usuário, que não fazem parte do conjunto de funções do SQL Server, essas funções podem retornar valores comuns ou mesmo um valor no formato de uma tabela, com múltiplas ocorrências, existentes no mesmo banco de dados.​

    Há função pode ser definida com a utilização de múltiplos comandos em Transact-SQL, retornando valores de acordo com o princípio para o qual foi desenvolvida. Dependendo da maneira como as instruções são colocadas no corpo de uma função, a função poderá ser classificada como sendo ESCALAR, INLINE ou MULTI-STATEMENT.

    Caso o retorno da função for uma tabela que não corresponde à lista de colunas especificada, a função é considerada INLINE. ​ A função INLINE é uma função que retorna uma tabela, contendo em seu corpo de definição apenas uma instrução SELECT. As colunas, incluindo os tipos de dados, da tabela a ser retornada pela função, são derivadas da lista de campos da cláusula SELECT definida no corpo da função.​

    ​Se existe uma definição sobre a estrutura da tabela, bem como os seus campos com os respectivos tipos de dados, a função será considerada como MULTI-STATEMENT. 

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta WICTOR MENKALHA terça-feira, 3 de março de 2020 13:18
    terça-feira, 3 de março de 2020 12:56