Você está na página 1de 31

Banco de Dados

Professora: Simone Mendes da Silva


E-mail: Simone.silva14@fatec.sp.gov.br
25/02/23 1
Cel. (19) 989994130
Conteúdo da Aula

 Abstração de Dados

 Modelos Lógicos de Dados

 Linguagens de Definição e Manipulação de


Dados

 Atividade de Fixação.

25/02/23
25/02/23
Banco de Dados 2 2
Banco de Dados
MER x DER

MER – Modelo de Entidade e Relacionamento

DER – Diagrama de Entidade e Relacionamento

O MER é um modelo conceitual, enquanto o DER é a


sua representação gráfica e principal ferramenta.

25/02/23
25/02/23
Banco de Dados 3 3
Banco de Dados
Projeto de banco de dados

Imagine que você foi contratado para criar um


banco de dados de uma empresa recém-criada. Qual
é o primeiro passo para o projeto de um banco de
dados?

25/02/23
25/02/23
Banco de Dados 4 4
Banco de Dados

Projeto BD  Principais Etapas

25/02/23
25/02/23
Banco de Dados 5 5
Banco de Dados

Projeto BD  Principais Etapas


Negócio

Especificação dos
Requisito de dados
Definição dos dados a serem modelados

Projeto Conceitual

Modelo de Entidade e Relacionamento


Projeto Lógico

Scripts para criação da estrutura dos dados


Projeto Físico

25/02/23
25/02/23
Banco de Dados Banco de dados Implementado fisicamente 6 6
Banco de Dados
Linguagem SQL

Structured Query Language - Linguagem de Consulta


Estruturada - Criada no início da década de 70 pela
IBM e padronizada pela American National
Standards Institute em 1986.

Cada SGBD possui uma interface específica para que


comandos SQL possam ser executados nas suas
bases de dados.

25/02/23
25/02/23
Banco de Dados 7 7
Banco de Dados

SQL  Definição

 Linguagem declarativa;

 Script utilizados em bancos de dados relacionais;

 colunas – conjunto ordenado de atributos da entidade


que está sendo armazenada;
 linhas – são registros individuais (ou tuplas) da
entidade representada pela tabela em questão. Cada
linha de uma tabela possui as mesmas colunas.
25/02/23
25/02/23
Banco de Dados 8 8
Banco de Dados

SQL  Subconjuntos

DML - Linguagem de Manipulação de Dado


INSERT
UPDATE
DELETE

DDL - Linguagem de Definição de Dados


CREATE
ALTER
DROP
25/02/23
25/02/23
Banco de Dados 9 9
Banco de Dados

SQL  Subconjuntos
DCL - Linguagem de Controle de Dados
GRANT
REVOKE

DTL - Linguagem de Transação de Dados


BEGIN WORK (START TRANSACTION)
COMMIT
ROLLBACK

DQL - Linguagem de Consulta de Dados


SELECT
25/02/23
25/02/23
Banco de Dados 10 10
Banco de Dados

SQL  Banco de Dados

 CREATE DATABASE databasename;

 DROP DATABASE databasename;

 USE databasename;

25/02/23
25/02/23
Banco de Dados 11 11
Banco de Dados

SQL  Banco de Dados - Exemplo

CREATE DATABASE  programacao_bd
GO
USE programacao_bd
GO
DROP programação_bd
GO

25/02/23
25/02/23
Banco de Dados 12 12
Banco de Dados

SQL  Tipo de Dados

25/02/23
25/02/23
Banco de Dados 13 13
Banco de Dados

SQL  Tipo de Dados (Cont.)

25/02/23
25/02/23
Banco de Dados 14 14
Banco de Dados

SQL  Tipo de Dados (Cont.)

Tipo de Dado Tipo de Dado Suprido pelo Sistema


Binário Binary[(n)], varbinary[(n)]
Caracter Char[(n)], varchar[(n)]
Data e hora Datetime, smalldatetime
Numérico exato Decimal[(p[,s)], numeric[(p[,s])]
Numérico aproximado Float[(n)], real
Inteiro Int, smallint, tinyint
Monetário Money, smallmoney
Especial Bit, timestamp, tipos definidos pelo usuário
Texto e imagem Text, image

25/02/23
25/02/23
Banco de Dados 15 15
Banco de Dados

SQL  Restrições importantes

Restrição Descrição
Primary Key Define chave primária
Foreign key Define chave estrangeira
Unique Define chaves candidatas
Null, not null Define se o campo permite ou não valores nulos
Identity (SqlServer) Colunas preenchidas automaticamente

25/02/23
25/02/23
Banco de Dados 16 16
Banco de Dados

SQL  Exemplo

CREATE TABLE PEDIDO

(
num_pedido int primary key,
prazo_entrega smallint not null,
cod_cliente smalltint not null,
cod_vendedor smallint not null,
foreign key (cod_cliente)
references cliente,
foreign key (cod_vendedor)
references produto
)

25/02/23
25/02/23
Banco de Dados 17 17
Banco de Dados

SQL  Regras (SQL Server)

 Nomes de colunas devem ser únicos dentro


de uma determinada tabela, mas um mesmo
nome pode ser usado em diferentes tabelas
dentro de um mesmo database.

 Toda coluna deve possuir um tipo de dado

 Se a coluna não tem a especificação de NULL


ou NOT NULL o default é NULL

25/02/23
25/02/23
Banco de Dados 18 18
Banco de Dados

SQL  Criação de Tabelas

O comando CREATE TABLE é usado para criar uma tabela.


A sua forma geral é:
create table <nome_da_tabela>
( <coluna tipo restrição_de_coluna>,
<coluna tipo restrição_de_coluna>,
...,
<restrição_de_tabela>,
...
);

25/02/23
25/02/23
Banco de Dados 19 19
Banco de Dados

SQL  Criação de Tabelas

As definições das colunas têm o seguinte formato:


coluna tipo[NOT NULL [UNIQUE]][DEFAULT valor]
Onde:
coluna: nome do atributo que está sendo definido
tipo: domínio do atributo
NOT NULL: expressa que o atributo não pode receber valores
nulos
UNIQUE: indica que o atributo tem valor único na tabela.
Qualquer tentativa de se introduzir uma linha na tabela
contendo um valor igual ao do atributo será rejeitada. Serve
para indicar chaves secundárias
DEFAULT: indica um valor default para a coluna
25/02/23
25/02/23
Banco de Dados 20 20
Banco de Dados

SQL  Criação de Tabelas

Constraints (Restrições de Integridade e de domínio):


Integridade de Chave:
PRIMARY KEY(atributos_chave)
Integridade Referencial:
FOREIGN KEY (atributos) REFERENCES
tabela_base(atributos)
Restrição de Integridade:
CHECK(condição)

25/02/23
25/02/23
Banco de Dados 21 21
Banco de Dados

SQL  Criação de Tabelas - Exemplo

CREATE TABLE empregado


( matricula char(9),
nome VARCHAR(15) NOT NULL,
dataNasc DATE,
endereco VARCHAR(30),
sexo CHAR,
salario NUMERIC(10,2),
supervisor CHAR(9),
depto INT NOT NULL,
PRIMARY KEY (matricula),
CHECK (salario >= 0),
PRIMARY KEY(matricula),
FOREIGN KEY (depto) REFERENCES departamento(codDep)
)

25/02/23
25/02/23
Banco de Dados 22 22
Banco de Dados

SQL  Criação de Tabelas - Exemplo


CREATE TABLE departamento
( nomeDep VARCHAR(15) NOT NULL,
codDep INT,
gerente CHAR(9) NOT NULL,
dataInicioGer DATE,
PRIMARY KEY(codDep),
UNIQUE (nomeDep),
FOREIGN KEY (gerente) REFERENCES empregado(matricula)
);

25/02/23
25/02/23
Banco de Dados 23 23
Banco de Dados

SQL  Alguns problemas

Qual o problema encontrado nos exemplos


anteriores???

Solução?

25/02/23
25/02/23
Banco de Dados 24 24
Banco de Dados

SQL  Solução

ALTER TABLE nome_tabela ADD


CONSTRAINT nome_campo   
FOREIGN KEY (nome_campo) REFERENCES
nome_tabela(nome_campo);

25/02/23
25/02/23
Banco de Dados 25 25
Banco de Dados

SQL  Alteração de Tabela

O comando ALTER TABLE realiza alteração


em tabelas existentes:

ALTER TABLE - ADD Column

ALTER TABLE nome_tabela
ADD nome_coluna tipo;
25/02/23
25/02/23
Banco de Dados 26 26
Banco de Dados

SQL  Alteração de Tabela

ALTER TABLE - DROP COLUMN

ALTER TABLE nome_tabela
DROP COLUMN nome_coluna;

25/02/23
25/02/23
Banco de Dados 27 27
Banco de Dados

SQL  Alteração de Tabela

ALTER TABLE – ALTER COLUMN

ALTER TABLE nome_tabela
ALTER COLUMN nome_coluna tipo;

MYSQL
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
25/02/23
25/02/23
Banco de Dados 28 28
Banco de Dados

Atividade de Fixação
1. Resolver Lista em sala de aula

25/02/23
25/02/23
Banco de Dados 29 29
Banco de Dados

Bibliografia

ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004

GILLENSON, Mark L. Fundamentos de Sistemas de Gerência


de Banco de Dados. LTC, 2006.

HEUSER, Carlos Alberto. Projeto de Banco de Dados. Sagra


Luzzatto, 2004. TEOREY, Toby J. Projeto e modelagem de
banco de dados. Elsevier, 2007.

25/02/23
25/02/23
Banco de Dados 30 30
Agradeço pela
Atenção
de Todos!

25/02/23
25/02/23
Banco de Dados 31 31

Você também pode gostar