·

Engenharia da Computação ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Recomendado para você

Texto de pré-visualização

BANCO DE DADOS Definições CONCEITOS BÁSICOS 2 Dados são fatos conhecidos que podem ser armazenados e possuem um conhecimento implícito Banco de dados é uma coleção de dados relacionados Sistema Gerenciador de Banco de Dados SGBD ou Database Management System DBMS é um software ou pacote que facilita a criação eou manutenção de um banco de dados computadorizado Sistema de banco de dados é o software SGBD junto aos dados e aplicações FUNCIONALIDADES DE UM SGBD 3 Definir o banco de dados Definir tipos de dados estruturas e restrições Construir o banco de dados Armazenar o banco de dados em um meio de armazenamento secundário Manipular o banco de dados Realizar consultas gerar relatórios inserir eliminar e modificar seu conteúdo Concorrência Processamento concorrente e compartilhamento de recursos por um conjunto de usuários e programas mantendo todos os dados válidos e consistentes FUNCIONALIDADES DE UM SGBD 4 Outras funcionalidades Proteção ou segurança contra acessos não autorizados Apresentação e visualização dos dados Processamento ativo gerando ações internas sobre os dados QUEM USA UM SGBD 5 Administrador de banco de dados Responsável por autorizar acessos ao banco de dados coordenar e monitorar seu uso adquirir recursos de software e hardware controlar o uso monitorar a eficiência de suas operações Projetista de banco de dados Responsável pela definição dos conteúdo a estrutura restrições funções ou transações sobre o banco de dados Comunicamse com usuários finais para entender suas necessidades Usuários finais Executam consultas e relatórios bem como podem realizar atualizações no BD MODELO DE DADOS DE UM SGBD 6 Definição É um conjunto de conceitos que descreve a estrutura do banco de dados e certas restrições que o banco de dados deve obedecer Operações São as operações para especificar como recuperar e atualizar dados no banco de dados utilizando conceitos do modelo de dados Incluem operações básicas e definidas pelos usuários MODELO RELACIONAL DE DADOS 7 Modelo relacional é o modelo de banco de dados mais utilizado atualmente Princípios Os dados são organizados em tabelas onde cada tabela representa uma entidade de dados Cada coluna de uma tabela representa um atributo da entidade Cada linha representa uma instância de uma entidade um registro daquela entidade Operações entre tabelas resultam em tabelas conceitos de álgebra relacional e conjuntos A linguagem que se consagrou para manipular banco de dados relacionais é a Structured Query Language SQL MODELAGEM CONCEITUAL DE UM BD 8 Objetivos Identificar no domínio da aplicação as entidades envolvidas seus atributos bem como os relacionamentos existentes entre si de modo independente de tecnologia É normalmente conduzida como parte das tarefas de engenharia de requisitos e de análise do sistema em um processo de desenvolvimento de software Execução Realizada com ferramentas gráficastextuais Diagramas de entidaderelacionamento DER Diagramas unified modeling language UML MODELAGEM CONCEITUAL DE UM BD 9 O projeto conceitual é normalmente realizado com o auxílio de um DER ou UML MODELAGEM CONCEITUAL DE UM BD 10 Entidade Algum objeto real que foi abstraído no sistema Conjunto de Entidades Categoria ou agrupamento de entidades com características similares e são descritas por um tipo de entidade MODELAGEM CONCEITUAL DE UM BD 11 Atributo Representa uma propriedade de uma entidade Por exemplo os funcionários do slide anterior possuem os atributos Identificação Nome e Salário Os atributos podem ser simples ou atômicos conforme os apresentados ou podem ser compostos ou multivalorados MODELAGEM CONCEITUAL DE UM BD 12 Atributo chave É o atributo que permite diferenciar as entidades entre si Por exemplo o CPF de uma pessoa Relacionamento Representa uma associação existente de acordo com o domínio em estudo entre os conjuntos de entidades Relacionamentos do mesmo tipo são agrupados em um tipo de relacionamento que mapeia entidades de um conjunto com entidades de um outro conjunto MODELAGEM CONCEITUAL DE UM BD 13 Cardinalidade do relacionamento Indica o grau de associação entre dois ou mais tipos de entidades INSTRUÇÕES PARA MANIPULAÇÃO 14 Structured Query Language linguagem de manipulação de banco de dados É uma linguagem procedural pois baseiase na descrição do que obter ao invés de como obter As operações são realizadas sobre tabelas e as respostas obtidas também são tabelas É um padrão internacional sendo utilizada a última revisão SQL2016 PRINCIPAIS COMANDOS DE SQL 15 Manipulação SELECT recupera dados de um banco de dados INSERT adiciona novas linhas ao banco de dados DELETE remove linhas de dados de um banco de dados UPDATE modifica dados existentes em um banco de dados Definição CREATE TABLE adiciona uma nova tabela ao banco de dados DROP TABLE remove uma tabela do banco de dados ALTER TABLE altera a estrutura de uma tabela CREATE VIEW adiciona uma view ao banco de dados DROP VIEW remove uma view do banco de dados PRINCIPAIS COMANDOS DE SQL 16 Definição de dados CREATE SCHEMA adiciona um schema ao banco de dados DROP SCHEMA remove um schema do banco de dados CREATE DOMAIN cria um novo domínio no banco de dados DROP DOMAIN remove um domínio do banco de dados ALTER DOMAIN altera um domínio do banco de dados Controle de Acesso GRANT concede privilégios de uso à um usuário REVOKE remove privilégios de uso de um usuário Controle de transações COMMIT termina a transação atual ROLLBACK aborta a transação atual SOFTWARES 17 Softwares DB Browser for SQLite httpssqlitebrowserorg SQL Online Compiler httpssqliteonlinecom Referência W3 Schools SQL Reference Cursos online Codecademy Learn SQL EXERCÍCIO 18 Baixe o pokedexsql do OpenLMS e abrao no sqliteonline CREATE TABLE pokédex Execute o código INSERT INTO 21 Inserção de dados A operação de inserção de dados é realizada em SQL pelo comando INSERT INTO INSERT INTO tabela campok campoj campom VALUES valork valorj valorm INSERT INTO tabela VALUES valor1 valor2 valorn Na segunda forma preenchese obrigatoriamente os valores de todos os campos na ordem em quem foram criados na tabela Na criação da tabela em campos que se deseja um valor padrão utilizase a palavra DEFAULT como valor INSERT INTO 22 Inserir dados de novos Pokémons INSERT INTO pokédex VALUES 1 Bulbasaur Grass Poison 45 49 49 45 INSERT INTO pokédex idPokémon Nome Tipo1 Tipo2 HP Ataque Defesa Velocidade VALUES 2 Ivysaur Grass Poison 60 62 63 60 Verificar mensagem de erro SELECT 23 Comando SELECT Retorna dados de uma tabela por meio de uma consulta queries O comando permite executar consultas que resultam em seleção de campos registros agrupamento de tabelas Opcionalmente podem envolver comandos aritméticos e agregação para campos calculados SELECT DISTINCT colunas FROM tabelas WHERE condições de busca GROUP BY coluna HAVING condiçãobusca ORDER BY listacolunas SELECT 24 Seleção sem critérios Selecionar todos os registros da tabela SELECT FROM pokédex O símbolo indica no comando que se deseja recuperar todas as colunas da tabela original na tabela resultado SELECT 25 Seleção de um conjunto específico de colunas Selecionar o id e o nome de todos os Pokémons Os nomes das colunas são separados por vírgulas O resultado será uma tabela com os dados referentes apenas às colunas selecionadas na ordem em que foram especificadas SELECT idPokémon Nome FROM pokédex SELECT 26 Seleção de um conjunto específico de colunas renomeandoas Selecionar o número nome e tipos de todos os Pokémons O operador de renomeação de campo é o operador AS SELECT idPokémon AS Número Nome Tipo1 Tipo2 FROM pokédex SELECT 27 Seleção de um conjunto distinto sem repetição de valores Selecionar sem repetir os tipos de Pokémons Mesmo que existam vários Pokémons associados a um mesmo tipo o resultado apresentará apenas tipos distintos de Pokémons SELECT DISTINCT Tipo1 FROM pokédex SELECT 28 Seleção com restrição Selecionar o nome e o tipo dos Pokémons onde o Tipo1 é igual a Grass Constantes de cadeias de caracteres são delimitadas por aspas simples SELECT Nome Tipo1 FROM pokédex WHERE Tipo1 Grass SELECT 29 Seleção com restrição Selecionar o nome e os tipos dos Pokémons onde o Tipo1 ou Tipo2 é igual a Fire Quando se tem expressões complexas é interessante agrupálas com parênteses SELECT Nome Tipo1 Tipo2 FROM pokédex WHERE Tipo1 Fire OR Tipo2 Fire SELECT 30 Resumo dos operadores condicionais e lógicos Símbolo Descrição Igual Diferente de Diferente de Menor que Maior que Menor ou igual a Maior ou igual a AND E lógico OR Ou lógico NOT Negação lógica SELECT 31 Cláusula BETWEEN Selecionar o nome e ataque dos Pokémons com ataque entre 50 e 75 A cláusula BETWEEN permite indicar um intervalo sobre o qual se deseja testar a pertinência de um valor O valor é indicado por um valor menor seguido de AND e pelo valor maior SELECT Nome Ataque FROM pokédex WHERE Ataque BETWEEN 50 AND 75 SELECT 32 Testando valores nulos Selecionar o nome e os tipos de todos os Pokémons sem Tipo2 cadastrado A constante NULL representa um valor não existente isto é um campo não preenchido O teste de não nulidade é realizado com o operador IS SELECT Nome Tipo1 Tipo2 FROM pokédex WHERE Tipo2 IS NULL SELECT 33 Testando valores não nulos Selecionar o nome e os tipos de todos os Pokémons com Tipo2 cadastrado A constante NULL representa um valor não existente isto é um campo não preenchido O teste de não nulidade é realizado com o operador IS NOT SELECT Nome Tipo1 Tipo2 FROM pokédex WHERE Tipo2 IS NOT NULL SELECT 34 Testando a pertinência de um conjunto Selecionar o nome e o Tipo1 dos Pokémons cujo Tipo1 seja Electric ou Ground O operador IN testa os valores do campo com o conjunto apresentado entre parênteses à sua direita Serão consideradas as linhas cujos valores de campo estejam dentro do conjunto testado SELECT Nome Tipo1 FROM pokédex WHERE Tipo1 IN ElectricGround SELECT 35 Busca aproximada de cadeia de caracteres Selecionar o nome dos Pokémons cujo nome se inicia por a independente da caixa A O operador LIKE executa um casamento de padrão procurando determinar se uma cadeia atende ao padrão fornecido O símbolo de padrão é substituído por zero ou mais caracteres ANSI SQL SELECT Nome FROM pokédex WHERE Nome LIKE a SELECT 36 Busca aproximada de cadeia de caracteres Selecionar o nome e o HP de todos os Pokémons cujo HP esteja na faixa de 40 a 49 O símbolo padrão é substituído por um e único caractere em seu lugar ANSI SQL SELECT Nome HP FROM pokédex WHERE HP LIKE 4 SELECT 37 Campos calculados Selecionar o nome ataque e defesa dos Pokémons que possuem a média entre o ataque e defesa maior que 80 Podese especificar como uma coluna de resultado uma expressão envolvendo constantes eou outros nomes de colunas SELECT Nome Ataque Defesa AtaqueDefesa2 AS Média FROM pokédex WHERE AtaqueDefesa2 80 SELECT 38 Resumo dos operadores aritméticos Símbolo Descrição Soma Subtração Multiplicação Divisão Resto da divisão SELECT 39 Operações com conjuntos Selecionar o nome e o Tipo1 dos Pokémons cujo nome tenha 4 letras iniciado por A ou o Tipo1 seja Water UNION é um operador de conjunto que retorna a união do resultado de duas consultas ou mais SELECT Nome Tipo1 FROM pokédex WHERE Nome LIKE A UNION SELECT Nome Tipo1 FROM pokédex WHERE Tipo1 Water SELECT 40 Agrupamento de resultados Selecionar o maior e o menor HP dos Pokémons por Tipo1 MIN retorna o menor valor de um atributo MAX retorna o maior valor de um atributo SUM retorna a soma de um atributo AVG retorna a média de um atributo SELECT Tipo1 MINHP AS HP Mínimo MAXHP AS HP Máximo FROM pokédex GROUP BY Tipo1 SELECT 41 Funções agregadas Quantos Pokémons existem de cada tipo COUNT calcula e retorna a quantidade de tuplas linhas em uma tabela SELECT Tipo1 COUNT AS Quantidade FROM pokédex GROUP BY Tipo1 INSERT INTO 42 INSERT INTO Criar uma nova tabela e copiar os nomes e tipos dos Pokémons com um comando SELECT CREATE TABLE pokédexsimplificada nome VARCHAR40 NOT NULL Tipoprincipal VARCHAR20 NOT NULL Tiposecundário VARCHAR20 HP INT INSERT INTO pokédexsimplificada SELECT Nome Tipo1 Tipo2 HP FROM pokédex SELECT FROM pokédexsimplificada DELETE FROM 43 DELETE FROM Elimina dados de uma tabela DELETE FROM nometabela nomeview WHERE condições CUIDADO Se a cláusula WHERE for omitida todos os dados serão apagados DELETE FROM pokédexsimplificada WHERE Tipoprincipal Bug OR Tiposecundário Bug DELETE FROM Eliminar todos os Pokémons do tipo Bug UPDATE 44 UPDATE Atualiza dados de uma tabela UPDATE nometabela nomeview SET nomecoluna1 expressão1 NULL comandoselect nomecoluna2 WHERE condiçõesbusca UPDATE 45 UPDATE Bastroise ataca Squirtle SELECT FROM pokédexsimplificada WHERE Nome IN Squirtle Blastoise UPDATE pokédexsimplificada SET HP HP SELECT Ataque FROM pokédex WHERE Nome Blastoise SELECT Defesa FROM pokédex WHERE Nome Squirtle WHERE nome Squirtle SELECT FROM pokédexsimplificada WHERE Nome IN Squirtle Blastoise UPDATE 46 UPDATE em várias colunas Atualizar o Tipo1 do Pokémon de Fire para Fogo e adicionar o código E ao atributo Nome para indicar que a entidade foi alterada UPDATE pokédexsimplificada SET Tipoprincipal Fogo Nome Nome E WHERE Tipoprincipal Fire SELECT FROM pokédexsimplificada DROP TABLE 47 DROP TABLE Apagar a Pokédex Simplificada DROP TABLE pokédexsimplificada