• Nenhum resultado encontrado

Er/relaciona e SQL Tema: modelagem Disciplina:Banco de Dados

N/A
N/A
Protected

Academic year: 2022

Share "Er/relaciona e SQL Tema: modelagem Disciplina:Banco de Dados"

Copied!
26
0
0

Texto

(1)

Disciplina: Banco de Dados Tema: modelagem

Er/relaciona e SQL

PROFESSOR: DANILO MONTEIRO

EMAIL: [email protected]

(2)

O que foi visto na aula passada ?

ER/ relacional

Monovalorado

Multivalorado

Entidade fraca

1:1

N:N

1:N

[email protected] 2

(3)

[email protected] 3

Cliente endereços matricula

telefone

data_nascimento

Emprestimo cod

valor

N

vencimento

1 faz

(4)

Roteiro

ER/relacional

Auto-relacionamento

Atributo composto

Atributo derivado

SQL

DDL

Create

Alter

Drop

[email protected] 4

(5)

[email protected] 5

Regra 7:

Para cada Auto-Relacionamento no diagrama E-R, deve-se usar as mesmas regras de mapeamento dos relacionamentos binários (1:1, 1:N, N:N).

Vide regras 3, 4 e 5, respectivamente, já mostradas anteriormente.

Exemplo:

gerencia EMPREGADO

1 N

Gerencia É gerenciado

(6)

[email protected] 6

Atributo Composto:

Para cada Atributo Composto C no diagrama E-R que tenha como entidade proprietária E,

Incluir todos atributos pertencentes a C como atributos da tabela T, criada para representar E

Atributo Derivado:

Para cada Atributo Derivado D no diagrama E-R que tenha como entidade proprietária E,

Incluir D como atributo da tabela T, criada para representar E

(7)

[email protected] 7

Pessoa

Pessoa nome

primeiro último

do meio

cod

sexo

telefone

cod sexo fone primeiro do meio último

(8)

[email protected] 8

FUNCIONÁRIO

FUNCIONARIO código

tempo de casa nome

data contratação

cod nome tempo de casa Data contratação

(9)

Comandos SQL

DDL

(10)

SQL

Structured Query Language

Linguagem de Consulta Estruturada

Fundamentada no Modelo Relacional, inclui comando para:

Definição de dados

Consulta

Atualização

(11)

Usos de SQL

DDL – Linguagem de Definição de Dados

Criar (create table)

Destruir (drop table)

Modificar (alter table)

DML – Linguagem de Manipulação de Dados

Consultar (select)

Inserir (insert)

Remover (delete)

Atualizar (update)

DCL – Linguagem de Controle de Dados

Conceder (grant)

Revogar (revoke)

(12)

Comandos SQL DDL

CREATE

(13)

[email protected] 13

SQL - Criação de banco de dados

Comando Create database (sintaxe)

CREATE DATABASE <nome> ; CREATE DATABASE escola;

CREATE DATABASE imobiliária;

CREATE DATABASE locadora;

(14)

[email protected] 14

SQL - Criação de banco de dados

Comando DROP database (sintaxe)

DROP DATABASE <nome> ; DROP DATABASE escola;

DROP DATABASE imobiliária;

DROP DATABASE locadora;

(15)

SQL - Criação de Tabelas

Comando Create table (sintaxe)

CREATE TABLE <tabela>

(<descrição das colunas>);

(<descrição das chaves>);

(16)

SQL - Criação de Tabelas

Comando Create table

Ao se criar uma estrutura de uma tabela necessário que o usuário forneça, para cada coluna, as seguintes informações:

TIPO DE DADO

Varia de acordo com o SGBD

Exemplo:

Oracle: char, varchar2, number, date, etc.

Mysql: char, varchar, int, date, etc.

Postgresql: varchar, char, bigint, int, real, date, etc.

TAMANHO (*nem sempre)

RESTRIÇÕES

EX: primary key, foreign key, unique, not null...

(17)

SQL - Criação de Tabelas

Tipos de Dado no PostgreSQL

Para campo do tipo TEXTO

Char (tamanho/número fixo de dígitos fixo) e Varchar (tamanho/número de dígitos variável)

Para campo do tipo DATA

Date

Para campo do tipo NUMÉRICO

INT (até 10 dígitos) e BIGINT (entre 11 e 18 dígitos) para inteiros

REAL para decimais

(18)(19)

SQL - Criação de Tabelas

Comando Create table (mais exemplos)

CREATE TABLE fiscais (

cod int,

nome varchar(70) NOT NULL, sexo char(1),

cidade varchar(70), estado char(2),

telefone bigint, salario real,

PRIMARY KEY (cod) );

Tipo de dado ‘int’

Tamanho de dado ’2’

_ _

(dois dígitos alocados no máximo a ser representado)

Restrições de dados

‘PRIMARY KEY‘

(20)

SQL - Criação de Tabelas

Comando Create table (mais exemplos)

CREATE TABLE telefones_fiscal (

cod_fiscal int, telefone bigint,

PRIMARY KEY (cod_fiscal, telefone),

FOREIGN KEY (cod_fiscal) REFERENCES FISCAL (cod) );

Espeficando

UMA PK composta, e UMA FK

(21)

SQL - Criação de Tabelas

Comando Create table (mais exemplos)

CREATE TABLE fiscal_gerencia_fiscal (

cod_fiscal_gerente int, cod_fiscal_gerenciado int, data date,

PRIMARY KEY (cod_fiscal_gerente, cod_fiscal_gerenciado),

FOREIGN KEY (cod_fiscal_gerente) REFERENCES FISCAL (cod), FOREIGN KEY (cod_fiscal_gerenciado) REFERENCES FISCAL (cod) );

Espeficando

UMA PK composta, e DUAS FKs

(22)

Exercício

Faça o comando SQL para criar as seguintes tabelas:

aluno (cod, nome, data_de_nascimento, idade, email, sexo)

disciplina (cod, nome, carga_horaria)

fones_aluno (codAluno, fone)

aluno_cursa_disciplina (codAluno, codDisciplina, media)

(23)

[email protected] 23

Cliente endereços matricula

telefone

data_nascimento

Emprestimo cod

valor

N

vencimento

1 faz

(24)

Comandos SQL DDL

DROP

(25)

SQL – Exclusão de Tabelas

Comando Drop table (sintaxe)

DROP TABLE <tabela>;

(26)

SQL – Exclusão de Tabelas

Comando Drop table (exemplos)

DROP TABLE telefones_fiscal;

DROP TABLE fiscal;

Referências

Documentos relacionados