Link para

Propaganda
Bancos de dados
Professor Emiliano S. Monteiro
www.pontodeensino.com
Modelo de dados de rede
Conceitos gerais
• Modelo proposto em 1971.
• Também chamado de Codasyl ou DBTG (Data Base Task Group)
• A linguagem padrão original era COBOL
• Possui duas estruturas básicas:
• Registro(records)
• Conjuntos(sets)
• Um conjunto é uma descrição de uma relação 1:N (um para N)
Física
Departamento
(registro proprietário)
...
Departamento
NomeD
...
Física
...
Ana
...
Bob
...
Bill
...
Beth
...
Ana
...
Aluno
NomeA
...
Alunos (registros
membros)
DEPT_ESPECIALIZAÇÃO
Bob
...
Bill
...
Beth
...
O tipo conjunto
DEPT_ESPECIALIZAÇÃO
Lista encadeada
Diagrama de Bachman
Modelo de dados hierárquico
Relacionamentos pai-filho e esquemas
hierárquicos
• Um registro é um conjunto de valores de campos sobre uma entidade
• Registros do mesmo tipo são agrupados por tipo de registros, é dados
um nome para cada tipo de registro.
• Um relacionamento pai-filho é um relacionamento 1:N
Departamento
NomeD
NumeroD
GerenteD
Empregado
NomeE
MatriculaE
Projeto
CPFE
NomeP
CodigoP
DataIncioP
Modelo de dados
• É uma coletânea de conceitos que podem ser utilizados para descrever a
estrutura de um banco de dados.
• O modelo de dados contém uma representação do banco de dados.
• Existe um modelo de dados para tipo de aplicação.
• Um modelo de dados para uma empresa A que utiliza um sistema de RH é
diferente de uma empresa B que utiliza um sistema de vendas.
• Um modelo é alto nível ou conceitual quando possui conceitos que as
pessoas podem perceber .
• Um modelo de baixo nível ou modelo físico contém conceitos de detalhes
das estruturas de armazenamento dos dados no computador.
Modelo de dados
• O modelo de dados conceitual ou lógico a seguinte nomenclatura:
• Entidade: um objeto do mundo real (ex: aluno, professor, etc)
• Atributo (propriedades das entidades (ex: cor, altura, idade, peso, etc)
• Relacionamento (representa interação entre entidades, ex: um pai tem 1 ou
mais filhos)
• O modelo físico descreve o modo como os dados são armazenados no
computador.
Modelo lógico
(Entidades e
Relacionamentos)
CREATE TABLE Pai
(
CodPai char(18) NOT NULL ,
NomePai char(18) NULL ,
)
CREATE TABLE Filho
(
CodFilho char(18) NOT NULL ,
NomeFilho char(18) NULL ,
CodPai char(18) NULL
)
Modelo físico
Mostra a estrutura
de armazenamento
Principais fases do projeto de um banco de dados
Minimundo
Universo do usuário ou área de domínio do problema que será tratado.
Coleta e análise de
requisitos
Levantamento inicial sobre como será a aplicação e banco que irá atender as necessidades
do usuário, este descrição pode ser textual, conter diagramas, etc.
Projeto conceitual
1ª. Representação do futuro banco, será um desenho (diagrama) contendo as entidades,
atributos e relacionamentos identificados. Os refinamentos deste didagrama são
denominadas de “modelagem de dados”.
Projeto físico
Esquema
implementado em
um determinado
SGBD
Diagrama das estruturas de dados (tabelas e campos) usadas para suportar os conceitos
de entidades, atributos e relacionamentos.
Banco implementado com seus objetos (índices, tabelas, etc...)
Modelo Entidade Relacionamento
Modelo ER
Entidades e atributos
• Entidade:
•
•
•
•
É o principal objeto de um modelo ER
É uma coisa do mundo real que necessita ser representada no modelo
Tem existência independente
Ex: carro, pessoa, casa, etc
Entidades e atributos
• Atributos:
• São propriedades que descrevem as entidades
• Ex: cor, peso, idade, data de nascimento, etc
Tipos de atributos (e seus exemplos)
•
•
•
•
Simples ou atômicos: Data de nascimento
Composto: Endereço (pode ser dividido em: rua, numero, bairro, etc)
Valor único: Idade
Multivalorado (escala de valores, tem um valor mínimo e um máximo):
Temperatura
• Derivado ou calculado(produzido a partir de uma cálculo de outro
atributo), ex: Total de funcionários, Idade, etc.
• Nulo: Exemplo formação acadêmica, nem todos terão como preencher este
valor.
• Complexo: São agrupamentos de atributos compostos, por exemplo uma
pessoa pode ter: endereço de casa, endereço do trabalho, etc.
Graus dos relacionamentos
• Binário (entre duas entidades)
• Ternário (três ou mais)
• Quaternário...
Cardinalidade de um relacionamento
• São restrições que limitam as possíveis combinações de entidades
que participam de um relacionamento.
• As cardinalidades são:
• 1:1
• 1:N
• N:1
• M:N
Tipos de entidades
• Fraca: não possui seus próprios atributos chave, ex: carteira de
motorista não existem sem a entidade motorista
• Forte/Regular: possuem um atributo chave, um identificador.
Exemplo de modelo ER
Exercício
1. A empresa é organizada em departamentos. Cada departamento possui um nome
único, um código único e um determinado empregado que gerencia o departamento.
2. Acompanhamos a data inicial quando o empregado começou a gerenciar o
departamento. Um departamento pode possuir diversas localizações.
3. Um departamento controla um número de projetos, cada um deles possuindo um
nome único, um código único e uma única localização.
4. Armazenamos o nome, número da carteira de trabalho, endereço, salário, sexo e data
de nascimento de cada empregado.
5. Um empregado é alocado a um departamento, mas pode trabalhar em diversos
projetos, que não são necessariamente controlados pelo mesmo departamento.
Acompanhamos o número de horas por semana que um empregado trabalha em cada
projeto. Também acompanhamos o supervisor direto de cada empregado.
6. Desejamos acompanhar os dependentes de cada empregado para fins de seguridade
social. Mantemos o nome, sexo, data de nascimento e grau de parentesco com o
empregado.
Exercício 1
1. Criar uma lista de todas as entidades
2. Identificar cada atributo de cada entidade
3. Identificar como as entidades se relacionam
Exercício 2
• 1. Criar um banco de dados no MariaDB ou MySQL
• 2. Criar as tabelas para as entidades identificadas
• 3. Inserir dados nas tabelas
Download