• Nenhum resultado encontrado

Banco de Dados - Linguagem

N/A
N/A
Protected

Academic year: 2021

Share "Banco de Dados - Linguagem"

Copied!
40
0
0

Texto

(1)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAHIA

Banco de Dados

Prf. Msc. Igor de Oliveira Costa INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAHIA

(2)

Relações e Domínios

Terminologia

– Em Banco de Dados relacional, uma linha da tabela é chamada de Tupla:

(3)

O cabeçalho da coluna é chamado de atributo:

Relações e Domínios

(4)

A tabela na terminologia é chamada de relação:

Relações e Domínios

(5)

Podemos definir Domínio como o tipo de dados que descrevem os tipos de valores que estão contidos em uma determinada coluna de uma relação (tabela); • Um domínio é um conjunto de valores atômico; – Exemplo: • Telefone: conjunto de números válidos no Brasil com 10 dígitos;

Relações e Domínios

(6)

Características das Relações: – A ordem das tuplas e dos atributos não tem importância; – Todo atributo possui valor atômico; – Cada atributo numa relação tem um nome que é único dentro da relação; – Todas as tuplas devem ser únicas (conjunto).

Relações e Domínios

(7)

DDL

Data Definition LanguageLinguagem de Definição de DadosComo Linguagem será utilizado o SQL (Structured Query Language) a linguagem de consulta mais influente; • Embora nos referimos a SQL como uma linguagem de consulta, ela pode fazer muito mais do que simplesmente consultar um

(8)

DDL

Ela pode definir a estrutura dos dados, modificar dados no banco de dados e especificar restrições de segurança; • A linguagem SQL foi desenvolvida pela IBM em meados dos anos 70, inicialmente a linguagem se chamava Sequel; • Em 1986 a American National Standards Institute

(ANSI) e a International Organization for

Standardization (ISO) definiram um padrão para a

(9)

A Linguagem SQL possui várias partes: – Linguagem de Definição de Dados (DDL); – Linguagem de Modelagem de Dados (DML); – Integridade; – Definição de view; – Controle de transação; – SQL embutida e dinâmica;

DDL

(10)

DDL

O principal comando para definição de dados é o CREATE; – Esquemas; – Tabelas (relações); – Domínio.

(11)

DDL

CREATE SCHEMA

O comando create schema e create database são similares;

Para criar um Schema é necessário ter permissão para tal;

(12)

DDL

Exemplo:Para utilizar a base criada se utiliza o comando: – USE database, onde database é o nome do schema;

(13)

DDL

(14)

Índices (INDEX)

Um banco de dados é uma estrutura criada para suportar uma grande quantidade de dados, estes dados constantemente precisam ser recuperados e para isso consulta são realizadas; • As consultas em um Banco utiliza um esquema conhecido por TABLE SCAN, ou seja, percorre toda a tabela para encontrar o registro referente ao filtro;

(15)

Índices (INDEX)

Imagine um banco com um milhão de registros, e o filtro irá buscar o último registro, essa operação irá demorar muito e possivelmente irá retornar um erro de Timeout;Existem várias formas de contornar essa situação, e uma delas é utilização de índices;

(16)

Índices (INDEX)

Um índice é uma estrutura interna utilizada pelo SGBD para acessar os dados dentro de uma tabela, de forma direta; • Na prática, sempre se deve criar um índice para o atributo que é a chave primária e para os demais atributos que, em determinada aplicação, serão mais acessados;

(17)

Quando um índice é criado o SGBD ordena a relação por essa coluna, e a partir dai a busca nessa relação é feita de forma binária; • Em uma busca binária a relação sofre divisões sucessivas até que o filtro seja satisfeito, na prática a tabela é dividida no meio e é verificado se o índice procurado é menor ou maior que o meio, se for menor a primeira parte é acessada se não a segunda parte, depois outras divisões são

Índices (INDEX)

(18)
(19)

Criando um índice

(20)

DDL

DROPO comando DROP TABLE serve para remover permanentemente uma tabela ou uma visão. • DROP TABLE <nome da tabela>;DROP [TEMPORARY] TABLE <nome da tabela>;DROP TABLE <nome da tabela> [IF EXISTIS]

(21)

DDL

ALTERO comando ALTER TABLE altera a estrutura de uma tabela do banco de dados, sua sintaxe irá depender basicamente da alteração a ser realizada: • Renomeando uma tabela – ALTER TABLE <nome da tabela> RENAME <novo

(22)

DDL

Para modificar a definição de uma coluna da relação: – ALTER TABLE <nomedatabela> MODIFY <nomedocampo> <definicao>; • Para modificar o nome e a definição – ALTER TABLE <nomedatabela> CHANGE <nomedocampo> <novonome>;

(23)

DDL

Adicionar uma nova coluna na tabela – ALTER TABLE <nomedatabela> ADD <nomecoluna><definição>; • Remover uma coluna específica – ALTER TABLE <nomedatabela> DROP

(24)

DDL

Adicionar uma chave primária a tabela; – ALTER TABLE <nometabela> ADD PRIMARY KEY (<coluna>); • Deletar a chave primária de uma determinada tabela – ALTER TABLE <nometabela> DROP PRIMARY KEY ;

(25)

DDL

Criar um índice para uma tabela – ALTER TABLE <nometabela> ADD index(<coluna>); • Deletando um índice de uma tabela – ALTER TABLE <nometabela> DROP index(<coluna>);

(26)

DML

Insert

• INSERT INTO table_name (column1, column2, column3,...)

(27)

DML

UpdateEste comando é usado para mudar valores de tuplas que já foram cadastradas anteriormente e que obedecem a determinados critérios especificados em condições; – UPDATE <nometabela> SET coluna=valor WHERE <condições>; – UPDATE Aluno SET matricula=‘1234’ WHERE id = ‘10’;

(28)

DML

DELETEO comando DELETE é usado para remover tuplas de uma relação, este comando pode remover mais uma tupla ao mesmo tempo, caso várias linhas obedeçam às condições; – DELETE FROM <nometabela> WHERE <condição>;

(29)

DML

Consultas em SQL – O comando SELECT é usado para consultar o BD e retornar dados recuperados que satisfazem a determinada condição expressa no comando. – SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condições> – A lista de atributos corresponde as colunas das tabelas que se deseja mostrar, caso o objetivo seja mostrar todas as colunas utiliza-se o * no lugar

(30)

A lista de tabelas que deverá ser especificada depois do FROM corresponde a todas as tabelas envolvidas na consulta; • A cláusula WHERE especifica que valores ou linhas serão recuperadas ou exibidas, de acordo com as condições; • As condições da cláusula WHERE podem usar os seguintes operadores: =, >, <, >=, <=, <>(diferente) e LIKE (para procurar partes de textos nos atributos), essas expressões utilizam os seguintes operadores AND, OR e NOT.

DML

(31)

DML

(32)
(33)

Exemplos de utilizam do comando LIKE

(34)

Ordenação

A ordenação pode ser definida com o comando ORDER BY:

(35)

DML

Junção de tabelas com JOINA cláusula JOIN permite a junção de tabelas similar ao método ensinado anteriormente, no entanto, com essa cláusula existe algumas formas de como retornar os resultados, basicamente os tipos principais de Joins são: – INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN;

(36)
(37)

DML

INNER JOIN

– O Inner Join é o método de junção mais conhecido e, retorna os registros que são comuns às duas

tabelas;

select * from Professor p INNER JOIN Disciplina d ON (p.Professor_id = d.professor_id)

(38)

DML

LEFT JOIN – O Left Join, tem como resultado todos os registros que estão na tabela A (mesmo que não estejam na tabela B) e os registros da tabela B que são comuns à tabela A.

select * from Professor p LEFT JOIN Disciplina d ON (p.Professor_id = d.professor_id)

(39)

DML

RIGHT JOIN – Usando o Right Join, teremos como resultado todos os registros que estão na tabela B (mesmo que não estejam na tabela A) e os registros da tabela A que são comuns à tabela B.

select * from Professor p RIGHT JOIN Disciplina d ON (p.Professor_id = d.professor_id)

(40)

DML

Relacionando várias tabelas com JOIN

select * from Aluno a INNER JOIN

AlunoDisciplina ad ON a.aluno_id = ad.aluno_id

INNER JOIN Disciplina d ON ad.disciplina_id =

d.disciplina_id

INNER JOIN Professor p ON d.professor_id =

Referências

Documentos relacionados

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

4 RESULTADOS E DISCUSSÃO 4.1 Caracterização da cobertura florestal e da biodiversidade vegetal no entorno dos cultivos de tomate na região de Apiaí-SP a Módulos