Você está na página 1de 25

Banco de Dados

Modelo Físico

2Professora: Eliana Moreira eliana.moreira@ifsp.edu.br


Agenda

 Modelo Físico
 Criação de banco de dados
 Criação de tabelas
 Inserção de registros

2
Modelo Físico
➢ É uma descrição de um banco de dados no
nível de abstração visto pelo usuário do
SGBD.

➢ Esse modelo depende do SGBD que está


sendo usado.

➢ Detalha os componentes da estrutura física


do banco, como tabelas, campos, tipos de
valores, índices, etc.

➢ Nesse estágio estamos prontos para criar o


banco de dados propriamente dito, usando o
SGBD preferido

3
Modelo Físico

➢No modelo físico fazemos a


modelagem física do modelo de
banco de dados.

➢ Neste caso leva-se em conta as


limitações impostas pelo SGBD
escolhido e deve ser criado sempre
com base nos exemplos de
modelagem de dados produzidos no
item anterior, modelo lógico.
BD2 –BANCO DE DADOS 2 - 1º SEMESTRE 2020

4
Structured Query Language - SQL
➢ É uma linguagem padrão de gerenciamento de dados que interage com os
principais bancos de dados baseados no modelo relacional.

➢ A linguagem SQL surgiu em 1974 e foi desenvolvida nos laboratórios da


IBM como interface para o Sistema Gerenciador de Banco de Dados
Relacional (SGBDR) denominado SYSTEM R. Esse sistema foi criado com
base em um artigo de 1970 escrito por Edgar F. Codd.

➢ A linguagem SQL surgiu em 1974 e foi desenvolvida nos laboratórios da


IBM como interface para o Sistema Gerenciador de Banco de Dados
Relacional (SGBDR) denominado SYSTEM R. Esse sistema foi criado com
base em um artigo de 1970 escrito por Edgar F. Codd.

5
Organização da SQL
A linguagem SQL é organizada em
subconjuntos, cada um com propósitos bem
definidos
INSERT
C reate
SELECT Read
DML UPDATE Update
DELETE Delete
SQL
CREATE

DDL ALTER

DROP
Organização da SQL
➢ DML - Linguagem de Manipulação de Dados - Define os comandos utilizados
para manipulação de dados no banco

➢ DDL - Linguagem de Definição de Dados - Define os comandos utilizados


para definir esquemas de relação, excluir relações e modificar esquemas.

7
MySQL
Dados a serem inseridos no banco de dados
Alocação a Projetos

Empregado EmpProjeto Projeto


CodEmpregado Nome CatFuncional CodEmpregado CodProjeto DataInicio TempoAI CodProjeto Tipo Descricao
2146 João A1 2146 LSC001 01/11/1991 24
3145 LSC001 02/10/1991 24 Novo Sistema de
3145 Sílvio A2 LSC001
Desenvolvimento Estoque
6126 José B1 6126 LSC001 03/10/1992 18
1214 LSC001 04/10/1992 18 Pag02 Manutenção Sistema de RH
1214 Carlos A2
8191 Mário A1 8191 LSC001 11/11/1992 12
4112 João A2 8191 Pag02 01/05/1993 12
4112 Pag02 04/01/1991 24
6126 Pag02 01/11/1992 12

Categoria _
CatFuncional Salário
A1 4
A2 4
B1 9
Modelo Lógico

Criado com brModelo


https://sourceforge.net/projects/brmodelo30/
Criando o banco de dados
Para criar uma base de dados no MySql usamos o comando CREATE

Para excluir uma base de dados utiliza-se o comando DROP.

Comando selecionar a base de dados:


Criação de Tabelas e Definição de Constraints (Restrições)
Depois de criada a base de dados, é necessário criarmos as tabelas para essa base de dados.
O que está entre colchetes na sintaxe significa opcional, isto é, pode existir ou não quando se cria uma tabela.

Para excluir uma tabela, utiliza-se o comando DROP.


Quando você exclui uma tabela, você exclui todos os dados que foram armazenados nela.
Tipos de dados
➢ No SGBD, ao se criar uma tabela, é necessário especificar de qual tipo é cada coluna.
➢ O tipo de dados de um atributo vai depender do SGBD escolhido.

Principais tipos no SGBD MySQL


Criação de Tabelas e Definição de Constraints (Restrições)

➢ A restrição NOT NULL, quando aplicada a um atributo, indica que este atributo deve ter o valor
obrigatoriamente preenchido.
➢ O padrão no MySQL é NULL, ou seja, se não for colocado explicitamente o valor NOT NULL para o atributo ele
permitirá valores nulos.

➢ A restrição DEFAULT indica qual valor deverá ser atribuído a um atributo caso o usuário não especifique
algum valor. A restrição DEFAULT não pode ser associada a um atributo que é chave primária (PK).

➢ Para definirmos um campo de autoincremento na tabela, usamos o comando AUTO_INCREMENT no MySQL.


Para isso, o atributo deverá ser numérico. Quando se define um autoincremento para a coluna, o valor para
essa coluna será inserido automaticamente pelo SGBD.
Chave Primária
➢ Uma chave primária é uma coluna (campo/atributo) da tabela que
identifica apenas um objeto dessa tabela.

➢ Portanto, o valor dentro de uma chave primária não poderá se


repetir e não poderá receber um valor nulo.
Tipos de Chave primária (Primary key – Pk)
➢ É uma coluna (campo/atributo) da tabela que identifica apenas um objeto dessa tabela.

➢ Portanto, o valor dentro de uma chave primária não poderá se repetir e não poderá
receber um valor nulo.

Chave primária simples:


formada por apenas uma
coluna. 23
Chave primária composta:
formada por duas ou mais
colunas.

No modelo, as Pk estão assinaladas


com uma chave preta.
Chave Estrangeira e Integridade Referencial
➢ Uma chave estrangeira é uma coluna da tabela que faz referência a uma chave
primária de outra tabela ou da própria tabela.
➢ No modelo relacional é a chave estrangeira que especifica o relacionamento
entre as tabelas.
➢ A coluna que é a chave estrangeira deve ser do mesmo tipo e do mesmo
tamanho que a sua primária correspondente.
➢ O valor para uma chave estrangeira deve ser um valor que já tenha sido
cadastrado na chave primária correspondente ou um valor nulo.
➢ Essa restrição é o que garante a integridade referencial do modelo
relacional. Ou seja, ela garante que não se faça referência a valores que não
existam na base de dados.

É importante observar que as tabelas que não têm FK devem ser criadas primeiro. Isso ocorre porque uma
FK faz referência a atributos/colunas de outra tabela, e para fazer essa referência a outra tabela deve existir.
Chave estrangeira (Foreign key – Fk)
➢ É uma coluna da tabela que faz referência a uma chave primária de outra tabela ou da
própria tabela.

No modelo, as Fk estão assinaladas


com uma chave verde.
INSERT INTO – Inserir Dados em Tabelas
INSERT INTO nome_tabela

(coluna1, coluna2,...) VALUES

(valor1, valor2,...)

Devemos especificar a tabela e quais colunas dessa tabela receberão os dados, e em


seguida, logo após a palavra-chave VALUES, especificamos os dados em si – na
mesma ordem em que as colunas foram especificadas.

Caso haja uma coluna com auto incremento, ela não deve ser incluída na lista de
colunas do comando, pois seus dados serão gerados e inseridos automaticamente
pelo MySQL quando um novo registro for adicionado.
BD2 –BANCO DE DADOS 2 - 1º SEMESTRE 2020

19
Comando ALTER TABLE ➢ Quando uma tabela é criada, cria-se um objeto
dentro do SGBD. Qualquer alteração nesse
objeto deve ser feito por meio de um comando
ALTER. Não adianta executar novamente o
comando CREATE que ele não vai funcionar. Vai
dar um erro dizendo que o objeto já foi criado.

O comando ALTER nos permite alterar a


estrutura de uma tabela. Com esse comando,
podem-se adicionar atributos, excluir atributos,
alterar o tipo ou tamanho do atributo, adicionar
e excluir constraints etc.
Comando ALTER TABLE
Comando ALTER TABLE para Chave Estrangeira

Para alterar uma tabela já existente e criar constraint de FK, usamos o comando ALTER

Não é possível excluir uma tabela que tenha uma PK que é referenciada por outra tabela. Nesse caso, temos
que primeiramente excluir a constraint de FK, para depois excluirmos a tabela. Para excluirmos uma
constraint de FK, usamos o comando ALTER.
Modelo Lógico

Criado com brModelo


https://sourceforge.net/projects/brmodelo30/
Exercício – Criar o modelo lógico no MySQL

Criado com brModelo


https://sourceforge.net/projects/brmodelo30/
Referências

https://www.flaticon.com
Projeto de Banco de Dados. Carlos A. Heuser. 2009. Bookman.

25

Você também pode gostar