Logo Passei Direto
Buscar

unidade 1 cap 2 - Introdu- ¦ção BD

User badge image

Enviado por Marlon Braga em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

1
Tópicos:
a) Definição e Histórico
b) A Necessidade da Modelagem
c) Tipos de Bancos de Dados
d) Níveis da arquitetura de banco de dados
e) Modelo de Banco de Dados Relacional
f) Exercícios propostos
g) Bibliografia 
Conceituação de Banco de Dados
U1 – cap.1 
2UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Definição de Banco de Dados
A palavra “database” é usada para 
descrever desde um simples conjunto de 
dados, como uma lista de telefones, até um 
conjunto complexo de ferramentas, como 
“SQL Server”. SQL - Structured Query 
Language.
“SQL Server” é uma ferramenta para 
armazenar e manipular informações, um 
sistema gerenciador de banco de dados –
“Database Management System (DBMS)”.
Um “database” relacional precisa 
implementar um modelo relacional, o qual é 
uma maneira de descrever alguns aspectos do 
mundo organizacional de acordo com um 
conjunto de regras propostas por E. F. Codd, 
no fim dos anos 1960. 
2
3UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Definição de Banco de Dados
A palavra “database” é usada para descrever desde um simples conjunto 
de dados, como uma lista de telefones, até um conjunto complexo de 
ferramentas, como “SQL Server”. SQL - Structured Query Language.
“SQL Server” é uma ferramenta para armazenar e manipular 
informações, um sistema gerenciador de banco de dados – “Database 
Management System (DBMS)”.
Um “database” relacional precisa implementar um modelo relacional, o 
qual é uma maneira de descrever alguns aspectos do mundo organizacional 
de acordo com um conjunto de regras propostas por E. F. Codd, no fim 
dos anos 1960. 
SGBD
SOFTWAREBanco de 
Dados
sistemas
usuários
4UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
� Anos 50 e início dos anos 60:
� Usava fitas magnéticas - Fitas só permitem acesso sequencial
� Cartão perfurado como entrada
� Fim dos anos 60s e anos 70:
� Discos rígidos com acesso direto
� Modelos de banco de dados em rede e hierárquico
� Ted Codd definiu o modelo de dados relacional
� 1980s:
� Modelo relacional usado em sistemas comerciais
� SQL passa a ser padrão
� Sistemas de banco de dados paralelos e distribuídos
� Sistemas de banco de dados Object-oriented
� 1990s:
� Aplicações data-mining 
� Data warehouses: Large multi-terabyte
� Inicio da Web comercial
� início 2000s:
� Padronização do XML
� Automação da Administração de Banco de Dados (final dos anos 2000)
Banco de Dados: HISTÓRICO Introdução
3
5UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução A Utilização do Banco de Dados
� Um DBMS contem informação sobre uma empresa
� Coleção de dados inter-relacionados
� Conjunto de programas para acessar os dados
� Um ambiente eficiente de uso
� Um banco de dados pode ser muito grande
� Aplicações para banco de dados:
� Transações bancarias
� Companhias aérea
� Escolas
� Comercio: clientes, produtos, encomendas
� Vendas Online: rastreamento de pedidos, pesquisas
� Industria: produção, estoque, pedidos, fornecedores
� RH: benefícios de empregados, salários
Qual os benefícios de se usar banco de dados ?
1. A integração dos dados através da unificação dos mesmos.
2. O compartilhamento dos dados com os interessados.
6UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
� Projetos de engenharia são um bom exemplo da necessidade de modelos. Não é 
possível construir uma casa sem primeiramente definir sua planta.
� Para o desenvolvimento de um software, que é abstrato por natureza, sem 
inicialmente definir sua arquitetura.
� Em alguns projetos de engenharia, além do modelo em “papel”, são usadas 
maquetes para que o comportamento do sistema seja avaliado.
Introdução A Necessidade da Modelagem
1) O que são modelos?
- São representações 
esquemáticas reduzidas
de alguma coisa. 
2) Qual a vantagem de
se usar modelos?
- A principal é a economia
de se avaliar o funcionamento
e os custos de alguma coisa.
• Cite alguns exemplos 
de modelos?
4
7UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Modelo Conceitual
• Representa os conceitos (dados) do domínio do problema através da técnica 
Modelo de Entidades e Relacionamentos.
• Pode ser representado também em diferentes notações, o diagrama de 
classes da UML e o MER são exemplos.
• É independente dos detalhes físicos de implementação, tais como: chaves 
estrangeiras e concorrência.
MER - Modelo Entidades Relacionamentos [Chen - 1976]
• Representa a memória de dados para o funcionamento do “Modelo Essencial 
do Sistema”. [McMenamim e Palmer - 1984]
• Com base na lista de eventos o engenheiro de software deve fazer a 
primeira tentativa de modelo. 
Introdução A Necessidade da Modelagem
8UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Tipos de Bancos de Dados
Sistema de arquivos – não possuí técnica de 
modelagem e o “database” é armazenado no 
sistema de arquivos do sistema operacional.
A evolução das técnicas de 
“database”.
Fonte: Powell 2006
• Sistema de arquivos
• Banco de dados hierárquico
• Banco de dados em rede
• Banco de dados relacional
• Banco de dados orientado a objetos
• Banco de dados objeto-relacional
5
9UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Desvantagens do sistema de arquivos
� Redundância e inconsistência
� Arquivos com múltiplos formatos, duplicação da informação em 
diferentes lugares
� Dificuldade no acesso 
� Necessidade de escrever um programa novo para cada tarefa
� Problemas de integridade
� Dificuldade para incluir novas restrições ou mudar as existentes
� Atomicidade das atualizações
� As falhas levavam os sistemas a um estado de inconsistência
� Exemplo: Transferência de uma conta para outra
� Acesso concorrente de múltiplos usuários
� Problema de segurança
Os sistemas de banco de dados
resolveram todos esses problemas
Fonte: Silberschatz 2006
Introdução
Mecanismos de segurança do DB2
Há três mecanismos principais dentro do DB2 que permitem que um DBA implemente um plano de 
segurança do banco de dados: autenticação, autorização e privilégios. 
Fonte:http://www.ibm.com/developerworks/br/data/tutorials/db2-cert7302/section2.html
10UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução
O Bancos de Dados Hierárquico
O “database” hierárquico é uma estrutura em árvore 
invertida. As tabelas desse modelo aplicam o relacionamento 
“pai-filho”. Cada tabela filho possui uma única tabela pai e 
cada tabela pai pode possuir múltiplas tabelas filho. 
Suporta a relação um-para-muitos (1 ���� N). Características:
1) Ligações 1 � N
2) Não têm nome
3) Não pode ter ciclosO modelo “database” hierárquico
Departamento
Gerente
Empresa
Empregado Projeto
Função
Depto 2Empregado
Projeto
Função
Depto 1
Depto 3
Acessos inválidos
6
11UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução
O modelo “database” em rede permite
que tabelas filho possuam mais de um pai,
criando uma estrutura de tabelas tipo
rede.
Múltiplas tabelas pai para cada filho
permite a relação muitos para muitos.
No exemplo existe a relação m-n entre
empregados e tarefas. Em outras palavras,
empregados podem ser designados para
muitas tarefas e uma tarefa pode ser
designada para muitos empregados. Assim,
muitos empregados possuem muitas
tarefas e vice-versa.
O modelo em rede 
é um refinamento do 
modelo hierárquico.
A figura mostra como gerentes podem fazer parte de departamentos e empresas.
O modelo em rede
da figura está levando em conta que não somente cada departamento em
uma empresa tem um gerente, mas também que cada empresa tem um gerente geral (um
Chief Executive Officer).
Designação
Tipo Empregado
Departamento
Gerente
Empresa
Empregado Projeto
Função
O Bancos de Dados em Rede
12UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução
possui
Na figura a linha é notacional, significa que existem ligações entre elementos de Empresa e
Departamento e mostra qual é o lado 1 e qual é o lado N.
O Bancos de Dados em Rede
e1
d1 d2
e2
d3 d5d4
e3
d6
e4
Departamento
Empresadiagrama do esquema:
diagramas de ocorrências:
“owner”
“member”
Cada elemento do conjunto mestre (e1, e2, e3, etc.) está ligado a varias ocorrências do
conjunto detalhe (d1, d2, d3, etc.).
7
13UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Níveis da arquitetura de banco de dados
Nível externo
Nível conceitual
Nível interno
BD
Acessos físicos
• Define as visões externas, visões de
programas aplicativos.
• Define a representação intermediaria. 
Nível lógico que descreve os dados e os
relacionamentos.
• Define a representação física dos dados.
View of Data
SGBD
14UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Visão externa de dados
Usa a linguagem do programa da aplicação
• exemplos: C, Java, Pascal, Cobol, etc. 
• as linguagens são suportadas por uma
sublinguagem de dados, uma DSL, 
normalmente embutida na linguagem da aplicação. 
DML - Data Manipulation Language 
Linguagem para acessar e manipular os dados
• “query language”
DDL - Data Definition Language 
Linguagem para definir o banco de dados físico
• o compilador de DDL gera um conjunto de tabelas que definem o “dicionário de 
dados “ do banco de dados.
• o dicionário de dados é um metadado, ele contém:
1. O esquema do banco de dados
2. As restrições de integridade (chaves e relacionamentos)
3. As autorizações (permissões de acesso)
Introdução
Linguagens de Banco de Dados
View of Data
Existe uma linguagem específica para definir o esquema conceitual e físico de um SGBD.
� A linguagem utilizada é a Structured Query Language (SQL), que apesar de existir um 
padrão definido, varia de SGBD pra SGBD.
8
15UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Modelo de Banco de Dados Relacional
O modelo de dados serve para descrever:
1. Os dados e os relacionamentos entre os dados.
2. A semântica dos dados e as restrições entre os dados.
Exemplo de tabela no modelo relacional
Colunas 
(atributos)
Linhas
(tuplas)
Sistema zipcar - Tabela de veículos
16UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução Exemplo de acesso ao banco de dados
Tabela: veículo
� Uma pesquisa SELECT * FROM T terá como 
resultado todos os elementos de todas as linhas 
da tabela chamada T.
� Partindo da mesma tabela T, a pesquisa 
SELECT C1 FROM T terá como resultado todos 
os elementos da coluna C1 da tabela T. 
� O resultado da pesquisa SELECT * FROM T 
WHERE C1=1 será todos os elementos de todas 
as linhas onde o valor de coluna C1 é '1'.
resultado do acesso
Outros comandos SQL
9
17UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
A arquitetura de um banco de dados é influenciada pela 
estrutura de computadores que o banco de dados 
funciona:
� Centralizada
Um único computador servidor do DBMS
� Cliente-servidor
O sistema está ligado a estações remotas.
� Paralelo (multiprocessadores)
Mais de um computador servidor do DBMS
� Distribuída (geograficamente)
Tipos de arquiteturas
Introdução
18UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
BIBLIOGRAFIA
Chen, Peter; The Entity-Relationship Model - Toward a 
Unified View of Data, ACM Transactions on Database Systems 
1 (1): 9–36. (March 1976). 
C. J. Date, “Introdução a Sistemas de Bancos de Dados” – 8ª 
Edição”, Editora Campus, 2003.
Setzer, Valdemar; Banco de Dados – conceitos, modelos, 
gerenciadores, projeto lógico e projeto físico; Editora Edgard 
Blücher Ltda., SP, 1986.
Silberschatz, Avi; Korth, H; Sudarshan, S; Database System 
Concepts, 6th Edition, McGraw-Hill, 2005.
Powell, Gavin; Beginning Database Design and Implementation; 
Wrox Press (2006)
Sikha Bagui and Richard Earp; Database Design Using Entity-
Relationship Diagrams; Auerbach Publications © 2003
Hernandez, Michael J.; Database Design for Mere Mortals™; 
Second Edition; A Hands-On Guide to Relational Database 
Design;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina

Mais conteúdos dessa disciplina