Ir ao conteúdo
  • Cadastre-se
markeloff

Sobre as instruções "alter table" no SQL

Recommended Posts

Com o script da biblioteca, simule a criação de todas as tabelas sem chaves primarias, identities e chaves estrangeiras, crie as tabelas somente com os atributos simples, em seguida, crie as instruções "ALTER TABLE" que adicionam essas restrições posteriormente.

 

Pra começar eu não entendi direito nem o enunciado e nem sei usar esse comando "ALTER TABLE", se alguém puder me explicar direito o enunciado e me explicar como usar o comando eu agradeceria.

 

ah e o banco de dados que eu preciso modificar é esse aqui:

--create database Biblioteca
go
--use Biblioteca
go
--drop table Autor
go
create table Autor (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1), 
    nome VARCHAR (80) not null,
    telefone CHAR (20) null,
    endereco TEXT null
)
create table Titulo (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    nome VARCHAR (80) not null,
    codigo_area INT not null,
    codigo_editora INT not null
)
create table Area (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    descricao TEXT null
)
create table Exemplar (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    codigoTitulo INT not null,
    dataEntrada DATE,
    FOREIGN KEY (codigoTitulo)
        REFERENCES Titulo (codigo)
)
create table Ususario (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    nome VARCHAR (80) not null,
    telefone CHAR (20) not null,
    endereco TEXT null,
    tipo VARCHAR (50) not null
)
create table Autor_escreve_titulo (
    codigo_autor INT not null,
    codigo_titulo INT not null,
    FOREIGN KEY (codigo_autor)
        REFERENCES Autor (codigo),
    FOREIGN KEY (codigo_titulo)
        REFERENCES Titulo (codigo)
)
create table Palavra_chave (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    descricao TEXT not null
)
create table Editora (
    codigo INT not null PRIMARY KEY IDENTITY (1, 1),
    nome VARCHAR (80) not null,
    telefone CHAR (20) not null,
    endereco TEXT not null
)
create table Titulo_pussui_palavrachave (
    codigo_titulo INT not null,
    codigo_palavrachave INT not null,
    FOREIGN KEY (codigo_titulo)
        REFERENCES Titulo (codigo),
    FOREIGN KEY (codigo_palavrachave)
        REFERENCES Palavra_chave (codigo)
)
insert into Area (descricao)
    values ('EXATAS');
go
insert into Area (descricao)
    values ('HUMANAS');
go
insert into Area (descricao)
    values ('BIOLÓGICAS');
go

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce pode identificar as "entradas" para chave primarias onde está escrito PRIMARY KEY IDENTITY (1, 1)

 

Para identificar as chaves estangeiras, ache as "entradas" FOREIGN KEY (campo)         REFERENCES tabela (campo)

 

 

Para fazer a criação do banco sem estas entradas, basta retirá-las

Exemplo:

/* Criação da primeira tabela */
create table Autor (   
 codigo INT not null ,      
nome VARCHAR (80) not null,     
telefone CHAR (20) null,     
endereco TEXT null
)

/* Criação da ultima tabela */
create table Titulo_pussui_palavrachave (     
codigo_titulo INT not null,     
codigo_palavrachave INT not null,     

)

 

Faça as comparações e veja o que foi retirado.

 

 

 

Para alterar (ALTER) veja este artigo:

https://msdn.microsoft.com/pt-br/library/ms189039.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×