Professional Documents
Culture Documents
Gesto e Aplicaes
Informticas de Gesto
Definies
Dados: factos conhecidos que tm algum significado e que
podem ser guardados.
Base de dados (BD): um conjunto interrelacionado de
dados numa determinada rea.
Universo: parte do mundo real sobre o qual os dados
guardados na base de dados dizem respeito.
Empresa: empregados, departamentos, projetos, ...
Escola: alunos, professores, cadeiras, inscries, horrios, ...
Contactos: nomes, endereos, telefones, ...
Definies
Sistema de Gesto de Base de Dados (SGBD): software que
permite criar e manipular uma base de dados.
MySQL, PostGreSQL, Oracle, Sybase, SQL-Server, ...
SW processar Consultas
SW acesso aos Dados
Dados
Catlogo
O catlogo do sistema
(os meta-dados):
guarda
descrio
da
BD
Funcionalidades SGBD
Definio: tipo de dados, tipo de relaes e conjunto de
restries.
Manipulao: inserir dados, apagar dados, alterar dados,
fazer consultas, garantir a satisfao das restries de
integridade.
Construo: representao simples e eficientes de relaes
complexas entre os dados, guardar os dados num local
controlado pelo prprio SGBD, persistncia dos dados.
Rentabilidade: minimizar o esforo de desenvolvimento e
manuteno, controlar a redundncia nos dados,
mecanismos eficientes para processamento de consultas.
Funcionalidades SGBD
Concorrncia e partilha: permitir que vrios utilizadores e/ou
programas acedam em simultneo base de dados, mantendo a
consistncia dos dados.
Proteo: mecanismos de backup e recuperao para prevenir
situaes de avaria do hardware e/ou do software.
Segurana: mecanismos para prevenir acessos no autorizados
(passwords, permisses, diferentes nveis de acesso).
Visualizao: ferramentas grficas para operaes mais comuns.
Interao com outras aplicaes: providenciar mltiplas
interfaces com o utilizador.
Modelo de Dados
Modelo de Dados
Modelo de Dados
Modelo Representacional: tipo de modelo normalmente
utilizado pelos SGBDs.
Modelos relacional, hierrquico, network.
BD Fases de Desenho
Fase I: Requisitos e Anlise
BD Fases de Desenho
Fase III: Desenho lgico (ou implementao)
Modelao Porqu?
mais fcil obter um bom desenho da BD;
O responsvel por desenhar a BD concentra-se em especificar as
propriedades dos dados em lugar de se concentrar nos detalhes
de como os dados devem ser guardados;
Permite visualizar a estrutura da BD antes de se enveredar por
uma determinada implementao:
Entidades
Relacionamentos
Atributos
Domnio de um atributo
Tipo de atributos
Simples ou atmico
Composto
Valor nico
Multi-valor
Complexo
Derivado
Valor nulo
Atributos Tipos
Simples ou atmico: no divisvel.
NumBI
Sexo
Atributos Tipo
Complexo: formado por atributos compostos e multi-valor
combinados arbitrariamente.
Entidades Tipo
Entidade-tipo
Convenes de Sintaxe
Entidades-tipo com todas as letras em maiscula
EMPREGADO
BD Empresa
Uma determinada empresa est organizada
departamentos. A cada departamento est associado:
por
BD Empresa
Para os empregados necessrio guardar o nome (prprio e
apelido), nmero do BI, endereo, salrio, sexo, data de
nascimento e o correspondente supervisor.
Cada empregado pertence a um nico departamento, mas
pode trabalhar em vrios projetos, que no so
necessariamente controlados pelo mesmo departamento.
Para cada projeto necessrio tomar nota do nmero de
horas por semana que cada empregado nele trabalha.
Para efeitos de seguro necessrio conhecer os
dependentes de cada empregado, ou seja, o nome, sexo,
data de nascimento e grau de parentesco.
BD Empresa
Entidades-tipo
DEPARTAMENTO(Nome,
Num,
Gerente,
GerenteData,
{Localizao})
PROJECTO(Nome, Num, Localizao, Departamento)
EMPREGADO(Nome(Prprio, Apelido), NumBI, Endereo,
Salrio, Sexo, DataNasc, Supervisor, Departamento)
DEPENDENTE(Empregado,
Nome,
Sexo,
DataNasc,
GrauParentesco)
BD Empresa
Para representar o nmero de horas que cada empregado
trabalha num projeto e o facto de que um empregado pode
trabalhar em vrios projetos, podemos optar por:
Atributo composto multi-valor na entidade-tipo EMPREGADO
{TrabalhaEm(Projeto, Horas)}
Relacionamentos
No esquema anterior existem alguns relacionamentos implcitos. Isso
acontece quando um atributo de uma entidade refere outra entidade.
DIRIGE(EMPREGADO, DEPARTAMENTO)
CONTROLA(DEPARTAMENTO, PROJECTO)
SUPERVISIONA(EMPREGADO, EMPREGADO)
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO)
TRABALHA_EM(EMPREGADO, PROJECTO)
DEPENDE_DE(DEPENDENTE, EMPREGADO)
Relacionamentos
Grau de um relacionamento
Relacionamento binrio
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO)
Relacionamento ternrio
SUPERVISIONA(EMPREGADO, EMPREGADO)
Relacionamentos Restries
As restries nos relacionamentos permitem limitar as combinaes
possveis entre as entidades que participam num relacionamento.
Restrio de cardinalidade: restrio que especifica como as entidades
esto relacionadas.
1:1 (um-para-um)
1:N ou N:1 (um-para-muitos ou muitos-para-um)
M:N (muitos-para-muitos)
Relacionamentos Restries
Cardinalidade 1:1
DIRIGE(EMPREGADO, DEPARTAMENTO)
Cardinalidade 1:N
CONTROLA(DEPARTAMENTO, PROJECTO)
Cardinalidade N:1
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO)
Cardinalidade M:N
Participao total
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO)
DIRIGE(EMPREGADO, DEPARTAMENTO)
Participao parcial
DIRIGE(EMPREGADO, DEPARTAMENTO)
Entidades Fracas
Quando uma entidade-tipo no possui atributos chave
designada por entidade fraca. Entidades fracas esto sempre
relacionadas (relacionamento identificador) com outra entidadetipo (entidade identificadora).
Entidade fraca: DEPENDENTE
Entidade identificadora: EMPREGADO
Relacionamento identificador: DEPENDE_DE
BD Empresa
Entidades-tipo
Entidades Fracas
Relacionamentos
1:1 parcial/total
1:N parcial/total
1:N parcial/parcial
N:1 total/total
M:N total/total
N:1 total/parcial
ER Diagramas
Entidade-Tipo
Item
Smbolo
Entidade-Fraca
Relacionamento
Relacionamento-Identificador
Atributo
Atributo-Chave
______
ER Diagramas
Item
Smbolo
Atributo Multi-valor
Atributo Derivado
Atributo Composto
Participao Total de E2 em R
E1
E2
ER Diagramas
Cardinalidade 1:N
Item
Smbolo
E1
R
(min, max)
E2
E2
Diagrama ER Convenes
Entidades
Atributos
Relacionamentos
Modelos de BDs
Os modelos utilizados para a criao de bases de dados podem ser
classificados em dois grupos:
Modelos baseados em OBJETOS
Modelo Relacional
Este modelo continua a ser a abordagem dominante no mundo
das Bases de Dados [Oracle, Microsoft, IBM, SyBase];
Edgar Codd, criador do modelo, baseou-se na teoria matemtica
dos Conjuntos e na Lgica dos predicados;
Este modelo possui trs elementos:
Elemento ESTRUTURAL que descreve a forma como a informao
deve ser armazenada;
Elemento MANIPULAO que descreve o conjunto de operaes
disponibilizadas para processar dados de modo relacional;
Elemento INTEGRIDADE que prope regras para assegurar que a
informao se mantem vlida e consistente.
Elemento Estrutural
Armazenamento dos dados em tabelas, constitudas por
linhas (tuplos) e por colunas (atributos);
O nmero de linhas constitui a sua cardinalidade
O nmero de colunas constitui o grau
Exige que cada linha seja nica, isto , tem de existir uma
CHAVE PRIMRIA (primary key);
O modelo permite estabelecer ligao entre tabelas, onde o
atributo includo na segunda tabela designado por CHAVE
ESTRANGEIRA (foreign key).
Elemento Manipulao
Consiste num conjunto de operadores conhecidos por
lgebra relacional;
Os atuais SGBDs possuem um conjunto de instrues
baseado na lgebra relacional;
SQL (Structured Query Language), emergiu como a mais
popular linguagem no mundo das BDs relacionais;
A SQL simultaneamente uma linguagem de DEFINIO DE
DADOS (DDL) e uma linguagem de MANIPULAO DE
DADOS (DML).
SQL - Exemplo
Definio Dados (DDL)
CREATE TABLE
ALTER TABLE
CREATE VIEW
CREATE INDEX
INSERT INTO
UPDATE
DELETE FROM
SELECT
Relaes Tipos
So classificadas de acordo com a sua cardinalidade;
Relao (1:1) um-para-um, quando uma instncia
(ocorrncia) de uma entidade pode ter uma relao com
uma (e apenas uma) instncia de outra entidade;
Relao (1:N) um-para-vrios, quando uma instncia de um
lado da relao pode possuir vrias instncias da entidade
localizada no outo lado (mas no vice-versa);
Relao (N:M) vrios-para-vrios, quando vrias instncias
de ambos os lados podem participar na relao.
BDs Normalizao
O modelo relacional impe que as tabelas estejam
Normalizadas;
A normalizao a formalizao de um conjunto de regras muito
simples (senso comum) sobre as caratersticas que as tabelas
devem possuir para poderem funcionar sem problemas;
Primeira Forma Normal (1NF), quando numa tabela no existirem
grupos de valores repetidos;
Segunda Forma Normal (2NF), quando uma tabela est na 1NF e
todos os seus atributos no chave forem dependentes na
totalidade da chave primria;
Terceira Forma Normal (3NF), quando uma tabela est na 2NF e
cada um dos seus atributo no chave forem independentes entre
si.
Existem tuplos com mais do que um telefone. A normalizao impe a criao de outra
tabela, para armazenar os telefones dos clientes.
A tabela armazena dados de vendas de produtos. Para aplicar a 2FN, temos que
separar os pedidos e os produtos em diferentes entidades | tabelas.