Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profa. MSc. Sandra Bozolan UNIDADE III Administração de Banco de Dados A linguagem SQL padrão frequentemente é utilizada para representar as mais diversas funções relacionadas a banco de dados e programação. Ela suporta uma série de funções específicas que serão exploradas mais à frente: Linguagem SQL Fonte: Próprio autor. Linguagem T-SQL ou Transact-SQL utilizada no SGBD MS SQL Server é composta por: DDL (Data Definition Language): manipulação e estrutura do banco de dados; DML (Data Manipulation Language): permite a manutenção dos dados; DQL (Data Query Language): permite a pesquisa de dados; DCL (Data Control Language): permite o controle de autorização (acesso) dos dados. Linguagem SQL Linguagem de Definição de Dados (DDL – Data Definition Language): esse subconjunto da SQL suporta criação, exclusão e modificação das definições das tabelas e das visões. As restrições de integridade podem ser definidas nas tabelas, tanto quando a tabela é criada como posteriormente. Fornece ainda a dinâmica para criação e exclusão de índices. Os comandos SQL desse subconjunto são: CREATE: utilizado para criar objetos no banco de dados. Exemplo (criar uma tabela): CREATE TABLE CLIENTE (ID INT PRIMARY KEY, NOME VARCHAR(50)); Linguagem SQL DDL (Data Definition Language): Comandos responsáveis pela criação, alteração e deleção da estrutura de banco de dados, de tabelas e índices etc.; Comandos de DDL; CREATE: Criação de objetos do banco de dados; DROP: Exclusão de objetos do banco de dados; ALTER: Alteração da estrutura de objetos do banco de dados; USE: Selecionar um banco de dados para uso. Objetos manipulados pelos comandos acima: DATABASE, TABLE, VIEW, INDEX, TRIGGER, etc.... Linguagem SQL ALTER: utilizado para alterar a estrutura de um objeto. Exemplo (adicionar uma coluna em uma tabela existente): ALTER TABLE CLIENTE ADD SEXO CHAR(1); DROP: utilizado para remover um objeto do banco de dados. Exemplo (remover uma tabela): DROP TABLE CLIENTE; Linguagem SQL Linguagem SQL Executando o procedimento ALTER DATABASE, modificam-se os dados de um banco de dados ou os arquivos e grupos de arquivos associados ao banco de dados, adicionam ou removem-se arquivos e grupos de arquivos de um banco de dados, alteram-se os atributos de um banco de dados ou seus arquivos e grupos de arquivos, altera-se o agrupamento de banco de dados e definem-se opções de banco de dados. Instantâneos de banco de dados não podem ser modificados. Linguagem SQL DDL (Data Definition Language): Exemplos de sintaxe: Comando TABLE: tabela(s) ou entidade(s). Linguagem SQL Comando CREATE Objetivo Sintaxe Cria a estrutura de uma tabela (arquivo) definindo colunas (campos) e as chaves primárias e estrangeiras existentes. CREATE TABLE <nome-da-tabela>( <nome-coluna1><tipo-dado> [null | not null | unique], <nome-colunaN><tipo-dado> [null | not null | unique], PRIMARY KEY (nome-da-coluna-chave) ) DDL (Data Definition Language): Comando IDENTITY (Campo de autonumeração): coluna identidade definida pelo SQL Server, cria números em sequência para linhas que forem posteriormente inseridas na tabela em que a coluna de identidade está localizada. Comando PRIMARY KEY: Define a chave primária da tabela; Linguagem SQL A linguagem SQL frequentemente é utilizada para representar as mais diversas funções relacionadas a banco de dados e programação. Analise as afirmações abaixo: DDL: Linguagem de Definição de Dados; DML: Linguagem de Manipulação de Dados; DTL: Linguagem de Controle de Transações. Interatividade I. No item Linguagem de definição de dados, os comandos COMMIT e ROLLBACK são usados com muita frequência. II. No item Linguagem de manipulação de dados usamos o comando CREATE para criar tabelas e Banco de dados. III. No item Linguagem de controle de transações, além de criar Procedures e Functions, podemos ainda executá-los. IV. Para Executar uma atualização em um dado em banco devemos usar um comando que se encontra no item DML. Assinale a alternativa correta: a) Todas as afirmativas estão corretas. b) Apenas as afirmativas III e IV estão corretas. c) Apenas as afirmativas I, II e IV estão corretas. d) Apenas as afirmativas II e IV estão corretas. e) Apenas as afirmativas I e II estão corretas. Interatividade I. No item Linguagem de definição de dados, os comandos COMMIT e ROLLBACK são usados com muita frequência. II. No item Linguagem de manipulação de dados usamos o comando CREATE para criar tabelas e Banco de dados. III. No item Linguagem de controle de transações, além de criar Procedures e Functions, podemos ainda executá-los. IV. Para Executar uma atualização em um dado em banco devemos usar um comando que se encontra no item DML. Assinale a alternativa correta: a) Todas as afirmativas estão corretas. b) Apenas as afirmativas III e IV estão corretas. c) Apenas as afirmativas I, II e IV estão corretas. d) Apenas as afirmativas II e IV estão corretas. e) Apenas as afirmativas I e II estão corretas. Resposta Linguagem de Manipulação de Dados (DML – Data Manipulation Language): esse subconjunto da SQL permite que os usuários formulem consultas e insiram, excluam e modifiquem tuplas. Os comandos SQL desse subconjunto são: INSERT: utilizado para inserir registros (tuplas) em uma tabela. Exemplo: INSERT into CLIENTE(ID, NOME) values(1,'Rafaela'); Linguagem SQL UPDATE: utilizado para alterar valores de uma ou mais linhas (tuplas) de uma tabela. Exemplo: UPDATE CLIENTE set NOME = 'Roberta' WHERE ID = 1; DELETE: utilizado para excluir um ou mais registros (tupla) de uma tabela. Exemplo: DELETE FROM CLIENTE WHERE ID = 1; SELECT: o principal comando da SQL, o comando SELECT é utilizado para efetuar consultas no banco de dados. Exemplo: SELECT ID, NOME FROM CLIENTE; Linguagem SQL Os comandos básicos de manipulação de dados em SQL são: INSERT, SELECT, COMMIT, UPDATE, ROLLBACK E DELETE. INSERÇÃO DE DADOS EM LINHAS DE TABELAS A SQL exige a utilização do comando INSERT para inserir dados em uma tabela. A sintaxe básica desse comando será abordada abaixo: INSERT INTO nome da tabela VALUES (valor1, valor2,...,valorN). Comandos de manipulação de dados UPDATE ATUALIZAÇÃO DE LINHAS DA TABELA Utilize o comando UPDATE para modificar os dados de uma tabela. A sintaxe desse comando é: UPDATE nome da tabela SET nome da tabela = expressão [, nome da coluna=expressão] [WHERE lista de condições]; Comandos de manipulação de dados DELETE – EXCLUINDO LINHAS DA TABELA Um dos comandos mais fáceis de executar é o de exclusão de dados de uma tabela utilizando o comando DELETE. A sintaxe é: DELETE FROM nome da tabela [WHERE lista de condições] Comandos de manipulação de dados Linguagem de Consulta de Dados (DQL – Data Query Language): esse subconjunto tem apenas um comando e é considerado como o coringa em todos os procedimentos SQL. O comando SELECT permite ao usuário especificar uma consulta (“query”) como uma descrição do resultado desejado. SELECT realiza consultas em uma tabela; composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas; SELECT <função de agregação> <nome do campo da tabela> ou * (tudo) FROM <nome da tabela> Opcional: <cláusula> Linguagem SQL Operadores de comparação A qualificação da cláusula FROM é uma combinação booleana (isto é, uma expressão usando os conectivos lógicos AND, OR e NOT) de condições no formato expressão op expressão, em que op é um dos operadores de comparação { <, <=> = < >, >=, > }. Uma expressão é um nome de coluna, uma constante ou uma expressão (aritmética ou de string). Select e operações SÍMBOLO SIGNIFICADO Linguagem de Controle de Dados (DCL – Data Control Language): esse subconjunto da SQL suporta controlar o acesso aos dados, basicamentecom dois comandos que permitem ou bloqueiam o acesso de usuários a dados. Vejamos estes comandos: GRANT: autoriza um usuário a executar alguma operação. Exemplo (dar permissão de consulta na tabela cliente para o usuário diogo): GRANT SELECT ON cliente TO diogo; REVOKE: restringe ou remove a permissão de um usuário executar alguma operação. Exemplo (não permitir que o usuário diogo crie tabelas no banco de dados): REVOKE CREATE TABLE FROM diogo; Linguagem SQL Sobre o comando UPDATE utilizado para modificar os dados de uma tabela, assinale abaixo a sintaxe correta desse comando. a) UPDATE NOMECAMPO FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO’ ; b) UPDATE * FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; c) UPDATE ALTER FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; d) UPDATE NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; e) UPDATE NOMECAMPO FROM NOMETABELA ALTER NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; Interatividade Sobre o comando UPDATE utilizado para modificar os dados de uma tabela, assinale abaixo a sintaxe correta desse comando. a) UPDATE NOMECAMPO FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO’ ; b) UPDATE * FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; c) UPDATE ALTER FROM NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; d) UPDATE NOMETABELA SET NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; e) UPDATE NOMECAMPO FROM NOMETABELA ALTER NOMECAMPO = ‘DADOS CAMPO’ WHERE NOMECAMPO ='ALTERAÇÃO CAMPO' ; Resposta No SQL Server, cada coluna, variável local, expressão e parâmetro têm um tipo de dado relacionado. O tipo de dado é um atributo que especifica os tipos de dados que o objeto pode manter: dados inteiros, dados de caractere, dados monetários, data e hora, cadeias de caracteres binários etc. A seleção de tipos de dados costuma ser determinada pela natureza dos dados e pela utilização pretendida. Por exemplo: – Number(L,D), Integer, Smallint, Decimal(L,D) – Char(L), Varchar(L), Varchar2(L) – Date, Time, Timestamp – Entre outros Tipos de dados O comando JOIN ou junção é baseado na teoria dos conjuntos. Considere as tabelas como um conjunto de dados sobre um determinado assunto. A sintaxe do comando JOIN entre duas ou mais tabelas relacionadas é diferente entre os diversos dialetos do SQL. Para escrever o comando corretamente, você deverá consultar o manual do gerenciador de banco de dados. Os exemplos de JOIN que serão mostrados a seguir estão usando a sintaxe do SQL padrão ANSI. Caso você queira testar os comandos em um banco de dados, você precisa estar atento se ele é compatível com o SQL ANSI, pois a sintaxe do JOIN difere muito. Join Exemplo de sintaxe do comando SELECT com mais de uma tabela: vamos considerar as tabelas indicadas a seguir. Turma (id_turma, nome, sala, disciplina) Disciplina (disciplina, sigla, créditos). Queremos a lista das salas de cada turma, indicando o nome da turma e a sigla de cada disciplina correspondente. O comando SELECT ficará assim: SQL padrão ANSI: Join Para entender como esse JOIN funciona, com base na teoria dos conjuntos, vamos considerar as tabelas conjuntos, da seguinte forma: o conjunto das turmas será denominado conjunto A; o conjunto das disciplinas será o conjunto B, conforme a figura seguinte: Join Fonte: Livro-texto. Conjunto/Tabela A Conjunto/Tabela B INNER JOIN – é o tipo de JOIN mais usado. Retorna apenas os dados que existem em comum nas duas tabelas. Com base na teoria dos conjuntos, podemos dizer que é a intersecção entre os conjuntos, conforme representado na figura a seguir. Inner Join Fonte: Livro-texto. Conjunto/Tabela A Conjunto/Tabela B Usado quando é necessário retornar todos os dados de uma tabela, mesmo que não exista na outra tabela. O LEFT JOIN retorna os dados da tabela da esquerda, conforme a figura a seguir. Left Join Fonte: Livro-texto. Conjunto/Tabela A Conjunto/Tabela B Assim como o LEFT JOIN, é usado quando é necessário retornar todos os dados de uma tabela, mesmo que não existam na outra tabela. O RIGHT JOIN retorna os dados da tabela da direita, conforme a figura a seguir Right Join Fonte: Livro-texto. Conjunto/Tabela A Conjunto/Tabela B O JOIN funciona, com base na teoria dos conjuntos, e entre suas funções principais precisamos considerar o conjunto de tabelas que queremos relacionar. Com base nesta afirmação, assinale a alternativa de JOIN que retorna apenas os dados que existem em comum nas duas tabelas. a) Full Join b) Inner Join; c) Join; d) Left Join; e) Right Join; Interatividade O JOIN funciona, com base na teoria dos conjuntos, e entre suas funções principais precisamos considerar o conjunto de tabelas que queremos relacionar. Com base nesta afirmação, assinale a alternativa de JOIN que retorna apenas os dados que existem em comum nas duas tabelas. a) Full Join b) Inner Join; c) Join; d) Left Join; e) Right Join; Resposta O desenvolvimento de um sistema de informação envolve a análise e o projeto de dois componentes importantes: os dados e os processos. O projeto de dados é considerado a parte estática do sistema, uma vez que diz respeito a um universo persistente de características que dificilmente sofre modificações após a sua definição. O projeto de processos, por sua vez, é chamado de parte dinâmica, uma vez que as tarefas a serem realizadas sobre os dados podem variar, conforme ocorre a evolução do sistema. O projeto de um banco de dados é composto de quatro etapas, descritas a seguir: Etapas do projeto de banco de dados 33 Fase inicial de um projeto de banco de dados, que permite compreender quais dados devem ser armazenados, que informações os aplicativos devem manipular, quais as operações mais importantes e quais estão sujeitas a requisitos de desempenho. Reuniões informais com os usuários da aplicação devem ser realizadas visando definir quais alterações serão trabalhadas, a análise de toda a documentação disponível sobre os aplicativos existentes que se deseja substituir ou complementar com o banco de dados, e assim por diante. Muitas metodologias são propostas com o foco de organizar e apresentar as informações coletadas, quase sempre se usam as ferramentas automatizadas. Levantamento de requisitos Fonte: https://supremapropaganda.com.br/agencia- de-marketing-digital-publicidade-e- propaganda-em-itajai-sc/ Nesta etapa, as coletas de dados da fase de análise de requisitos serão utilizadas para fornecer uma descrição de dados a serem armazenados, levando em consideração as informações mais importantes. O modelo Entidade Relacionamento (ER) disponibiliza diversos modelos de dados semânticos ou de alto nível, utilizados no projeto de banco de dados. Tem como objetivo criar uma descrição simples dos dados que melhor corresponda à visão ou à ideia, que os usuários e desenvolvedores têm em relação aos dados (e às pessoas e aos processos a serem representados nos dados). Projeto Conceitual Fonte: https://onsafety.com.br/entenda- como-funciona-gestao-a-vista/ A partir da conversão do projeto conceitual de banco de dados, um SGBD será escolhido para implementar as informações de um esquema ER para um esquema de banco de dados relacional. As três etapas restantes do projeto de banco de dados: A partir do esquema lógico, novas funções devem receber atenção; Desempenho e protótipos dos esquemas físicos; Aspectos de segurança que assegurem que os usuários sejam capazes de acessar os dados de que eles precisam, mas não os dados que desejamos ocultar deles. Projeto Lógico Fonte: Próprio autor. Nesta etapa, todas as alterações devem, ainda, suportaro refinamento maior do projeto de banco de dados, para assegurar que este satisfaça os critérios de desempenho desejados. Criação de índices em algumas tabelas e agrupamento de tabelas serão inicializados nesta fase, e pode envolver um reprojeto substancial de partes do esquema de banco de dados obtido das etapas anteriores de projeto. Projeto Físico Fonte: Livro-texto. Os bancos de dados possuem vários tipos e subtipos de dados. Recomendada a leitura do manual do banco de dados fornecido pelo fabricante para você conhecer os tipos de dados. É muito comum fazer algumas conversões de um tipo de dado para outro durante uma consulta dos dados armazenados no banco de dados. Alguns gerenciadores de bancos de dados conseguem fazer essas conversões diretamente, sem a necessidade de explicitar por meio de funções próprias de conversão. Os elementos de dados básicos e as estruturas de dados mais comuns, utilizadas em diversas linguagens e bancos de dados, estão a seguir. Tipos de dados (data types) Byte, Integer: números inteiros positivos, negativos ou o zero. Real: números inteiros positivos ou negativos compostos por uma parte inteira e outra fracionada. Exemplo: 8,2. Char: caractere alfanumérico como letras, algarismos ou símbolos especiais ocupando uma única posição de memória. Na verdade, esse elemento armazena um número da tabela ASCII. Boolean: armazena estados de uma operação lógica, podendo receber valores de verdadeiro ou falso, armazenando o bit 0 ou 1 dependendo do resultado. Elementos de dados Quando os dados estão organizados de forma coerente, temos uma estrutura de dados. As estruturas também são chamadas tipos de dados compostos e podem ser: Homogêneos: conjunto de dados formado pelo mesmo elemento de dado. Heterogêneos: conjunto de dados formado por mais de um elemento de dado. Elementos de dados As mais comuns serão descritas a seguir. Lembrando que nem todas as estruturas existem nos diferentes bancos de dados. Por exemplo, a estrutura de dados conhecida como vetor não existe no banco de dados Sybase, mas por meio do conceito de cursor podemos lidar com os dados com a mesma funcionalidade dos vetores. Vetores, também conhecidos como array, são uma estrutura de dados simples, linear e estática que mantém uma série finita de elementos de dados do mesmo tamanho e tipo. Estrutura de dados Lista. Cada elemento de dados referencia o seu sucessor. Os tipos de lista são: Lista encadeada: Os elementos são armazenados em sequência, não tendo como acessar um segundo elemento sem acessar o primeiro. Lista ordenada: Os elementos são armazenados seguindo algum critério de ordenação. • Fila Estruturas que se comportam como filas tradicionais e têm como política de funcionamento o FIFO (First in, first out – primeiro que entra, primeiro que sai). As inserções são realizadas no final, e a remoção no início. Existem duas operações nas filas, que são: Estrutura de dados Fonte: Livro-texto. FimComeço - Enqueue: adiciona um elemento ao final da fila. - Dequeue: remove um elemento do início da fila. Figura 33 – Exemplo de estrutura de dados em fila 5 3 7 1 4 Pilha É baseada no princípio LIFO (Last in, first out – último que entra, primeiro que sai). O topo é o único local possível de inserir elementos e a remoção da pilha só ocorre nas extremidades do topo, isto é, os elementos são removidos na ordem inversa da inserção. As funções que se aplicam a pilhas são: PUSH: insere um dado no topo da pilha. POP: remove o item no topo da pilha. TOP: retorna o elemento no topo. Estrutura de dados Árvores Os dados estão dispostos de forma hierárquica, tendo seu elemento principal chamado de raiz, que possui ligação com os outros elementos denominados ramos. Uma árvore binária é aquela em que cada ramo possui mais dois ramos, como na figura a seguir: Estrutura de dados Fonte: Livro-texto. Figura 34 – Exemplo de estrutura de dados em árvore O projeto de dados é considerado a parte estática do sistema, uma vez que diz respeito a um universo persistente de características que dificilmente sofre modificações após a sua definição. E durante sua criação podemos fazer uso de regras de mapeamento de um DER para o modelo de dados escolhido. Em qual etapa é possível encontrar essa descrição? a) Projeto lógico. b) Projeto conceitual. c) Levantamento de requisitos. d) Projeto físico. e) Validação e testes. Interatividade O projeto de dados é considerado a parte estática do sistema, uma vez que diz respeito a um universo persistente de características que dificilmente sofre modificações após a sua definição. E durante sua criação podemos fazer uso de regras de mapeamento de um DER para o modelo de dados escolhido. Em qual etapa é possível encontrar essa descrição? a) Projeto lógico. b) Projeto conceitual. c) Levantamento de requisitos. d) Projeto físico. e) Validação e testes. Resposta ATÉ A PRÓXIMA!
Compartilhar