O documento apresenta uma introdução sobre SQL, incluindo sua história e partes. Descreve os comandos SQL para definição de dados, como CREATE, DROP e ALTER. Explica integridade de chaves, referencial e de domínio. Apresenta tipos de dados e índices. Por fim, solicita um exercício para criação de tabelas relacionais.
Sql com sql server básico - Bóson treinamentosFábio dos Reis
Apostila básica de SQL com SQL Server: Criação de bancos de Dados, Tabelas, inserção, atualização e exclusão de registros.
Views, Backup, Stored Procedures, etc.
Sql com sql server básico - Bóson treinamentosFábio dos Reis
Apostila básica de SQL com SQL Server: Criação de bancos de Dados, Tabelas, inserção, atualização e exclusão de registros.
Views, Backup, Stored Procedures, etc.
Esta apresentação foi desenvolvida para um trabalho da faculdade, onde eu explico um pouco sobre SQL, os subconjuntos (DML, DDL, DCL) e os principais comandos de cada subconjunto.
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
Minicurso de PostgreSQL, ministrado durante o evento Erin2013, explicando a criação de bancos de dados, triggers, procedures, views e comentando um pouco sobre melhoria de desempenho. Tudo com exercícios de Fixação
Esta apresentação foi desenvolvida para um trabalho da faculdade, onde eu explico um pouco sobre SQL, os subconjuntos (DML, DDL, DCL) e os principais comandos de cada subconjunto.
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
Minicurso de PostgreSQL, ministrado durante o evento Erin2013, explicando a criação de bancos de dados, triggers, procedures, views e comentando um pouco sobre melhoria de desempenho. Tudo com exercícios de Fixação
Experiência da EDP na monitorização de vibrações de grupos hídricosCarlosAroeira1
Apresentaçao sobre a experiencia da EDP na
monitorização de grupos geradores hídricos apresentada pelo Eng. Ludovico Morais durante a Reunião do Vibration Institute realizada em Lisboa no dia 24 de maio de 2024
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...Consultoria Acadêmica
A interação face a face acontece em um contexto de copresença: os participantes estão imediatamente
presentes e partilham um mesmo espaço e tempo. As interações face a face têm um caráter dialógico, no
sentido de que implicam ida e volta no fluxo de informação e comunicação. Além disso, os participantes
podem empregar uma multiplicidade de deixas simbólicas para transmitir mensagens, como sorrisos,
franzimento de sobrancelhas e mudanças na entonação da voz. Esse tipo de interação permite que os
participantes comparem a mensagem que foi passada com as várias deixas simbólicas para melhorar a
compreensão da mensagem.
Fonte: Krieser, Deise Stolf. Estudo Contemporâneo e Transversal - Comunicação Assertiva e Interpessoal.
Indaial, SC: Arqué, 2023.
Considerando as características da interação face a face descritas no texto, analise as seguintes afirmações:
I. A interação face a face ocorre em um contexto de copresença, no qual os participantes compartilham o
mesmo espaço e tempo, o que facilita a comunicação direta e imediata.
II. As interações face a face são predominantemente unidirecionais, com uma única pessoa transmitindo
informações e a outra apenas recebendo, sem um fluxo de comunicação bidirecional.
III. Durante as interações face a face, os participantes podem utilizar uma variedade de sinais simbólicos,
como expressões faciais e mudanças na entonação da voz, para transmitir mensagens e melhorar a
compreensão mútua.
É correto o que se afirma em:
ALTERNATIVAS
I, apenas.
III, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
Entre em contato conosco
54 99956-3050
Esta apresentação oferece uma compreensão detalhada e prática sobre como calcular e interpretar as taxas de frequência e gravidade de acidentes, conforme estipulado pela Norma Brasileira Regulamentadora 14280 (NBR 14280). Iniciamos com uma introdução destacando a importância da segurança no ambiente de trabalho e como a redução de acidentes impacta positivamente as organizações.
Exploramos a definição da taxa de frequência de acidentes, apresentando sua fórmula e exemplificando seu cálculo. Enfatizamos sua interpretação como um indicador de risco e sua utilidade na avaliação da eficácia das medidas de segurança adotadas.
Em seguida, abordamos a taxa de gravidade de acidentes, explicando sua fórmula e demonstrando sua aplicação com um exemplo prático. Destacamos a importância dessa taxa na avaliação do impacto dos acidentes na produtividade e na saúde dos trabalhadores.
Oferecemos orientações sobre como aplicar esses cálculos na prática, desde a coleta de dados até a análise dos resultados e a implementação de ações corretivas. Concluímos ressaltando a importância de promover um ambiente de trabalho seguro e incentivando a implementação das medidas necessárias para alcançar esse objetivo.
Ao longo da apresentação, enfatizamos a relevância da NBR 14280 como referência técnica para o cálculo das taxas de acidentes. Encorajamos o debate e a participação da audiência, abrindo espaço para perguntas e fornecendo informações de contato para mais esclarecimentos.
Esta apresentação visa capacitar os participantes a compreender e aplicar os conceitos essenciais para o cálculo das taxas de acidentes, contribuindo assim para a promoção de um ambiente de trabalho mais seguro e saudável para todos.
Proteco Q60A
Placa de controlo Proteco Q60A para motor de Braços / Batente
A Proteco Q60A é uma avançada placa de controlo projetada para portões com 1 ou 2 folhas de batente. Com uma programação intuitiva via display, esta central oferece uma gama abrangente de funcionalidades para garantir o desempenho ideal do seu portão.
Compatível com vários motores
2. Introdução
• SQL (Structured Query Language) é um padrão de
linguagem de consulta comercial.
• SQL usa uma combinação de construtores em
álgebra relacional e cálculo relacional.
• Embora o próprio nome se refira a SQL como uma
linguagem de consulta, ela possui outros recursos.
3. Introdução
• Modelo relacional encontra-se padronizado pela
indústria de informática. Ele é chamado de padrão
SQL.
• O padrão SQL define precisamente uma interface
SQL para a definição de:
• Tabelas
• Operações sobre tabelas (seleção, junção e outras); e
• Definição de regras de integridade de bancos de dados.
4. Introdução
• A SQL é implementada em praticamente todos os
sistemas de bancos de dados relacionais existentes.
• Fabricantes de diferentes SGBDs apresentam
variações de SQL.
• Ex.: PL/SQL
• A existência de padrões facilita a
interoperabilidade.
5. Histórico
• A IBM desenvolveu a versão original da SQL,
originalmente chamada Sequel, no início da década
de 1970.
• Parte do projeto System R.
• Com a evolução da linguagem, está passou a ser
chamada de SQL (Structured Query Language).
• A SQL se estabeleceu como linguagem padrão de
banco de dados relacional.
6. Histórico
• Em 1986 o ANSI e a ISO publicaram um padrão SQL
o SQL-86. Apos este, alguns outros surgiram:
• SQL-89
• SQL-92
• SQL:1999
• SQL:2003
7. Partes da SQL
• A SQL possui várias partes:
• Linguagem de definição de dados (DDL)
• Linguagem de manipulação de dados (DML)
• Integridade (DDL)
• Definições de visões (DDL)
• Controle de transações (DDL) - Especificar o início e o
fim de transações.
• SQL embutida e SQL dinâmica - Definem como as
instruções SQL podem ser incorporadas dentro das
linguagens de programação de finalidade geral (C, C++,
Java).
• Autorização (DDL)
8. Tipos de Domínios Básicos
• char(n) - string de caracteres de tamanho fixo n.
• varchar(n) - string de caracteres de tamanho variável, com
tamanho n máximo.
• int - subconjunto finito de inteiros que é dependente da
máquina.
• smallint - inteiro pequeno (dependente da máquina).
• numeric(p,d) - número de ponto fixo com precisão
especificada.
• Ex.: numeric(3,1) aceita o valor 33,1, mas não aceita 333,1.
• real, double precision - números de ponto flutuante.
• float(n) - número de ponto flutuante, com precisão de pelo
menos n dígitos.
9. Comandos SQL
• Os comandos SQL para definição de dados são:
• CREATE
• DROP
• ALTER
10. O comando CREATE
• O comando CREATE pode ser utilizado para criação
de:
• Tabelas (relações)
• Domínios próprios
• View
• Entre outros.
11. O Comando CREATE
• Para criação de tabelas (relações):
• CREATE TABLE : especifica uma nova relação (tabela). Cada
relação possui um nome e um conjunto de atributos
(colunas), bem como o tipo deste e possíveis restrições.
• Sintaxe:
CREATE TABLE nome (A1 D1, A2 D2, ..., An Dn,
<regra de integridade1>,
...,
<regra de integridadeK> )
• Onde nome é o nome da relação, Ai é um nome de atributo e
Di é o domínio do atributo Ai.
12. O Comando CREATE
• As definições dos atributos têm o seguinte formato:
• Atributo Tipo [NOT NULL [UNIQUE]] [DEFAULT valor]
[AUTO_INCREMENT]
• Onde:
• Atributo: nome do atributo que está sendo definido.
• Tipo: domínio do atributo.
• NOT NULL: expressa que o atributo não pode receber valores
nulos.
• UNIQUE: indica que o atributo tem valor único na tabela.
• DEFAULT valor: indica um valor a ser atribuído ao atributo
caso não seja determinado um valor na inserção.
• AUTO_INCREMENT : utilizado para automatizar um código,
geralmente a chave primária.
13. O Comando CREATE
• Existem diversas restrições de integridade
permitidas, entre elas:
• Integridade de chave:
• PRIMARY KEY (atributos chave)
• Integridade referencial:
• FOREIGN KEY (atributos) REFERENCES tabela_base(atributos)
• Integridade de domínio:
• CHECK (condição)
14. Integridade de Chave
• Definida com a cláusula PRIMARY KEY.
• Não são permitidos valores duplicados em uma
chave primária, ou seja, a chave primária é única.
• Geralmente, não é possível alterar chaves
primárias.
15. Integridade de Chave
• Exemplo da construção de uma relação utilizando
chave primária.
CREATE TABLE empregado
(matricula INT AUTO_INCREMENT,
nome VARCHAR(40) NOT NULL,
sexo CHAR,
salario NUMERIC(10,2),
depto INT NOT NULL,
PRIMARY KEY (matricula));
16. Integridade Referencial
• Definida com a cláusula FOREIGN KEY
• Não é possível definir chaves estrangeiras sem
chaves primárias (exclusivas) existentes.
• Uma chave estrangeira deve corresponder a um
valor de chave primária existente
17. Integridade Referencial
• Exemplo da construção de uma relação utilizando
chave estrangeira.
CREATE TABLE empregado
(matricula INT AUTO_INCREMENT,
...
FOREIGN KEY (depto)
REFERENCES
departamento(codDep));
18. Integridade Referencial
• A cláusula FOREIGN KEY inclui regras de
remoção/atualização:
• FOREIGN KEY (nome_coluna) REFERENCES nome_tabela
[ON DELETE {RESTRICT|CASCADE|SET NULL| SET
DEFAULT}]
[ON UPDATE {RESTRICT|CASCADE|SET NULL| SET
DEFAULT}]
• Supondo que T2 tem uma chave estrangeira para
T1, vejamos as cláusulas ON DELETE e ON UPDATE
19. Integridade Referencial
• ON DELETE:
• RESTRICT: (default) significa que uma tentativa de se
remover uma linha de T1 falhará se alguma linha em T2
combina com a chave.
• CASCADE: remoção de uma linha de T1 implica em
remoção de todas as linhas de T2 que combina com a
chave de T1.
• SET NULL: remoção de T1 implica em colocar NULL em
todos os atributos da chave estrangeira de cada linha de
T2 que combina.
• SET DEFAULT: remoção de linha em T1 implica em
colocar valores DEFAULT nos atributos da chave
estrangeira de cada linha de T2 que combina.
20. Integridade Referencial
• ON UPDATE
• RESTRICT: (default) update de um atributo de T1 falha se
existem linhas em T2 combinando.
• CASCADE: update de atributo em T1 implica que linhas
que combinam em T2 também serão atualizadas.
• SET NULL: update de T1 implica que valores da chave
estrangeira em T2 nas linhas que combinam são postos
para NULL.
• SET DEFAULT: update de T1 implica que valores da chave
estrangeira de T2 nas linhas que combinam terão
valores default aplicados.
21. Integridade Referencial
• Exemplo da construção de uma relação utilizando
chave estrangeira.
CREATE TABLE empregado
(matricula INT AUTO_INCREMENT,
...
FOREIGN KEY (depto)
REFERENCES
departamento(codDep) ON
UPDATE CASCADE);
22. A Cláusula CHECK
• Define uma condição que cada linha deve
satisfazer.
• Uma única coluna pode ter várias restrições CHECK
que fazem referência à coluna na sua definição.
• As restrições CHECK podem ser definidas no nível
da coluna ou da tabela.
23. A Cláusula CHECK
• Exemplo da construção de uma relação utilizando a
cláusula CHECK.
CREATE TABLE estudante (
nome char(15) NOT NULL,
id_estudante char(10) NOT NULL,
nivel char(15) NOT NULL,
PRIMARY KEY (id_estudante),
CHECK (nivel IN (“Bacharelado”, ”Mestrado”,
”Doutorado”)));
24. O Comando CREATE – Exemplo
CREATE TABLE empregado
(matricula INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(40) NOT NULL,
sexo CHAR,
salario NUMERIC(10,2),
depto INT NOT NULL,
PRIMARY KEY (matricula),
CHECK (salario >= 724,00),
FOREIGN KEY (depto)
REFERENCES
departamento(codDep) ON UPDATE
CASCADE ON DELETE CASCADE);
Observação: este exemplo supõe que a tabela departamento já exista.
25. O Comando DROP
• Remove uma relação do banco de dados.
• Exclui todas as informações sobre a relação removida.
• Sintaxe:
DROP TABLE [IF EXISTS] nome;
Onde:
• IF EXISTS: preveni um erro de ocorrer se a relação não existir.
• nome: nome da relação a ser removida.
• Exemplo:
• DROP TABLE IF EXISTS empregado;
26. O Comando ALTER
• Permite alterar a estrutura da tabela existente.
• Adicionar ou deletar colunas, alterar o tipo de coluna
existentes, ou renomear coluna ou tabelas, entre outros.
• Os novos atributos terão valores nulos em todas as
linhas.
• A inclusão de uma coluna requer a especificação do seu
tipo de dado.
• Está não pode ser definida como NOT NULL.
27. O Comando ALTER
• Sintaxe:
• ALTER TABLE nome_relação
Opção Descrição
ADD [COLUMN] Adiciona uma ou mais colunas
CHANGE [COLUMN] Altera o nome da coluna
MODIFY [COLUMN] Altera o domínio da coluna
DROP [COLUMN] Exclui uma coluna
RENAME [TO] Renomeia a Tabela
Tabela 1 – Algumas das especificações de ALTER TABLE
28. O Comando ALTER
• Exemplos:
• ALTER TABLE nome_tbl
RENAME TO novo_nome;
• ALTER TABLE clientes DROP email;
• ALTER TABLE tarefa
ADD COLUMN complete DECIMAL(2,1)
AFTER description;
29. Escolha do SGBD
• Para está disciplina o SGBD foi escolhido o MySQL.
30. Escolha do SGBD
• O download do MySQL pode ser feito através do
site:
• http://dev.mysql.com/downloads/
• Nesta disciplina vamos utiliza-lo através do sistema
operacional Ubuntu.
• Para fazer o acesso é necessário pelo terminal digite:
• mysql -uroot -p
31. Criação do BD
• Criação do banco de dados:
• create database nome_do_banco;
• Usando o banco de dados:
• use nome_do_banco;
32. Exercício
1. Criar três relações baseadas no funcionamento
do IFAL.
• Uma das relações deve conter no mínimo 4 domínios de
atributos diferentes.
• Cada relação deve conter ao menos uma regra de
integridade.
2. Escolha uma das relações e faça no mínimo 3
alterações diferentes, sendo uma de cada vez.
3. Pesquise a sintaxe completa para ALTER TABLE e
faça, ao menos, 2 modificações diferentes na(s)
tabela(s) a sua escolha.
33. Exercício
4. Crie uma relação cliente e a relação vendedor.
5. Defina as relações a seguir usando SQL:
Fornecedor (codigo, nome, cidade)
Venda (cod_venda, quantidade, data, cod_forn)
• Ser on delete – cascade
• Ser on update – cascade
Peca (cod_peca, nome, descricao)
• É obrigatório que:
• Todos os atributos das cinco relações não sejam nulos.
• cod_venda seja auto incrementado pelo sistema.
• quantidade seja maior que zero.
• Nome da peça seja único.
34. Tipos Definidos pelo Usuário
• A SQL aceita duas formas de tipos de dados definidos
pelo usuário:
• Tipos distintos; e
• Tipos estruturados.
• É possível que vários atributos possuam o mesmo tipo
de dados.
• O tipos de dados definidos pelo usuário se propõe a
fazer algumas separações como comparar um valor
monetário em dólares e em libras, por exemplo.
35. Tipos Definidos pelo Usuário
• A cláusula CREATE TYPE (SQL:1999) pode ser utilizada
para criação de um novo tipo.
Ex.: CREATE TYPE Dolar AS numeric (10,2) final
CREATE TYPE Libra AS numeric (10,2) final
• Os tipos recém criados podem ser utilizados como tipos
de atributos nas relações.
Ex.: CREATE TABLE Conta (num_conta char(10), nome_agencia
varchar(15), saldo Dolar)
36. Tipos Definidos pelo Usuário
• Anterior ao SQL:1999 a SQL possuia uma notação
semelhante chamada tipo de domínio (SQL-92).
• A cláusula em questão era CREATE DOMAIN.
Ex.: CREATE DOMAIN Dolar AS numeric (10,2)
37. Índices
• Utilizados para encontrar registros com um valor
específico de uma coluna rapidamente.
• Sem um índice a procura de um registro ocorre de
forma sequencial.
• Qual a implicação disto?
• Quanto maior a tabela, maior será o custo.
38. Índices
• A utilização de índices torna a busca mais
otimizada.
• Não há necessidade de se varrer todos os registros.
• Como os Índices são Criados?
• Automaticamente: Um índice exclusivo é criado
automaticamente quando você define uma restrição
PRIMARY KEY ou UNIQUE em uma definição de tabela.
• Manualmente: Usuários podem criar índices não-
exclusivos em colunas para acelerar o tempo de acesso
às linhas
39. Índices
• Quando não utilizar índices:
• Quando a tabela for pequena.
• Quando as colunas não forem utilizadas com frequência
como uma condição na consulta.
• Quando a tabela for atualizada com frequência.
40. Índices
• Índices podem ser criados tanto no momento da
concepção da tabela quanto em uma tabela já
existente.
• Sintaxe de criação de índices:
CREATE [UNIQUE|FULLTEXT] INDEX nome_indice
ON nome_tabela (index_col_name,...)
41. Índices
• Exemplos:
CREATE TABLE CLIENTES(Codigo INT, Nome VARCHAR(50),
INDEX (Codigo));
CREATE TABLE TESTE(Nome VARCHAR(40) NOT NULL,
INDEX Nome_indice (Nome(10)));
CREATE TABLE TESTE (id INT NOT NULL, ultimo_nome
CHAR(30) NOT NULL, primeiro_nome CHAR(30) NOT
NULL, PRIMARY KEY (id), INDEX nome (ultimo_nome,
primeiro_nome));
42. Índices
• Caso a tabela já existir:
CREATE INDEX idx_CLIENTES_CODIGO ON
CLIENTES(Codigo);
• Para alterar:
ALTER TABLE TESTE ADD INDEX(campo1, campo2);
43. Índices
• Para eliminar um índice:
DROP INDEX indice_nome ON tabela_nome
• Ex.: DROP INDEX
OBS.: Para excluir uma chave primária, o nome do índice é
sempre PRIMARY, que deve ser especificado como um
identificador entre aspas porque PRIMARY é uma palavra
reservada.
44. Exercício
• Elabore as relações a seguir conforme o solicitado
nas regras.
Empregado(matricula, nome, salario, supervisor, depto)
Departamento(codDep, nome, gerente, dataIni)
Projeto(codProj, nome, local, depart)
Alocacao(matricula, codProj, horas)
Dependente(codDepend, matricula, nome, sexo)
45. Exercício
• Regras:
• As chaves primárias das relações devem ser
automaticamente incrementadas pelo sistema.
• Nenhum dos atributos pode ser nulo, com exceção do
atributo supervisor pertencente a relação Empregado.
• O nome do projeto e o nome do departamento devem
ser únicos.
• Quando nada for digitado para ser armazenado no
atributo supervisor, na relação Empregado, “Não tem
supervisor” deve ser escrito em seu lugar.
46. Exercício
• Qualquer atualização ou deleção deve ser feito em
cascata pelo sistema.
• Na relação Empregado, o atributo nome deve ser
utilizado como um índice de tamanho 10.
• Crie um índice para a relação Empregado e inclua o
atributo matricula como índice.
• Altere a relação Departamento de modo a incluir um
índice nos atributos nome e gerente.
• Altere a relação Dependente de modo a incluir um
índice nos atributos codDepend e matricula.
• Exclua o índice presente na relação Empregado.