Você está na página 1de 58

DB

BASE DE DADOS

ENG. J.F.DIOGO
INDICE
1. INTRODUÇÃO
2. DADOS VS INFORMAÇÃO
3. O QUE É BASE DE DADOS
4. PARA QUE SERVEM OS SISTEMAS DE D.B
5. PERSPECTIVA HISTORICA
6. ARQUITECTURA DE UM SISTEMA DE D.B
7. A ARQUITETURA CLIENTE SERVIDOR
8. MODELOS DE DADOS
9. LINGUAGEM DE UM SISTEMA DE DE BASE DE DADOS
10. O PADRÃO SQL
11. GESTOR DE BASE DE DADOS
12. ADMINISTRAÇÃO DE BASE DE DADOS
13. A ARQUITETURA DE UM SISTEMA DE GESTÃO DE BASE DE
DADOS(PERSPESTIVA GENERICA)
14. SEGURANÇA E PRIVACIDADE
DADOS
Os dados são uma coleção de uma pequena unidade
distinta de informações. Ele pode ser usado em uma
variedade de formas, como texto, números, mídia, bytes,
etc., Pode ser armazenado em pedaços de papel ou
memória eletrônica, etc.

A palavra 'dados' é originada da palavra 'dado' que


significa 'peça única de informação'. É plural da palavra
dado.

Na computação, dados são informações que podem ser


traduzidas em um formato para movimentação e
processamento eficientes. Os dados são intercambiáveis.
DADOS VS INFORMAÇÃO
 DADOS  INFORMAÇÃO
 É Produtudo Inacabado  É A Forma De Dado
 É Uma Figura Processado
  É A Coleção De Dados
Dados Não Possue
Significado Para Processado
Negoçios  Informação Consede
 Dados Não Respote A Perguntas
 Servem Para Tomada De Serve Para Tomada De
Decisão Decisão
O QUE É BASE DE DADOS?

Uma base de dados é uma coleção organizada de dados, para que


possam ser facilmente acessados e gerenciados.

você pode organizar os dados em tabelas, linhas, colunas e indexá-los


para facilitar a localização de informações relevantes.

o principal objetivo de uma base de dados é operar uma grande


quantidade de informações, armazenando, recuperando e gerenciando
dados.

existem muitas bases de dados disponíveis como MYSQL, SYBASE,


ORACLE, MONGODB, INFORMIX, POSTGRESQL, SQL SERVER, ETC.
DADOS E INFOMAÇOES
todos projecto de sosftware usam base de Todos para armazenamento
e manter estas grandes quantidades de informação .
portanto e muito importanta para um Eng de Software entender o
concepto de DBMS.
DADOS e um termo que possa ser novo para um pricipiante, mas e
muito interessante e simplis de ser entendido. Dados pode ser
qualquer coisa como: nome de pessoa, lugar, ou numer de telefone,
como grade exmplo temos. Pezo, preço, nome de produto, nome de
funcionario.
Dados são producto inacabado que podem ser processado por
qualquer computador, elas podem ser representados em forma de
numeros ou palavras que podem ser armazenado por uma linguagem
de computacao.
Son
Image

Dados

Numeros Palavra
MANUAL e TRADICIONAL
 manual: e a primeira forma de arquivar os
dados, usados ate ao momento atual.

TRADICIONAL: USA HARDDESK,FLASH

EST. PROCESSE EST. PROCESSE EST. PROCESSE


DATA DATA DATA

SISTEMA DE ARQUIVO.

EST. DATAILS EST. BOOK INF ACCOUNT.INF.


TIPOS DE BASE DE DADOS

 MANUAL
 TRADICIONAL(ARQUIVOS hard
desk/CD’ROM)

 DBMS
LIMITAÇOES
 DADOS SEPARADOS E ISOLADOS
 DUPLICAÇÃO DE DADOS
 DEPENDENCIA DE DADOS
 PROBLEMA EM TRANSAÇÃO
 IMCOMPATIBLIDADE NO FORMATO
BASE DE DADOS
 BASE DE DADOS: A BASE DE DADOS É UMA COLEÇÃO
COMPARTILHADA DE DADOS LOGICAMENTE
RELACIONADOS, DESENHADO PARA SUPRIR AS
INFORMAÇÃO DAS ORGANIZAÇÃO.

 A BASE DE DADOS É UM COMPUTADOR BASEADO EM


SISTEMAS PARA ARMAZENAMENTO DE INFORMAÇÃO
 CUJO PROPOSISTO E DE GRAVAR E ARMAZENAR
INFORMAÇOES.
BASE DE DADOS
ST. DADOS
LIVRARIA PROCESSO ACCOUNT PROCESSO
PESSOAL

DBMS

SISTEMA

ST.DADOS BANK. INFO

UNIVERSITY DATABASE
CARACTERISTICAS
 ORGANIZADA
 PERMANENTE
 INTEGRIDADE
 SEGURA
 INDEPENTENTE
 FACIL DE ACESSAR
 FLEXIVEL A MUDANÇA
 RECOVERABLE / RECUPERAVEL
PARA QUE SERVEM OS SISTEMAS DE SGDB ?

O que é RDBMS (sistema de gerenciamento de base de


dados relacional)

RDBMS significa Sistema de gerenciamento de base de


dados relacional.

Todos os sistemas modernos de gerenciamento de base de


dados como SQL, MS SQL Server, IBM DB2, ORACLE, My-
SQL e Microsoft Access são baseados em RDBMS.

É denominado Sistema de Gerenciamento de Base de


Dados Relacional (RDBMS) porque é baseado no modelo
relacional introduzido por EF Codd.
TIPOS DE BASE DE DADOS

1. Base de dados centralizada


2. Base de dados distribuído
3. Base de dados relacional
4. Base de dados NoSQL
5. Base de dados em nuvem
6. Base de dados orientados a objetos
7. Banse de dados hierárquica
8. Base de dados em redes
9. Base de dados pessoal
10. Base de dados operacional
11. Base de dados corporativo/emprezarial
Base de Dados Arquitetura

1 º Tier Architecture / Uma Camada

2 º Tier Architecture

3 º Tier Architecture
1 ºTIER ARCHITECTURE / CLIENT/SERVE

DBMS
ARQUITECTURA

3º CAMADA
1º CAMADA ARQUITECTURA
ARQUITECTURA

2º CAMADA
ARQUITECTURA
Arquitetura 1-Tier

Nesta arquitetura. A base de dados está diretamente disponível


ao usuário. Isso significa que o usuário pode sentar-se
diretamente no SGBD e usá-lo.
Quaisquer alterações feitas aqui serão feitas diretamente na
próprio basa de dados. Ele não fornece uma ferramenta útil
para usuários finais.
Arquiteturas D.B

2º TIER ARCHITECTURE / CLIENT/SERVE

Nesta arquitetura, o base de dados está diretamente


disponível ao usuário. Isso significa que o usuário pode
sentar-se diretamente no SGBD e usá-lo.
Quaisquer alterações feitas aqui serão feitas diretamente na
próprio basa de dados. Ele não fornece uma ferramenta útil
para usuários finais.
A arquitetura 2-Tier é usada para desenvolvimento de
aplicação local, onde os programadores podem se comunicar
diretamente com o banco de dados para uma resposta
rápida.
2º Tier Architecture / Segunda Camada
3º TIER ARCHITECTURE/ CAMADA

contém outra camada entre o cliente e o servidor. Nesta


arquitetura, o cliente não pode se comunicar diretamente
com o servidor.
O aplicativo no lado do cliente interage com um servidor de
aplicativos que se comunica ainda mais com o sistema de
base de dados.
O usuário final não tem ideia da existência da base de
dados além do servidor de aplicativos.
A base de dados também não tem ideia sobre nenhum
outro usuário além do aplicativo.
A arquitetura de 3º camadas é usada no caso de
aplicativos web grandes.
3 TIER ARCHITECTURE / SEGUNDA CAMADA
MODELOS DE DADOS

Modelo de dados é a modelagem da descrição dos


dados, da semântica dos dados e das restrições de
consistência dos dados.
Ele fornece as ferramentas conceituais para
descrever o projeto de uma base de dados em cada
nível de abstração de dados. Portanto, existem
quatro modelos de dados usados para compreender
a estrutura do banco de dados:
MODELOS DE DADOS
MODELO DE DADOS RELACIONAIS

MODELO DE DADOS RELACIONAIS:


Este tipo de modelo projeta os dados na forma de linhas e
colunas dentro de uma tabela. Assim, um modelo relacional
utiliza tabelas para representar dados e relacionamentos
intermediários. As tabelas também são chamadas de relações.
Este modelo foi inicialmente descrito por Edgar F. Codd, em
1969. O modelo de dados relacional é o modelo amplamente
utilizado, usado principalmente por aplicativos comerciais de
processamento de dados.
2) MODELO DE DADOS ENTIDADE-
RELACIONAMENTO
2) MODELO DE DADOS ENTIDADE-RELACIONAMENTO:

Um modelo ER é a representação lógica de dados como


objetos e relacionamentos entre eles. Esses objetos são
conhecidos como entidades e o relacionamento é uma
associação entre essas entidades. Este modelo foi desenhado
por Peter Chen e publicado em artigos de 1976.
Foi amplamente utilizado no projeto de base de dados.
Um conjunto de atributos descreve as entidades. Por exemplo,
student_name, student_id descreve a entidade 'aluno'. Um
conjunto do mesmo tipo de entidades é conhecido como
'conjunto de entidades', e o conjunto do mesmo tipo de
relacionamentos é conhecido como 'conjunto de
relacionamentos'.
3) MODELO DE DADOS BASEADO EM OBJETOS

3) MODELO DE DADOS BASEADO EM OBJETOS:

E uma extensão do modelo ER com noções de


funções, encapsulamento e identidade de objeto
também. Este modelo oferece suporte a um sistema
de tipos rico que inclui tipos estruturados e de
coleção. Assim, na década de 1980, vários sistemas
de base de dados seguindo a abordagem orientada a
objetos foram desenvolvidos. Aqui, os objetos nada
mais são do que dados que carregam suas
propriedades.
4) MODELO DE DADOS SEMIESTRUTURADO:

4) MODELO DE DADOS SEMIESTRUTURADO:


Este tipo de modelo de dados é diferente dos outros
três modelos de dados (explicados acima). O modelo
de dados semiestruturado permite especificações de
dados em locais onde os itens de dados individuais
do mesmo tipo podem ter conjuntos de atributos
diferentes. A Extensible Markup Language, também
conhecida como XML, é amplamente utilizada para
representar dados semiestruturados.
Embora o XML tenha sido inicialmente projetado
para incluir informações de marcação no documento
de texto, ele ganha importância devido à sua
aplicação na troca de dados.
LINGUAGENS DE UM SISTEMA DE D.B

Um SGBD possui linguagens e interfaces


apropriadas para expressar consultas e
atualizações de base de dados.

Linguagens de base de dados podem ser


usadas para ler, armazenar e atualizar os dados
na base de dados.
TIPO DE LINGUAGENS DE UM SISTEMA DE D.B

1. Linguagem de definição de dados (DDL)

2. Linguagem de Manipulação de Dados (DML)

3. Linguagem de controle de dados (DCL)

4. Linguagem de controle de transação (TCL)


LINGUAGEM DE DEFINIÇÃO DE DADOS

1. Linguagem de Definição de Dados (DDL)

É usado para definir a estrutura ou padrão da base de dados.


É usado para criar esquemas, tabelas, índices, restrições, etc.
Usando as instruções DDL, você pode criar o esqueleto de uma base de dados.
A linguagem de definição de dados é usada para armazenar informações de
metadados como o número de tabelas e esquemas, seus nomes, índices,
colunas em cada tabela, restrições, etc.

AQUI ESTÃO ALGUMAS TAREFAS QUE ESTÃO SOB DDL:

Criar: É usado para criar objetos no banco de dados.


Alterar: É usado para alterar a estrutura do banco de dados.
Drop: É usado para excluir objetos do banco de dados.
Truncar: É usado para remover todos os registros de uma tabela.
Renomear: É usado para renomear um objeto.
Comentário: É usado para comentar o dicionário de dados.
LINGUAGEM DE MANIPULAÇÃO DE DADOS.

2. Linguagem de Manipulação de Dados. (DML)


É usado para acessar e manipular dados em um banco de dados. Ele lida
com solicitações do usuário.

AQUI ESTÃO ALGUMAS TAREFAS QUE ESTÃO SOB DML:

Selecione: É usado para recuperar dados de um banco de dados.


Inserir: É usado para inserir dados em uma tabela.
Atualização: é usado para atualizar dados existentes em uma tabela.
Excluir: É usado para excluir todos os registros de uma tabela.
Mesclar: realiza operação UPSERT, ou seja, operações de inserção ou
atualização.
Chamada: é usado para chamar uma linguagem de consulta estruturada ou
um subprograma Java.
Plano Explicativo: Tem como parâmetro explicar os dados.
Tabela de bloqueio: controla a simultaneidade.
LINGUAGEM DE CONTROLE DE DADOS (DCL)

3.Linguagem de controle de dados (DCL)

Linguagem de controle de dados.(DCL)


Ele é usado para recuperar os dados armazenados ou salvos.
A execução do DCL é transacional. Ele também possui parâmetros
de reversão.
(Mas no banco de dados Oracle, a execução da linguagem de
controle de dados não possui o recurso de reversão.)
Aqui estão algumas tarefas incluídas no DCL:
Conceder: É usado para conceder privilégios de acesso ao usuário
a um banco de dados.
Revogar: É usado para recuperar permissões do usuário.
Existem as seguintes operações que contam com autorização da
Revoke:
CONECTAR, INSERIR, USAR, EXECUTAR, EXCLUIR, ATUALIZAR e
SELECIONAR.
LINGUAGEM DE CONTROLE DE TRANSAÇÃO
(TCL)

4. Linguagem de controle de transação (TCL)

TCL é usado para executar as alterações feitas pela


instrução DML. O TCL pode ser agrupado em uma
transação lógica.

Aqui estão algumas tarefas que estão sob o TCL:

Commit: É usado para salvar a transação da base de


dados.
Rollback: É usado para restaurar o banco de dados
ao original desde o último Commit.
ARQUITETURA DE GESTÃO DE UM SISTEMA DE
BASE DE DADOS PARA ESTUDANTES

No SGBD, o diagrama ER para um sistema de


gerenciamento de alunos mostra como as bases de dados
estão conectados entre si. Também mostra como todos as
bases de dados estão logicamente relacionados entre si.
Também podemos criar um diagrama ER desenhando a
figura de uma parte diferente do sistema de gestão
estudantil, suas propriedades e como eles executam suas
tarefas.

Podemos desenhar um diagrama ER do sistema de


gerenciamento estudantil desenhando o design dq base de
dados. O esboço da base de dados tornou-se o
armazenamento da base de dados onde os dados vão e
vêm
Field Name Description Type Length

stud_ID (PK) Student ID Number Int 11

stfname Student First Name Varchar 30

stlname Student Last Name Varchar 30

stcourse Student Course Varchar 30


styear Student Year Int 11

Student Contact
stcontact Int 11
Number

stage Student Age Int 11

stbirthdate Student Birth Date Date

stgender Student Gender Int 11


OBJECTIVO DA GESTÃO DE UM SISTEMA DE
BASE DE DADOS
Todos projectos de sosftware usam base de Todos para
armazenamento e manter estas grandes quantidades de informaçoes.
portanto e muito importante para um Eng de Software entender o
concepto de DBMS.

O OBJECTIVO DESTA DICIPLINA E PARA LHE EQUIPA AO PONTO DO ESTUDANDE


PERCEBER O CONCEIPTO DE DBMS, PARA QUE O ENG. DE SOFTWARE ESTEJA
CAPACIDADO PARA.
1. 1. ARMAZENAR DADOS.
2. 2. ATUALIZAR OU MODIFICAR
3. 3. DELEITAR OU REMOVER
4. 4. PARTILHAR OS DADOS EMTRE VARIUS USUARIOS
5. 5. FAZER O BACK UP DE DADOS EM CASO DE FALHA
6. 6. ESTRAIR OS DADOS
7. 7. ESCREVER UM A APLICACAO OU BASEANDO PROGRAMA BASIANDO SE EM
DADOS
O PADRÃO SQL
SQL significa Linguagem de Consulta Estruturada. É
usado para armazenar e gerenciar dados em sistema
de gerenciamento de base de dados relacional
(RDMS).
É uma linguagem padrão para sistema de base de
dados relacional. Ele permite que um usuário crie, leia,
atualize e exclua base de dados e tabelas relacionais.

Todos os RDBMS como MySQL, Informix, Oracle, MS


Access e SQL Server usam SQL como linguagem de base
de dados padrão.
SQL permite que os usuários consultem a base de
dados de diversas maneiras, usando instruções em inglês.
SQL REGRAS
 A linguagem de consulta de estrutura
não diferencia maiúsculas de
minúsculas.
 As instruções de SQL dependem de
linhas de texto.
 SQL depende de cálculo relacional de
tupla e álgebra relacional.
 Geralmente, as palavras-chave do SQL
são escritas em letras maiúsculas.
SQL Query

Processo de linguagem
Query Parse+ optimização

Gestão de aquivos
DBMS ENG +
gestao de transacaio

Base de dado fisica


CARACTERÍSTICAS DO
SQL
 SQL é fácil de aprender.
 SQL é usado para acessar dados de sistemas de
gerenciamento de banco de dados relacional.
 SQL pode executar consultas no base de dados.
 SQL é usado para descrever os dados.
 SQL é usado para definir os dados no base de dados e
manipulá-los quando necessário.
 SQL é usado para criar e eliminar o base de dados e a
tabela.
 SQL é usado para criar uma visualização, procedimento
armazenado e função em um base de dados.
VANTAGENS DO SQL
 Alta velocidade
 Nenhuma codificação necessária
 Padrões bem definidos
 Portabilidade
 Linguagem interativa
 Visualização de dados múltiplos
TIPO DE DADOS SQL
 SQL Datatype é usado para definir os
valores que uma coluna pode conter.
 Cada coluna deve ter um nome e um
tipo de dados na tabela da base de
dados.
TIPOS DE DADOS BINÁRIOS

Existem três tipos de tipos de dados binários que são


fornecidos abaixo:

Descrição do tipo de dados


Binário Tem comprimento máximo de 8.000 bytes.
Ele contém dados Binários de comprimento fixo.

Varbinary Tem comprimento máximo de 8.000 bytes.


Ele contém dados binários de comprimento variável.

Imagem Tem comprimento máximo de 2.147.483.647


bytes. Ele contém dados binários de comprimento
variável.
Tipo de dados numérico aproximado:

Tipo de dados numérico aproximado:


 Os subtipos são fornecidos abaixo:


 Tipo de dados De Até Descrição
 float -1.79E + 308 1.79E + 308 É usado para especificar
um valor de ponto flutuante, por exemplo. 6,2, 2,9 etc.
 real -3.40e + 38 3.40E + 38 Especifica um número de
ponto flutuante de precisão única
 . TIPO DE DADOS NUMÉRICO EXATO

 Os subtipos são fornecidos abaixo:

 int É usado para especificar um valor inteiro.

 smallint É usado para especificar um valor inteiro pequeno.


 bit Possui o número de bits a serem armazenados.
 decimal Especifica um valor numérico que pode ter um
número decimal.
 numérico É usado para especificar um valor numérico.
TIPO DE DADOS DE SEQUÊNCIA DE CARACTERES

Os subtipos são fornecidos abaixo:

char Possui comprimento máximo de 8.000 caracteres. Ele


contém caracteres não Unicode de comprimento fixo.

varchar Tem comprimento máximo de 8.000 caracteres.


Ele contém caracteres não Unicode de comprimento
variável.

texto Tem comprimento máximo de 2.147.483.647


caracteres. Ele contém caracteres não Unicode de
comprimento variável.
TIPOS DE DADOS DE DATA E HORA

Os subtipos são fornecidos abaixo:


data É usado para armazenar o valor de ano, mês e dias.
hora É usado para armazenar os valores de hora, minuto e
segundo.

timestamp Armazena o ano, mês, dia, hora, minuto e o


segundo valor
SQL COMANDOS
CREATE E USADO PARA CRIAR NOVA Tabela na base de dados
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Example:
CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB
DATE);
DROP: E usado para deleitar ambos, estrutura e o record armazenado na tabela.
Syntax
DROP TABLE table_name;
Example
DROP TABLE FUNCIONARIO
ALTER: E usado para altera a estructura da base de dado.
Syntax:
To add a new column in the table
ALTER TABLE table_name ADD column_name COLUMN-definition;
To modify existing column in the table:
ALTER TABLE table_name MODIFY(column_definitions....);
EXAMPLE
ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));
ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));
TRUNCATE: E usado para apagar todas al alinhas da tabelas e liberar o espaço ocupado na
tabela

Syntax:

TRUNCATE TABLE table_name;


Example:
TRUNCATE TABLE EMPLOYEE;
INSERT:.
Syntax:
INSERT INTO TABLE_NAME
(col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);
For example:
INSERT INTO javatpoint (Author, Subject) VALUES (“Ambrosio", "DBMS
");
UPDATE:
Syntax:
UPDATE table_name SET [column_name1= value1,...column_nameN =
valueN] [WHERE CONDITION]
por example:
1. UPDATE students
2. SET User_Name = ‘Ambrosio'
3. WHERE Student_Id = '3'
DELETE:
Syntax:
DELETE FROM table_name [WHERE condition];
GERENCIAMENTO DE BASE DE DADOS

O que é gerenciamento de base de dados?

O gerenciamento de banco de dados refere-se ao


processo de criação, manutenção e gerenciamento de uma
base de dados. Um base de dados é uma coleção de
dados organizados de uma maneira específica e
armazenados eletronicamente, geralmente em um sistema
de computador. O objetivo de um base de dados é
armazenar, recuperar e manipular dados com eficiência e
precisão.
SEGURANÇA EM DADOS

A segurança de base de dados se refere a uma variedade de


ferramentas, controles e medidas projetadas para estabelecer e
preservar a confidencialidade, a integridade e a disponibilidade
de uma base de dados.
A segurança de uma base de dados deve abordar e proteger o seguinte:

1. Os dados no base de dados


2. O sistema de gerenciamento de base de dados (DBMS)
3. Qualquer aplicativo associado
4. O servidor físico da base de dados e/ou o servidor virtual da base de dados
e o hardware
ADMINISTRADOR

Administrador de base de dados, comumente chamado de DBA,


é o profissional responsável por gerenciar, instalar, configurar,
atualizar e monitorar uma base de dados ou sistemas de bases
de dados
RESTRIÇÕES ou SEGURANÇA

As restrições de integridade são um conjunto de regras.


É usado para manter a qualidade da informação.
As restrições de integridade garantem que a inserção,
actualização e outros processos de dados sejam executados de
forma que a integridade dos dados não seja afetada.
Assim, a restrição de integridade é usada para proteger contra
danos acidentais ao base de dados.
Prespectiva generica SGBD

Você também pode gostar