Banco de Dados

Propaganda
Tecnologias e Linguagens para Banco de Dados I - WEB
I – Atribuições e atividades profissionais relativas à qualificação ou à
habilitação profissional, que justificam o desenvolvimento das competências
previstas nesse componente curricular
Conhecer a estrutura básica de um sistema gerenciador de banco de dados;
Desenvolver/construir estruturas de tabelas em banco de dados relacional;
Operar aplicativos para banco de dados, formulando consultas;
Conhecer a linguagem estruturada de consulta ;
II - Bases Tecnológicas
1. Estrutura de dados aplicada a banco de dados
2. Tipos de armazenamento e métodos de acesso aos dados
3. Ambientes/ferramentas de gerenciamento de bancos de dados
4. DER – Diagrama Entidade-Relacionamento
5. MER – Modelo Entidade-Relacionamento
6. MCD – Modelo Conceitual de Dados: normalização – aplicação das Formas
Normais
Prof. João Ricardo Andrêo
31/05/2017 08:13
1
Tecnologias e Linguagens para Banco de Dados I - WEB
III – Habilidades
Utilizar ambientes e linguagens para manipulação de dados nos diversos
modelos de SGBD (Sistemas Gerenciadores de Bancos de Dados)
Utilizar os conceitos de bancos de dados (SGBD) em bases de dados
distribuídas.
Aplicar a orientação a eventos em bancos de dados.
Desenvolver ferramentas de análise voltadas para estrutura de dados.
IV – Competências
Interpretar e analisar o resultado da modelagem de dados estruturada.
Implementar as estruturas modeladas usando banco de dados.
Identificar e desenvolver ferramentas de análise voltadas para estruturas de
dados.
Prof. João Ricardo Andrêo
31/05/2017 08:13
2
Tecnologias e Linguagens para Banco de Dados I - WEB
V – Material de Apoio Didático para Aluno
ALVES, Willian Pereira. Fundamentos de Bancos de Dados. Rio de Janeiro: Campus.
ANDREO, João Ricardo. Uma análise dos Sistemas Gerenciadores de Banco de
Dados da região de Bauru. 2004. 109 páginas. Monografia (Esp. Em Sist. De
Informação para INTERNET) – USC / Bauru, São Paulo.
DATE, C. J. Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Campus,
2004. 896 páginas.
OLIVEIRA, Adenise Generini de. SQL SERVER 6.5. Santa Catarina: Bookstore Livraria
Ltda., 1997. 254 páginas.
SILBERSCHATZ, Abraham; KORTH, Henry F. Sistemas de Banco de Dados. Rio de
Janeiro: Campus, 1999. 778 páginas.
SOUKUP, Ron. Desvendando o Microsoft SQL 6.5. Rio de Janeiro: Campus, 1998,
883 páginas.
MANZANO, José Augusto N. G. Microsoft SQL Server 2005 Express Edition –
Interativo. São Paulo : Editora Érica, 2008.
Prof. João Ricardo Andrêo
31/05/2017 08:13
3
Tecnologias e Linguagens para Banco de Dados I - WEB
VI – Outras Informações / Observações
Avaliação: 01/04/2010 – Recuperação: 15/04/2010
Conselho: 08/05/2010
Avaliação: 10/06/2010 – Recuperação: 24/06/2010
Conselho: 10/07/2010
Disquetes ou PenDrive, Material p/ anotações, etc (material de uso pessoal)
Prof. João Ricardo Andrêo
31/05/2017 08:13
4
Tecnologias e Linguagens para Banco de Dados I - WEB
Surgimento do Banco de Dados (Necessidades e Evolução)
Necessidade de registrar dados importantes para utilização futura.
Na pré-história usavam as pinturas, posteriormente as inscrições egípicias
(hieróglifos), os papiros e nos séculos atuais, o papel – é a forma mais comum para
registrar dados.
O papel armazena muitas informações (livros), mas tem alguns inconvenientes
quando utilizamos como exemplo, o registro de informações de uma empresa
(controle de estoque, folha de pagamento, contas a pagar, receber etc).
Uma das primeiras formas de armazenamento de informações na era
computacional foi a fita de papel perfurado, sucedida posteriormente pelo cartão
perfurado. (Sistemas idealizados por Hermam Hollerith – fundador de uma empresa
que posteriormente teve o nome mudado para International Business Machine –
IBM).
Os fatores que levaram ao desenvolvimento dos bancos de dados foram:
praticidade, rapidez, eficiência e confiabilidade.
Podemos citar como exemplo de armazenamento de dados, que assemelha-se
aos sistemas computacionais, os arquivos de aço, encontrado nas empresas, que
armazenam fichas, pastas e outros documentos, organizados em gavetas.
Prof. João Ricardo Andrêo
31/05/2017 08:13
5
Tecnologias e Linguagens para Banco de Dados I - WEB
Surgimento do Banco de Dados (Necessidades e Evolução - continuação)
A necessidade de criar um meio computacional que permitisse armazenar
grande quantidade de dados, de acesso rápido e facilitado, também teve sua
evolução, dos inconvenientes que os sistemas de arquivos em disco possuiam:
Não possuía controle de acesso concorrente (vários usuários);
Não permitia executar mais de um processo ao mesmo tempo num mesmo
arquivo de dados;
A definição da estrutura do arquivo encontrava-se inserida no próprio
aplicativo – os programas controlavam as tarefas de leitura e gravação –
manutenção dos sistemas tornavam-se complexas;
Inconsistências, redundâncias, dificuldades de acesso e isolamento dos
dados;
Problemas de segurança, relativo aos dados;
Acesso ao arquivo era efetuado de forma direta pelo aplicativo – sistema;
Prof. João Ricardo Andrêo
31/05/2017 08:13
6
Tecnologias e Linguagens para Banco de Dados I - WEB
Prof. João Ricardo Andrêo
31/05/2017 08:13
7
Tecnologias e Linguagens para Banco de Dados I - WEB
Sistema Gerenciador de Banco de Dados (SGBD)
Conhecido também como DBMS (Data Base Management System) é um software
ou um conjunto de programas que tem o objetivo de fornecer ferramentas para
armazenar grande volume de dados, de maneira rápida e precisa, mantendo as
informações coesas, controlando o acesso às mesmas, disponibilizando recursos
de apoio ao desenvolvimento de aplicações, segurança no armazenamento (cópia
de segurança e restaurações), bem como o monitoramento constante do
desempenho das tarefas e ações no acesso às mesmas.
Prof. João Ricardo Andrêo
31/05/2017 08:13
8
Tecnologias e Linguagens para Banco de Dados I - WEB
Prof. João Ricardo Andrêo
31/05/2017 08:13
9
Tecnologias e Linguagens para Banco de Dados I - WEB
Usuários
navegantes(telefonistas,a
gentes, etc)
Interface com as
aplicações
Programadores
de aplicações
Programas de
aplicações
Pré-compilador de
comandos DML
Programas de
aplicações em
código objeto
Gerenciador
de transações
Usuários
sofisticados
Consulta
(query)
Compilador
DML
Administrador de
banco de dados
Usuários
Esquema de
banco de dados
Interpretador
DDL
Processador
de
consultas
Componente de
execução de
consultas
Sistema
gerenciador de
banco de dados
Gerenciador
de buffer
Gerenciador
de
memória
Gerenciador
de arquivos
Índices
Arquivos de Dados
Dados Estatísticos
Armazenamento
em disco
Dicionário de Dados
Prof. João Ricardo Andrêo
31/05/2017 08:13
10
Tecnologias e Linguagens para Banco de Dados I - WEB
Sistema Gerenciador de Banco de Dados (SGBD)
Segue uma relação de alguns softwares de sistemas gerenciadores. Alguns fizeram
sucesso e não são mais produzidos e outros não possuem as características
completas de um sistema gerenciador, portanto devem ser considerados apenas
como banco de dados e não um completo sistema gerenciador de banco de dados.
Dbase
Interbase
Paradox
SqlServer
Dataflex
Sybase
FoxBase/FoxPro
MySQL
Access
PostgreSQL
Oracle
Informix
DB2
ZIM
Prof. João Ricardo Andrêo
31/05/2017 08:13
11
Tecnologias e Linguagens para Banco de Dados I - WEB
Campos, Registro e Tabelas
Nos diversos ambientes de trabalho, existem os vocabulários e termos técnicos
específicos de cada área. No ambiente computacional não é diferente, então
vamos tratar de algumas dessas terminologias.
Quando utilizamos banco de dados, necessitamos possuir os conceitos de campos,
registros e tabelas.
Campo(s)
É a menor unidade destinada ao armazenamento de um valor, ou um dado,
existente em uma tabela de banco de dados. Cada campo deve conter apenas
um tipo de dado finito.
Prof. João Ricardo Andrêo
31/05/2017 08:13
12
Tecnologias e Linguagens para Banco de Dados I - WEB
Campo(s)
Exemplo:
Brinquedos e Jogos LEGAL
Av. São Paulo, 474
Centro
Jundiaí
SP
Acima temos o exemplo de um endereço completo de uma empresa, mas
como armazenar estes dados num banco de dados ?
É necessário separar em partes, assumindo que cada linha é uma fração finita
do todo (informação). Então cada linha deve ocupar uma coluna para separar
o dado.
A estruturação do banco de dados é uma das principais atividades na tarefa de
projetar um sistema, isto é, definir os campos que irão compor as tabelas.
Estes campos recebem uma identificação e uma especificação do tipo de dado
capaz de ser armazenado.
Prof. João Ricardo Andrêo
31/05/2017 08:13
13
Tecnologias e Linguagens para Banco de Dados I - WEB
CAMPOS
Prof. João Ricardo Andrêo
31/05/2017 08:14
14
Tecnologias e Linguagens para Banco de Dados I - WEB
Campo(s)
O tipo de dado que pode ser atribuído ao(s) campo(s) é: caractere (texto),
numérico (com decimais ou não), data, hora e lógico (valores do tipo
verdadeiro ou falso). Alguns bancos de dados possuem outros tipos como:
XML, GEOGRAPHY, BLOB etc.
Os campos do tipo caractere (string) podem ter tamanho fixo ou variável, isto
irá depender também do banco de dados.
Registro(s)
É um conjunto de campos de uma tabela (linha). É a unidade básica da
informação, ou seja, o conjunto de todos os campos de uma linha caracterizam
a informação completa de uma entidade.
Os registros podem ser chamados também de tuplas.
Prof. João Ricardo Andrêo
31/05/2017 08:14
15
Tecnologias e Linguagens para Banco de Dados I - WEB
R
E
G
I
S
T
R
O
S
Prof. João Ricardo Andrêo
31/05/2017 08:14
16
Tecnologias e Linguagens para Banco de Dados I - WEB
Tabela(s)
Uma tabela é um conjunto de registros (linhas), na qual, cada linha possui a
mesma quantidade de campos (colunas).
Cada linha é um registro, uma informação completa sobre a entidade da
tabela, ou seja, se temos uma tabela de CLIENTE, o registro é o conjunto de
informações sobre o mesmo. Por sua vez, a tabela é um conjunto de registros,
ou seja, a informação de vários clientes armazenados.
Desta forma devemos entender que para cada entidade ou assunto criamos
uma tabela, por exemplo. Se desejamos guardar informações de fornecedores,
criamos uma tabela FORNECEDOR, se desejamos guardar informações sobre
automóveis, criamos uma tabela AUTOMOVEL, e assim sucessivamente.
As tabelas devem ser identificadas com nomes distintos (não se repetem)
dentro do banco de dados, como os campos também devem ter nomes
distintos dentro da tabela.
Prof. João Ricardo Andrêo
31/05/2017 08:14
17
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de dados
Tabelas
Registros
Campos
Tabelas
Registros
Campos
Tabelas
Registros
Campos
Prof. João Ricardo Andrêo
31/05/2017 08:14
18
Tecnologias e Linguagens para Banco de Dados I - WEB
Tipos de Bancos de Dados
Os bancos de dados podem ser classificados de diversas formas.
Vamos trabalhar com a classificação baseada no modelo de dados.
Atualmente os modelos mais utilizados comercialmente são: o modelo de dados
relacional e o modelo de dados de objeto.
Podemos encontrar também: modelo de dados hierárquico, modelo de dados de
rede e o modelo de dados de lista invertida (não muito utilizado atualmente).
Prof. João Ricardo Andrêo
31/05/2017 08:14
19
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados Relacional
Caracteriza-se pela organização dos dados em tabelas, formadas por linhas e
colunas. Assim como na matemática, essas tabelas são conjuntos de elementos ou
objetos referentes a um mesmo assunto, de modo organizado.
Na matemática estas tabelas/conjuntos podem estabelecer uma relação entre dois
ou mais conjuntos, através de elementos em comum.
Os princípios básicos de sistemas de banco de dados relacional foram formulados
pelo Dr. Edgard F. Cood (1923 a 2003), em 1968, tendo como base a teoria dos
conjuntos e da álgebra relacional.
Por ter sido um conceituado matemático, ele propôs a aplicação desses conceitos
para a criação de um banco de dados relacional.
Prof. João Ricardo Andrêo
31/05/2017 08:14
20
Tecnologias e Linguagens para Banco de Dados I - WEB
Prof. João Ricardo Andrêo
31/05/2017 08:14
21
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados Hierárquico
Caracteriza-se pelo relacionamento PAI-FILHO , onde cada entidade possui uma
coleção de valores, chamada de registro, que representa informações sobre a
entidade.
O registro que antecede outro na hierarquia é denominado PAI e os registros que
sucedem a este, são chamados de FILHOS.
Neste relacionamento, o registro PAI, pode se corresponder com vários (ou
nenhum) registros FILHO.
Num diagrama hierárquico, a representação é feita por retângulos e linhas ligando
PAI e FILHO numa organização estrutural semelhante a uma árvore, ou mesmo um
organograma empresarial.
Prof. João Ricardo Andrêo
31/05/2017 08:14
22
Tecnologias e Linguagens para Banco de Dados I - WEB
Exemplo Diagrama Hierárquico
(PAI)
Fornecedor
(FILHO)
Produto
Contas a Pagar
Prof. João Ricardo Andrêo
31/05/2017 08:14
23
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados Hierárquico (continuação)
Este esquema hierárquico representa uma estrutura de árvore, apresentando as
seguintes propriedades:
• Registro que não possui um PAI, pode ser chamado de RAIZ.
• Com exceção do registro RAIZ, todos os demais registros correspondem a
registros FILHO dentro de um único tipo de relacionamento.
• Um registro PAI pode aparecer em qualquer número de relacionamentos.
• Um registro FILHO, que não possue descendentes, é denominado FOLHA no
esquema hierárquico.
Este tipo, ainda é utilizado em
alguns ambientes de equipamentos de grande
porte.
Referimo-nos a este relacionamento como um par ordenado, tendo o registro PAI e
o registro FILHO. (FORNECEDOR, PRODUTO) (FORNECEDOR, CONTAS A PAGAR)
Prof. João Ricardo Andrêo
31/05/2017 08:14
24
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados de Rede
Sistema largamente utilizado em computadores de grande porte, parecendo com o
sistema hierárquico, diferindo no fato de que um mesmo registro pode participar de
vários relacionamentos, pois eliminou-se a hierarquia.
Outro diferencial é a possibilidade de acesso direto a um determinado registro,
enquanto que no sistema hierárquico era necessariamente obrigatório passar pela
raiz até chegar ao registro desejado.
Os comandos para manipular os registros eram incorporados a aplicação, que
normalmente eram desenvolvidas em COBOL, PASCAL ou FORTRAN.
A estrutura do banco de dados de rede é: registro (records) e o conjunto destes
(sets). Este conjunto possui em sua definição três compoenentes: nome do tipo de
conjunto, tipo de registro proprietário e tipo de registro membro, conforme o
próximo slide.
Prof. João Ricardo Andrêo
31/05/2017 08:14
25
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados de Rede
Tipo de Conjunto
DEP_FUNC
Registro Proprietário
DEPARTAMENTO
Registro Membro
FUNCIONARIO
Os conjuntos de registros são relacionados na
forma 1:N (um para muitos), através de uma seta,
como mostra a figura ao lado.
Cada ocorrência relaciona um registro proprietário
com um ou mais registros do tipo membro ( ou
mesmo nenhum).
Tecnicamente pode-se dizer que o registro
proprietário possui um ponteiro que “aponta” para
uma registro membro
DEPARTAMENTO
DEP_FUNC
FUNCIONARIO
Prof. João Ricardo Andrêo
31/05/2017 08:14
26
Tecnologias e Linguagens para Banco de Dados I - WEB
Banco de Dados Orientado a Objeto
Devido as limitações dos sistemas relacionais da época e da necessidade de
armazenar dados complexos de sistemas CAD/CAM/CAE e também de
informações geográficas surgiram os SGBDOO.
Estes sistemas são utilizados em aplicações especializadas, como as científicas.
Atualmente os sistemas relacionais evoluíram e estão capacitados a armazenar
dados complexos, conhecidos então como modela Objeto-Relacional.
O banco de dados orientado objeto, possui conceitos da programação orientada
objeto, como a definição de: classes, objetos, métodos, encapsulamento, herança,
polimorfismo, etc.
Como exemplos de linguagens orientada a objeto pode-se citar: Java, C++, VBNet,
Delphi, etc.
Prof. João Ricardo Andrêo
31/05/2017 08:14
27
Tecnologias e Linguagens para Banco de Dados I - WEB
Definições:
Dado:
É a representação do núcleo da informação registrado em um papel,
quadro de aviso ou em um dispositivo de armazenamento do computador. Exemplo:
Temperatura=38 graus Celsius
Informação:
É qualquer fato ou conhecimento do mundo, que pode ser registrado
ou não. Exemplo: Está muito quente hoje ...
Banco de Dados:
É uma coleção de dados (palavras, números, imagens, etc),
ordenados que possuem um significado.
Prof. João Ricardo Andrêo
31/05/2017 08:14
28
Tecnologias e Linguagens para Banco de Dados I - WEB
Atividades:
1. O que é um Sistema Gerenciador de Banco de Dados ?
2. O que é um dado ?
3. O que é um campo ?
4. O que é um registro ?
5. O que é uma tabela ?
6. Quanto a classificação de banco de dados, baseada no modelo, cite 3 tipos.
Prof. João Ricardo Andrêo
31/05/2017 08:14
29
Download