AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-97264

dpolaristar's questions

Martin Hope
dpolaristar
Asked: 2016-06-11 10:14:47 +0800 CST

Não é possível adicionar restrição de chave estrangeira

  • 1

Pelo que sei, deve funcionar, passei por outras questões semelhantes, mas parecia ser uma coisa diferente causando o mesmo erro.

CREATE TABLE Job
(
    JobNumber INT NOT NULL,
    JobName CHAR(30) NOT NULL,
    JobDescription CHAR(60) NOT NULL,
    Title Char(30) NOT NULL,
    PersonID INT NOT NULL,
   CONSTRAINT PK_JobNum PRIMARY KEY (JobNumber)
);

CREATE TABLE Employee
(
    PersonID INT NOT NULL,
    FirstName CHAR(30) NOT NULL,
    LastName CHAR(30) NOT NULL,
    CONSTRAINT Pk_PersonID PRIMARY KEY(PersonID),
    CONSTRAINT FK_Job_2_Employee FOREIGN KEY(PersonID) REFERENCES Job(PersonID)
);

CREATE TABLE Game
(
    GameNumber INT NOT NULL,
    Title CHAR(30) NOT NULL,
    System CHAR(30) NOT NULL,
    CONSTRAINT PK_GameNumber PRIMARY KEY(GameNumber),
    CONSTRAINT FK_Job_2_Game FOREIGN KEY(Title) REFERENCES Job(Title)
);

Ocorre um erro quando tento inicializar a segunda tabela. (E provavelmente chegará no terceiro.)

  • Várias pessoas podem ter o mesmo trabalho e uma pessoa pode ter vários empregos.
  • O JobNumbere o JobNamenão são a mesma coisa. Cada JobNumberum tem apenas um funcionário, e um único JobNumbertem apenas um JobName.
  • O JobNumbere o trabalho que uma pessoa tem não é a mesma coisa.
  • O número do trabalho e o tipo de trabalho não são a mesma coisa. Por exemplo, tanto o número de trabalho 1235 quanto o 1435 podem ter o trabalho "designer de nível".
mysql foreign-key
  • 3 respostas
  • 1626 Views
Martin Hope
dpolaristar
Asked: 2016-06-07 08:20:27 +0800 CST

Projetando um banco de dados para um domínio de negócios de videogame com vários relacionamentos muitos-para-muitos

  • 16

Sou relativamente novo em design de banco de dados e decidi criar meu próprio banco de dados hipotético para praticar. No entanto, estou tendo problemas para modelá-lo e normalizá-lo, pois estimo que existam vários relacionamentos muitos-para-muitos (M:N).

Descrição geral do cenário

O banco de dados destina-se a reter dados sobre várias pessoas que trabalharam na série Zelda. Quero acompanhar o (s) console(s) em que um jogo pode ser jogado, os funcionários que participaram do desenvolvimento dos jogos , os trabalhos que o funcionário tinha (muitos funcionários trabalharam em diferentes trabalhos em vários jogos ), etc.

Regras do negócio

  • Vários funcionários podem trabalhar em vários jogos .
  • Vários jogos podem estar no mesmo console .
  • Múltiplos Consoles podem ser uma plataforma para o mesmo Jogo .
  • Vários funcionários podem ter o mesmo trabalho .
  • Um Empregado pode ter vários Trabalhos .
  • Um Jogo pode ter vários Funcionários .
  • Um jogo pode ter vários tipos de trabalhos em seu desenvolvimento
  • Vários jogos podem ter o mesmo tipo de trabalho anexado.
  • Um console pode ter várias pessoas trabalhando nele.
  • Uma pessoa pode trabalhar em vários consoles .

Nomes de atributos e valores de amostra

  • Nome do funcionário , que pode ser dividido em nome e sobrenome (por exemplo, “John” e “Doe” )
  • Título do jogo (por exemplo “Ocarina of Time”)
  • Cargo (por exemplo “Level Design”, “Diretor”, “Composição”, “Level Designer”, “Programador”, “Localização”, etc.).
  • Nome do console (por exemplo, “Game Boy Advance”)

O problema

Até agora, parece que não importa o que eu projete, há redundâncias de dados e relacionamentos M:N entre os tipos de entidade de interesse em todos os lugares. No entanto, sinto que os designers de banco de dados devem se deparar com esse tipo de problema o tempo todo, portanto, deve haver uma solução.


Obs : estou conseguindo achar bem os dados para preencher a tabela, o problema é organizar em um banco de dados com tabelas de forma normalizada.

database-design normalization
  • 1 respostas
  • 5919 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve