SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Banco de dados: teoria, organização e comandos de umBanco de dados: teoria, organização e comandos de um
SGBD relacionalSGBD relacional
Prof. Alex Camargo
alexcamargoweb@gmail.com
UNIVERSIDADE FEDERAL DO PAMPA
CURSO DE ENGENHARIA DE COMPUTAÇÃO
DISCIPLINA DE ENGENHARIA DE SOFTWARE
AULA 01 DE 02
Maio/2018
2
I. Organização da aula
Esta aula está organizada da seguinte maneira:
 Conceitos gerais de SGBDs
 Modelagem de dados relacional
 Linguagem SQL
 Exercícios

 Referências
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
3
II. Apresentação do professor
Formação acadêmica:
 Bacharel em Sistemas de Informação (URCAMP, 2011)
TCC: Web sistema integrado a uma rede social para
academias de ginástica.
Orientador: Prof. Abner Guedes
 Especialista em Sistemas Distribuídos com Ênfase em
Banco de Dados (UNIPAMPA, 2013)
TCC: Interligando bases de dados do sistema Controle de
Marcas e Sinais utilizando o MySQL Cluster.
Orientador: Prof. Érico Amaral
Coorientador: Prof. Rafael Bastos (IDEAU)
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
4
II. Apresentação do professor
Formação acadêmica:
 Mestre em Engenharia de Computação (FURG, 2017)
Dissertação: EN-MUTATE: predição do impacto de mutações
pontuais em proteínas utilizando Ensemble Learning.
Orientadora: Profa. Karina Machado
Coorientador: Prof. Adriano Werhli
 Doutorando em Ciência da Computação (UFPEL)
Tese: Em definição.
Orientador: Aluno especial
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
5
II. Apresentação do professor
Principais projetos acadêmicos:
 Bioinformática Estrutural de Proteínas: modelos,
algoritmos e aplicações biotecnológicas.
Universidade: FURG/UFMG/UFPB
Área: Bioinformática
 Algo+: um portal para o apoio ao ensino de Algoritmos.
Universidade: UNIPAMPA
Área: Informática na educação
 Revisor do periódicos ICCEEg (ISSN 2236-0093) e CCEI
(ISSN 2356-6635)
Universidades: FURG/URCAMP
Área: Multidisciplinar
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
6
II. Apresentação do professor
Principal atividade profissional:
 Sócio-proprietário da APUS Digital.
Projeto: Aplicativo Gás Connect
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
7
II. Apresentação do professor
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
8
II. Apresentação do professor
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
9
II. Apresentação do professor
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
10
III. Objetivos da aula
Dentre os principais objetivos, podem ser elencados:
 Apresentar a teoria concernente a SGBDs, tabelas e seus
relacionamentos.
 Executar instruções DDL (definição de dados) na linguagem
SQL.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
11
1. CONCEITOS GERAIS DE SGBDs
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
12
1.1 Introdução
Um Banco de Dados (BD, em inglês DB, database) são conjuntos de
dados com uma estrutura regular que tem como objetivo organizar
uma informação.
 Normalmente agrupa informações utilizadas para um mesmo
fim.
 Podem ser organizados em diferentes arquiteturas.
 Se tornou um dos principais componentes dos sistemas de
informação.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
13
1.2 O modelo relacional
O modelo relacional é uma teoria matemática criada por Edgar
Frank Codd em 1970 para descrever como as bases de dados
deveriam funcionar.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Modelo Conceitual versus Modelo Relacional
14
1.2 O modelo relacional
De acordo com o Princípio de Informação, toda informação tem de
ser representada como dados; qualquer tipo de atributo representa
relações entre conjuntos de dados.
 A estrutura fundamental do modelo relacional são as tabelas.
 Uma tabela é constituída por um ou mais atributos (colunas)
que traduzem o tipo de dado a armazenar.
 Cada instância (linha) é chamada de tupla (registro).
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
15
1.2 O modelo relacional
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Exemplos de tabelas sob o modelo relacional.
16
1.3 SGBDs
Um banco de dados informatizado é usualmente mantido e
acessado por meio de um software conhecido como Sistema
Gerenciador de Banco de Dados (SGBD).
 SGBDs: programas que permitem ao usuário definir, construir
e manipular bases de dados.
 Muitas vezes o termo banco de dados é usado como sinônimo
de SGDB (afirmativa errada).
 Os SGBDs estão disponíveis em diferentes tipos:
relacionais, orientados a objetos, objeto relacional, etc.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
17
1.3 SGBDs
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Exemplos de SGBDs.
18
1.4 Arquiteturas tradicionais
Alguns aspectos relevantes devem ser considerados para atingir
eficiência e eficácia nos sistemas desenvolvidos, a fim de atender
usuários nos mais variados domínios de aplicação.
 Centralizados
 Cliente-servidor
 Paralelos
 Distribuídos
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
19
2. MODELAGEM DE DADOS RELACIONAL
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
20
2.1 Introdução
Para que seja possível implementar de forma correta um BD
utilizando algum SGBD, é preciso realizar a modelagem dos dados
basicamente em 3 etapas:
 1. Entendimento do problema;
 2. Construção do modelo ER (entidade e relacionamento);
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
21
2.1 Introdução
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Diagrama ER (Cliente x Telefone).
22
2.1 Introdução
Para que seja possível implementar de forma correta um BD
utilizando algum SGBD, é preciso realizar a modelagem dos dados
basicamente em 3 etapas:
 1. Entendimento do problema;
 2. Construção do modelo ER (entidade e relacionamento);
 3. Implementação (SGBD).
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
23
2.1 Introdução
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Diagrama Relacional.
24
2.2 Tipos de chaves
No modelo relacional íntegro a única forma de relacionar dados que
existem em uma tabela com dados que existem em outra tabela é
através de atributos comuns.
 Chave primária (Primary key - PK): uma coluna ou um
grupo de colunas que assegura a unicidade das linhas dentro
de uma tabela.
 Chave estrangeira (Foreign key - FK): estabelece a
restrição de integridade referencial entre duas tabelas.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
25
2.2 Tipos de chaves
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Diagrama Relacional com destaque para chave primária (PK) e estrangeira (FK)
PK
FK
26
2.3 Tipos de dados
Em SGBDs*, cada campo (coluna) de uma tabela deverá possuir
um nome e um tipo de dado
 CHAR(n): aceita qualquer valor. O texto tem comprimento fixo.
Ex.: `Cpf` CHAR(14)
 VARCHAR(n): aceita qualquer valor. O texto é de comprimento
variável.
Ex.: `Nome` VARCHAR(50)
 TEXT: aceita qualquer valor. O texto é de comprimento
variável em cada configuração de SGBD.
Ex.: `Observacoes` TEXT
 INT: aceita valores numéricos inteiros.
Ex.: `QuantidadeFilhos` INT
* principais tipos de dados do SGBD MySQL¹
27
2.3 Tipos de dados
Em SGBDs*, cada campo (coluna) de uma tabela deverá possuir
um nome e um tipo de dado.
 FLOAT: número de ponto flutuante de precisão simples.
Ex.: `Peso` FLOAT
 DATE: armazena valores de data.
Ex.: `DataNascimento` DATE
 TIME: armazena valores de hora.
Ex.: `Chegada` TIME
* principais tipos de dados do SGBD MySQL¹
28
3. LINGUAGEM SQL
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
29
3.1 Introdução
Structured Query Language (SQL) é a linguagem padrão dos
os bancos de dados relacionais. Seus comandos são divididos em:
 DDL (Data Definition Language): destinada a criação do
banco de dados, tabelas, além das relações existentes.
Ex.: CREATE, ALTER e DROP.
 DML (Data Manipulation Language): destinados a
consultas, inserções, exclusões e alterações em um ou mais
registros de uma ou mais tabelas.
Ex.: SELECT, INSERT, UPDATE e DELETE.
 DCL (Data Control Language): dispõe de comandos de
controle.
Ex.: GRANTE e REVOKE.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
30
3.2 Comando CREATE DATABASE
Utilizado para criar um novo banco de dados.
 CREATE DATABASE Nome_do_Banco;
Exibe os bancos de dados:
 SHOW DATABASES;
Seleciona um banco de dados:
 USE Nome_do_Banco;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
31
3.2. Comando CREATE DATABASE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando CREATE DATABASE.
32
3.3 Comando DROP DATABASE/SCHEMA
Utilizado para excluir um banco de dados.
 DROP SCHEMA Nome_do_Banco;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
33
3.3. Comando DROP DATABASE/SCHEMA
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando DROP DATABASE/SCHEMA.
34
3.4 Comando CREATE TABLE
Utilizado para criar uma nova tabela.
 CREATE TABLE Nome_da_Tabela (
Atributo1 Tipo,
Atributo2 Tipo,
AtributoN Tipo,
PRIMARY KEY (Atributo1)
);
Exibe as tabelas de um determinado banco de dados.
 SHOW TABLES;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
35
3.4. Comando CREATE TABLE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando CREATE TABLE.
36
3.5 Comando CREATE TABLE (com FK)
Utilizado para criar uma nova tabela que contenha chaves
estrangeiras.
 CREATE TABLE Nome_da_Tabela (
Atributo1 Tipo,
Atributo2 Tipo,
AtributoN Tipo,
PRIMARY KEY (Atributo1),
CONSTRAINT Nome_da_Relação
FOREIGN KEY (Atributo2)
REFERENCES Nome_da_Tabela_Referenciada (Atributo_Ref)
);
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
37
3.5. Comando CREATE TABLE
(com chave estrangeira)
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando CREATE TABLE (com chave estrangeira).
38
3.6 Comando ALTER TABLE
Utilizado para modificar (adicionar, alterar ou eliminar) colunas (ou
parâmetros) da estrutura de uma tabela.
 ALTER TABLE Nome_da_Tabela [ADD][CHANGE][DROP
COLUMN];
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
39
3.6. Comando ALTER TABLE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando ALTER TABLE.
40
3.7 Comando DROP TABLE
Utilizado para excluir uma tabela.
 DROP TABLE Nome_da_Tabela;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
41
3.7 Comando DROP TABLE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando DROP TABLE.
42
4. EXERCÍCIOS
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
43
4.1 Atividade 1
Utilize comandos SQL para as seguintes situações (baseado na
figura e configuração de servidor dos slides subsequentes):
 a) Criar um banco de dados;
 b) Criar uma tabela;
 c) Adicionar uma nova coluna chamada "Valor";
 d) Alterar a coluna "Empresa" para "Parceiro";
 e) Eliminar a coluna "Valor";
 f) Eliminar a tabela criada;
 g) Eliminar o banco de dados criado.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
44
4.1. Atividade 1
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Exemplo de planilha de uma agência web.
45
4.1 Atividade 1
Passos para configurar o servidor remoto APUS Digital:
 a) Abra a ferramenta MySQL Workbench;
 b) Clicar no ícone “+” para adicionar uma nova conexão;
 c) Dados de conexão:
 Connection name: Unipampa
 Hostname: apus.digital
 Port: 3306
 Username: bifljuup_[6 primeiros caracteres do nome]
 Password: e-mail cadastrado na Universidade
 d) Clicar em Test Connection;
 e) Clicar em Ok;
 f) Selecionar a conexão criada.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
46
4.2 Atividade 2 (via Moodle)
Implementar um banco de dados (relacional) para o "Atendimento
acadêmico" docente/discente utilizando comandos SQL.
A implementação deve apresentar 3 tabelas que atendam as
seguintes necessidades: cadastro de aluno, cadastro de professor e
agendamento. A implementação deve conter, obrigatoriamente,
pelo menos:
 a) 3 colunas (atributos) por tabela;
 b) 1 Chave primária;
 c) 1 Chave estrangeira;
 d) 3 tipos de dados diferentes.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
47
Referências
DAMAS, Luís. SQL, Structured query language. Tradução Elvira Maria Antunes
Uchôa. 6a Edição, Rio de Janeiro: LTC, 2007.
MEIRA, Regilan. Banco de Dados (Apostila). Instituto Federal da Bahia -
Campus Ilhéus, 2013.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo

Mais conteúdo relacionado

Mais procurados

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
rosimaracorsino
 

Mais procurados (20)

1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo Lógico
 
Banco de Dados II Aula 10 - Linguagem de Consulta SQL (SQL Avançada)
Banco de Dados II Aula 10 - Linguagem de Consulta SQL (SQL Avançada)Banco de Dados II Aula 10 - Linguagem de Consulta SQL (SQL Avançada)
Banco de Dados II Aula 10 - Linguagem de Consulta SQL (SQL Avançada)
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 

Semelhante a Banco de Dados (parte 01)

Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Andre Sidou
 

Semelhante a Banco de Dados (parte 01) (20)

Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdfgcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Brevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionaisBrevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionais
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Apostila de banco de dados da ucg
Apostila de banco de dados da ucgApostila de banco de dados da ucg
Apostila de banco de dados da ucg
 
Banco de Dados - Aula 02
Banco de Dados - Aula 02Banco de Dados - Aula 02
Banco de Dados - Aula 02
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
BD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BDBD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BD
 
FLTK Summer Course - Part VII - Seventh Impact
FLTK Summer Course - Part VII  - Seventh ImpactFLTK Summer Course - Part VII  - Seventh Impact
FLTK Summer Course - Part VII - Seventh Impact
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 

Mais de Alex Camargo

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Banco de Dados (parte 01)

  • 1. Banco de dados: teoria, organização e comandos de umBanco de dados: teoria, organização e comandos de um SGBD relacionalSGBD relacional Prof. Alex Camargo alexcamargoweb@gmail.com UNIVERSIDADE FEDERAL DO PAMPA CURSO DE ENGENHARIA DE COMPUTAÇÃO DISCIPLINA DE ENGENHARIA DE SOFTWARE AULA 01 DE 02 Maio/2018
  • 2. 2 I. Organização da aula Esta aula está organizada da seguinte maneira:  Conceitos gerais de SGBDs  Modelagem de dados relacional  Linguagem SQL  Exercícios   Referências Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 3. 3 II. Apresentação do professor Formação acadêmica:  Bacharel em Sistemas de Informação (URCAMP, 2011) TCC: Web sistema integrado a uma rede social para academias de ginástica. Orientador: Prof. Abner Guedes  Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013) TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster. Orientador: Prof. Érico Amaral Coorientador: Prof. Rafael Bastos (IDEAU) Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 4. 4 II. Apresentação do professor Formação acadêmica:  Mestre em Engenharia de Computação (FURG, 2017) Dissertação: EN-MUTATE: predição do impacto de mutações pontuais em proteínas utilizando Ensemble Learning. Orientadora: Profa. Karina Machado Coorientador: Prof. Adriano Werhli  Doutorando em Ciência da Computação (UFPEL) Tese: Em definição. Orientador: Aluno especial Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 5. 5 II. Apresentação do professor Principais projetos acadêmicos:  Bioinformática Estrutural de Proteínas: modelos, algoritmos e aplicações biotecnológicas. Universidade: FURG/UFMG/UFPB Área: Bioinformática  Algo+: um portal para o apoio ao ensino de Algoritmos. Universidade: UNIPAMPA Área: Informática na educação  Revisor do periódicos ICCEEg (ISSN 2236-0093) e CCEI (ISSN 2356-6635) Universidades: FURG/URCAMP Área: Multidisciplinar Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 6. 6 II. Apresentação do professor Principal atividade profissional:  Sócio-proprietário da APUS Digital. Projeto: Aplicativo Gás Connect Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 7. 7 II. Apresentação do professor Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 8. 8 II. Apresentação do professor Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 9. 9 II. Apresentação do professor Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 10. 10 III. Objetivos da aula Dentre os principais objetivos, podem ser elencados:  Apresentar a teoria concernente a SGBDs, tabelas e seus relacionamentos.  Executar instruções DDL (definição de dados) na linguagem SQL. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 11. 11 1. CONCEITOS GERAIS DE SGBDs Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 12. 12 1.1 Introdução Um Banco de Dados (BD, em inglês DB, database) são conjuntos de dados com uma estrutura regular que tem como objetivo organizar uma informação.  Normalmente agrupa informações utilizadas para um mesmo fim.  Podem ser organizados em diferentes arquiteturas.  Se tornou um dos principais componentes dos sistemas de informação. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 13. 13 1.2 O modelo relacional O modelo relacional é uma teoria matemática criada por Edgar Frank Codd em 1970 para descrever como as bases de dados deveriam funcionar. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Modelo Conceitual versus Modelo Relacional
  • 14. 14 1.2 O modelo relacional De acordo com o Princípio de Informação, toda informação tem de ser representada como dados; qualquer tipo de atributo representa relações entre conjuntos de dados.  A estrutura fundamental do modelo relacional são as tabelas.  Uma tabela é constituída por um ou mais atributos (colunas) que traduzem o tipo de dado a armazenar.  Cada instância (linha) é chamada de tupla (registro). Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 15. 15 1.2 O modelo relacional Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Exemplos de tabelas sob o modelo relacional.
  • 16. 16 1.3 SGBDs Um banco de dados informatizado é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD).  SGBDs: programas que permitem ao usuário definir, construir e manipular bases de dados.  Muitas vezes o termo banco de dados é usado como sinônimo de SGDB (afirmativa errada).  Os SGBDs estão disponíveis em diferentes tipos: relacionais, orientados a objetos, objeto relacional, etc. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 17. 17 1.3 SGBDs Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Exemplos de SGBDs.
  • 18. 18 1.4 Arquiteturas tradicionais Alguns aspectos relevantes devem ser considerados para atingir eficiência e eficácia nos sistemas desenvolvidos, a fim de atender usuários nos mais variados domínios de aplicação.  Centralizados  Cliente-servidor  Paralelos  Distribuídos Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 19. 19 2. MODELAGEM DE DADOS RELACIONAL Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 20. 20 2.1 Introdução Para que seja possível implementar de forma correta um BD utilizando algum SGBD, é preciso realizar a modelagem dos dados basicamente em 3 etapas:  1. Entendimento do problema;  2. Construção do modelo ER (entidade e relacionamento); Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 21. 21 2.1 Introdução Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Diagrama ER (Cliente x Telefone).
  • 22. 22 2.1 Introdução Para que seja possível implementar de forma correta um BD utilizando algum SGBD, é preciso realizar a modelagem dos dados basicamente em 3 etapas:  1. Entendimento do problema;  2. Construção do modelo ER (entidade e relacionamento);  3. Implementação (SGBD). Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 23. 23 2.1 Introdução Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Diagrama Relacional.
  • 24. 24 2.2 Tipos de chaves No modelo relacional íntegro a única forma de relacionar dados que existem em uma tabela com dados que existem em outra tabela é através de atributos comuns.  Chave primária (Primary key - PK): uma coluna ou um grupo de colunas que assegura a unicidade das linhas dentro de uma tabela.  Chave estrangeira (Foreign key - FK): estabelece a restrição de integridade referencial entre duas tabelas. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 25. 25 2.2 Tipos de chaves Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Diagrama Relacional com destaque para chave primária (PK) e estrangeira (FK) PK FK
  • 26. 26 2.3 Tipos de dados Em SGBDs*, cada campo (coluna) de uma tabela deverá possuir um nome e um tipo de dado  CHAR(n): aceita qualquer valor. O texto tem comprimento fixo. Ex.: `Cpf` CHAR(14)  VARCHAR(n): aceita qualquer valor. O texto é de comprimento variável. Ex.: `Nome` VARCHAR(50)  TEXT: aceita qualquer valor. O texto é de comprimento variável em cada configuração de SGBD. Ex.: `Observacoes` TEXT  INT: aceita valores numéricos inteiros. Ex.: `QuantidadeFilhos` INT * principais tipos de dados do SGBD MySQL¹
  • 27. 27 2.3 Tipos de dados Em SGBDs*, cada campo (coluna) de uma tabela deverá possuir um nome e um tipo de dado.  FLOAT: número de ponto flutuante de precisão simples. Ex.: `Peso` FLOAT  DATE: armazena valores de data. Ex.: `DataNascimento` DATE  TIME: armazena valores de hora. Ex.: `Chegada` TIME * principais tipos de dados do SGBD MySQL¹
  • 28. 28 3. LINGUAGEM SQL Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 29. 29 3.1 Introdução Structured Query Language (SQL) é a linguagem padrão dos os bancos de dados relacionais. Seus comandos são divididos em:  DDL (Data Definition Language): destinada a criação do banco de dados, tabelas, além das relações existentes. Ex.: CREATE, ALTER e DROP.  DML (Data Manipulation Language): destinados a consultas, inserções, exclusões e alterações em um ou mais registros de uma ou mais tabelas. Ex.: SELECT, INSERT, UPDATE e DELETE.  DCL (Data Control Language): dispõe de comandos de controle. Ex.: GRANTE e REVOKE. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 30. 30 3.2 Comando CREATE DATABASE Utilizado para criar um novo banco de dados.  CREATE DATABASE Nome_do_Banco; Exibe os bancos de dados:  SHOW DATABASES; Seleciona um banco de dados:  USE Nome_do_Banco; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 31. 31 3.2. Comando CREATE DATABASE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando CREATE DATABASE.
  • 32. 32 3.3 Comando DROP DATABASE/SCHEMA Utilizado para excluir um banco de dados.  DROP SCHEMA Nome_do_Banco; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 33. 33 3.3. Comando DROP DATABASE/SCHEMA Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando DROP DATABASE/SCHEMA.
  • 34. 34 3.4 Comando CREATE TABLE Utilizado para criar uma nova tabela.  CREATE TABLE Nome_da_Tabela ( Atributo1 Tipo, Atributo2 Tipo, AtributoN Tipo, PRIMARY KEY (Atributo1) ); Exibe as tabelas de um determinado banco de dados.  SHOW TABLES; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 35. 35 3.4. Comando CREATE TABLE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando CREATE TABLE.
  • 36. 36 3.5 Comando CREATE TABLE (com FK) Utilizado para criar uma nova tabela que contenha chaves estrangeiras.  CREATE TABLE Nome_da_Tabela ( Atributo1 Tipo, Atributo2 Tipo, AtributoN Tipo, PRIMARY KEY (Atributo1), CONSTRAINT Nome_da_Relação FOREIGN KEY (Atributo2) REFERENCES Nome_da_Tabela_Referenciada (Atributo_Ref) ); Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 37. 37 3.5. Comando CREATE TABLE (com chave estrangeira) Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando CREATE TABLE (com chave estrangeira).
  • 38. 38 3.6 Comando ALTER TABLE Utilizado para modificar (adicionar, alterar ou eliminar) colunas (ou parâmetros) da estrutura de uma tabela.  ALTER TABLE Nome_da_Tabela [ADD][CHANGE][DROP COLUMN]; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 39. 39 3.6. Comando ALTER TABLE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando ALTER TABLE.
  • 40. 40 3.7 Comando DROP TABLE Utilizado para excluir uma tabela.  DROP TABLE Nome_da_Tabela; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 41. 41 3.7 Comando DROP TABLE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando DROP TABLE.
  • 42. 42 4. EXERCÍCIOS Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 43. 43 4.1 Atividade 1 Utilize comandos SQL para as seguintes situações (baseado na figura e configuração de servidor dos slides subsequentes):  a) Criar um banco de dados;  b) Criar uma tabela;  c) Adicionar uma nova coluna chamada "Valor";  d) Alterar a coluna "Empresa" para "Parceiro";  e) Eliminar a coluna "Valor";  f) Eliminar a tabela criada;  g) Eliminar o banco de dados criado. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 44. 44 4.1. Atividade 1 Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Exemplo de planilha de uma agência web.
  • 45. 45 4.1 Atividade 1 Passos para configurar o servidor remoto APUS Digital:  a) Abra a ferramenta MySQL Workbench;  b) Clicar no ícone “+” para adicionar uma nova conexão;  c) Dados de conexão:  Connection name: Unipampa  Hostname: apus.digital  Port: 3306  Username: bifljuup_[6 primeiros caracteres do nome]  Password: e-mail cadastrado na Universidade  d) Clicar em Test Connection;  e) Clicar em Ok;  f) Selecionar a conexão criada. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 46. 46 4.2 Atividade 2 (via Moodle) Implementar um banco de dados (relacional) para o "Atendimento acadêmico" docente/discente utilizando comandos SQL. A implementação deve apresentar 3 tabelas que atendam as seguintes necessidades: cadastro de aluno, cadastro de professor e agendamento. A implementação deve conter, obrigatoriamente, pelo menos:  a) 3 colunas (atributos) por tabela;  b) 1 Chave primária;  c) 1 Chave estrangeira;  d) 3 tipos de dados diferentes. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 47. 47 Referências DAMAS, Luís. SQL, Structured query language. Tradução Elvira Maria Antunes Uchôa. 6a Edição, Rio de Janeiro: LTC, 2007. MEIRA, Regilan. Banco de Dados (Apostila). Instituto Federal da Bahia - Campus Ilhéus, 2013. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo