Banco de Dados I - sergiorodrigues.net · Modelo é a descrição de um banco de dados. O Modelo...
Transcript of Banco de Dados I - sergiorodrigues.net · Modelo é a descrição de um banco de dados. O Modelo...
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