对于数据库分配,我必须为学校建模系统.部分要求是为员工,学生和家长建模信息.
在UML类图中,我将其建模为这三个类是人类型的子类型.这是因为他们都需要有关地址数据等信息.
我的问题是:我如何在数据库(mysql)中对此进行建模?
到目前为止的想法如下:
根据关于django的wikipage,可以在子类型上实现主键如下:
"id" integer NOT NULL PRIMARY KEY REFERENCES "supertype" ("id")对于那些之前在数据库中建模继承的人; 你是怎么做到的?你推荐什么方法?为什么?
非常欢迎链接到文章/博客文章或以前的问题.
谢谢你的时间!
UPDATE
好的,谢谢大家的答案.我已经有一个单独的地址表,所以这不是问题.
干杯,
亚当
我正在尝试将LaTeX Math符号中的一些符号插入到我的LaTeX文档中:在关系符号标题下,我想要加入(⨝)和square supset(⊐).
它们后面都有一个小符号.那是什么意思; 如何将它们插入到我的文档中?我试着添加它们忽略了b,但它似乎错误而且不起作用.
我正在使用LaTeX的小型Mac安装.
我有一个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, … 所以我有两个班级。一种是抽象的:
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) 我有以下小型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) 这是有问题的二叉树.叶子是a,b,c,d,边缘标记为0或1.
.
/ \
a .
/ \
b .
/ \
c d
Run Code Online (Sandbox Code Playgroud)
在我看来,它是一个完整的二叉树,因为每个节点都是一个叶子或有两个子节点,但我有这种感觉,我们被告知它不是一个完整的二叉树.如果没有,为什么不呢?
如果节点的子节点是叶子,那么这不算作子节点吗?
我提供了这个简单的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) 我需要参考我的论文标题中提到的URL,我不确定技术术语是什么(或者是否存在).
这是我特别感兴趣的foo = bar部分,因为我将其用作指示目录遍历漏洞可能存在的指示.
谢谢