Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementação de Banco de Dados Ricardo Luis Balieiro Aula 3 Linguagem de Definição de Dados(DDL) 2 • Linguagem de Definição de Dados (DDL - Data Definition Language) –CREATE, ALTER e DROP Criar Banco de Dados CREATE DATABASE nome [argumentos] CREATE DATABASE “GRH” 3 Criar Esquema • Esquemas agrupam objetos pertencentes a um mesmo banco de dados. • Permite criar um espaço lógico (namespace) dentro do banco de dados para armazenar os objetos: Dados, tabelas, funções, sequence, etc. 4 CREATE SCHEMA SchEmp AUTHORIZATION Jsmith; Criar Esquema 5 Criar Esquema 6 Criar Esquema 7 Criar Esquema 8 Criar Tabela CREATE TABLE nome da tabela( COLUNA1 TIPO DE DADOS [restrição] COLUNA2 TIPO DE DADOS [restrição] PRIMARY KEY (coluna1, coluna2) FOREIGN KEY(coluna1) REFERENCES nome da tabela (colunas) CONSTRAINT restrição) 9 Tipos de Dados • Integer ou int: representa valores inteiros. • Numeric: determina a precisão do valor de casas decimais. • Date: data de calendário no formato AAAA- MM-DD. • Char(tamanho): são sequências de caracteres de tamanho fixo limitados a 255 caracteres. • Varchar(tamanho): são sequências de caracteres com comprimento variável. 10 Criar Tabela CREATE TABLE Empregado(...) CREATE TABLE Empresa.Empregado(...) 11 Criar Tabela CREATE TABLE Empregado( ID_Emp INT NOT NULL, Nome VARCHAR(150) NOT NULL, Sexo CHAR(1), DataNasc DATE, PRIMARY KEY (ID_Emp) ); 12 • Chave Primária: tem como restrição implícita o NOT NULL. Criar Domínio CREATE DOMAIN Tipo_Moeda AS DECIMAL (5,2) CREATE TABLE Cargo( ... Salario TIPO_MOEDA NOT NULL ... ) 13 Restrições - Default CREATE TABLE Empregado( ... Sexo CHAR(1) DEFAULT “M”, ... ); 14 Restrições - Default CREATE TABLE Jogador( ... NroCamisa INT CHECK( NroCamisa > 0 And NroCamisa < 20), ... ); 15 Restrições – Default - Domínio CREATE DOMAIN Tipo_NroCamisa AS INT CHECK(NroCamisa > 0 And NroCamisa < 20 CREATE TABLE Jogador( ... NroCamisa TIPO_NROCAMISA, ... ); 16 Restrição de Chave Primária CREATE TABLE Empregado( ID_Emp INT NOT NULL, ... PRIMARY KEY (ID_Emp) ); CREATE TABLE Empregado( ID_Emp INT PRIMARY KEY, ...); 17 Restrição de Chave Única CREATE TABLE Departamento( ID_Dep INT NOT NULL, Nome VARCHAR(50) NOT NULL, PRIMARY KEY (ID_Dep), UNIQUE(Nome) ); 18 Restrição de Integridade Referencial CREATE TABLE Empregado( ID_Emp INT NOT NULL, ID_Dep INT NOT NULL, PRIMARY KEY (ID_Emp) FOREIGN KEY (ID_Dep) REFERENCE Departamento(ID_Dep)); CREATE TABLE Departamento( ID_Dep INT NOT NULL, ... ); 19 Restrição de Integridade Referencial CREATE TABLE Empregado( ID_Emp INT NOT NULL, ID_Gerente INT NOT NULL, PRIMARY KEY (ID_Emp) FOREIGN KEY (ID_Gerente) REFERENCE Empregado(ID_Emp)); 20 Restrição de Integridade Referencial CREATE TABLE Empregado( ID_Emp INT NOT NULL, ID_Dep INT NOT NULL, PRIMARY KEY (ID_Emp) FOREIGN KEY (ID_Dep) REFERENCE Departamento(ID_Dep)); CREATE TABLE Departamento( ID_Dep INT NOT NULL, ... ); 21 Fechamento • Implementação de Banco de Dados 22 Implementação de Banco de Dados Ricardo Luis Balieiro Atividade 3 Exercício 1 CREATE TABLE Produto( Cod_Produto INT NOT NULL PRIMARY KEY, Desc VARCHAR(10) NOT NULL, Tipo CHAR(1) NULL CHECK Tipo IN('A', 'B', 'C')), Preco DECIMAL (5,2) NULL CHECK (Preco > 50) ); Exercício 1 CREATE TABLE Produto( Cod_Produto INT NOT NULL PRIMARY KEY, Desc VARCHAR(10) NOT NULL, Tipo CHAR(1) NULL CHECK Tipo IN('A', 'B', 'C')), Preco DECIMAL (5,2) NULL CHECK (Preco > 50) ); Exercício 2 26 Quando ocorre de uma chave primária de uma tabela fazer parte de outra tabela definindo um relacionamento, temos, então, uma: a) Chave Primária; b) Chave Estrangeira; c) Chave Secundária; d) Chave Redundante; e) Chave Entidade.
Compartilhar