Ir para conteúdo
Fórum Script Brasil
  • 0

Loja de DVD e Blu-ray


laurinha2004

Pergunta

Estou montando uma loja online para alugar filmes em DVD e Blu-ray.

Gostaria que me ajudassem a escolher a melhor estrutura. Fiz as seguintes:

// 1 - DVD; 2 - Blu-ray
CREATE TABLE tipo_midia (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(10) NOT NULL,
    PRIMARY KEY(codigo) 
);

CREATE TABLE midias (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    titulo VARCHAR(60) NOT NULL,
    titulo_original VARCHAR(60) DEFAULT NULL,
    ano_lancamento INTEGER DEFAULT NULL,
    sinopse TEXT DEFAULT NULL,
    duracao INTEGER DEFAULT NULL,
    censura INTEGER DEFAULT NULL,
    cor ENUM('Colorido', 'Preto e branco') NOT NULL DEFAULT 'Colorido',
    regiao INTEGER,
    pais VARCHAR(30),
    imagem VARCHAR(40) NOT NULL,
    preço FLOAT(5,2) DEFAULT '0.00',
    quantidade_locacao INTEGER NOT NULL,
    cod_genero INTEGER NOT NULL,
    cod_categoria INTEGER NOT NULL,
    cod_tipo_midia INTEGER NOT NULL,
    PRIMARY KEY(codigo)
);

CREATE TABLE elenco (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(30) NOT NULL,
    PRIMARY KEY(codigo)
);

// 1 - Ator; 2 - Diretor
CREATE TABLE tipo_elenco (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(30) NOT NULL,
    PRIMARY KEY(codigo)
);

CREATE TABLE midias_elenco (
    cod_midia INTEGER NOT NULL,
    cod_elenco INTEGER NOT NULL,
    cod_tipo_elenco INTEGER NOT NULL
);
CREATE TABLE midias (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    titulo VARCHAR(60) NOT NULL,
    titulo_original VARCHAR(60) DEFAULT NULL,
    ano_lancamento INTEGER DEFAULT NULL,
    sinopse TEXT DEFAULT NULL,
    duracao INTEGER DEFAULT NULL,
    censura INTEGER DEFAULT NULL,
    cor ENUM('Colorido', 'Preto e branco') NOT NULL DEFAULT 'Colorido',
    regiao INTEGER,
    pais VARCHAR(30),
    cod_genero INTEGER NOT NULL,
    cod_categoria INTEGER NOT NULL,
    PRIMARY KEY(codigo)
);

CREATE TABLE tipo_midia (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(10) NOT NULL,
    PRIMARY KEY(codigo) 
);

CREATE TABLE midias_aux{
    cod_midia INTEGER NOT NULL,
    cod_tipo_midia INTEGER NOT NULL,
    imagem VARCHAR(40) NOT NULL,
    preço FLOAT(5,2) DEFAULT '0.00',
    quantidade_locacao INTEGER NOT NULL
}

CREATE TABLE elenco (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(30) NOT NULL,
    PRIMARY KEY(codigo)
);

// 1 - Ator; 2 - Diretor
CREATE TABLE tipo_elenco (
    codigo INTEGER NOT NULL AUTO_INCREMENT,
    nome VARCHAR(30) NOT NULL,
    PRIMARY KEY(codigo)
);

CREATE TABLE midias_elenco (
    cod_midia INTEGER NOT NULL,
    cod_elenco INTEGER NOT NULL,
    cod_tipo_elenco INTEGER NOT NULL
);

Eu fiquei na dúvida pelo seguinte:

Mantenho uma única tabela para os dados principais do filme, tendo em vista que o DVD e o Blu-ray terão os mesmos dados, somente mudando a imagem, o preço, quantidade de locação.

Ou então cadastro os dados repetidos somente alterando o tipo de mídia, a imagem e a quantidade de locação

Editado por laurinha2004
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...