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-47535

AlwaysLearningNewStuff's questions

Martin Hope
AlwaysLearningNewStuff
Asked: 2016-06-27 05:21:19 +0800 CST

Projeto de banco de dados para um exame

  • 4

Estou projetando um banco de dados para um exame e estou travado. Eu não sei como fazer isto.

Aqui estão as informações relevantes:

  • O aluno responde a 10 perguntas.
  • Cada questão tem 3 opções (respostas) e o aluno escolhe uma.
  • Apenas uma resposta está correta, outras 2 estão erradas.
  • Os alunos podem fazer este exame apenas uma vez. Eles não podem tentar novamente.
  • Não haverá outros exames, este é o único.

Preciso de ajuda com o design do banco de dados.

O que eu tentei até agora por conta própria:

Alunos da mesa

ID bigint (primary key, identity)
Name nvarchar(MAX)

Questões de mesa

ID bigint (primary key, identity)
TextOfTheQuestion nvarchar(MAX)

Tabela de Respostas

ID bigint (primary key, identity)
TextOfTheAnswer nvarchar(MAX)
QuestionID bigint (foreign key to Questions.ID)
isCorrectAnswer bit

Tabela StudentChoices

StudentID bigint (primary key, foreign key to Students.ID)
AnswerID bigint (primary key, foreign key to Answers.ID)

Este é o meu projeto pessoal para fins de aprendizagem. Estou tentando aprender Entity framework + C# por conta própria.

sql-server database-design
  • 6 respostas
  • 3126 Views
Martin Hope
AlwaysLearningNewStuff
Asked: 2016-06-08 03:32:48 +0800 CST

Implementando subtipo de um subtipo no padrão de design de tipo/subtipo com subclasses mutuamente exclusivas

  • 21

Introdução

Para que esta questão seja útil para futuros leitores, usarei o modelo de dados genérico para ilustrar o problema que enfrento.

Nosso modelo de dados consiste em 3 entidades, que serão rotuladas como A, Be C. Para manter as coisas simples, todos os seus atributos serão do inttipo.

A entidade Apossui os seguintes atributos: D, Ee X;

A entidade Bpossui os seguintes atributos: D, Ee Y;

A entidade Cpossui os seguintes atributos: De Z;

Como todas as entidades compartilham atributos comuns D, decidi aplicar o design de tipo/subtipo .

Importante: As entidades são mutuamente exclusivas! Isso significa que a entidade é A ou B ou C.

Problema:

Entidades Ae Bpossuem ainda outro atributo comum E, mas este atributo não está presente na entidade C.

Pergunta:

Gostaria de usar a característica descrita acima para otimizar ainda mais meu design, se possível.

Para ser honesto, não tenho ideia de como fazer isso, nem por onde começar a tentar, daí este post.

sql-server database-design
  • 3 respostas
  • 4586 Views
Martin Hope
AlwaysLearningNewStuff
Asked: 2016-05-21 00:41:31 +0800 CST

Minha implementação do padrão de design de tipo/subtipo (para subclasses mutuamente exclusivas) está correta?

  • 8

Introdução

Para que esta questão seja útil para futuros leitores, usarei o modelo de dados genérico para ilustrar os problemas que enfrento.

Nosso modelo de dados consiste em duas entidades, que serão rotuladas como Ae B. Para manter as coisas simples, todos os seus atributos serão do inttipo.

A entidade Apossui os seguintes atributos: De X; A entidade Bpossui os seguintes atributos: De Y;

Problema

Como ambas as entidades compartilham atributos comuns D, decidi aplicar o design de tipo/subtipo .

Não tenho certeza se minha implementação está correta, portanto, estou pedindo aqui uma revisão do design.

Minha Implementação

-- lookup table for discriminator column
CREATE TABLE ClassType
(
  ClassTypeID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
  Class_Description VARCHAR(50) NOT NULL
);

-- inserting types A and B from our example 
INSERT INTO ClassType (Class_Description)
VALUES ('A'), ('B');

-- creating base class table
CREATE TABLE BaseClass
(
  BaseClass_ID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
  ClassTypeID INT NOT NULL, -- FK to Type
  D int
);

ALTER TABLE BaseClass
ADD CONSTRAINT [FK_BaseClass_ClassType]
FOREIGN KEY (ClassTypeID)
REFERENCES ClassType (ClassTypeID);

-- we need this constraint in order for foreign keys in subclasses to work
ALTER TABLE BaseClass
ADD CONSTRAINT [FK_AltKey]
UNIQUE (BaseClass_ID, ClassTypeID);

-- creating subclasses:
CREATE TABLE SubclassA
(
  BaseClass_ID INT NOT NULL PRIMARY KEY,
  X int,
  ClassTypeID AS 1 PERSISTED -- calculated field, ensures integrity
);

ALTER TABLE SubclassA
ADD CONSTRAINT [FK_SubclassA_BaseClass]
FOREIGN KEY (BaseClass_ID, ClassTypeID)
REFERENCES BaseClass (BaseClass_ID, ClassTypeID);

CREATE TABLE SubclassB
(
  BaseClass_ID INT NOT NULL PRIMARY KEY,
  Y int,
  ClassTypeID AS 2 PERSISTED -- calculated field, ensures integrity
);

ALTER TABLE SubclassB
ADD CONSTRAINT [FK_SubclassB_BaseClass]
FOREIGN KEY (BaseClass_ID, ClassTypeID)
REFERENCES BaseClass (BaseClass_ID, ClassTypeID);

Esta é a aparência do diagrama de banco de dados no SQL Server 2012:

Diagrama de banco de dados

Perguntas

  • Cometi algum erro na minha implementação?
  • Além de calcular e persistir o tipo de classe (em tabelas de subclasse), há mais alguma coisa que eu possa fazer para evitar erros durante INSERT/UPDATE/DELETE?
sql-server database-design
  • 1 respostas
  • 1261 Views
Martin Hope
AlwaysLearningNewStuff
Asked: 2015-12-08 12:46:05 +0800 CST

solução padrão para armazenar unidades de medida

  • 7

INTRODUÇÃO E INFORMAÇÕES RELEVANTES:

Digamos que eu tenha uma tabela que armazene a altura e o peso de uma pessoa, mais ou menos assim:

PersonTable < # ID int, Name varchar(50), Height double, Weight double >

A altura é medida em centímetros e o peso em quilogramas.

PROBLEMA:

Meu problema é armazenar unidade de medida para altura e peso.

MEUS ESFORÇOS PARA RESOLVER ISSO:

  • Eu poderia tentar implementar o modelo EAV.
  • Eu poderia modificar a tabela adicionando colunas extras que contêm unidades de medida para Altura e Peso? Algo como abaixo:

    PersonTable < # ID int, 
                    Name varchar(50), 
                    Height double, $ HeightUnit_Id int, 
                    Weight double, $ WeightUnit_Id int >
    
    Units < #ID int, Desription varchar(20) >
    

  • HeightUnit_Id e WeightUnit_Id são chaves estrangeiras que fazem referência ao Id da tabela Units.

    PERGUNTA:

    Existe uma solução melhor do que as óbvias que mencionei acima, já que não gosto de ambas (o EAV pode ficar confuso se for mal feito e adicionar "colunas de unidade" extras parece um desperdício de espaço para mim)?

    database-design
    • 4 respostas
    • 10642 Views
    Martin Hope
    AlwaysLearningNewStuff
    Asked: 2014-11-15 16:39:29 +0800 CST

    Não é possível converter este tipo de diagrama ER em tabelas SQL ou relacionais

    • 3

    Eu me deparei com um problema durante o design do banco de dados. Deixe-me explicar do que se trata:

    O contrato tem alguns atributos simples que o descrevem, podendo ter anexos e dinâmica de pagamento.

    Portanto, decidi fazer a tabela principal Contractse coloquei atributos simples como colunas.

    A dinâmica de pagamento é um atributo complexo da Contractstabela. Pode ter nenhum, um ou vários valores. Pesquisando na Internet aprendi que isso se chama atributo multivalorado , e encontrei este exemplo que parece ilustrar muito bem o meu caso (Dinâmica de pagamento é equivalente à tabela Hobbies no exemplo vinculado).

    Quanto aos Anexos, é um atributo complexo de Contract. O contrato pode ter muitos deles, um ou nenhum.

    Anexo tem exatamente os mesmos atributos simples do contrato, podendo também ter Dinâmica de pagamento. A relação do Anexo com a Dinâmica de pagamento é a mesma que a relação entre Contrato e Dinâmica de pagamento.

    Resumindo, Anexo e contrato têm tudo igual, a única diferença é que Anexo é um atributo complexo de Contrato.

    Usando isso como referência, fiz o esboço do meu diagrama ER:

    insira a descrição da imagem aqui

    Esta é a primeira vez que vejo este tipo de relacionamento, então peço à comunidade para me ajudar a converter este diagrama ER em SQL ou tabelas relacionais.

    Peço desculpas por não fornecer mais informações, se você tiver mais solicitações, deixe um comentário e atualizarei minha postagem imediatamente.

    Obrigado por sua compreensão e ajuda.

    Atenciosamente.

    database-design
    • 3 respostas
    • 2166 Views
    Martin Hope
    AlwaysLearningNewStuff
    Asked: 2014-10-24 08:13:57 +0800 CST

    Não sei como transformar entidade variável em tabela relacional

    • 9

    INTRODUÇÃO E INFORMAÇÕES RELEVANTES:

    O exemplo a seguir ilustra o problema que enfrento:

    O animal tem uma raça, que pode ser um gato ou um cachorro . O gato pode ser siamês ou persa . O cão pode ser um pastor alemão ou um labrador retriver .

    Animal é uma entidade forte, enquanto sua raça é um atributo que pode ter um dos dois valores oferecidos ( gato ou cachorro ). Ambos os valores são complexos (adicionei aqui apenas o tipo de cachorro/gato para ilustrar o problema, mas também pode haver o nome do gato/cachorro e um monte de outras coisas).

    PROBLEMA:

    Não sei como criar tabelas relacionais para este exemplo.

    MEUS ESFORÇOS PARA RESOLVER O PROBLEMA:

    Tentei desenhar o diagrama ER, usando a notação de Chen, que representa o problema, mas sendo iniciante não sei se fiz certo. Aqui está o que eu tenho:

    insira a descrição da imagem aqui

    Peço desculpas se desenhei algo errado, por favor me corrija se for o caso. Não desejo simplesmente obter "solução gratuita", mas também aprender como lidar com esse problema para que eu possa resolvê-lo sozinho no futuro.

    A única coisa que me vem à cabeça é criar duas mesas separadas, uma para gatos e outra para cachorros. Além disso, o atributo raça na tabela Animal armazenaria apenas um valor de gato ou cachorro . Algo assim:

    Animal< # Animal_ID, race, other attributes >
    Cat < # Cat_ID, $ Animal_ID, breed >
    Dog < # Dog_ID, $ Animal_ID, breed >
    

    Eu realmente tenho um mau pressentimento sobre minha solução e temo que esteja errada, daí a pergunta abaixo.

    PERGUNTAS:

    • Como posso transformar meu exemplo em diagrama ER?
    • Como transformar esse diagrama ER em tabelas relacionais?

    Se mais informações forem necessárias, deixe um comentário e atualizarei minha postagem o mais rápido possível. Também sinta-se à vontade para adicionar tags apropriadas, pois sou relativamente novo aqui.

    Obrigada.

    database-design subtypes
    • 4 respostas
    • 1957 Views
    Martin Hope
    AlwaysLearningNewStuff
    Asked: 2014-10-17 06:51:45 +0800 CST

    Não consigo terminar meu diagrama ER

    • 2

    Estou tentando criar um banco de dados para uma pequena biblioteca de livros. Este não é um projeto profissional, apenas um exercício de minha autoria. Esta é a primeira vez que tento fazer isso (sou autodidata) e estou encontrando um problema. Antes de continuar, fornecerei minha versão do diagrama ER abaixo (fiz no Paint, usando o seguinte recurso para notação):

    insira a descrição da imagem aqui

    O meu maior problema é resolver o facto de um livro poder ter o mesmo título mas ter várias edições ou fazer parte de um conjunto. Um exemplo seria a trilogia O Senhor dos Anéis , ou Janelas de Programação, 5ª edição , ou Enciclopédia de aberturas de xadrez, volume D.

    Não sei como incorporar isso ao meu diagrama ER para evitar redundância de dados.

    Por isso faço estas perguntas:

    • Como devo abordar o fato de que o livro pode ter o mesmo título, mas ter várias edições ou fazer parte de um conjunto, em meu diagrama ER?

    • Como sou inexperiente, você pode apontar erros em meu diagrama ER, se houver, e sugerir uma melhoria?

    Como esta é minha primeira postagem aqui, deixe um comentário se algo precisar ser alterado (se não se encaixar no formato de pergunta deste site) ou se precisar de mais informações.

    Obrigada.

    database-design
    • 4 respostas
    • 1316 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