0% acharam este documento útil (0 voto)
27 visualizações18 páginas

Bancodedados

Banco de dados

Enviado por

lucelia pereira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
27 visualizações18 páginas

Bancodedados

Banco de dados

Enviado por

lucelia pereira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 18

Banco de Dados- Representam coleções de registros armazenados.

Registros armazenados em
tabelas.

Tipos de Bancos de dados

Hierárquico- Os dados são representados como uma estrutura de arvore. Este modelo é
composto de hierarquia de registro de dados.

Rede-Representa os dados como registros vinculados uns aos outros, formando conjuntos
comuns de dados.

Relacional - Registros armazenados em tabelas estruturadas e relacionadas entre si.


Representa os dados como uma coleção de linhas e colunas em tabelas.

Orientado a objetos- Cada informação é armazenada na forma de objeto com a determinação


de métodos e propriedades.
Banco de dados relacional- Representa coleções de registros armazenados e organizados de
maneira estruturada e relacional.

SGBD – Sistema Gerenciadores de Banco de Dados.

É um programa utilizados para gerenciar a estrutura e informações dos Bancos de Dados.

Principais exemplos de SGBD

Microsoft ACCESS, LibreOffice Base, Microsoft SQL server, MYSQL, dbase.

Tipos de arquivos usados nos SGBD

Access(2007-2016) ------------ .accdb

Access até a versão 2003 ----- .mdb

LibreOffice Base ----------------- .odb

dBase -------------------------------.dbf

Organização

Cada banco de dados pode ser formado por uma ou mais tabelas(Entidades ou relações).

Cada tabela dos bancos de dados são formadas por vários campos(Atributos ou colunas).

Cada Campo possuem vários registros(Tupla ou linha).

Registros são os dados que compõem o banco de dados.

Cada tabela a princípio tem uma chave primária e possuem outras chaves estrangeiras ou
secundarias.

Chave Primária(primary Key)- Uma chave primária identifica exclusivamente cada registro em
uma tabela de banco de dados. As chaves primárias facilitam a vinculação de informações em
tabelas separadas, e é recomendável que você tenha uma chave primária em cada tabela.

Chave Estrangeira(foreign key) – Uma chave estrangeira é um campo que aponta para a chave
primária de outra tabela ou da mesma tabela.

Chave Composta – Uso de vários campos em combinação como uma chave primária.

Chave Secundária- Utilizada como meio para pesquisar, classificar, filtrar ou recuperar
registros. Exemplo de recuperação: Cidade=’fortaleza’.

SQL(Structured Query Language – Linguagem de Consulta Estruturada) – Conjunto de


comandos de manipulação de banco de dados. Através da linguagem SQL podemos criar,
incluir, excluir, modificar e pesquisar informações nas tabelas de um banco de dados
relacional.

Objetos do Microsoft access são tabelas, consultas, formulários e relatórios.

Comandos SQL

Tipos primitivos

Apresenta 4 tipos primitivos de dados

Numéricos – Inteiro-TinyInt, SmallInt, Int, MediumInt, BigInt.

Real- Decimal, Float, Double, Real.

Lógico- Bit, Boolean.

Data/Tempo- Date, DateTime, TimeStamp, Time, Year.

Literal – Caractere-char, varchar

Texto-Tinytext, Text, MediumText, LongText.

Binário-TinyBlob, Blob, MediumBlob, LongBlob

Coleção-Enum,Set

Espacial – Geometry, Point, Polygon, Multipolygon

Staus – verifica o status do servidor mysql.

Criando o banco de dados

Create database cadastro;

Visualizando se foi criado o banco

Show databases;

Entrando no banco

Use cadastro;

Criando tabelas

Create table pessoas(

Nome varchar(30),

Idade tinyint(3),

Sexo char(1),

Peso float,

Altura float,

Nacionalidade varchar(20)

);
Visualizando as tabelas existente no banco de dados

Show tables;

Descrevendo uma tabela

Describe pessoas;

Apagando o Banco de dados

Drop database cadastro;

Criando o banco com parâmetros aceitando caracteres

Create database cadastro

default character set utf8

Default collate utf8_general_ci;

Criando uma tabela mais complexa

Constraints são regras para a criação de coisas dentro do banco de dados

Not null – significa que você tem que preencher os dados.

Primary key - chave primaria não se repete

Auto_ incremente – adiciona o valor automaticamente.

If not exists - so cria uma tabela se ela não existir.

Unique- não permite colocar dois dados com o mesmo nome

unsigned – sem sinal quando não deseja colocar valor negativo

Create table pessoas(

Id int not null auto_ increment,

Nome varchar(30) not null,

Nascimento date,

Sexo enum(‘m’,’f’),

Peso decimal(5,2),

Altura decimal(3,2),

Nacionalidade varchar(20) default ‘brasil’,

Primary key(id)

) default charset = utf8;

DDL linguagem de definição de dados – create database, create table, alter table, drop table

DML linguagem de manipulação de dados – insert into , updates, delete, truncate,select

DQL select
Incluindo os dados na tabela

Insert into pessoas

( nome, nascimento, sexo, peso, altura, nacionalidade)

values

(‘Godofredo’, ‘1984-01-02’, ‘M’, ’78.5’, ‘1.83’, ‘Brasil’);

Visualizando os dados da tabelas pessoas

Select * from pessoas;

Inserindo outros dados

Insert into pessoas

( nome, nascimento, sexo, peso, altura, nacionalidade)

values

(‘Maria’, ‘1999-01-30’, ‘F’, ’55.2’, ‘1.65’, ‘Portugal’);

Insert into pessoas

( id,nome, nascimento, sexo, peso, altura, nacionalidade)

values

(default, ‘Creuza’, ‘1920-12-30’, ‘F’, ’50.2’, ‘1.65’, default);

Pode ser assim

Insert into pessoas values

(default, ‘Adalgiza’, ‘1930-11-2’, ‘F’, ’63.2’, ‘1.75’, ‘Irlanda’);

Inserindo vários dados

Insert into pessoas

( id,nome, nascimento, sexo, peso, altura, nacionalidade)

values

(default, ‘Ana’, ‘1975-12-22’, ‘F’, ’52.3’, ‘1.45’, ‘EUA’),

(default, ‘Pedro, ‘2000-07-15’, ‘M’, ’52.3’, ‘1.45’,default),

(default, ‘Maria’, ‘1999-05-30’, ‘F’, ’75.9’, ‘1.70’, ‘Portugal’);

Alterando dados da tabela


Adicionando coluna

Alter table pessoas

Add column profissão varchar(10);

Removendo coluna

Alter table pessoas

drop column profissão ;

Adicionando coluna após o nome

Alter table pessoas

Add column profissão varchar(10) after nome;

Colocando um campo como primeiro

Alter table pessoas

Add column código int first;

Modificando o tamanho do varchar

Alter table pessoas

Modify column profissão varchar(20);

Alterando o nome da coluna profissão para prof

Alter table pessoas

Change column profissão prof varchar(20);

Renomeando a tabela inteira

Alter table pessoas

Rename to gafanhotos;

Criando uma nova tabela

Create table if not exists cursos(

Nome varchar(30) not null unique,

Descricao text,

Carga int unsigned,

Totaulas int,
Ano year default ‘2016’

)default charset = utf8;

Acrescenta a chave primaria na tabela cursos

Alter table cursos

Add column idcurso int first;

Adicionando a chave primaria

Alter table cursos

Add primary key(idcurso);

Apagando a tabela

Drop table cursos;

Manipulando registro, linhas ou tuplas mesma coisa são sinônimos

Insert into cursos values

(‘1’, ‘HTML4’, ‘Curso de HTML5’, ’40’, ‘37’, ‘2014’),

(‘2’, ‘Algoritmo’, ‘Logica de Programação’, ’20’, ‘15’, ‘2014’),

(‘3’, ‘Photoshop’, ‘Dicas de Photoshop CC’, ’10’, ‘8’, ‘2010’),

(‘4’, ‘PGP’, ‘Curso de PHP para iniciantes’, ’40’, ‘20’, ‘2010’);

Modificando linhas incorretas

Modificar a tabela cursos configurando o campo nome para html5 onde idcurso =1

Update cursos

Set nome =’HTML5’

Where idcurso =’1’;

Modificando dois campos

Update cursos

Set nome =’PHP’, ano =’2015’

Where idcurso=’4’;

Modificando tres campos

Update cursos

Set nome=’Java’, carga=’40’, ano=’2015’

Where idcurso=’5’

Limit 1; - quantas linhas serão afetadas.


Removendo linhas

Apague da tabela cursos o registro de id= 8

Delete from cursos

Where idcurso=’8’;

Apagando varias registros

Delete from cursos

Where ano = ‘2050’

Limit 2;

Removendo todas as linhas de uma tabela

Truncate table cursos;

Comando para ver quais comandos foram usados para criar a tabela

Show create table amigos;

Comando para ver quais comandos foram usados para criar o banco

Show create database cadastro;

Comando select

Selecione todas as colunas da tabela curso

Select * from cursos;

Selecione todas as colunas da tabela curso ordenadas pelo nome

Select * from cursos order by nome;

Selecione todas as colunas da tabela curso ordenadas pelo nome desc

Select * from cursos order by nome desc;

Selecione todas as colunas da tabela curso ordenadas pelo nome asc

Select * from cursos order by nome asc;

Selecione nome, carga, ano da tabela curso ordenadas pelo nome

Select nome, carga, ano from cursos order by nome;

Selecione ano, nome, carga da tabela curso ordenadas pelo ano depois ordena por nome

Select ano, nome, carga from cursos order by ano, nome;

Selecione todas as colunas da tabela cursos onde ano =2016 ordenado pelo nome;

Select * from cursos where ano=’2016’ order by nome;


Selecione o nome, descrição da tabela cursos onde ano seja menor ou igual que 2015
ordenado por nome

Select nome, descricao from cursos where ano <=’2015’ order by nome;

Selecione todos as colunas da tabela cursos onde totaulas esteja entre 20 e 30 ordenados
por nome;

Select * from cursos where totaulas between ‘20’ and ‘30’ order by nome;

Selecione nome, ano da tabela cursos onde ano esteja entre 2010 e 2015

Select nome, ano from cursos where ano between ‘2010’ and ‘2015’;

Selecione idcurso, nome da tabela cursos onde o ano seja 2014, 2016, 2018 ordenado por
nome

Select idcurso, nome from cursos where ano in(‘2014’, ‘2016’, ‘2018’) order by nome;

Selecione todos as colunas da tabela cursos onde carga é maior que 35 e totaulas menor que
30 ordenados por nome;

Select * from cursos where carga >35 and totaulas <30 order by nome;

Selecione todos as colunas da tabela cursos onde carga é maior que 35 ou totaulas menor
que 30 ordenados por nome;

Select * from cursos where carga >35 or totaulas <30 order by nome;

Selecione todos as colunas da tabela cursos onde nome comece com a letra p seguido de
qualquer coisa

Select * from cursos where nome like ‘P%’;

Variaçoes do like

%A – termina em a.

%A% - contem a letra a na palavra

Not like %A%- não contem a letra a na palavra

_exige que tenha um caracter

Select * from cursos where nome like ‘ph%p_‘

Selecione a carga horaria dos cursos sem repetiçoes

Select distinct carga from cursos;

Funçoes de agregção

Selecione a quantidade de cursos cadastrados

Select count(*) from cursos;

Selecione a quantidade de cursos com carga maior que 40

select count(*) from cursos where carga >40;


selecione o maior campo com total de aulas da tabela curso

select max(totaulas) from cursos;

selecione o menor campo com total de aulas da tabela curso

select min(totaulas) from cursos;

selecione o somatorio campo com total de aulas da tabela curso

select sum(totaulas) from cursos;

selecione a media campo com total de aulas da tabela curso

select avg(totaulas) from cursos;

exercícios

1-selecione uma lista de gafanhotas

2- uma lista com os dados de todos aqueles que nasceram entre 1/jan/2000 e 31/dez/2015

3- uma lista com o nome de todos os homens que trabalham como programadores

4- uma lista com dados de todas as mulheres que nasceram no brasil e que tem seu nome
iniciado com a letra j.

5- uma lista com nome e nacionalidade de todos os homens que tem silva no nome, não
nasceram no brasil e pesam menos de 100kg.

6- qual é a maior altura entre gafanhotos homens que moram no brasil

7 qual é a media de peso dos gafanhotos cadastrados

8- qual é o menor peso entre as gafanhotas mulheres que nasceram fora do brasil e entre
01/jan/1990 e 31/dez/2000

9-quantas gafanhotos mulheres tem mais de 1.90m de altura

Agrupamento de registros

Selecione os registros agrupados por carga

Select carga from cursos group by carga;

Selecione a quantidade dos registros agrupados por carga

Select carga, count(nome) from cursos group by carga;

Select carga,totaula count(nome) from cursos where totaula =30 group by carga;

Selecione a quantidade dos registros agrupados por carga somente quem tem nome maior
que 3
Select carga, count(nome) from cursos group by carga having count(nome)>3;

Selecione o ano e o total de cursos onde total de aulas seja maior que 30 agrupando por ano
mostrando ano acima de 2013 ordenado pelo total.

Select ano, count(*) from cursos where totaulas >30 group by ano having ano > 2013 order by
count(*) desc;

Selecione a carga e o total de horas onde os cursos sejam acima de 2015 agrupando por
carga mostrando acima da media da carga.

Select carga, count(*) from cursos where ano > 2015 group by carga having carga>(select
avg(carga) from cursos);

Exercicios

1-Uma lista com as profissões dos gafanhotos e seus respectivos quantitativos

2-quantos gafanhotos homens e quantos mulheres nasceram após 01/jan/2005

3-uma lista com os gafanhotos que nasceram fora do brasil, mostrando o pais de origem e o
total de pessoas nascidas lá. So nos interessam os países que tiverem mais de 3 gafanhotos
com nacionalidade.

4-uma lista agrupada pela altura dos gafanhotos, mostrando quantas pessoas pesam mais de
100kg e estão acima da media de altura de todos os cadastrados.

Relacionamento modelo relacional

Faz ligação entre entidades

Entidade local onde os dados ficam contidos.

Atributo informações sobre as entidades identifica registros ou tuplas.

Dados são representados em forma de atributos

Atributos específicos chave primaria permite que atributo seja único.

Relação existe alguma?


Losango -é a representação gráfica de relacionamento.

Cardinalidade pode ser simples ou múltipla

Classificação muito para muitos ou n:n

Classificação 1:1
Classificação 1:n

Exercite

Chave estrangeira – é uma chave primaria de algum lugar que foi pra outro lugar .Depende da
classificação o nome pode ser diferente mas o tipo tem que ser o mesmo inteiro, varchar.

Regra 1:n pegue a chave primaria do lado 1 e jogue para o lado n como chave estrangeira
Relacionamento n:n desmembra o relacionamento em dois relacionamento 1:n e depois pego
a chave primaria do lado 1 e jogo como chave estrangeira no lado n

Innodb maquina de criação de tabelas tem outras mylsam, xtradb

Transação tem que ser:ACID

Atomicidade-não pode ser dividida em subtarefas ou tudo acontece ou nada é considerado.

Consistência- o banco de dados tem que continuar consistente após uma transação

Isolamento-duas transações ocorrendo em paralelo elas devem acontecer de forma isolada

Uma não pode afetar a outra.

Durabilidade-uma transação tem que ser durável o tempo que for necessário

O innodb possui compatibilidade com as 4 e permite uso de chaves estrangeiras.


Colocando a chave primaria de curso em gafanhotos seguindo a regra 1;n

Acrescente o campo que sera chave estrangeira cursopreferido em gafanhoto:

Alter table gafanhotos add column cursopreferido int;

Denominando chave estrangeira

Alter table gafanhotos

Add foreign key(cursopreferido)

References cursos(idcurso);

Fazendo com que um gafanhoto escolha um curso

Atualize a tabela gafanhotos no campo cursopreferido com idcurso = 4 onde id do aluno seja
=a1

Update gafanhotos set cursopeferido =’4’ where id =’1’;

Join junta duas tabelas

Considera só os cursos preferidos os que niguem escolhe não aparece na consulta

Select gafanhotos.nome, gafanhotos.cursopreferido, cursos.nome, cursos.ano

from gafanhotos join cursos

on cursos.idcurso = gafanhotos.cursopreferido;

usando apelidos
Select g.nome, g.cursopreferido, c.nome, c.ano

from gafanhotos as g inner join cursos as c

on c.idcurso = g.cursopreferido;

O outer join mostra todos os casos os que preferem e os que não preferem cursos.

Left outer join prefencia a tabela da esquerda

Right outer join prefencia a tabela da direita

Select g.nome, g.cursopreferido, c.nome, c.ano

from gafanhotos as g outer join cursos as c

on c.idcurso = g.cursopreferido;
Criar uma nova tabela do relacionamento

Create table gafanhoto_assiste_curso(

Id int not null auto_increment,

Data date,

Idgafanhoto int,

Idcurso int,

Primary key (id),

Foreign key (idgafanhoto) references gafanhotos(id),

Foreign key (idcurso) references cursos(idcurso)

)Default charset =utf8;

Inserindo dados na tabela gafanhoto_assiste_curso

Insert into gafanhoto_assiste_curso values (default, ‘2014-03-01’, ‘1’, ‘2’);


Seleciona a junção das tabelas gafanhotos e gafanhoto_assiste_curso

Select * from gafanhotos g

Join gafanhoto_assiste_curso a

On g.id = a.idgafanhoto;

Select g.id, g.nome, a.idgafanhoto, idcurso from gafanhotos g

Join gafanhoto_assiste_curso a

On g.id = a.idgafanhoto;

Seleciona o nome do curso que os gafanhotos estão assistindo

Select g.nome, c.nome from gafanhotos g

Join gafanhoto_assiste_curso a

On g.id = a.idgafanhoto join cursos c

On a.idcurso = c.idcurso;

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy