Link para

Propaganda
Bancos de dados
Sistemas de bancos de dados
Professor Emiliano S. Monteiro
SGBD x Arquivos de dados
• Basicamente hoje podemos guardar dados em: a) bancos de dados
em arquivos e b) de sistemas gerenciadores de bancos de dados.
• Os bancos de dados em arquivos é o arquivo (que pode ser
considerado uma das menores porções lógicas do sistema de arquivos
ao qual um usuário e suas aplicações tem acesso) é o container de
seus dados, dados estes que somente seus criador a aplicação que
manipula este tipo de arquivo tem acesso.
• Já os Sistemas Gerenciadores de Bancos de Dados (SGBD) são
software capazes de guardar vários tipos de dados, grandes
quantidades de dados de forma mais organizada, rápida, sofisticada,
segura e estruturada.
Bancos de dados em Arquivos
• Qualquer arquivo no computador pode ser considerado um banco de
dados do ponto de vista de seu usuário.
• Por exemplo: para alguns usuários, seus arquivos de texto criados no
editor de texto são um banco de dados, para outros, os arquivos de
tabelas e planilhas criados em uma planilha eletrônica são um tipo de
banco de dados.
• Formatos populares de arquivos para armazenar dados:
• DBF, XML, XLS, CSV
SGBD
• São programas específicos para gerenciar grandes bancos de dados.
Geralmente existe um arquivo que contém todas as tabelas, índices, visões,
consultas, objetos dos sistema, etc. E o SGBD é quem controla esse
arquivo. É criado um arquivo por banco.
• Exemplos de SGBD: SQL Server, PostgreSQL, Oracle, MySQL, etc.
• O SGBD permite a integração de dados dentro da empresa, vários usuários
podem acessar as mesmas parcelas de dados.
• O SGBD pode ser visto como um hub para o transito de dados entre
departamentos diferentes.
• Isola usuários dos detalhes usados para armazenar e gerenciar as
estruturas de armazenamento.
Os 3 níveis da arquitetura
• Nível interno: é o mais próximo ao armazenamento ao armazenamento físico
(trata da forma como os dados são armazenados)
• Nível externo: é o mais próximo dos usuários, é a forma como os dados são
vistos pelos usuários.
• Nível conceitual: é o nível abstrato que corresponde a totalidade dos dados, é
a visão do conjunto total dos dados dos usuários.
Nível externo
(visões do usuário individual)
Nível conceitual
(visões do conjunto de usuários)
Nível interno
(visões do armazenamento)
Usuário A1
Usuário A2
Programa X
(linguagem
Y) + SQL
Programa X
(linguagem
Y) + SQL
Esquema
externo A
Usuário B1
Visão
externa A
Programa Z
(linguagem
K)+ SQL
Programa Z
(linguagem
K)+ SQL
Esquema
externo B
Visão
externa B
Mapeamento A
externo/conceitual
Esquemas
mapeados,
construídos e
mantidos
pelo DBA
Esquema conceitual
Usuário B2
Usuário B3
Programa Z
(linguagem
K)+ SQL
Mapeamento B
externo/conceitual
Visão
conceitual
Mapeamento
conceitual/interno
Definição de
estrutura de
armazenament
o (esquema
interno)
Banco de dados armazenado (visão interna)
Adaptado de: Date, C.J. Introdução a sistemas de bancos de dados. 4ª. Edição. Campus. São Paulo, 1991. p33.
SGBD
MariaDB
Diagrama detalhado...
Diagrama simplificado...
Números de porta
•
•
•
•
•
•
•
Oracle
MySQL
SQL Server
MongoDB
PostgreSQL
Firebird
Interbase
1521
3306
1433
27017
5432, 5433
3050, 3051
3050, 3060
• Oracle número de porta:
http://www.red-database-security.com/whitepaper/oracle_default_ports.html
MySQL FORK
MySQL
OurDelta
Drizzle
https://launchpad.net/drizzle http://ourdelta.org/
MariaDB
WebScaleSQL
Percona Server
https://mariadb.org/ http://webscalesql.org/ https://www.percona.com/
PostgreSQL FORK
• http://pt.slideshare.net/pgconf/elephant-roads-a-tour-of-postgres-forks
• https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases
PostgreSQL FORK
• http://pt.slideshare.net/pgconf/elephant-roads-a-tour-of-postgres-forks
• https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases
MySQL gratuito online
A linguagem utilizada pelo banco
• A linguagem utilizado pelo SGBM é a SQL (structured query language)
– linguagem estruturada de consulta.
• SQL é uma linguagem de consulta interativa como de programação.
• Pode ser usada em vários programas de consulta como embutida e
outras linguagens de programação (Cobol, C#, PHP, ObjectPascal,
Basic, Fortran, C++, e diversas outras...)
SQL
• Linguagem de definição de dados (DDL – data definition language)
• Principais instrução são:
• Create table, create view, create index, alter table, drop table, drop view e
drop index
CREATE TABLE tblClientes
(
PersoaID int,
Nome varchar(255),
CEP varchar(255),
Endereco varchar(255),
Cidade varchar(255),
UF(255)
);
SQL
• Linguagem de manipulação de dados (DML – data manipulation language)
• Principais instrução são:
• insert, update e delete
• Exemplo de insert:
• INSERT INTO tblClientes (Nome, Endereço, Cidade, CEP, UF) VALUES (‘BOB',‘Av. Getulio Vargas
21',‘Cuiaba',‘78053500',‘MT’);
• Exemplo de update:
• UPDATE tblClientes SET Nome=‘WILL', Cidade=‘Caceres‘ WHERE Nome=‘BOB';
• Exemplo de delete:
• DELETE FROM tblClientes WHERE Nome=‘WILL' AND Cidade=‘Caceres';
SQL
• Linguagem de consulta de dados (DQL – data query language)
• Principais instrução são:
• Select
• Exemplo do comando select:
• SELECT Nome, Cidade FROM tblClientes WHERE Cidade=‘Caceres’
Referências
Download