seminários avançados i professor: marcio gonçalves; marcio@datainfo.inf.br; sql

Post on 17-Apr-2015

130 Views

Category:

Documents

12 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Seminários Avançados ISeminários Avançados I

Professor: Marcio Gonçalves;

marcio@datainfo.inf.br;www.uniasselvi.com.br/marcio;

SQLSQL

2

Conjunto de dados interrelacionados que objetivam atender as necessidades de um conjunto de usuários.

Inglês: DatabaseBD = Banco de Dados

Definição Banco de DadosDefinição Banco de Dados

3

Definição de SGBD’sDefinição de SGBD’s

Software que auxilia na definição, carga, recuperação, atualização e manutenção de um banco de dados.

Inglês: Database Management SystemSGBD = Sistema de Gerenciamento de BD

4

Linguagens Existentes em SGBD’sLinguagens Existentes em SGBD’s

DDL - “Data Definition Language”- Linguagem usada para descrever o modelo lógico.

DML - “Data Manipulation Language”- Linguagem usada para escrever instruções que trabalham sobre a base de dados.

5

Funções Envolvidas com SGBD’sFunções Envolvidas com SGBD’s

DBA - Administrador do Banco de Dados- Responsável pela parte física.

AD - Administrador de Dados- Responsável pela parte lógica.

6

Funções Envolvidas com SGBD’sFunções Envolvidas com SGBD’s

Projetista de Banco de Dados- Constrói partes do modelo da base de dados.

Analista de Sistemas- Define e projeta aplicações sobre a base de dados.

7

Funções Envolvidas com SGBD’sFunções Envolvidas com SGBD’s

Programador- Constrói aplicações usando os modelos lógicos existentes.

Usuários Finais- Acessam a base de dados através de aplicações.

8

Processamento sem BDProcessamento sem BD

Exemplo:

9

Processamento sem BDProcessamento sem BD

Dados de diferentes aplicações não estão integrados.

Dados estão projetados para atender uma aplicação específica.

10

Processamento sem BDProcessamento sem BD

O mesmo objeto da realidade é múltiplas vezes representado nas várias aplicações.

Redundância não controlada dos dados.

11

Processamento sem BDProcessamento sem BD

A redundância ocasiona em inconsistência dos dados; e

Na redigitação de informações.

12

Processamento com BDProcessamento com BD

Exemplo:

13

Processamento com BDProcessamento com BD

Cada informação é armazenada uma única vez.

Podem ocorrer eventuais redundâncias controladas pelo sistema, mas invisíveis para o usuário.

14

Propostas dos Bancos de DadosPropostas dos Bancos de Dados

Prover independência das aplicações em relação aos dados.

O SGBD é quem oferece o isolamento das aplicações em relação aos dados.

15

Propostas dos Bancos de DadosPropostas dos Bancos de Dados

As aplicações devem ver os dados de forma abstrata, independente de detalhes físicos de implementação.

16

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Modelos de Plataformas para Banco de Dados: - Mono-Usuário- Centralizada- Cliente/Servidor

17

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Mono-Usuário- O banco de dados encontra-

se no mesmo computador em que são executadas as aplicações.

- Não há múltiplos usuários.- Típico de computadores

pessoais.

18

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Esquema gráfico de uma arquitetura Mono-Usuário:

19

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Centralizada- O banco de dados encontra-se no mesmo computador em que são executadas as aplicações.

- Múltiplos usuários acessam através de terminais “burros”.

- Arquitetura típica de “mainframe”.

20

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Esquema gráfico de uma arquitetura Centralizada:

21

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Cliente/Servidor- Múltiplos usuários.- Servidor de banco de dados

(um computador contém todos os arquivos do banco mais o SGBD).

- Os clientes executam as aplicações.

22

Arquiteturas de Hardware/SoftwareArquiteturas de Hardware/Software

Cliente/Servidor- Trafegam na rede comandos de alto nível para o SGBD.

- Arquitetura mais utilizada.

Cada pessoa tem que construir a sua história.

24

Histórico de Banco de DadosHistórico de Banco de Dados

O conceito surgiu da dificuldade das organizações em manter os “sistemas legados”.

Os primeiros sistemas de banco de dados chegaram no fim da década de 60.

25

Histórico de Banco de DadosHistórico de Banco de Dados

Modelos de Sistemas de Banco de Dados:- Hierárquico- Rede- Relacionais- Orientado a Objetos

26

Modelo HierárquicoModelo Hierárquico

Largamente utilizado durante a década de 70 e início da década de 80.

A IBM teve o IMS (DL/1) um dos bancos de dados hierárquicos mais conhecidos.

Outros: System 2000.

27

Modelo HierárquicoModelo Hierárquico

Um BD hierárquico é composto de árvores de registros.

Entre os diferentes tipos de registros (segmentos) existem as ligações pai-filho.

Um determinado registro somente pode possuir um registro pai.

28

Modelo HierárquicoModelo Hierárquico

Um registro (segmento) pai pode possuir filhos de diferentes tipos.

A hierarquia pode estender-se por diversos níveis.

29

Modelo HierárquicoModelo Hierárquico

Este modelo somente era adequado para problemas hierárquicos.

Em caso de problemas não hierárquicos criava a redundância de dados.

30

Modelo HierárquicoModelo Hierárquico

O modelador tinha que escolher um tipo de registro pai com base em considerações de performance.

Em caso de problemas não hierárquicos cria anomalias nas instruções de modificação da base de dados.

31

Modelo em RedeModelo em Rede

Grande família de SGBD’s baseada em um padrão CODASYL e mais tarde no ANSI.

O IDMS da Cullinet Software tornou-se um dos mais conhecidos.

Outros: IDS/2, RMS (Digital)

32

Modelo em RedeModelo em Rede

Em um BD em Rede um determinado registro pode possuir diversos registros pai.

A única restrição é que em um tipo de ligação um registro somente pode participar uma vez.

33

Modelo em RedeModelo em Rede

Na abordagem em rede não aparecem as anomalias de manutenção da base de dados que aparecem em modelos hierárquicos.

A abordagem em rede não está restrita somente a atender problemas hierárquicos.

34

Modelo em RedeModelo em Rede

O programador tem que conhecer as ligações existentes na base de dados.

A independência de dados fica prejudicada, pois a criação e eliminação de ligações implica em alteração dos programas.

35

Modelo RelacionalModelo Relacional

Surgiu dos trabalhos teóricos de Edgard F. Codd (IBM) procurando um modelo lógico independente de detalhes de implementação.

Baseado na álgebra relacional.

36

Modelo RelacionalModelo Relacional

Pesquisas e construções de protótipos iniciaram em meados da década de 70.

Como primeiros produtos surgiram o System R (IBM) e o INGRES (Universidade da Califórnia).

37

Modelo RelacionalModelo Relacional

Produtos conhecidos atualmente:

- ORACLE, DB2, SYBASE, SQL SERVER, INTERBASE, MYSQL, INFORMIX, POSTGRES, etc.

38

Modelo RelacionalModelo Relacional

Sistema relacional é aquele no qual os dados são percebidos pelos usuários como tabelas.

As ligações entre linhas de diferentes tabelas são feitas através do uso de valores de atributos.

39

Modelo RelacionalModelo Relacional

No modelo relacional a independência de dados aumenta, pois programas não são influenciados pela existência ou não de caminhos de acesso.

40

Modelo Orientado à ObjetosModelo Orientado à Objetos

Os bancos de dados orientados a objeto iniciaram-se primeiramente em projetos de pesquisa nas universidades e centros de pesquisa (início dos anos 80).

Existem atualmente ainda poucos produtos no mercado.

41

Modelo Orientado à ObjetosModelo Orientado à Objetos

Os bancos de dados orientados a objetos tem como objetivo integrar a orientação a objeto com as aptidões dos bancos de dados.

Disponibilizando mais abstração da estrutura de dados do que os bancos de dados convencionais.

42

Modelo Orientado à ObjetosModelo Orientado à Objetos

Os bancos de dados orientados a objetos atualmente estão direcionados a disponibilizar soluções para apoiar aplicações que utilizam tipos de dados complexos (como multimídia e desenho).

43

Modelo Orientado à ObjetosModelo Orientado à Objetos

Isto deve-se ao fato que os bancos de dados convencionais (no momento) encontram algumas dificuldades para tratar estes tipos de dados.

Quanto mais cultura melhor.

45

Banco de Dados RelacionalBanco de Dados Relacional

Os bancos de dados relacionais possuem regras básicas de integridade que permitem o controle de preenchimento das colunas das tabelas existentes no banco de dados.

46

Regras de IntegridadeRegras de Integridade

- Chave Primária: coluna ou colunas cujos valores diferenciam uma linha das demais para todos os possíveis valores de uma tabela.

- O valor da chave primária não pode ser vazio.

47

Regras de IntegridadeRegras de Integridade

- Obrigatoriedade / Opcionalidade: as informações de cada coluna da tabela podem ser opcionais ou obrigatórias.

- A obrigatoriedade indica que na inclusão de novas linhas ou na atualização de campos, os campos obrigatórios deverão estar preenchidos.

48

Regras de IntegridadeRegras de Integridade

- Validação a nível de campo: os valores de um determinado campo podem ser predefinidos (domínio).

- Valores entre dois ou mais campos também podem ser comparados em uma mesma linha.

49

Regras de IntegridadeRegras de Integridade- Chave Candidata: coluna ou

colunas de uma tabela, cujos valores diferenciam uma linha das demais para todos os possíveis valores de uma tabela. Porém, por questões funcionais não foram escolhidas para chave primária.

50

Regras de IntegridadeRegras de Integridade

- Chave Estrangeira: coluna ou colunas de uma tabela, cujos valores devem aparecer na chave primária de uma tabela (de outra tabela ou da mesma).

51

Modelagem de DadosModelagem de Dados

Modelo de Clientes e Pedidos

Cliente Pedido

Item Peça

top related