APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
Sql - introdução
1.
2. Apresentação e objetivo
Nessa unidade vamos conversar sobre:
• Conceitos fundamentais de Banco de Dados.
• Arquitetura dos sistemas gerenciadores de
banco de dados.
• Características típicas de um SGBD.
• Modelos de Banco de dados: conceitual, lógico
e físico.
• Modelo entidade-relacionamento.
• Normalização no modelo de dados relacional.
• Linguagens de consulta.
4. Introdução
Um sistema é feito para aceitar entrada de dados,
realizar processamento e gerar saída das informações
processadas. Com o tempo, verificou-se a necessidade de
armazenar as informações geradas pelos programas de
computadores.
5. Introdução
Em junho de 1970, E. F. Codd, da IBM publicou um
artigo intitulado “A Relational Model of Data for Large Shared
Data Banks” (Um Modelo Relacional de Dados para Grandes
Bancos de Dados Compartilhados).
Ele estabeleceu princípios sobre gerência de banco
de dados. Essa foi a base para a criação de uma linguagem-
padrão para manipular informações em Banco de Dados
Relacional. Essa linguagem é a SQL (Structured Query
Language).
6. Introdução
Duas entidades, a ANSI (American National Standards
Institute) e a ISO (International Standards Organization), vêm
ao longo do tempo padronizando a linguagem SQL.
O primeiro padrão data de 1986 – SQL-86 e em 1989,
surge uma nova versão SQL-89, essa versão é utilizada pela
maioria dos bancos atuais.
Em 1992, houve uma nova versão, esse versão define
as regras básicas para os bancos de dados relacionais.
Em 1999, surge a SQL-99, conhecida como SQL3,
que define um modelo de banco de dados objeto-relacional.
7. O que é SQL
SQL (Strutctured Query Language) é um conjunto de
comandos de manipulação de banco de dados.
SQL não é uma linguagem de programação
autônoma, pois é necessário utilizar uma linguagem de
programação tradicional (C, Java, Pascal, COBOL, etc) e
embutir comandos SQL para manipular os dados.
8. O que é SQL
A linguagem SQL é dividida nos seguintes componentes:
Data Definition Language (DDL)
Data Manipulation Language (DML)
Data Query Language (DQL)
Data Control Language (DCL)
9. O que é SQL
A linguagem SQL é dividida nos seguintes componentes:
Data Definition Language (DDL): permite a criação dos
componentes do banco de dados, como tabelas, índices etc.
CREATE TABLE,
ALTER TABLE,
DROP TABLE,
CREATE INDEX,
ALTER INDEX,
DROP INDEX.
10. O que é SQL
A linguagem SQL é dividida nos seguintes componentes:
Data Manipulation Language (DML): permite a manipulação
dos dados armazenados no banco de dados.
INSERT,
DELETE,
UPDATE.
11. O que é SQL
A linguagem SQL é dividida nos seguintes componentes:
Data Query Language (DQL): permite extrair dados do
banco de dados.
SELECT.
12. O que é SQL
A linguagem SQL é dividida nos seguintes componentes:
Data Control Language (DCL): provê a segurança interna
do banco de dados.
CRETATE USER,
ALTER USER,
GRAND,
REVOKE,
CREATE SCHEMA.
Com advento da SQL-99, a linguagem passou a incorporar comandos procedurais
(BEGIN, IF, funções, procedimentos). Por exemplo, PL/SQL da Oracle.
13. Projetando Banco de Dados
O projeto do banco de dados está para o sistema da
mesma forma que a estrutura do prédio está para o edifício.
O processo de Análise dos Dados pressupõe três
fases distintas e integradas:
Modelo Conceitual de Dados
Desenho do Banco de Dados
Criação do Banco de Dados
14. Banco de Dados
Um banco de dados é um conjunto coerente e lógico
de dados relacionados que possuem significância. Esses
dados representam aspectos do mundo real.
Há cinco tipos de banco de dados:
Hierárquico,
Rede,
Relacional,
Objeto-Relacional,
Objeto.
15. Banco de Dados
Hierárquico:
Hierárquico,
Um gerenciador desse tipo
representa dados como uma
estrutura de árvore, composta de
uma hierarquia de registro de
dados.
Por exemplo: em uma dada base
de dados comercial, uma
encomenda (i.e. registro) é
possuída por um único cliente.
16. Banco de Dados
Hierárquico:
Rede,
Representa os dados como
registros vinculados uns aos
outros, formando conjuntos
comuns de dados.
Pode-se entender o modelo de
rede como uma generalização
do modelo hierárquico.
17. Banco de Dados
Hierárquico:
Relacional,
Representa os dados como uma
simples coleção de linhas e
colunas em tabelas
bidimensionais.
18. Sistema Gerencidador de Banco de Dados
Um gerenciador de banco de dados
(DBMS – Database Management
System) é um coleção de programas
que permite criar estruturas, manter
dados e gerenciar as transações
efetuadas em tabelas.
19. Sistema Gerencidador de Banco de Dados
Principais características de um SGBD:
Controle de redundância
Compartilhamento de dados
Controle de acesso
Esquematização
Backup
20. Tabela
Uma tabela pode ser entendida como um conjunto de linhas e colunas.
É possível armazenar dados em uma ou várias tabelas, dependendo do
que e como desejamos as informações.
21. Abordagem Relacional
A abordagem relacional é a utilização de conceitos de Entidade e
Relacionamentos para criar as estruturas que irão compor o banco de
dados.
Nessa fase é importante saber quais informações são importantes para o
sistema e o que deve ser armazenado. A essa representação dá-se o
nome de Modelo de Dados.
O Modelo de Dados é composto de Entidade e Relacionamentos, daí ser
conhecido como Modelo de Entidade x Relacionamento (MER).
22. Vantagem do MER
Vantagens na utilização do Modelo de Entidade x Relacionamento
Sintaxe Robusta,
O modelo documenta as necessidades de informação da empresa de maneira
precisa e clara.
Comunicação com usuário,
Os usuários podem, com pouco esforço, entender o modelo.
Facilidade de criação,
Os analistas podem criar e manter um modelo facilmente
Integração com várias aplicações,
Diversos projetos podem ser inter-relacionados utilizando o modelo de
dados de cada um deles.
Utilização Universal.
O modelo está vinculado ao negócio da empresa.
23. Objetivo da Modelagem de Dados
O principal objetivo da Modelagem de Dados é desenvolver um
modelo que, contendo entidades e relacionamentos, seja capaz de
representar os requerimentos das informações do negócio.
Exemplo
24. Entidade
Uma Entidade é um agrupamento lógico de informações inter-
relacionadas necessárias para a execução das atividades do sistema.
Quando transposta ao modelo físico (ao banco de dados),
chamamos a entidade de tabela.
25. Classificação das Entidades
As Entidades podem ser classificadas em dois tipos:
Fundamental
Contém dados básicos que são resultados ou alimentadores
das operações da empresa
Associativa
É formada pelo Relacionamento de duas Entidades
Fundamentais sempre que estas se relacionarem mais de uma
vez.
Exemplo: aluno x matéria, CD x Autor, pedido x produto, etc.....
26. Atributos
Os Atributos são as informações básicas que qualificam uma
entidade e descrevem seus elementos ou características.
Quando transposta ao modelo físico (ao banco de dados),
chamamos os atributos de campos ou colunas.
27. Tupla
É uma estrutura de atributos intimamente relacionados e
interdependentes que residem em uma entidade.
Quando transposta ao modelo físico (ao banco de dados), uma
tupla equivale a um registro ou linha da tabela.
28. Chave
É um atributo utilizado para indexar dados.
Há três tipos de chave:
o Primária
o Estrangeira
o Secundária
29. Chave Primária
É o atributo que permite identificar uma única ocorrência de uma
trupla em uma entidade.
Dessa forma seu conteúdo deve ser ÚNICO.
Quando há dois atributos para compor uma chave primária,
chamamos de Chave Concatenada.
30. Chave Estrangeira e Secundária
A Chave Estrangeira é o atributo que estabelece a relação de
uma Entidade com a Chave Primária de outra Entidade e permite uma
relação entre entidades.
A Chave Secundária é utilizada como meio de classificação e
pesquisa em entidades.
31. Relacionamento
Sempre que duas entidades apresentarem interdependência (por
exemplo, autor da música ou música do CD), indica-se um
relacionamento entre elas.
Deve ter Uma ou
Cada Entidade 1 ou relacionamento Mais
Entidade 2
Pode ter ou
Uma única
Cada relacionamento contém um nome (verbo), a
determinação de opcionalidade (deve ou pode) e um grau ou
cardinalidade (uma única ou uma ou mais)
32. Convenção para utilização em diagramas
1:1
1:M
M:N
Cada entidade A pode conter uma ou mais entidade (s) B.
Cada entidade B deve estar contida em uma única entidade A.
33. Relacionamento 1:1
Ocorre sempre que uma entidade tiver uma única ocorrência para cada ocorrência
na outra entidade.
Por exemplo:
Um departamento é gerenciado por um gerente, e cada gerente gerencia um
departamento.
34. Relacionamento 1:n
Ocorre sempre que uma entidade se relacionar com uma ou mais tuplas
da outra entidade e esta outra se relacionar apenas com uma tupla daquela
entidade.
Por exemplo:
Uma gravador possui vários CDs e cada CD é gravado apenas por uma
Gravadora.
Cada Cliente possui vários Pedidos e cada Pedido é de um único Cliente.
35. Relacionamento m:n
Ocorre sempre que uma entidade se relacionar com várias tuplas de
outra entidade e esta, por sua vez, relacionar-se com várias tuplas daquela
entidade.
Por exemplo:
Cada música é composta por um ou vários Autores, e cada Autor pode compor
uma ou várias músicas.
36. Integridade referencial
É um mecanismo utilizado para manter a consistência das informações
gravadas. Dessa forma, não são permitidas a entrada de valores duplicados nem
a existência de uma referência a uma chave inválida em uma entidade.