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