A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem de Banco de Dados Prof. Marcus Vinícius

Apresentações semelhantes


Apresentação em tema: "Modelagem de Banco de Dados Prof. Marcus Vinícius"— Transcrição da apresentação:

1 Modelagem de Banco de Dados Prof. Marcus Vinícius

2 DADO - Fator que pode ser gravado - Não possui utilidade INFORMAÇÃO - Dados contextualizados e apresentados de forma significativa e útil AÇÃO / CONHECIMENTO - Atitude tomada com base em experiências / conhecimento pessoal mediante a informação recebida.

3 (1) (2) (3)

4 Total de Alunos: 3 Total de Aprovados: 2 Total de Pontos: 211 Média das Notas: 70,33 Sexo masculino: 2 Sexo feminino: 1 (1) (2) (3)

5 Total de Alunos: 3 Total de Aprovados: 2 Total de Pontos: 211 Média das Notas: 70,33 Sexo masculino: 2 Sexo feminino: 1 AÇÕES: A quantidade de alunos não são suficientes conforme estrutura da escola. A escola deve investir no marketing para captação de novos alunos. A média das notas estão baixas em relação ao nível de conhecimento adquirido e esperado pelos alunos. A escola deve verificar onde está a falha no processo de aprendizagem.

6 Dados Persistentes Uma coleção de dados persistentes podem ser armazenados em vários tipos de dispositivos, como: Planilha Eletrônica, Agenda e Documentos

7 O Professor José deseja armazenar os nomes e data de nascimento de seus alunos, qual o melhor banco de dados para indicar? Carlos Alberto Costa Maria Joana Pereira Fernanda Oliveira Alan Cordeiro Lima Bianca Souza 20/05/ /11/ /08/ /12/ /01/1963 Total de Registros: 5

8 O Professor José deseja armazenar os nomes e data de nascimento de seus alunos, qual o melhor banco de dados para indicar? Aprox. 10 registros Folha de Papel (manual) Aprox. 50 registros Documento de Texto (word) Aprox registros Planilha Eletrônica (Excel) Aprox registros Access Acima de SGBD

9 O que é um Banco de Dados? Para que serve um Banco de Dados? Qual o melhor Banco de Dados?

10 Restrições de acesso aos dados Armazenamento persistente Recursos para consultas Backup e Restore Controle de redundância (compartilhamento X replicação)

11 Modelagem Conceitual o Abstração de alto nível o DER alto nível o Identificação dos requisitos de software e de banco de dados Modelagem Lógica o Modelagem do Projeto de Banco de Dados (DER) Modelagem Física o Geração de Script do Banco de Dados o Implementação do Banco de Dados o Otimização de Estrutura (view, índices, chaves, etc.. )

12 Diagrama de Esquema o Projeto de Banco de Dados o Estado vazio (sem dados) Instância ou Estado o Os dados no banco de dados em um determinado momento no tempo são chamados de estado ou instante do banco de dados. Também são chamados de conjunto atual de ocorrências ou instâncias no banco de dados.

13 Linguagem do SGBD o Linguagem de comunicação com o banco de dados (SQL: DML, DQL, DDL, etc... ) Interfaces de Aplicação para Usuários o Interfaces amigáveis de manipulação das informações pelos usuários Interfaces de buscas o Interface dentro da área administrativa do banco, utilizada para buscar informações sem a utilização de comandos SQL Interface de Entrada e Saída de voz o Interface dentro da área administrativa do banco, com base em comando de voz para realizar procedimentos no banco de dados Interface para o DBA o Interface visual de administração do banco de dados

14 Carga o Geração de carga de teste nos objetos do banco de dados Reorganização o Reorganização das instâncias armazenas, com objetivo de melhoria de desempenho. Comando: OPTIMIZE TABLE aluno Monitoração de Desempenho o Utilitários para monitoramento do uso do banco de dados

15 Centralizada o Arquitetura antiga o Utilização de Mainframe o Terminais (baixa capacidade de processamento) o Todo processamento é feito no servidor Arquitetura de Cliente / Servidor o Servidor de Banco o Estação de Trabalho o Servidores Especializados (Aplicação, , Arquivos) o Client Side

16 Cliente Servidor Web (IIS, Apache e Tomcat) Servidor de Banco de Dados Camada de Apresentação Camada Lógica De Negócios Camada de Serviços De Banco de dados

17 Modelo de dados hierárquico e de rede o Modelo baseado em arquivos Modelo Relacional de dados o Objetos Relacionais (MySQL, SQL Server e Oracle) Modelo de Dados Orientado a Objetos o Modelo de dados Pseu da Orientação a Objetos ou Pós-Relacional (Caché) Modelo XML Nativos o Modelo de dados estruturados em documentos XML (Tamino)

18 Case Studio DBDesigner Poseidon System Architect Rational Rose Enterprise Architect Erwin Visible Suite Power Designer Jude Software utilizado para projetar um Banco de Dados.

19 Criadas antes do SQL SQL: linguagem derivada Operações Relacionais: Unárias: Seleção e Projeção de Resultados com apenas 1 tabela Binárias: Seleção com 2 tabelas combinando tuplas relacionadas

20 Operação Relacionais Unárias: Seleção e Projeção o Seleção: é usada para escolher um subconjunto das tuplas de uma relação que satisfaça uma condição de seleção. σ (sigma) indicar operador de seleção σ salario >= 3000(FUNCIONARIO) * Busca todos funcionário com o salário maior ou igual a 3 mil.

21 σ salario >= 3000 and departamento = 4 (FUNCIONARIO) * Busca todos os funcionários com salário maior ou igual a 3000 e departamento igual a 4.

22 Operação Relacionais Unárias: Seleção e Projeção o Projeção: é usada para definir a lista de atributos que serão mostradas na projeção. π (pi) indicar operador de projeção π nome, salario, telefone (FUNCIONARIO)

23 União Álgebra: A U B Interseção Álgebra: RS Diferença de Conjuntos Álgebra: A-B

24

25 Operação Relacionais binárias: Junção o Junção: é usada para combinar tuplas relacionadas de duas relações em uma única tupla maior. X (Junção) indicar operador de junção π nome, cpf (FUNCIONARIO X (cpf_fun = cpf_ger) GERENTE)

26 Funções: SOMA, MÉDIA, MÁXIMO, MÍNIMO £ (F script) é usado para definir as funções de agregação NroDep £ MÉDIA salario (FUNCIONARIO) NroDep £ MÁXIMO salario (FUNCIONARIO)

27

28 O que é uma entidade? Conjunto de objetos / registros / tuplas de uma mesma natureza. Outras definições:...algo o mundo real com existência independente. (NAVATHE, 2005); Conjunto de objetos da realidade do mundo modelada sobre os quais deseja-se manter informações no banco de dados. (HEUSER, 2004);

29 O que deve compor em uma entidade? - Nome - Atributo chave (unívoco) - PK (Primary Key) - Propriedades de um objeto/registro Observações: - Nomenclatura das tabelas - Nomenclatura das chaves - Nomenclatura dos atributos

30 É o fator de comunicação e referência entre Entidades.

31 É o mínimo de ocorrência em uma entidade. 0,0 | 0,1 | 0,N | 1,0 | 1,1 | 1,N | N,0 | N,1 | N,N

32 (1,N)(1,1) (0,N)(0,1)

33 1) Ache o relacionamento e a cardinalidade das entidades abaixo: aluno e prova cliente e conta_receber banco e agencia cliente e conta_pagar

34

35 Segue abaixo alguns tipo de Atributos comuns em uma modelagem de base de dados: Tipos de AtributosDescrição Cadeia de Caracteres Char(n) - Tamanho fixo de Caracteres Varchar(n) – Tamanho máximo de Caracteres Numéricos Int(n) - Tamanho máximo de Caracteres Float(m,n) – Tamanho fixo de casas decimais Date e Time Date() - Armazenamento de data Time() - Armazenamento de horário Texto Livre Text() - Atributo de texto livre

36 AtributoTipos de Atributos(caracteres) nomeVarchar(60) telefoneVarchar(13) sexoChar(1) notaInt(3) salarioFloat(5,2) dataNascimentoDate() horaCadastroTime()

37 Devemos gravar o dado no banco com máscara ou sem máscara? Com máscara: (31) Sem máscara: Com máscara: Sem máscara:

38 aluno nome telefone dataNascimento endereco numero complemento bairro cidade estado cep dataCadastro observacao Praticar:

39 O que é uma Entidade Fraca? Entidade Fraca é aquela que para existir depende de uma outra Entidade. Entidade Forte Entidade Fraca

40 Especialização é uma Entidade derivada de uma Genérica. Uma Entidade genérica pode ser especializada para melhor caracterizar um objeto/registro. Veja o exemplo baixo:

41 ? corrente ? aquaticoterrestreaereo poupanca

42 NULL Null/Nulo é a possibilidade de um atributo aceitar ausência de valores. Observações: 0 <> null <> null null X not null

43 AtributoNull/Not Null nome:varchar(60) not null telFixo:varchar(13) not null telCelular:varchar(13) null cpf:varchar(14) not null carteiraHab:varchar(20) null dataNascimento:date() not null nomePai:varchar(60) null nomeMae:varchar(60) null

44 A Chave Estrangeira (FK) é utilizada para referenciar registros entre Entidades de um mesmo escopo.

45

46 Sempre que ocorrer um relacionamento entre entidades cuja cardinalidade seja (M,N), é necessário criar uma nova tabela. Veja Exemplo abaixo: consulta (N)

47

48 Processo de análise que minimiza redundância de dados e minimiza anomalias nas operações de modificação dos dados. As relações que não satisfazem certas propriedades (formas normais) são sucessivamente decompostas em relações menores de modo a satisfazerem as propriedades pretendidas (Codd 1972).

49 1NF – Primeira forma normal 2NF – Segunda forma normal 3NF – Terceira forma normal As principais formas normais são:

50 Para um esquema relacional estar na primeira forma (1FN), a entidade não deve conter os atributos não atômicos ou as relações aninhadas (só conter os atributos atômicos). (ELMASRI, R. & NAVATHE ) ou seja: Atômico é Algo que não pode ser dividido Ex.: enderecoCompleto nomeCompleto noticia carteiraTrabalho

51 Para um esquema relacional estar na segunda forma (2FN), as relações que possuam chaves primárias com vários atributos, nenhum atributo externo à chave deve ser funcionalmente dependente de parte da chave primária. (ELMASRI, R. & NAVATHE ) errado

52 Para um esquema relacional estar na segunda forma (2FN), as relações que possuam chaves primárias com vários atributos, nenhum atributo externo à chave deve ser funcionalmente dependente de parte da chave primária. (ELMASRI, R. & NAVATHE ) certo

53 Para um esquema relacional estar na terceira forma (3FN), as relações não devem ter atributos que não pertençam a uma chave, funcionalmente determinados por outro atributo que também não pertença a uma chave (ou por um conjunto de atributos não – chave). Isto é, não deve haver dependência transitiva entre um atributo não-chave e uma chave primária. (ELMASRI, R. & NAVATHE ) errado

54 Para um esquema relacional estar na terceira forma (3FN), as relações não devem ter atributos que não pertençam a uma chave, funcionalmente determinados por outro atributo que também não pertença a uma chave (ou por um conjunto de atributos não – chave). Isto é, não deve haver dependência transitiva entre um atributo não-chave e uma chave primária. (ELMASRI, R. & NAVATHE ) certo

55 Chave Primária: (PK - Primary Key) é a chave que identifica cada registro dando-lhe unicidade. A chave primária nunca se repetirá. Chave Estrangeira: (FK - Foreign Key) é a chave formada através de um relacionamento com a chave primária de outra tabela. Define um relacionamento entre as tabelas e pode ocorrer repetidas vezes. Caso a chave primária seja composta na origem, a chave estrangeira também o será. Chaves Candidatas: Ocorrem quando em uma relação existe mais de uma combinação de atributos possuindo a propriedade de identificação única. Matrícula, CPF, RG, Titulo Eleitor

56 Chaves Candidatas ou Chaves Alternativas (KA – Alternate Key): Ocorrem quando em uma relação existe mais de uma combinação de atributos possuindo a propriedade de identificação única. Matrícula, CPF, RG, Titulo Eleitor Create table medico ( codMedico Int NOT NULL AUTO_INCREMENT, nome Varchar(40) NOT NULL, cpf Char(14) NOT NULL, Primary Key (codMedico)); Alter table medico add unique KA_cpf (cpf);

57 Chave Simples: Chave definida por apenas 1 atributo. Chave Composta: Chave definida por mais de 1 atributo. Create table cidade ( cidade Varchar(40) NOT NULL, estado Char(2) NOT NULL, populacao Int NOT NULL, Primary Key (cidade,estado));

58 Create table consulta ( codMedico Int NOT NULL, codPaciente Int NOT NULL, dataHora Datetime NOT NULL, Primary Key (codMedico,codPaciente,dataHora));

59 Create table profissional ( codProfissional Int NOT NULL AUTO_INCREMENT, codProfissionalChefe Int NOT NULL, nome Varchar(40) NOT NULL, Varchar(60) NOT NULL, Primary Key (codProfissional); Alter table profissional add Foreign Key (codProfissionalChefe) references profissional (codProfissional) on delete restrict on update restrict; O Self Relationship é usado quando ocorre o relacionamento de uma tabela com ela mesma. No exemplo abaixo o objetivo é identificar o chefe de um determinado profissional. Auto Relacionamento (Self Relationship)

60 Código de criação do auto incremento e definição do valor inicial do auto incremento. Create table cargo ( codCargo Int NOT NULL AUTO_INCREMENT, nome Varchar(40) NOT NULL, Primary Key (codCargo))AUTO_INCREMENT = 1000;

61 funcionario (0,1) usuariocliente (0,1) (1,1)

62 Criptografia Unidirecional password() – 16 caracteres md5() – 32 caracteres sha1() – 40 caracteres Senha NormalSenha Criptografada com MD E10adc3949ba59abbe56e057f20f883e c5eb49ce129f7bc0370ca2cf AB1564B27ebb234978c30459e1cce3c40609c0 yuTRk789323bcf705d7fb11ee155ea9aeeb5c15fe

63 Regra de Negócio: O cliente pode ter no máximo 3 endereços, sendo: cobrança, comercial e residencial. clienteendereco (1,N)(1,3)

64 - Criação de Tabelas - Atributos - Tipos de Dados - PK - Relacionamento - FK - Cardinalidade - Auto Incremento - UNIQUE - Alternate Key - Null X Not Null - Index - Imagem de Projeto - Database Conversion - Geração de SQL - Engenharia Reversa


Carregar ppt "Modelagem de Banco de Dados Prof. Marcus Vinícius"

Apresentações semelhantes


Anúncios Google