Unidade 1 - Introducao SGBD_Nova

Propaganda
Faculdade
Pitágoras
Curso Superior de Tecnologia:
Banco de Dados
Sistemas para Internet
Disciplina: Sistemas Gerenciadores
de Banco de Dados
Prof.: Fernando Hadad Zaidan
Unidade 1
Imagem: BARBIERI, Carlos.
Créditos do Material Original: Prof. Fernanda Farinelli e Rogério Morais Rocha
Adaptação e complementos: Prof. Fernando Zaidan
Unidade 1
Material Original: Prof. Fernanda Farinelli e Rogério Morais Rocha
Adaptação e complementos: Prof. Fernando Zaidan
Objetivos
• Contextualizar o aluno em relação ao conceito
de sistema gerenciador de banco de dados
(SGBD) e seu papel na criação de soluções
para uma organização.
Origem dos Dados
Origem dos Dados
No tempos antigos no Oriente Médio os
pastores controlavam seus rebanhos com
pedras.
Por volta de 3000 a.C. era usado símbolos de
argila com marcas especiais, que eram
lacrados em vasos de argila.
Origem dos
Dados
Os símbolos representavam a quantidade de
mercadorias enviadas.
Registros de textos em argila, utilizando
pictogramas, números e ideogramas, que
descreviam as transações de negócio.
Origem dos Dados
No século XVII iniciou a preocupação com o
processamento dos dados
“automaticamente”.
No final do século XIX surgiu o conceito de
cartões perfurados
Nas décadas de 1870 e 1880 surgiu a primeira
forma de armazenamento moderno de
dados, a fita perfurada.
Desafios dos
Dados
O crescimento dos dados nas empresas
A necessidade de facilitar o acesso aos dados
A segurança dos dados
A recuperação dos dados
O que é DADO?
• Está puro na natureza.
• Valor solto.
• O significado depende do
universo.
• Denota um fato que pode
ser registrado e possui um
significado implícito.
– Exemplos: Verde, Alto,
Magra, Av. JK, 01/01/2008
“Fato do mundo real
que está registrado e
possui um significado
implícito no contexto
de um domínio de
aplicação”.
O que é INFORMAÇÃO?
• É um valor para objetivo
determinado.
• Denota uma organização em
relação a um conteúdo ou
uma novidade.
– Exemplos: O pincel é verde.
Daniela é magra. O prédio é
alto.
“Fato útil que
pode ser extraído
direta ou
indiretamente do
BD”.
Dado X Informação
• Podemos extrair dados das
informações.
• Podemos gerar informações a
partir dos dados.
• Um computador não processa
informações, e sim dados para
gerar informação.
Dado X Informação
• Um dado fornece informação (visão)
diferente, de acordo com o universo.
– Exemplos:
• O pincel é verde.
• A camisa do América-MG é verde.
• Na primavera, a vegetação fica mais verde.
Conceito Banco de Dados
• “É uma coleção de dados inter-relacionados,
representando informações sobre um domínio
específico” (Korth).
• “Coleção de dados relacionados” (Elmasri e
Navathe).
• “Coleção de dados operacionais armazenados,
sendo usados pelos sistemas de aplicação de
uma determinada organização” (Date).
Banco de Dados
• Coleção compartilhada de dados, interrelacionados, que atende a necessidades de
múltiplos tipos de usuários que utilizam visões
diferentes em suas aplicações.
• Banco de Dados = Dados + Modelo de Dados
– Modelo de dados: Descrição dos dados
– Esquema de BD: Gráfico ou texto que especifica o
modelo.
– Dicionário de Dados: Conj. de arquivos que
armazena o modelo.
Sistemas de Processamento
de Arquivos
Universidade
Controle Administrativo
Controle Acadêmico
Professores
Turmas
Alunos
Disciplinas
Salas
Disciplinas
Controle de Pessoal
Deptos
Funcionários
Turmas
Professores
Institutos
Deptos
Sistemas de Processamento
de Arquivos
• Situação:
– Cada aplicação da organização com seu conjunto de
dados.
– Descrição dos dados fica dentro das aplicações.
– Não existe compartilhamento de dados entre as
aplicações.
Sistemas de Processamento
de Arquivos
• Problemas:
– redundância de dados.
– difícil manutenção dos dados.
– falta de uma padronização na definição dos dados.
– não há preocupação com a segurança dos dados
(segurança de acesso e segurança contra falhas).
Necessidade de um BD
• Melhor organização e gerência dos dados.
• Controle centralizado dos dados.
• Diminuir a redundância dos dados.
– Inconsistência.
– Redigitação.
• Compartilhamento de dados entre aplicações.
Sistemas de Processamento
de Banco de Dados
Universidade
Controle Acadêmico
Alunos
Disciplinas
Professores
Funcionários
Turmas
Salas
Controle Administrativo
Deptos
Institutos
Controle de Pessoal
Sistemas de
Processamento
de Banco de Dados
• Vantagens:
– Dados armazenados em um único local físico.
– Dados compartilhados pelas aplicações.
– Independência dos dados.
– Aplicações não se preocupam com a gerência
dos dados.
Propriedades Implícitas de BD
• É uma coleção logicamente coerente de
dados com algum significado inerente.
• É projetado e construído com dados para um
propósito específico.
• Possui grupo de usuários e aplicações que os
usuários utilizam.
• Representa um aspecto do mundo real.
Um banco de dados tem....
•
•
•
•
•
Alguma fonte de onde os dados são derivados.
“Taxa” de interação com eventos do mundo real.
Audiência interessada em seu conteúdo.
Quantidade de dados.
Variação de complexidade:
– Agenda pessoal X Controle da receita federal.
• Criação e manutenção manual ou gráfica.
Sistema Gerenciador de Banco de
Dados - SGBD
• Software cujo objetivo principal é gerenciar o
acesso e a correta manutenção dos dados
armazenados em um banco de dados.
• Sistema que possui recursos capazes de
manipular as informações do banco de dados e
interagir com o usuário.
Sistema Gerenciador de Banco de
Dados - SGBD
• Software que auxilia no gerenciamento
(criação, manutenção e utilização) do dados
em um sistema de banco de dados e garante a
integridade e segugança dos dados.
• Exemplos de SGBDs são: Oracle, SQL Server,
DB2, PostgreSQL, MySQL, Interbase, Firebird,
entre outros.
BD X SGBD
• BD objetivo é oferecer uma visão "abstrata"
dos dados aos usuários.
• SGBD responsável por controlar os detalhes
referentes a forma como estes dados estão
armazenados e mantidos não interessa aos
usuários, mas a disponibilidade eficiente
destes dados é que são fundamentais.
Funções Básicas de um SGBD
• Provê métodos de acesso:
– DDL (Data Definition Language)
– DML (Data Manipulation Language)
– DCL (Data Control Language)
• Integridade semântica: garantia de dados
sempre corretos com relação ao domínio de
aplicação.
Funções Básicas de um SGBD
• Concorrência: evitar conflitos de acesso
simultâneo a dados por transações.
• Independência: transparência da organização
dos dados.
– Níveis de independência: Física e Lógica.
• Segurança: evitar violação de consistência dos
dados, segurança de acesso (usuários e
aplicações), segurança contra falhas.
Sistemas de Banco de Dados
Sistema de Banco de Dados
• Objetivos de um SBD:
– Isolar o usuário dos detalhes
internos do BD (promover a
abstração de dados).
– Promover a independência dos
dados em relação às aplicações, ou
seja, tornar independente da
aplicação, a estratégia de acesso e a
forma de armazenamento.
Sistema de Banco de Dados
• Vantagens:
–
–
–
–
–
–
–
–
rapidez na manipulação e no acesso à informação,
redução do esforço humano (desenvolvimento e utilização),
disponibilização da informação no tempo necessário,
controle integrado de informações distribuídas fisicamente,
redução de redundância e de inconsistência de informações,
compartilhamento de dados,
aplicação automática de restrições de segurança,
redução de problemas de integridade.
Conceitos Básicos em BD
• INDEPENDÊNCIA DE DADOS: é o principal
objetivo que deve ser alcançado pelo Banco
de Dados. Consiste na capacidade de
permitir alterações na descrição dos dados
(como inclusão de novas informações) sem
que os sistemas e/ou aplicações tenham de
ser alterados. Dentro desta visão os
programas interagem com a visão lógica dos
dados, não com sua localização física.
Conceitos Básicos em BD
• CONTROLE DE REDUNDÂNCIA DOS DADOS:
controle centralizado dos dados
compartilhados por diversas aplicações; reduz
a repetição de dados a um mínimo justificável
e aceito apenas por questões de desempenho.
Conceitos Básicos em BD
•
COMPARTILHAMENTO DE DADOS: os
dados podem ser compartilhados por mais
de um usuário.
•
GARANTIA DE INTEGRAÇÃO DOS DADOS:
inibir o acesso a um determinado dado por
uma aplicação quando esse mesmo dado já
tiver sido lido para modificação por outra
aplicação.
Conceitos Básicos em BD
•
SEGURANÇA DE DADOS: o conceito de
segurança abrange procedimentos de
validação e controle, garantia de
integridade e controle de acesso, que
visa resguardar o Banco de Dados de
uma possível perda ou destruição dos
dados por falha de programa ou de
equipamento.
Conceitos Básicos em BD
• PRIVACIDADE DOS DADOS: são controles que
devem ser estabelecidos para que os dados
possam ser acessados somente por pessoa
autorizada.
• RELACIONAMENTO ENTRE DADOS: o
relacionamento entre os dados fixados em
arquivos diferentes deve ser controlado de
maneira automática (sem participação do
programador).
Conceitos Básicos em BD
• CONTROLE DO ESPAÇO DE
ARMAZENAMENTO: mecanismos de controle
de acesso do espaço alocado, do espaço real
utilizado e da disponibilidade de espaço no
SGBD. Além disso, deve incorporar técnicas de
otimização do armazenamento, tais como
compressão e reaproveitamento de espaços
livres (liberados).
Usuários de um SGDB
Usuários dos SGBDs
• O desenvolvimento, a manutenção e a utilização de um banco
de dados são executados por diferentes atores:
–
–
–
–
Administrador de dados (AD)
Administrador de banco de dados (DBA)
Analista de sistemas
Usuário final
Administrador de Dados
Responsabilidades:
–
–
–
–
–
–
–
–
Coordenação dos Dados
Planejamento dos Dados
Padrão dos Dados
Ligação com Analistas de Sistemas e Programadores
Treinamento
Arbitragem de Disputas e Autorização de Uso
Documentação e Publicidade
Vantagem Competitiva
Administrador do Banco de Dados
Responsabilidades:
 Monitoramento do desempenho do SGBD
 Detecção e correção de erros
 Monitoramento da segurança e uso do SGBD
 Operações de dicionário de dados
 Manutenção de software e dados do SGBD
 Projeto de banco de dados
Analista de Sistemas
Responsabilidades:
 Conhecer a realidade do usuário final
 Levantamento de requisitos
 Elaborar caso de uso
 Atuar junto ao programador
 Atuar junto ao administrador de dados
 Manter o usuário final informado
 Testar o que foi desenvolvido pelo programador
 Apresentar resultados para usuário final
 Implantar o sistema
Usuário Final
Responsabilidades:
 Apresentar de forma clara os processos ao Analista de
Sistemas
Esclarecer a regra negócio da empresa
Acompanhar o desenvolvimento do sistema
Efetuar os testes
Participar da implantação do sistema
RELACIONAMENTOS
Binário: Entre duas entidades
Cardinalidade:
Um para UM | |
Um para Muitos | <Muitos para Muitos -> <Modalidade: Número mínimo de ocorrências de entidades que
podem estar envolvidas em um relacionamento. 0 |
Dados de Interseção: Combinação ou a associação entre
entidades.
Entidade Associativa: Inclui quaisquer dados de interseção que
descrevem o relacionamento.
Relacionamentos Unários: Associam ocorrências de um tipo de
entidade com outras ocorrências do mesmo tipo de entidade.
Um para Um – Suponha na entidade vendedor, criamos o
relacionamento reserva, que indica que para cada vendedor
temos um vendedor reserva.
Um para Muitos – Cada vendedor é gerenciado por exatamente
um gerente de vendas.
Muitos para Muitos – Um produto pode ser parte de nenhum
outro produto ou parte de vários outros produtos.
RELACIONAMENTO TERNÁRIO
Envolve três tipos diferentes de entidades.
Exemplo: Vendedor, Clientes e Produtos
MODELO DE DADOS
Modelo para organização dos dados de um BD.
Define um conjunto de conceitos para a representação de
dados.
exemplos: entidade, tabela, atributo, ...
Existem modelos para diferentes níveis de abstração de
representação de dados
• modelos conceituais
• modelos lógicos
• modelos físicos
MODELO CONCEITUAL
• Representação com alto nível de abstração
– modela de forma mais natural os fatos do mundo real, suas
propriedades e seus relacionamentos
– independente de SGBD
– preocupação com a semântica da aplicação
MODELO LÓGICO
• Representa os dados em alguma estrutura
(lógica) de armazenamento de dados
– também chamados de modelos de BD
– dependente de SGBD
– exemplos
• modelo relacional (tabelas)
• modelos hierárquico e XML (árvore)
• modelo orientado a objetos (classes - objetos
complexos)
MODELO FÍSICO
Leva em consideração limites impostos pelo
SGBD e pelos requisitos não funcionais dos
programas que acessam os dados.
Características:
• Elaborado a partir do modelo lógico
• Pode variar segundo o SGBD
• Pode ter tabelas físicas (log , lider , etc.)
• Pode ter colunas físicas (replicação)
ABORDAGEM RELACIONAL
• Composição de um banco de dados relacional. Um banco de
dados relacional é composto por tabelas ou relações. A
• terminologia tabela é mais comum nos produtos comerciais e
na prática, enquanto a terminologia relação foi utilizada na
literatura inicial sobre a abordagem relacional.
Tabelas
• Uma tabela é um conjunto não ordenado de linhas (tuplas, na
linguagem acadêmica). Cada linha é composta por uma série
de campos (valor de atributo, na linguagem acadêmica).
Chaves
• Chaves são um conceito básico que permitem identificar
linhas e estabelecer relações entre linhas e tabelas de um
banco de dados relacional. Em um banco de dados relacional,
há pelo menos três tipos de chaves a serem consideradas:
chaves primárias, chaves estrangeiras e chaves alternativas.
Chave Primária
As chaves primárias são uma coluna (ou um conjunto delas)
dentro de uma tabela que distinguem uma linha das
demais. As chaves primárias podem ser compostas por mais de
uma coluna, entretanto, devem sempre respeitar o princípio da
minimalidade. Uma chave é mínima quando todas as suas
colunas forem efetivamente necessárias para
garantir o requisito da unicidade de valores da chave.
Chave Estrangeira
Uma chave estrangeira é uma coluna ou uma combinação de
colunas cujos valores aparecem necessariamente na chave
primária de uma tabela. A chave estrangeira é o mecanismo que
permite a implementação de relacionamentos em bancos de
dados relacionais.
A existência de chaves estrangeiras impõe restrições que devem
ser garantidas ao executar diversas operações de alterações no
banco de dados.
Chave Alternativa
Em alguns casos, mais de uma coluna (ou combinações de
colunas) podem servir para distinguir uma linha das demais.
Uma coluna, ou combinação, é escolhida como chave primária e
as demais candidatas são tratadas como chaves alternativas.
Domínios e valores vazios (null e not null)
Quando uma tabela do banco de dados é definida, para cada
coluna deve ser especificado um conjunto de valores que seus
campos podem assumir. Este conjunto de valores é denominado
“domínio da coluna” ou “domínio do campo”. Além disso, devese especificar se os campos da coluna podem estar vazios, o que
indica que o campo não recebeu nenhum valor de seu domínio.
As colunas nas quais não são admitidos valores vazios são
chamadas “colunas obrigatórias”. Aquelas que admitem
valores vazios são as denominadas “colunas opcionais”. Os
SGBDs relacionais geralmente exigem que a coluna da chave
primária não seja vazia (coluna brigatória). A mesma
exigência não é feita para as demais chaves.
Entidade Fraca
Entidade que só existe quando relacionada a outra entidade,
sendo seu identificador composto por atributos de outra
entidade.
55
56
Download