小编Ada*_*lor的帖子

在数据库中建模继承

对于数据库分配,我必须为学校建模系统.部分要求是为员工,学生和家长建模信息.

在UML类图中,我将其建模为这三个类是人类型的子类型.这是因为他们都需要有关地址数据等信息.

我的问题是:我如何在数据库(mysql)中对此进行建模?

到目前为止的想法如下:

  1. 创建一个单片人员表,其中包含每种类型的所有信息,并且根据存储的类型,将包含许多空值.(我怀疑除非我非常有说服力地辩论这个案子,否则这对讲师来说会很顺利).
  2. 一个带有三个外键的人员表,它引用了这些子类型但其中两个是空的 - 实际上我甚至不确定这是否有意义或者是否可能?
  3. 根据关于django的wikipage,可以在子类型上实现主键如下:

    "id" integer NOT NULL PRIMARY KEY REFERENCES "supertype" ("id")
  4. 我还没有想到的其他东西......

对于那些之前在数据库中建模继承的人; 你是怎么做到的?你推荐什么方法?为什么?

非常欢迎链接到文章/博客文章或以前的问题.

谢谢你的时间!

UPDATE

好的,谢谢大家的答案.我已经有一个单独的地址表,所以这不是问题.

干杯,

亚当

database inheritance

5
推荐指数
1
解决办法
547
查看次数

如何在我的LaTeX文档中使用⨝和??

我正在尝试将LaTeX Math符号中的一些符号插入到我的LaTeX文档中:在关系符号标题下,我想要加入(⨝)和square supset(⊐).

它们后面都有一个小符号.那是什么意思; 如何将它们插入到我的文档中?我试着添加它们忽略了b,但它似乎错误而且不起作用.

我正在使用LaTeX的小型Mac安装.

latex

5
推荐指数
2
解决办法
4635
查看次数

为什么这个LEFT JOIN在其他表中没有任何内容消除记录?

我有一个MySQL Left Join问题.

我有三张桌子,我正在尝试加入.

人员表:

CREATE TABLE person (
    id INT NOT NULL AUTO_INCREMENT,
    type ENUM('student', 'staff', 'guardian') NOT NULL,
    first_name CHAR(30) NOT NULL,
    last_name CHAR(30) NOT NULL,
    gender ENUM('m', 'f') NOT NULL,
    dob VARCHAR(30) NOT NULL,
    PRIMARY KEY (id)
);

学生表:

CREATE TABLE student (
    id INT NOT NULL AUTO_INCREMENT,
    person_id INT NOT NULL,
    primary_guardian INT NOT NULL,
    secondary_guardian INT,
    join_date VARCHAR(30) NOT NULL,  
    status ENUM('current', 'graduated', 'expelled', 'other') NOT NULL,
    tutor_group VARCHAR(30) NOT NULL,
    year_group VARCHAR(30) NOT NULL, …

mysql sql join left-join

3
推荐指数
1
解决办法
1494
查看次数

Java抽象类混淆:未被调用的重写方法

所以我有两个班级。一种是抽象的:

public abstract class AbstractClient {
    protected boolean running = true;

    protected void run() {
        Scanner scanner = new Scanner(System.in);
        displayOptions();
        while (running) {
            String input = null;
            while (scanner.hasNext()) {
                input = scanner.next();
            }
            processInputCommand(input);
        }
    }

    abstract void displayOptions();

    abstract void processInputCommand(String input);

}
Run Code Online (Sandbox Code Playgroud)

一种是具体的子类:

public class BasicClient extends AbstractClient {
    private IBasicServer basicServer;

    public static void main(String[] args) {
        new BasicClient();
    }

    public BasicClient() {
        try {
            System.setSecurityManager(new RMISecurityManager());
            Registry registry = LocateRegistry.getRegistry();
            basicServer =  (IBasicServer) registry.lookup(IBasicServer.LOOKUPNAME); …
Run Code Online (Sandbox Code Playgroud)

java abstract-class

3
推荐指数
1
解决办法
5331
查看次数

Ruby/Sinatra/HAML flash消息问题

我有以下小型Sinatra应用程序(我删除了额外的不需要的代码):

helpers do
    def flash(args={}) 
        session[:flash] = args 
    end 

    def flash_now(args={}) 
        @flash = args 
    end
end

before do 
  @flash = session[:flash] || {} 
  session[:flash] = nil 
end

post '/post' do
    client = Twitter::Client.new(:login => 'xxxxxxx', :password => 'xxxxxxx')

    username = params[:username]
    type = params[:type]
    tags = params[:tags]
    budget = params[:budget]

    if username != '' && type != '' && tags != '' && budget != '' 

        message = username + ' is looking for a ' + type +  ' …
Run Code Online (Sandbox Code Playgroud)

ruby haml sinatra

3
推荐指数
1
解决办法
2849
查看次数

这是一个完整的二叉树吗?

这是有问题的二叉树.叶子是a,b,c,d,边缘标记为0或1.

    .
   / \
  a   .
     / \
    b   .
       / \
      c   d
Run Code Online (Sandbox Code Playgroud)

在我看来,它是一个完整的二叉树,因为每个节点都是一个叶子或有两个子节点,但我有这种感觉,我们被告知它不是一个完整的二叉树.如果没有,为什么不呢?

如果节点的子节点是叶子,那么这不算作子节点吗?

binary-tree

2
推荐指数
1
解决办法
2020
查看次数

编译简单的C++程序时出现问题

我提供了这个简单的C++ [我认为]程序来调查可以存储的int的最大大小:

#include <limits.h>
#include <iostream>

void main ( int argc , char * argv[])

{

  cout << "INT_MAX      " << INT_MAX   << endl ;
  cout << "INT_MAX +1 = " << INT_MAX + 1  << endl ;
  cout << "INT_MAX -1 = " << INT_MAX - 1 << endl ;

  cout << "INT_MAX / INT_MAX        " << INT_MAX /INT_MAX << endl ;
  cout << "(INT_MAX +1) / INT_MAX   " << (INT_MAX +1) /INT_MAX << endl;
  cout << "(INT_MAX -1) …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors

1
推荐指数
1
解决办法
6594
查看次数

http://example.com/script?foo=bar等网址的正确用语是什么?

我需要参考我的论文标题中提到的URL,我不确定技术术语是什么(或者是否存在).

这是我特别感兴趣的foo = bar部分,因为我将其用作指示目录遍历漏洞可能存在的指示.

谢谢

url uri terminology

0
推荐指数
1
解决办法
222
查看次数