16
1 Banco de Dados I Banco de Dados I 2 1. Conceitos de Banco de Dados 1. Conceitos de Banco de Dados 1.1. 1.1. Características Características de um de um Banco Banco de Dados de Dados. 1.2. 1.2. Van Vantagens na utilização tagens na utilização de um de um BD. BD. 1.3. 1.3. Quando usar Quando usar e não usar não usar um um Banco Banco de de Dados ados. 1.4. 1.4. Modelos Modelos, Esquemas Esquemas e e Instâncias Instâncias. 1.5. 1.5. Arquitetura Arquitetura de um SGBD de um SGBD. 1.6. 1.6. Classificação Classificação dos SGBD dos SGBDs. s.

Banco de Dados I - sergiorodrigues.net · Modelo é a descrição de um banco de dados. O Modelo deve representar todas as estruturas ... – E outras informações descritas em forma

Embed Size (px)

Citation preview

1

Banco de Dados IBanco de Dados I

2

1. Conceitos de Banco de Dados1. Conceitos de Banco de Dados

1.1. 1.1. CaracterísticasCaracterísticas de umde um BancoBanco de Dadosde Dados..

1.2. 1.2. VanVantagens na utilizaçãotagens na utilização de um de um BD.BD.

1.3. 1.3. Quando usarQuando usar ee não usarnão usar umum BancoBanco de de

DDadosados..

1.4. 1.4. ModelosModelos,, EsquemasEsquemas e e InstânciasInstâncias..

1.5. 1.5. ArquiteturaArquitetura de um SGBDde um SGBD..

1.6. 1.6. ClassificaçãoClassificação dos SGBDdos SGBDs.s.

2

3

1.1. 1.1. CaracterísticasCaracterísticas de umde um BancoBancode Dadosde Dados

�� AutoAuto--descrição dos dados (descrição dos dados (metadadosmetadados).).

�� Isolamento entre programas e dados.Isolamento entre programas e dados.

�� Suporte a visões múltiplas dos dados.Suporte a visões múltiplas dos dados.

�� Compartilhamento de dados.Compartilhamento de dados.

�� Processamento de transações.Processamento de transações.

4

1.2. 1.2. VanVantagens na utilizaçãotagens na utilização de um de um Banco de DadosBanco de Dados

�� Controle de redundância.Controle de redundância.

�� Restrição de acesso.Restrição de acesso.

�� Restrição de integridade.Restrição de integridade.

�� Cópia e recuperação.Cópia e recuperação.

�� Potencial para adotar padrões.Potencial para adotar padrões.

�� Flexibilidade.Flexibilidade.

�� Disponibilidade de informações atualizadas.Disponibilidade de informações atualizadas.

�� Economia de escala.Economia de escala.

3

5

1.3. 1.3. Quando usarQuando usar ee não usarnão usar umumBancoBanco de Dadosde Dados

Problemas:Problemas:

�� Custos iniciais (hardware, software, Custos iniciais (hardware, software, treinamento).treinamento).

�� Sobrecarga de processamento.Sobrecarga de processamento.

Não usar se:Não usar se:

�� Aplicações e dados simples e fixos.Aplicações e dados simples e fixos.

�� Urgência no tempo de resposta.Urgência no tempo de resposta.

�� Usuário único.Usuário único.

6

1.4. 1.4. ModelosModelos,, EsquemasEsquemas eeInstânciasInstâncias

Modelo:Modelo:

�� Modelo é a descrição de um banco de dados.Modelo é a descrição de um banco de dados.

�� O Modelo deve representar todas as estruturas O Modelo deve representar todas as estruturas

que serão criadas no banco de dados, que serão criadas no banco de dados,

incluindo:incluindo:

–– Objetos (Entidades), Relacionamentos, Restrições, Objetos (Entidades), Relacionamentos, Restrições,

Regras, Permissões etc.Regras, Permissões etc.

�� Uma das formas de elaborar o modelo é a Uma das formas de elaborar o modelo é a

Modelagem EntidadeModelagem Entidade--Relacionamento.Relacionamento.

4

7

1.4. 1.4. ModelosModelos,, EsquemasEsquemas eeInstânciasInstâncias

Esquema:Esquema:

�� O esquema é a definição das estruturas que O esquema é a definição das estruturas que

compõem o banco de dados.compõem o banco de dados.

�� EsperaEspera--se que o esquema sofra nenhuma ou se que o esquema sofra nenhuma ou

muito poucas alterações depois de muito poucas alterações depois de

implementado.implementado.

�� O esquema independe dos dados a serem O esquema independe dos dados a serem

armazenados.armazenados.

8

1.4. 1.4. ModelosModelos,, EsquemasEsquemas eeInstânciasInstâncias

Instância:Instância:

�� Instância é a materialização do banco de Instância é a materialização do banco de

dados composto pelas estruturas mais os dados composto pelas estruturas mais os

dados armazenados.dados armazenados.

�� Uma instância é um “retrato” do banco de Uma instância é um “retrato” do banco de

dados em um determinado momento.dados em um determinado momento.

�� Podemos ter a mesma estrutura replicada em Podemos ter a mesma estrutura replicada em

vários locais, cada uma com seu conjunto de vários locais, cada uma com seu conjunto de

dados.dados.

5

9

1.5. 1.5. ArquiteturaArquitetura de um SGBDde um SGBD

Visão Externa Visão Externa

Esquema Conceitual

Esquema Interno

10

1.6. 1.6. ClassificaçãoClassificação dos SGBDdos SGBDss

�� RelacionalRelacional

�� HierárquicoHierárquico

�� RedesRedes

�� RelacionalRelacional--ObjetoObjeto

�� Orientado a ObjetoOrientado a Objeto

6

11

22. . Papéis humanosPapéis humanos

2.1. Usuários2.1. Usuários

2.2. Administradores2.2. Administradores

12

2.1. Usuários2.1. Usuários

�� Programador de aplicação Programador de aplicação –– desenvolve desenvolve

programas aplicativos que manipulam banco programas aplicativos que manipulam banco

de dadosde dados

�� Usuário sofisticadoUsuário sofisticado –– capaz de manipular capaz de manipular

dados num BD sem o uso de aplicativosdados num BD sem o uso de aplicativos

�� Usuário “ingênuo”Usuário “ingênuo” –– manipula BD somente manipula BD somente

por interfaces “amigáveis”.por interfaces “amigáveis”.

7

13

2.2. Administradores2.2. Administradores

�� Administrador de dados Administrador de dados –– define e atualiza o define e atualiza o

esquema do BDesquema do BD

�� DBA (Administrador do BD)DBA (Administrador do BD) –– responsável responsável

por autorizar o acesso, coordenar e monitorar por autorizar o acesso, coordenar e monitorar

sua utilização, adquirir recursos de hardware e sua utilização, adquirir recursos de hardware e

software quando necessário, avaliar software quando necessário, avaliar

desempenho e problemas de segurança do desempenho e problemas de segurança do

sistemasistema

14

3. Modelagem de Dados3. Modelagem de Dados

3.1. O Modelo Entidade3.1. O Modelo Entidade--RelacionamentoRelacionamento

3.2. Entidades3.2. Entidades

3.3. Relacionamentos3.3. Relacionamentos

3.4. Diagrama Entidade3.4. Diagrama Entidade--Relacionamento (Relacionamento (ChenChen))

3.5. Atributos (o Dicionário de Dados)3.5. Atributos (o Dicionário de Dados)

3.6. Chaves Primárias3.6. Chaves Primárias

3.7. Chaves Estrangeiras3.7. Chaves Estrangeiras

3.8. Formas Normais3.8. Formas Normais

3.9. Modelo Físico3.9. Modelo Físico

3.10. Diagrama Entidade3.10. Diagrama Entidade--Relacionamento (Martin)Relacionamento (Martin)

8

15

3.1. O Modelo Entidade3.1. O Modelo Entidade--RelacionamentoRelacionamento

O Modelo EntidadeO Modelo Entidade--Relacionamento é uma Relacionamento é uma

forma de se definir o esquema do banco de forma de se definir o esquema do banco de

dados, composta pelos seguintes elementos:dados, composta pelos seguintes elementos:

–– Entidades;Entidades;

–– Relacionamentos;Relacionamentos;

–– Atributos;Atributos;

–– Chaves Primárias e Estrangeiras;Chaves Primárias e Estrangeiras;

–– E outras informações descritas em forma textual.E outras informações descritas em forma textual.

16

3.2. Entidades3.2. Entidades

Entidades são as “classes” dos objetos que Entidades são as “classes” dos objetos que

serão representados no banco de dados. serão representados no banco de dados.

Estes objetos existem por si só.Estes objetos existem por si só.

Exemplos:Exemplos:

–– Cliente;Cliente;

–– Médico;Médico;

–– Consulta (abstrato);Consulta (abstrato);

–– Tratamento;Tratamento;

–– Remédio.Remédio.

9

17

3.3. Relacionamentos3.3. Relacionamentos

Relacionamentos ocorrem entre as Entidades.Relacionamentos ocorrem entre as Entidades.

Exemplo:Exemplo:

–– Um Tratamento se refere a um Cliente.Um Tratamento se refere a um Cliente.

–– Um Médico assina vários Tratamentos.Um Médico assina vários Tratamentos.

–– Um cliente marca Consultas.Um cliente marca Consultas.

–– Um Médico atende um Paciente em uma Consulta.Um Médico atende um Paciente em uma Consulta.

–– Um Cliente é dependente de outro Cliente.Um Cliente é dependente de outro Cliente.

–– Vários Remédios podem constar em um Vários Remédios podem constar em um

Tratamento, cada um com sua dosagem.Tratamento, cada um com sua dosagem.

18

3.4. Diagrama Entidade3.4. Diagrama Entidade--Relacionamento (Peter Relacionamento (Peter ChenChen))

MÉDICO

CONSULTA

TRATAMENTO

CLIENTE

REMÉDIO

10

19

3.4. Diagrama Entidade3.4. Diagrama Entidade--RelacionamentoRelacionamento

MÉDICO

CONSULTA

TRATAMENTO

CLIENTE

REMÉDIO

se refere à

atende

contém

marca

dependente

20

3.4. Diagrama Entidade3.4. Diagrama Entidade--RelacionamentoRelacionamento

1 1 1 1 1 1 NN

NN

NN

11

1 1

N NN N

MÉDICO

CONSULTA

TRATAMENTO

CLIENTE

REMÉDIO

se refere à

atende

contém

marca

dependente

11

21

3.5. Atributos (o Dicionário de 3.5. Atributos (o Dicionário de Dados).Dados).

Cliente:Cliente:

–– NomeNome

–– NascimentoNascimento

–– SexoSexo

–– EndereçoEndereço

–– TelefoneTelefone

–– CelularCelular

–– ProfissãoProfissão

–– AlergiasAlergias

–– PlanoPlano

22

3.5. Atributos (o Dicionário de 3.5. Atributos (o Dicionário de Dados).Dados).

Cliente:Cliente:

–– NomeNome texto(30)texto(30)

–– NascimentoNascimento datadata

–– SexoSexo texto(1)texto(1)

–– EndereçoEndereço texto(40)texto(40)

–– TelefoneTelefone numeronumero

–– CelularCelular numeronumero

–– ProfissãoProfissão texto(20)texto(20)

–– AlergiasAlergias texto(128)texto(128)

–– PlanoPlano texto(10)texto(10)

12

23

3.5. Atributos (o Dicionário de 3.5. Atributos (o Dicionário de Dados).Dados).

Cliente:Cliente:

–– NomeNome texto(30)texto(30) ObrigatórioObrigatório

–– NascimentoNascimento datadata ObrigatórioObrigatório

–– SexoSexo texto(1)texto(1) ObrigatórioObrigatório

–– EndereçoEndereço texto(40)texto(40) OpcionalOpcional

–– TelefoneTelefone numeronumero ObrigatórioObrigatório

–– CelularCelular numeronumero OpcionalOpcional

–– ProfissãoProfissão texto(20)texto(20) OpcionalOpcional

–– AlergiasAlergias texto(128)texto(128) OpcionalOpcional

–– PlanoPlano texto(10)texto(10) OpcionalOpcional

24

3.6. Chaves Primárias3.6. Chaves Primárias

Chave primária é um atributo, ou conjunto de Chave primária é um atributo, ou conjunto de atributos, que são usados para identificar atributos, que são usados para identificar unicamente um elemento de uma entidade.unicamente um elemento de uma entidade.

Exemplos:Exemplos:

–– CPF do ClienteCPF do Cliente

–– CPF do MédicoCPF do Médico

–– Código do RemédioCódigo do Remédio

–– CID10 da DoençaCID10 da Doença

–– CRM e Região do MédicoCRM e Região do Médico

–– Data, Hora e Sala da ConsultaData, Hora e Sala da Consulta

13

25

3.7. Chaves Estrangeiras3.7. Chaves Estrangeiras

Chave estrangeiras é um atributo, ou conjunto de Chave estrangeiras é um atributo, ou conjunto de

atributos, que são usados em uma primeira atributos, que são usados em uma primeira

tabela, para identificar unicamente um tabela, para identificar unicamente um

elemento de uma segunda tabela.elemento de uma segunda tabela.

Exemplo:Exemplo:

–– C.P. do Cliente na ConsultaC.P. do Cliente na Consulta

–– C.P. do Médico na ConsultaC.P. do Médico na Consulta

–– C.P. do titular no DependenteC.P. do titular no Dependente

–– C.P. da Consulta no Tratamento (Data + Hora + C.P. da Consulta no Tratamento (Data + Hora +

Sala)Sala)

26

3.8. Formas Normais3.8. Formas Normais

�� 1FN = atributos atômicos.1FN = atributos atômicos.

�� 2FN = 1FN + atributos, que não são chave 2FN = 1FN + atributos, que não são chave

primária, devem depender da chave primária primária, devem depender da chave primária

por inteiro.por inteiro.

�� 3FN = 2FN + atributos devem depender da 3FN = 2FN + atributos devem depender da

chave primária não transitivamente.chave primária não transitivamente.

14

27

3.9. Modelo Físico3.9. Modelo Físico

Atributos de Ciente (subconjunto):Atributos de Ciente (subconjunto):

–– NomeNome texto(30)texto(30) ObrigatórioObrigatório

–– NascimentoNascimento datadata ObrigatórioObrigatório

–– EndereçoEndereço texto(40)texto(40) OpcionalOpcional

–– TelefoneTelefone numeronumero ObrigatórioObrigatório

–– CelularCelular numeronumero OpcionalOpcional

28

3.9. Modelo Físico3.9. Modelo Físico

Incorporação de uma chave primária em Ciente:Incorporação de uma chave primária em Ciente:

–– CódigoCódigo inteirointeiro ObrigatórioObrigatório

–– NomeNome texto(30)texto(30) ObrigatórioObrigatório

–– NascimentoNascimento datadata ObrigatórioObrigatório

–– EndereçoEndereço texto(40)texto(40) OpcionalOpcional

–– TelefoneTelefone numeronumero ObrigatórioObrigatório

–– CelularCelular numeronumero OpcionalOpcional

15

29

3.9. Modelo Físico3.9. Modelo Físico

AutoAuto--relacionamento 1:N em Ciente:relacionamento 1:N em Ciente:

–– CódigoCódigo inteirointeiro ObrigatórioObrigatório

–– NomeNome texto(30)texto(30) ObrigatórioObrigatório

–– NascimentoNascimento datadata ObrigatórioObrigatório

–– EndereçoEndereço texto(40)texto(40) OpcionalOpcional

–– TelefoneTelefone numeronumero ObrigatórioObrigatório

–– CelularCelular numeronumero OpcionalOpcional

–– CodCod--TitularTitular numeronumero OpcionalOpcional

30

3.9. Modelo Físico3.9. Modelo Físico

Relacionamento N:M:Relacionamento N:M:

Remédio:Remédio:

–– CodCod--RemédioRemédio

–– NomeNome--ComercialComercial

–– NomeNome--GenéricoGenérico

–– ApresentaçãoApresentação

Alergia:Alergia:

–– CodCod--ClienteCliente

–– CodCod--RemédioRemédio

–– ReaçãoReação

–– DataData

16

31

Diagrama EntidadeDiagrama Entidade--Relacionamento (James Martin)Relacionamento (James Martin)

Opcional: 0 ou 1Opcional: 0 ou 1

Obrigatório: Exatamente 1Obrigatório: Exatamente 1

Vários Opcional: 0, 1, 2, 3, ..., NVários Opcional: 0, 1, 2, 3, ..., N

Vários Obrigatório: 1, 2, 3, ..., NVários Obrigatório: 1, 2, 3, ..., N

32

Diagrama EntidadeDiagrama Entidade--Relacionamento (James Martin)Relacionamento (James Martin)

MÉDICO

CONSULTA

TRATAMENTO

CLIENTE

REMÉDIO

dosagem